ds-one 0.2.5-alpha.11 → 0.2.5-alpha.13
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 +36 -16
- package/DS1/2-core/ds-button.ts +12 -41
- package/DS1/2-core/ds-cycle.ts +18 -12
- package/DS1/2-core/ds-text.ts +7 -2
- package/DS1/4-page/ds-container.ts +59 -0
- package/DS1/4-page/ds-grid.ts +43 -3
- package/DS1/4-page/ds-layout.ts +139 -134
- 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-button.d.ts +2 -13
- package/dist/2-core/ds-button.d.ts.map +1 -1
- package/dist/2-core/ds-button.js +10 -34
- package/dist/2-core/ds-cycle.d.ts.map +1 -1
- package/dist/2-core/ds-cycle.js +16 -12
- package/dist/2-core/ds-text.d.ts.map +1 -1
- package/dist/2-core/ds-text.js +7 -2
- 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 +42 -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 +138 -133
- package/dist/ds-one.bundle.js +336 -271
- package/dist/ds-one.bundle.js.map +4 -4
- package/dist/ds-one.bundle.min.js +220 -178
- 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/2-core/ds-text.js
CHANGED
|
@@ -29,6 +29,7 @@ export class Text extends LitElement {
|
|
|
29
29
|
languageChanged: (() => {
|
|
30
30
|
console.log("Language changed event received in ds-text");
|
|
31
31
|
this._currentLanguage = currentLanguage.value;
|
|
32
|
+
this._updateLanguageAttribute();
|
|
32
33
|
this._loadText();
|
|
33
34
|
this.requestUpdate();
|
|
34
35
|
}),
|
|
@@ -59,7 +60,9 @@ export class Text extends LitElement {
|
|
|
59
60
|
}
|
|
60
61
|
_updateLanguageAttribute() {
|
|
61
62
|
const lang = this._currentLanguage || currentLanguage.value;
|
|
62
|
-
if (
|
|
63
|
+
// Check if language is Japanese (handles "ja", "ja-JP", etc.)
|
|
64
|
+
const primaryLang = lang?.toLowerCase().split(/[-_]/)[0] || "";
|
|
65
|
+
if (primaryLang === "ja") {
|
|
63
66
|
this.setAttribute("data-language", "ja");
|
|
64
67
|
}
|
|
65
68
|
else {
|
|
@@ -69,6 +72,8 @@ export class Text extends LitElement {
|
|
|
69
72
|
_loadText() {
|
|
70
73
|
if (!this.key) {
|
|
71
74
|
this._text = this.defaultValue || this.fallback || "";
|
|
75
|
+
this._updateLanguageAttribute();
|
|
76
|
+
this.requestUpdate();
|
|
72
77
|
return;
|
|
73
78
|
}
|
|
74
79
|
try {
|
|
@@ -90,7 +95,7 @@ Text.styles = css `
|
|
|
90
95
|
:host {
|
|
91
96
|
display: inline;
|
|
92
97
|
font-family: var(--typeface-regular);
|
|
93
|
-
font-size:
|
|
98
|
+
font-size: var(--type-size-default);
|
|
94
99
|
font-weight: var(--type-weight-default);
|
|
95
100
|
line-height: calc(var(--type-lineheight-default) * var(--sf));
|
|
96
101
|
letter-spacing: calc(var(--type-letterspacing-default) * var(--sf));
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { LitElement } from "lit";
|
|
2
|
+
declare global {
|
|
3
|
+
interface CustomElementRegistry {
|
|
4
|
+
define(name: string, constructor: typeof LitElement): void;
|
|
5
|
+
}
|
|
6
|
+
var customElements: CustomElementRegistry;
|
|
7
|
+
}
|
|
8
|
+
export declare class Container extends LitElement {
|
|
9
|
+
static styles: import("lit").CSSResult;
|
|
10
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
11
|
+
}
|
|
12
|
+
declare global {
|
|
13
|
+
interface HTMLElementTagNameMap {
|
|
14
|
+
"ds-container": Container;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=ds-container.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ds-container.d.ts","sourceRoot":"","sources":["../../DS1/4-page/ds-container.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAE5C,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,UAAU,GAAG,IAAI,CAAC;KAC5D;IACD,IAAI,cAAc,EAAE,qBAAqB,CAAC;CAC3C;AAED,qBAAa,SAAU,SAAQ,UAAU;IACvC,MAAM,CAAC,MAAM,0BAgCX;IAEF,MAAM;CAGP;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,SAAS,CAAC;KAC3B;CACF"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// ds-container.ts
|
|
2
|
+
// Container component with responsive width constraints
|
|
3
|
+
import { LitElement, html, css } from "lit";
|
|
4
|
+
export class Container extends LitElement {
|
|
5
|
+
render() {
|
|
6
|
+
return html `<slot></slot>`;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
Container.styles = css `
|
|
10
|
+
:host {
|
|
11
|
+
display: flex;
|
|
12
|
+
width: 100%;
|
|
13
|
+
max-width: 100%;
|
|
14
|
+
flex-direction: column;
|
|
15
|
+
box-sizing: border-box;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/* Ensure children don't overflow */
|
|
19
|
+
:host ::slotted(*) {
|
|
20
|
+
max-width: 100%;
|
|
21
|
+
box-sizing: border-box;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/* Mobile: 100% width */
|
|
25
|
+
@media (max-width: 820px) {
|
|
26
|
+
:host {
|
|
27
|
+
width: 100%;
|
|
28
|
+
max-width: 100%;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/* Desktop: max-width 1000px, centered */
|
|
33
|
+
@media (min-width: 821px) {
|
|
34
|
+
:host {
|
|
35
|
+
max-width: 1000px;
|
|
36
|
+
margin-left: auto;
|
|
37
|
+
margin-right: auto;
|
|
38
|
+
width: 100%;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
`;
|
|
42
|
+
customElements.define("ds-container", Container);
|
package/dist/4-page/ds-grid.d.ts
CHANGED
|
@@ -12,7 +12,12 @@ export declare class Grid extends LitElement {
|
|
|
12
12
|
};
|
|
13
13
|
};
|
|
14
14
|
align?: string;
|
|
15
|
+
private resizeObserver?;
|
|
16
|
+
private resizeTimeout?;
|
|
15
17
|
static styles: import("lit").CSSResult;
|
|
18
|
+
connectedCallback(): void;
|
|
19
|
+
disconnectedCallback(): void;
|
|
20
|
+
private updateMobileClass;
|
|
16
21
|
render(): import("lit-html").TemplateResult<1>;
|
|
17
22
|
}
|
|
18
23
|
declare global {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ds-grid.d.ts","sourceRoot":"","sources":["../../DS1/4-page/ds-grid.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"ds-grid.d.ts","sourceRoot":"","sources":["../../DS1/4-page/ds-grid.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAG5C,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,UAAU,GAAG,IAAI,CAAC;KAC5D;IACD,IAAI,cAAc,EAAE,qBAAqB,CAAC;CAC3C;AAED,qBAAa,IAAK,SAAQ,UAAU;IAClC,MAAM,CAAC,UAAU;;;;MAEf;IAEF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,cAAc,CAAC,CAAa;IACpC,OAAO,CAAC,aAAa,CAAC,CAAM;IAE5B,MAAM,CAAC,MAAM,0BAsDX;IAEF,iBAAiB;IAgBjB,oBAAoB;IAUpB,OAAO,CAAC,iBAAiB;IAWzB,MAAM;CAGP;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,IAAI,CAAC;KACjB;CACF"}
|
package/dist/4-page/ds-grid.js
CHANGED
|
@@ -1,7 +1,42 @@
|
|
|
1
1
|
// ds-grid.ts
|
|
2
2
|
// Simple grid layout component
|
|
3
3
|
import { LitElement, html, css } from "lit";
|
|
4
|
+
import { detectMobileDevice } from "../0-face/device";
|
|
4
5
|
export class Grid extends LitElement {
|
|
6
|
+
connectedCallback() {
|
|
7
|
+
super.connectedCallback();
|
|
8
|
+
this.updateMobileClass();
|
|
9
|
+
// Listen for resize events to update mobile class
|
|
10
|
+
this.resizeObserver = () => {
|
|
11
|
+
if (this.resizeTimeout) {
|
|
12
|
+
clearTimeout(this.resizeTimeout);
|
|
13
|
+
}
|
|
14
|
+
this.resizeTimeout = setTimeout(() => {
|
|
15
|
+
this.updateMobileClass();
|
|
16
|
+
}, 100);
|
|
17
|
+
};
|
|
18
|
+
window.addEventListener("resize", this.resizeObserver);
|
|
19
|
+
}
|
|
20
|
+
disconnectedCallback() {
|
|
21
|
+
super.disconnectedCallback();
|
|
22
|
+
if (this.resizeObserver) {
|
|
23
|
+
window.removeEventListener("resize", this.resizeObserver);
|
|
24
|
+
}
|
|
25
|
+
if (this.resizeTimeout) {
|
|
26
|
+
clearTimeout(this.resizeTimeout);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
updateMobileClass() {
|
|
30
|
+
const isMobile = detectMobileDevice();
|
|
31
|
+
if (isMobile) {
|
|
32
|
+
this.classList.add("mobile");
|
|
33
|
+
this.classList.remove("desktop");
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
this.classList.add("desktop");
|
|
37
|
+
this.classList.remove("mobile");
|
|
38
|
+
}
|
|
39
|
+
}
|
|
5
40
|
render() {
|
|
6
41
|
return html ``;
|
|
7
42
|
}
|
|
@@ -15,13 +50,13 @@ Grid.styles = css `
|
|
|
15
50
|
margin-left: 0.5px !important;
|
|
16
51
|
display: grid;
|
|
17
52
|
width: 1440px;
|
|
18
|
-
height:
|
|
53
|
+
height: 1280px;
|
|
19
54
|
grid-template-columns: repeat(auto-fill, 19px);
|
|
20
55
|
grid-template-rows: repeat(auto-fill, 19px);
|
|
21
56
|
gap: 1px;
|
|
22
57
|
row-rule: calc(1px * var(--sf)) solid var(--grid-color);
|
|
23
58
|
column-rule: calc(1px * var(--sf)) solid var(--grid-color);
|
|
24
|
-
outline: 1px solid
|
|
59
|
+
outline: calc(1px * var(--sf)) solid var(--yellow);
|
|
25
60
|
position: fixed;
|
|
26
61
|
top: 0;
|
|
27
62
|
left: 50%;
|
|
@@ -34,7 +69,7 @@ Grid.styles = css `
|
|
|
34
69
|
:host(.mobile) {
|
|
35
70
|
width: calc(100% - calc(1px * var(--sf)));
|
|
36
71
|
max-width: 100vw;
|
|
37
|
-
margin-left: 0 !important;
|
|
72
|
+
margin-left: 0.5px !important;
|
|
38
73
|
margin-top: 0 !important;
|
|
39
74
|
box-sizing: border-box;
|
|
40
75
|
position: fixed;
|
|
@@ -13,13 +13,13 @@ export declare class Layout extends LitElement {
|
|
|
13
13
|
align: {
|
|
14
14
|
type: StringConstructor;
|
|
15
15
|
};
|
|
16
|
-
|
|
16
|
+
view: {
|
|
17
17
|
type: BooleanConstructor;
|
|
18
18
|
};
|
|
19
19
|
};
|
|
20
20
|
mode: string;
|
|
21
21
|
align?: string;
|
|
22
|
-
|
|
22
|
+
view?: boolean;
|
|
23
23
|
static styles: import("lit").CSSResult;
|
|
24
24
|
render(): import("lit-html").TemplateResult<1>;
|
|
25
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ds-layout.d.ts","sourceRoot":"","sources":["../../DS1/4-page/ds-layout.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAE5C,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,UAAU,GAAG,IAAI,CAAC;KAC5D;IACD,IAAI,cAAc,EAAE,qBAAqB,CAAC;CAC3C;AAED,qBAAa,MAAO,SAAQ,UAAU;IACpC,MAAM,CAAC,UAAU;;;;;;;;;;MAIf;IAEF,IAAI,EAAE,MAAM,CAAe;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,
|
|
1
|
+
{"version":3,"file":"ds-layout.d.ts","sourceRoot":"","sources":["../../DS1/4-page/ds-layout.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAE5C,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,UAAU,GAAG,IAAI,CAAC;KAC5D;IACD,IAAI,cAAc,EAAE,qBAAqB,CAAC;CAC3C;AAED,qBAAa,MAAO,SAAQ,UAAU;IACpC,MAAM,CAAC,UAAU;;;;;;;;;;MAIf;IAEF,IAAI,EAAE,MAAM,CAAe;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,MAAM,CAAC,MAAM,0BAsNX;IAEF,MAAM;CAqEP;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,MAAM,CAAC;KACrB;CACF"}
|
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 {
|
|
@@ -88,79 +88,103 @@ Layout.styles = css `
|
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
:host([mode="portfolio"]) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
"
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
".
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
". nav ."
|
|
102
|
-
". . ."
|
|
103
|
-
". footer ."
|
|
104
|
-
". . .";
|
|
91
|
+
--portfolio-cols: 120px 480px 40px;
|
|
92
|
+
--portfolio-rows: 120px 120px 60px 180px 60px 120px 60px 20px 120px 120px;
|
|
93
|
+
--portfolio-areas: "square . ." ". title ." ". header ." ". projects ."
|
|
94
|
+
". . ." ". bio ." ". . ." ". nav ." ". . ." ". footer ." ". . .";
|
|
95
|
+
--portfolio-overlay-cols: 120px 480px;
|
|
96
|
+
--portfolio-overlay-areas: "square ." ". title" ". header" ". projects"
|
|
97
|
+
". ." ". bio" ". ." ". nav" ". ." ". footer" ". .";
|
|
98
|
+
grid-template-columns: var(--portfolio-cols);
|
|
99
|
+
grid-template-rows: var(--portfolio-rows);
|
|
100
|
+
grid-template-areas: var(--portfolio-areas);
|
|
105
101
|
min-height: 600px;
|
|
106
102
|
background-color: rgba(165, 165, 165, 0.03);
|
|
107
103
|
max-width: 640px;
|
|
108
|
-
margin: 0
|
|
104
|
+
margin: 0;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
:host([mode="portfolio"]) .view-overlay {
|
|
108
|
+
grid-template-columns: var(--portfolio-overlay-cols);
|
|
109
|
+
grid-template-rows: var(--portfolio-rows);
|
|
110
|
+
grid-template-areas: var(--portfolio-overlay-areas);
|
|
109
111
|
}
|
|
110
112
|
|
|
111
113
|
:host([mode="company"]) {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
". . ."
|
|
116
|
-
". header ."
|
|
117
|
-
". . ."
|
|
118
|
-
". content ."
|
|
119
|
-
". . ."
|
|
114
|
+
--company-cols: auto 400px auto;
|
|
115
|
+
--company-rows: 80px 20px 20px 120px 20px 120px;
|
|
116
|
+
--company-areas: ". . ." ". header ." ". . ." ". content ." ". . ."
|
|
120
117
|
". footer .";
|
|
118
|
+
grid-template-columns: var(--company-cols);
|
|
119
|
+
grid-template-rows: var(--company-rows);
|
|
120
|
+
grid-template-areas: var(--company-areas);
|
|
121
121
|
gap: 0;
|
|
122
122
|
max-width: 100%;
|
|
123
123
|
}
|
|
124
124
|
|
|
125
|
-
:host([
|
|
125
|
+
:host([mode="company"]) .view-overlay {
|
|
126
|
+
grid-template-columns: var(--company-cols);
|
|
127
|
+
grid-template-rows: var(--company-rows);
|
|
128
|
+
grid-template-areas: var(--company-areas);
|
|
129
|
+
gap: 0;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
:host([align="left"]),
|
|
133
|
+
:host([mode="portfolio"][align="left"]),
|
|
134
|
+
:host([mode="company"][align="left"]),
|
|
135
|
+
:host([mode="app"][align="left"]) {
|
|
126
136
|
margin: 0;
|
|
127
137
|
justify-self: start;
|
|
128
138
|
}
|
|
129
139
|
|
|
130
|
-
:host([align="center"])
|
|
140
|
+
:host([align="center"]),
|
|
141
|
+
:host([mode="portfolio"][align="center"]),
|
|
142
|
+
:host([mode="company"][align="center"]),
|
|
143
|
+
:host([mode="app"][align="center"]) {
|
|
131
144
|
margin: 0 auto;
|
|
132
145
|
justify-self: center;
|
|
133
146
|
}
|
|
134
147
|
|
|
135
|
-
:host([align="right"])
|
|
148
|
+
:host([align="right"]),
|
|
149
|
+
:host([mode="portfolio"][align="right"]),
|
|
150
|
+
:host([mode="company"][align="right"]),
|
|
151
|
+
:host([mode="app"][align="right"]) {
|
|
136
152
|
margin: 0 0 0 auto;
|
|
137
153
|
justify-self: end;
|
|
138
154
|
}
|
|
139
155
|
|
|
140
156
|
/* App mode - Base */
|
|
141
157
|
:host([mode="app"]) {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
158
|
+
--app-cols: calc(var(--double) * var(--sf));
|
|
159
|
+
--app-rows: calc(var(--unit) * var(--sf)) calc(var(--2) * var(--sf))
|
|
160
|
+
calc(var(--unit) * var(--sf)) calc(var(--unit) * var(--sf))
|
|
161
|
+
calc(var(--unit) * var(--sf));
|
|
162
|
+
--app-areas: "1" "." "2" "." "3";
|
|
163
|
+
--app-overlay-cols: calc(var(--oct) * var(--sf));
|
|
164
|
+
--app-overlay-rows: calc(var(--unit) * var(--sf))
|
|
165
|
+
calc(var(--double) * var(--sf)) calc(var(--unit) * var(--sf))
|
|
166
|
+
calc(var(--unit) * var(--sf));
|
|
167
|
+
--app-overlay-areas: "banner" "." "header" "." "main" "." "footer";
|
|
168
|
+
grid-template-columns: var(--app-cols);
|
|
169
|
+
grid-template-rows: var(--app-rows);
|
|
170
|
+
grid-template-areas: var(--app-areas);
|
|
148
171
|
min-height: 100vh;
|
|
149
172
|
background-color: transparent;
|
|
150
173
|
width: 100%;
|
|
151
|
-
margin: 0 auto;
|
|
152
174
|
gap: 0;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
/* App mode - with scaling factor */
|
|
156
|
-
:host([mode="app"]) {
|
|
157
175
|
max-width: calc(400px * var(--sf, 1));
|
|
158
176
|
padding: calc(60px * var(--sf, 1)) calc(28px * var(--sf, 1))
|
|
159
177
|
calc(9.751px * var(--sf, 1));
|
|
160
178
|
gap: calc(28px * var(--sf, 1));
|
|
161
179
|
}
|
|
162
180
|
|
|
163
|
-
.
|
|
181
|
+
:host([mode="app"]) .view-overlay {
|
|
182
|
+
grid-template-columns: var(--app-overlay-cols);
|
|
183
|
+
grid-template-rows: var(--app-overlay-rows);
|
|
184
|
+
grid-template-areas: var(--app-overlay-areas);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
.view-overlay {
|
|
164
188
|
position: absolute;
|
|
165
189
|
margin-left: -1px;
|
|
166
190
|
top: 0;
|
|
@@ -174,37 +198,7 @@ Layout.styles = css `
|
|
|
174
198
|
font-weight: bold;
|
|
175
199
|
}
|
|
176
200
|
|
|
177
|
-
|
|
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
|
-
}
|
|
193
|
-
|
|
194
|
-
:host([mode="company"]) .debug-overlay {
|
|
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;
|
|
209
203
|
align-items: center;
|
|
210
204
|
justify-content: center;
|
|
@@ -212,82 +206,93 @@ Layout.styles = css `
|
|
|
212
206
|
font-weight: var(--type-weight-default);
|
|
213
207
|
font-family: var(--typeface-regular);
|
|
214
208
|
color: var(--black);
|
|
215
|
-
border: 1px solid
|
|
209
|
+
border: 1px solid;
|
|
216
210
|
opacity: 1;
|
|
217
211
|
}
|
|
218
212
|
|
|
219
|
-
.
|
|
213
|
+
:host([mode="portfolio"]) .view-area:nth-of-type(1) {
|
|
214
|
+
border-color: var(--tuned-red);
|
|
215
|
+
}
|
|
216
|
+
:host([mode="portfolio"]) .view-area:nth-of-type(2) {
|
|
217
|
+
border-color: var(--sharp-blue);
|
|
218
|
+
}
|
|
219
|
+
:host([mode="portfolio"]) .view-area:nth-of-type(3) {
|
|
220
|
+
border-color: var(--yellow);
|
|
221
|
+
}
|
|
222
|
+
:host([mode="portfolio"]) .view-area:nth-of-type(4) {
|
|
223
|
+
border-color: var(--apple-green);
|
|
224
|
+
}
|
|
225
|
+
:host([mode="portfolio"]) .view-area:nth-of-type(5) {
|
|
226
|
+
border-color: var(--pink);
|
|
227
|
+
}
|
|
228
|
+
:host([mode="portfolio"]) .view-area:nth-of-type(6) {
|
|
229
|
+
border-color: var(--orange);
|
|
230
|
+
}
|
|
231
|
+
:host([mode="portfolio"]) .view-area:nth-of-type(7) {
|
|
232
|
+
border-color: var(--zenith-blue);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
:host([mode="company"]) .view-area:nth-of-type(1) {
|
|
236
|
+
border-color: var(--tuned-red);
|
|
237
|
+
}
|
|
238
|
+
:host([mode="company"]) .view-area:nth-of-type(2) {
|
|
239
|
+
border-color: var(--sharp-blue);
|
|
240
|
+
}
|
|
241
|
+
:host([mode="company"]) .view-area:nth-of-type(3) {
|
|
242
|
+
border-color: var(--yellow);
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
:host([mode="app"]) .view-area:nth-of-type(1) {
|
|
246
|
+
border-color: var(--tuned-red);
|
|
247
|
+
}
|
|
248
|
+
:host([mode="app"]) .view-area:nth-of-type(2) {
|
|
249
|
+
border-color: var(--sharp-blue);
|
|
250
|
+
}
|
|
251
|
+
:host([mode="app"]) .view-area:nth-of-type(3) {
|
|
252
|
+
border-color: var(--yellow);
|
|
253
|
+
}
|
|
254
|
+
:host([mode="app"]) .view-area:nth-of-type(4) {
|
|
255
|
+
border-color: var(--apple-green);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
.view-square {
|
|
220
259
|
grid-area: square;
|
|
221
260
|
}
|
|
222
261
|
|
|
223
|
-
.
|
|
262
|
+
.view-title {
|
|
224
263
|
grid-area: title;
|
|
225
264
|
}
|
|
226
265
|
|
|
227
|
-
.
|
|
266
|
+
.view-header {
|
|
228
267
|
grid-area: header;
|
|
229
|
-
border-color: #0000ff;
|
|
230
268
|
}
|
|
231
269
|
|
|
232
|
-
.
|
|
270
|
+
.view-projects {
|
|
233
271
|
grid-area: projects;
|
|
234
|
-
border-color: #ffff00;
|
|
235
272
|
}
|
|
236
273
|
|
|
237
|
-
.
|
|
274
|
+
.view-bio {
|
|
238
275
|
grid-area: bio;
|
|
239
|
-
border-color: #ff00ff;
|
|
240
276
|
}
|
|
241
277
|
|
|
242
|
-
.
|
|
278
|
+
.view-nav {
|
|
243
279
|
grid-area: nav;
|
|
244
|
-
border-color: #00ffff;
|
|
245
280
|
}
|
|
246
281
|
|
|
247
|
-
.
|
|
282
|
+
.view-footer {
|
|
248
283
|
grid-area: footer;
|
|
249
|
-
border-color: rgb(24, 147, 73);
|
|
250
|
-
background-color: rgba(127, 123, 11, 0.1);
|
|
251
284
|
}
|
|
252
285
|
|
|
253
|
-
.
|
|
286
|
+
.view-content {
|
|
254
287
|
grid-area: content;
|
|
255
|
-
border-color: rgba(71, 231, 71, 0.63);
|
|
256
288
|
}
|
|
257
289
|
|
|
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 {
|
|
290
|
+
.view-banner {
|
|
273
291
|
grid-area: banner;
|
|
274
|
-
border-color: #daed09;
|
|
275
292
|
}
|
|
276
293
|
|
|
277
|
-
.
|
|
278
|
-
grid-area: header;
|
|
279
|
-
border-color: #0000ff;
|
|
280
|
-
background-color: rgba(127, 123, 11, 0.5);
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
.debug-main {
|
|
294
|
+
.view-main {
|
|
284
295
|
grid-area: main;
|
|
285
|
-
border-color: #0000ff;
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
.debug-footer-app {
|
|
289
|
-
grid-area: footer;
|
|
290
|
-
border-color: #ffa500;
|
|
291
296
|
}
|
|
292
297
|
`;
|
|
293
298
|
customElements.define("ds-layout", Layout);
|