@kya-os/consent 0.1.0 → 0.1.2
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/dist/bundle/index.d.ts +44 -0
- package/dist/bundle/index.d.ts.map +1 -0
- package/dist/bundle/index.js +45 -0
- package/dist/bundle/index.js.map +1 -0
- package/dist/bundle/inline.d.ts +18 -0
- package/dist/bundle/inline.d.ts.map +1 -0
- package/dist/bundle/inline.js +18 -0
- package/dist/bundle/inline.js.map +1 -0
- package/dist/bundle/shell.d.ts +91 -0
- package/dist/bundle/shell.d.ts.map +1 -0
- package/dist/bundle/shell.js +282 -0
- package/dist/bundle/shell.js.map +1 -0
- package/dist/components/consent-button.d.ts +61 -0
- package/dist/components/consent-button.d.ts.map +1 -0
- package/dist/components/consent-button.js +177 -0
- package/dist/components/consent-button.js.map +1 -0
- package/dist/components/consent-checkbox.d.ts +61 -0
- package/dist/components/consent-checkbox.d.ts.map +1 -0
- package/dist/components/consent-checkbox.js +220 -0
- package/dist/components/consent-checkbox.js.map +1 -0
- package/dist/components/consent-input.d.ts +91 -0
- package/dist/components/consent-input.d.ts.map +1 -0
- package/dist/components/consent-input.js +332 -0
- package/dist/components/consent-input.js.map +1 -0
- package/dist/components/consent-oauth-button.d.ts +87 -0
- package/dist/components/consent-oauth-button.d.ts.map +1 -0
- package/dist/components/consent-oauth-button.js +389 -0
- package/dist/components/consent-oauth-button.js.map +1 -0
- package/dist/components/consent-otp-input.d.ts +92 -0
- package/dist/components/consent-otp-input.d.ts.map +1 -0
- package/dist/components/consent-otp-input.js +385 -0
- package/dist/components/consent-otp-input.js.map +1 -0
- package/dist/components/consent-permissions.d.ts +104 -0
- package/dist/components/consent-permissions.d.ts.map +1 -0
- package/dist/components/consent-permissions.js +430 -0
- package/dist/components/consent-permissions.js.map +1 -0
- package/dist/components/consent-shell.d.ts +72 -0
- package/dist/components/consent-shell.d.ts.map +1 -0
- package/dist/components/consent-shell.js +231 -0
- package/dist/components/consent-shell.js.map +1 -0
- package/dist/components/consent-terms.d.ts +89 -0
- package/dist/components/consent-terms.d.ts.map +1 -0
- package/dist/components/consent-terms.js +284 -0
- package/dist/components/consent-terms.js.map +1 -0
- package/dist/components/index.d.ts +19 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +23 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/mcp-consent.d.ts +152 -0
- package/dist/components/mcp-consent.d.ts.map +1 -0
- package/dist/components/mcp-consent.js +874 -0
- package/dist/components/mcp-consent.js.map +1 -0
- package/dist/consent.js +3744 -0
- package/dist/consent.min.js +1564 -0
- package/dist/constants/auth-modes.d.ts +7 -2
- package/dist/constants/auth-modes.d.ts.map +1 -1
- package/dist/constants/auth-modes.js +28 -36
- package/dist/constants/auth-modes.js.map +1 -1
- package/dist/constants/colors.js +1 -4
- package/dist/constants/colors.js.map +1 -1
- package/dist/constants/defaults.d.ts +1 -1
- package/dist/constants/defaults.d.ts.map +1 -1
- package/dist/constants/defaults.js +16 -19
- package/dist/constants/defaults.js.map +1 -1
- package/dist/constants/index.d.ts +3 -3
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +3 -26
- package/dist/constants/index.js.map +1 -1
- package/dist/index.d.ts +10 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -23
- package/dist/index.js.map +1 -1
- package/dist/react/index.d.ts +123 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +154 -0
- package/dist/react/index.js.map +1 -0
- package/dist/resolution/index.d.ts +3 -3
- package/dist/resolution/index.d.ts.map +1 -1
- package/dist/resolution/index.js +3 -19
- package/dist/resolution/index.js.map +1 -1
- package/dist/resolution/resolve-branding.d.ts +1 -1
- package/dist/resolution/resolve-branding.d.ts.map +1 -1
- package/dist/resolution/resolve-branding.js +14 -24
- package/dist/resolution/resolve-branding.js.map +1 -1
- package/dist/resolution/resolve-config.d.ts +2 -2
- package/dist/resolution/resolve-config.d.ts.map +1 -1
- package/dist/resolution/resolve-config.js +57 -53
- package/dist/resolution/resolve-config.js.map +1 -1
- package/dist/resolution/resolve-copy.d.ts +2 -2
- package/dist/resolution/resolve-copy.d.ts.map +1 -1
- package/dist/resolution/resolve-copy.js +35 -43
- package/dist/resolution/resolve-copy.js.map +1 -1
- package/dist/schemas/api.schemas.d.ts +7 -4
- package/dist/schemas/api.schemas.d.ts.map +1 -1
- package/dist/schemas/api.schemas.js +70 -74
- package/dist/schemas/api.schemas.js.map +1 -1
- package/dist/schemas/branding.schemas.js +17 -20
- package/dist/schemas/branding.schemas.js.map +1 -1
- package/dist/schemas/config.schemas.d.ts +1 -1
- package/dist/schemas/config.schemas.d.ts.map +1 -1
- package/dist/schemas/config.schemas.js +64 -70
- package/dist/schemas/config.schemas.js.map +1 -1
- package/dist/schemas/index.d.ts +4 -4
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +4 -20
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/modes.schemas.js +60 -63
- package/dist/schemas/modes.schemas.js.map +1 -1
- package/dist/security/escape.d.ts.map +1 -1
- package/dist/security/escape.js +12 -17
- package/dist/security/escape.js.map +1 -1
- package/dist/security/index.d.ts +2 -2
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +2 -18
- package/dist/security/index.js.map +1 -1
- package/dist/security/validators.js +9 -20
- package/dist/security/validators.js.map +1 -1
- package/dist/styles/css-variables.d.ts +1 -1
- package/dist/styles/css-variables.d.ts.map +1 -1
- package/dist/styles/css-variables.js +18 -27
- package/dist/styles/css-variables.js.map +1 -1
- package/dist/styles/index.d.ts +3 -3
- package/dist/styles/index.d.ts.map +1 -1
- package/dist/styles/index.js +3 -19
- package/dist/styles/index.js.map +1 -1
- package/dist/styles/stylesheet.d.ts +1 -1
- package/dist/styles/stylesheet.d.ts.map +1 -1
- package/dist/styles/stylesheet.js +20 -27
- package/dist/styles/stylesheet.js.map +1 -1
- package/dist/styles/tokens.js +1 -4
- package/dist/styles/tokens.js.map +1 -1
- package/dist/templates/base/base-template.d.ts +3 -3
- package/dist/templates/base/base-template.d.ts.map +1 -1
- package/dist/templates/base/base-template.js +31 -35
- package/dist/templates/base/base-template.js.map +1 -1
- package/dist/templates/base/components.js +49 -65
- package/dist/templates/base/components.js.map +1 -1
- package/dist/templates/base/index.d.ts +2 -2
- package/dist/templates/base/index.d.ts.map +1 -1
- package/dist/templates/base/index.js +2 -20
- package/dist/templates/base/index.js.map +1 -1
- package/dist/templates/index.d.ts +9 -9
- package/dist/templates/index.d.ts.map +1 -1
- package/dist/templates/index.js +9 -25
- package/dist/templates/index.js.map +1 -1
- package/dist/templates/modes/consent-only.template.d.ts +2 -2
- package/dist/templates/modes/consent-only.template.d.ts.map +1 -1
- package/dist/templates/modes/consent-only.template.js +11 -15
- package/dist/templates/modes/consent-only.template.js.map +1 -1
- package/dist/templates/modes/credentials.template.d.ts +4 -4
- package/dist/templates/modes/credentials.template.d.ts.map +1 -1
- package/dist/templates/modes/credentials.template.js +20 -24
- package/dist/templates/modes/credentials.template.js.map +1 -1
- package/dist/templates/modes/index.d.ts +6 -6
- package/dist/templates/modes/index.d.ts.map +1 -1
- package/dist/templates/modes/index.js +6 -16
- package/dist/templates/modes/index.js.map +1 -1
- package/dist/templates/modes/magic-link.template.d.ts +2 -2
- package/dist/templates/modes/magic-link.template.d.ts.map +1 -1
- package/dist/templates/modes/magic-link.template.js +14 -18
- package/dist/templates/modes/magic-link.template.js.map +1 -1
- package/dist/templates/modes/oauth.template.d.ts +2 -2
- package/dist/templates/modes/oauth.template.d.ts.map +1 -1
- package/dist/templates/modes/oauth.template.js +21 -25
- package/dist/templates/modes/oauth.template.js.map +1 -1
- package/dist/templates/modes/otp.template.d.ts +2 -2
- package/dist/templates/modes/otp.template.d.ts.map +1 -1
- package/dist/templates/modes/otp.template.js +17 -21
- package/dist/templates/modes/otp.template.js.map +1 -1
- package/dist/templates/modes/success.template.d.ts +2 -2
- package/dist/templates/modes/success.template.d.ts.map +1 -1
- package/dist/templates/modes/success.template.js +24 -29
- package/dist/templates/modes/success.template.js.map +1 -1
- package/dist/templates/registry.d.ts +4 -4
- package/dist/templates/registry.d.ts.map +1 -1
- package/dist/templates/registry.js +30 -38
- package/dist/templates/registry.js.map +1 -1
- package/dist/types/api.types.d.ts +6 -5
- package/dist/types/api.types.d.ts.map +1 -1
- package/dist/types/api.types.js +1 -2
- package/dist/types/api.types.js.map +1 -1
- package/dist/types/branding.types.js +1 -2
- package/dist/types/branding.types.js.map +1 -1
- package/dist/types/config.types.d.ts +5 -5
- package/dist/types/config.types.d.ts.map +1 -1
- package/dist/types/config.types.js +1 -2
- package/dist/types/config.types.js.map +1 -1
- package/dist/types/copy.types.js +1 -2
- package/dist/types/copy.types.js.map +1 -1
- package/dist/types/index.d.ts +6 -6
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +6 -22
- package/dist/types/index.js.map +1 -1
- package/dist/types/modes.types.js +1 -4
- package/dist/types/modes.types.js.map +1 -1
- package/dist/types/page.types.d.ts +6 -6
- package/dist/types/page.types.d.ts.map +1 -1
- package/dist/types/page.types.js +1 -2
- package/dist/types/page.types.js.map +1 -1
- package/package.json +41 -4
|
@@ -0,0 +1,430 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Consent Permissions Web Component
|
|
3
|
+
*
|
|
4
|
+
* Renders a list of permission scopes that the agent is requesting.
|
|
5
|
+
* Can be interactive (with checkboxes) or display-only.
|
|
6
|
+
*
|
|
7
|
+
* @module components/consent-permissions
|
|
8
|
+
*/
|
|
9
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
10
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
11
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
12
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
13
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
14
|
+
};
|
|
15
|
+
import { LitElement, html, css } from 'lit';
|
|
16
|
+
import { customElement, property, state } from 'lit/decorators.js';
|
|
17
|
+
/**
|
|
18
|
+
* ConsentPermissions - Permission list component
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```html
|
|
22
|
+
* <!-- Display-only mode -->
|
|
23
|
+
* <consent-permissions
|
|
24
|
+
* scopes='["read:profile", "write:data"]'
|
|
25
|
+
* ></consent-permissions>
|
|
26
|
+
*
|
|
27
|
+
* <!-- Interactive mode -->
|
|
28
|
+
* <consent-permissions
|
|
29
|
+
* scopes='[{"id": "read:profile", "label": "Read profile", "required": true}]'
|
|
30
|
+
* interactive
|
|
31
|
+
* ></consent-permissions>
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* @fires change - Fired when permissions selection changes (interactive mode)
|
|
35
|
+
* @csspart list - The permissions list container
|
|
36
|
+
* @csspart item - Individual permission item
|
|
37
|
+
* @cssprop --consent-primary - Primary brand color for icons/checkboxes
|
|
38
|
+
*/
|
|
39
|
+
let ConsentPermissions = class ConsentPermissions extends LitElement {
|
|
40
|
+
constructor() {
|
|
41
|
+
super(...arguments);
|
|
42
|
+
/**
|
|
43
|
+
* Permission scopes - can be string array or PermissionItem array
|
|
44
|
+
* Accepts JSON string for attribute binding
|
|
45
|
+
*/
|
|
46
|
+
this.scopes = [];
|
|
47
|
+
/**
|
|
48
|
+
* Enable interactive mode with checkboxes
|
|
49
|
+
*/
|
|
50
|
+
this.interactive = false;
|
|
51
|
+
/**
|
|
52
|
+
* Pre-select all scopes in interactive mode (default: only required scopes are pre-selected)
|
|
53
|
+
*/
|
|
54
|
+
this.selectAll = false;
|
|
55
|
+
/**
|
|
56
|
+
* Icon to show next to each permission
|
|
57
|
+
* Options: 'check', 'bullet', 'shield'
|
|
58
|
+
*/
|
|
59
|
+
this.iconStyle = 'check';
|
|
60
|
+
/**
|
|
61
|
+
* Internal state for selected permissions in interactive mode
|
|
62
|
+
*/
|
|
63
|
+
this.selectedScopes = new Set();
|
|
64
|
+
/**
|
|
65
|
+
* Track previous scope IDs to detect newly added scopes
|
|
66
|
+
* (used to distinguish new scopes from user-deselected scopes)
|
|
67
|
+
*/
|
|
68
|
+
this.previousScopeIds = new Set();
|
|
69
|
+
}
|
|
70
|
+
connectedCallback() {
|
|
71
|
+
super.connectedCallback();
|
|
72
|
+
// Initialize selected scopes with required permissions in interactive mode
|
|
73
|
+
if (this.interactive) {
|
|
74
|
+
this.initializeSelectedScopes();
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
updated(changedProperties) {
|
|
78
|
+
// Re-initialize selected scopes when scopes property changes dynamically
|
|
79
|
+
if (changedProperties.has('scopes') && this.interactive) {
|
|
80
|
+
this.reinitializeSelectedScopes();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Re-initialize selected scopes when scopes change dynamically.
|
|
85
|
+
* Preserves existing valid selections while adding new scopes based on selectAll/required settings.
|
|
86
|
+
*/
|
|
87
|
+
reinitializeSelectedScopes() {
|
|
88
|
+
const currentScopeIds = new Set(this.normalizedScopes.map((s) => s.id));
|
|
89
|
+
// Remove selections that are no longer in the scopes list
|
|
90
|
+
const validSelections = new Set(Array.from(this.selectedScopes).filter((id) => currentScopeIds.has(id)));
|
|
91
|
+
// Identify truly NEW scopes (not previously shown to user)
|
|
92
|
+
const newScopeIds = Array.from(currentScopeIds).filter((id) => !this.previousScopeIds.has(id));
|
|
93
|
+
if (this.selectAll) {
|
|
94
|
+
// Auto-select only NEW scopes, preserving user's existing deselections
|
|
95
|
+
this.selectedScopes = new Set([...validSelections, ...newScopeIds]);
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
// Add required scopes that aren't already selected
|
|
99
|
+
const requiredIds = this.normalizedScopes
|
|
100
|
+
.filter((s) => s.required)
|
|
101
|
+
.map((s) => s.id);
|
|
102
|
+
this.selectedScopes = new Set([...validSelections, ...requiredIds]);
|
|
103
|
+
}
|
|
104
|
+
// Update tracking of which scopes user has seen
|
|
105
|
+
this.previousScopeIds = currentScopeIds;
|
|
106
|
+
// Emit change event so parent stays in sync
|
|
107
|
+
this.dispatchEvent(new CustomEvent('change', {
|
|
108
|
+
detail: { selected: this.getSelectedScopes() },
|
|
109
|
+
bubbles: true,
|
|
110
|
+
composed: true,
|
|
111
|
+
}));
|
|
112
|
+
}
|
|
113
|
+
initializeSelectedScopes() {
|
|
114
|
+
// Track initial scopes for detecting new ones later
|
|
115
|
+
this.previousScopeIds = new Set(this.normalizedScopes.map((scope) => scope.id));
|
|
116
|
+
if (this.selectAll) {
|
|
117
|
+
// Pre-select all scopes
|
|
118
|
+
this.selectedScopes = new Set(this.normalizedScopes.map((scope) => scope.id));
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
// Only pre-select required scopes
|
|
122
|
+
this.selectedScopes = new Set(this.normalizedScopes
|
|
123
|
+
.filter((scope) => scope.required)
|
|
124
|
+
.map((scope) => scope.id));
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Normalize scopes to PermissionItem format
|
|
129
|
+
*/
|
|
130
|
+
get normalizedScopes() {
|
|
131
|
+
return this.scopes.map((scope) => {
|
|
132
|
+
if (typeof scope === 'string') {
|
|
133
|
+
return {
|
|
134
|
+
id: scope,
|
|
135
|
+
label: this.formatScopeLabel(scope),
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
return scope;
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Convert scope ID to human-readable label
|
|
143
|
+
*/
|
|
144
|
+
formatScopeLabel(scopeId) {
|
|
145
|
+
// Convert 'read:profile' to 'Read profile'
|
|
146
|
+
return scopeId
|
|
147
|
+
.replace(/[_:-]/g, ' ')
|
|
148
|
+
.replace(/\b\w/g, (char) => char.toUpperCase());
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Get currently selected scopes
|
|
152
|
+
*/
|
|
153
|
+
getSelectedScopes() {
|
|
154
|
+
return Array.from(this.selectedScopes);
|
|
155
|
+
}
|
|
156
|
+
handleCheckboxChange(scopeId, checked) {
|
|
157
|
+
if (checked) {
|
|
158
|
+
this.selectedScopes.add(scopeId);
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
this.selectedScopes.delete(scopeId);
|
|
162
|
+
}
|
|
163
|
+
this.requestUpdate();
|
|
164
|
+
this.dispatchEvent(new CustomEvent('change', {
|
|
165
|
+
detail: { selected: this.getSelectedScopes() },
|
|
166
|
+
bubbles: true,
|
|
167
|
+
composed: true,
|
|
168
|
+
}));
|
|
169
|
+
}
|
|
170
|
+
renderIcon() {
|
|
171
|
+
switch (this.iconStyle) {
|
|
172
|
+
case 'bullet':
|
|
173
|
+
return html `<div class="icon icon-bullet"></div>`;
|
|
174
|
+
case 'shield':
|
|
175
|
+
return html `
|
|
176
|
+
<div class="icon icon-shield">
|
|
177
|
+
<svg
|
|
178
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
179
|
+
viewBox="0 0 24 24"
|
|
180
|
+
fill="none"
|
|
181
|
+
stroke="currentColor"
|
|
182
|
+
stroke-width="2"
|
|
183
|
+
>
|
|
184
|
+
<path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" />
|
|
185
|
+
</svg>
|
|
186
|
+
</div>
|
|
187
|
+
`;
|
|
188
|
+
default:
|
|
189
|
+
return html `
|
|
190
|
+
<div class="icon icon-check">
|
|
191
|
+
<svg
|
|
192
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
193
|
+
viewBox="0 0 24 24"
|
|
194
|
+
fill="none"
|
|
195
|
+
stroke="currentColor"
|
|
196
|
+
stroke-width="2"
|
|
197
|
+
>
|
|
198
|
+
<polyline points="20 6 9 17 4 12" />
|
|
199
|
+
</svg>
|
|
200
|
+
</div>
|
|
201
|
+
`;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
renderPermissionItem(scope) {
|
|
205
|
+
const isSelected = this.selectedScopes.has(scope.id);
|
|
206
|
+
return html `
|
|
207
|
+
<li class="permission-item" part="item">
|
|
208
|
+
${this.interactive
|
|
209
|
+
? html `
|
|
210
|
+
<input
|
|
211
|
+
type="checkbox"
|
|
212
|
+
class="checkbox"
|
|
213
|
+
.checked=${isSelected}
|
|
214
|
+
?disabled=${scope.required}
|
|
215
|
+
@change=${(e) => this.handleCheckboxChange(scope.id, e.target.checked)}
|
|
216
|
+
aria-label=${scope.label}
|
|
217
|
+
/>
|
|
218
|
+
`
|
|
219
|
+
: this.renderIcon()}
|
|
220
|
+
<div class="content">
|
|
221
|
+
<span class="label">
|
|
222
|
+
${scope.label}
|
|
223
|
+
${scope.required
|
|
224
|
+
? html `<span class="required-badge">Required</span>`
|
|
225
|
+
: null}
|
|
226
|
+
</span>
|
|
227
|
+
${scope.description
|
|
228
|
+
? html `<div class="description">${scope.description}</div>`
|
|
229
|
+
: null}
|
|
230
|
+
</div>
|
|
231
|
+
</li>
|
|
232
|
+
`;
|
|
233
|
+
}
|
|
234
|
+
render() {
|
|
235
|
+
const scopes = this.normalizedScopes;
|
|
236
|
+
if (scopes.length === 0) {
|
|
237
|
+
return html `<div class="empty">No permissions requested</div>`;
|
|
238
|
+
}
|
|
239
|
+
return html `
|
|
240
|
+
<ul class="permission-list" part="list" role="list">
|
|
241
|
+
${scopes.map((scope) => this.renderPermissionItem(scope))}
|
|
242
|
+
</ul>
|
|
243
|
+
`;
|
|
244
|
+
}
|
|
245
|
+
};
|
|
246
|
+
ConsentPermissions.styles = css `
|
|
247
|
+
:host {
|
|
248
|
+
display: block;
|
|
249
|
+
--_primary: var(--consent-primary, #2563eb);
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
.permission-list {
|
|
253
|
+
list-style: none;
|
|
254
|
+
padding: 0;
|
|
255
|
+
margin: 0;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
.permission-item {
|
|
259
|
+
display: flex;
|
|
260
|
+
align-items: flex-start;
|
|
261
|
+
gap: 0.75rem;
|
|
262
|
+
padding: 0.625rem 0;
|
|
263
|
+
font-size: 0.875rem;
|
|
264
|
+
color: #374151;
|
|
265
|
+
border-bottom: 1px solid #f3f4f6;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
.permission-item:last-child {
|
|
269
|
+
border-bottom: none;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
/* Icon styles */
|
|
273
|
+
.icon {
|
|
274
|
+
flex-shrink: 0;
|
|
275
|
+
width: 1.25rem;
|
|
276
|
+
height: 1.25rem;
|
|
277
|
+
margin-top: 0.0625rem;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
.icon-check {
|
|
281
|
+
background: var(--_primary);
|
|
282
|
+
border-radius: 0.25rem;
|
|
283
|
+
display: flex;
|
|
284
|
+
align-items: center;
|
|
285
|
+
justify-content: center;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
.icon-check svg {
|
|
289
|
+
width: 0.75rem;
|
|
290
|
+
height: 0.75rem;
|
|
291
|
+
color: white;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
.icon-bullet {
|
|
295
|
+
background: var(--_primary);
|
|
296
|
+
border-radius: 50%;
|
|
297
|
+
width: 0.5rem;
|
|
298
|
+
height: 0.5rem;
|
|
299
|
+
margin: 0.375rem;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
.icon-shield {
|
|
303
|
+
color: var(--_primary);
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
.icon-shield svg {
|
|
307
|
+
width: 1.25rem;
|
|
308
|
+
height: 1.25rem;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
/* Content */
|
|
312
|
+
.content {
|
|
313
|
+
flex: 1;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
.label {
|
|
317
|
+
font-weight: 500;
|
|
318
|
+
color: #111827;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
.description {
|
|
322
|
+
font-size: 0.75rem;
|
|
323
|
+
color: #6b7280;
|
|
324
|
+
margin-top: 0.125rem;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
.required-badge {
|
|
328
|
+
font-size: 0.625rem;
|
|
329
|
+
text-transform: uppercase;
|
|
330
|
+
letter-spacing: 0.05em;
|
|
331
|
+
color: #6b7280;
|
|
332
|
+
background: #f3f4f6;
|
|
333
|
+
padding: 0.125rem 0.375rem;
|
|
334
|
+
border-radius: 0.25rem;
|
|
335
|
+
margin-left: 0.5rem;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
/* Interactive mode checkbox */
|
|
339
|
+
.checkbox {
|
|
340
|
+
appearance: none;
|
|
341
|
+
-webkit-appearance: none;
|
|
342
|
+
width: 1rem;
|
|
343
|
+
height: 1rem;
|
|
344
|
+
border: 1px solid #d1d5db;
|
|
345
|
+
border-radius: 0.25rem;
|
|
346
|
+
background: white;
|
|
347
|
+
cursor: pointer;
|
|
348
|
+
position: relative;
|
|
349
|
+
flex-shrink: 0;
|
|
350
|
+
margin-top: 0.125rem;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
.checkbox:checked {
|
|
354
|
+
background: var(--_primary);
|
|
355
|
+
border-color: var(--_primary);
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
.checkbox:checked::after {
|
|
359
|
+
content: '';
|
|
360
|
+
position: absolute;
|
|
361
|
+
left: 4px;
|
|
362
|
+
top: 1px;
|
|
363
|
+
width: 5px;
|
|
364
|
+
height: 9px;
|
|
365
|
+
border: solid white;
|
|
366
|
+
border-width: 0 2px 2px 0;
|
|
367
|
+
transform: rotate(45deg);
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
.checkbox:disabled {
|
|
371
|
+
opacity: 0.5;
|
|
372
|
+
cursor: not-allowed;
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
.checkbox:focus-visible {
|
|
376
|
+
outline: 2px solid var(--_primary);
|
|
377
|
+
outline-offset: 2px;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
/* Empty state */
|
|
381
|
+
.empty {
|
|
382
|
+
text-align: center;
|
|
383
|
+
color: #6b7280;
|
|
384
|
+
font-size: 0.875rem;
|
|
385
|
+
padding: 1rem 0;
|
|
386
|
+
}
|
|
387
|
+
`;
|
|
388
|
+
__decorate([
|
|
389
|
+
property({
|
|
390
|
+
type: Array,
|
|
391
|
+
converter: {
|
|
392
|
+
fromAttribute: (value) => {
|
|
393
|
+
if (!value)
|
|
394
|
+
return [];
|
|
395
|
+
try {
|
|
396
|
+
const parsed = JSON.parse(value);
|
|
397
|
+
// Validate that parsed result is actually an array
|
|
398
|
+
if (!Array.isArray(parsed)) {
|
|
399
|
+
console.warn('[consent-permissions] Expected array, got:', typeof parsed);
|
|
400
|
+
return [];
|
|
401
|
+
}
|
|
402
|
+
return parsed;
|
|
403
|
+
}
|
|
404
|
+
catch {
|
|
405
|
+
return [];
|
|
406
|
+
}
|
|
407
|
+
},
|
|
408
|
+
toAttribute: (value) => {
|
|
409
|
+
return JSON.stringify(value);
|
|
410
|
+
},
|
|
411
|
+
},
|
|
412
|
+
})
|
|
413
|
+
], ConsentPermissions.prototype, "scopes", void 0);
|
|
414
|
+
__decorate([
|
|
415
|
+
property({ type: Boolean })
|
|
416
|
+
], ConsentPermissions.prototype, "interactive", void 0);
|
|
417
|
+
__decorate([
|
|
418
|
+
property({ type: Boolean, attribute: 'select-all' })
|
|
419
|
+
], ConsentPermissions.prototype, "selectAll", void 0);
|
|
420
|
+
__decorate([
|
|
421
|
+
property({ type: String, attribute: 'icon-style' })
|
|
422
|
+
], ConsentPermissions.prototype, "iconStyle", void 0);
|
|
423
|
+
__decorate([
|
|
424
|
+
state()
|
|
425
|
+
], ConsentPermissions.prototype, "selectedScopes", void 0);
|
|
426
|
+
ConsentPermissions = __decorate([
|
|
427
|
+
customElement('consent-permissions')
|
|
428
|
+
], ConsentPermissions);
|
|
429
|
+
export { ConsentPermissions };
|
|
430
|
+
//# sourceMappingURL=consent-permissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consent-permissions.js","sourceRoot":"","sources":["../../src/components/consent-permissions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Consent Shell Web Component
|
|
3
|
+
*
|
|
4
|
+
* The main container for consent pages. Provides:
|
|
5
|
+
* - Card-like container with shadow and rounded corners
|
|
6
|
+
* - Header section with logo and title
|
|
7
|
+
* - Content area for auth-specific content
|
|
8
|
+
* - Footer for action buttons
|
|
9
|
+
*
|
|
10
|
+
* @module components/consent-shell
|
|
11
|
+
*/
|
|
12
|
+
import { LitElement } from 'lit';
|
|
13
|
+
/**
|
|
14
|
+
* ConsentShell - Container component for consent pages
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```html
|
|
18
|
+
* <consent-shell
|
|
19
|
+
* page-title="Permission Request"
|
|
20
|
+
* logo-url="https://example.com/logo.png"
|
|
21
|
+
* company-name="Acme Corp"
|
|
22
|
+
* primary-color="#2563EB"
|
|
23
|
+
* >
|
|
24
|
+
* <div slot="content">
|
|
25
|
+
* <!-- Auth-specific content -->
|
|
26
|
+
* </div>
|
|
27
|
+
* <div slot="footer">
|
|
28
|
+
* <consent-button variant="secondary">Cancel</consent-button>
|
|
29
|
+
* <consent-button variant="primary">Allow</consent-button>
|
|
30
|
+
* </div>
|
|
31
|
+
* </consent-shell>
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* @slot content - Main content area
|
|
35
|
+
* @slot footer - Action buttons area
|
|
36
|
+
* @csspart container - The outer card container
|
|
37
|
+
* @csspart header - The header section
|
|
38
|
+
* @csspart content - The content section
|
|
39
|
+
* @csspart footer - The footer section
|
|
40
|
+
*/
|
|
41
|
+
export declare class ConsentShell extends LitElement {
|
|
42
|
+
/**
|
|
43
|
+
* Page title (renamed from 'title' to avoid conflict with HTMLElement.title)
|
|
44
|
+
*/
|
|
45
|
+
pageTitle: string;
|
|
46
|
+
/**
|
|
47
|
+
* Company logo URL
|
|
48
|
+
*/
|
|
49
|
+
logoUrl?: string;
|
|
50
|
+
/**
|
|
51
|
+
* Company name (shown below logo or as fallback)
|
|
52
|
+
*/
|
|
53
|
+
companyName?: string;
|
|
54
|
+
/**
|
|
55
|
+
* Primary brand color
|
|
56
|
+
*/
|
|
57
|
+
primaryColor: string;
|
|
58
|
+
/**
|
|
59
|
+
* Secondary brand color
|
|
60
|
+
*/
|
|
61
|
+
secondaryColor: string;
|
|
62
|
+
static styles: import("lit").CSSResult;
|
|
63
|
+
private renderLogo;
|
|
64
|
+
protected updated(changedProperties: Map<string, unknown>): void;
|
|
65
|
+
render(): import("lit").TemplateResult<1>;
|
|
66
|
+
}
|
|
67
|
+
declare global {
|
|
68
|
+
interface HTMLElementTagNameMap {
|
|
69
|
+
'consent-shell': ConsentShell;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=consent-shell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consent-shell.d.ts","sourceRoot":"","sources":["../../src/components/consent-shell.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAG5C;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBACa,YAAa,SAAQ,UAAU;IAC1C;;OAEG;IAEH,SAAS,SAAwB;IAEjC;;OAEG;IAEH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IAEH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IAEH,YAAY,SAAa;IAEzB;;OAEG;IAEH,cAAc,SAAa;IAE3B,OAAgB,MAAM,0BAqFpB;IAEF,OAAO,CAAC,UAAU;cAkCC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAWzD,MAAM;CAqBhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,YAAY,CAAC;KAC/B;CACF"}
|