secure-ui-components 0.2.2 → 0.2.4

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.
Files changed (28) hide show
  1. package/dist/components/secure-card/secure-card.js +1 -766
  2. package/dist/components/secure-datetime/secure-datetime.js +1 -570
  3. package/dist/components/secure-file-upload/secure-file-upload.js +1 -868
  4. package/dist/components/secure-form/secure-form.js +1 -797
  5. package/dist/components/secure-input/secure-input.css +67 -1
  6. package/dist/components/secure-input/secure-input.d.ts +14 -0
  7. package/dist/components/secure-input/secure-input.d.ts.map +1 -1
  8. package/dist/components/secure-input/secure-input.js +1 -805
  9. package/dist/components/secure-input/secure-input.js.map +1 -1
  10. package/dist/components/secure-password-confirm/secure-password-confirm.js +1 -329
  11. package/dist/components/secure-select/secure-select.js +1 -589
  12. package/dist/components/secure-submit-button/secure-submit-button.js +1 -378
  13. package/dist/components/secure-table/secure-table.js +33 -528
  14. package/dist/components/secure-telemetry-provider/secure-telemetry-provider.js +1 -201
  15. package/dist/components/secure-textarea/secure-textarea.css +66 -1
  16. package/dist/components/secure-textarea/secure-textarea.d.ts +11 -0
  17. package/dist/components/secure-textarea/secure-textarea.d.ts.map +1 -1
  18. package/dist/components/secure-textarea/secure-textarea.js +1 -436
  19. package/dist/components/secure-textarea/secure-textarea.js.map +1 -1
  20. package/dist/core/base-component.d.ts +18 -0
  21. package/dist/core/base-component.d.ts.map +1 -1
  22. package/dist/core/base-component.js +1 -455
  23. package/dist/core/base-component.js.map +1 -1
  24. package/dist/core/security-config.js +1 -242
  25. package/dist/core/types.js +0 -2
  26. package/dist/index.js +1 -17
  27. package/dist/package.json +4 -2
  28. package/package.json +4 -2
@@ -15,458 +15,4 @@
15
15
  *
16
16
  * @module base-component
17
17
  * @license MIT
18
- */
19
- var _a;
20
- import { SecurityTier, getTierConfig, isValidTier, } from './security-config.js';
21
- /**
22
- * Base class for all Secure-UI components
23
- *
24
- * All components in the Secure-UI library should extend this class to inherit
25
- * core security functionality and standardized behavior.
26
- *
27
- * Security Architecture:
28
- * - Closed Shadow DOM prevents external tampering
29
- * - All attributes are sanitized on read
30
- * - Security tier is immutable after initial set
31
- * - Default tier is CRITICAL (fail secure)
32
- */
33
- export class SecureBaseComponent extends HTMLElement {
34
- /** Maximum number of entries retained in the in-memory audit log */
35
- static #MAX_AUDIT_LOG_SIZE = 1000;
36
- /**
37
- * Injection detection patterns applied to raw input values on every input event.
38
- * Ordered by descending severity. Only the first match is reported per event.
39
- * Raw values are never included in the resulting threat event.
40
- */
41
- static #INJECTION_PATTERNS = [
42
- { id: 'script-tag', pattern: /<script[\s>/]/i },
43
- { id: 'js-protocol', pattern: /javascript\s*:/i },
44
- { id: 'event-handler', pattern: /\bon\w+\s*=/i },
45
- { id: 'html-injection', pattern: /<\s*(img|svg|iframe|object|embed|link|meta|base)[^>]*/i },
46
- { id: 'css-expression', pattern: /expression\s*\(/i },
47
- { id: 'vbscript', pattern: /vbscript\s*:/i },
48
- { id: 'data-uri-html', pattern: /data:\s*text\/html/i },
49
- { id: 'template-syntax', pattern: /\{\{[\s\S]*?\}\}/ },
50
- ];
51
- #securityTier = SecurityTier.CRITICAL;
52
- #config;
53
- #shadow;
54
- #auditLog = [];
55
- #rateLimitState = {
56
- attempts: 0,
57
- windowStart: Date.now()
58
- };
59
- #initialized = false;
60
- #telemetryState = {
61
- focusAt: null,
62
- firstKeystrokeAt: null,
63
- blurAt: null,
64
- keyCount: 0,
65
- correctionCount: 0,
66
- pasteDetected: false,
67
- autofillDetected: false,
68
- focusCount: 0,
69
- blurWithoutChange: 0,
70
- lastInputLength: 0,
71
- };
72
- /**
73
- * Constructor
74
- *
75
- * Security Note: Creates a CLOSED shadow DOM to prevent external JavaScript
76
- * from accessing or modifying the component's internal DOM.
77
- */
78
- constructor() {
79
- super();
80
- this.#shadow = this.attachShadow({ mode: 'closed' });
81
- this.#config = getTierConfig(this.#securityTier);
82
- }
83
- /**
84
- * Observed attributes - must be overridden by child classes
85
- */
86
- static get observedAttributes() {
87
- return ['security-tier', 'disabled', 'readonly'];
88
- }
89
- /**
90
- * Called when element is added to DOM
91
- */
92
- connectedCallback() {
93
- if (!this.#initialized) {
94
- this.#initialize();
95
- this.#initialized = true;
96
- }
97
- }
98
- #initialize() {
99
- this.initializeSecurity();
100
- this.#render();
101
- }
102
- /**
103
- * Initialize security tier, config, and audit logging without triggering render.
104
- *
105
- * Components that manage their own rendering (e.g. secure-table) can call this
106
- * from their connectedCallback instead of super.connectedCallback() to get
107
- * security initialization without the base render lifecycle.
108
- * @protected
109
- */
110
- initializeSecurity() {
111
- const tierAttr = this.getAttribute('security-tier');
112
- if (tierAttr && isValidTier(tierAttr)) {
113
- this.#securityTier = tierAttr;
114
- }
115
- this.#config = getTierConfig(this.#securityTier);
116
- this.#audit('component_initialized', {
117
- tier: this.#securityTier,
118
- timestamp: new Date().toISOString()
119
- });
120
- }
121
- /**
122
- * Called when an observed attribute changes
123
- *
124
- * Security Note: security-tier attribute is immutable after initialization
125
- * to prevent privilege escalation.
126
- */
127
- attributeChangedCallback(name, oldValue, newValue) {
128
- if (name === 'security-tier' && this.#initialized) {
129
- console.warn(`Security tier cannot be changed after initialization. ` +
130
- `Attempted change from "${oldValue}" to "${newValue}" blocked.`);
131
- if (oldValue !== null) {
132
- this.setAttribute('security-tier', oldValue);
133
- }
134
- return;
135
- }
136
- if (this.#initialized) {
137
- this.handleAttributeChange(name, oldValue, newValue);
138
- }
139
- }
140
- /**
141
- * Handle attribute changes - to be overridden by child classes
142
- */
143
- handleAttributeChange(_name, _oldValue, _newValue) {
144
- // Child classes should override this method
145
- }
146
- #render() {
147
- this.#shadow.innerHTML = '';
148
- // Base styles via <link> — loads from 'self', fully CSP-safe.
149
- // Using adoptedStyleSheets + replaceSync(inlineString) triggers CSP violations
150
- // when style-src lacks 'unsafe-inline'. A <link> element loading from 'self'
151
- // is always permitted.
152
- const baseLink = document.createElement('link');
153
- baseLink.rel = 'stylesheet';
154
- baseLink.href = new URL('./base.css', import.meta.url).href;
155
- this.#shadow.appendChild(baseLink);
156
- const content = this.render();
157
- if (content) {
158
- this.#shadow.appendChild(content);
159
- }
160
- }
161
- /**
162
- * Returns the URL of the shared base stylesheet.
163
- * Components that manage their own rendering (e.g. secure-table) can use
164
- * this to inject the base <link> themselves.
165
- * @protected
166
- */
167
- getBaseStylesheetUrl() {
168
- return new URL('./base.css', import.meta.url).href;
169
- }
170
- /**
171
- * Inject a component stylesheet into the shadow root via <link>.
172
- * Accepts a URL (use import.meta.url to derive it, e.g.
173
- * new URL('./my-component.css', import.meta.url).href
174
- * ). Loading from 'self' satisfies strict CSP without unsafe-inline.
175
- * @protected
176
- */
177
- addComponentStyles(cssUrl) {
178
- const link = document.createElement('link');
179
- link.rel = 'stylesheet';
180
- link.href = cssUrl;
181
- this.#shadow.appendChild(link);
182
- }
183
- /**
184
- * Sanitize a string value to prevent XSS
185
- */
186
- sanitizeValue(value) {
187
- if (typeof value !== 'string') {
188
- return '';
189
- }
190
- const div = document.createElement('div');
191
- div.textContent = value;
192
- return div.innerHTML;
193
- }
194
- /**
195
- * Validate input against tier-specific rules
196
- */
197
- validateInput(value, options = {}) {
198
- const errors = [];
199
- const config = this.#config;
200
- const isRequired = options.required !== undefined ? options.required : config.validation.required;
201
- if (isRequired && (!value || value.trim().length === 0)) {
202
- errors.push('This field is required');
203
- }
204
- const maxLength = options.maxLength || config.validation.maxLength;
205
- if (value && value.length > maxLength) {
206
- errors.push(`Value exceeds maximum length of ${maxLength}`);
207
- }
208
- const minLength = options.minLength || 0;
209
- if (value && value.length < minLength) {
210
- errors.push(`Value must be at least ${minLength} characters`);
211
- }
212
- const pattern = options.pattern || config.validation.pattern;
213
- if (pattern && value && !pattern.test(value)) {
214
- errors.push('Value does not match required format');
215
- }
216
- if (config.validation.strict && errors.length > 0) {
217
- this.#audit('validation_failed', {
218
- errors,
219
- valueLength: value ? value.length : 0
220
- });
221
- }
222
- return {
223
- valid: errors.length === 0,
224
- errors
225
- };
226
- }
227
- /**
228
- * Check rate limit for this component
229
- */
230
- checkRateLimit() {
231
- if (!this.#config.rateLimit.enabled) {
232
- return { allowed: true, retryAfter: 0 };
233
- }
234
- const now = Date.now();
235
- const windowMs = this.#config.rateLimit.windowMs;
236
- if (now - this.#rateLimitState.windowStart > windowMs) {
237
- this.#rateLimitState.attempts = 0;
238
- this.#rateLimitState.windowStart = now;
239
- }
240
- if (this.#rateLimitState.attempts >= this.#config.rateLimit.maxAttempts) {
241
- const retryAfter = windowMs - (now - this.#rateLimitState.windowStart);
242
- this.#audit('rate_limit_exceeded', {
243
- attempts: this.#rateLimitState.attempts,
244
- retryAfter
245
- });
246
- return { allowed: false, retryAfter };
247
- }
248
- this.#rateLimitState.attempts++;
249
- return { allowed: true, retryAfter: 0 };
250
- }
251
- #audit(event, data = {}) {
252
- const config = this.#config.audit;
253
- const shouldLog = (event.includes('access') && config.logAccess) ||
254
- (event.includes('change') && config.logChanges) ||
255
- (event.includes('submit') && config.logSubmission) ||
256
- event.includes('initialized') ||
257
- event.includes('rate_limit') ||
258
- event.includes('validation') ||
259
- event.includes('threat');
260
- if (!shouldLog) {
261
- return;
262
- }
263
- const logEntry = {
264
- event,
265
- tier: this.#securityTier,
266
- timestamp: new Date().toISOString(),
267
- ...data
268
- };
269
- if (config.includeMetadata) {
270
- logEntry.userAgent = navigator.userAgent;
271
- logEntry.language = navigator.language;
272
- }
273
- // Cap log size to prevent unbounded memory growth (DoS mitigation)
274
- if (this.#auditLog.length >= _a.#MAX_AUDIT_LOG_SIZE) {
275
- this.#auditLog.shift();
276
- }
277
- this.#auditLog.push(logEntry);
278
- this.dispatchEvent(new CustomEvent('secure-audit', {
279
- detail: logEntry,
280
- bubbles: true,
281
- composed: true
282
- }));
283
- }
284
- /**
285
- * Get the shadow root (protected access for child classes)
286
- */
287
- get shadowRoot() {
288
- return this.#shadow;
289
- }
290
- /**
291
- * Get the current security tier
292
- */
293
- get securityTier() {
294
- return this.#securityTier;
295
- }
296
- /**
297
- * Get the tier configuration
298
- */
299
- get config() {
300
- return this.#config;
301
- }
302
- /**
303
- * Get all audit log entries
304
- */
305
- getAuditLog() {
306
- return [...this.#auditLog];
307
- }
308
- /**
309
- * Clear the local audit log
310
- */
311
- clearAuditLog() {
312
- this.#auditLog = [];
313
- }
314
- /**
315
- * Trigger an audit event from child classes
316
- */
317
- audit(event, data) {
318
- this.#audit(event, data);
319
- }
320
- /**
321
- * Check a raw input value for injection patterns and signal if one is found.
322
- *
323
- * Called by input components on every input event, after the raw value is captured.
324
- * Only the first matching pattern is reported to avoid event flooding.
325
- * The raw value is never included in the dispatched event detail.
326
- *
327
- * @param value - Raw field value (unmodified user input)
328
- * @param fieldName - The field's name attribute
329
- */
330
- detectInjection(value, fieldName) {
331
- for (const { id, pattern } of _a.#INJECTION_PATTERNS) {
332
- if (pattern.test(value)) {
333
- this.audit('threat_detected', {
334
- fieldName,
335
- patternId: id,
336
- threatType: 'injection',
337
- });
338
- this.dispatchEvent(new CustomEvent('secure-threat-detected', {
339
- detail: {
340
- fieldName,
341
- threatType: 'injection',
342
- patternId: id,
343
- tier: this.securityTier,
344
- timestamp: Date.now(),
345
- },
346
- bubbles: true,
347
- composed: true,
348
- }));
349
- return; // first match only
350
- }
351
- }
352
- }
353
- /**
354
- * Force re-render of the component
355
- */
356
- rerender() {
357
- this.#render();
358
- }
359
- // ── Telemetry collection ────────────────────────────────────────────────────
360
- /**
361
- * Call from the field's `focus` event handler to start a telemetry session.
362
- * @protected
363
- */
364
- recordTelemetryFocus() {
365
- const t = this.#telemetryState;
366
- t.focusAt = Date.now();
367
- t.blurAt = null;
368
- t.focusCount++;
369
- // snapshot input length at focus so we can detect blur-without-change
370
- const el = this.shadowRoot.querySelector('input:not([type="hidden"]), textarea, select');
371
- t.lastInputLength = el ? el.value.length : 0;
372
- }
373
- /**
374
- * Call from the field's `input` event handler.
375
- * Pass the native `InputEvent` so inputType can be inspected.
376
- * @protected
377
- */
378
- recordTelemetryInput(event) {
379
- const t = this.#telemetryState;
380
- const now = Date.now();
381
- if (t.firstKeystrokeAt === null) {
382
- t.firstKeystrokeAt = now;
383
- }
384
- const inputEvent = event;
385
- const inputType = inputEvent.inputType ?? '';
386
- if (inputType === 'insertFromPaste' || inputType === 'insertFromPasteAsQuotation') {
387
- t.pasteDetected = true;
388
- }
389
- else if (inputType === 'insertReplacementText') {
390
- // Browser autofill triggers this type
391
- t.autofillDetected = true;
392
- }
393
- else if (inputType.startsWith('delete') ||
394
- inputType === 'historyUndo' ||
395
- inputType === 'historyRedo') {
396
- t.correctionCount++;
397
- }
398
- else {
399
- t.keyCount++;
400
- }
401
- const el = event.target;
402
- if (el)
403
- t.lastInputLength = el.value.length;
404
- }
405
- /**
406
- * Call from the field's `blur` event handler to finalise the telemetry session.
407
- * @protected
408
- */
409
- recordTelemetryBlur() {
410
- const t = this.#telemetryState;
411
- t.blurAt = Date.now();
412
- const el = this.shadowRoot.querySelector('input:not([type="hidden"]), textarea, select');
413
- const currentLength = el ? el.value.length : 0;
414
- if (currentLength === t.lastInputLength && t.keyCount === 0 && !t.pasteDetected) {
415
- t.blurWithoutChange++;
416
- }
417
- }
418
- /**
419
- * Returns computed behavioral signals for the current (or last completed)
420
- * interaction session. Safe to include in server payloads — contains no
421
- * raw field values or PII.
422
- */
423
- getFieldTelemetry() {
424
- const t = this.#telemetryState;
425
- const focusAt = t.focusAt ?? Date.now();
426
- const firstKeystrokeAt = t.firstKeystrokeAt;
427
- const blurAt = t.blurAt ?? Date.now();
428
- const dwell = firstKeystrokeAt !== null ? firstKeystrokeAt - focusAt : 0;
429
- const completionTime = firstKeystrokeAt !== null ? blurAt - firstKeystrokeAt : 0;
430
- const durationSec = completionTime / 1000;
431
- const velocity = durationSec > 0 ? t.keyCount / durationSec : 0;
432
- return {
433
- dwell,
434
- completionTime,
435
- velocity: Math.round(velocity * 100) / 100,
436
- corrections: t.correctionCount,
437
- pasteDetected: t.pasteDetected,
438
- autofillDetected: t.autofillDetected,
439
- focusCount: t.focusCount,
440
- blurWithoutChange: t.blurWithoutChange,
441
- };
442
- }
443
- #resetTelemetryState() {
444
- this.#telemetryState = {
445
- focusAt: null,
446
- firstKeystrokeAt: null,
447
- blurAt: null,
448
- keyCount: 0,
449
- correctionCount: 0,
450
- pasteDetected: false,
451
- autofillDetected: false,
452
- focusCount: 0,
453
- blurWithoutChange: 0,
454
- lastInputLength: 0,
455
- };
456
- }
457
- /**
458
- * Clean up when component is removed from DOM
459
- */
460
- disconnectedCallback() {
461
- this.#rateLimitState = { attempts: 0, windowStart: Date.now() };
462
- this.#resetTelemetryState();
463
- if (this.#config.audit.logAccess) {
464
- this.#audit('component_disconnected', {
465
- timestamp: new Date().toISOString()
466
- });
467
- }
468
- }
469
- }
470
- _a = SecureBaseComponent;
471
- export default SecureBaseComponent;
472
- //# sourceMappingURL=base-component.js.map
18
+ */var c;import{SecurityTier as h,getTierConfig as l,isValidTier as d}from"./security-config.js";class u extends HTMLElement{static#l=1e3;static#u={"script-tag":"Script injection blocked","js-protocol":"JavaScript protocol blocked","event-handler":"Event handler injection blocked","html-injection":"HTML element injection blocked","css-expression":"CSS expression injection blocked",vbscript:"VBScript injection blocked","data-uri-html":"Data URI injection blocked","template-syntax":"Template injection blocked"};static#h=[{id:"script-tag",pattern:/<script[\s>/]/i},{id:"js-protocol",pattern:/javascript\s*:/i},{id:"event-handler",pattern:/\bon\w+\s*=/i},{id:"html-injection",pattern:/<\s*(img|svg|iframe|object|embed|link|meta|base)[^>]*/i},{id:"css-expression",pattern:/expression\s*\(/i},{id:"vbscript",pattern:/vbscript\s*:/i},{id:"data-uri-html",pattern:/data:\s*text\/html/i},{id:"template-syntax",pattern:/\{\{[\s\S]*?\}\}/}];#i=h.CRITICAL;#t;#n;#s=[];#e={attempts:0,windowStart:Date.now()};#o=!1;#r={focusAt:null,firstKeystrokeAt:null,blurAt:null,keyCount:0,correctionCount:0,pasteDetected:!1,autofillDetected:!1,focusCount:0,blurWithoutChange:0,lastInputLength:0};constructor(){super(),this.#n=this.attachShadow({mode:"closed"}),this.#t=l(this.#i)}static get observedAttributes(){return["security-tier","disabled","readonly","threat-feedback"]}connectedCallback(){this.#o||(this.#d(),this.#o=!0)}#d(){this.initializeSecurity(),this.#c()}initializeSecurity(){const t=this.getAttribute("security-tier");t&&d(t)&&(this.#i=t),this.#t=l(this.#i),this.#a("component_initialized",{tier:this.#i,timestamp:new Date().toISOString()})}attributeChangedCallback(t,e,i){if(t==="security-tier"&&this.#o){console.warn(`Security tier cannot be changed after initialization. Attempted change from "${e}" to "${i}" blocked.`),e!==null&&this.setAttribute("security-tier",e);return}this.#o&&this.handleAttributeChange(t,e,i)}handleAttributeChange(t,e,i){}#c(){this.#n.innerHTML="";const t=document.createElement("link");t.rel="stylesheet",t.href=new URL("./base.css",import.meta.url).href,this.#n.appendChild(t);const e=this.render();e&&this.#n.appendChild(e)}getBaseStylesheetUrl(){return new URL("./base.css",import.meta.url).href}addComponentStyles(t){const e=document.createElement("link");e.rel="stylesheet",e.href=t,this.#n.appendChild(e)}sanitizeValue(t){if(typeof t!="string")return"";const e=document.createElement("div");return e.textContent=t,e.innerHTML}validateInput(t,e={}){const i=[],s=this.#t;(e.required!==void 0?e.required:s.validation.required)&&(!t||t.trim().length===0)&&i.push("This field is required");const r=e.maxLength||s.validation.maxLength;t&&t.length>r&&i.push(`Value exceeds maximum length of ${r}`);const a=e.minLength||0;t&&t.length<a&&i.push(`Value must be at least ${a} characters`);const o=e.pattern||s.validation.pattern;return o&&t&&!o.test(t)&&i.push("Value does not match required format"),s.validation.strict&&i.length>0&&this.#a("validation_failed",{errors:i,valueLength:t?t.length:0}),{valid:i.length===0,errors:i}}checkRateLimit(){if(!this.#t.rateLimit.enabled)return{allowed:!0,retryAfter:0};const t=Date.now(),e=this.#t.rateLimit.windowMs;if(t-this.#e.windowStart>e&&(this.#e.attempts=0,this.#e.windowStart=t),this.#e.attempts>=this.#t.rateLimit.maxAttempts){const i=e-(t-this.#e.windowStart);return this.#a("rate_limit_exceeded",{attempts:this.#e.attempts,retryAfter:i}),{allowed:!1,retryAfter:i}}return this.#e.attempts++,{allowed:!0,retryAfter:0}}#a(t,e={}){const i=this.#t.audit;if(!(t.includes("access")&&i.logAccess||t.includes("change")&&i.logChanges||t.includes("submit")&&i.logSubmission||t.includes("initialized")||t.includes("rate_limit")||t.includes("validation")||t.includes("threat")))return;const n={event:t,tier:this.#i,timestamp:new Date().toISOString(),...e};i.includeMetadata&&(n.userAgent=navigator.userAgent,n.language=navigator.language),this.#s.length>=c.#l&&this.#s.shift(),this.#s.push(n),this.dispatchEvent(new CustomEvent("secure-audit",{detail:n,bubbles:!0,composed:!0}))}get shadowRoot(){return this.#n}get securityTier(){return this.#i}get config(){return this.#t}getAuditLog(){return[...this.#s]}clearAuditLog(){this.#s=[]}audit(t,e){this.#a(t,e)}detectInjection(t,e){for(const{id:i,pattern:s}of c.#h)if(s.test(t)){this.audit("threat_detected",{fieldName:e,patternId:i,threatType:"injection"}),this.dispatchEvent(new CustomEvent("secure-threat-detected",{detail:{fieldName:e,threatType:"injection",patternId:i,tier:this.securityTier,timestamp:Date.now()},bubbles:!0,composed:!0})),this.hasAttribute("threat-feedback")&&this.showThreatFeedback(i,this.securityTier);return}this.hasAttribute("threat-feedback")&&this.clearThreatFeedback()}showThreatFeedback(t,e){}clearThreatFeedback(){}getThreatLabel(t){return c.#u[t]??`Injection blocked: ${t}`}rerender(){this.#c()}recordTelemetryFocus(){const t=this.#r;t.focusAt=Date.now(),t.blurAt=null,t.focusCount++;const e=this.shadowRoot.querySelector('input:not([type="hidden"]), textarea, select');t.lastInputLength=e?e.value.length:0}recordTelemetryInput(t){const e=this.#r,i=Date.now();e.firstKeystrokeAt===null&&(e.firstKeystrokeAt=i);const n=t.inputType??"";n==="insertFromPaste"||n==="insertFromPasteAsQuotation"?e.pasteDetected=!0:n==="insertReplacementText"?e.autofillDetected=!0:n.startsWith("delete")||n==="historyUndo"||n==="historyRedo"?e.correctionCount++:e.keyCount++;const r=t.target;r&&(e.lastInputLength=r.value.length)}recordTelemetryBlur(){const t=this.#r;t.blurAt=Date.now();const e=this.shadowRoot.querySelector('input:not([type="hidden"]), textarea, select');(e?e.value.length:0)===t.lastInputLength&&t.keyCount===0&&!t.pasteDetected&&t.blurWithoutChange++}getFieldTelemetry(){const t=this.#r,e=t.focusAt??Date.now(),i=t.firstKeystrokeAt,s=t.blurAt??Date.now(),n=i!==null?i-e:0,r=i!==null?s-i:0,a=r/1e3,o=a>0?t.keyCount/a:0;return{dwell:n,completionTime:r,velocity:Math.round(o*100)/100,corrections:t.correctionCount,pasteDetected:t.pasteDetected,autofillDetected:t.autofillDetected,focusCount:t.focusCount,blurWithoutChange:t.blurWithoutChange}}#p(){this.#r={focusAt:null,firstKeystrokeAt:null,blurAt:null,keyCount:0,correctionCount:0,pasteDetected:!1,autofillDetected:!1,focusCount:0,blurWithoutChange:0,lastInputLength:0}}disconnectedCallback(){this.#e={attempts:0,windowStart:Date.now()},this.#p(),this.#t.audit.logAccess&&this.#a("component_disconnected",{timestamp:new Date().toISOString()})}}c=u;var f=u;export{u as SecureBaseComponent,f as default};
@@ -1 +1 @@
1
- {"version":3,"file":"base-component.js","sourceRoot":"","sources":["../../src/core/base-component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-component.js","sourceRoot":"","sources":["../../src/core/base-component.ts"],"names":[],"mappings":"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"}