@idp.global/catalog 2.1.0 → 2.2.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 +21 -0
- package/dist_bundle/bundle.js +1315 -1843
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/idp-admin-sidebar.js +5 -3
- package/dist_ts_web/elements/idp-button.d.ts +6 -0
- package/dist_ts_web/elements/idp-button.js +48 -10
- package/dist_ts_web/elements/idp-consent-card.js +2 -2
- package/dist_ts_web/elements/idp-landing-hero.d.ts +2 -0
- package/dist_ts_web/elements/idp-landing-hero.js +24 -4
- package/dist_ts_web/elements/idp-landing-page.d.ts +14 -0
- package/dist_ts_web/elements/idp-landing-page.js +80 -20
- package/package.json +2 -2
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/idp-admin-sidebar.ts +4 -2
- package/ts_web/elements/idp-button.ts +36 -8
- package/ts_web/elements/idp-consent-card.ts +1 -1
- package/ts_web/elements/idp-landing-hero.ts +9 -3
- package/ts_web/elements/idp-landing-page.ts +83 -19
|
@@ -32,7 +32,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
32
32
|
}
|
|
33
33
|
return useValue ? value : void 0;
|
|
34
34
|
};
|
|
35
|
-
import { DeesElement, html, customElement, css } from '@design.estate/dees-element';
|
|
35
|
+
import { DeesElement, html, customElement, css, property } from '@design.estate/dees-element';
|
|
36
36
|
import { idpElementStyles } from './tokens.js';
|
|
37
37
|
import './idp-badge.js';
|
|
38
38
|
import './idp-button.js';
|
|
@@ -45,16 +45,47 @@ let IdpLandingPage = (() => {
|
|
|
45
45
|
let _classExtraInitializers = [];
|
|
46
46
|
let _classThis;
|
|
47
47
|
let _classSuper = DeesElement;
|
|
48
|
+
let _links_decorators;
|
|
49
|
+
let _links_initializers = [];
|
|
50
|
+
let _links_extraInitializers = [];
|
|
48
51
|
var IdpLandingPage = class extends _classSuper {
|
|
49
52
|
static { _classThis = this; }
|
|
50
53
|
static {
|
|
51
54
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
55
|
+
_links_decorators = [property({ type: Object })];
|
|
56
|
+
__esDecorate(this, null, _links_decorators, { kind: "accessor", name: "links", static: false, private: false, access: { has: obj => "links" in obj, get: obj => obj.links, set: (obj, value) => { obj.links = value; } }, metadata: _metadata }, _links_initializers, _links_extraInitializers);
|
|
52
57
|
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
53
58
|
IdpLandingPage = _classThis = _classDescriptor.value;
|
|
54
59
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
55
60
|
}
|
|
56
61
|
static demo = () => html `<idp-landing-page></idp-landing-page>`;
|
|
57
62
|
static demoGroups = ['idp.global v5 full pages'];
|
|
63
|
+
#links_accessor_storage = __runInitializers(this, _links_initializers, {});
|
|
64
|
+
/**
|
|
65
|
+
* Real navigation targets for the page chrome. Consumers override any subset;
|
|
66
|
+
* labels without a link target stay presentational.
|
|
67
|
+
*/
|
|
68
|
+
get links() { return this.#links_accessor_storage; }
|
|
69
|
+
set links(value) { this.#links_accessor_storage = value; }
|
|
70
|
+
getLinks() {
|
|
71
|
+
return {
|
|
72
|
+
signIn: 'https://idp.global/login',
|
|
73
|
+
claim: 'https://idp.global/register',
|
|
74
|
+
docs: 'https://about.idp.global/docs',
|
|
75
|
+
github: 'https://code.foss.global/idp.global/idp.global',
|
|
76
|
+
contact: 'mailto:hello@task.vc',
|
|
77
|
+
...this.links,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
scrollToSection(eventArg, sectionIdArg) {
|
|
81
|
+
eventArg.preventDefault();
|
|
82
|
+
if (sectionIdArg === 'product') {
|
|
83
|
+
// the product screenshot lives inside the hero's shadow root
|
|
84
|
+
this.shadowRoot?.querySelector('idp-landing-hero')?.scrollIntoView({ behavior: 'smooth', block: 'end' });
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
this.shadowRoot?.getElementById(sectionIdArg)?.scrollIntoView({ behavior: 'smooth' });
|
|
88
|
+
}
|
|
58
89
|
static styles = [
|
|
59
90
|
...idpElementStyles,
|
|
60
91
|
css `
|
|
@@ -804,20 +835,26 @@ let IdpLandingPage = (() => {
|
|
|
804
835
|
`,
|
|
805
836
|
];
|
|
806
837
|
renderNav() {
|
|
838
|
+
const links = this.getLinks();
|
|
839
|
+
const sections = [
|
|
840
|
+
['product', 'Product'],
|
|
841
|
+
['features', 'Features'],
|
|
842
|
+
['chain', 'On-chain'],
|
|
843
|
+
['pricing', 'Pricing'],
|
|
844
|
+
['developers', 'Developers'],
|
|
845
|
+
];
|
|
807
846
|
return html `
|
|
808
847
|
<div class="nav-shell">
|
|
809
848
|
<nav>
|
|
810
|
-
<a class="logo" href="#">idp<span class="logo-dot"></span>global</a>
|
|
849
|
+
<a class="logo" href="#" @click=${(eventArg) => this.scrollToSection(eventArg, 'product')}>idp<span class="logo-dot"></span>global</a>
|
|
811
850
|
<div class="nav-links">
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
<a href="#pricing">Pricing</a>
|
|
816
|
-
<a href="#developers">Developers</a>
|
|
851
|
+
${sections.map(([sectionId, label]) => html `
|
|
852
|
+
<a href="#${sectionId}" @click=${(eventArg) => this.scrollToSection(eventArg, sectionId)}>${label}</a>
|
|
853
|
+
`)}
|
|
817
854
|
</div>
|
|
818
855
|
<div class="actions">
|
|
819
|
-
<a class="nav-signin">Sign in</a>
|
|
820
|
-
<idp-button variant="accent" size="sm">Claim identity</idp-button>
|
|
856
|
+
<a class="nav-signin" href=${links.signIn}>Sign in</a>
|
|
857
|
+
<idp-button variant="accent" size="sm" href=${links.claim}>Claim identity</idp-button>
|
|
821
858
|
</div>
|
|
822
859
|
</nav>
|
|
823
860
|
</div>
|
|
@@ -1006,6 +1043,7 @@ let IdpLandingPage = (() => {
|
|
|
1006
1043
|
`;
|
|
1007
1044
|
}
|
|
1008
1045
|
renderPricing() {
|
|
1046
|
+
const links = this.getLinks();
|
|
1009
1047
|
const tiers = [
|
|
1010
1048
|
{
|
|
1011
1049
|
name: 'Personal',
|
|
@@ -1021,6 +1059,7 @@ let IdpLandingPage = (() => {
|
|
|
1021
1059
|
'Recovery via your other devices',
|
|
1022
1060
|
],
|
|
1023
1061
|
cta: 'Claim your identity',
|
|
1062
|
+
ctaHref: links.claim,
|
|
1024
1063
|
variant: 'tint',
|
|
1025
1064
|
featured: false,
|
|
1026
1065
|
},
|
|
@@ -1038,6 +1077,7 @@ let IdpLandingPage = (() => {
|
|
|
1038
1077
|
'SSO & SCIM included, no upsell',
|
|
1039
1078
|
],
|
|
1040
1079
|
cta: 'Start an organisation',
|
|
1080
|
+
ctaHref: links.claim,
|
|
1041
1081
|
variant: 'accent',
|
|
1042
1082
|
featured: true,
|
|
1043
1083
|
},
|
|
@@ -1055,6 +1095,7 @@ let IdpLandingPage = (() => {
|
|
|
1055
1095
|
'Priority engineering & SLA',
|
|
1056
1096
|
],
|
|
1057
1097
|
cta: 'Talk to us',
|
|
1098
|
+
ctaHref: links.contact,
|
|
1058
1099
|
variant: 'tint',
|
|
1059
1100
|
featured: false,
|
|
1060
1101
|
},
|
|
@@ -1079,7 +1120,7 @@ let IdpLandingPage = (() => {
|
|
|
1079
1120
|
<div class="price">${tierArg.price}<span class="sub">${tierArg.sub}</span></div>
|
|
1080
1121
|
<div class="price-note">${tierArg.note}</div>
|
|
1081
1122
|
<ul class="tier-list">${tierArg.items.map((itemArg) => html `<li>${itemArg}</li>`)}</ul>
|
|
1082
|
-
<idp-button variant=${tierArg.variant}>${tierArg.cta}</idp-button>
|
|
1123
|
+
<idp-button variant=${tierArg.variant} href=${tierArg.ctaHref}>${tierArg.cta}</idp-button>
|
|
1083
1124
|
</div>
|
|
1084
1125
|
`)}
|
|
1085
1126
|
</div>
|
|
@@ -1103,8 +1144,8 @@ let IdpLandingPage = (() => {
|
|
|
1103
1144
|
<p>One CLI. Standard OAuth 2 & OIDC. Native SDKs for Node, Python, Swift, Kotlin, Go, Rust.</p>
|
|
1104
1145
|
<div class="dev-tags">${tags.map((tagArg) => html `<span class="dev-tag">${tagArg}</span>`)}</div>
|
|
1105
1146
|
<div class="dev-actions">
|
|
1106
|
-
<idp-button variant="accent" icon="lucide:github">View on GitHub</idp-button>
|
|
1107
|
-
<idp-button variant="link">Read the docs</idp-button>
|
|
1147
|
+
<idp-button variant="accent" icon="lucide:github" href=${this.getLinks().github}>View on GitHub</idp-button>
|
|
1148
|
+
<idp-button variant="link" href=${this.getLinks().docs}>Read the docs</idp-button>
|
|
1108
1149
|
</div>
|
|
1109
1150
|
</div>
|
|
1110
1151
|
<div class="terminal">
|
|
@@ -1140,7 +1181,7 @@ let IdpLandingPage = (() => {
|
|
|
1140
1181
|
}
|
|
1141
1182
|
renderManifesto() {
|
|
1142
1183
|
return html `
|
|
1143
|
-
<section class="manifesto">
|
|
1184
|
+
<section class="manifesto" id="manifesto">
|
|
1144
1185
|
<div class="wrap">
|
|
1145
1186
|
<div class="eyebrow sm" style="margin-bottom: 24px;">Why we built this</div>
|
|
1146
1187
|
<q>Identity should not be a product the user is sold. It should be a permanent <em>fact</em>, owned by the person it describes.</q>
|
|
@@ -1159,25 +1200,37 @@ let IdpLandingPage = (() => {
|
|
|
1159
1200
|
we disappear.
|
|
1160
1201
|
</p>
|
|
1161
1202
|
<div class="cta-actions">
|
|
1162
|
-
<idp-button variant="accent" size="lg">Claim your identity</idp-button>
|
|
1163
|
-
<idp-button variant="link" size="lg">Read the manifesto</idp-button>
|
|
1203
|
+
<idp-button variant="accent" size="lg" href=${this.getLinks().claim}>Claim your identity</idp-button>
|
|
1204
|
+
<idp-button variant="link" size="lg" @click=${(eventArg) => this.scrollToSection(eventArg, 'manifesto')}>Read the manifesto</idp-button>
|
|
1164
1205
|
</div>
|
|
1165
1206
|
</div>
|
|
1166
1207
|
</section>
|
|
1167
1208
|
`;
|
|
1168
1209
|
}
|
|
1169
1210
|
renderFooter() {
|
|
1211
|
+
const links = this.getLinks();
|
|
1212
|
+
const labelHrefs = {
|
|
1213
|
+
Documentation: links.docs,
|
|
1214
|
+
'API reference': links.docs,
|
|
1215
|
+
'Self-hosting': links.docs,
|
|
1216
|
+
GitHub: links.github,
|
|
1217
|
+
};
|
|
1170
1218
|
const cols = [
|
|
1171
1219
|
['Product', ['For individuals', 'For organisations', 'Enterprise', 'Cardano sync', 'Changelog']],
|
|
1172
1220
|
['Developers', ['Documentation', 'API reference', 'Self-hosting', 'SDKs', 'GitHub']],
|
|
1173
1221
|
['Company', ['Manifesto', 'Blog', 'Security', 'Privacy', 'Terms']],
|
|
1174
1222
|
];
|
|
1223
|
+
const renderFooterLink = (labelArg) => labelHrefs[labelArg]
|
|
1224
|
+
? html `<a href=${labelHrefs[labelArg]}>${labelArg}</a>`
|
|
1225
|
+
: labelArg === 'Manifesto'
|
|
1226
|
+
? html `<a href="#manifesto" @click=${(eventArg) => this.scrollToSection(eventArg, 'manifesto')}>${labelArg}</a>`
|
|
1227
|
+
: html `<a>${labelArg}</a>`;
|
|
1175
1228
|
return html `
|
|
1176
1229
|
<footer>
|
|
1177
1230
|
<div class="wrap-wide">
|
|
1178
1231
|
<div class="footer-cols">
|
|
1179
1232
|
<div class="footer-brand">
|
|
1180
|
-
<a class="logo" href="#">idp<span class="logo-dot"></span>global</a>
|
|
1233
|
+
<a class="logo" href="#" @click=${(eventArg) => this.scrollToSection(eventArg, 'product')}>idp<span class="logo-dot"></span>global</a>
|
|
1181
1234
|
<p>
|
|
1182
1235
|
An open identity provider for everyone — from individuals to enterprises. Anchored on Cardano. Built in
|
|
1183
1236
|
the open. Yours forever.
|
|
@@ -1187,13 +1240,13 @@ let IdpLandingPage = (() => {
|
|
|
1187
1240
|
${cols.map((colArg) => html `
|
|
1188
1241
|
<div class="footer-col">
|
|
1189
1242
|
<h4>${colArg[0]}</h4>
|
|
1190
|
-
<ul>${colArg[1].map((linkArg) => html `<li
|
|
1243
|
+
<ul>${colArg[1].map((linkArg) => html `<li>${renderFooterLink(linkArg)}</li>`)}</ul>
|
|
1191
1244
|
</div>
|
|
1192
1245
|
`)}
|
|
1193
1246
|
</div>
|
|
1194
1247
|
<div class="footer-bottom">
|
|
1195
1248
|
<span>© 2026 idp.global · MIT · Anchored to Cardano</span>
|
|
1196
|
-
<span class="links"><a>Status</a><a>
|
|
1249
|
+
<span class="links"><a>Status</a><a href=${links.github}>GitHub</a></span>
|
|
1197
1250
|
</div>
|
|
1198
1251
|
</div>
|
|
1199
1252
|
</footer>
|
|
@@ -1203,7 +1256,10 @@ let IdpLandingPage = (() => {
|
|
|
1203
1256
|
return html `
|
|
1204
1257
|
<div class="page">
|
|
1205
1258
|
${this.renderNav()}
|
|
1206
|
-
<idp-landing-hero
|
|
1259
|
+
<idp-landing-hero
|
|
1260
|
+
claimHref=${this.getLinks().claim}
|
|
1261
|
+
secondaryHref=${this.getLinks().docs}
|
|
1262
|
+
></idp-landing-hero>
|
|
1207
1263
|
${this.renderProof()}
|
|
1208
1264
|
${this.renderFeatures()}
|
|
1209
1265
|
${this.renderChain()}
|
|
@@ -1215,6 +1271,10 @@ let IdpLandingPage = (() => {
|
|
|
1215
1271
|
</div>
|
|
1216
1272
|
`;
|
|
1217
1273
|
}
|
|
1274
|
+
constructor() {
|
|
1275
|
+
super(...arguments);
|
|
1276
|
+
__runInitializers(this, _links_extraInitializers);
|
|
1277
|
+
}
|
|
1218
1278
|
static {
|
|
1219
1279
|
__runInitializers(_classThis, _classExtraInitializers);
|
|
1220
1280
|
}
|
|
@@ -1222,4 +1282,4 @@ let IdpLandingPage = (() => {
|
|
|
1222
1282
|
return IdpLandingPage = _classThis;
|
|
1223
1283
|
})();
|
|
1224
1284
|
export { IdpLandingPage };
|
|
1225
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRwLWxhbmRpbmctcGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy9pZHAtbGFuZGluZy1wYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUF1QixNQUFNLDZCQUE2QixDQUFDO0FBQ3pHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8saUJBQWlCLENBQUM7QUFDekIsT0FBTyxlQUFlLENBQUM7QUFDdkIsT0FBTyxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLHVCQUF1QixDQUFDO0lBU2xCLGNBQWM7NEJBRDFCLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQzs7OztzQkFDRSxXQUFXOzhCQUFuQixTQUFRLFdBQVc7Ozs7WUFBL0MsNktBOHBDQzs7OztRQTdwQ1EsTUFBTSxDQUFDLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUEsdUNBQXVDLENBQUM7UUFDaEUsTUFBTSxDQUFDLFVBQVUsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFFakQsTUFBTSxDQUFDLE1BQU0sR0FBRztZQUNyQixHQUFHLGdCQUFnQjtZQUNuQixHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
1285
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRwLWxhbmRpbmctcGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy9pZHAtbGFuZGluZy1wYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBdUIsTUFBTSw2QkFBNkIsQ0FBQztBQUNuSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8saUNBQWlDLENBQUM7QUFDekMsT0FBTyx1QkFBdUIsQ0FBQztJQWlCbEIsY0FBYzs0QkFEMUIsYUFBYSxDQUFDLGtCQUFrQixDQUFDOzs7O3NCQUNFLFdBQVc7Ozs7OEJBQW5CLFNBQVEsV0FBVzs7OztpQ0FRNUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQzNCLG9LQUFnQixLQUFLLDZCQUFMLEtBQUsscUZBQWlDO1lBVHhELDZLQXN0Q0M7Ozs7UUFydENRLE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFBLHVDQUF1QyxDQUFDO1FBQ2hFLE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBT3hELHVFQUFtRCxFQUFFLEVBQUM7UUFMdEQ7OztXQUdHO1FBRUgsSUFBZ0IsS0FBSywyQ0FBaUM7UUFBdEQsSUFBZ0IsS0FBSyxpREFBaUM7UUFFOUMsUUFBUTtZQUNkLE9BQU87Z0JBQ0wsTUFBTSxFQUFFLDBCQUEwQjtnQkFDbEMsS0FBSyxFQUFFLDZCQUE2QjtnQkFDcEMsSUFBSSxFQUFFLCtCQUErQjtnQkFDckMsTUFBTSxFQUFFLGdEQUFnRDtn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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@idp.global/catalog",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Web component catalog for idp.global, based on the v5 Apple-system design language.",
|
|
6
6
|
"exports": {
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"author": "Task Venture Capital GmbH",
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@design.estate/dees-catalog": "^3.
|
|
15
|
+
"@design.estate/dees-catalog": "^3.90.1",
|
|
16
16
|
"@design.estate/dees-domtools": "^2.5.6",
|
|
17
17
|
"@design.estate/dees-element": "^2.2.4",
|
|
18
18
|
"@design.estate/dees-wcctools": "^3.9.0",
|
|
@@ -60,7 +60,8 @@ export class IdpAdminSidebar extends DeesElement {
|
|
|
60
60
|
min-height: 0;
|
|
61
61
|
display: flex;
|
|
62
62
|
flex-direction: column;
|
|
63
|
-
|
|
63
|
+
/* visible so the user menu can be wider than the sidebar column */
|
|
64
|
+
overflow: visible;
|
|
64
65
|
border-right: 1px solid var(--idp-border);
|
|
65
66
|
background: var(--idp-bg);
|
|
66
67
|
}
|
|
@@ -285,7 +286,8 @@ export class IdpAdminSidebar extends DeesElement {
|
|
|
285
286
|
position: absolute;
|
|
286
287
|
bottom: calc(100% + 2px);
|
|
287
288
|
left: 8px;
|
|
288
|
-
|
|
289
|
+
width: 252px;
|
|
290
|
+
max-width: calc(100vw - 24px);
|
|
289
291
|
z-index: 40;
|
|
290
292
|
padding: 4px;
|
|
291
293
|
background: var(--idp-card);
|
|
@@ -57,6 +57,16 @@ export class IdpButton extends DeesElement {
|
|
|
57
57
|
@property({ type: Boolean, reflect: true })
|
|
58
58
|
public accessor loading = false;
|
|
59
59
|
|
|
60
|
+
/**
|
|
61
|
+
* When set, the button renders as a real anchor so it works as a link
|
|
62
|
+
* (new-tab, middle-click, crawlers) without any host-side click wiring.
|
|
63
|
+
*/
|
|
64
|
+
@property({ type: String })
|
|
65
|
+
public accessor href = '';
|
|
66
|
+
|
|
67
|
+
@property({ type: String })
|
|
68
|
+
public accessor target = '';
|
|
69
|
+
|
|
60
70
|
public static styles = [
|
|
61
71
|
...idpElementStyles,
|
|
62
72
|
css`
|
|
@@ -69,10 +79,12 @@ export class IdpButton extends DeesElement {
|
|
|
69
79
|
:host([block]) {
|
|
70
80
|
display: block;
|
|
71
81
|
}
|
|
72
|
-
:host([block]) button
|
|
82
|
+
:host([block]) button,
|
|
83
|
+
:host([block]) a {
|
|
73
84
|
width: 100%;
|
|
74
85
|
}
|
|
75
|
-
button
|
|
86
|
+
button,
|
|
87
|
+
a {
|
|
76
88
|
display: inline-flex;
|
|
77
89
|
align-items: center;
|
|
78
90
|
justify-content: center;
|
|
@@ -87,10 +99,16 @@ export class IdpButton extends DeesElement {
|
|
|
87
99
|
cursor: pointer;
|
|
88
100
|
transition: background 120ms ease, color 120ms ease, border-color 120ms ease, transform 80ms ease;
|
|
89
101
|
}
|
|
90
|
-
|
|
102
|
+
a {
|
|
103
|
+
text-decoration: none;
|
|
104
|
+
box-sizing: border-box;
|
|
105
|
+
}
|
|
106
|
+
button:active:not(:disabled),
|
|
107
|
+
a:active {
|
|
91
108
|
transform: translateY(1px);
|
|
92
109
|
}
|
|
93
|
-
button:focus-visible
|
|
110
|
+
button:focus-visible,
|
|
111
|
+
a:focus-visible {
|
|
94
112
|
outline: 2px solid color-mix(in srgb, var(--idp-accent), transparent 68%);
|
|
95
113
|
outline-offset: 2px;
|
|
96
114
|
}
|
|
@@ -212,12 +230,22 @@ export class IdpButton extends DeesElement {
|
|
|
212
230
|
];
|
|
213
231
|
|
|
214
232
|
public render(): TemplateResult {
|
|
233
|
+
const contentTemplate = html`
|
|
234
|
+
${this.loading
|
|
235
|
+
? html`<span class="spinner" aria-hidden="true"></span>`
|
|
236
|
+
: this.icon ? html`<idp-icon name=${this.icon as any} size="14"></idp-icon>` : html``}
|
|
237
|
+
<slot></slot>
|
|
238
|
+
`;
|
|
239
|
+
if (this.href && !this.disabled) {
|
|
240
|
+
return html`
|
|
241
|
+
<a class="${this.variant} ${this.size} ${this.shape === 'rect' ? 'rect' : ''}" href=${this.href} target=${this.target || ''} part="button">
|
|
242
|
+
${contentTemplate}
|
|
243
|
+
</a>
|
|
244
|
+
`;
|
|
245
|
+
}
|
|
215
246
|
return html`
|
|
216
247
|
<button class="${this.variant} ${this.size} ${this.shape === 'rect' ? 'rect' : ''}" type=${this.type} ?disabled=${this.disabled || this.loading} part="button">
|
|
217
|
-
${
|
|
218
|
-
? html`<span class="spinner" aria-hidden="true"></span>`
|
|
219
|
-
: this.icon ? html`<idp-icon name=${this.icon as any} size="14"></idp-icon>` : html``}
|
|
220
|
-
<slot></slot>
|
|
248
|
+
${contentTemplate}
|
|
221
249
|
</button>
|
|
222
250
|
`;
|
|
223
251
|
}
|
|
@@ -95,7 +95,7 @@ export class IdpConsentCard extends DeesElement {
|
|
|
95
95
|
|
|
96
96
|
public render(): TemplateResult {
|
|
97
97
|
return html`
|
|
98
|
-
<idp-auth-card heading="${this.appName} wants access" description="This will allow ${this.appName} to:">
|
|
98
|
+
<idp-auth-card heading="${this.appName} wants to access your idp.global account" description="This will allow ${this.appName} to:">
|
|
99
99
|
<idp-app-pair
|
|
100
100
|
slot="top"
|
|
101
101
|
appName=${this.appName}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DeesElement, html, customElement, css, type TemplateResult } from '@design.estate/dees-element';
|
|
1
|
+
import { DeesElement, html, customElement, css, property, type TemplateResult } from '@design.estate/dees-element';
|
|
2
2
|
import { idpElementStyles } from './tokens.js';
|
|
3
3
|
import './idp-button.js';
|
|
4
4
|
import './idp-screenshot-placeholder.js';
|
|
@@ -14,6 +14,12 @@ export class IdpLandingHero extends DeesElement {
|
|
|
14
14
|
public static demo = () => html`<idp-landing-hero></idp-landing-hero>`;
|
|
15
15
|
public static demoGroups = ['idp.global v5 composed surfaces'];
|
|
16
16
|
|
|
17
|
+
@property({ type: String })
|
|
18
|
+
public accessor claimHref = '';
|
|
19
|
+
|
|
20
|
+
@property({ type: String })
|
|
21
|
+
public accessor secondaryHref = '';
|
|
22
|
+
|
|
17
23
|
public static styles = [
|
|
18
24
|
...idpElementStyles,
|
|
19
25
|
css`
|
|
@@ -100,8 +106,8 @@ export class IdpLandingHero extends DeesElement {
|
|
|
100
106
|
Anchored to Cardano, so it can never be erased or taken away.
|
|
101
107
|
</p>
|
|
102
108
|
<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>
|
|
109
|
+
<idp-button variant="accent" size="lg" href=${this.claimHref}>Claim your identity</idp-button>
|
|
110
|
+
<idp-button variant="link" size="lg" href=${this.secondaryHref}>See how it works</idp-button>
|
|
105
111
|
</div>
|
|
106
112
|
<div class="hero-fine">
|
|
107
113
|
<span>MIT licensed</span><span>Self-hostable</span><span>No credit card</span><span>Cardano mainnet</span>
|