ds-one 0.2.5-alpha.18 → 0.2.5-alpha.19

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.
Files changed (199) hide show
  1. package/DS1/0-face/device.ts +130 -0
  2. package/DS1/0-face/scaling.ts +152 -0
  3. package/DS1/1-root/one.css +48 -18
  4. package/DS1/2-core/ds-banner.ts +3 -77
  5. package/DS1/2-core/ds-button.ts +3 -67
  6. package/DS1/2-core/ds-card.ts +137 -0
  7. package/DS1/2-core/ds-cycle.ts +3 -22
  8. package/DS1/2-core/ds-date.ts +3 -9
  9. package/DS1/2-core/ds-gap.ts +3 -75
  10. package/DS1/2-core/ds-icon.ts +3 -33
  11. package/DS1/2-core/ds-input.ts +306 -1
  12. package/DS1/2-core/ds-pagedots.ts +52 -0
  13. package/DS1/2-core/ds-text.ts +3 -29
  14. package/DS1/2-core/ds-tooltip.ts +3 -49
  15. package/DS1/2-core/styles/ds-banner.css +77 -0
  16. package/DS1/2-core/styles/ds-button.css +67 -0
  17. package/DS1/2-core/styles/ds-cycle.css +21 -0
  18. package/DS1/2-core/styles/ds-date.css +9 -0
  19. package/DS1/2-core/styles/ds-gap.css +93 -0
  20. package/DS1/2-core/styles/ds-icon.css +30 -0
  21. package/DS1/2-core/styles/ds-input.css +46 -0
  22. package/DS1/2-core/styles/ds-pagedots.css +27 -0
  23. package/DS1/2-core/styles/ds-text.css +29 -0
  24. package/DS1/2-core/styles/ds-tooltip.css +49 -0
  25. package/DS1/3-unit/ds-accordion.ts +3 -46
  26. package/DS1/3-unit/ds-form.ts +304 -0
  27. package/DS1/3-unit/ds-list.ts +5 -14
  28. package/DS1/3-unit/ds-row.ts +3 -19
  29. package/DS1/3-unit/ds-table.ts +3 -85
  30. package/DS1/3-unit/styles/ds-accordion.css +46 -0
  31. package/DS1/3-unit/styles/ds-list.css +9 -0
  32. package/DS1/3-unit/styles/ds-row.css +19 -0
  33. package/DS1/3-unit/styles/ds-table.css +80 -0
  34. package/DS1/4-page/ds-container.ts +3 -35
  35. package/DS1/4-page/ds-grid.ts +3 -56
  36. package/DS1/4-page/ds-layout.ts +528 -50
  37. package/DS1/4-page/styles/ds-container.css +35 -0
  38. package/DS1/4-page/styles/ds-grid.css +56 -0
  39. package/DS1/4-page/styles/ds-layout.css +251 -0
  40. package/DS1/index.ts +7 -3
  41. package/DS1/vite-env.d.ts +9 -0
  42. package/DS1/x-icon/2x.svg +4 -0
  43. package/DS1/x-icon/2xdots.svg +18 -0
  44. package/DS1/x-icon/2xgrid.svg +6 -0
  45. package/DS1/x-icon/2xlines.svg +6 -0
  46. package/DS1/x-icon/4x4.svg +18 -0
  47. package/DS1/x-icon/apple.svg +4 -0
  48. package/DS1/x-icon/avatar.svg +4 -0
  49. package/DS1/x-icon/big.svg +4 -0
  50. package/DS1/x-icon/blank.svg +3 -0
  51. package/DS1/x-icon/check.svg +3 -0
  52. package/DS1/x-icon/close.svg +3 -0
  53. package/DS1/x-icon/collapse.svg +3 -0
  54. package/DS1/x-icon/color.svg +4 -0
  55. package/DS1/x-icon/column.svg +5 -0
  56. package/DS1/x-icon/default.svg +3 -0
  57. package/DS1/x-icon/delete.svg +5 -0
  58. package/DS1/x-icon/dictate.svg +6 -0
  59. package/DS1/x-icon/do.svg +3 -0
  60. package/DS1/x-icon/down.svg +3 -0
  61. package/DS1/x-icon/duplicate.svg +4 -0
  62. package/DS1/x-icon/gallery.svg +5 -0
  63. package/DS1/x-icon/google.svg +6 -0
  64. package/DS1/x-icon/head.svg +5 -0
  65. package/DS1/x-icon/home.svg +3 -0
  66. package/DS1/x-icon/icon.svg +4 -0
  67. package/DS1/x-icon/in.svg +4 -0
  68. package/DS1/x-icon/lock.svg +5 -0
  69. package/DS1/x-icon/loop.svg +5 -0
  70. package/DS1/x-icon/mic.svg +5 -0
  71. package/DS1/x-icon/minimize.svg +3 -0
  72. package/DS1/x-icon/more.svg +5 -0
  73. package/DS1/x-icon/neutral.svg +6 -0
  74. package/DS1/x-icon/note.svg +6 -0
  75. package/DS1/x-icon/page.svg +4 -0
  76. package/DS1/x-icon/plus.svg +3 -0
  77. package/DS1/x-icon/rewind.svg +4 -0
  78. package/DS1/x-icon/row.svg +5 -0
  79. package/DS1/x-icon/sdown.svg +3 -0
  80. package/DS1/x-icon/search.svg +4 -0
  81. package/DS1/x-icon/see.svg +4 -0
  82. package/DS1/x-icon/ship.svg +5 -0
  83. package/DS1/x-icon/star.svg +3 -0
  84. package/DS1/x-icon/status.svg +4 -0
  85. package/DS1/x-icon/sup.svg +3 -0
  86. package/DS1/x-icon/title.svg +3 -0
  87. package/DS1/x-icon/undo.svg +3 -0
  88. package/DS1/x-icon/ungroup.svg +4 -0
  89. package/DS1/x-icon/unhead.svg +3 -0
  90. package/DS1/x-icon/unicon.svg +3 -0
  91. package/DS1/x-icon/unlock.svg +5 -0
  92. package/DS1/x-icon/unmic.svg +6 -0
  93. package/DS1/x-icon/unsee.svg +5 -0
  94. package/DS1/x-icon/unstar.svg +3 -0
  95. package/DS1/x-icon/untitle.svg +3 -0
  96. package/DS1/x-icon/up.svg +3 -0
  97. package/README.md +2 -2
  98. package/dist/0-face/device.d.ts +5 -0
  99. package/dist/0-face/device.d.ts.map +1 -1
  100. package/dist/0-face/device.js +105 -0
  101. package/dist/0-face/scaling.d.ts +48 -0
  102. package/dist/0-face/scaling.d.ts.map +1 -0
  103. package/dist/0-face/scaling.js +114 -0
  104. package/dist/2-core/ds-banner.d.ts.map +1 -1
  105. package/dist/2-core/ds-banner.js +3 -77
  106. package/dist/2-core/ds-button.d.ts.map +1 -1
  107. package/dist/2-core/ds-button.js +3 -67
  108. package/dist/2-core/ds-card.d.ts +39 -0
  109. package/dist/2-core/ds-card.d.ts.map +1 -0
  110. package/dist/2-core/ds-card.js +119 -0
  111. package/dist/2-core/ds-cycle.d.ts.map +1 -1
  112. package/dist/2-core/ds-cycle.js +3 -22
  113. package/dist/2-core/ds-date.d.ts.map +1 -1
  114. package/dist/2-core/ds-date.js +3 -9
  115. package/dist/2-core/ds-gap.d.ts.map +1 -1
  116. package/dist/2-core/ds-gap.js +3 -75
  117. package/dist/2-core/ds-icon.d.ts.map +1 -1
  118. package/dist/2-core/ds-icon.js +3 -33
  119. package/dist/2-core/ds-input.d.ts +127 -0
  120. package/dist/2-core/ds-input.d.ts.map +1 -1
  121. package/dist/2-core/ds-input.js +252 -1
  122. package/dist/2-core/ds-pagedots.d.ts +32 -0
  123. package/dist/2-core/ds-pagedots.d.ts.map +1 -0
  124. package/dist/2-core/ds-pagedots.js +36 -0
  125. package/dist/2-core/ds-text.d.ts.map +1 -1
  126. package/dist/2-core/ds-text.js +3 -29
  127. package/dist/2-core/ds-tooltip.d.ts.map +1 -1
  128. package/dist/2-core/ds-tooltip.js +3 -49
  129. package/dist/2-core/styles/ds-banner.css +77 -0
  130. package/dist/2-core/styles/ds-button.css +67 -0
  131. package/dist/2-core/styles/ds-cycle.css +21 -0
  132. package/dist/2-core/styles/ds-date.css +9 -0
  133. package/dist/2-core/styles/ds-gap.css +93 -0
  134. package/dist/2-core/styles/ds-icon.css +30 -0
  135. package/dist/2-core/styles/ds-input.css +46 -0
  136. package/dist/2-core/styles/ds-pagedots.css +26 -0
  137. package/dist/2-core/styles/ds-text.css +29 -0
  138. package/dist/2-core/styles/ds-tooltip.css +49 -0
  139. package/dist/3-unit/ds-accordion.d.ts.map +1 -1
  140. package/dist/3-unit/ds-accordion.js +3 -46
  141. package/dist/3-unit/ds-form.d.ts +70 -0
  142. package/dist/3-unit/ds-form.d.ts.map +1 -0
  143. package/dist/3-unit/ds-form.js +232 -0
  144. package/dist/3-unit/ds-list.d.ts.map +1 -1
  145. package/dist/3-unit/ds-list.js +5 -11
  146. package/dist/3-unit/ds-row.d.ts.map +1 -1
  147. package/dist/3-unit/ds-row.js +3 -19
  148. package/dist/3-unit/ds-table.d.ts.map +1 -1
  149. package/dist/3-unit/ds-table.js +3 -85
  150. package/dist/3-unit/styles/ds-accordion.css +46 -0
  151. package/dist/3-unit/styles/ds-list.css +9 -0
  152. package/dist/3-unit/styles/ds-row.css +19 -0
  153. package/dist/3-unit/styles/ds-table.css +80 -0
  154. package/dist/4-page/ds-container.d.ts.map +1 -1
  155. package/dist/4-page/ds-container.js +3 -35
  156. package/dist/4-page/ds-grid.d.ts.map +1 -1
  157. package/dist/4-page/ds-grid.js +3 -56
  158. package/dist/4-page/ds-layout.d.ts +1 -1
  159. package/dist/4-page/ds-layout.d.ts.map +1 -1
  160. package/dist/4-page/ds-layout.js +528 -50
  161. package/dist/4-page/styles/ds-container.css +35 -0
  162. package/dist/4-page/styles/ds-grid.css +56 -0
  163. package/dist/4-page/styles/ds-layout.css +251 -0
  164. package/dist/ds-one.bundle.css +700 -0
  165. package/dist/ds-one.bundle.css.map +7 -0
  166. package/dist/ds-one.bundle.js +1285 -607
  167. package/dist/ds-one.bundle.js.map +4 -4
  168. package/dist/ds-one.bundle.min.css +2 -0
  169. package/dist/ds-one.bundle.min.css.map +7 -0
  170. package/dist/ds-one.bundle.min.js +766 -599
  171. package/dist/ds-one.bundle.min.js.map +4 -4
  172. package/dist/index.d.ts +7 -3
  173. package/dist/index.d.ts.map +1 -1
  174. package/dist/index.js +7 -3
  175. package/package.json +1 -1
  176. package/dist/3-unit/doublenav-v1.d.ts +0 -51
  177. package/dist/3-unit/doublenav-v1.d.ts.map +0 -1
  178. package/dist/3-unit/doublenav-v1.js +0 -88
  179. package/dist/3-unit/ds-portfolio-doublenav.d.ts +0 -51
  180. package/dist/3-unit/ds-portfolio-doublenav.d.ts.map +0 -1
  181. package/dist/3-unit/ds-portfolio-doublenav.js +0 -88
  182. package/dist/3-unit/ds-portfolio-panel.d.ts +0 -11
  183. package/dist/3-unit/ds-portfolio-panel.d.ts.map +0 -1
  184. package/dist/3-unit/ds-portfolio-panel.js +0 -16
  185. package/dist/3-unit/ds-portfolio-singlenav.d.ts +0 -32
  186. package/dist/3-unit/ds-portfolio-singlenav.d.ts.map +0 -1
  187. package/dist/3-unit/ds-portfolio-singlenav.js +0 -62
  188. package/dist/3-unit/list-v1.d.ts +0 -11
  189. package/dist/3-unit/list-v1.d.ts.map +0 -1
  190. package/dist/3-unit/list-v1.js +0 -15
  191. package/dist/3-unit/panel-v1.d.ts +0 -11
  192. package/dist/3-unit/panel-v1.d.ts.map +0 -1
  193. package/dist/3-unit/panel-v1.js +0 -16
  194. package/dist/3-unit/row-v1.d.ts +0 -25
  195. package/dist/3-unit/row-v1.d.ts.map +0 -1
  196. package/dist/3-unit/row-v1.js +0 -32
  197. package/dist/3-unit/singlenav-v1.d.ts +0 -32
  198. package/dist/3-unit/singlenav-v1.d.ts.map +0 -1
  199. package/dist/3-unit/singlenav-v1.js +0 -62
@@ -1,7 +1,8 @@
1
1
  // ds-layout.ts
2
2
  // Simple grid layout component with view mode
3
3
 
4
- import { LitElement, html, css } from "lit";
4
+ import { LitElement, html, css, unsafeCSS } from "lit";
5
+ import styles from "./styles/ds-layout.css?inline";
5
6
 
6
7
  declare global {
7
8
  interface CustomElementRegistry {
@@ -21,7 +22,9 @@ export class Layout extends LitElement {
21
22
  align?: string;
22
23
  view?: boolean;
23
24
 
24
- static styles = css`
25
+ static styles = [
26
+ unsafeCSS(styles),
27
+ css`
25
28
  :host {
26
29
  display: grid;
27
30
  position: relative;
@@ -77,7 +80,9 @@ export class Layout extends LitElement {
77
80
  :host([align="left"]),
78
81
  :host([mode="portfolio"][align="left"]),
79
82
  :host([mode="company"][align="left"]),
80
- :host([mode="app"][align="left"]) {
83
+ :host([mode="app"][align="left"]),
84
+ :host([mode="list"][align="left"]),
85
+ :host([mode="home"][align="left"]) {
81
86
  margin: 0;
82
87
  justify-self: start;
83
88
  }
@@ -85,7 +90,9 @@ export class Layout extends LitElement {
85
90
  :host([align="center"]),
86
91
  :host([mode="portfolio"][align="center"]),
87
92
  :host([mode="company"][align="center"]),
88
- :host([mode="app"][align="center"]) {
93
+ :host([mode="app"][align="center"]),
94
+ :host([mode="list"][align="center"]),
95
+ :host([mode="home"][align="center"]) {
89
96
  margin: 0 auto;
90
97
  justify-self: center;
91
98
  }
@@ -93,7 +100,9 @@ export class Layout extends LitElement {
93
100
  :host([align="right"]),
94
101
  :host([mode="portfolio"][align="right"]),
95
102
  :host([mode="company"][align="right"]),
96
- :host([mode="app"][align="right"]) {
103
+ :host([mode="app"][align="right"]),
104
+ :host([mode="list"][align="right"]),
105
+ :host([mode="home"][align="right"]) {
97
106
  margin: 0 0 0 auto;
98
107
  justify-self: end;
99
108
  }
@@ -101,20 +110,10 @@ export class Layout extends LitElement {
101
110
  /* App mode - Base */
102
111
  :host([mode="app"]) {
103
112
  --app-cols: 100%;
104
- --app-rows: calc(var(--unit) * var(--sf)) calc(var(--unit) * var(--sf))
105
- calc(var(--unit) * var(--sf)) calc(var(--double) * var(--sf))
106
- calc(var(--dozen) * var(--sf)) calc(var(--quad) * var(--sf))
107
- calc(var(--unit) * var(--sf));
108
- --app-areas: "banner" "." "header" "." "main" "." "footer";
109
113
  --app-overlay-cols: 100%;
110
- --app-overlay-rows: calc(var(--unit) * var(--sf))
111
- calc(var(--unit) * var(--sf)) calc(var(--unit) * var(--sf))
112
- calc(var(--double) * var(--sf)) calc(var(--dozen) * var(--sf))
113
- calc(var(--quad) * var(--sf)) calc(var(--unit) * var(--sf));
114
- --app-overlay-areas: "banner" "." "header" "." "main" "." "footer";
115
114
  grid-template-columns: var(--app-cols);
116
- grid-template-rows: var(--app-rows);
117
- grid-template-areas: var(--app-areas);
115
+ grid-template-rows: var(--app-layout);
116
+ grid-template-areas: var(--app-layout-areas);
118
117
  min-height: 100vh;
119
118
  background-color: transparent;
120
119
  width: calc(240px * var(--sf, 1));
@@ -124,8 +123,58 @@ export class Layout extends LitElement {
124
123
 
125
124
  :host([mode="app"]) .view-overlay {
126
125
  grid-template-columns: var(--app-overlay-cols);
127
- grid-template-rows: var(--app-overlay-rows);
128
- grid-template-areas: var(--app-overlay-areas);
126
+ grid-template-rows: var(--app-layout);
127
+ grid-template-areas: var(--app-layout-areas);
128
+ }
129
+
130
+ /* List mode - Base */
131
+ :host([mode="list"]) {
132
+ --list-cols: 100%;
133
+ --list-rows: calc(var(--unit) * var(--sf)) calc(var(--unit) * var(--sf))
134
+ calc(var(--unit) * var(--sf)) calc(var(--twenty) * var(--sf));
135
+ --list-areas: "banner" "." "header" "board";
136
+ --list-overlay-cols: 100%;
137
+ --list-overlay-rows: calc(var(--unit) * var(--sf))
138
+ calc(var(--unit) * var(--sf)) calc(var(--unit) * var(--sf))
139
+ calc(var(--twenty) * var(--sf));
140
+ --list-overlay-areas: "banner" "." "header" "board";
141
+ grid-template-columns: var(--list-cols);
142
+ grid-template-rows: var(--list-rows);
143
+ grid-template-areas: var(--list-areas);
144
+ min-height: 100vh;
145
+ background-color: transparent;
146
+ width: calc(240px * var(--sf, 1));
147
+ max-width: calc(240px * var(--sf, 1));
148
+ margin: 0 auto;
149
+ }
150
+
151
+ :host([mode="list"]) .view-overlay {
152
+ grid-template-columns: var(--list-overlay-cols);
153
+ grid-template-rows: var(--list-overlay-rows);
154
+ grid-template-areas: var(--list-overlay-areas);
155
+ }
156
+
157
+ /* Home mode - Base */
158
+ :host([mode="home"]) {
159
+ --home-cols: 100%;
160
+ --home-areas: "banner" "." "header" "." "message" "lists" "." "footer";
161
+ --home-overlay-cols: 100%;
162
+ --home-overlay-areas: "banner" "." "header" "." "message" "lists" "."
163
+ "footer";
164
+ grid-template-columns: var(--home-cols);
165
+ grid-template-rows: var(--home-layout);
166
+ grid-template-areas: var(--home-areas);
167
+ min-height: 100vh;
168
+ background-color: transparent;
169
+ width: calc(240px * var(--sf, 1));
170
+ max-width: calc(240px * var(--sf, 1));
171
+ margin: 0 auto;
172
+ }
173
+
174
+ :host([mode="home"]) .view-overlay {
175
+ grid-template-columns: var(--home-overlay-cols);
176
+ grid-template-rows: var(--home-layout);
177
+ grid-template-areas: var(--home-overlay-areas);
129
178
  }
130
179
 
131
180
  .view-overlay {
@@ -155,52 +204,333 @@ export class Layout extends LitElement {
155
204
  transparent
156
205
  );
157
206
  opacity: 1;
207
+ position: relative;
208
+ }
209
+
210
+ .grid-area-label {
211
+ position: absolute;
212
+ top: calc(-20px * var(--sf, 1));
213
+ left: 0;
214
+ height: calc(20px * var(--sf, 1));
215
+ width: fit-content;
216
+ display: inline-flex;
217
+ align-items: center;
218
+ justify-content: center;
219
+ padding: 0 calc(4px * var(--sf, 1));
220
+ border-radius: calc(2px * var(--sf, 1));
221
+ z-index: 10000;
222
+ pointer-events: none;
223
+ white-space: nowrap;
224
+ }
225
+
226
+ /* Banner label stays inside the area (first item) */
227
+ :host([mode="app"]) .view-area.view-banner .grid-area-label,
228
+ :host([mode="list"]) .view-area.view-banner .grid-area-label,
229
+ :host([mode="home"]) .view-area.view-banner .grid-area-label,
230
+ :host([mode="company"]) .view-area.view-header .grid-area-label,
231
+ :host([mode="portfolio"]) .view-area.view-square .grid-area-label {
232
+ top: 0;
233
+ }
234
+
235
+ .grid-area-label ds-text {
236
+ font-size: calc(11px * var(--sf, 1));
237
+ line-height: 1;
238
+ color: white;
239
+ text-transform: lowercase;
158
240
  }
159
241
 
160
242
  :host([mode="portfolio"]) .view-area:nth-of-type(1) {
161
243
  background-color: color-mix(in srgb, var(--tuned-red) 25%, transparent);
162
244
  }
245
+ :host([mode="portfolio"]) .view-area:nth-of-type(1) .grid-area-label {
246
+ background-image:
247
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
248
+ linear-gradient(
249
+ 90deg,
250
+ color-mix(in srgb, var(--tuned-red) 70%, black) 0%,
251
+ color-mix(in srgb, var(--tuned-red) 70%, black) 100%
252
+ );
253
+ }
163
254
  :host([mode="portfolio"]) .view-area:nth-of-type(2) {
164
255
  border-color: var(--sharp-blue);
165
256
  }
257
+ :host([mode="portfolio"]) .view-area:nth-of-type(2) .grid-area-label {
258
+ background-image:
259
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
260
+ linear-gradient(
261
+ 90deg,
262
+ color-mix(in srgb, var(--sharp-blue) 70%, black) 0%,
263
+ color-mix(in srgb, var(--sharp-blue) 70%, black) 100%
264
+ );
265
+ }
166
266
  :host([mode="portfolio"]) .view-area:nth-of-type(3) {
167
267
  border-color: var(--yellow);
168
268
  }
269
+ :host([mode="portfolio"]) .view-area:nth-of-type(3) .grid-area-label {
270
+ background-image:
271
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
272
+ linear-gradient(
273
+ 90deg,
274
+ color-mix(in srgb, var(--yellow) 70%, black) 0%,
275
+ color-mix(in srgb, var(--yellow) 70%, black) 100%
276
+ );
277
+ }
169
278
  :host([mode="portfolio"]) .view-area:nth-of-type(4) {
170
279
  border-color: var(--apple-green);
171
280
  }
281
+ :host([mode="portfolio"]) .view-area:nth-of-type(4) .grid-area-label {
282
+ background-image:
283
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
284
+ linear-gradient(
285
+ 90deg,
286
+ color-mix(in srgb, var(--apple-green) 70%, black) 0%,
287
+ color-mix(in srgb, var(--apple-green) 70%, black) 100%
288
+ );
289
+ }
172
290
  :host([mode="portfolio"]) .view-area:nth-of-type(5) {
173
291
  border-color: var(--pink);
174
292
  }
293
+ :host([mode="portfolio"]) .view-area:nth-of-type(5) .grid-area-label {
294
+ background-image:
295
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
296
+ linear-gradient(
297
+ 90deg,
298
+ color-mix(in srgb, var(--pink) 70%, black) 0%,
299
+ color-mix(in srgb, var(--pink) 70%, black) 100%
300
+ );
301
+ }
175
302
  :host([mode="portfolio"]) .view-area:nth-of-type(6) {
176
303
  border-color: var(--orange);
177
304
  }
305
+ :host([mode="portfolio"]) .view-area:nth-of-type(6) .grid-area-label {
306
+ background-image:
307
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
308
+ linear-gradient(
309
+ 90deg,
310
+ color-mix(in srgb, var(--orange) 70%, black) 0%,
311
+ color-mix(in srgb, var(--orange) 70%, black) 100%
312
+ );
313
+ }
178
314
  :host([mode="portfolio"]) .view-area:nth-of-type(7) {
179
315
  border-color: var(--zenith-blue);
180
316
  }
317
+ :host([mode="portfolio"]) .view-area:nth-of-type(7) .grid-area-label {
318
+ background-image:
319
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
320
+ linear-gradient(
321
+ 90deg,
322
+ color-mix(in srgb, var(--zenith-blue) 70%, black) 0%,
323
+ color-mix(in srgb, var(--zenith-blue) 70%, black) 100%
324
+ );
325
+ }
181
326
 
182
327
  :host([mode="company"]) .view-area:nth-of-type(1) {
183
328
  border-color: var(--tuned-red);
184
329
  }
330
+ :host([mode="company"]) .view-area:nth-of-type(1) .grid-area-label {
331
+ background-image:
332
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
333
+ linear-gradient(
334
+ 90deg,
335
+ color-mix(in srgb, var(--tuned-red) 70%, black) 0%,
336
+ color-mix(in srgb, var(--tuned-red) 70%, black) 100%
337
+ );
338
+ }
185
339
  :host([mode="company"]) .view-area:nth-of-type(2) {
186
340
  border-color: var(--sharp-blue);
187
341
  }
342
+ :host([mode="company"]) .view-area:nth-of-type(2) .grid-area-label {
343
+ background-image:
344
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
345
+ linear-gradient(
346
+ 90deg,
347
+ color-mix(in srgb, var(--sharp-blue) 70%, black) 0%,
348
+ color-mix(in srgb, var(--sharp-blue) 70%, black) 100%
349
+ );
350
+ }
188
351
  :host([mode="company"]) .view-area:nth-of-type(3) {
189
352
  border-color: var(--yellow);
190
353
  }
354
+ :host([mode="company"]) .view-area:nth-of-type(3) .grid-area-label {
355
+ background-image:
356
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
357
+ linear-gradient(
358
+ 90deg,
359
+ color-mix(in srgb, var(--yellow) 70%, black) 0%,
360
+ color-mix(in srgb, var(--yellow) 70%, black) 100%
361
+ );
362
+ }
191
363
 
192
364
  :host([mode="app"]) .view-area:nth-of-type(1) {
193
365
  background-color: color-mix(in srgb, var(--tuned-red) 25%, transparent);
194
366
  }
367
+ :host([mode="app"]) .view-area:nth-of-type(1) .grid-area-label {
368
+ background-image:
369
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
370
+ linear-gradient(
371
+ 90deg,
372
+ color-mix(in srgb, var(--tuned-red) 70%, black) 0%,
373
+ color-mix(in srgb, var(--tuned-red) 70%, black) 100%
374
+ );
375
+ }
195
376
  :host([mode="app"]) .view-area:nth-of-type(2) {
196
377
  background-color: color-mix(in srgb, var(--sharp-blue) 25%, transparent);
197
378
  }
379
+ :host([mode="app"]) .view-area:nth-of-type(2) .grid-area-label {
380
+ background-image:
381
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
382
+ linear-gradient(
383
+ 90deg,
384
+ color-mix(in srgb, var(--sharp-blue) 70%, black) 0%,
385
+ color-mix(in srgb, var(--sharp-blue) 70%, black) 100%
386
+ );
387
+ }
198
388
  :host([mode="app"]) .view-area:nth-of-type(3) {
199
389
  background-color: color-mix(in srgb, var(--yellow) 25%, transparent);
200
390
  }
391
+ :host([mode="app"]) .view-area:nth-of-type(3) .grid-area-label {
392
+ background-image:
393
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
394
+ linear-gradient(
395
+ 90deg,
396
+ color-mix(in srgb, var(--yellow) 70%, black) 0%,
397
+ color-mix(in srgb, var(--yellow) 70%, black) 100%
398
+ );
399
+ }
201
400
  :host([mode="app"]) .view-area:nth-of-type(4) {
202
401
  background-color: color-mix(in srgb, var(--apple-green) 25%, transparent);
203
402
  }
403
+ :host([mode="app"]) .view-area:nth-of-type(4) .grid-area-label {
404
+ background-image:
405
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
406
+ linear-gradient(
407
+ 90deg,
408
+ color-mix(in srgb, var(--apple-green) 70%, black) 0%,
409
+ color-mix(in srgb, var(--apple-green) 70%, black) 100%
410
+ );
411
+ }
412
+ :host([mode="app"]) .view-area:nth-of-type(5) {
413
+ background-color: color-mix(in srgb, var(--pink) 25%, transparent);
414
+ }
415
+ :host([mode="app"]) .view-area:nth-of-type(5) .grid-area-label {
416
+ background-image:
417
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
418
+ linear-gradient(
419
+ 90deg,
420
+ color-mix(in srgb, var(--pink) 70%, black) 0%,
421
+ color-mix(in srgb, var(--pink) 70%, black) 100%
422
+ );
423
+ }
424
+
425
+ :host([mode="list"]) .view-area:nth-of-type(1) {
426
+ background-color: color-mix(in srgb, var(--tuned-red) 25%, transparent);
427
+ }
428
+ :host([mode="list"]) .view-area:nth-of-type(1) .grid-area-label {
429
+ background-image:
430
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
431
+ linear-gradient(
432
+ 90deg,
433
+ color-mix(in srgb, var(--tuned-red) 70%, black) 0%,
434
+ color-mix(in srgb, var(--tuned-red) 70%, black) 100%
435
+ );
436
+ }
437
+ :host([mode="list"]) .view-area:nth-of-type(2) {
438
+ background-color: color-mix(in srgb, var(--sharp-blue) 25%, transparent);
439
+ }
440
+ :host([mode="list"]) .view-area:nth-of-type(2) .grid-area-label {
441
+ background-image:
442
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
443
+ linear-gradient(
444
+ 90deg,
445
+ color-mix(in srgb, var(--sharp-blue) 70%, black) 0%,
446
+ color-mix(in srgb, var(--sharp-blue) 70%, black) 100%
447
+ );
448
+ }
449
+ :host([mode="list"]) .view-area:nth-of-type(3) {
450
+ background-color: color-mix(in srgb, var(--yellow) 25%, transparent);
451
+ }
452
+ :host([mode="list"]) .view-area:nth-of-type(3) .grid-area-label {
453
+ background-image:
454
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
455
+ linear-gradient(
456
+ 90deg,
457
+ color-mix(in srgb, var(--yellow) 70%, black) 0%,
458
+ color-mix(in srgb, var(--yellow) 70%, black) 100%
459
+ );
460
+ }
461
+ :host([mode="list"]) .view-area:nth-of-type(4) {
462
+ background-color: color-mix(in srgb, var(--apple-green) 25%, transparent);
463
+ }
464
+ :host([mode="list"]) .view-area:nth-of-type(4) .grid-area-label {
465
+ background-image:
466
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
467
+ linear-gradient(
468
+ 90deg,
469
+ color-mix(in srgb, var(--apple-green) 70%, black) 0%,
470
+ color-mix(in srgb, var(--apple-green) 70%, black) 100%
471
+ );
472
+ }
473
+
474
+ :host([mode="home"]) .view-area:nth-of-type(1) {
475
+ background-color: color-mix(in srgb, var(--tuned-red) 25%, transparent);
476
+ }
477
+ :host([mode="home"]) .view-area:nth-of-type(1) .grid-area-label {
478
+ background-image:
479
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
480
+ linear-gradient(
481
+ 90deg,
482
+ color-mix(in srgb, var(--tuned-red) 70%, black) 0%,
483
+ color-mix(in srgb, var(--tuned-red) 70%, black) 100%
484
+ );
485
+ }
486
+ :host([mode="home"]) .view-area:nth-of-type(2) {
487
+ background-color: color-mix(in srgb, var(--sharp-blue) 25%, transparent);
488
+ }
489
+ :host([mode="home"]) .view-area:nth-of-type(2) .grid-area-label {
490
+ background-image:
491
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
492
+ linear-gradient(
493
+ 90deg,
494
+ color-mix(in srgb, var(--sharp-blue) 70%, black) 0%,
495
+ color-mix(in srgb, var(--sharp-blue) 70%, black) 100%
496
+ );
497
+ }
498
+ :host([mode="home"]) .view-area:nth-of-type(3) {
499
+ background-color: color-mix(in srgb, var(--yellow) 25%, transparent);
500
+ }
501
+ :host([mode="home"]) .view-area:nth-of-type(3) .grid-area-label {
502
+ background-image:
503
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
504
+ linear-gradient(
505
+ 90deg,
506
+ color-mix(in srgb, var(--yellow) 70%, black) 0%,
507
+ color-mix(in srgb, var(--yellow) 70%, black) 100%
508
+ );
509
+ }
510
+ :host([mode="home"]) .view-area:nth-of-type(4) {
511
+ background-color: color-mix(in srgb, var(--apple-green) 25%, transparent);
512
+ }
513
+ :host([mode="home"]) .view-area:nth-of-type(4) .grid-area-label {
514
+ background-image:
515
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
516
+ linear-gradient(
517
+ 90deg,
518
+ color-mix(in srgb, var(--apple-green) 70%, black) 0%,
519
+ color-mix(in srgb, var(--apple-green) 70%, black) 100%
520
+ );
521
+ }
522
+ :host([mode="home"]) .view-area:nth-of-type(5) {
523
+ background-color: color-mix(in srgb, var(--pink) 25%, transparent);
524
+ }
525
+ :host([mode="home"]) .view-area:nth-of-type(5) .grid-area-label {
526
+ background-image:
527
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
528
+ linear-gradient(
529
+ 90deg,
530
+ color-mix(in srgb, var(--pink) 70%, black) 0%,
531
+ color-mix(in srgb, var(--pink) 70%, black) 100%
532
+ );
533
+ }
204
534
 
205
535
  .view-square {
206
536
  grid-area: square;
@@ -241,72 +571,220 @@ export class Layout extends LitElement {
241
571
  .view-main {
242
572
  grid-area: main;
243
573
  }
244
- `;
574
+
575
+ .view-page-dots {
576
+ grid-area: page-dots;
577
+ }
578
+
579
+ .view-board {
580
+ grid-area: board;
581
+ }
582
+
583
+ .view-message {
584
+ grid-area: message;
585
+ }
586
+
587
+ .view-lists {
588
+ grid-area: lists;
589
+ }
590
+ `
591
+ ];
245
592
 
246
593
  render() {
247
594
  const isView = this.view || this.mode === "view";
248
595
  const isPortfolio = this.mode === "portfolio";
249
596
  const isCompany = this.mode === "company";
250
597
  const isApp = this.mode === "app";
598
+ const isList = this.mode === "list";
599
+ const isHome = this.mode === "home";
251
600
 
252
601
  return html`
253
602
  <slot></slot>
254
603
  ${isView
255
604
  ? html`
256
605
  <div class="view-overlay">
257
- ${isApp
606
+ ${isHome
258
607
  ? html`
259
608
  <div class="view-area view-banner">
260
- <ds-text key="banner">banner</ds-text>
609
+ <div class="grid-area-label">
610
+ <ds-text key="banner" default-value="banner"></ds-text>
611
+ </div>
261
612
  </div>
262
613
  <div class="view-area view-header">
263
- <ds-text key="header">header</ds-text>
614
+ <div class="grid-area-label">
615
+ <ds-text key="header" default-value="header"></ds-text>
616
+ </div>
264
617
  </div>
265
-
266
- <div class="view-area view-main">
267
- <ds-text key="main">main</ds-text>
618
+ <div class="view-area view-message">
619
+ <div class="grid-area-label">
620
+ <ds-text
621
+ key="message"
622
+ default-value="message"
623
+ ></ds-text>
624
+ </div>
625
+ </div>
626
+ <div class="view-area view-lists">
627
+ <div class="grid-area-label">
628
+ <ds-text key="lists" default-value="lists"></ds-text>
629
+ </div>
268
630
  </div>
269
631
  <div class="view-area view-footer">
270
- <ds-text key="footer">footer</ds-text>
632
+ <div class="grid-area-label">
633
+ <ds-text key="footer" default-value="footer"></ds-text>
634
+ </div>
271
635
  </div>
272
636
  `
273
- : isCompany
637
+ : isList
274
638
  ? html`
275
- <div class="view-area view-header">
276
- <ds-text key="header">header</ds-text>
639
+ <div class="view-area view-banner">
640
+ <div class="grid-area-label">
641
+ <ds-text
642
+ key="banner"
643
+ default-value="banner"
644
+ ></ds-text>
645
+ </div>
277
646
  </div>
278
- <div class="view-area view-content">
279
- <ds-text key="content">content</ds-text>
647
+ <div class="view-area view-header">
648
+ <div class="grid-area-label">
649
+ <ds-text
650
+ key="header"
651
+ default-value="header"
652
+ ></ds-text>
653
+ </div>
280
654
  </div>
281
- <div class="view-area view-footer">
282
- <ds-text key="footer">footer</ds-text>
655
+ <div class="view-area view-board">
656
+ <div class="grid-area-label">
657
+ <ds-text key="board" default-value="board"></ds-text>
658
+ </div>
283
659
  </div>
284
660
  `
285
- : isPortfolio
661
+ : isApp
286
662
  ? html`
287
- <div class="view-area view-square">
288
- <ds-text key="square">square</ds-text>
289
- </div>
290
- <div class="view-area view-title">
291
- <ds-text key="title">title</ds-text>
663
+ <div class="view-area view-banner">
664
+ <div class="grid-area-label">
665
+ <ds-text
666
+ key="banner"
667
+ default-value="banner"
668
+ ></ds-text>
669
+ </div>
292
670
  </div>
293
671
  <div class="view-area view-header">
294
- <ds-text key="header">header</ds-text>
295
- </div>
296
- <div class="view-area view-projects">
297
- <ds-text key="projects">projects</ds-text>
672
+ <div class="grid-area-label">
673
+ <ds-text
674
+ key="header"
675
+ default-value="header"
676
+ ></ds-text>
677
+ </div>
298
678
  </div>
299
- <div class="view-area view-bio">
300
- <ds-text key="bio">bio</ds-text>
679
+ <div class="view-area view-main">
680
+ <div class="grid-area-label">
681
+ <ds-text key="main" default-value="main"></ds-text>
682
+ </div>
301
683
  </div>
302
- <div class="view-area view-nav">
303
- <ds-text key="nav">nav</ds-text>
684
+ <div class="view-area view-page-dots">
685
+ <div class="grid-area-label">
686
+ <ds-text
687
+ key="pageDots"
688
+ default-value="page-dots"
689
+ ></ds-text>
690
+ </div>
304
691
  </div>
305
692
  <div class="view-area view-footer">
306
- <ds-text key="footer">footer</ds-text>
693
+ <div class="grid-area-label">
694
+ <ds-text
695
+ key="footer"
696
+ default-value="footer"
697
+ ></ds-text>
698
+ </div>
307
699
  </div>
308
700
  `
309
- : ""}
701
+ : isCompany
702
+ ? html`
703
+ <div class="view-area view-header">
704
+ <div class="grid-area-label">
705
+ <ds-text
706
+ key="header"
707
+ default-value="header"
708
+ ></ds-text>
709
+ </div>
710
+ </div>
711
+ <div class="view-area view-content">
712
+ <div class="grid-area-label">
713
+ <ds-text
714
+ key="content"
715
+ default-value="content"
716
+ ></ds-text>
717
+ </div>
718
+ </div>
719
+ <div class="view-area view-footer">
720
+ <div class="grid-area-label">
721
+ <ds-text
722
+ key="footer"
723
+ default-value="footer"
724
+ ></ds-text>
725
+ </div>
726
+ </div>
727
+ `
728
+ : isPortfolio
729
+ ? html`
730
+ <div class="view-area view-square">
731
+ <div class="grid-area-label">
732
+ <ds-text
733
+ key="square"
734
+ default-value="square"
735
+ ></ds-text>
736
+ </div>
737
+ </div>
738
+ <div class="view-area view-title">
739
+ <div class="grid-area-label">
740
+ <ds-text
741
+ key="title"
742
+ default-value="title"
743
+ ></ds-text>
744
+ </div>
745
+ </div>
746
+ <div class="view-area view-header">
747
+ <div class="grid-area-label">
748
+ <ds-text
749
+ key="header"
750
+ default-value="header"
751
+ ></ds-text>
752
+ </div>
753
+ </div>
754
+ <div class="view-area view-projects">
755
+ <div class="grid-area-label">
756
+ <ds-text
757
+ key="projects"
758
+ default-value="projects"
759
+ ></ds-text>
760
+ </div>
761
+ </div>
762
+ <div class="view-area view-bio">
763
+ <div class="grid-area-label">
764
+ <ds-text
765
+ key="bio"
766
+ default-value="bio"
767
+ ></ds-text>
768
+ </div>
769
+ </div>
770
+ <div class="view-area view-nav">
771
+ <div class="grid-area-label">
772
+ <ds-text
773
+ key="nav"
774
+ default-value="nav"
775
+ ></ds-text>
776
+ </div>
777
+ </div>
778
+ <div class="view-area view-footer">
779
+ <div class="grid-area-label">
780
+ <ds-text
781
+ key="footer"
782
+ default-value="footer"
783
+ ></ds-text>
784
+ </div>
785
+ </div>
786
+ `
787
+ : ""}
310
788
  </div>
311
789
  `
312
790
  : ""}