ds-one 0.2.0-alpha.1 → 0.2.0-alpha.2
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/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 +63 -63
- package/dist/ds-one.bundle.js.map +2 -2
- package/dist/ds-one.bundle.min.js +27 -27
- package/dist/ds-one.bundle.min.js.map +2 -2
- package/dist/index.d.ts +20 -20
- package/dist/index.js +20 -20
- package/package.json +2 -2
package/DS1/1-root/one.css
CHANGED
|
@@ -5,7 +5,7 @@ import { getViewMode } from "../utils/viewMode";
|
|
|
5
5
|
/**
|
|
6
6
|
* A component for displaying article content with image/text toggle
|
|
7
7
|
*
|
|
8
|
-
* @element article
|
|
8
|
+
* @element ds-article
|
|
9
9
|
*/
|
|
10
10
|
export class Article extends LitElement {
|
|
11
11
|
static get properties() {
|
|
@@ -349,7 +349,7 @@ export class Article extends LitElement {
|
|
|
349
349
|
this._text = text || this.defaultValue || selectedKey;
|
|
350
350
|
} catch (error) {
|
|
351
351
|
console.error(
|
|
352
|
-
`[article
|
|
352
|
+
`[ds-article] Error loading text for key "${selectedKey}":`,
|
|
353
353
|
error
|
|
354
354
|
);
|
|
355
355
|
this._text = this.defaultValue || selectedKey;
|
|
@@ -444,10 +444,11 @@ export class Article extends LitElement {
|
|
|
444
444
|
}
|
|
445
445
|
}
|
|
446
446
|
|
|
447
|
-
customElements.define("article
|
|
447
|
+
customElements.define("ds-article", Article);
|
|
448
448
|
|
|
449
449
|
declare global {
|
|
450
450
|
interface HTMLElementTagNameMap {
|
|
451
|
-
"article
|
|
451
|
+
"ds-article": Article;
|
|
452
452
|
}
|
|
453
453
|
}
|
|
454
|
+
|
|
@@ -4,7 +4,7 @@ import { getText } from "../utils/language";
|
|
|
4
4
|
/**
|
|
5
5
|
* A component for displaying project/work attributes (year, category, status)
|
|
6
6
|
*
|
|
7
|
-
* @element attributes
|
|
7
|
+
* @element ds-attributes
|
|
8
8
|
* @prop {string} year - Year key for translation
|
|
9
9
|
* @prop {string} category - Category key for translation
|
|
10
10
|
* @prop {string} status - Status key for translation
|
|
@@ -145,10 +145,11 @@ export class Attributes extends LitElement {
|
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
147
|
|
|
148
|
-
customElements.define("attributes
|
|
148
|
+
customElements.define("ds-attributes", Attributes);
|
|
149
149
|
|
|
150
150
|
declare global {
|
|
151
151
|
interface HTMLElementTagNameMap {
|
|
152
|
-
"attributes
|
|
152
|
+
"ds-attributes": Attributes;
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
|
+
|
|
@@ -11,7 +11,7 @@ import { currentTheme, setTheme } from "../utils/theme";
|
|
|
11
11
|
import type { ThemeType } from "../utils/theme";
|
|
12
12
|
import { saveSettings } from "../utils/settings";
|
|
13
13
|
import "./ds-button";
|
|
14
|
-
import "./icon
|
|
14
|
+
import "./ds-icon";
|
|
15
15
|
|
|
16
16
|
// Accent color utilities
|
|
17
17
|
const saveAccentColor = (color: string) => {
|
|
@@ -523,9 +523,9 @@ export class Cycle extends LitElement {
|
|
|
523
523
|
} else if (this.type === "icon-only") {
|
|
524
524
|
// Return SVG icon for icon-only type (note/page icons)
|
|
525
525
|
if (value === "note") {
|
|
526
|
-
return html`<icon
|
|
526
|
+
return html`<ds-icon type="note"></ds-icon>`;
|
|
527
527
|
} else if (value === "page") {
|
|
528
|
-
return html`<icon
|
|
528
|
+
return html`<ds-icon type="page"></ds-icon>`;
|
|
529
529
|
}
|
|
530
530
|
return html`<span>${value}</span>`;
|
|
531
531
|
}
|
|
@@ -560,15 +560,15 @@ export class Cycle extends LitElement {
|
|
|
560
560
|
|
|
561
561
|
getNotesStyleIcon(style: string) {
|
|
562
562
|
if (style === "page") {
|
|
563
|
-
return html`<icon
|
|
563
|
+
return html`<ds-icon type="page"></ds-icon>`;
|
|
564
564
|
} else if (style === "note") {
|
|
565
|
-
return html`<icon
|
|
565
|
+
return html`<ds-icon type="note"></ds-icon>`;
|
|
566
566
|
} else if (style === "default") {
|
|
567
|
-
return html`<icon
|
|
567
|
+
return html`<ds-icon type="default"></ds-icon>`;
|
|
568
568
|
} else if (style === "big") {
|
|
569
|
-
return html`<icon
|
|
569
|
+
return html`<ds-icon type="big"></ds-icon>`;
|
|
570
570
|
} else if (style === "gallery") {
|
|
571
|
-
return html`<icon
|
|
571
|
+
return html`<ds-icon type="gallery"></ds-icon>`;
|
|
572
572
|
}
|
|
573
573
|
return html`<span>${style}</span>`;
|
|
574
574
|
}
|
|
@@ -729,10 +729,11 @@ export class Cycle extends LitElement {
|
|
|
729
729
|
}
|
|
730
730
|
}
|
|
731
731
|
|
|
732
|
-
customElements.define("cycle
|
|
732
|
+
customElements.define("ds-cycle", Cycle);
|
|
733
733
|
|
|
734
734
|
declare global {
|
|
735
735
|
interface HTMLElementTagNameMap {
|
|
736
|
-
"cycle
|
|
736
|
+
"ds-cycle": Cycle;
|
|
737
737
|
}
|
|
738
738
|
}
|
|
739
|
+
|
|
@@ -4,7 +4,7 @@ import { currentLanguage, translate } from "../utils/language";
|
|
|
4
4
|
/**
|
|
5
5
|
* Download CV button that resolves language-specific URLs
|
|
6
6
|
*
|
|
7
|
-
* @element downloadcv
|
|
7
|
+
* @element ds-downloadcv
|
|
8
8
|
* @prop {string} urlEn - URL for English CV
|
|
9
9
|
* @prop {string} urlDa - URL for Danish CV
|
|
10
10
|
* @prop {string} urlJa - URL for Japanese CV
|
|
@@ -75,17 +75,17 @@ export class DownloadCV extends LitElement {
|
|
|
75
75
|
|
|
76
76
|
private async _download() {
|
|
77
77
|
if (!this._activeUrl) {
|
|
78
|
-
console.warn("[downloadcv
|
|
78
|
+
console.warn("[ds-downloadcv] No URL available");
|
|
79
79
|
return;
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
console.log("[downloadcv
|
|
82
|
+
console.log("[ds-downloadcv] Attempting download from:", this._activeUrl);
|
|
83
83
|
|
|
84
84
|
try {
|
|
85
85
|
// Prefer blob download (reliable filename, works cross-origin with CORS)
|
|
86
86
|
const res = await fetch(this._activeUrl, { mode: "cors" });
|
|
87
87
|
console.log(
|
|
88
|
-
"[downloadcv
|
|
88
|
+
"[ds-downloadcv] Fetch response:",
|
|
89
89
|
res.status,
|
|
90
90
|
res.statusText
|
|
91
91
|
);
|
|
@@ -105,9 +105,9 @@ export class DownloadCV extends LitElement {
|
|
|
105
105
|
a.click();
|
|
106
106
|
a.remove();
|
|
107
107
|
URL.revokeObjectURL(url);
|
|
108
|
-
console.log("[downloadcv
|
|
108
|
+
console.log("[ds-downloadcv] Download triggered successfully");
|
|
109
109
|
} catch (err) {
|
|
110
|
-
console.error("[downloadcv
|
|
110
|
+
console.error("[ds-downloadcv] Fetch failed, using fallback:", err);
|
|
111
111
|
// Fallback: open the file directly
|
|
112
112
|
window.open(this._activeUrl, "_blank", "noopener,noreferrer");
|
|
113
113
|
}
|
|
@@ -136,10 +136,11 @@ export class DownloadCV extends LitElement {
|
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
138
|
|
|
139
|
-
customElements.define("downloadcv
|
|
139
|
+
customElements.define("ds-downloadcv", DownloadCV);
|
|
140
140
|
|
|
141
141
|
declare global {
|
|
142
142
|
interface HTMLElementTagNameMap {
|
|
143
|
-
"downloadcv
|
|
143
|
+
"ds-downloadcv": DownloadCV;
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
|
+
|
|
@@ -3,7 +3,7 @@ import { LitElement, html, css } from "lit";
|
|
|
3
3
|
/**
|
|
4
4
|
* A component for displaying page headers
|
|
5
5
|
*
|
|
6
|
-
* @element header
|
|
6
|
+
* @element ds-header
|
|
7
7
|
* @prop {string} gridarea - Grid area placement
|
|
8
8
|
*/
|
|
9
9
|
export class Header extends LitElement {
|
|
@@ -72,10 +72,11 @@ export class Header extends LitElement {
|
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
customElements.define("header
|
|
75
|
+
customElements.define("ds-header", Header);
|
|
76
76
|
|
|
77
77
|
declare global {
|
|
78
78
|
interface HTMLElementTagNameMap {
|
|
79
|
-
"header
|
|
79
|
+
"ds-header": Header;
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
|
+
|
|
@@ -158,10 +158,11 @@ export class Home extends LitElement {
|
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
160
|
|
|
161
|
-
customElements.define("home
|
|
161
|
+
customElements.define("ds-home", Home);
|
|
162
162
|
|
|
163
163
|
declare global {
|
|
164
164
|
interface HTMLElementTagNameMap {
|
|
165
|
-
"home
|
|
165
|
+
"ds-home": Home;
|
|
166
166
|
}
|
|
167
167
|
}
|
|
168
|
+
|
|
@@ -311,13 +311,13 @@ export class Icon extends LitElement {
|
|
|
311
311
|
}
|
|
312
312
|
}
|
|
313
313
|
|
|
314
|
-
customElements.define("icon
|
|
314
|
+
customElements.define("ds-icon", Icon);
|
|
315
315
|
|
|
316
316
|
// Add this line to help with debugging
|
|
317
317
|
console.log("Icon component registered with custom elements registry");
|
|
318
318
|
|
|
319
319
|
declare global {
|
|
320
320
|
interface HTMLElementTagNameMap {
|
|
321
|
-
"icon
|
|
321
|
+
"ds-icon": Icon;
|
|
322
322
|
}
|
|
323
323
|
}
|
|
@@ -4,7 +4,7 @@ import { getText } from "../utils/language";
|
|
|
4
4
|
/**
|
|
5
5
|
* A component for creating localized links that open in new tabs
|
|
6
6
|
*
|
|
7
|
-
* @element link
|
|
7
|
+
* @element ds-link
|
|
8
8
|
* @prop {string} href - The URL to link to
|
|
9
9
|
*/
|
|
10
10
|
export class Link extends LitElement {
|
|
@@ -44,7 +44,7 @@ export class Link extends LitElement {
|
|
|
44
44
|
text-decoration: none;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
icon
|
|
47
|
+
ds-icon {
|
|
48
48
|
display: inline-block;
|
|
49
49
|
vertical-align: middle;
|
|
50
50
|
}
|
|
@@ -106,16 +106,16 @@ export class Link extends LitElement {
|
|
|
106
106
|
return html`
|
|
107
107
|
<a href="${this.href}" target="_blank" rel="noopener noreferrer">
|
|
108
108
|
${this._text}
|
|
109
|
-
<icon
|
|
109
|
+
<ds-icon type="open"></ds-icon>
|
|
110
110
|
</a>
|
|
111
111
|
`;
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
-
customElements.define("link
|
|
115
|
+
customElements.define("ds-link", Link);
|
|
116
116
|
|
|
117
117
|
declare global {
|
|
118
118
|
interface HTMLElementTagNameMap {
|
|
119
|
-
"link
|
|
119
|
+
"ds-link": Link;
|
|
120
120
|
}
|
|
121
121
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { LitElement, html, css } from "lit";
|
|
2
2
|
|
|
3
3
|
customElements.define(
|
|
4
|
-
"markdown
|
|
4
|
+
"ds-markdown",
|
|
5
5
|
class Markdown extends LitElement {
|
|
6
6
|
static properties = {
|
|
7
7
|
content: { type: String },
|
|
@@ -246,6 +246,7 @@ customElements.define(
|
|
|
246
246
|
|
|
247
247
|
declare global {
|
|
248
248
|
interface HTMLElementTagNameMap {
|
|
249
|
-
"markdown
|
|
249
|
+
"ds-markdown": any;
|
|
250
250
|
}
|
|
251
251
|
}
|
|
252
|
+
|
|
@@ -6,7 +6,7 @@ import { getPriceLabel } from "../utils/pricing";
|
|
|
6
6
|
/**
|
|
7
7
|
* A component for displaying the monthly price label based on language/region
|
|
8
8
|
*
|
|
9
|
-
* @element price
|
|
9
|
+
* @element ds-price
|
|
10
10
|
* @prop {string} country - Preferred country (overrides language mapping)
|
|
11
11
|
* @prop {string} region - Alias for country; if provided, takes precedence over country
|
|
12
12
|
*/
|
|
@@ -98,10 +98,11 @@ export class Price extends LitElement {
|
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
customElements.define("price
|
|
101
|
+
customElements.define("ds-price", Price);
|
|
102
102
|
|
|
103
103
|
declare global {
|
|
104
104
|
interface HTMLElementTagNameMap {
|
|
105
|
-
"price
|
|
105
|
+
"ds-price": Price;
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
|
+
|
|
@@ -4,7 +4,7 @@ import { setTheme, currentTheme } from "../utils/theme";
|
|
|
4
4
|
/**
|
|
5
5
|
* A component for theme toggle or project links (square or circle shape)
|
|
6
6
|
*
|
|
7
|
-
* @element squarecircle
|
|
7
|
+
* @element ds-squarecircle
|
|
8
8
|
* @prop {string} type - "theme-toggle" or "link"
|
|
9
9
|
* @prop {string} shape - "square" or "circle"
|
|
10
10
|
* @prop {string} href - URL for link type
|
|
@@ -145,10 +145,11 @@ export class SquareCircle extends LitElement {
|
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
147
|
|
|
148
|
-
customElements.define("squarecircle
|
|
148
|
+
customElements.define("ds-squarecircle", SquareCircle);
|
|
149
149
|
|
|
150
150
|
declare global {
|
|
151
151
|
interface HTMLElementTagNameMap {
|
|
152
|
-
"squarecircle
|
|
152
|
+
"ds-squarecircle": SquareCircle;
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
|
+
|
|
@@ -4,7 +4,7 @@ import { getText } from "../utils/language";
|
|
|
4
4
|
/**
|
|
5
5
|
* A component for displaying page titles with localization support
|
|
6
6
|
*
|
|
7
|
-
* @element title
|
|
7
|
+
* @element ds-title
|
|
8
8
|
* @prop {string} key - The translation key to use
|
|
9
9
|
* @prop {string} defaultValue - Default value if translation is not found
|
|
10
10
|
*/
|
|
@@ -109,7 +109,7 @@ export class Title extends LitElement {
|
|
|
109
109
|
this._text = text || this.defaultValue || this.key;
|
|
110
110
|
} catch (error) {
|
|
111
111
|
console.error(
|
|
112
|
-
`[title
|
|
112
|
+
`[ds-title] Error loading text for key "${this.key}":`,
|
|
113
113
|
error
|
|
114
114
|
);
|
|
115
115
|
this._text = this.defaultValue || this.key;
|
|
@@ -129,10 +129,11 @@ export class Title extends LitElement {
|
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
131
|
|
|
132
|
-
customElements.define("title
|
|
132
|
+
customElements.define("ds-title", Title);
|
|
133
133
|
|
|
134
134
|
declare global {
|
|
135
135
|
interface HTMLElementTagNameMap {
|
|
136
|
-
"title
|
|
136
|
+
"ds-title": Title;
|
|
137
137
|
}
|
|
138
138
|
}
|
|
139
|
+
|
|
@@ -167,7 +167,7 @@ export class Tooltip extends LitElement {
|
|
|
167
167
|
const t = translate(this.key);
|
|
168
168
|
this._text = t && t !== this.key ? t : this.defaultValue || this.key;
|
|
169
169
|
} catch (err) {
|
|
170
|
-
console.error("tooltip
|
|
170
|
+
console.error("ds-tooltip: error loading text for key", this.key, err);
|
|
171
171
|
this._text = this.defaultValue || this.key;
|
|
172
172
|
}
|
|
173
173
|
this.requestUpdate();
|
|
@@ -185,10 +185,11 @@ export class Tooltip extends LitElement {
|
|
|
185
185
|
}
|
|
186
186
|
}
|
|
187
187
|
|
|
188
|
-
customElements.define("tooltip
|
|
188
|
+
customElements.define("ds-tooltip", Tooltip);
|
|
189
189
|
|
|
190
190
|
declare global {
|
|
191
191
|
interface HTMLElementTagNameMap {
|
|
192
|
-
"tooltip
|
|
192
|
+
"ds-tooltip": Tooltip;
|
|
193
193
|
}
|
|
194
194
|
}
|
|
195
|
+
|
|
@@ -5,7 +5,7 @@ import { getViewMode, setViewMode } from "../utils/viewMode";
|
|
|
5
5
|
/**
|
|
6
6
|
* A component for toggling between text and image view modes
|
|
7
7
|
*
|
|
8
|
-
* @element viewtoggle
|
|
8
|
+
* @element ds-viewtoggle
|
|
9
9
|
*/
|
|
10
10
|
export class ViewToggle extends LitElement {
|
|
11
11
|
static properties = {
|
|
@@ -73,10 +73,11 @@ export class ViewToggle extends LitElement {
|
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
customElements.define("viewtoggle
|
|
76
|
+
customElements.define("ds-viewtoggle", ViewToggle);
|
|
77
77
|
|
|
78
78
|
declare global {
|
|
79
79
|
interface HTMLElementTagNameMap {
|
|
80
|
-
"viewtoggle
|
|
80
|
+
"ds-viewtoggle": ViewToggle;
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
|
+
|
|
@@ -3,7 +3,7 @@ import { LitElement, html, css } from "lit";
|
|
|
3
3
|
/**
|
|
4
4
|
* A component for displaying the current year
|
|
5
5
|
*
|
|
6
|
-
* @element year
|
|
6
|
+
* @element ds-year
|
|
7
7
|
*/
|
|
8
8
|
export class Year extends LitElement {
|
|
9
9
|
static styles = css`
|
|
@@ -21,10 +21,11 @@ export class Year extends LitElement {
|
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
customElements.define("year
|
|
24
|
+
customElements.define("ds-year", Year);
|
|
25
25
|
|
|
26
26
|
declare global {
|
|
27
27
|
interface HTMLElementTagNameMap {
|
|
28
|
-
"year
|
|
28
|
+
"ds-year": Year;
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
+
|
|
@@ -3,7 +3,7 @@ import { LitElement, html, css } from "lit";
|
|
|
3
3
|
/**
|
|
4
4
|
* A component for double navigation (previous/next)
|
|
5
5
|
*
|
|
6
|
-
* @element doublenav
|
|
6
|
+
* @element ds-doublenav
|
|
7
7
|
* @prop {string} previous - URL for previous link
|
|
8
8
|
* @prop {string} next - URL for next link
|
|
9
9
|
* @prop {string} previousText - Text for previous link
|
|
@@ -61,15 +61,15 @@ export class DoubleNav extends LitElement {
|
|
|
61
61
|
justify-self: end;
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
.nav-previous icon
|
|
64
|
+
.nav-previous ds-icon {
|
|
65
65
|
order: -1;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
.nav-next icon
|
|
68
|
+
.nav-next ds-icon {
|
|
69
69
|
padding-top: 3px;
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
-
.nav-previous icon
|
|
72
|
+
.nav-previous ds-icon {
|
|
73
73
|
padding-top: 3px;
|
|
74
74
|
}
|
|
75
75
|
`;
|
|
@@ -79,7 +79,7 @@ export class DoubleNav extends LitElement {
|
|
|
79
79
|
${this.previous
|
|
80
80
|
? html`
|
|
81
81
|
<a href="${this.previous}" class="nav-previous">
|
|
82
|
-
<icon
|
|
82
|
+
<ds-icon type="left"></ds-icon>
|
|
83
83
|
<ds-text>${this.previousText || "Previous"}</ds-text>
|
|
84
84
|
</a>
|
|
85
85
|
`
|
|
@@ -88,7 +88,7 @@ export class DoubleNav extends LitElement {
|
|
|
88
88
|
? html`
|
|
89
89
|
<a href="${this.next}" class="nav-next">
|
|
90
90
|
<ds-text>${this.nextText || "Next"}</ds-text>
|
|
91
|
-
<icon
|
|
91
|
+
<ds-icon type="right"></ds-icon>
|
|
92
92
|
</a>
|
|
93
93
|
`
|
|
94
94
|
: html`<div></div>`}
|
|
@@ -96,10 +96,11 @@ export class DoubleNav extends LitElement {
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
-
customElements.define("doublenav
|
|
99
|
+
customElements.define("ds-doublenav", DoubleNav);
|
|
100
100
|
|
|
101
101
|
declare global {
|
|
102
102
|
interface HTMLElementTagNameMap {
|
|
103
|
-
"doublenav
|
|
103
|
+
"ds-doublenav": DoubleNav;
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
|
+
|
|
@@ -15,10 +15,11 @@ export class List extends LitElement {
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
customElements.define("list
|
|
18
|
+
customElements.define("ds-list", List);
|
|
19
19
|
|
|
20
20
|
declare global {
|
|
21
21
|
interface HTMLElementTagNameMap {
|
|
22
|
-
"list
|
|
22
|
+
"ds-list": List;
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
+
|
|
@@ -17,10 +17,11 @@ export class Panel extends LitElement {
|
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
customElements.define("panel
|
|
20
|
+
customElements.define("ds-panel", Panel);
|
|
21
21
|
|
|
22
22
|
declare global {
|
|
23
23
|
interface HTMLElementTagNameMap {
|
|
24
|
-
"panel
|
|
24
|
+
"ds-panel": Panel;
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
+
|
|
@@ -3,7 +3,7 @@ import { LitElement, html, css } from "lit";
|
|
|
3
3
|
/**
|
|
4
4
|
* A component for single navigation links
|
|
5
5
|
*
|
|
6
|
-
* @element singlenav
|
|
6
|
+
* @element ds-singlenav
|
|
7
7
|
* @prop {string} type - Type of navigation: "projects" or "work"
|
|
8
8
|
* @prop {string} to - Optional custom destination URL
|
|
9
9
|
*/
|
|
@@ -48,7 +48,7 @@ export class SingleNav extends LitElement {
|
|
|
48
48
|
return html`
|
|
49
49
|
<a href="${href}">
|
|
50
50
|
<ds-text key="${navConfig.key}"></ds-text>
|
|
51
|
-
<icon
|
|
51
|
+
<ds-icon type="right"></ds-icon>
|
|
52
52
|
</a>
|
|
53
53
|
`;
|
|
54
54
|
}
|
|
@@ -69,10 +69,11 @@ export class SingleNav extends LitElement {
|
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
-
customElements.define("singlenav
|
|
72
|
+
customElements.define("ds-singlenav", SingleNav);
|
|
73
73
|
|
|
74
74
|
declare global {
|
|
75
75
|
interface HTMLElementTagNameMap {
|
|
76
|
-
"singlenav
|
|
76
|
+
"ds-singlenav": SingleNav;
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
|
+
|
package/DS1/index.ts
CHANGED
|
@@ -10,28 +10,28 @@ import "./utils/cdn-loader";
|
|
|
10
10
|
// Core components
|
|
11
11
|
export * from "./2-core/ds-button";
|
|
12
12
|
export * from "./2-core/ds-text";
|
|
13
|
-
export * from "./2-core/icon
|
|
14
|
-
export * from "./2-core/link
|
|
15
|
-
export * from "./2-core/cycle
|
|
16
|
-
export * from "./2-core/tooltip
|
|
17
|
-
export * from "./2-core/price
|
|
18
|
-
export * from "./2-core/markdown
|
|
19
|
-
export * from "./2-core/home
|
|
20
|
-
export * from "./2-core/year
|
|
21
|
-
export * from "./2-core/title
|
|
22
|
-
export * from "./2-core/header
|
|
23
|
-
export * from "./2-core/attributes
|
|
24
|
-
export * from "./2-core/downloadcv
|
|
25
|
-
export * from "./2-core/article
|
|
26
|
-
export * from "./2-core/viewtoggle
|
|
27
|
-
export * from "./2-core/squarecircle
|
|
13
|
+
export * from "./2-core/ds-icon";
|
|
14
|
+
export * from "./2-core/ds-link";
|
|
15
|
+
export * from "./2-core/ds-cycle";
|
|
16
|
+
export * from "./2-core/ds-tooltip";
|
|
17
|
+
export * from "./2-core/ds-price";
|
|
18
|
+
export * from "./2-core/ds-markdown";
|
|
19
|
+
export * from "./2-core/ds-home";
|
|
20
|
+
export * from "./2-core/ds-year";
|
|
21
|
+
export * from "./2-core/ds-title";
|
|
22
|
+
export * from "./2-core/ds-header";
|
|
23
|
+
export * from "./2-core/ds-attributes";
|
|
24
|
+
export * from "./2-core/ds-downloadcv";
|
|
25
|
+
export * from "./2-core/ds-article";
|
|
26
|
+
export * from "./2-core/ds-viewtoggle";
|
|
27
|
+
export * from "./2-core/ds-squarecircle";
|
|
28
28
|
|
|
29
29
|
// Unit components
|
|
30
|
-
export * from "./3-unit/list
|
|
31
|
-
export * from "./3-unit/panel
|
|
32
|
-
export * from "./3-unit/row
|
|
33
|
-
export * from "./3-unit/singlenav
|
|
34
|
-
export * from "./3-unit/doublenav
|
|
30
|
+
export * from "./3-unit/ds-list";
|
|
31
|
+
export * from "./3-unit/ds-panel";
|
|
32
|
+
export * from "./3-unit/ds-row";
|
|
33
|
+
export * from "./3-unit/ds-singlenav";
|
|
34
|
+
export * from "./3-unit/ds-doublenav";
|
|
35
35
|
export * from "./3-unit/ds-table";
|
|
36
36
|
|
|
37
37
|
// Page components
|
package/README.md
CHANGED
|
@@ -26,7 +26,7 @@ npm install ds-one@alpha
|
|
|
26
26
|
yarn add ds-one@alpha
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
-
**Note**: Currently published as alpha version `0.2.0-alpha.
|
|
29
|
+
**Note**: Currently published as alpha version `0.2.0-alpha.2`. Use `@alpha` tag to install.
|
|
30
30
|
|
|
31
31
|
### Basic Usage (CDN)
|
|
32
32
|
|
|
@@ -86,13 +86,13 @@ Try DS one in your browser: **[dsone.dev](https://dsone.dev)** (documentation sl
|
|
|
86
86
|
- **[Internationalization](./docs/i18n.md)** - Language keys and Notion CMS setup
|
|
87
87
|
- **[Examples](./docs/examples.md)** - Usage examples and patterns
|
|
88
88
|
|
|
89
|
-
## Current Status: v0.2.0-alpha.
|
|
89
|
+
## Current Status: v0.2.0-alpha.2
|
|
90
90
|
|
|
91
91
|
**⚠️ Alpha Release**: This is an early alpha version. The API may change as we refine the components and architecture.
|
|
92
92
|
|
|
93
93
|
### Completed Features
|
|
94
94
|
|
|
95
|
-
- ✅ Core component library (ds-button, ds-text, icon
|
|
95
|
+
- ✅ Core component library (ds-button, ds-text, ds-icon, etc.)
|
|
96
96
|
- ✅ Theming system with accent color support
|
|
97
97
|
- ✅ Internationalization with language keys
|
|
98
98
|
- ✅ Responsive design with mobile scaling
|
|
@@ -183,7 +183,7 @@ bun run build
|
|
|
183
183
|
|
|
184
184
|
```bash
|
|
185
185
|
# Create a new alpha release (recommended for now)
|
|
186
|
-
bun run release:pre:alpha # Bumps alpha version (e.g., 0.2.0-alpha.
|
|
186
|
+
bun run release:pre:alpha # Bumps alpha version (e.g., 0.2.0-alpha.2 → 0.2.0-alpha.2)
|
|
187
187
|
|
|
188
188
|
# Other release commands (for future use)
|
|
189
189
|
bun run release:patch # For patch releases
|