@kya-os/consent 0.1.13 → 0.1.14
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/inline.d.ts.map +1 -1
- package/dist/bundle/inline.js +2 -2
- package/dist/bundle/inline.js.map +1 -1
- package/dist/bundle/shell.d.ts +5 -0
- package/dist/bundle/shell.d.ts.map +1 -1
- package/dist/bundle/shell.js +3 -1
- package/dist/bundle/shell.js.map +1 -1
- package/dist/cjs/bundle/index.js +57 -0
- package/dist/cjs/bundle/index.js.map +1 -0
- package/dist/cjs/bundle/inline.js +22 -0
- package/dist/cjs/bundle/inline.js.map +1 -0
- package/dist/cjs/bundle/shell.js +291 -0
- package/dist/cjs/bundle/shell.js.map +1 -0
- package/dist/cjs/components/consent-button.js +180 -0
- package/dist/cjs/components/consent-button.js.map +1 -0
- package/dist/cjs/components/consent-checkbox.js +223 -0
- package/dist/cjs/components/consent-checkbox.js.map +1 -0
- package/dist/cjs/components/consent-input.js +335 -0
- package/dist/cjs/components/consent-input.js.map +1 -0
- package/dist/cjs/components/consent-oauth-button.js +392 -0
- package/dist/cjs/components/consent-oauth-button.js.map +1 -0
- package/dist/cjs/components/consent-otp-input.js +388 -0
- package/dist/cjs/components/consent-otp-input.js.map +1 -0
- package/dist/cjs/components/consent-permissions.js +433 -0
- package/dist/cjs/components/consent-permissions.js.map +1 -0
- package/dist/cjs/components/consent-shell.js +234 -0
- package/dist/cjs/components/consent-shell.js.map +1 -0
- package/dist/cjs/components/consent-terms.js +287 -0
- package/dist/cjs/components/consent-terms.js.map +1 -0
- package/dist/cjs/components/index.js +37 -0
- package/dist/cjs/components/index.js.map +1 -0
- package/dist/cjs/components/mcp-consent.js +1034 -0
- package/dist/cjs/components/mcp-consent.js.map +1 -0
- package/dist/cjs/constants/auth-modes.js +128 -0
- package/dist/cjs/constants/auth-modes.js.map +1 -0
- package/dist/cjs/constants/colors.js +40 -0
- package/dist/cjs/constants/colors.js.map +1 -0
- package/dist/cjs/constants/defaults.js +146 -0
- package/dist/cjs/constants/defaults.js.map +1 -0
- package/dist/cjs/constants/index.js +40 -0
- package/dist/cjs/constants/index.js.map +1 -0
- package/dist/cjs/index.js +49 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/react/index.js +190 -0
- package/dist/cjs/react/index.js.map +1 -0
- package/dist/cjs/resolution/index.js +28 -0
- package/dist/cjs/resolution/index.js.map +1 -0
- package/dist/cjs/resolution/resolve-branding.js +159 -0
- package/dist/cjs/resolution/resolve-branding.js.map +1 -0
- package/dist/cjs/resolution/resolve-config.js +270 -0
- package/dist/cjs/resolution/resolve-config.js.map +1 -0
- package/dist/cjs/resolution/resolve-copy.js +136 -0
- package/dist/cjs/resolution/resolve-copy.js.map +1 -0
- package/dist/cjs/schemas/api.schemas.js +156 -0
- package/dist/cjs/schemas/api.schemas.js.map +1 -0
- package/dist/cjs/schemas/branding.schemas.js +57 -0
- package/dist/cjs/schemas/branding.schemas.js.map +1 -0
- package/dist/cjs/schemas/config.schemas.js +147 -0
- package/dist/cjs/schemas/config.schemas.js.map +1 -0
- package/dist/cjs/schemas/index.js +29 -0
- package/dist/cjs/schemas/index.js.map +1 -0
- package/dist/cjs/schemas/modes.schemas.js +107 -0
- package/dist/cjs/schemas/modes.schemas.js.map +1 -0
- package/dist/cjs/security/escape.js +206 -0
- package/dist/cjs/security/escape.js.map +1 -0
- package/dist/cjs/security/index.js +26 -0
- package/dist/cjs/security/index.js.map +1 -0
- package/dist/cjs/security/validators.js +210 -0
- package/dist/cjs/security/validators.js.map +1 -0
- package/dist/cjs/styles/css-variables.js +129 -0
- package/dist/cjs/styles/css-variables.js.map +1 -0
- package/dist/cjs/styles/index.js +28 -0
- package/dist/cjs/styles/index.js.map +1 -0
- package/dist/cjs/styles/stylesheet.js +204 -0
- package/dist/cjs/styles/stylesheet.js.map +1 -0
- package/dist/cjs/styles/tokens.js +183 -0
- package/dist/cjs/styles/tokens.js.map +1 -0
- package/dist/cjs/templates/base/base-template.js +282 -0
- package/dist/cjs/templates/base/base-template.js.map +1 -0
- package/dist/cjs/templates/base/components.js +295 -0
- package/dist/cjs/templates/base/components.js.map +1 -0
- package/dist/cjs/templates/base/index.js +26 -0
- package/dist/cjs/templates/base/index.js.map +1 -0
- package/dist/cjs/templates/index.js +34 -0
- package/dist/cjs/templates/index.js.map +1 -0
- package/dist/cjs/templates/modes/consent-only.template.js +74 -0
- package/dist/cjs/templates/modes/consent-only.template.js.map +1 -0
- package/dist/cjs/templates/modes/credentials.template.js +414 -0
- package/dist/cjs/templates/modes/credentials.template.js.map +1 -0
- package/dist/cjs/templates/modes/index.js +24 -0
- package/dist/cjs/templates/modes/index.js.map +1 -0
- package/dist/cjs/templates/modes/magic-link.template.js +196 -0
- package/dist/cjs/templates/modes/magic-link.template.js.map +1 -0
- package/dist/cjs/templates/modes/oauth.template.js +153 -0
- package/dist/cjs/templates/modes/oauth.template.js.map +1 -0
- package/dist/cjs/templates/modes/otp.template.js +316 -0
- package/dist/cjs/templates/modes/otp.template.js.map +1 -0
- package/dist/cjs/templates/modes/success.template.js +140 -0
- package/dist/cjs/templates/modes/success.template.js.map +1 -0
- package/dist/cjs/templates/registry.js +133 -0
- package/dist/cjs/templates/registry.js.map +1 -0
- package/dist/cjs/types/api.types.js +10 -0
- package/dist/cjs/types/api.types.js.map +1 -0
- package/dist/cjs/types/branding.types.js +10 -0
- package/dist/cjs/types/branding.types.js.map +1 -0
- package/dist/cjs/types/config.types.js +10 -0
- package/dist/cjs/types/config.types.js.map +1 -0
- package/dist/cjs/types/copy.types.js +10 -0
- package/dist/cjs/types/copy.types.js.map +1 -0
- package/dist/cjs/types/index.js +31 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/types/modes.types.js +140 -0
- package/dist/cjs/types/modes.types.js.map +1 -0
- package/dist/cjs/types/page.types.js +10 -0
- package/dist/cjs/types/page.types.js.map +1 -0
- package/dist/components/mcp-consent.d.ts +6 -0
- package/dist/components/mcp-consent.d.ts.map +1 -1
- package/dist/components/mcp-consent.js +14 -0
- package/dist/components/mcp-consent.js.map +1 -1
- package/dist/consent.js +7 -0
- package/dist/consent.min.js +2 -2
- package/dist/schemas/api.schemas.d.ts +116 -116
- package/dist/schemas/config.schemas.d.ts +116 -116
- package/dist/schemas/modes.schemas.d.ts +28 -28
- package/package.json +29 -15
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-template.js","sourceRoot":"","sources":["../../../../src/templates/base/base-template.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Reusable HTML Components
|
|
4
|
+
*
|
|
5
|
+
* Each function corresponds to an AgentShield preview component:
|
|
6
|
+
* - renderLogo() -> PreviewAgentInfo logo
|
|
7
|
+
* - renderHeader() -> PreviewHeader
|
|
8
|
+
* - renderButton() -> PreviewButton
|
|
9
|
+
* - renderCheckbox() -> PreviewCheckbox
|
|
10
|
+
* - renderExpirationNotice() -> ExpirationNotice
|
|
11
|
+
*
|
|
12
|
+
* @module @kya-os/consent/templates/base/components
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.renderDefaultAgentIcon = renderDefaultAgentIcon;
|
|
16
|
+
exports.renderLogo = renderLogo;
|
|
17
|
+
exports.renderAgentInfo = renderAgentInfo;
|
|
18
|
+
exports.renderHeader = renderHeader;
|
|
19
|
+
exports.renderButton = renderButton;
|
|
20
|
+
exports.renderButtonGroup = renderButtonGroup;
|
|
21
|
+
exports.renderFullWidthButton = renderFullWidthButton;
|
|
22
|
+
exports.renderCheckbox = renderCheckbox;
|
|
23
|
+
exports.renderInput = renderInput;
|
|
24
|
+
exports.renderExpirationNotice = renderExpirationNotice;
|
|
25
|
+
exports.renderErrorContainer = renderErrorContainer;
|
|
26
|
+
exports.renderCheckIcon = renderCheckIcon;
|
|
27
|
+
exports.renderClockIcon = renderClockIcon;
|
|
28
|
+
exports.renderSuccessIcon = renderSuccessIcon;
|
|
29
|
+
const tokens_js_1 = require("../../styles/tokens.js");
|
|
30
|
+
const escape_js_1 = require("../../security/escape.js");
|
|
31
|
+
const validators_js_1 = require("../../security/validators.js");
|
|
32
|
+
// ============================================================================
|
|
33
|
+
// Logo & Agent Info
|
|
34
|
+
// ============================================================================
|
|
35
|
+
/**
|
|
36
|
+
* Render a default agent icon SVG.
|
|
37
|
+
* Used when no logo is provided.
|
|
38
|
+
*/
|
|
39
|
+
function renderDefaultAgentIcon() {
|
|
40
|
+
return `
|
|
41
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" class="text-gray-400">
|
|
42
|
+
<rect x="3" y="3" width="18" height="18" rx="2" stroke="currentColor" stroke-width="2" />
|
|
43
|
+
<circle cx="8" cy="8" r="1.5" fill="currentColor" />
|
|
44
|
+
<circle cx="16" cy="8" r="1.5" fill="currentColor" />
|
|
45
|
+
<path d="M8 14s1.5 2 4 2 4-2 4-2" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
|
|
46
|
+
</svg>
|
|
47
|
+
`;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Render a logo image or default icon.
|
|
51
|
+
*
|
|
52
|
+
* @param logoUrl - URL to logo image
|
|
53
|
+
* @param alt - Alt text for accessibility
|
|
54
|
+
* @returns HTML string
|
|
55
|
+
*/
|
|
56
|
+
function renderLogo(logoUrl, alt) {
|
|
57
|
+
if (!logoUrl) {
|
|
58
|
+
return renderDefaultAgentIcon();
|
|
59
|
+
}
|
|
60
|
+
const validUrl = (0, validators_js_1.validateUrl)(logoUrl);
|
|
61
|
+
if (!validUrl) {
|
|
62
|
+
return renderDefaultAgentIcon();
|
|
63
|
+
}
|
|
64
|
+
return `<img src="${(0, escape_js_1.escapeAttr)(validUrl)}" alt="${(0, escape_js_1.escapeAttr)(alt || "Agent")}" class="w-full h-full object-contain" />`;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Render agent info section with logo and description.
|
|
68
|
+
*
|
|
69
|
+
* @param description - Agent description text
|
|
70
|
+
* @param logoUrl - Optional logo URL
|
|
71
|
+
* @returns HTML string
|
|
72
|
+
*/
|
|
73
|
+
function renderAgentInfo(description, logoUrl) {
|
|
74
|
+
return `
|
|
75
|
+
<div class="${tokens_js_1.CONSENT_CLASSES.agentWrapper}">
|
|
76
|
+
<div class="${tokens_js_1.CONSENT_CLASSES.agentIcon}">
|
|
77
|
+
${renderLogo(logoUrl)}
|
|
78
|
+
</div>
|
|
79
|
+
<p class="${tokens_js_1.CONSENT_CLASSES.agentDescription}">${(0, escape_js_1.escapeHtml)(description)}</p>
|
|
80
|
+
</div>
|
|
81
|
+
`;
|
|
82
|
+
}
|
|
83
|
+
// ============================================================================
|
|
84
|
+
// Header
|
|
85
|
+
// ============================================================================
|
|
86
|
+
/**
|
|
87
|
+
* Render page header with optional logo and company name.
|
|
88
|
+
*
|
|
89
|
+
* @param title - Page title
|
|
90
|
+
* @param subtitle - Optional subtitle
|
|
91
|
+
* @param logoUrl - Optional logo URL for header
|
|
92
|
+
* @param companyName - Optional company name
|
|
93
|
+
* @returns HTML string
|
|
94
|
+
*/
|
|
95
|
+
function renderHeader(title, subtitle, logoUrl, companyName) {
|
|
96
|
+
let logoHtml = "";
|
|
97
|
+
if (logoUrl) {
|
|
98
|
+
const validUrl = (0, validators_js_1.validateUrl)(logoUrl);
|
|
99
|
+
if (validUrl) {
|
|
100
|
+
logoHtml = `<img src="${(0, escape_js_1.escapeAttr)(validUrl)}" alt="${(0, escape_js_1.escapeAttr)(companyName || "Logo")}" class="h-12 w-auto mb-4 mx-auto" />`;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
const companyHtml = companyName
|
|
104
|
+
? `<p class="text-sm text-gray-600 mb-2">${(0, escape_js_1.escapeHtml)(companyName)}</p>`
|
|
105
|
+
: "";
|
|
106
|
+
const subtitleHtml = subtitle
|
|
107
|
+
? `<p class="${tokens_js_1.CONSENT_CLASSES.subtitle}">${(0, escape_js_1.escapeHtml)(subtitle)}</p>`
|
|
108
|
+
: "";
|
|
109
|
+
return `
|
|
110
|
+
<div class="${tokens_js_1.CONSENT_CLASSES.headerCenter}">
|
|
111
|
+
${logoHtml}
|
|
112
|
+
${companyHtml}
|
|
113
|
+
<h1 class="${tokens_js_1.CONSENT_CLASSES.title}">${(0, escape_js_1.escapeHtml)(title)}</h1>
|
|
114
|
+
${subtitleHtml}
|
|
115
|
+
</div>
|
|
116
|
+
`;
|
|
117
|
+
}
|
|
118
|
+
// ============================================================================
|
|
119
|
+
// Buttons
|
|
120
|
+
// ============================================================================
|
|
121
|
+
/**
|
|
122
|
+
* Render a button element.
|
|
123
|
+
*
|
|
124
|
+
* @param text - Button text
|
|
125
|
+
* @param variant - 'primary' | 'secondary'
|
|
126
|
+
* @param type - 'submit' | 'button'
|
|
127
|
+
* @param attributes - Additional HTML attributes
|
|
128
|
+
* @returns HTML string
|
|
129
|
+
*/
|
|
130
|
+
function renderButton(text, variant, type = "button", attributes = {}) {
|
|
131
|
+
const baseClass = variant === "primary"
|
|
132
|
+
? `${tokens_js_1.CONSENT_CLASSES.buttonPrimary} btn-primary`
|
|
133
|
+
: tokens_js_1.CONSENT_CLASSES.buttonSecondary;
|
|
134
|
+
const attrs = Object.entries(attributes)
|
|
135
|
+
.map(([k, v]) => `${k}="${(0, escape_js_1.escapeAttr)(v)}"`)
|
|
136
|
+
.join(" ");
|
|
137
|
+
return `<button type="${type}" class="${baseClass}" ${attrs}>${(0, escape_js_1.escapeHtml)(text)}</button>`;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Render button group with cancel and submit buttons.
|
|
141
|
+
*
|
|
142
|
+
* @param cancelText - Cancel button text
|
|
143
|
+
* @param submitText - Submit button text
|
|
144
|
+
* @returns HTML string
|
|
145
|
+
*/
|
|
146
|
+
function renderButtonGroup(cancelText, submitText) {
|
|
147
|
+
return `
|
|
148
|
+
<div class="${tokens_js_1.CONSENT_CLASSES.buttonGroup}">
|
|
149
|
+
${renderButton(cancelText, "secondary", "button", { onclick: "window.close()" })}
|
|
150
|
+
${renderButton(submitText, "primary", "submit")}
|
|
151
|
+
</div>
|
|
152
|
+
`;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Render a full-width primary button.
|
|
156
|
+
*
|
|
157
|
+
* @param text - Button text
|
|
158
|
+
* @param type - 'submit' | 'button'
|
|
159
|
+
* @returns HTML string
|
|
160
|
+
*/
|
|
161
|
+
function renderFullWidthButton(text, type = "submit") {
|
|
162
|
+
return `<button type="${type}" class="${tokens_js_1.CONSENT_CLASSES.buttonFull} btn-primary">${(0, escape_js_1.escapeHtml)(text)}</button>`;
|
|
163
|
+
}
|
|
164
|
+
// ============================================================================
|
|
165
|
+
// Form Elements
|
|
166
|
+
// ============================================================================
|
|
167
|
+
/**
|
|
168
|
+
* Render a checkbox input.
|
|
169
|
+
*
|
|
170
|
+
* @param name - Input name
|
|
171
|
+
* @param label - Label text (can include HTML like links)
|
|
172
|
+
* @param required - Whether field is required
|
|
173
|
+
* @param checked - Whether initially checked
|
|
174
|
+
* @param disabled - Whether disabled
|
|
175
|
+
* @returns HTML string
|
|
176
|
+
*/
|
|
177
|
+
function renderCheckbox(name, label, required = false, checked = false, disabled = false) {
|
|
178
|
+
const requiredAttr = required ? "required" : "";
|
|
179
|
+
const checkedAttr = checked ? "checked" : "";
|
|
180
|
+
const disabledAttr = disabled ? "disabled" : "";
|
|
181
|
+
return `
|
|
182
|
+
<label class="${tokens_js_1.CONSENT_CLASSES.checkboxLabel}">
|
|
183
|
+
<input type="checkbox" name="${(0, escape_js_1.escapeAttr)(name)}"
|
|
184
|
+
class="${tokens_js_1.CONSENT_CLASSES.checkbox}"
|
|
185
|
+
${requiredAttr} ${checkedAttr} ${disabledAttr} />
|
|
186
|
+
<span class="${tokens_js_1.CONSENT_CLASSES.checkboxText}">${label}</span>
|
|
187
|
+
</label>
|
|
188
|
+
`;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Render an input field with label.
|
|
192
|
+
*
|
|
193
|
+
* @param type - Input type
|
|
194
|
+
* @param name - Input name
|
|
195
|
+
* @param label - Label text
|
|
196
|
+
* @param placeholder - Placeholder text
|
|
197
|
+
* @param required - Whether required
|
|
198
|
+
* @param autocomplete - Autocomplete value
|
|
199
|
+
* @returns HTML string
|
|
200
|
+
*/
|
|
201
|
+
function renderInput(type, name, label, placeholder, required = false, autocomplete) {
|
|
202
|
+
const placeholderAttr = placeholder
|
|
203
|
+
? `placeholder="${(0, escape_js_1.escapeAttr)(placeholder)}"`
|
|
204
|
+
: "";
|
|
205
|
+
const requiredAttr = required ? "required" : "";
|
|
206
|
+
const autocompleteAttr = autocomplete
|
|
207
|
+
? `autocomplete="${(0, escape_js_1.escapeAttr)(autocomplete)}"`
|
|
208
|
+
: "";
|
|
209
|
+
return `
|
|
210
|
+
<div class="space-y-2">
|
|
211
|
+
<label for="${(0, escape_js_1.escapeAttr)(name)}" class="block text-sm font-medium text-gray-700">
|
|
212
|
+
${(0, escape_js_1.escapeHtml)(label)}
|
|
213
|
+
</label>
|
|
214
|
+
<input
|
|
215
|
+
type="${type}"
|
|
216
|
+
id="${(0, escape_js_1.escapeAttr)(name)}"
|
|
217
|
+
name="${(0, escape_js_1.escapeAttr)(name)}"
|
|
218
|
+
${placeholderAttr}
|
|
219
|
+
${requiredAttr}
|
|
220
|
+
${autocompleteAttr}
|
|
221
|
+
class="${tokens_js_1.CONSENT_CLASSES.input} ${tokens_js_1.CONSENT_CLASSES.inputFocus}"
|
|
222
|
+
/>
|
|
223
|
+
</div>
|
|
224
|
+
`;
|
|
225
|
+
}
|
|
226
|
+
// ============================================================================
|
|
227
|
+
// Notices
|
|
228
|
+
// ============================================================================
|
|
229
|
+
/**
|
|
230
|
+
* Render expiration notice.
|
|
231
|
+
*
|
|
232
|
+
* @param text - Notice text
|
|
233
|
+
* @param days - Number of days (optional)
|
|
234
|
+
* @returns HTML string
|
|
235
|
+
*/
|
|
236
|
+
function renderExpirationNotice(text, days) {
|
|
237
|
+
const fullText = days ? `${text} ${days} days` : text;
|
|
238
|
+
return `
|
|
239
|
+
<div class="${tokens_js_1.CONSENT_CLASSES.expirationWrapper} bg-secondary-50">
|
|
240
|
+
<svg class="w-4 h-4 text-primary flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
241
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
|
242
|
+
d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z" />
|
|
243
|
+
</svg>
|
|
244
|
+
<span class="text-sm text-gray-600">${(0, escape_js_1.escapeHtml)(fullText)}</span>
|
|
245
|
+
</div>
|
|
246
|
+
`;
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Render an error container (initially hidden).
|
|
250
|
+
*
|
|
251
|
+
* @param id - Container ID for JavaScript access
|
|
252
|
+
* @returns HTML string
|
|
253
|
+
*/
|
|
254
|
+
function renderErrorContainer(id = "error-container") {
|
|
255
|
+
return `
|
|
256
|
+
<div id="${(0, escape_js_1.escapeAttr)(id)}" class="hidden">
|
|
257
|
+
<div class="${tokens_js_1.CONSENT_CLASSES.errorContainer}"></div>
|
|
258
|
+
</div>
|
|
259
|
+
`;
|
|
260
|
+
}
|
|
261
|
+
// ============================================================================
|
|
262
|
+
// Icons
|
|
263
|
+
// ============================================================================
|
|
264
|
+
/**
|
|
265
|
+
* Render a checkmark icon.
|
|
266
|
+
*/
|
|
267
|
+
function renderCheckIcon() {
|
|
268
|
+
return `
|
|
269
|
+
<svg class="w-5 h-5 text-green-500 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
270
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7" />
|
|
271
|
+
</svg>
|
|
272
|
+
`;
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Render a clock icon.
|
|
276
|
+
*/
|
|
277
|
+
function renderClockIcon() {
|
|
278
|
+
return `
|
|
279
|
+
<svg class="w-4 h-4 text-primary flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
280
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
|
281
|
+
d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z" />
|
|
282
|
+
</svg>
|
|
283
|
+
`;
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Render a success checkmark icon (large, green).
|
|
287
|
+
*/
|
|
288
|
+
function renderSuccessIcon() {
|
|
289
|
+
return `
|
|
290
|
+
<svg class="mx-auto h-12 w-12 text-green-500 mb-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="true">
|
|
291
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7" />
|
|
292
|
+
</svg>
|
|
293
|
+
`;
|
|
294
|
+
}
|
|
295
|
+
//# sourceMappingURL=components.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.js","sourceRoot":"","sources":["../../../../src/templates/base/components.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Base Template Exports
|
|
4
|
+
*
|
|
5
|
+
* @module @kya-os/consent/templates/base
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.renderSuccessIcon = exports.renderClockIcon = exports.renderCheckIcon = exports.renderErrorContainer = exports.renderExpirationNotice = exports.renderInput = exports.renderCheckbox = exports.renderFullWidthButton = exports.renderButtonGroup = exports.renderButton = exports.renderHeader = exports.renderAgentInfo = exports.renderLogo = exports.renderDefaultAgentIcon = exports.BaseConsentTemplate = void 0;
|
|
9
|
+
var base_template_js_1 = require("./base-template.js");
|
|
10
|
+
Object.defineProperty(exports, "BaseConsentTemplate", { enumerable: true, get: function () { return base_template_js_1.BaseConsentTemplate; } });
|
|
11
|
+
var components_js_1 = require("./components.js");
|
|
12
|
+
Object.defineProperty(exports, "renderDefaultAgentIcon", { enumerable: true, get: function () { return components_js_1.renderDefaultAgentIcon; } });
|
|
13
|
+
Object.defineProperty(exports, "renderLogo", { enumerable: true, get: function () { return components_js_1.renderLogo; } });
|
|
14
|
+
Object.defineProperty(exports, "renderAgentInfo", { enumerable: true, get: function () { return components_js_1.renderAgentInfo; } });
|
|
15
|
+
Object.defineProperty(exports, "renderHeader", { enumerable: true, get: function () { return components_js_1.renderHeader; } });
|
|
16
|
+
Object.defineProperty(exports, "renderButton", { enumerable: true, get: function () { return components_js_1.renderButton; } });
|
|
17
|
+
Object.defineProperty(exports, "renderButtonGroup", { enumerable: true, get: function () { return components_js_1.renderButtonGroup; } });
|
|
18
|
+
Object.defineProperty(exports, "renderFullWidthButton", { enumerable: true, get: function () { return components_js_1.renderFullWidthButton; } });
|
|
19
|
+
Object.defineProperty(exports, "renderCheckbox", { enumerable: true, get: function () { return components_js_1.renderCheckbox; } });
|
|
20
|
+
Object.defineProperty(exports, "renderInput", { enumerable: true, get: function () { return components_js_1.renderInput; } });
|
|
21
|
+
Object.defineProperty(exports, "renderExpirationNotice", { enumerable: true, get: function () { return components_js_1.renderExpirationNotice; } });
|
|
22
|
+
Object.defineProperty(exports, "renderErrorContainer", { enumerable: true, get: function () { return components_js_1.renderErrorContainer; } });
|
|
23
|
+
Object.defineProperty(exports, "renderCheckIcon", { enumerable: true, get: function () { return components_js_1.renderCheckIcon; } });
|
|
24
|
+
Object.defineProperty(exports, "renderClockIcon", { enumerable: true, get: function () { return components_js_1.renderClockIcon; } });
|
|
25
|
+
Object.defineProperty(exports, "renderSuccessIcon", { enumerable: true, get: function () { return components_js_1.renderSuccessIcon; } });
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/templates/base/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,uDAAyD;AAAhD,uHAAA,mBAAmB,OAAA;AAC5B,iDAeyB;AAdvB,uHAAA,sBAAsB,OAAA;AACtB,2GAAA,UAAU,OAAA;AACV,gHAAA,eAAe,OAAA;AACf,6GAAA,YAAY,OAAA;AACZ,6GAAA,YAAY,OAAA;AACZ,kHAAA,iBAAiB,OAAA;AACjB,sHAAA,qBAAqB,OAAA;AACrB,+GAAA,cAAc,OAAA;AACd,4GAAA,WAAW,OAAA;AACX,uHAAA,sBAAsB,OAAA;AACtB,qHAAA,oBAAoB,OAAA;AACpB,gHAAA,eAAe,OAAA;AACf,gHAAA,eAAe,OAAA;AACf,kHAAA,iBAAiB,OAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Consent Templates
|
|
4
|
+
*
|
|
5
|
+
* Template Method pattern implementation for consent page rendering.
|
|
6
|
+
* Used by MCP-I Cloudflare runtime to generate consent pages.
|
|
7
|
+
*
|
|
8
|
+
* @module @kya-os/consent/templates
|
|
9
|
+
*/
|
|
10
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
13
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
14
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
15
|
+
}
|
|
16
|
+
Object.defineProperty(o, k2, desc);
|
|
17
|
+
}) : (function(o, m, k, k2) {
|
|
18
|
+
if (k2 === undefined) k2 = k;
|
|
19
|
+
o[k2] = m[k];
|
|
20
|
+
}));
|
|
21
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
22
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
__exportStar(require("./base/base-template.js"), exports);
|
|
26
|
+
__exportStar(require("./base/components.js"), exports);
|
|
27
|
+
__exportStar(require("./modes/consent-only.template.js"), exports);
|
|
28
|
+
__exportStar(require("./modes/credentials.template.js"), exports);
|
|
29
|
+
__exportStar(require("./modes/oauth.template.js"), exports);
|
|
30
|
+
__exportStar(require("./modes/magic-link.template.js"), exports);
|
|
31
|
+
__exportStar(require("./modes/otp.template.js"), exports);
|
|
32
|
+
__exportStar(require("./modes/success.template.js"), exports);
|
|
33
|
+
__exportStar(require("./registry.js"), exports);
|
|
34
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;AAEH,0DAAwC;AACxC,uDAAqC;AACrC,mEAAiD;AACjD,kEAAgD;AAChD,4DAA0C;AAC1C,iEAA+C;AAC/C,0DAAwC;AACxC,8DAA4C;AAC5C,gDAA8B"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Consent-Only Template
|
|
4
|
+
*
|
|
5
|
+
* Default clickwrap consent without authentication.
|
|
6
|
+
* User simply agrees to permissions and terms.
|
|
7
|
+
*
|
|
8
|
+
* @module @kya-os/consent/templates/modes/consent-only
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.ConsentOnlyTemplate = void 0;
|
|
12
|
+
const base_template_js_1 = require("../base/base-template.js");
|
|
13
|
+
const components_js_1 = require("../base/components.js");
|
|
14
|
+
const tokens_js_1 = require("../../styles/tokens.js");
|
|
15
|
+
const escape_js_1 = require("../../security/escape.js");
|
|
16
|
+
const modes_types_js_1 = require("../../types/modes.types.js");
|
|
17
|
+
/**
|
|
18
|
+
* Consent-Only Template
|
|
19
|
+
*
|
|
20
|
+
* Renders a simple clickwrap consent page:
|
|
21
|
+
* - Shows requested permissions as checkboxes (pre-checked, disabled)
|
|
22
|
+
* - Shows expiration notice
|
|
23
|
+
* - Terms acceptance checkbox
|
|
24
|
+
* - Cancel/Allow buttons
|
|
25
|
+
*/
|
|
26
|
+
class ConsentOnlyTemplate extends base_template_js_1.BaseConsentTemplate {
|
|
27
|
+
get authMode() {
|
|
28
|
+
return modes_types_js_1.AUTH_MODES.CONSENT_ONLY;
|
|
29
|
+
}
|
|
30
|
+
renderAuthContent() {
|
|
31
|
+
return `
|
|
32
|
+
${this.renderPermissionsList()}
|
|
33
|
+
${this.renderExpirationNotice()}
|
|
34
|
+
`;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Render the list of requested permissions.
|
|
38
|
+
*/
|
|
39
|
+
renderPermissionsList() {
|
|
40
|
+
const { copy } = this.resolved;
|
|
41
|
+
const { scopes } = this.config;
|
|
42
|
+
if (scopes.length === 0) {
|
|
43
|
+
return `<p class="text-sm text-gray-600">No specific permissions required.</p>`;
|
|
44
|
+
}
|
|
45
|
+
const scopeItems = scopes
|
|
46
|
+
.map((scope) => this.renderScopeItem(scope))
|
|
47
|
+
.join("");
|
|
48
|
+
return `
|
|
49
|
+
<div class="space-y-5">
|
|
50
|
+
<p class="${tokens_js_1.CONSENT_CLASSES.permissionsHeader}">${(0, escape_js_1.escapeHtml)(copy.permissionsHeader)}</p>
|
|
51
|
+
<div class="${tokens_js_1.CONSENT_CLASSES.permissionsList}">
|
|
52
|
+
${scopeItems}
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
`;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Render a single scope item with info tooltip.
|
|
59
|
+
*/
|
|
60
|
+
renderScopeItem(scope) {
|
|
61
|
+
// Scopes are pre-checked and disabled (informational only)
|
|
62
|
+
return (0, components_js_1.renderCheckbox)(`scope_${scope}`, (0, escape_js_1.escapeHtml)(scope), false, true, true);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Render the expiration notice.
|
|
66
|
+
*/
|
|
67
|
+
renderExpirationNotice() {
|
|
68
|
+
const { copy } = this.resolved;
|
|
69
|
+
const expirationDays = this.resolved.expirationDays || 30;
|
|
70
|
+
return (0, components_js_1.renderExpirationNotice)(copy.expirationText, expirationDays);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.ConsentOnlyTemplate = ConsentOnlyTemplate;
|
|
74
|
+
//# sourceMappingURL=consent-only.template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consent-only.template.js","sourceRoot":"","sources":["../../../../src/templates/modes/consent-only.template.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,+DAA+D;AAC/D,yDAA+E;AAC/E,sDAAyD;AACzD,wDAAsD;AAEtD,+DAAwD;AAExD;;;;;;;;GAQG;AACH,MAAa,mBAAoB,SAAQ,sCAAmB;IAC1D,IAAI,QAAQ;QACV,OAAO,2BAAU,CAAC,YAAY,CAAC;IACjC,CAAC;IAEQ,iBAAiB;QACxB,OAAO;QACH,IAAI,CAAC,qBAAqB,EAAE;QAC5B,IAAI,CAAC,sBAAsB,EAAE;KAChC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,qBAAqB;QAC3B,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAE/B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,wEAAwE,CAAC;QAClF,CAAC;QAED,MAAM,UAAU,GAAG,MAAM;aACtB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;aAC3C,IAAI,CAAC,EAAE,CAAC,CAAC;QAEZ,OAAO;;oBAES,2BAAe,CAAC,iBAAiB,KAAK,IAAA,sBAAU,EAAC,IAAI,CAAC,iBAAiB,CAAC;sBACtE,2BAAe,CAAC,eAAe;YACzC,UAAU;;;KAGjB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,KAAa;QACnC,2DAA2D;QAC3D,OAAO,IAAA,8BAAc,EACnB,SAAS,KAAK,EAAE,EAChB,IAAA,sBAAU,EAAC,KAAK,CAAC,EACjB,KAAK,EACL,IAAI,EACJ,IAAI,CACL,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,sBAAsB;QAC5B,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,EAAE,CAAC;QAC1D,OAAO,IAAA,sCAAsB,EAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IACrE,CAAC;CACF;AA3DD,kDA2DC"}
|