@jotyping/jap-ds 0.1.2-alpha

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 (69) hide show
  1. package/LICENCE.md +9 -0
  2. package/README.md +34 -0
  3. package/dist/assets/Satoshi-Black.woff +0 -0
  4. package/dist/assets/Satoshi-Black.woff2 +0 -0
  5. package/dist/assets/Satoshi-Bold.woff +0 -0
  6. package/dist/assets/Satoshi-Bold.woff2 +0 -0
  7. package/dist/assets/Satoshi-Italic.woff +0 -0
  8. package/dist/assets/Satoshi-Italic.woff2 +0 -0
  9. package/dist/assets/Satoshi-Regular.woff +0 -0
  10. package/dist/assets/Satoshi-Regular.woff2 +0 -0
  11. package/dist/assets/lit.svg +1 -0
  12. package/dist/components/button/jap-button.js +42 -0
  13. package/dist/components/button/jap-button.js.map +1 -0
  14. package/dist/components/button/jap-button.scss.js +5 -0
  15. package/dist/components/button/jap-button.scss.js.map +1 -0
  16. package/dist/components/flash/jap-flash.js +74 -0
  17. package/dist/components/flash/jap-flash.js.map +1 -0
  18. package/dist/components/flash/jap-flash.scss.js +5 -0
  19. package/dist/components/flash/jap-flash.scss.js.map +1 -0
  20. package/dist/components/footer/jap-footer.js +50 -0
  21. package/dist/components/footer/jap-footer.js.map +1 -0
  22. package/dist/components/footer/jap-footer.scss.js +5 -0
  23. package/dist/components/footer/jap-footer.scss.js.map +1 -0
  24. package/dist/components/header/jap-header.js +69 -0
  25. package/dist/components/header/jap-header.js.map +1 -0
  26. package/dist/components/header/jap-header.scss.js +5 -0
  27. package/dist/components/header/jap-header.scss.js.map +1 -0
  28. package/dist/components/heading/jap-heading.js +63 -0
  29. package/dist/components/heading/jap-heading.js.map +1 -0
  30. package/dist/components/heading/jap-heading.scss.js +5 -0
  31. package/dist/components/heading/jap-heading.scss.js.map +1 -0
  32. package/dist/components/icon/icon-data.js +47 -0
  33. package/dist/components/icon/icon-data.js.map +1 -0
  34. package/dist/components/icon/jap-icon.js +58 -0
  35. package/dist/components/icon/jap-icon.js.map +1 -0
  36. package/dist/components/icon/jap-icon.scss.js +5 -0
  37. package/dist/components/icon/jap-icon.scss.js.map +1 -0
  38. package/dist/components/icon-button/jap-icon-button.js +52 -0
  39. package/dist/components/icon-button/jap-icon-button.js.map +1 -0
  40. package/dist/components/icon-button/jap-icon-button.scss.js +5 -0
  41. package/dist/components/icon-button/jap-icon-button.scss.js.map +1 -0
  42. package/dist/components/image-link/jap-image-link.js +63 -0
  43. package/dist/components/image-link/jap-image-link.js.map +1 -0
  44. package/dist/components/image-link/jap-image-link.scss.js +5 -0
  45. package/dist/components/image-link/jap-image-link.scss.js.map +1 -0
  46. package/dist/components/link/jap-link.js +43 -0
  47. package/dist/components/link/jap-link.js.map +1 -0
  48. package/dist/components/link/jap-link.scss.js +5 -0
  49. package/dist/components/link/jap-link.scss.js.map +1 -0
  50. package/dist/components/modal/jap-modal.js +86 -0
  51. package/dist/components/modal/jap-modal.js.map +1 -0
  52. package/dist/components/modal/jap-modal.scss.js +5 -0
  53. package/dist/components/modal/jap-modal.scss.js.map +1 -0
  54. package/dist/components/navigation/jap-navigation.js +44 -0
  55. package/dist/components/navigation/jap-navigation.js.map +1 -0
  56. package/dist/components/navigation/jap-navigation.scss.js +5 -0
  57. package/dist/components/navigation/jap-navigation.scss.js.map +1 -0
  58. package/dist/components/tag/jap-tag.js +36 -0
  59. package/dist/components/tag/jap-tag.js.map +1 -0
  60. package/dist/components/tag/jap-tag.scss.js +5 -0
  61. package/dist/components/tag/jap-tag.scss.js.map +1 -0
  62. package/dist/index.js +29 -0
  63. package/dist/index.js.map +1 -0
  64. package/dist/stores/breakpoint-store.js +13 -0
  65. package/dist/stores/breakpoint-store.js.map +1 -0
  66. package/dist/styles/fonts-Bq9ey8UU.css +1 -0
  67. package/dist/styles/variables-D5EJvzLN.css +1 -0
  68. package/dist/vite.svg +1 -0
  69. package/package.json +51 -0
package/LICENCE.md ADDED
@@ -0,0 +1,9 @@
1
+ {
2
+ "license": "MIT",
3
+ "licenses": [
4
+ {
5
+ "type": "MIT + Commons Clause",
6
+ "url": "https://commonsclause.com/"
7
+ }
8
+ ]
9
+ }
package/README.md ADDED
@@ -0,0 +1,34 @@
1
+ # ๐Ÿš€ jap design system - web component library
2
+
3
+ My reusable, framework-anostic web components library build with **vite**, **lit** and **ts**.
4
+
5
+ ## โœจ Features
6
+
7
+ - โœ… Native Web Components (no framework required)
8
+ - ๐ŸŽจ Shadow DOM for style encapsulation
9
+ - ๐Ÿ“ฆ ES Modules
10
+ - โšก Lightweight and performant
11
+ - ๐Ÿงฉ Easy integration with any framework (React, Vue, Angular, Vanilla JS)
12
+ - ๐Ÿงช Optional testing & Storybook support
13
+
14
+ ---
15
+
16
+ ## ๐Ÿ“ฆ Installation
17
+
18
+ ### Via npm
19
+
20
+ ```bash
21
+ npm install @jotyping/jap-ds
22
+ ```
23
+
24
+ ---
25
+
26
+ ## ๐Ÿงฉ Usage
27
+
28
+ ### In Vue
29
+
30
+ Import jap-ds in main.js:
31
+
32
+ ```bash
33
+ import "@jotyping/jap-ds";
34
+ ```
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="25.6" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 320"><path fill="#00E8FF" d="m64 192l25.926-44.727l38.233-19.114l63.974 63.974l10.833 61.754L192 320l-64-64l-38.074-25.615z"></path><path fill="#283198" d="M128 256V128l64-64v128l-64 64ZM0 256l64 64l9.202-60.602L64 192l-37.542 23.71L0 256Z"></path><path fill="#324FFF" d="M64 192V64l64-64v128l-64 64Zm128 128V192l64-64v128l-64 64ZM0 256V128l64 64l-64 64Z"></path><path fill="#0FF" d="M64 320V192l64 64z"></path></svg>
@@ -0,0 +1,42 @@
1
+ import { unsafeCSS as l, LitElement as u, html as f } from "/Users/jo/Documents/dev/Web/026-jap-ds/jap/node_modules/lit/index.js";
2
+ import { property as y, customElement as a } from "/Users/jo/Documents/dev/Web/026-jap-ds/jap/node_modules/lit/decorators.js";
3
+ import "../flash/jap-flash.js";
4
+ import "../footer/jap-footer.js";
5
+ import "../header/jap-header.js";
6
+ import "../heading/jap-heading.js";
7
+ import "../icon/jap-icon.js";
8
+ import "../icon-button/jap-icon-button.js";
9
+ import "../image-link/jap-image-link.js";
10
+ import "../link/jap-link.js";
11
+ import "../modal/jap-modal.js";
12
+ import "../navigation/jap-navigation.js";
13
+ import "../tag/jap-tag.js";
14
+ import c from "./jap-button.scss.js";
15
+ var v = Object.defineProperty, _ = Object.getOwnPropertyDescriptor, n = (i, r, e, o) => {
16
+ for (var t = o > 1 ? void 0 : o ? _(r, e) : r, m = i.length - 1, s; m >= 0; m--)
17
+ (s = i[m]) && (t = (o ? s(r, e, t) : s(t)) || t);
18
+ return o && t && v(r, e, t), t;
19
+ };
20
+ let p = class extends u {
21
+ constructor() {
22
+ super(...arguments), this.type = "primary";
23
+ }
24
+ render() {
25
+ return f`
26
+ <button class=${this.type}>
27
+ <slot></slot>
28
+ </button>
29
+ `;
30
+ }
31
+ };
32
+ p.styles = l(c);
33
+ n([
34
+ y({ type: String })
35
+ ], p.prototype, "type", 2);
36
+ p = n([
37
+ a("jap-button")
38
+ ], p);
39
+ export {
40
+ p as JapButton
41
+ };
42
+ //# sourceMappingURL=jap-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jap-button.js","sources":["../../../src/components/button/jap-button.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport \"../../components\";\nimport style from \"./jap-button.scss?inline\";\n\n@customElement(\"jap-button\")\nexport class JapButton extends LitElement {\n static styles = unsafeCSS(style);\n\n /**\n * Button type, can be \"primary\" or \"secondary\".\n */\n @property({ type: String }) type: \"primary\" | \"secondary\" = \"primary\";\n\n render() {\n return html`\n <button class=${this.type}>\n <slot></slot>\n </button>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"jap-button\": JapButton;\n }\n}\n"],"names":["JapButton","LitElement","html","unsafeCSS","style","__decorateClass","property","customElement"],"mappings":";;;;;;;;;;;;;;;;;;;AAMO,IAAMA,IAAN,cAAwBC,EAAW;AAAA,EAAnC,cAAA;AAAA,UAAA,GAAA,SAAA,GAMuB,KAAA,OAAgC;AAAA,EAAA;AAAA,EAE5D,SAAS;AACP,WAAOC;AAAA,sBACW,KAAK,IAAI;AAAA;AAAA;AAAA;AAAA,EAI7B;AACF;AAfaF,EACJ,SAASG,EAAUC,CAAK;AAKHC,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GANfN,EAMiB,WAAA,QAAA,CAAA;AANjBA,IAANK,EAAA;AAAA,EADNE,EAAc,YAAY;AAAA,GACdP,CAAA;"}
@@ -0,0 +1,5 @@
1
+ const o = '@font-face{font-family:Satoshi-Regular;src:url(/assets/Satoshi-Regular.woff2) format("woff2"),url(/assets/Satoshi-Regular.woff) format("woff");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:Satoshi-Italic;src:url(/assets/Satoshi-Italic.woff2) format("woff2"),url(/assets/Satoshi-Italic.woff) format("woff");font-weight:400;font-display:swap;font-style:italic}@font-face{font-family:Satoshi-Bold;src:url(/assets/Satoshi-Bold.woff2) format("woff2"),url(/assets/Satoshi-Bold.woff) format("woff");font-weight:700;font-display:swap;font-style:normal}@font-face{font-family:Satoshi-Black;src:url(/assets/Satoshi-Black.woff2) format("woff2"),url(/assets/Satoshi-Black.woff) format("woff");font-weight:900;font-display:swap;font-style:normal}:host{display:inline-block}:host([active]) button.primary{color:#3a3a3a;background-color:#fff}:host([active]) button.secondary{color:#3a3a3a;background-color:#fff;outline:3px solid #3a3a3a;outline-offset:-3px}:host([active]) button.secondary:hover{outline:4px solid #3a3a3a;outline-offset:-4px}button{font-family:Satoshi-Bold,sans-serif;font-size:24px;line-height:42px;padding:0 20px;border-radius:28px;cursor:pointer;transition:background-color .3s;height:56px;border:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}button.primary{color:#3a3a3a;background-color:#fff;outline:3px solid #3a3a3a;outline-offset:-3px}button.primary:hover{outline:4px solid #3a3a3a;outline-offset:-4px}button.secondary{color:#3a3a3a;background-color:#fff;outline:1px solid #f3f3f3;outline-offset:-1px}button.secondary:hover{outline:3px solid #f3f3f3;outline-offset:-3px}';
2
+ export {
3
+ o as default
4
+ };
5
+ //# sourceMappingURL=jap-button.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jap-button.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,74 @@
1
+ import { LitElement as h, html as u, unsafeCSS as f } from "/Users/jo/Documents/dev/Web/026-jap-ds/jap/node_modules/lit/index.js";
2
+ import { property as a, customElement as v } from "/Users/jo/Documents/dev/Web/026-jap-ds/jap/node_modules/lit/decorators.js";
3
+ import y from "./jap-flash.scss.js";
4
+ import { classMap as l } from "/Users/jo/Documents/dev/Web/026-jap-ds/jap/node_modules/lit/directives/class-map.js";
5
+ import "../button/jap-button.js";
6
+ import "../footer/jap-footer.js";
7
+ import "../header/jap-header.js";
8
+ import "../heading/jap-heading.js";
9
+ import "../icon/jap-icon.js";
10
+ import "../icon-button/jap-icon-button.js";
11
+ import "../image-link/jap-image-link.js";
12
+ import "../link/jap-link.js";
13
+ import "../modal/jap-modal.js";
14
+ import "../navigation/jap-navigation.js";
15
+ import "../tag/jap-tag.js";
16
+ import { SignalWatcher as d } from "/Users/jo/Documents/dev/Web/026-jap-ds/jap/node_modules/@lit-labs/signals/index.js";
17
+ import { breakpoint as c } from "../../stores/breakpoint-store.js";
18
+ var g = Object.defineProperty, z = Object.getOwnPropertyDescriptor, e = (s, r, i, p) => {
19
+ for (var t = p > 1 ? void 0 : p ? z(r, i) : r, n = s.length - 1, m; n >= 0; n--)
20
+ (m = s[n]) && (t = (p ? m(r, i, t) : m(t)) || t);
21
+ return p && t && g(r, i, t), t;
22
+ };
23
+ let o = class extends d(h) {
24
+ constructor() {
25
+ super(...arguments), this.size = "auto", this.color = "red", this.iconPosition = "bottom", this.iconName = "fire";
26
+ }
27
+ render() {
28
+ const s = {
29
+ "flash-wrapper": !0,
30
+ "upside-down": this.iconPosition === "top"
31
+ }, r = {
32
+ "title-wrapper": !0,
33
+ [this.size === "auto" ? c.get() : this.size]: !0,
34
+ [this.color]: !0
35
+ }, i = {
36
+ "icon-wrapper": !0,
37
+ [this.size === "auto" ? c.get() : this.size]: !0
38
+ };
39
+ return u`
40
+ <div class=${l(s)}>
41
+ <div class=${l(r)}>
42
+ <slot name="title"></slot>
43
+ </div>
44
+ <div class=${l(i)}>
45
+ <jap-icon
46
+ iconName=${this.iconName}
47
+ color=${this.color}
48
+ size=${this.size === "s" || c.get() === "s" ? "48px" : "72px"}
49
+ ></jap-icon>
50
+ </div>
51
+ </div>
52
+ `;
53
+ }
54
+ };
55
+ o.styles = f(y);
56
+ e([
57
+ a({ type: String })
58
+ ], o.prototype, "size", 2);
59
+ e([
60
+ a({ type: String })
61
+ ], o.prototype, "color", 2);
62
+ e([
63
+ a({ type: String })
64
+ ], o.prototype, "iconPosition", 2);
65
+ e([
66
+ a({ type: String })
67
+ ], o.prototype, "iconName", 2);
68
+ o = e([
69
+ v("jap-flash")
70
+ ], o);
71
+ export {
72
+ o as JapFlash
73
+ };
74
+ //# sourceMappingURL=jap-flash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jap-flash.js","sources":["../../../src/components/flash/jap-flash.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport style from \"./jap-flash.scss?inline\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport \"../../components\";\nimport { SignalWatcher } from \"@lit-labs/signals\";\nimport { breakpoint } from \"../../stores/breakpoint-store\";\n\n@customElement(\"jap-flash\")\nexport class JapFlash extends SignalWatcher(LitElement) {\n static styles = unsafeCSS(style);\n\n @property({ type: String }) size: \"s\" | \"m\" | \"l\" | \"auto\" = \"auto\";\n @property({ type: String }) color: \"red\" | \"purple\" | \"blue\" = \"red\";\n @property({ type: String }) iconPosition: \"top\" | \"bottom\" = \"bottom\";\n @property({ type: String }) iconName:\n | \"fire\"\n | \"puzzle\"\n | \"lightning\"\n | \"arrow-right\"\n | \"arrow-circle-left\"\n | \"burger-menu\"\n | \"chat\" = \"fire\";\n\n render() {\n const flashWrapperClasses = {\n \"flash-wrapper\": true,\n \"upside-down\": this.iconPosition === \"top\",\n };\n\n const titleWrapperClasses = {\n \"title-wrapper\": true,\n [this.size === \"auto\" ? breakpoint.get() : this.size]: true,\n [this.color]: true,\n };\n\n const iconWrapperClasses = {\n \"icon-wrapper\": true,\n [this.size === \"auto\" ? breakpoint.get() : this.size]: true,\n };\n\n return html`\n <div class=${classMap(flashWrapperClasses)}>\n <div class=${classMap(titleWrapperClasses)}>\n <slot name=\"title\"></slot>\n </div>\n <div class=${classMap(iconWrapperClasses)}>\n <jap-icon\n iconName=${this.iconName}\n color=${this.color}\n size=${this.size === \"s\" || breakpoint.get() === \"s\"\n ? \"48px\"\n : \"72px\"}\n ></jap-icon>\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"jap-flash\": JapFlash;\n }\n}\n"],"names":["JapFlash","SignalWatcher","LitElement","flashWrapperClasses","titleWrapperClasses","breakpoint","iconWrapperClasses","html","classMap","unsafeCSS","style","__decorateClass","property","customElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AASO,IAAMA,IAAN,cAAuBC,EAAcC,CAAU,EAAE;AAAA,EAAjD,cAAA;AAAA,UAAA,GAAA,SAAA,GAGuB,KAAA,OAAiC,QACjC,KAAA,QAAmC,OACnC,KAAA,eAAiC,UACjC,KAAA,WAOf;AAAA,EAAA;AAAA,EAEb,SAAS;AACP,UAAMC,IAAsB;AAAA,MAC1B,iBAAiB;AAAA,MACjB,eAAe,KAAK,iBAAiB;AAAA,IAAA,GAGjCC,IAAsB;AAAA,MAC1B,iBAAiB;AAAA,MACjB,CAAC,KAAK,SAAS,SAASC,EAAW,QAAQ,KAAK,IAAI,GAAG;AAAA,MACvD,CAAC,KAAK,KAAK,GAAG;AAAA,IAAA,GAGVC,IAAqB;AAAA,MACzB,gBAAgB;AAAA,MAChB,CAAC,KAAK,SAAS,SAASD,EAAW,IAAA,IAAQ,KAAK,IAAI,GAAG;AAAA,IAAA;AAGzD,WAAOE;AAAA,mBACQC,EAASL,CAAmB,CAAC;AAAA,qBAC3BK,EAASJ,CAAmB,CAAC;AAAA;AAAA;AAAA,qBAG7BI,EAASF,CAAkB,CAAC;AAAA;AAAA,uBAE1B,KAAK,QAAQ;AAAA,oBAChB,KAAK,KAAK;AAAA,mBACX,KAAK,SAAS,OAAOD,EAAW,UAAU,MAC7C,SACA,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,EAKpB;AACF;AAjDaL,EACJ,SAASS,EAAUC,CAAK;AAEHC,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GAHfZ,EAGiB,WAAA,QAAA,CAAA;AACAW,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GAJfZ,EAIiB,WAAA,SAAA,CAAA;AACAW,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GALfZ,EAKiB,WAAA,gBAAA,CAAA;AACAW,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GANfZ,EAMiB,WAAA,YAAA,CAAA;AANjBA,IAANW,EAAA;AAAA,EADNE,EAAc,WAAW;AAAA,GACbb,CAAA;"}
@@ -0,0 +1,5 @@
1
+ const t = '@font-face{font-family:Satoshi-Regular;src:url(/assets/Satoshi-Regular.woff2) format("woff2"),url(/assets/Satoshi-Regular.woff) format("woff");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:Satoshi-Italic;src:url(/assets/Satoshi-Italic.woff2) format("woff2"),url(/assets/Satoshi-Italic.woff) format("woff");font-weight:400;font-display:swap;font-style:italic}@font-face{font-family:Satoshi-Bold;src:url(/assets/Satoshi-Bold.woff2) format("woff2"),url(/assets/Satoshi-Bold.woff) format("woff");font-weight:700;font-display:swap;font-style:normal}@font-face{font-family:Satoshi-Black;src:url(/assets/Satoshi-Black.woff2) format("woff2"),url(/assets/Satoshi-Black.woff) format("woff");font-weight:900;font-display:swap;font-style:normal}:host{display:inline-block}.flash-wrapper{display:flex;flex-direction:column;gap:15px}.flash-wrapper.upside-down{flex-direction:column-reverse}.title-wrapper.m,.title-wrapper.l{font-family:Satoshi-Italic,sans-serif;font-size:46px;line-height:50px}.title-wrapper.s{font-family:Satoshi-Italic,sans-serif;font-size:34px;line-height:36px}.title-wrapper.red{color:#ff4d2a}.title-wrapper.purple{color:#bf2aff}.title-wrapper.blue{color:#2a91ff}.icon-wrapper{color:#3a3a3a}.icon-wrapper.m,.icon-wrapper.l{width:72px;height:72px}.icon-wrapper.s{width:52px;height:52px}';
2
+ export {
3
+ t as default
4
+ };
5
+ //# sourceMappingURL=jap-flash.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jap-flash.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,50 @@
1
+ import { LitElement as c, nothing as l, html as e, unsafeCSS as f } from "/Users/jo/Documents/dev/Web/026-jap-ds/jap/node_modules/lit/index.js";
2
+ import { customElement as j } from "/Users/jo/Documents/dev/Web/026-jap-ds/jap/node_modules/lit/decorators.js";
3
+ import u from "./jap-footer.scss.js";
4
+ import "../button/jap-button.js";
5
+ import "../flash/jap-flash.js";
6
+ import "../header/jap-header.js";
7
+ import "../heading/jap-heading.js";
8
+ import "../icon/jap-icon.js";
9
+ import "../icon-button/jap-icon-button.js";
10
+ import "../image-link/jap-image-link.js";
11
+ import "../link/jap-link.js";
12
+ import "../modal/jap-modal.js";
13
+ import "../navigation/jap-navigation.js";
14
+ import "../tag/jap-tag.js";
15
+ import { SignalWatcher as g } from "/Users/jo/Documents/dev/Web/026-jap-ds/jap/node_modules/@lit-labs/signals/index.js";
16
+ import { breakpoint as p } from "../../stores/breakpoint-store.js";
17
+ import { classMap as v } from "/Users/jo/Documents/dev/Web/026-jap-ds/jap/node_modules/lit/directives/class-map.js";
18
+ var k = Object.getOwnPropertyDescriptor, d = (t, a, s, m) => {
19
+ for (var r = m > 1 ? void 0 : m ? k(a, s) : a, o = t.length - 1, n; o >= 0; o--)
20
+ (n = t[o]) && (r = n(r) || r);
21
+ return r;
22
+ };
23
+ let i = class extends g(c) {
24
+ render() {
25
+ const t = {
26
+ "footer-wrapper": !0,
27
+ [p.get()]: !0
28
+ };
29
+ return e`
30
+ <div class=${v(t)}>
31
+ <jap-modal>
32
+ <jap-link slot="button">Impressum</jap-link>
33
+ <div>Impressum content</div>
34
+ </jap-modal>
35
+ ${p.get() !== "s" ? e`<jap-icon iconName="circle"></jap-icon>` : l}
36
+ <jap-link href="#" target="_blank">Github</jap-link>
37
+ ${p.get() !== "s" ? e`<jap-icon iconName="circle"></jap-icon>` : l}
38
+ <jap-link href="#" target="_blank">Contact</jap-link>
39
+ </div>
40
+ `;
41
+ }
42
+ };
43
+ i.styles = f(u);
44
+ i = d([
45
+ j("jap-footer")
46
+ ], i);
47
+ export {
48
+ i as JapFooter
49
+ };
50
+ //# sourceMappingURL=jap-footer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jap-footer.js","sources":["../../../src/components/footer/jap-footer.ts"],"sourcesContent":["import { LitElement, html, nothing, unsafeCSS } from \"lit\";\nimport { customElement } from \"lit/decorators.js\";\nimport style from \"./jap-footer.scss?inline\";\nimport \"../../components\";\nimport { SignalWatcher } from \"@lit-labs/signals\";\nimport { breakpoint } from \"../../stores/breakpoint-store\";\nimport { classMap } from \"lit/directives/class-map.js\";\n\n@customElement(\"jap-footer\")\nexport class JapFooter extends SignalWatcher(LitElement) {\n static styles = unsafeCSS(style);\n\n render() {\n const footerWrapperClass = {\n \"footer-wrapper\": true,\n [breakpoint.get()]: true,\n };\n\n return html`\n <div class=${classMap(footerWrapperClass)}>\n <jap-modal>\n <jap-link slot=\"button\">Impressum</jap-link>\n <div>Impressum content</div>\n </jap-modal>\n ${breakpoint.get() !== \"s\"\n ? html`<jap-icon iconName=\"circle\"></jap-icon>`\n : nothing}\n <jap-link href=\"#\" target=\"_blank\">Github</jap-link>\n ${breakpoint.get() !== \"s\"\n ? html`<jap-icon iconName=\"circle\"></jap-icon>`\n : nothing}\n <jap-link href=\"#\" target=\"_blank\">Contact</jap-link>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"jap-footer\": JapFooter;\n }\n}\n"],"names":["JapFooter","SignalWatcher","LitElement","footerWrapperClass","breakpoint","html","classMap","nothing","unsafeCSS","style","__decorateClass","customElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AASO,IAAMA,IAAN,cAAwBC,EAAcC,CAAU,EAAE;AAAA,EAGvD,SAAS;AACP,UAAMC,IAAqB;AAAA,MACzB,kBAAkB;AAAA,MAClB,CAACC,EAAW,KAAK,GAAG;AAAA,IAAA;AAGtB,WAAOC;AAAA,mBACQC,EAASH,CAAkB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,UAKrCC,EAAW,IAAA,MAAU,MACnBC,6CACAE,CAAO;AAAA;AAAA,UAETH,EAAW,IAAA,MAAU,MACnBC,6CACAE,CAAO;AAAA;AAAA;AAAA;AAAA,EAIjB;AACF;AA1BaP,EACJ,SAASQ,EAAUC,CAAK;AADpBT,IAANU,EAAA;AAAA,EADNC,EAAc,YAAY;AAAA,GACdX,CAAA;"}
@@ -0,0 +1,5 @@
1
+ const t = '@font-face{font-family:Satoshi-Regular;src:url(/assets/Satoshi-Regular.woff2) format("woff2"),url(/assets/Satoshi-Regular.woff) format("woff");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:Satoshi-Italic;src:url(/assets/Satoshi-Italic.woff2) format("woff2"),url(/assets/Satoshi-Italic.woff) format("woff");font-weight:400;font-display:swap;font-style:italic}@font-face{font-family:Satoshi-Bold;src:url(/assets/Satoshi-Bold.woff2) format("woff2"),url(/assets/Satoshi-Bold.woff) format("woff");font-weight:700;font-display:swap;font-style:normal}@font-face{font-family:Satoshi-Black;src:url(/assets/Satoshi-Black.woff2) format("woff2"),url(/assets/Satoshi-Black.woff) format("woff");font-weight:900;font-display:swap;font-style:normal}:host{display:block}.footer-wrapper{display:flex;justify-content:start;border-top:2px solid #3a3a3a;font-family:Satoshi-Regular,sans-serif;font-size:22px;line-height:32px}.footer-wrapper.s{flex-direction:column;justify-content:center;width:calc(100% - 64px);margin:0 32px;height:140px}.footer-wrapper.m{flex-direction:row;align-items:center;width:calc(100% - 80px);margin:0 40px;height:78px}.footer-wrapper.l{flex-direction:row;align-items:center;width:calc(100% - 192px);margin:0 96px;height:94px}.dot{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:#3a3a3a}';
2
+ export {
3
+ t as default
4
+ };
5
+ //# sourceMappingURL=jap-footer.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jap-footer.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,69 @@
1
+ import { LitElement as n, nothing as c, html as s, unsafeCSS as h } from "/Users/jo/Documents/dev/Web/026-jap-ds/jap/node_modules/lit/index.js";
2
+ import { state as v, customElement as u } from "/Users/jo/Documents/dev/Web/026-jap-ds/jap/node_modules/lit/decorators.js";
3
+ import f from "./jap-header.scss.js";
4
+ import "../button/jap-button.js";
5
+ import "../flash/jap-flash.js";
6
+ import "../footer/jap-footer.js";
7
+ import "../heading/jap-heading.js";
8
+ import "../icon/jap-icon.js";
9
+ import "../icon-button/jap-icon-button.js";
10
+ import "../image-link/jap-image-link.js";
11
+ import "../link/jap-link.js";
12
+ import "../modal/jap-modal.js";
13
+ import "../navigation/jap-navigation.js";
14
+ import "../tag/jap-tag.js";
15
+ import { SignalWatcher as w } from "/Users/jo/Documents/dev/Web/026-jap-ds/jap/node_modules/@lit-labs/signals/index.js";
16
+ import { breakpoint as a } from "../../stores/breakpoint-store.js";
17
+ import { classMap as g } from "/Users/jo/Documents/dev/Web/026-jap-ds/jap/node_modules/lit/directives/class-map.js";
18
+ var j = Object.defineProperty, M = Object.getOwnPropertyDescriptor, d = (t, r, i, e) => {
19
+ for (var o = e > 1 ? void 0 : e ? M(r, i) : r, l = t.length - 1, m; l >= 0; l--)
20
+ (m = t[l]) && (o = (e ? m(r, i, o) : m(o)) || o);
21
+ return e && o && j(r, i, o), o;
22
+ };
23
+ let p = class extends w(n) {
24
+ constructor() {
25
+ super(...arguments), this.showModal = !1;
26
+ }
27
+ render() {
28
+ const t = {
29
+ "header-wrapper": !0,
30
+ [a.get()]: !0
31
+ };
32
+ return s`
33
+ <div class=${g(t)}>
34
+ <div class="logo">jap</div>
35
+ ${a.get() !== "s" ? s`<div>
36
+ <slot></slot>
37
+ </div>` : s`<div class="burger-wrapper">
38
+ <jap-icon-button
39
+ iconName="burger-menu"
40
+ @click=${() => {
41
+ this.showModal = !this.showModal, console.log("Modal state:", this.showModal);
42
+ }}
43
+ ></jap-icon-button>
44
+ </div>`}
45
+ ${a.get() === "l" ? s`<div class="empty-div-desktop"></div>` : c}
46
+ </div>
47
+ <jap-modal
48
+ type="header"
49
+ .show=${this.showModal && a.get() === "s"}
50
+ id="modal"
51
+ >
52
+ <div class="nav-wrapper">
53
+ <slot></slot>
54
+ </div>
55
+ </jap-modal>
56
+ `;
57
+ }
58
+ };
59
+ p.styles = h(f);
60
+ d([
61
+ v()
62
+ ], p.prototype, "showModal", 2);
63
+ p = d([
64
+ u("jap-header")
65
+ ], p);
66
+ export {
67
+ p as JapHeader
68
+ };
69
+ //# sourceMappingURL=jap-header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jap-header.js","sources":["../../../src/components/header/jap-header.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS, nothing } from \"lit\";\nimport { customElement, state } from \"lit/decorators.js\";\nimport style from \"./jap-header.scss?inline\";\nimport \"../../components\";\nimport { SignalWatcher } from \"@lit-labs/signals\";\nimport { breakpoint } from \"../../stores/breakpoint-store\";\nimport { classMap } from \"lit/directives/class-map.js\";\n\n@customElement(\"jap-header\")\nexport class JapHeader extends SignalWatcher(LitElement) {\n static styles = unsafeCSS(style);\n\n @state() private showModal = false;\n\n render() {\n const headerWrapperClass = {\n \"header-wrapper\": true,\n [breakpoint.get()]: true,\n };\n\n return html`\n <div class=${classMap(headerWrapperClass)}>\n <div class=\"logo\">jap</div>\n ${breakpoint.get() !== \"s\"\n ? html`<div>\n <slot></slot>\n </div>`\n : html`<div class=\"burger-wrapper\">\n <jap-icon-button\n iconName=\"burger-menu\"\n @click=${() => {\n this.showModal = !this.showModal;\n console.log(\"Modal state:\", this.showModal);\n }}\n ></jap-icon-button>\n </div>`}\n ${breakpoint.get() === \"l\"\n ? html`<div class=\"empty-div-desktop\"></div>`\n : nothing}\n </div>\n <jap-modal\n type=\"header\"\n .show=${this.showModal && breakpoint.get() === \"s\"}\n id=\"modal\"\n >\n <div class=\"nav-wrapper\">\n <slot></slot>\n </div>\n </jap-modal>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"jap-header\": JapHeader;\n }\n}\n"],"names":["JapHeader","SignalWatcher","LitElement","headerWrapperClass","breakpoint","html","classMap","nothing","unsafeCSS","style","__decorateClass","state","customElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AASO,IAAMA,IAAN,cAAwBC,EAAcC,CAAU,EAAE;AAAA,EAAlD,cAAA;AAAA,UAAA,GAAA,SAAA,GAGI,KAAQ,YAAY;AAAA,EAAA;AAAA,EAE7B,SAAS;AACP,UAAMC,IAAqB;AAAA,MACzB,kBAAkB;AAAA,MAClB,CAACC,EAAW,KAAK,GAAG;AAAA,IAAA;AAGtB,WAAOC;AAAA,mBACQC,EAASH,CAAkB,CAAC;AAAA;AAAA,UAErCC,EAAW,UAAU,MACnBC;AAAA;AAAA,sBAGAA;AAAA;AAAA;AAAA,yBAGa,MAAM;AACb,WAAK,YAAY,CAAC,KAAK,WACvB,QAAQ,IAAI,gBAAgB,KAAK,SAAS;AAAA,IAC5C,CAAC;AAAA;AAAA,mBAEE;AAAA,UACTD,EAAW,IAAA,MAAU,MACnBC,2CACAE,CAAO;AAAA;AAAA;AAAA;AAAA,gBAIH,KAAK,aAAaH,EAAW,IAAA,MAAU,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQxD;AACF;AA1CaJ,EACJ,SAASQ,EAAUC,CAAK;AAEdC,EAAA;AAAA,EAAhBC,EAAA;AAAM,GAHIX,EAGM,WAAA,aAAA,CAAA;AAHNA,IAANU,EAAA;AAAA,EADNE,EAAc,YAAY;AAAA,GACdZ,CAAA;"}
@@ -0,0 +1,5 @@
1
+ const t = '@font-face{font-family:Satoshi-Regular;src:url(/assets/Satoshi-Regular.woff2) format("woff2"),url(/assets/Satoshi-Regular.woff) format("woff");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:Satoshi-Italic;src:url(/assets/Satoshi-Italic.woff2) format("woff2"),url(/assets/Satoshi-Italic.woff) format("woff");font-weight:400;font-display:swap;font-style:italic}@font-face{font-family:Satoshi-Bold;src:url(/assets/Satoshi-Bold.woff2) format("woff2"),url(/assets/Satoshi-Bold.woff) format("woff");font-weight:700;font-display:swap;font-style:normal}@font-face{font-family:Satoshi-Black;src:url(/assets/Satoshi-Black.woff2) format("woff2"),url(/assets/Satoshi-Black.woff) format("woff");font-weight:900;font-display:swap;font-style:normal}:host{display:block}.header-wrapper{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.header-wrapper.s{width:calc(100% - 64px);margin:0 32px}.header-wrapper.m{width:calc(100% - 80px);margin:0 40px}.header-wrapper.l{width:calc(100% - 192px);margin:0 96px}.burger-wrapper{display:flex;align-items:center;justify-content:center}.nav-wrapper{width:100%;display:flex;justify-content:center;padding-bottom:100px}.empty-div-desktop{width:88px}.logo{font-family:Satoshi-Black,sans-serif;font-size:30px;line-height:168px;color:#3a3a3a;cursor:pointer}';
2
+ export {
3
+ t as default
4
+ };
5
+ //# sourceMappingURL=jap-header.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jap-header.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,63 @@
1
+ import { LitElement as u, html as v, unsafeCSS as c } from "/Users/jo/Documents/dev/Web/026-jap-ds/jap/node_modules/lit/index.js";
2
+ import { property as d, customElement as f } from "/Users/jo/Documents/dev/Web/026-jap-ds/jap/node_modules/lit/decorators.js";
3
+ import h from "./jap-heading.scss.js";
4
+ import { classMap as a } from "/Users/jo/Documents/dev/Web/026-jap-ds/jap/node_modules/lit/directives/class-map.js";
5
+ import { SignalWatcher as g } from "/Users/jo/Documents/dev/Web/026-jap-ds/jap/node_modules/@lit-labs/signals/index.js";
6
+ import { breakpoint as m } from "../../stores/breakpoint-store.js";
7
+ import "../button/jap-button.js";
8
+ import "../flash/jap-flash.js";
9
+ import "../footer/jap-footer.js";
10
+ import "../header/jap-header.js";
11
+ import "../icon/jap-icon.js";
12
+ import "../icon-button/jap-icon-button.js";
13
+ import "../image-link/jap-image-link.js";
14
+ import "../link/jap-link.js";
15
+ import "../modal/jap-modal.js";
16
+ import "../navigation/jap-navigation.js";
17
+ import "../tag/jap-tag.js";
18
+ var b = Object.defineProperty, w = Object.getOwnPropertyDescriptor, n = (r, t, o, i) => {
19
+ for (var e = i > 1 ? void 0 : i ? w(t, o) : t, p = r.length - 1, l; p >= 0; p--)
20
+ (l = r[p]) && (e = (i ? l(t, o, e) : l(e)) || e);
21
+ return i && e && b(t, o, e), e;
22
+ };
23
+ let s = class extends g(u) {
24
+ constructor() {
25
+ super(...arguments), this.size = "auto";
26
+ }
27
+ render() {
28
+ const r = {
29
+ "title-wrapper": !0,
30
+ [this.size === "auto" ? m.get() : this.size]: !0
31
+ }, t = {
32
+ "subtitle-wrapper": !0,
33
+ [this.size === "auto" ? m.get() : this.size]: !0
34
+ };
35
+ return v`
36
+ <div class="heading-wrapper">
37
+ <div class=${a(r)}>
38
+ <slot name="title-line-one"></slot>
39
+ <div class="title-line-two-wrapper">
40
+ <slot name="title-line-two"></slot>
41
+ <div class=${a(t)}>
42
+ <slot name="subtitle-right"></slot>
43
+ </div>
44
+ </div>
45
+ </div>
46
+ <div class=${a(t)}>
47
+ <slot name="subtitle-bottom"></slot>
48
+ </div>
49
+ </div>
50
+ `;
51
+ }
52
+ };
53
+ s.styles = c(h);
54
+ n([
55
+ d({ type: String })
56
+ ], s.prototype, "size", 2);
57
+ s = n([
58
+ f("jap-heading")
59
+ ], s);
60
+ export {
61
+ s as JapHeading
62
+ };
63
+ //# sourceMappingURL=jap-heading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jap-heading.js","sources":["../../../src/components/heading/jap-heading.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport style from \"./jap-heading.scss?inline\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { SignalWatcher } from \"@lit-labs/signals\";\nimport { breakpoint } from \"../../stores/breakpoint-store\";\nimport \"../../components\";\n\n@customElement(\"jap-heading\")\nexport class JapHeading extends SignalWatcher(LitElement) {\n static styles = unsafeCSS(style);\n\n @property({ type: String }) size: \"l\" | \"m\" | \"s\" | \"auto\" = \"auto\";\n\n render() {\n const titleWrapperClasses = {\n \"title-wrapper\": true,\n [this.size === \"auto\" ? breakpoint.get() : this.size]: true,\n };\n\n const subTitleWrapperClasses = {\n \"subtitle-wrapper\": true,\n [this.size === \"auto\" ? breakpoint.get() : this.size]: true,\n };\n\n return html`\n <div class=\"heading-wrapper\">\n <div class=${classMap(titleWrapperClasses)}>\n <slot name=\"title-line-one\"></slot>\n <div class=\"title-line-two-wrapper\">\n <slot name=\"title-line-two\"></slot>\n <div class=${classMap(subTitleWrapperClasses)}>\n <slot name=\"subtitle-right\"></slot>\n </div>\n </div>\n </div>\n <div class=${classMap(subTitleWrapperClasses)}>\n <slot name=\"subtitle-bottom\"></slot>\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"jap-heading\": JapHeading;\n }\n}\n"],"names":["JapHeading","SignalWatcher","LitElement","titleWrapperClasses","breakpoint","subTitleWrapperClasses","html","classMap","unsafeCSS","style","__decorateClass","property","customElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AASO,IAAMA,IAAN,cAAyBC,EAAcC,CAAU,EAAE;AAAA,EAAnD,cAAA;AAAA,UAAA,GAAA,SAAA,GAGuB,KAAA,OAAiC;AAAA,EAAA;AAAA,EAE7D,SAAS;AACP,UAAMC,IAAsB;AAAA,MAC1B,iBAAiB;AAAA,MACjB,CAAC,KAAK,SAAS,SAASC,EAAW,IAAA,IAAQ,KAAK,IAAI,GAAG;AAAA,IAAA,GAGnDC,IAAyB;AAAA,MAC7B,oBAAoB;AAAA,MACpB,CAAC,KAAK,SAAS,SAASD,EAAW,IAAA,IAAQ,KAAK,IAAI,GAAG;AAAA,IAAA;AAGzD,WAAOE;AAAA;AAAA,qBAEUC,EAASJ,CAAmB,CAAC;AAAA;AAAA;AAAA;AAAA,yBAIzBI,EAASF,CAAsB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,qBAKpCE,EAASF,CAAsB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAKnD;AACF;AAjCaL,EACJ,SAASQ,EAAUC,CAAK;AAEHC,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GAHfX,EAGiB,WAAA,QAAA,CAAA;AAHjBA,IAANU,EAAA;AAAA,EADNE,EAAc,aAAa;AAAA,GACfZ,CAAA;"}
@@ -0,0 +1,5 @@
1
+ const t = '@font-face{font-family:Satoshi-Regular;src:url(/assets/Satoshi-Regular.woff2) format("woff2"),url(/assets/Satoshi-Regular.woff) format("woff");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:Satoshi-Italic;src:url(/assets/Satoshi-Italic.woff2) format("woff2"),url(/assets/Satoshi-Italic.woff) format("woff");font-weight:400;font-display:swap;font-style:italic}@font-face{font-family:Satoshi-Bold;src:url(/assets/Satoshi-Bold.woff2) format("woff2"),url(/assets/Satoshi-Bold.woff) format("woff");font-weight:700;font-display:swap;font-style:normal}@font-face{font-family:Satoshi-Black;src:url(/assets/Satoshi-Black.woff2) format("woff2"),url(/assets/Satoshi-Black.woff) format("woff");font-weight:900;font-display:swap;font-style:normal}:host{display:inline-block}.heading-wrapper{display:flex;flex-direction:column;gap:32px}.title-wrapper{color:#3a3a3a;display:flex;flex-direction:column;gap:0px}.title-wrapper.l{font-family:Satoshi-Black,sans-serif;font-size:130px;line-height:112px}.title-wrapper.m{font-family:Satoshi-Black,sans-serif;font-size:100px;line-height:90px}.title-wrapper.s{font-family:Satoshi-Black,sans-serif;font-size:80px;line-height:72px}.subtitle-wrapper{color:#3a3a3a}.subtitle-wrapper.l{font-family:Satoshi-Italic,sans-serif;font-size:60px;line-height:64px}.subtitle-wrapper.m{font-family:Satoshi-Italic,sans-serif;font-size:46px;line-height:50px}.subtitle-wrapper.s{font-family:Satoshi-Italic,sans-serif;font-size:34px;line-height:36px}.title-line-two-wrapper{display:flex;flex-direction:row;gap:30px;align-items:baseline}';
2
+ export {
3
+ t as default
4
+ };
5
+ //# sourceMappingURL=jap-heading.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jap-heading.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,47 @@
1
+ const o = {
2
+ fire: `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1" stroke="currentColor" class="size-6">
3
+ <path stroke-linecap="round" stroke-linejoin="round" d="M15.362 5.214A8.252 8.252 0 0 1 12 21 8.25 8.25 0 0 1 6.038 7.047 8.287 8.287 0 0 0 9 9.601a8.983 8.983 0 0 1 3.361-6.867 8.21 8.21 0 0 0 3 2.48Z" />
4
+ <path stroke-linecap="round" stroke-linejoin="round" d="M12 18a3.75 3.75 0 0 0 .495-7.468 5.99 5.99 0 0 0-1.925 3.547 5.975 5.975 0 0 1-2.133-1.001A3.75 3.75 0 0 0 12 18Z" />
5
+ </svg>`,
6
+ lightning: `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1" stroke="currentColor" class="size-6">
7
+ <path stroke-linecap="round" stroke-linejoin="round" d="m3.75 13.5 10.5-11.25L12 10.5h8.25L9.75 21.75 12 13.5H3.75Z" />
8
+ </svg>
9
+ `,
10
+ chat: `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1" stroke="currentColor" class="size-6">
11
+ <path stroke-linecap="round" stroke-linejoin="round" d="M8.625 12a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm0 0H8.25m4.125 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm0 0H12m4.125 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm0 0h-.375M21 12c0 4.556-4.03 8.25-9 8.25a9.764 9.764 0 0 1-2.555-.337A5.972 5.972 0 0 1 5.41 20.97a5.969 5.969 0 0 1-.474-.065 4.48 4.48 0 0 0 .978-2.025c.09-.457-.133-.901-.467-1.226C3.93 16.178 3 14.189 3 12c0-4.556 4.03-8.25 9-8.25s9 3.694 9 8.25Z" />
12
+ </svg>
13
+ `,
14
+ puzzle: `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1" stroke="currentColor" class="size-6">
15
+ <path stroke-linecap="round" stroke-linejoin="round" d="M14.25 6.087c0-.355.186-.676.401-.959.221-.29.349-.634.349-1.003 0-1.036-1.007-1.875-2.25-1.875s-2.25.84-2.25 1.875c0 .369.128.713.349 1.003.215.283.401.604.401.959v0a.64.64 0 0 1-.657.643 48.39 48.39 0 0 1-4.163-.3c.186 1.613.293 3.25.315 4.907a.656.656 0 0 1-.658.663v0c-.355 0-.676-.186-.959-.401a1.647 1.647 0 0 0-1.003-.349c-1.036 0-1.875 1.007-1.875 2.25s.84 2.25 1.875 2.25c.369 0 .713-.128 1.003-.349.283-.215.604-.401.959-.401v0c.31 0 .555.26.532.57a48.039 48.039 0 0 1-.642 5.056c1.518.19 3.058.309 4.616.354a.64.64 0 0 0 .657-.643v0c0-.355-.186-.676-.401-.959a1.647 1.647 0 0 1-.349-1.003c0-1.035 1.008-1.875 2.25-1.875 1.243 0 2.25.84 2.25 1.875 0 .369-.128.713-.349 1.003-.215.283-.4.604-.4.959v0c0 .333.277.599.61.58a48.1 48.1 0 0 0 5.427-.63 48.05 48.05 0 0 0 .582-4.717.532.532 0 0 0-.533-.57v0c-.355 0-.676.186-.959.401-.29.221-.634.349-1.003.349-1.035 0-1.875-1.007-1.875-2.25s.84-2.25 1.875-2.25c.37 0 .713.128 1.003.349.283.215.604.401.96.401v0a.656.656 0 0 0 .658-.663 48.422 48.422 0 0 0-.37-5.36c-1.886.342-3.81.574-5.766.689a.578.578 0 0 1-.61-.58v0Z" />
16
+ </svg>
17
+ `,
18
+ "arrow-circle-left": `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1" stroke="currentColor" class="size-6">
19
+ <path stroke-linecap="round" stroke-linejoin="round" d="m11.25 9-3 3m0 0 3 3m-3-3h7.5M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" />
20
+ </svg>
21
+ `,
22
+ "arrow-right": `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1" stroke="currentColor" class="size-6">
23
+ <path stroke-linecap="round" stroke-linejoin="round" d="M13.5 4.5 21 12m0 0-7.5 7.5M21 12H3" />
24
+ </svg>
25
+ `,
26
+ "burger-menu": `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.6" stroke="currentColor" class="size-6">
27
+ <path stroke-linecap="round" stroke-linejoin="round" d="M6 8h12M6 16h12" />
28
+ </svg>
29
+ `,
30
+ x: `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-6">
31
+ <path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12" />
32
+ </svg>
33
+ `,
34
+ circle: `<svg
35
+ width="8"
36
+ height="8"
37
+ viewBox="0 0 8 8"
38
+ xmlns="http://www.w3.org/2000/svg"
39
+ >
40
+ <circle cx="4" cy="4" r="4" fill="currentColor" />
41
+ </svg>
42
+ `
43
+ };
44
+ export {
45
+ o as icons
46
+ };
47
+ //# sourceMappingURL=icon-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-data.js","sources":["../../../src/components/icon/icon-data.ts"],"sourcesContent":["const icons = {\n fire: `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1\" stroke=\"currentColor\" class=\"size-6\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15.362 5.214A8.252 8.252 0 0 1 12 21 8.25 8.25 0 0 1 6.038 7.047 8.287 8.287 0 0 0 9 9.601a8.983 8.983 0 0 1 3.361-6.867 8.21 8.21 0 0 0 3 2.48Z\" />\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M12 18a3.75 3.75 0 0 0 .495-7.468 5.99 5.99 0 0 0-1.925 3.547 5.975 5.975 0 0 1-2.133-1.001A3.75 3.75 0 0 0 12 18Z\" />\n </svg>`,\n lightning: `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1\" stroke=\"currentColor\" class=\"size-6\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"m3.75 13.5 10.5-11.25L12 10.5h8.25L9.75 21.75 12 13.5H3.75Z\" />\n</svg>\n`,\n chat: `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1\" stroke=\"currentColor\" class=\"size-6\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M8.625 12a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm0 0H8.25m4.125 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm0 0H12m4.125 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm0 0h-.375M21 12c0 4.556-4.03 8.25-9 8.25a9.764 9.764 0 0 1-2.555-.337A5.972 5.972 0 0 1 5.41 20.97a5.969 5.969 0 0 1-.474-.065 4.48 4.48 0 0 0 .978-2.025c.09-.457-.133-.901-.467-1.226C3.93 16.178 3 14.189 3 12c0-4.556 4.03-8.25 9-8.25s9 3.694 9 8.25Z\" />\n</svg>\n`,\n puzzle: `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1\" stroke=\"currentColor\" class=\"size-6\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M14.25 6.087c0-.355.186-.676.401-.959.221-.29.349-.634.349-1.003 0-1.036-1.007-1.875-2.25-1.875s-2.25.84-2.25 1.875c0 .369.128.713.349 1.003.215.283.401.604.401.959v0a.64.64 0 0 1-.657.643 48.39 48.39 0 0 1-4.163-.3c.186 1.613.293 3.25.315 4.907a.656.656 0 0 1-.658.663v0c-.355 0-.676-.186-.959-.401a1.647 1.647 0 0 0-1.003-.349c-1.036 0-1.875 1.007-1.875 2.25s.84 2.25 1.875 2.25c.369 0 .713-.128 1.003-.349.283-.215.604-.401.959-.401v0c.31 0 .555.26.532.57a48.039 48.039 0 0 1-.642 5.056c1.518.19 3.058.309 4.616.354a.64.64 0 0 0 .657-.643v0c0-.355-.186-.676-.401-.959a1.647 1.647 0 0 1-.349-1.003c0-1.035 1.008-1.875 2.25-1.875 1.243 0 2.25.84 2.25 1.875 0 .369-.128.713-.349 1.003-.215.283-.4.604-.4.959v0c0 .333.277.599.61.58a48.1 48.1 0 0 0 5.427-.63 48.05 48.05 0 0 0 .582-4.717.532.532 0 0 0-.533-.57v0c-.355 0-.676.186-.959.401-.29.221-.634.349-1.003.349-1.035 0-1.875-1.007-1.875-2.25s.84-2.25 1.875-2.25c.37 0 .713.128 1.003.349.283.215.604.401.96.401v0a.656.656 0 0 0 .658-.663 48.422 48.422 0 0 0-.37-5.36c-1.886.342-3.81.574-5.766.689a.578.578 0 0 1-.61-.58v0Z\" />\n</svg>\n`,\n \"arrow-circle-left\": `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1\" stroke=\"currentColor\" class=\"size-6\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"m11.25 9-3 3m0 0 3 3m-3-3h7.5M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z\" />\n</svg>\n`,\n \"arrow-right\": `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1\" stroke=\"currentColor\" class=\"size-6\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M13.5 4.5 21 12m0 0-7.5 7.5M21 12H3\" />\n</svg>\n`,\n \"burger-menu\": `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.6\" stroke=\"currentColor\" class=\"size-6\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M6 8h12M6 16h12\" />\n</svg>\n`,\n x: `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"size-6\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M6 18 18 6M6 6l12 12\" />\n</svg>\n`,\n circle: `<svg\n width=\"8\"\n height=\"8\"\n viewBox=\"0 0 8 8\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle cx=\"4\" cy=\"4\" r=\"4\" fill=\"currentColor\" />\n </svg>\n`,\n};\n\nexport { icons };\n"],"names":["icons"],"mappings":"AAAA,MAAMA,IAAQ;AAAA,EACZ,MAAM;AAAA;AAAA;AAAA;AAAA,EAIN,WAAW;AAAA;AAAA;AAAA;AAAA,EAIX,MAAM;AAAA;AAAA;AAAA;AAAA,EAIN,QAAQ;AAAA;AAAA;AAAA;AAAA,EAIR,qBAAqB;AAAA;AAAA;AAAA;AAAA,EAIrB,eAAe;AAAA;AAAA;AAAA;AAAA,EAIf,eAAe;AAAA;AAAA;AAAA;AAAA,EAIf,GAAG;AAAA;AAAA;AAAA;AAAA,EAIH,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASV;"}
@@ -0,0 +1,58 @@
1
+ import { unsafeCSS as l, LitElement as a, html as f } from "/Users/jo/Documents/dev/Web/026-jap-ds/jap/node_modules/lit/index.js";
2
+ import { property as c, customElement as h } from "/Users/jo/Documents/dev/Web/026-jap-ds/jap/node_modules/lit/decorators.js";
3
+ import { icons as u } from "./icon-data.js";
4
+ import y from "./jap-icon.scss.js";
5
+ import { classMap as v } from "/Users/jo/Documents/dev/Web/026-jap-ds/jap/node_modules/lit/directives/class-map.js";
6
+ import { unsafeHTML as _ } from "/Users/jo/Documents/dev/Web/026-jap-ds/jap/node_modules/lit/directives/unsafe-html.js";
7
+ import "../button/jap-button.js";
8
+ import "../flash/jap-flash.js";
9
+ import "../footer/jap-footer.js";
10
+ import "../header/jap-header.js";
11
+ import "../heading/jap-heading.js";
12
+ import "../icon-button/jap-icon-button.js";
13
+ import "../image-link/jap-image-link.js";
14
+ import "../link/jap-link.js";
15
+ import "../modal/jap-modal.js";
16
+ import "../navigation/jap-navigation.js";
17
+ import "../tag/jap-tag.js";
18
+ var g = Object.defineProperty, S = Object.getOwnPropertyDescriptor, p = (o, e, s, i) => {
19
+ for (var r = i > 1 ? void 0 : i ? S(e, s) : e, m = o.length - 1, n; m >= 0; m--)
20
+ (n = o[m]) && (r = (i ? n(e, s, r) : n(r)) || r);
21
+ return i && r && g(e, s, r), r;
22
+ };
23
+ let t = class extends a {
24
+ constructor() {
25
+ super(...arguments), this.iconName = "fire", this.size = "48px", this.color = "black";
26
+ }
27
+ render() {
28
+ const o = {
29
+ "icon-wrapper": !0,
30
+ [this.color]: !0
31
+ };
32
+ return f`
33
+ <div
34
+ class=${v(o)}
35
+ style="height: ${this.size}; width: ${this.size};"
36
+ >
37
+ ${_(u[this.iconName])}
38
+ </div>
39
+ `;
40
+ }
41
+ };
42
+ t.styles = l(y);
43
+ p([
44
+ c({ type: String })
45
+ ], t.prototype, "iconName", 2);
46
+ p([
47
+ c({ type: String })
48
+ ], t.prototype, "size", 2);
49
+ p([
50
+ c({ type: String })
51
+ ], t.prototype, "color", 2);
52
+ t = p([
53
+ h("jap-icon")
54
+ ], t);
55
+ export {
56
+ t as JapIcon
57
+ };
58
+ //# sourceMappingURL=jap-icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jap-icon.js","sources":["../../../src/components/icon/jap-icon.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport { icons } from \"./icon-data.ts\";\nimport style from \"./jap-icon.scss?inline\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { unsafeHTML } from \"lit/directives/unsafe-html.js\";\nimport \"../../components\";\n\nexport type IconName =\n | \"circle\"\n | \"x\"\n | \"fire\"\n | \"puzzle\"\n | \"lightning\"\n | \"arrow-right\"\n | \"arrow-circle-left\"\n | \"burger-menu\"\n | \"chat\";\n\n@customElement(\"jap-icon\")\nexport class JapIcon extends LitElement {\n static styles = unsafeCSS(style);\n\n @property({ type: String }) iconName: IconName = \"fire\";\n\n @property({ type: String }) size:\n | \"72px\"\n | \"56px\"\n | \"48px\"\n | \"40px\"\n | \"32px\"\n | \"24px\"\n | \"16px\" = \"48px\";\n\n @property({ type: String }) color:\n | \"red\"\n | \"purple\"\n | \"blue\"\n | \"black\"\n | \"white\"\n | \"neutral-200\"\n | \"neutral-400\"\n | \"neutral-600\" = \"black\";\n\n render() {\n const iconWrapperClasses = {\n \"icon-wrapper\": true,\n [this.color]: true,\n };\n\n return html`\n <div\n class=${classMap(iconWrapperClasses)}\n style=\"height: ${this.size}; width: ${this.size};\"\n >\n ${unsafeHTML(icons[this.iconName])}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"jap-icon\": JapIcon;\n }\n}\n"],"names":["JapIcon","LitElement","iconWrapperClasses","html","classMap","unsafeHTML","icons","unsafeCSS","style","__decorateClass","property","customElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAoBO,IAAMA,IAAN,cAAsBC,EAAW;AAAA,EAAjC,cAAA;AAAA,UAAA,GAAA,SAAA,GAGuB,KAAA,WAAqB,QAErB,KAAA,OAOf,QAEe,KAAA,QAQR;AAAA,EAAA;AAAA,EAEpB,SAAS;AACP,UAAMC,IAAqB;AAAA,MACzB,gBAAgB;AAAA,MAChB,CAAC,KAAK,KAAK,GAAG;AAAA,IAAA;AAGhB,WAAOC;AAAA;AAAA,gBAEKC,EAASF,CAAkB,CAAC;AAAA,yBACnB,KAAK,IAAI,YAAY,KAAK,IAAI;AAAA;AAAA,UAE7CG,EAAWC,EAAM,KAAK,QAAQ,CAAC,CAAC;AAAA;AAAA;AAAA,EAGxC;AACF;AAvCaN,EACJ,SAASO,EAAUC,CAAK;AAEHC,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GAHfV,EAGiB,WAAA,YAAA,CAAA;AAEAS,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GALfV,EAKiB,WAAA,QAAA,CAAA;AASAS,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GAdfV,EAciB,WAAA,SAAA,CAAA;AAdjBA,IAANS,EAAA;AAAA,EADNE,EAAc,UAAU;AAAA,GACZX,CAAA;"}
@@ -0,0 +1,5 @@
1
+ const o = '@font-face{font-family:Satoshi-Regular;src:url(/assets/Satoshi-Regular.woff2) format("woff2"),url(/assets/Satoshi-Regular.woff) format("woff");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:Satoshi-Italic;src:url(/assets/Satoshi-Italic.woff2) format("woff2"),url(/assets/Satoshi-Italic.woff) format("woff");font-weight:400;font-display:swap;font-style:italic}@font-face{font-family:Satoshi-Bold;src:url(/assets/Satoshi-Bold.woff2) format("woff2"),url(/assets/Satoshi-Bold.woff) format("woff");font-weight:700;font-display:swap;font-style:normal}@font-face{font-family:Satoshi-Black;src:url(/assets/Satoshi-Black.woff2) format("woff2"),url(/assets/Satoshi-Black.woff) format("woff");font-weight:900;font-display:swap;font-style:normal}:host{display:inline-block}.icon-wrapper{display:flex;align-items:center;justify-content:center}.icon-wrapper.blue{color:#2a91ff}.icon-wrapper.red{color:#ff4d2a}.icon-wrapper.purple{color:#bf2aff}.icon-wrapper.black{color:#3a3a3a}.icon-wrapper.white{color:#fff}.icon-wrapper.neutral-200{color:#f3f3f3}.icon-wrapper.neutral-400{color:#d5d5d5}.icon-wrapper.neutral-600{color:#898989}';
2
+ export {
3
+ o as default
4
+ };
5
+ //# sourceMappingURL=jap-icon.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jap-icon.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}