@idp.global/catalog 1.2.0 → 2.0.0
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/changelog.md +15 -1
- package/dist_bundle/bundle.js +1470 -960
- package/dist_ts_web/00_commitinfo_data.js +3 -3
- package/dist_ts_web/elements/idp-badge.js +9 -12
- package/dist_ts_web/elements/idp-button.d.ts +1 -1
- package/dist_ts_web/elements/idp-button.js +39 -16
- package/dist_ts_web/elements/idp-landing-hero.d.ts +1 -2
- package/dist_ts_web/elements/idp-landing-hero.js +63 -108
- package/dist_ts_web/elements/idp-landing-page.d.ts +5 -0
- package/dist_ts_web/elements/idp-landing-page.js +922 -391
- package/dist_ts_web/elements/idp-mobile-showcase.js +1 -1
- package/dist_ts_web/elements/idp-screenshot-placeholder.d.ts +23 -0
- package/dist_ts_web/elements/idp-screenshot-placeholder.js +192 -0
- package/dist_ts_web/elements/index.d.ts +1 -0
- package/dist_ts_web/elements/index.js +2 -1
- package/dist_ts_web/elements/tokens.d.ts +1 -1
- package/dist_ts_web/elements/tokens.js +129 -115
- package/package.json +5 -6
- package/readme.md +4 -3
- package/ts_web/00_commitinfo_data.ts +2 -2
- package/ts_web/elements/idp-badge.ts +8 -11
- package/ts_web/elements/idp-button.ts +39 -16
- package/ts_web/elements/idp-landing-hero.ts +62 -107
- package/ts_web/elements/idp-landing-page.ts +932 -389
- package/ts_web/elements/idp-mobile-showcase.ts +1 -1
- package/ts_web/elements/idp-screenshot-placeholder.ts +126 -0
- package/ts_web/elements/index.ts +1 -0
- package/ts_web/elements/tokens.ts +128 -114
- package/dist_watch/bundle.js +0 -120699
- package/dist_watch/bundle.js.map +0 -7
- package/dist_watch/index.html +0 -29
|
@@ -20,7 +20,7 @@ export class IdpBadge extends DeesElement {
|
|
|
20
20
|
<idp-badge variant="error">Denied</idp-badge>
|
|
21
21
|
</div>
|
|
22
22
|
`;
|
|
23
|
-
public static demoGroups = ['idp.global
|
|
23
|
+
public static demoGroups = ['idp.global v5 primitives'];
|
|
24
24
|
|
|
25
25
|
@property({ type: String })
|
|
26
26
|
public accessor variant: TIdpBadgeVariant = 'default';
|
|
@@ -34,15 +34,15 @@ export class IdpBadge extends DeesElement {
|
|
|
34
34
|
.badge {
|
|
35
35
|
display: inline-flex;
|
|
36
36
|
align-items: center;
|
|
37
|
-
gap:
|
|
38
|
-
padding:
|
|
37
|
+
gap: 5px;
|
|
38
|
+
padding: 3px 9px;
|
|
39
39
|
border: 1px solid transparent;
|
|
40
|
-
border-radius:
|
|
41
|
-
font-family: var(--idp-
|
|
42
|
-
font-size:
|
|
43
|
-
font-weight:
|
|
40
|
+
border-radius: var(--idp-radius-pill);
|
|
41
|
+
font-family: var(--idp-font);
|
|
42
|
+
font-size: 12px;
|
|
43
|
+
font-weight: 590;
|
|
44
44
|
letter-spacing: -0.01em;
|
|
45
|
-
line-height:
|
|
45
|
+
line-height: 15px;
|
|
46
46
|
}
|
|
47
47
|
.default {
|
|
48
48
|
background: var(--idp-muted);
|
|
@@ -67,9 +67,6 @@ export class IdpBadge extends DeesElement {
|
|
|
67
67
|
color: var(--idp-error);
|
|
68
68
|
border-color: var(--idp-error-border);
|
|
69
69
|
}
|
|
70
|
-
.accent {
|
|
71
|
-
border-color: var(--idp-info-border);
|
|
72
|
-
}
|
|
73
70
|
.outline {
|
|
74
71
|
background: transparent;
|
|
75
72
|
color: var(--idp-fg);
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
import { idpElementStyles } from './tokens.js';
|
|
10
10
|
import './idp-icon.js';
|
|
11
11
|
|
|
12
|
-
export type TIdpButtonVariant = 'default' | 'secondary' | 'outline' | 'ghost' | 'destructive' | 'accent';
|
|
12
|
+
export type TIdpButtonVariant = 'default' | 'secondary' | 'outline' | 'ghost' | 'destructive' | 'accent' | 'tint' | 'link';
|
|
13
13
|
export type TIdpButtonSize = 'sm' | 'md' | 'lg';
|
|
14
14
|
|
|
15
15
|
declare global {
|
|
@@ -21,15 +21,16 @@ declare global {
|
|
|
21
21
|
@customElement('idp-button')
|
|
22
22
|
export class IdpButton extends DeesElement {
|
|
23
23
|
public static demo = () => html`
|
|
24
|
-
<div style="display: flex; gap: 10px; flex-wrap: wrap;">
|
|
25
|
-
<idp-button>
|
|
26
|
-
<idp-button variant="
|
|
24
|
+
<div style="display: flex; gap: 10px; flex-wrap: wrap; align-items: center;">
|
|
25
|
+
<idp-button variant="accent">Claim identity</idp-button>
|
|
26
|
+
<idp-button variant="tint">Talk to us</idp-button>
|
|
27
27
|
<idp-button variant="outline">Deny</idp-button>
|
|
28
28
|
<idp-button variant="ghost">Ghost</idp-button>
|
|
29
|
+
<idp-button variant="link">See how it works</idp-button>
|
|
29
30
|
<idp-button variant="destructive">Delete</idp-button>
|
|
30
31
|
</div>
|
|
31
32
|
`;
|
|
32
|
-
public static demoGroups = ['idp.global
|
|
33
|
+
public static demoGroups = ['idp.global v5 primitives'];
|
|
33
34
|
|
|
34
35
|
@property({ type: String })
|
|
35
36
|
public accessor variant: TIdpButtonVariant = 'default';
|
|
@@ -64,9 +65,10 @@ export class IdpButton extends DeesElement {
|
|
|
64
65
|
justify-content: center;
|
|
65
66
|
gap: 6px;
|
|
66
67
|
border: 1px solid transparent;
|
|
67
|
-
border-radius:
|
|
68
|
+
border-radius: var(--idp-radius-pill);
|
|
68
69
|
font-family: var(--idp-font);
|
|
69
70
|
font-weight: 500;
|
|
71
|
+
line-height: 1.4;
|
|
70
72
|
letter-spacing: -0.01em;
|
|
71
73
|
white-space: nowrap;
|
|
72
74
|
cursor: pointer;
|
|
@@ -84,19 +86,16 @@ export class IdpButton extends DeesElement {
|
|
|
84
86
|
cursor: not-allowed;
|
|
85
87
|
}
|
|
86
88
|
.sm {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
font-size: 13px;
|
|
89
|
+
padding: 6px 14px;
|
|
90
|
+
font-size: 14px;
|
|
90
91
|
}
|
|
91
92
|
.md {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
font-size: 14px;
|
|
93
|
+
padding: 8px 18px;
|
|
94
|
+
font-size: 17px;
|
|
95
95
|
}
|
|
96
96
|
.lg {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
font-size: 15px;
|
|
97
|
+
padding: 11px 24px;
|
|
98
|
+
font-size: 19px;
|
|
100
99
|
}
|
|
101
100
|
.default {
|
|
102
101
|
background: var(--idp-primary);
|
|
@@ -108,11 +107,35 @@ export class IdpButton extends DeesElement {
|
|
|
108
107
|
.accent {
|
|
109
108
|
background: var(--idp-accent);
|
|
110
109
|
color: var(--idp-accent-fg);
|
|
111
|
-
box-shadow: 0 4px 14px color-mix(in srgb, var(--idp-accent), transparent 64%);
|
|
112
110
|
}
|
|
113
111
|
.accent:hover:not(:disabled) {
|
|
114
112
|
background: var(--idp-accent-hover);
|
|
115
113
|
}
|
|
114
|
+
.tint {
|
|
115
|
+
background: var(--idp-accent-soft);
|
|
116
|
+
color: var(--idp-accent);
|
|
117
|
+
}
|
|
118
|
+
.tint:hover:not(:disabled) {
|
|
119
|
+
background: color-mix(in srgb, var(--idp-accent-soft), var(--idp-accent) 12%);
|
|
120
|
+
}
|
|
121
|
+
.link {
|
|
122
|
+
background: transparent;
|
|
123
|
+
color: var(--idp-accent);
|
|
124
|
+
padding: 0;
|
|
125
|
+
border-radius: 0;
|
|
126
|
+
}
|
|
127
|
+
.link:hover:not(:disabled) {
|
|
128
|
+
text-decoration: underline;
|
|
129
|
+
}
|
|
130
|
+
.link::after {
|
|
131
|
+
content: '›';
|
|
132
|
+
font-size: 1.15em;
|
|
133
|
+
line-height: 0;
|
|
134
|
+
transition: transform 160ms ease;
|
|
135
|
+
}
|
|
136
|
+
.link:hover:not(:disabled)::after {
|
|
137
|
+
transform: translateX(2px);
|
|
138
|
+
}
|
|
116
139
|
.secondary {
|
|
117
140
|
background: var(--idp-muted);
|
|
118
141
|
color: var(--idp-fg);
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { DeesElement, html, customElement, css, type TemplateResult } from '@design.estate/dees-element';
|
|
2
2
|
import { idpElementStyles } from './tokens.js';
|
|
3
3
|
import './idp-button.js';
|
|
4
|
-
import './idp-
|
|
5
|
-
import './idp-icon.js';
|
|
4
|
+
import './idp-screenshot-placeholder.js';
|
|
6
5
|
|
|
7
6
|
declare global {
|
|
8
7
|
interface HTMLElementTagNameMap {
|
|
@@ -13,128 +12,78 @@ declare global {
|
|
|
13
12
|
@customElement('idp-landing-hero')
|
|
14
13
|
export class IdpLandingHero extends DeesElement {
|
|
15
14
|
public static demo = () => html`<idp-landing-hero></idp-landing-hero>`;
|
|
16
|
-
public static demoGroups = ['idp.global
|
|
15
|
+
public static demoGroups = ['idp.global v5 composed surfaces'];
|
|
17
16
|
|
|
18
17
|
public static styles = [
|
|
19
18
|
...idpElementStyles,
|
|
20
19
|
css`
|
|
21
20
|
:host {
|
|
22
21
|
display: block;
|
|
23
|
-
|
|
24
|
-
.hero {
|
|
25
|
-
position: relative;
|
|
26
|
-
overflow: hidden;
|
|
27
|
-
background: var(--idp-bg);
|
|
22
|
+
background: var(--idp-card);
|
|
28
23
|
color: var(--idp-fg);
|
|
29
|
-
border-bottom: 1px solid var(--idp-border-soft);
|
|
30
|
-
}
|
|
31
|
-
.grid {
|
|
32
|
-
position: absolute;
|
|
33
|
-
inset: 0;
|
|
34
|
-
background-image: linear-gradient(to right, color-mix(in srgb, var(--idp-fg), transparent 97%) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in srgb, var(--idp-fg), transparent 97%) 1px, transparent 1px);
|
|
35
|
-
background-size: 56px 56px;
|
|
36
|
-
mask-image: radial-gradient(ellipse 80% 60% at 50% 0%, #000 30%, transparent 70%);
|
|
37
|
-
pointer-events: none;
|
|
38
24
|
}
|
|
39
|
-
.
|
|
40
|
-
|
|
41
|
-
top: -220px;
|
|
42
|
-
left: 50%;
|
|
43
|
-
width: 900px;
|
|
44
|
-
height: 600px;
|
|
45
|
-
transform: translateX(-50%);
|
|
46
|
-
background: radial-gradient(ellipse, rgba(59,130,246,0.18) 0%, transparent 60%);
|
|
47
|
-
pointer-events: none;
|
|
48
|
-
}
|
|
49
|
-
.inner {
|
|
50
|
-
position: relative;
|
|
51
|
-
z-index: 1;
|
|
52
|
-
max-width: 1240px;
|
|
53
|
-
margin: 0 auto;
|
|
54
|
-
padding: 96px 32px 0;
|
|
25
|
+
.hero {
|
|
26
|
+
padding: 84px 0 0;
|
|
55
27
|
text-align: center;
|
|
56
28
|
}
|
|
57
|
-
.
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
margin-bottom: 28px;
|
|
62
|
-
padding: 5px 12px 5px 8px;
|
|
63
|
-
border: 1px solid var(--idp-border);
|
|
64
|
-
border-radius: 999px;
|
|
65
|
-
background: var(--idp-muted);
|
|
66
|
-
color: var(--idp-fg-3);
|
|
67
|
-
font-size: 12px;
|
|
29
|
+
.wrap {
|
|
30
|
+
max-width: 1024px;
|
|
31
|
+
margin: 0 auto;
|
|
32
|
+
padding: 0 22px;
|
|
68
33
|
}
|
|
69
|
-
.
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
color: var(--idp-accent-hover);
|
|
74
|
-
font-family: var(--idp-mono);
|
|
75
|
-
font-size: 10px;
|
|
34
|
+
.hero-tag {
|
|
35
|
+
margin-bottom: 6px;
|
|
36
|
+
color: var(--idp-accent);
|
|
37
|
+
font-size: 21px;
|
|
76
38
|
font-weight: 600;
|
|
77
|
-
letter-spacing: 0.
|
|
39
|
+
letter-spacing: -0.02em;
|
|
78
40
|
}
|
|
79
41
|
h1 {
|
|
80
|
-
|
|
81
|
-
|
|
42
|
+
max-width: 16ch;
|
|
43
|
+
margin: 0 auto 22px;
|
|
82
44
|
font-family: var(--idp-display);
|
|
45
|
+
font-size: clamp(48px, 7vw, 96px);
|
|
83
46
|
font-weight: 700;
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
h1 em {
|
|
88
|
-
color: var(--idp-accent-hover);
|
|
89
|
-
font-family: var(--idp-serif);
|
|
90
|
-
font-style: italic;
|
|
91
|
-
font-weight: 400;
|
|
47
|
+
line-height: 1.04;
|
|
48
|
+
letter-spacing: -0.025em;
|
|
92
49
|
}
|
|
93
|
-
.sub {
|
|
94
|
-
max-width:
|
|
95
|
-
margin: 0 auto
|
|
50
|
+
.hero-sub {
|
|
51
|
+
max-width: 600px;
|
|
52
|
+
margin: 0 auto 28px;
|
|
96
53
|
color: var(--idp-fg-3);
|
|
97
|
-
font-size: clamp(
|
|
98
|
-
|
|
54
|
+
font-size: clamp(19px, 2vw, 24px);
|
|
55
|
+
font-weight: 400;
|
|
56
|
+
line-height: 1.4;
|
|
57
|
+
letter-spacing: -0.01em;
|
|
99
58
|
}
|
|
100
|
-
.actions {
|
|
59
|
+
.hero-actions {
|
|
101
60
|
display: flex;
|
|
102
|
-
gap:
|
|
61
|
+
gap: 26px;
|
|
103
62
|
flex-wrap: wrap;
|
|
104
63
|
align-items: center;
|
|
105
64
|
justify-content: center;
|
|
106
|
-
margin-bottom: 20px;
|
|
107
65
|
}
|
|
108
|
-
.
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
66
|
+
.hero-fine {
|
|
67
|
+
display: flex;
|
|
68
|
+
flex-wrap: wrap;
|
|
69
|
+
justify-content: center;
|
|
70
|
+
margin-top: 22px;
|
|
71
|
+
color: var(--idp-fg-3);
|
|
72
|
+
font-size: 13px;
|
|
113
73
|
}
|
|
114
|
-
.
|
|
115
|
-
content: '
|
|
74
|
+
.hero-fine span + span::before {
|
|
75
|
+
content: '·';
|
|
116
76
|
margin: 0 10px;
|
|
77
|
+
color: var(--idp-fg-3);
|
|
117
78
|
}
|
|
118
79
|
.product {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
padding: 0 32px;
|
|
123
|
-
}
|
|
124
|
-
.product-glow {
|
|
125
|
-
position: absolute;
|
|
126
|
-
inset: 30% 10% -10%;
|
|
127
|
-
background: radial-gradient(ellipse, rgba(59,130,246,0.25) 0%, transparent 60%);
|
|
128
|
-
filter: blur(40px);
|
|
129
|
-
pointer-events: none;
|
|
130
|
-
}
|
|
131
|
-
idp-dashboard-window {
|
|
132
|
-
position: relative;
|
|
133
|
-
z-index: 1;
|
|
80
|
+
max-width: 1100px;
|
|
81
|
+
margin: 60px auto 0;
|
|
82
|
+
padding: 0 22px;
|
|
134
83
|
}
|
|
135
84
|
@media (max-width: 760px) {
|
|
136
|
-
.
|
|
137
|
-
padding:
|
|
85
|
+
.hero {
|
|
86
|
+
padding: 64px 0 0;
|
|
138
87
|
}
|
|
139
88
|
}
|
|
140
89
|
`,
|
|
@@ -143,22 +92,28 @@ export class IdpLandingHero extends DeesElement {
|
|
|
143
92
|
public render(): TemplateResult {
|
|
144
93
|
return html`
|
|
145
94
|
<section class="hero">
|
|
146
|
-
<div class="
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
<
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
<idp-button variant="
|
|
95
|
+
<div class="wrap">
|
|
96
|
+
<div class="hero-tag">idp.global</div>
|
|
97
|
+
<h1>One identity. Any scale.<br />Yours forever.</h1>
|
|
98
|
+
<p class="hero-sub">
|
|
99
|
+
An open identity provider for everyone — from a single person to a global enterprise.
|
|
100
|
+
Anchored to Cardano, so it can never be erased or taken away.
|
|
101
|
+
</p>
|
|
102
|
+
<div class="hero-actions">
|
|
103
|
+
<idp-button variant="accent" size="lg">Claim your identity</idp-button>
|
|
104
|
+
<idp-button variant="link" size="lg">See how it works</idp-button>
|
|
155
105
|
</div>
|
|
156
|
-
<div class="
|
|
157
|
-
|
|
158
|
-
<div class="product-glow"></div>
|
|
159
|
-
<idp-dashboard-window></idp-dashboard-window>
|
|
106
|
+
<div class="hero-fine">
|
|
107
|
+
<span>MIT licensed</span><span>Self-hostable</span><span>No credit card</span><span>Cardano mainnet</span>
|
|
160
108
|
</div>
|
|
161
109
|
</div>
|
|
110
|
+
<div class="product" id="product">
|
|
111
|
+
<idp-screenshot-placeholder
|
|
112
|
+
variant="hero"
|
|
113
|
+
label="Console dashboard"
|
|
114
|
+
meta="console.idp.global / overview · 1100 × 620"
|
|
115
|
+
></idp-screenshot-placeholder>
|
|
116
|
+
</div>
|
|
162
117
|
</section>
|
|
163
118
|
`;
|
|
164
119
|
}
|