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.
@@ -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 (lang === "ja") {
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: calc(var(--type-size-default) * var(--sf));
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);
@@ -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;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,IAAK,SAAQ,UAAU;IAClC,MAAM,CAAC,UAAU;;;;MAEf;IAEF,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,MAAM,CAAC,MAAM,0BAsDX;IAEF,MAAM;CAGP;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,IAAI,CAAC;KACjB;CACF"}
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"}
@@ -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: 360px;
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 black;
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
- debug: {
16
+ view: {
17
17
  type: BooleanConstructor;
18
18
  };
19
19
  };
20
20
  mode: string;
21
21
  align?: string;
22
- debug?: boolean;
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,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,MAAM,CAAC,MAAM,0BAiNX;IAEF,MAAM;CAqEP;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,MAAM,CAAC;KACrB;CACF"}
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"}
@@ -1,5 +1,5 @@
1
1
  // ds-layout.ts
2
- // Simple grid layout component with debug mode
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 isDebug = this.debug || this.mode === "debug";
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
- ${isDebug
16
+ ${isView
17
17
  ? html `
18
- <div class="debug-overlay">
18
+ <div class="view-overlay">
19
19
  ${isApp
20
20
  ? html `
21
- <div class="debug-area debug-banner">
21
+ <div class="view-area view-banner">
22
22
  <ds-text key="banner">banner</ds-text>
23
23
  </div>
24
- <div class="debug-area debug-header">
24
+ <div class="view-area view-header">
25
25
  <ds-text key="header">header</ds-text>
26
26
  </div>
27
27
 
28
- <div class="debug-area debug-main">
28
+ <div class="view-area view-main">
29
29
  <ds-text key="main">main</ds-text>
30
30
  </div>
31
- <div class="debug-area debug-footer-app">
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="debug-area debug-header">
37
+ <div class="view-area view-header">
38
38
  <ds-text key="header">header</ds-text>
39
39
  </div>
40
- <div class="debug-area debug-content">
40
+ <div class="view-area view-content">
41
41
  <ds-text key="content">content</ds-text>
42
42
  </div>
43
- <div class="debug-area debug-footer">
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="debug-area debug-square">
49
+ <div class="view-area view-square">
50
50
  <ds-text key="square">square</ds-text>
51
51
  </div>
52
- <div class="debug-area debug-title">
52
+ <div class="view-area view-title">
53
53
  <ds-text key="title">title</ds-text>
54
54
  </div>
55
- <div class="debug-area debug-header">
55
+ <div class="view-area view-header">
56
56
  <ds-text key="header">header</ds-text>
57
57
  </div>
58
- <div class="debug-area debug-projects">
58
+ <div class="view-area view-projects">
59
59
  <ds-text key="projects">projects</ds-text>
60
60
  </div>
61
- <div class="debug-area debug-bio">
61
+ <div class="view-area view-bio">
62
62
  <ds-text key="bio">bio</ds-text>
63
63
  </div>
64
- <div class="debug-area debug-nav">
64
+ <div class="view-area view-nav">
65
65
  <ds-text key="nav">nav</ds-text>
66
66
  </div>
67
- <div class="debug-area debug-footer">
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
- debug: { type: Boolean },
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
- grid-template-columns: 120px 480px 40px;
92
- grid-template-rows: 120px 120px 60px 180px 60px 120px 60px 20px 120px 120px;
93
- grid-template-areas:
94
- "square . ."
95
- ". title ."
96
- ". header ."
97
- ". projects ."
98
- ". . ."
99
- ". bio ."
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 auto;
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
- grid-template-columns: auto 400px auto;
113
- grid-template-rows: 80px 20px 20px 120px 20px 120px;
114
- grid-template-areas:
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([align="left"]) {
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
- grid-template-columns: 1fr;
143
- grid-template-rows: calc(var(--1) * var(--sf)) 20px 1fr auto;
144
- grid-template-areas:
145
- "banner"
146
- "main"
147
- "footer";
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
- .debug-overlay {
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
- :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
- }
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 red;
209
+ border: 1px solid;
216
210
  opacity: 1;
217
211
  }
218
212
 
219
- .debug-square {
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
- .debug-title {
262
+ .view-title {
224
263
  grid-area: title;
225
264
  }
226
265
 
227
- .debug-header {
266
+ .view-header {
228
267
  grid-area: header;
229
- border-color: #0000ff;
230
268
  }
231
269
 
232
- .debug-projects {
270
+ .view-projects {
233
271
  grid-area: projects;
234
- border-color: #ffff00;
235
272
  }
236
273
 
237
- .debug-bio {
274
+ .view-bio {
238
275
  grid-area: bio;
239
- border-color: #ff00ff;
240
276
  }
241
277
 
242
- .debug-nav {
278
+ .view-nav {
243
279
  grid-area: nav;
244
- border-color: #00ffff;
245
280
  }
246
281
 
247
- .debug-footer {
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
- .debug-content {
286
+ .view-content {
254
287
  grid-area: content;
255
- border-color: rgba(71, 231, 71, 0.63);
256
288
  }
257
289
 
258
- :host([mode="app"]) .debug-overlay {
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
- .debug-header {
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);