@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
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@idp.global/catalog',
|
|
6
|
-
version: '
|
|
7
|
-
description: 'Web component catalog for idp.global, based on the
|
|
6
|
+
version: '2.0.0',
|
|
7
|
+
description: 'Web component catalog for idp.global, based on the v5 Apple-system design language.'
|
|
8
8
|
};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUscUJBQXFCO0lBQzNCLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFdBQVcsRUFBRSxxRkFBcUY7Q0FDbkcsQ0FBQSJ9
|
|
@@ -62,7 +62,7 @@ let IdpBadge = (() => {
|
|
|
62
62
|
<idp-badge variant="error">Denied</idp-badge>
|
|
63
63
|
</div>
|
|
64
64
|
`;
|
|
65
|
-
static demoGroups = ['idp.global
|
|
65
|
+
static demoGroups = ['idp.global v5 primitives'];
|
|
66
66
|
#variant_accessor_storage = __runInitializers(this, _variant_initializers, 'default');
|
|
67
67
|
get variant() { return this.#variant_accessor_storage; }
|
|
68
68
|
set variant(value) { this.#variant_accessor_storage = value; }
|
|
@@ -75,15 +75,15 @@ let IdpBadge = (() => {
|
|
|
75
75
|
.badge {
|
|
76
76
|
display: inline-flex;
|
|
77
77
|
align-items: center;
|
|
78
|
-
gap:
|
|
79
|
-
padding:
|
|
78
|
+
gap: 5px;
|
|
79
|
+
padding: 3px 9px;
|
|
80
80
|
border: 1px solid transparent;
|
|
81
|
-
border-radius:
|
|
82
|
-
font-family: var(--idp-
|
|
83
|
-
font-size:
|
|
84
|
-
font-weight:
|
|
81
|
+
border-radius: var(--idp-radius-pill);
|
|
82
|
+
font-family: var(--idp-font);
|
|
83
|
+
font-size: 12px;
|
|
84
|
+
font-weight: 590;
|
|
85
85
|
letter-spacing: -0.01em;
|
|
86
|
-
line-height:
|
|
86
|
+
line-height: 15px;
|
|
87
87
|
}
|
|
88
88
|
.default {
|
|
89
89
|
background: var(--idp-muted);
|
|
@@ -108,9 +108,6 @@ let IdpBadge = (() => {
|
|
|
108
108
|
color: var(--idp-error);
|
|
109
109
|
border-color: var(--idp-error-border);
|
|
110
110
|
}
|
|
111
|
-
.accent {
|
|
112
|
-
border-color: var(--idp-info-border);
|
|
113
|
-
}
|
|
114
111
|
.outline {
|
|
115
112
|
background: transparent;
|
|
116
113
|
color: var(--idp-fg);
|
|
@@ -132,4 +129,4 @@ let IdpBadge = (() => {
|
|
|
132
129
|
return IdpBadge = _classThis;
|
|
133
130
|
})();
|
|
134
131
|
export { IdpBadge };
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRwLWJhZGdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViL2VsZW1lbnRzL2lkcC1iYWRnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQXVCLE1BQU0sNkJBQTZCLENBQUM7QUFDbkgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0lBV2xDLFFBQVE7NEJBRHBCLGFBQWEsQ0FBQyxXQUFXLENBQUM7Ozs7c0JBQ0csV0FBVzs7Ozt3QkFBbkIsU0FBUSxXQUFXOzs7O21DQVl0QyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDM0IsMEtBQWdCLE9BQU8sNkJBQVAsT0FBTyx5RkFBK0I7WUFieEQsNktBb0VDOzs7O1FBbkVRLE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFBOzs7Ozs7OztHQVE5QixDQUFDO1FBQ0ssTUFBTSxDQUFDLFVBQVUsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFHeEQsMkVBQTRDLFNBQVMsRUFBQztRQUF0RCxJQUFnQixPQUFPLDZDQUErQjtRQUF0RCxJQUFnQixPQUFPLG1EQUErQjtRQUUvQyxNQUFNLENBQUMsTUFBTSxHQUFHO1lBQ3JCLEdBQUcsZ0JBQWdCO1lBQ25CLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBNkNGO1NBQ0YsQ0FBQztRQUVLLE1BQU07WUFDWCxPQUFPLElBQUksQ0FBQSxzQkFBc0IsSUFBSSxDQUFDLE9BQU8sd0JBQXdCLENBQUM7UUFDeEUsQ0FBQzs7Ozs7O1lBbkVVLHVEQUFROzs7OztTQUFSLFFBQVEifQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
|
2
2
|
import './idp-icon.js';
|
|
3
|
-
export type TIdpButtonVariant = 'default' | 'secondary' | 'outline' | 'ghost' | 'destructive' | 'accent';
|
|
3
|
+
export type TIdpButtonVariant = 'default' | 'secondary' | 'outline' | 'ghost' | 'destructive' | 'accent' | 'tint' | 'link';
|
|
4
4
|
export type TIdpButtonSize = 'sm' | 'md' | 'lg';
|
|
5
5
|
declare global {
|
|
6
6
|
interface HTMLElementTagNameMap {
|
|
@@ -80,15 +80,16 @@ let IdpButton = (() => {
|
|
|
80
80
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
81
81
|
}
|
|
82
82
|
static demo = () => html `
|
|
83
|
-
<div style="display: flex; gap: 10px; flex-wrap: wrap;">
|
|
84
|
-
<idp-button>
|
|
85
|
-
<idp-button variant="
|
|
83
|
+
<div style="display: flex; gap: 10px; flex-wrap: wrap; align-items: center;">
|
|
84
|
+
<idp-button variant="accent">Claim identity</idp-button>
|
|
85
|
+
<idp-button variant="tint">Talk to us</idp-button>
|
|
86
86
|
<idp-button variant="outline">Deny</idp-button>
|
|
87
87
|
<idp-button variant="ghost">Ghost</idp-button>
|
|
88
|
+
<idp-button variant="link">See how it works</idp-button>
|
|
88
89
|
<idp-button variant="destructive">Delete</idp-button>
|
|
89
90
|
</div>
|
|
90
91
|
`;
|
|
91
|
-
static demoGroups = ['idp.global
|
|
92
|
+
static demoGroups = ['idp.global v5 primitives'];
|
|
92
93
|
#variant_accessor_storage = __runInitializers(this, _variant_initializers, 'default');
|
|
93
94
|
get variant() { return this.#variant_accessor_storage; }
|
|
94
95
|
set variant(value) { this.#variant_accessor_storage = value; }
|
|
@@ -122,9 +123,10 @@ let IdpButton = (() => {
|
|
|
122
123
|
justify-content: center;
|
|
123
124
|
gap: 6px;
|
|
124
125
|
border: 1px solid transparent;
|
|
125
|
-
border-radius:
|
|
126
|
+
border-radius: var(--idp-radius-pill);
|
|
126
127
|
font-family: var(--idp-font);
|
|
127
128
|
font-weight: 500;
|
|
129
|
+
line-height: 1.4;
|
|
128
130
|
letter-spacing: -0.01em;
|
|
129
131
|
white-space: nowrap;
|
|
130
132
|
cursor: pointer;
|
|
@@ -142,19 +144,16 @@ let IdpButton = (() => {
|
|
|
142
144
|
cursor: not-allowed;
|
|
143
145
|
}
|
|
144
146
|
.sm {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
font-size: 13px;
|
|
147
|
+
padding: 6px 14px;
|
|
148
|
+
font-size: 14px;
|
|
148
149
|
}
|
|
149
150
|
.md {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
font-size: 14px;
|
|
151
|
+
padding: 8px 18px;
|
|
152
|
+
font-size: 17px;
|
|
153
153
|
}
|
|
154
154
|
.lg {
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
font-size: 15px;
|
|
155
|
+
padding: 11px 24px;
|
|
156
|
+
font-size: 19px;
|
|
158
157
|
}
|
|
159
158
|
.default {
|
|
160
159
|
background: var(--idp-primary);
|
|
@@ -166,11 +165,35 @@ let IdpButton = (() => {
|
|
|
166
165
|
.accent {
|
|
167
166
|
background: var(--idp-accent);
|
|
168
167
|
color: var(--idp-accent-fg);
|
|
169
|
-
box-shadow: 0 4px 14px color-mix(in srgb, var(--idp-accent), transparent 64%);
|
|
170
168
|
}
|
|
171
169
|
.accent:hover:not(:disabled) {
|
|
172
170
|
background: var(--idp-accent-hover);
|
|
173
171
|
}
|
|
172
|
+
.tint {
|
|
173
|
+
background: var(--idp-accent-soft);
|
|
174
|
+
color: var(--idp-accent);
|
|
175
|
+
}
|
|
176
|
+
.tint:hover:not(:disabled) {
|
|
177
|
+
background: color-mix(in srgb, var(--idp-accent-soft), var(--idp-accent) 12%);
|
|
178
|
+
}
|
|
179
|
+
.link {
|
|
180
|
+
background: transparent;
|
|
181
|
+
color: var(--idp-accent);
|
|
182
|
+
padding: 0;
|
|
183
|
+
border-radius: 0;
|
|
184
|
+
}
|
|
185
|
+
.link:hover:not(:disabled) {
|
|
186
|
+
text-decoration: underline;
|
|
187
|
+
}
|
|
188
|
+
.link::after {
|
|
189
|
+
content: '›';
|
|
190
|
+
font-size: 1.15em;
|
|
191
|
+
line-height: 0;
|
|
192
|
+
transition: transform 160ms ease;
|
|
193
|
+
}
|
|
194
|
+
.link:hover:not(:disabled)::after {
|
|
195
|
+
transform: translateX(2px);
|
|
196
|
+
}
|
|
174
197
|
.secondary {
|
|
175
198
|
background: var(--idp-muted);
|
|
176
199
|
color: var(--idp-fg);
|
|
@@ -231,4 +254,4 @@ let IdpButton = (() => {
|
|
|
231
254
|
return IdpButton = _classThis;
|
|
232
255
|
})();
|
|
233
256
|
export { IdpButton };
|
|
234
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
257
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRwLWJ1dHRvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy9pZHAtYnV0dG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLElBQUksRUFDSixRQUFRLEVBQ1IsYUFBYSxFQUNiLEdBQUcsR0FFSixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLGVBQWUsQ0FBQztJQVlWLFNBQVM7NEJBRHJCLGFBQWEsQ0FBQyxZQUFZLENBQUM7Ozs7c0JBQ0csV0FBVzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozt5QkFBbkIsU0FBUSxXQUFXOzs7O21DQWF2QyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0NBRzFCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztnQ0FHMUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO2dDQUcxQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7b0NBRzFCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO21DQUcxQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztZQWQzQywwS0FBZ0IsT0FBTyw2QkFBUCxPQUFPLHlGQUFnQztZQUd2RCxpS0FBZ0IsSUFBSSw2QkFBSixJQUFJLG1GQUF3QjtZQUc1QyxpS0FBZ0IsSUFBSSw2QkFBSixJQUFJLG1GQUFNO1lBRzFCLGlLQUFnQixJQUFJLDZCQUFKLElBQUksbUZBQTJDO1lBRy9ELDZLQUFnQixRQUFRLDZCQUFSLFFBQVEsMkZBQVM7WUFHakMsMEtBQWdCLE9BQU8sNkJBQVAsT0FBTyx5RkFBUztZQTdCbEMsNktBdUtDOzs7O1FBdEtRLE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFBOzs7Ozs7Ozs7R0FTOUIsQ0FBQztRQUNLLE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBR3hELDJFQUE2QyxTQUFTLEVBQUM7UUFBdkQsSUFBZ0IsT0FBTyw2Q0FBZ0M7UUFBdkQsSUFBZ0IsT0FBTyxtREFBZ0M7UUFHdkQsMkhBQXVDLElBQUksR0FBQztRQUE1QyxJQUFnQixJQUFJLDBDQUF3QjtRQUE1QyxJQUFnQixJQUFJLGdEQUF3QjtRQUc1Qyx3SEFBdUIsRUFBRSxHQUFDO1FBQTFCLElBQWdCLElBQUksMENBQU07UUFBMUIsSUFBZ0IsSUFBSSxnREFBTTtRQUcxQix3SEFBc0QsUUFBUSxHQUFDO1FBQS9ELElBQWdCLElBQUksMENBQTJDO1FBQS9ELElBQWdCLElBQUksZ0RBQTJDO1FBRy9ELGdJQUEyQixLQUFLLEdBQUM7UUFBakMsSUFBZ0IsUUFBUSw4Q0FBUztRQUFqQyxJQUFnQixRQUFRLG9EQUFTO1FBR2pDLGtJQUEwQixLQUFLLEdBQUM7UUFBaEMsSUFBZ0IsT0FBTyw2Q0FBUztRQUFoQyxJQUFnQixPQUFPLG1EQUFTO1FBRXpCLE1BQU0sQ0FBQyxNQUFNLEdBQUc7WUFDckIsR0FBRyxnQkFBZ0I7WUFDbkIsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBeUhGO1NBQ0YsQ0FBQztRQUVLLE1BQU07WUFDWCxPQUFPLElBQUksQ0FBQTt1QkFDUSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLFVBQVUsSUFBSSxDQUFDLElBQUksY0FBYyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPO1VBQ3BHLElBQUksQ0FBQyxPQUFPO2dCQUNaLENBQUMsQ0FBQyxJQUFJLENBQUEsa0RBQWtEO2dCQUN4RCxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBLGtCQUFrQixJQUFJLENBQUMsSUFBVyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBLEVBQUU7OztLQUcxRixDQUFDO1FBQ0osQ0FBQzs7Ozs7O1lBdEtVLHVEQUFTOzs7OztTQUFULFNBQVMifQ==
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
|
2
2
|
import './idp-button.js';
|
|
3
|
-
import './idp-
|
|
4
|
-
import './idp-icon.js';
|
|
3
|
+
import './idp-screenshot-placeholder.js';
|
|
5
4
|
declare global {
|
|
6
5
|
interface HTMLElementTagNameMap {
|
|
7
6
|
'idp-landing-hero': IdpLandingHero;
|
|
@@ -35,8 +35,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
35
35
|
import { DeesElement, html, customElement, css } from '@design.estate/dees-element';
|
|
36
36
|
import { idpElementStyles } from './tokens.js';
|
|
37
37
|
import './idp-button.js';
|
|
38
|
-
import './idp-
|
|
39
|
-
import './idp-icon.js';
|
|
38
|
+
import './idp-screenshot-placeholder.js';
|
|
40
39
|
let IdpLandingHero = (() => {
|
|
41
40
|
let _classDecorators = [customElement('idp-landing-hero')];
|
|
42
41
|
let _classDescriptor;
|
|
@@ -52,127 +51,77 @@ let IdpLandingHero = (() => {
|
|
|
52
51
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
53
52
|
}
|
|
54
53
|
static demo = () => html `<idp-landing-hero></idp-landing-hero>`;
|
|
55
|
-
static demoGroups = ['idp.global
|
|
54
|
+
static demoGroups = ['idp.global v5 composed surfaces'];
|
|
56
55
|
static styles = [
|
|
57
56
|
...idpElementStyles,
|
|
58
57
|
css `
|
|
59
58
|
:host {
|
|
60
59
|
display: block;
|
|
61
|
-
|
|
62
|
-
.hero {
|
|
63
|
-
position: relative;
|
|
64
|
-
overflow: hidden;
|
|
65
|
-
background: var(--idp-bg);
|
|
60
|
+
background: var(--idp-card);
|
|
66
61
|
color: var(--idp-fg);
|
|
67
|
-
border-bottom: 1px solid var(--idp-border-soft);
|
|
68
|
-
}
|
|
69
|
-
.grid {
|
|
70
|
-
position: absolute;
|
|
71
|
-
inset: 0;
|
|
72
|
-
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);
|
|
73
|
-
background-size: 56px 56px;
|
|
74
|
-
mask-image: radial-gradient(ellipse 80% 60% at 50% 0%, #000 30%, transparent 70%);
|
|
75
|
-
pointer-events: none;
|
|
76
62
|
}
|
|
77
|
-
.
|
|
78
|
-
|
|
79
|
-
top: -220px;
|
|
80
|
-
left: 50%;
|
|
81
|
-
width: 900px;
|
|
82
|
-
height: 600px;
|
|
83
|
-
transform: translateX(-50%);
|
|
84
|
-
background: radial-gradient(ellipse, rgba(59,130,246,0.18) 0%, transparent 60%);
|
|
85
|
-
pointer-events: none;
|
|
86
|
-
}
|
|
87
|
-
.inner {
|
|
88
|
-
position: relative;
|
|
89
|
-
z-index: 1;
|
|
90
|
-
max-width: 1240px;
|
|
91
|
-
margin: 0 auto;
|
|
92
|
-
padding: 96px 32px 0;
|
|
63
|
+
.hero {
|
|
64
|
+
padding: 84px 0 0;
|
|
93
65
|
text-align: center;
|
|
94
66
|
}
|
|
95
|
-
.
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
margin-bottom: 28px;
|
|
100
|
-
padding: 5px 12px 5px 8px;
|
|
101
|
-
border: 1px solid var(--idp-border);
|
|
102
|
-
border-radius: 999px;
|
|
103
|
-
background: var(--idp-muted);
|
|
104
|
-
color: var(--idp-fg-3);
|
|
105
|
-
font-size: 12px;
|
|
67
|
+
.wrap {
|
|
68
|
+
max-width: 1024px;
|
|
69
|
+
margin: 0 auto;
|
|
70
|
+
padding: 0 22px;
|
|
106
71
|
}
|
|
107
|
-
.
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
color: var(--idp-accent-hover);
|
|
112
|
-
font-family: var(--idp-mono);
|
|
113
|
-
font-size: 10px;
|
|
72
|
+
.hero-tag {
|
|
73
|
+
margin-bottom: 6px;
|
|
74
|
+
color: var(--idp-accent);
|
|
75
|
+
font-size: 21px;
|
|
114
76
|
font-weight: 600;
|
|
115
|
-
letter-spacing: 0.
|
|
77
|
+
letter-spacing: -0.02em;
|
|
116
78
|
}
|
|
117
79
|
h1 {
|
|
118
|
-
|
|
119
|
-
|
|
80
|
+
max-width: 16ch;
|
|
81
|
+
margin: 0 auto 22px;
|
|
120
82
|
font-family: var(--idp-display);
|
|
83
|
+
font-size: clamp(48px, 7vw, 96px);
|
|
121
84
|
font-weight: 700;
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
}
|
|
125
|
-
h1 em {
|
|
126
|
-
color: var(--idp-accent-hover);
|
|
127
|
-
font-family: var(--idp-serif);
|
|
128
|
-
font-style: italic;
|
|
129
|
-
font-weight: 400;
|
|
85
|
+
line-height: 1.04;
|
|
86
|
+
letter-spacing: -0.025em;
|
|
130
87
|
}
|
|
131
|
-
.sub {
|
|
132
|
-
max-width:
|
|
133
|
-
margin: 0 auto
|
|
88
|
+
.hero-sub {
|
|
89
|
+
max-width: 600px;
|
|
90
|
+
margin: 0 auto 28px;
|
|
134
91
|
color: var(--idp-fg-3);
|
|
135
|
-
font-size: clamp(
|
|
136
|
-
|
|
92
|
+
font-size: clamp(19px, 2vw, 24px);
|
|
93
|
+
font-weight: 400;
|
|
94
|
+
line-height: 1.4;
|
|
95
|
+
letter-spacing: -0.01em;
|
|
137
96
|
}
|
|
138
|
-
.actions {
|
|
97
|
+
.hero-actions {
|
|
139
98
|
display: flex;
|
|
140
|
-
gap:
|
|
99
|
+
gap: 26px;
|
|
141
100
|
flex-wrap: wrap;
|
|
142
101
|
align-items: center;
|
|
143
102
|
justify-content: center;
|
|
144
|
-
margin-bottom: 20px;
|
|
145
103
|
}
|
|
146
|
-
.
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
104
|
+
.hero-fine {
|
|
105
|
+
display: flex;
|
|
106
|
+
flex-wrap: wrap;
|
|
107
|
+
justify-content: center;
|
|
108
|
+
margin-top: 22px;
|
|
109
|
+
color: var(--idp-fg-3);
|
|
110
|
+
font-size: 13px;
|
|
151
111
|
}
|
|
152
|
-
.
|
|
153
|
-
content: '
|
|
112
|
+
.hero-fine span + span::before {
|
|
113
|
+
content: '·';
|
|
154
114
|
margin: 0 10px;
|
|
115
|
+
color: var(--idp-fg-3);
|
|
155
116
|
}
|
|
156
117
|
.product {
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
padding: 0 32px;
|
|
161
|
-
}
|
|
162
|
-
.product-glow {
|
|
163
|
-
position: absolute;
|
|
164
|
-
inset: 30% 10% -10%;
|
|
165
|
-
background: radial-gradient(ellipse, rgba(59,130,246,0.25) 0%, transparent 60%);
|
|
166
|
-
filter: blur(40px);
|
|
167
|
-
pointer-events: none;
|
|
168
|
-
}
|
|
169
|
-
idp-dashboard-window {
|
|
170
|
-
position: relative;
|
|
171
|
-
z-index: 1;
|
|
118
|
+
max-width: 1100px;
|
|
119
|
+
margin: 60px auto 0;
|
|
120
|
+
padding: 0 22px;
|
|
172
121
|
}
|
|
173
122
|
@media (max-width: 760px) {
|
|
174
|
-
.
|
|
175
|
-
padding:
|
|
123
|
+
.hero {
|
|
124
|
+
padding: 64px 0 0;
|
|
176
125
|
}
|
|
177
126
|
}
|
|
178
127
|
`,
|
|
@@ -180,22 +129,28 @@ let IdpLandingHero = (() => {
|
|
|
180
129
|
render() {
|
|
181
130
|
return html `
|
|
182
131
|
<section class="hero">
|
|
183
|
-
<div class="
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
<
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
<idp-button variant="
|
|
132
|
+
<div class="wrap">
|
|
133
|
+
<div class="hero-tag">idp.global</div>
|
|
134
|
+
<h1>One identity. Any scale.<br />Yours forever.</h1>
|
|
135
|
+
<p class="hero-sub">
|
|
136
|
+
An open identity provider for everyone — from a single person to a global enterprise.
|
|
137
|
+
Anchored to Cardano, so it can never be erased or taken away.
|
|
138
|
+
</p>
|
|
139
|
+
<div class="hero-actions">
|
|
140
|
+
<idp-button variant="accent" size="lg">Claim your identity</idp-button>
|
|
141
|
+
<idp-button variant="link" size="lg">See how it works</idp-button>
|
|
192
142
|
</div>
|
|
193
|
-
<div class="
|
|
194
|
-
|
|
195
|
-
<div class="product-glow"></div>
|
|
196
|
-
<idp-dashboard-window></idp-dashboard-window>
|
|
143
|
+
<div class="hero-fine">
|
|
144
|
+
<span>MIT licensed</span><span>Self-hostable</span><span>No credit card</span><span>Cardano mainnet</span>
|
|
197
145
|
</div>
|
|
198
146
|
</div>
|
|
147
|
+
<div class="product" id="product">
|
|
148
|
+
<idp-screenshot-placeholder
|
|
149
|
+
variant="hero"
|
|
150
|
+
label="Console dashboard"
|
|
151
|
+
meta="console.idp.global / overview · 1100 × 620"
|
|
152
|
+
></idp-screenshot-placeholder>
|
|
153
|
+
</div>
|
|
199
154
|
</section>
|
|
200
155
|
`;
|
|
201
156
|
}
|
|
@@ -206,4 +161,4 @@ let IdpLandingHero = (() => {
|
|
|
206
161
|
return IdpLandingHero = _classThis;
|
|
207
162
|
})();
|
|
208
163
|
export { IdpLandingHero };
|
|
209
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRwLWxhbmRpbmctaGVyby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy9pZHAtbGFuZGluZy1oZXJvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUF1QixNQUFNLDZCQUE2QixDQUFDO0FBQ3pHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8saUNBQWlDLENBQUM7SUFTNUIsY0FBYzs0QkFEMUIsYUFBYSxDQUFDLGtCQUFrQixDQUFDOzs7O3NCQUNFLFdBQVc7OEJBQW5CLFNBQVEsV0FBVzs7OztZQUEvQyw2S0EyR0M7Ozs7UUExR1EsTUFBTSxDQUFDLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUEsdUNBQXVDLENBQUM7UUFDaEUsTUFBTSxDQUFDLFVBQVUsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7UUFFeEQsTUFBTSxDQUFDLE1BQU0sR0FBRztZQUNyQixHQUFHLGdCQUFnQjtZQUNuQixHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FzRUY7U0FDRixDQUFDO1FBRUssTUFBTTtZQUNYLE9BQU8sSUFBSSxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBeUJWLENBQUM7UUFDSixDQUFDOztZQTFHVSx1REFBYzs7Ozs7U0FBZCxjQUFjIn0=
|
|
@@ -2,6 +2,7 @@ import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
|
|
2
2
|
import './idp-badge.js';
|
|
3
3
|
import './idp-button.js';
|
|
4
4
|
import './idp-icon.js';
|
|
5
|
+
import './idp-screenshot-placeholder.js';
|
|
5
6
|
import './idp-landing-hero.js';
|
|
6
7
|
declare global {
|
|
7
8
|
interface HTMLElementTagNameMap {
|
|
@@ -13,9 +14,13 @@ export declare class IdpLandingPage extends DeesElement {
|
|
|
13
14
|
static demoGroups: string[];
|
|
14
15
|
static styles: import("@design.estate/dees-element").CSSResult[];
|
|
15
16
|
private renderNav;
|
|
17
|
+
private renderProof;
|
|
16
18
|
private renderFeatures;
|
|
17
19
|
private renderChain;
|
|
18
20
|
private renderPricing;
|
|
19
21
|
private renderDevelopers;
|
|
22
|
+
private renderManifesto;
|
|
23
|
+
private renderCta;
|
|
24
|
+
private renderFooter;
|
|
20
25
|
render(): TemplateResult;
|
|
21
26
|
}
|