@idp.global/catalog 2.1.1 → 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 +9 -0
- package/dist_bundle/bundle.js +831 -816
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- 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-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 +1 -1
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/idp-button.ts +36 -8
- package/ts_web/elements/idp-landing-hero.ts +9 -3
- package/ts_web/elements/idp-landing-page.ts +83 -19
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@idp.global/catalog',
|
|
6
|
-
version: '2.
|
|
6
|
+
version: '2.2.0',
|
|
7
7
|
description: 'Web component catalog for idp.global, based on the v5 Apple-system design language.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUscUJBQXFCO0lBQzNCLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFdBQVcsRUFBRSxxRkFBcUY7Q0FDbkcsQ0FBQSJ9
|
|
@@ -19,6 +19,12 @@ export declare class IdpButton extends DeesElement {
|
|
|
19
19
|
accessor type: 'button' | 'submit' | 'reset';
|
|
20
20
|
accessor disabled: boolean;
|
|
21
21
|
accessor loading: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* When set, the button renders as a real anchor so it works as a link
|
|
24
|
+
* (new-tab, middle-click, crawlers) without any host-side click wiring.
|
|
25
|
+
*/
|
|
26
|
+
accessor href: string;
|
|
27
|
+
accessor target: string;
|
|
22
28
|
static styles: import("@design.estate/dees-element").CSSResult[];
|
|
23
29
|
render(): TemplateResult;
|
|
24
30
|
}
|
|
@@ -65,6 +65,12 @@ let IdpButton = (() => {
|
|
|
65
65
|
let _loading_decorators;
|
|
66
66
|
let _loading_initializers = [];
|
|
67
67
|
let _loading_extraInitializers = [];
|
|
68
|
+
let _href_decorators;
|
|
69
|
+
let _href_initializers = [];
|
|
70
|
+
let _href_extraInitializers = [];
|
|
71
|
+
let _target_decorators;
|
|
72
|
+
let _target_initializers = [];
|
|
73
|
+
let _target_extraInitializers = [];
|
|
68
74
|
var IdpButton = class extends _classSuper {
|
|
69
75
|
static { _classThis = this; }
|
|
70
76
|
static {
|
|
@@ -77,6 +83,8 @@ let IdpButton = (() => {
|
|
|
77
83
|
_type_decorators = [property({ type: String })];
|
|
78
84
|
_disabled_decorators = [property({ type: Boolean, reflect: true })];
|
|
79
85
|
_loading_decorators = [property({ type: Boolean, reflect: true })];
|
|
86
|
+
_href_decorators = [property({ type: String })];
|
|
87
|
+
_target_decorators = [property({ type: String })];
|
|
80
88
|
__esDecorate(this, null, _variant_decorators, { kind: "accessor", name: "variant", static: false, private: false, access: { has: obj => "variant" in obj, get: obj => obj.variant, set: (obj, value) => { obj.variant = value; } }, metadata: _metadata }, _variant_initializers, _variant_extraInitializers);
|
|
81
89
|
__esDecorate(this, null, _size_decorators, { kind: "accessor", name: "size", static: false, private: false, access: { has: obj => "size" in obj, get: obj => obj.size, set: (obj, value) => { obj.size = value; } }, metadata: _metadata }, _size_initializers, _size_extraInitializers);
|
|
82
90
|
__esDecorate(this, null, _shape_decorators, { kind: "accessor", name: "shape", static: false, private: false, access: { has: obj => "shape" in obj, get: obj => obj.shape, set: (obj, value) => { obj.shape = value; } }, metadata: _metadata }, _shape_initializers, _shape_extraInitializers);
|
|
@@ -85,6 +93,8 @@ let IdpButton = (() => {
|
|
|
85
93
|
__esDecorate(this, null, _type_decorators, { kind: "accessor", name: "type", static: false, private: false, access: { has: obj => "type" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_extraInitializers);
|
|
86
94
|
__esDecorate(this, null, _disabled_decorators, { kind: "accessor", name: "disabled", static: false, private: false, access: { has: obj => "disabled" in obj, get: obj => obj.disabled, set: (obj, value) => { obj.disabled = value; } }, metadata: _metadata }, _disabled_initializers, _disabled_extraInitializers);
|
|
87
95
|
__esDecorate(this, null, _loading_decorators, { kind: "accessor", name: "loading", static: false, private: false, access: { has: obj => "loading" in obj, get: obj => obj.loading, set: (obj, value) => { obj.loading = value; } }, metadata: _metadata }, _loading_initializers, _loading_extraInitializers);
|
|
96
|
+
__esDecorate(this, null, _href_decorators, { kind: "accessor", name: "href", static: false, private: false, access: { has: obj => "href" in obj, get: obj => obj.href, set: (obj, value) => { obj.href = value; } }, metadata: _metadata }, _href_initializers, _href_extraInitializers);
|
|
97
|
+
__esDecorate(this, null, _target_decorators, { kind: "accessor", name: "target", static: false, private: false, access: { has: obj => "target" in obj, get: obj => obj.target, set: (obj, value) => { obj.target = value; } }, metadata: _metadata }, _target_initializers, _target_extraInitializers);
|
|
88
98
|
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
89
99
|
IdpButton = _classThis = _classDescriptor.value;
|
|
90
100
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
@@ -124,6 +134,16 @@ let IdpButton = (() => {
|
|
|
124
134
|
#loading_accessor_storage = (__runInitializers(this, _disabled_extraInitializers), __runInitializers(this, _loading_initializers, false));
|
|
125
135
|
get loading() { return this.#loading_accessor_storage; }
|
|
126
136
|
set loading(value) { this.#loading_accessor_storage = value; }
|
|
137
|
+
#href_accessor_storage = (__runInitializers(this, _loading_extraInitializers), __runInitializers(this, _href_initializers, ''));
|
|
138
|
+
/**
|
|
139
|
+
* When set, the button renders as a real anchor so it works as a link
|
|
140
|
+
* (new-tab, middle-click, crawlers) without any host-side click wiring.
|
|
141
|
+
*/
|
|
142
|
+
get href() { return this.#href_accessor_storage; }
|
|
143
|
+
set href(value) { this.#href_accessor_storage = value; }
|
|
144
|
+
#target_accessor_storage = (__runInitializers(this, _href_extraInitializers), __runInitializers(this, _target_initializers, ''));
|
|
145
|
+
get target() { return this.#target_accessor_storage; }
|
|
146
|
+
set target(value) { this.#target_accessor_storage = value; }
|
|
127
147
|
static styles = [
|
|
128
148
|
...idpElementStyles,
|
|
129
149
|
css `
|
|
@@ -136,10 +156,12 @@ let IdpButton = (() => {
|
|
|
136
156
|
:host([block]) {
|
|
137
157
|
display: block;
|
|
138
158
|
}
|
|
139
|
-
:host([block]) button
|
|
159
|
+
:host([block]) button,
|
|
160
|
+
:host([block]) a {
|
|
140
161
|
width: 100%;
|
|
141
162
|
}
|
|
142
|
-
button
|
|
163
|
+
button,
|
|
164
|
+
a {
|
|
143
165
|
display: inline-flex;
|
|
144
166
|
align-items: center;
|
|
145
167
|
justify-content: center;
|
|
@@ -154,10 +176,16 @@ let IdpButton = (() => {
|
|
|
154
176
|
cursor: pointer;
|
|
155
177
|
transition: background 120ms ease, color 120ms ease, border-color 120ms ease, transform 80ms ease;
|
|
156
178
|
}
|
|
157
|
-
|
|
179
|
+
a {
|
|
180
|
+
text-decoration: none;
|
|
181
|
+
box-sizing: border-box;
|
|
182
|
+
}
|
|
183
|
+
button:active:not(:disabled),
|
|
184
|
+
a:active {
|
|
158
185
|
transform: translateY(1px);
|
|
159
186
|
}
|
|
160
|
-
button:focus-visible
|
|
187
|
+
button:focus-visible,
|
|
188
|
+
a:focus-visible {
|
|
161
189
|
outline: 2px solid color-mix(in srgb, var(--idp-accent), transparent 68%);
|
|
162
190
|
outline-offset: 2px;
|
|
163
191
|
}
|
|
@@ -278,18 +306,28 @@ let IdpButton = (() => {
|
|
|
278
306
|
`,
|
|
279
307
|
];
|
|
280
308
|
render() {
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
${this.loading
|
|
309
|
+
const contentTemplate = html `
|
|
310
|
+
${this.loading
|
|
284
311
|
? html `<span class="spinner" aria-hidden="true"></span>`
|
|
285
312
|
: this.icon ? html `<idp-icon name=${this.icon} size="14"></idp-icon>` : html ``}
|
|
286
|
-
|
|
313
|
+
<slot></slot>
|
|
314
|
+
`;
|
|
315
|
+
if (this.href && !this.disabled) {
|
|
316
|
+
return html `
|
|
317
|
+
<a class="${this.variant} ${this.size} ${this.shape === 'rect' ? 'rect' : ''}" href=${this.href} target=${this.target || ''} part="button">
|
|
318
|
+
${contentTemplate}
|
|
319
|
+
</a>
|
|
320
|
+
`;
|
|
321
|
+
}
|
|
322
|
+
return html `
|
|
323
|
+
<button class="${this.variant} ${this.size} ${this.shape === 'rect' ? 'rect' : ''}" type=${this.type} ?disabled=${this.disabled || this.loading} part="button">
|
|
324
|
+
${contentTemplate}
|
|
287
325
|
</button>
|
|
288
326
|
`;
|
|
289
327
|
}
|
|
290
328
|
constructor() {
|
|
291
329
|
super(...arguments);
|
|
292
|
-
__runInitializers(this,
|
|
330
|
+
__runInitializers(this, _target_extraInitializers);
|
|
293
331
|
}
|
|
294
332
|
static {
|
|
295
333
|
__runInitializers(_classThis, _classExtraInitializers);
|
|
@@ -298,4 +336,4 @@ let IdpButton = (() => {
|
|
|
298
336
|
return IdpButton = _classThis;
|
|
299
337
|
})();
|
|
300
338
|
export { IdpButton };
|
|
301
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
339
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRwLWJ1dHRvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy9pZHAtYnV0dG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLElBQUksRUFDSixRQUFRLEVBQ1IsYUFBYSxFQUNiLEdBQUcsR0FFSixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLGVBQWUsQ0FBQztJQWFWLFNBQVM7NEJBRHJCLGFBQWEsQ0FBQyxZQUFZLENBQUM7Ozs7c0JBQ0csV0FBVzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozt5QkFBbkIsU0FBUSxXQUFXOzs7O21DQWF2QyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0NBRzFCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztpQ0FHMUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO2lDQUcxQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztnQ0FHMUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO2dDQUcxQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7b0NBRzFCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO21DQUcxQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztnQ0FPMUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO2tDQUcxQixRQUFR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
|
|
@@ -9,6 +9,8 @@ declare global {
|
|
|
9
9
|
export declare class IdpLandingHero extends DeesElement {
|
|
10
10
|
static demo: () => TemplateResult<1>;
|
|
11
11
|
static demoGroups: string[];
|
|
12
|
+
accessor claimHref: string;
|
|
13
|
+
accessor secondaryHref: string;
|
|
12
14
|
static styles: import("@design.estate/dees-element").CSSResult[];
|
|
13
15
|
render(): TemplateResult;
|
|
14
16
|
}
|
|
@@ -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-button.js';
|
|
38
38
|
import './idp-screenshot-placeholder.js';
|
|
@@ -42,16 +42,32 @@ let IdpLandingHero = (() => {
|
|
|
42
42
|
let _classExtraInitializers = [];
|
|
43
43
|
let _classThis;
|
|
44
44
|
let _classSuper = DeesElement;
|
|
45
|
+
let _claimHref_decorators;
|
|
46
|
+
let _claimHref_initializers = [];
|
|
47
|
+
let _claimHref_extraInitializers = [];
|
|
48
|
+
let _secondaryHref_decorators;
|
|
49
|
+
let _secondaryHref_initializers = [];
|
|
50
|
+
let _secondaryHref_extraInitializers = [];
|
|
45
51
|
var IdpLandingHero = class extends _classSuper {
|
|
46
52
|
static { _classThis = this; }
|
|
47
53
|
static {
|
|
48
54
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
55
|
+
_claimHref_decorators = [property({ type: String })];
|
|
56
|
+
_secondaryHref_decorators = [property({ type: String })];
|
|
57
|
+
__esDecorate(this, null, _claimHref_decorators, { kind: "accessor", name: "claimHref", static: false, private: false, access: { has: obj => "claimHref" in obj, get: obj => obj.claimHref, set: (obj, value) => { obj.claimHref = value; } }, metadata: _metadata }, _claimHref_initializers, _claimHref_extraInitializers);
|
|
58
|
+
__esDecorate(this, null, _secondaryHref_decorators, { kind: "accessor", name: "secondaryHref", static: false, private: false, access: { has: obj => "secondaryHref" in obj, get: obj => obj.secondaryHref, set: (obj, value) => { obj.secondaryHref = value; } }, metadata: _metadata }, _secondaryHref_initializers, _secondaryHref_extraInitializers);
|
|
49
59
|
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
50
60
|
IdpLandingHero = _classThis = _classDescriptor.value;
|
|
51
61
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
52
62
|
}
|
|
53
63
|
static demo = () => html `<idp-landing-hero></idp-landing-hero>`;
|
|
54
64
|
static demoGroups = ['idp.global v5 composed surfaces'];
|
|
65
|
+
#claimHref_accessor_storage = __runInitializers(this, _claimHref_initializers, '');
|
|
66
|
+
get claimHref() { return this.#claimHref_accessor_storage; }
|
|
67
|
+
set claimHref(value) { this.#claimHref_accessor_storage = value; }
|
|
68
|
+
#secondaryHref_accessor_storage = (__runInitializers(this, _claimHref_extraInitializers), __runInitializers(this, _secondaryHref_initializers, ''));
|
|
69
|
+
get secondaryHref() { return this.#secondaryHref_accessor_storage; }
|
|
70
|
+
set secondaryHref(value) { this.#secondaryHref_accessor_storage = value; }
|
|
55
71
|
static styles = [
|
|
56
72
|
...idpElementStyles,
|
|
57
73
|
css `
|
|
@@ -137,8 +153,8 @@ let IdpLandingHero = (() => {
|
|
|
137
153
|
Anchored to Cardano, so it can never be erased or taken away.
|
|
138
154
|
</p>
|
|
139
155
|
<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>
|
|
156
|
+
<idp-button variant="accent" size="lg" href=${this.claimHref}>Claim your identity</idp-button>
|
|
157
|
+
<idp-button variant="link" size="lg" href=${this.secondaryHref}>See how it works</idp-button>
|
|
142
158
|
</div>
|
|
143
159
|
<div class="hero-fine">
|
|
144
160
|
<span>MIT licensed</span><span>Self-hostable</span><span>No credit card</span><span>Cardano mainnet</span>
|
|
@@ -154,6 +170,10 @@ let IdpLandingHero = (() => {
|
|
|
154
170
|
</section>
|
|
155
171
|
`;
|
|
156
172
|
}
|
|
173
|
+
constructor() {
|
|
174
|
+
super(...arguments);
|
|
175
|
+
__runInitializers(this, _secondaryHref_extraInitializers);
|
|
176
|
+
}
|
|
157
177
|
static {
|
|
158
178
|
__runInitializers(_classThis, _classExtraInitializers);
|
|
159
179
|
}
|
|
@@ -161,4 +181,4 @@ let IdpLandingHero = (() => {
|
|
|
161
181
|
return IdpLandingHero = _classThis;
|
|
162
182
|
})();
|
|
163
183
|
export { IdpLandingHero };
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRwLWxhbmRpbmctaGVyby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy9pZHAtbGFuZGluZy1oZXJvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBdUIsTUFBTSw2QkFBNkIsQ0FBQztBQUNuSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLGlDQUFpQyxDQUFDO0lBUzVCLGNBQWM7NEJBRDFCLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQzs7OztzQkFDRSxXQUFXOzs7Ozs7OzhCQUFuQixTQUFRLFdBQVc7Ozs7cUNBSTVDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQzt5Q0FHMUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBRjNCLGdMQUFnQixTQUFTLDZCQUFULFNBQVMsNkZBQU07WUFHL0IsNExBQWdCLGFBQWEsNkJBQWIsYUFBYSxxR0FBTTtZQVJyQyw2S0FpSEM7Ozs7UUFoSFEsTUFBTSxDQUFDLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUEsdUNBQXVDLENBQUM7UUFDaEUsTUFBTSxDQUFDLFVBQVUsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7UUFHL0QsK0VBQTRCLEVBQUUsRUFBQztRQUEvQixJQUFnQixTQUFTLCtDQUFNO1FBQS9CLElBQWdCLFNBQVMscURBQU07UUFHL0IsK0lBQWdDLEVBQUUsR0FBQztRQUFuQyxJQUFnQixhQUFhLG1EQUFNO1FBQW5DLElBQWdCLGFBQWEseURBQU07UUFFNUIsTUFBTSxDQUFDLE1BQU0sR0FBRztZQUNyQixHQUFHLGdCQUFnQjtZQUNuQixHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FzRUY7U0FDRixDQUFDO1FBRUssTUFBTTtZQUNYLE9BQU8sSUFBSSxDQUFBOzs7Ozs7Ozs7OzBEQVUyQyxJQUFJLENBQUMsU0FBUzt3REFDaEIsSUFBSSxDQUFDLGFBQWE7Ozs7Ozs7Ozs7Ozs7O0tBY3JFLENBQUM7UUFDSixDQUFDOzs7Ozs7WUFoSFUsdURBQWM7Ozs7O1NBQWQsY0FBYyJ9
|
|
@@ -9,9 +9,23 @@ declare global {
|
|
|
9
9
|
'idp-landing-page': IdpLandingPage;
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
+
export interface IIdpLandingLinks {
|
|
13
|
+
signIn: string;
|
|
14
|
+
claim: string;
|
|
15
|
+
docs: string;
|
|
16
|
+
github: string;
|
|
17
|
+
contact: string;
|
|
18
|
+
}
|
|
12
19
|
export declare class IdpLandingPage extends DeesElement {
|
|
13
20
|
static demo: () => TemplateResult<1>;
|
|
14
21
|
static demoGroups: string[];
|
|
22
|
+
/**
|
|
23
|
+
* Real navigation targets for the page chrome. Consumers override any subset;
|
|
24
|
+
* labels without a link target stay presentational.
|
|
25
|
+
*/
|
|
26
|
+
accessor links: Partial<IIdpLandingLinks>;
|
|
27
|
+
private getLinks;
|
|
28
|
+
private scrollToSection;
|
|
15
29
|
static styles: import("@design.estate/dees-element").CSSResult[];
|
|
16
30
|
private renderNav;
|
|
17
31
|
private renderProof;
|
|
@@ -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
|
@@ -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
|
}
|