ds-one 0.2.0-alpha.1 → 0.2.0-alpha.3
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/1-root/one.css +1 -1
- package/DS1/2-core/{article-v1.ts → ds-article.ts} +5 -4
- package/DS1/2-core/{attributes-v1.ts → ds-attributes.ts} +4 -3
- package/DS1/2-core/{cycle-v1.ts → ds-cycle.ts} +11 -10
- package/DS1/2-core/{downloadcv-v1.ts → ds-downloadcv.ts} +9 -8
- package/DS1/2-core/{header-v1.ts → ds-header.ts} +4 -3
- package/DS1/2-core/{home-v1.ts → ds-home.ts} +3 -2
- package/DS1/2-core/{icon-v1.ts → ds-icon.ts} +2 -2
- package/DS1/2-core/{link-v1.ts → ds-link.ts} +5 -5
- package/DS1/2-core/{markdown-v1.ts → ds-markdown.ts} +3 -2
- package/DS1/2-core/{price-v1.ts → ds-price.ts} +4 -3
- package/DS1/2-core/{squarecircle-v1.ts → ds-squarecircle.ts} +4 -3
- package/DS1/2-core/{title-v1.ts → ds-title.ts} +5 -4
- package/DS1/2-core/{tooltip-v1.ts → ds-tooltip.ts} +4 -3
- package/DS1/2-core/{viewtoggle-v1.ts → ds-viewtoggle.ts} +4 -3
- package/DS1/2-core/{year-v1.ts → ds-year.ts} +4 -3
- package/DS1/3-unit/{doublenav-v1.ts → ds-doublenav.ts} +9 -8
- package/DS1/3-unit/{list-v1.ts → ds-list.ts} +3 -2
- package/DS1/3-unit/{panel-v1.ts → ds-panel.ts} +3 -2
- package/DS1/3-unit/{row-v1.ts → ds-row.ts} +3 -2
- package/DS1/3-unit/{singlenav-v1.ts → ds-singlenav.ts} +5 -4
- package/DS1/index.ts +20 -20
- package/DS1/utils/cdn-loader.ts +20 -44
- package/README.md +4 -4
- package/dist/2-core/ds-article.d.ts +129 -0
- package/dist/2-core/ds-article.d.ts.map +1 -0
- package/dist/2-core/ds-article.js +361 -0
- package/dist/2-core/ds-attributes.d.ts +47 -0
- package/dist/2-core/ds-attributes.d.ts.map +1 -0
- package/dist/2-core/ds-attributes.js +128 -0
- package/dist/2-core/ds-cycle.d.ts +66 -0
- package/dist/2-core/ds-cycle.d.ts.map +1 -0
- package/dist/2-core/ds-cycle.js +586 -0
- package/dist/2-core/ds-downloadcv.d.ts +58 -0
- package/dist/2-core/ds-downloadcv.d.ts.map +1 -0
- package/dist/2-core/ds-downloadcv.js +119 -0
- package/dist/2-core/ds-header.d.ts +28 -0
- package/dist/2-core/ds-header.d.ts.map +1 -0
- package/dist/2-core/ds-header.js +66 -0
- package/dist/2-core/ds-home.d.ts +26 -0
- package/dist/2-core/ds-home.d.ts.map +1 -0
- package/dist/2-core/ds-home.js +148 -0
- package/dist/2-core/ds-icon.d.ts +28 -0
- package/dist/2-core/ds-icon.d.ts.map +1 -0
- package/dist/2-core/ds-icon.js +297 -0
- package/dist/2-core/ds-link.d.ts +35 -0
- package/dist/2-core/ds-link.d.ts.map +1 -0
- package/dist/2-core/ds-link.js +85 -0
- package/dist/2-core/ds-markdown.d.ts +7 -0
- package/dist/2-core/ds-markdown.d.ts.map +1 -0
- package/dist/2-core/ds-markdown.js +240 -0
- package/dist/2-core/ds-price.d.ts +46 -0
- package/dist/2-core/ds-price.d.ts.map +1 -0
- package/dist/2-core/ds-price.js +72 -0
- package/dist/2-core/ds-squarecircle.d.ts +50 -0
- package/dist/2-core/ds-squarecircle.d.ts.map +1 -0
- package/dist/2-core/ds-squarecircle.js +133 -0
- package/dist/2-core/ds-title.d.ts +50 -0
- package/dist/2-core/ds-title.d.ts.map +1 -0
- package/dist/2-core/ds-title.js +103 -0
- package/dist/2-core/ds-tooltip.d.ts +39 -0
- package/dist/2-core/ds-tooltip.d.ts.map +1 -0
- package/dist/2-core/ds-tooltip.js +145 -0
- package/dist/2-core/ds-viewtoggle.d.ts +27 -0
- package/dist/2-core/ds-viewtoggle.d.ts.map +1 -0
- package/dist/2-core/ds-viewtoggle.js +49 -0
- package/dist/2-core/ds-year.d.ts +16 -0
- package/dist/2-core/ds-year.d.ts.map +1 -0
- package/dist/2-core/ds-year.js +21 -0
- package/dist/3-unit/ds-doublenav.d.ts +51 -0
- package/dist/3-unit/ds-doublenav.d.ts.map +1 -0
- package/dist/3-unit/ds-doublenav.js +88 -0
- package/dist/3-unit/ds-list.d.ts +11 -0
- package/dist/3-unit/ds-list.d.ts.map +1 -0
- package/dist/3-unit/ds-list.js +15 -0
- package/dist/3-unit/ds-panel.d.ts +11 -0
- package/dist/3-unit/ds-panel.d.ts.map +1 -0
- package/dist/3-unit/ds-panel.js +16 -0
- package/dist/3-unit/ds-row.d.ts +25 -0
- package/dist/3-unit/ds-row.d.ts.map +1 -0
- package/dist/3-unit/ds-row.js +32 -0
- package/dist/3-unit/ds-singlenav.d.ts +32 -0
- package/dist/3-unit/ds-singlenav.d.ts.map +1 -0
- package/dist/3-unit/ds-singlenav.js +62 -0
- package/dist/ds-one.bundle.js +79 -99
- package/dist/ds-one.bundle.js.map +3 -3
- package/dist/ds-one.bundle.min.js +47 -47
- package/dist/ds-one.bundle.min.js.map +4 -4
- package/dist/index.d.ts +20 -20
- package/dist/index.js +20 -20
- package/dist/utils/cdn-loader.d.ts.map +1 -1
- package/dist/utils/cdn-loader.js +20 -38
- package/package.json +2 -2
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { LitElement, html } from "lit";
|
|
2
|
+
import { getText } from "../utils/language";
|
|
3
|
+
import { getViewMode, setViewMode } from "../utils/viewMode";
|
|
4
|
+
/**
|
|
5
|
+
* A component for toggling between text and image view modes
|
|
6
|
+
*
|
|
7
|
+
* @element ds-viewtoggle
|
|
8
|
+
*/
|
|
9
|
+
export class ViewToggle extends LitElement {
|
|
10
|
+
constructor() {
|
|
11
|
+
super();
|
|
12
|
+
this._toggle = () => {
|
|
13
|
+
const next = this._mode === "image" ? "text" : "image";
|
|
14
|
+
setViewMode(next);
|
|
15
|
+
};
|
|
16
|
+
this._mode = getViewMode();
|
|
17
|
+
this.boundHandlers = {
|
|
18
|
+
viewModeChanged: ((e) => {
|
|
19
|
+
const mode = e.detail === "image" ? "image" : "text";
|
|
20
|
+
if (this._mode !== mode) {
|
|
21
|
+
this._mode = mode;
|
|
22
|
+
}
|
|
23
|
+
}),
|
|
24
|
+
languageChanged: (() => {
|
|
25
|
+
this.requestUpdate();
|
|
26
|
+
}),
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
connectedCallback() {
|
|
30
|
+
super.connectedCallback();
|
|
31
|
+
window.addEventListener("view-mode-changed", this.boundHandlers.viewModeChanged);
|
|
32
|
+
window.addEventListener("language-changed", this.boundHandlers.languageChanged);
|
|
33
|
+
}
|
|
34
|
+
disconnectedCallback() {
|
|
35
|
+
super.disconnectedCallback();
|
|
36
|
+
window.removeEventListener("view-mode-changed", this.boundHandlers.viewModeChanged);
|
|
37
|
+
window.removeEventListener("language-changed", this.boundHandlers.languageChanged);
|
|
38
|
+
}
|
|
39
|
+
render() {
|
|
40
|
+
const label = this._mode === "image" ? getText("hideImage") : getText("viewImage");
|
|
41
|
+
return html `
|
|
42
|
+
<ds-button variant="primary" @click=${this._toggle}>${label}</ds-button>
|
|
43
|
+
`;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
ViewToggle.properties = {
|
|
47
|
+
_mode: { type: String, state: true },
|
|
48
|
+
};
|
|
49
|
+
customElements.define("ds-viewtoggle", ViewToggle);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { LitElement } from "lit";
|
|
2
|
+
/**
|
|
3
|
+
* A component for displaying the current year
|
|
4
|
+
*
|
|
5
|
+
* @element ds-year
|
|
6
|
+
*/
|
|
7
|
+
export declare class Year extends LitElement {
|
|
8
|
+
static styles: import("lit").CSSResult;
|
|
9
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
10
|
+
}
|
|
11
|
+
declare global {
|
|
12
|
+
interface HTMLElementTagNameMap {
|
|
13
|
+
"ds-year": Year;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=ds-year.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ds-year.d.ts","sourceRoot":"","sources":["../../DS1/2-core/ds-year.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAE5C;;;;GAIG;AACH,qBAAa,IAAK,SAAQ,UAAU;IAClC,MAAM,CAAC,MAAM,0BAOX;IAEF,MAAM;CAIP;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,IAAI,CAAC;KACjB;CACF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { LitElement, html, css } from "lit";
|
|
2
|
+
/**
|
|
3
|
+
* A component for displaying the current year
|
|
4
|
+
*
|
|
5
|
+
* @element ds-year
|
|
6
|
+
*/
|
|
7
|
+
export class Year extends LitElement {
|
|
8
|
+
render() {
|
|
9
|
+
const year = new Date().getFullYear();
|
|
10
|
+
return html `<span>${year}</span>`;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
Year.styles = css `
|
|
14
|
+
:host {
|
|
15
|
+
display: inline;
|
|
16
|
+
font-family: var(--typeface, var(--typeface-regular));
|
|
17
|
+
font-size: inherit;
|
|
18
|
+
color: inherit;
|
|
19
|
+
}
|
|
20
|
+
`;
|
|
21
|
+
customElements.define("ds-year", Year);
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { LitElement } from "lit";
|
|
2
|
+
/**
|
|
3
|
+
* A component for double navigation (previous/next)
|
|
4
|
+
*
|
|
5
|
+
* @element ds-doublenav
|
|
6
|
+
* @prop {string} previous - URL for previous link
|
|
7
|
+
* @prop {string} next - URL for next link
|
|
8
|
+
* @prop {string} previousText - Text for previous link
|
|
9
|
+
* @prop {string} nextText - Text for next link
|
|
10
|
+
* @prop {string} overlay - Overlay color (blue, red, orange, green, yellow)
|
|
11
|
+
*/
|
|
12
|
+
export declare class DoubleNav extends LitElement {
|
|
13
|
+
static get properties(): {
|
|
14
|
+
previous: {
|
|
15
|
+
type: StringConstructor;
|
|
16
|
+
reflect: boolean;
|
|
17
|
+
};
|
|
18
|
+
next: {
|
|
19
|
+
type: StringConstructor;
|
|
20
|
+
reflect: boolean;
|
|
21
|
+
};
|
|
22
|
+
previousText: {
|
|
23
|
+
type: StringConstructor;
|
|
24
|
+
reflect: boolean;
|
|
25
|
+
attribute: string;
|
|
26
|
+
};
|
|
27
|
+
nextText: {
|
|
28
|
+
type: StringConstructor;
|
|
29
|
+
reflect: boolean;
|
|
30
|
+
attribute: string;
|
|
31
|
+
};
|
|
32
|
+
overlay: {
|
|
33
|
+
type: StringConstructor;
|
|
34
|
+
reflect: boolean;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
previous: string;
|
|
38
|
+
next: string;
|
|
39
|
+
previousText: string;
|
|
40
|
+
nextText: string;
|
|
41
|
+
overlay?: string;
|
|
42
|
+
constructor();
|
|
43
|
+
static styles: import("lit").CSSResult;
|
|
44
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
45
|
+
}
|
|
46
|
+
declare global {
|
|
47
|
+
interface HTMLElementTagNameMap {
|
|
48
|
+
"ds-doublenav": DoubleNav;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=ds-doublenav.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ds-doublenav.d.ts","sourceRoot":"","sources":["../../DS1/3-unit/ds-doublenav.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAE5C;;;;;;;;;GASG;AACH,qBAAa,SAAU,SAAQ,UAAU;IACvC,MAAM,KAAK,UAAU;;;;;;;;;;;;;;;;;;;;;;;MAQpB;IAEO,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;;IAWzB,MAAM,CAAC,MAAM,0BAoCX;IAEF,MAAM;CAoBP;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,SAAS,CAAC;KAC3B;CACF"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { LitElement, html, css } from "lit";
|
|
2
|
+
/**
|
|
3
|
+
* A component for double navigation (previous/next)
|
|
4
|
+
*
|
|
5
|
+
* @element ds-doublenav
|
|
6
|
+
* @prop {string} previous - URL for previous link
|
|
7
|
+
* @prop {string} next - URL for next link
|
|
8
|
+
* @prop {string} previousText - Text for previous link
|
|
9
|
+
* @prop {string} nextText - Text for next link
|
|
10
|
+
* @prop {string} overlay - Overlay color (blue, red, orange, green, yellow)
|
|
11
|
+
*/
|
|
12
|
+
export class DoubleNav extends LitElement {
|
|
13
|
+
static get properties() {
|
|
14
|
+
return {
|
|
15
|
+
previous: { type: String, reflect: true },
|
|
16
|
+
next: { type: String, reflect: true },
|
|
17
|
+
previousText: { type: String, reflect: true, attribute: "previous-text" },
|
|
18
|
+
nextText: { type: String, reflect: true, attribute: "next-text" },
|
|
19
|
+
overlay: { type: String, reflect: true },
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
constructor() {
|
|
23
|
+
super();
|
|
24
|
+
this.previous = "";
|
|
25
|
+
this.next = "";
|
|
26
|
+
this.previousText = "";
|
|
27
|
+
this.nextText = "";
|
|
28
|
+
this.overlay = "";
|
|
29
|
+
}
|
|
30
|
+
render() {
|
|
31
|
+
return html `
|
|
32
|
+
${this.previous
|
|
33
|
+
? html `
|
|
34
|
+
<a href="${this.previous}" class="nav-previous">
|
|
35
|
+
<ds-icon type="left"></ds-icon>
|
|
36
|
+
<ds-text>${this.previousText || "Previous"}</ds-text>
|
|
37
|
+
</a>
|
|
38
|
+
`
|
|
39
|
+
: html `<div></div>`}
|
|
40
|
+
${this.next
|
|
41
|
+
? html `
|
|
42
|
+
<a href="${this.next}" class="nav-next">
|
|
43
|
+
<ds-text>${this.nextText || "Next"}</ds-text>
|
|
44
|
+
<ds-icon type="right"></ds-icon>
|
|
45
|
+
</a>
|
|
46
|
+
`
|
|
47
|
+
: html `<div></div>`}
|
|
48
|
+
`;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
DoubleNav.styles = css `
|
|
52
|
+
:host {
|
|
53
|
+
display: flex;
|
|
54
|
+
justify-content: space-between;
|
|
55
|
+
gap: calc(5px * var(--scaling-factor));
|
|
56
|
+
padding: calc(2px * var(--scaling-factor));
|
|
57
|
+
align-items: center;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
a {
|
|
61
|
+
display: inline-flex;
|
|
62
|
+
align-items: center;
|
|
63
|
+
gap: calc(5px * var(--scaling-factor));
|
|
64
|
+
text-decoration: none;
|
|
65
|
+
color: inherit;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.nav-previous {
|
|
69
|
+
justify-self: start;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.nav-next {
|
|
73
|
+
justify-self: end;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.nav-previous ds-icon {
|
|
77
|
+
order: -1;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.nav-next ds-icon {
|
|
81
|
+
padding-top: 3px;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.nav-previous ds-icon {
|
|
85
|
+
padding-top: 3px;
|
|
86
|
+
}
|
|
87
|
+
`;
|
|
88
|
+
customElements.define("ds-doublenav", DoubleNav);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { LitElement } from "lit";
|
|
2
|
+
export declare class List extends LitElement {
|
|
3
|
+
static styles: import("lit").CSSResult;
|
|
4
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
5
|
+
}
|
|
6
|
+
declare global {
|
|
7
|
+
interface HTMLElementTagNameMap {
|
|
8
|
+
"ds-list": List;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=ds-list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ds-list.d.ts","sourceRoot":"","sources":["../../DS1/3-unit/ds-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAE5C,qBAAa,IAAK,SAAQ,UAAU;IAClC,MAAM,CAAC,MAAM,0BAOX;IAEF,MAAM;CAGP;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,IAAI,CAAC;KACjB;CACF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { LitElement, html, css } from "lit";
|
|
2
|
+
export class List extends LitElement {
|
|
3
|
+
render() {
|
|
4
|
+
return html `<slot></slot>`;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
List.styles = css `
|
|
8
|
+
:host {
|
|
9
|
+
display: flex;
|
|
10
|
+
flex-direction: column;
|
|
11
|
+
gap: 0;
|
|
12
|
+
width: 100%;
|
|
13
|
+
}
|
|
14
|
+
`;
|
|
15
|
+
customElements.define("ds-list", List);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { LitElement } from "lit";
|
|
2
|
+
export declare class Panel extends LitElement {
|
|
3
|
+
static styles: import("lit").CSSResult;
|
|
4
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
5
|
+
}
|
|
6
|
+
declare global {
|
|
7
|
+
interface HTMLElementTagNameMap {
|
|
8
|
+
"ds-panel": Panel;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=ds-panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ds-panel.d.ts","sourceRoot":"","sources":["../../DS1/3-unit/ds-panel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAE5C,qBAAa,KAAM,SAAQ,UAAU;IACnC,MAAM,CAAC,MAAM,0BAQX;IAEF,MAAM;CAGP;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,KAAK,CAAC;KACnB;CACF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { LitElement, html, css } from "lit";
|
|
2
|
+
export class Panel extends LitElement {
|
|
3
|
+
render() {
|
|
4
|
+
return html `<slot></slot>`;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
Panel.styles = css `
|
|
8
|
+
:host {
|
|
9
|
+
display: flex;
|
|
10
|
+
flex-direction: row;
|
|
11
|
+
height: var(--08);
|
|
12
|
+
align-items: end;
|
|
13
|
+
gap: var(--025);
|
|
14
|
+
}
|
|
15
|
+
`;
|
|
16
|
+
customElements.define("ds-panel", Panel);
|
|
@@ -0,0 +1,25 @@
|
|
|
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 Row extends LitElement {
|
|
9
|
+
static properties: {
|
|
10
|
+
type: {
|
|
11
|
+
type: StringConstructor;
|
|
12
|
+
reflect: boolean;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
type: "fill" | "centered";
|
|
16
|
+
constructor();
|
|
17
|
+
static styles: import("lit").CSSResult;
|
|
18
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
19
|
+
}
|
|
20
|
+
declare global {
|
|
21
|
+
interface HTMLElementTagNameMap {
|
|
22
|
+
"ds-row": Row;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=ds-row.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ds-row.d.ts","sourceRoot":"","sources":["../../DS1/3-unit/ds-row.ts"],"names":[],"mappings":"AAAA,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,GAAI,SAAQ,UAAU;IACjC,MAAM,CAAC,UAAU;;;;;MAEf;IAEM,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;;IAOlC,MAAM,CAAC,MAAM,0BAiBX;IAEF,MAAM;CAGP;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,QAAQ,EAAE,GAAG,CAAC;KACf;CACF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { LitElement, html, css } from "lit";
|
|
2
|
+
export class Row extends LitElement {
|
|
3
|
+
constructor() {
|
|
4
|
+
super();
|
|
5
|
+
this.type = "fill";
|
|
6
|
+
}
|
|
7
|
+
render() {
|
|
8
|
+
return html `<slot></slot>`;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
Row.properties = {
|
|
12
|
+
type: { type: String, reflect: true },
|
|
13
|
+
};
|
|
14
|
+
Row.styles = css `
|
|
15
|
+
:host {
|
|
16
|
+
display: flex;
|
|
17
|
+
align-items: end;
|
|
18
|
+
width: calc(240px * var(--scaling-factor));
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
:host([type="fill"]) {
|
|
22
|
+
justify-content: space-between;
|
|
23
|
+
height: calc(var(--1) * var(--scaling-factor));
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
:host([type="centered"]) {
|
|
27
|
+
justify-content: center;
|
|
28
|
+
height: calc(var(--1) * var(--scaling-factor));
|
|
29
|
+
gap: calc(var(--025) * var(--scaling-factor));
|
|
30
|
+
}
|
|
31
|
+
`;
|
|
32
|
+
customElements.define("ds-row", Row);
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { LitElement } from "lit";
|
|
2
|
+
/**
|
|
3
|
+
* A component for single navigation links
|
|
4
|
+
*
|
|
5
|
+
* @element ds-singlenav
|
|
6
|
+
* @prop {string} type - Type of navigation: "projects" or "work"
|
|
7
|
+
* @prop {string} to - Optional custom destination URL
|
|
8
|
+
*/
|
|
9
|
+
export declare class SingleNav extends LitElement {
|
|
10
|
+
static get properties(): {
|
|
11
|
+
type: {
|
|
12
|
+
type: StringConstructor;
|
|
13
|
+
reflect: boolean;
|
|
14
|
+
};
|
|
15
|
+
to: {
|
|
16
|
+
type: StringConstructor;
|
|
17
|
+
reflect: boolean;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
type: "projects" | "work";
|
|
21
|
+
to?: string;
|
|
22
|
+
constructor();
|
|
23
|
+
static styles: import("lit").CSSResult;
|
|
24
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
25
|
+
private getNavConfig;
|
|
26
|
+
}
|
|
27
|
+
declare global {
|
|
28
|
+
interface HTMLElementTagNameMap {
|
|
29
|
+
"ds-singlenav": SingleNav;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=ds-singlenav.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ds-singlenav.d.ts","sourceRoot":"","sources":["../../DS1/3-unit/ds-singlenav.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAE5C;;;;;;GAMG;AACH,qBAAa,SAAU,SAAQ,UAAU;IACvC,MAAM,KAAK,UAAU;;;;;;;;;MAKpB;IAEO,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;;IAOpB,MAAM,CAAC,MAAM,0BAgBX;IAEF,MAAM;IAYN,OAAO,CAAC,YAAY;CAcrB;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,SAAS,CAAC;KAC3B;CACF"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { LitElement, html, css } from "lit";
|
|
2
|
+
/**
|
|
3
|
+
* A component for single navigation links
|
|
4
|
+
*
|
|
5
|
+
* @element ds-singlenav
|
|
6
|
+
* @prop {string} type - Type of navigation: "projects" or "work"
|
|
7
|
+
* @prop {string} to - Optional custom destination URL
|
|
8
|
+
*/
|
|
9
|
+
export class SingleNav extends LitElement {
|
|
10
|
+
static get properties() {
|
|
11
|
+
return {
|
|
12
|
+
type: { type: String, reflect: true },
|
|
13
|
+
to: { type: String, reflect: true },
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
constructor() {
|
|
17
|
+
super();
|
|
18
|
+
this.type = "work";
|
|
19
|
+
}
|
|
20
|
+
render() {
|
|
21
|
+
const navConfig = this.getNavConfig();
|
|
22
|
+
const href = this.to || navConfig.href;
|
|
23
|
+
return html `
|
|
24
|
+
<a href="${href}">
|
|
25
|
+
<ds-text key="${navConfig.key}"></ds-text>
|
|
26
|
+
<ds-icon type="right"></ds-icon>
|
|
27
|
+
</a>
|
|
28
|
+
`;
|
|
29
|
+
}
|
|
30
|
+
getNavConfig() {
|
|
31
|
+
switch (this.type) {
|
|
32
|
+
case "projects":
|
|
33
|
+
return {
|
|
34
|
+
href: "/projects",
|
|
35
|
+
key: "projects",
|
|
36
|
+
};
|
|
37
|
+
case "work":
|
|
38
|
+
return {
|
|
39
|
+
href: "/",
|
|
40
|
+
key: "workExperience",
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
SingleNav.styles = css `
|
|
46
|
+
:host {
|
|
47
|
+
display: flex;
|
|
48
|
+
justify-content: end;
|
|
49
|
+
gap: calc(5px * var(--scaling-factor));
|
|
50
|
+
padding: calc(2px * var(--scaling-factor));
|
|
51
|
+
align-items: center;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
a {
|
|
55
|
+
display: inline-flex;
|
|
56
|
+
align-items: center;
|
|
57
|
+
gap: calc(5px * var(--scaling-factor));
|
|
58
|
+
text-decoration: none;
|
|
59
|
+
color: inherit;
|
|
60
|
+
}
|
|
61
|
+
`;
|
|
62
|
+
customElements.define("ds-singlenav", SingleNav);
|