secure-ui-components 0.2.7 → 0.3.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.
Files changed (56) hide show
  1. package/README.md +23 -25
  2. package/dist/components/secure-card/secure-card.d.ts.map +1 -1
  3. package/dist/components/secure-card/secure-card.js +1 -1
  4. package/dist/components/secure-card/secure-card.js.map +1 -1
  5. package/dist/components/secure-datetime/secure-datetime.js +1 -1
  6. package/dist/components/secure-datetime/secure-datetime.js.map +1 -1
  7. package/dist/components/secure-file-upload/secure-file-upload.js +1 -1
  8. package/dist/components/secure-form/secure-form.d.ts +1 -108
  9. package/dist/components/secure-form/secure-form.d.ts.map +1 -1
  10. package/dist/components/secure-form/secure-form.js +1 -33
  11. package/dist/components/secure-form/secure-form.js.map +1 -1
  12. package/dist/components/secure-input/secure-input.css +0 -13
  13. package/dist/components/secure-input/secure-input.d.ts +1 -112
  14. package/dist/components/secure-input/secure-input.d.ts.map +1 -1
  15. package/dist/components/secure-input/secure-input.js +1 -30
  16. package/dist/components/secure-input/secure-input.js.map +1 -1
  17. package/dist/components/secure-password-confirm/secure-password-confirm.d.ts +0 -1
  18. package/dist/components/secure-password-confirm/secure-password-confirm.d.ts.map +1 -1
  19. package/dist/components/secure-password-confirm/secure-password-confirm.js +1 -1
  20. package/dist/components/secure-password-confirm/secure-password-confirm.js.map +1 -1
  21. package/dist/components/secure-select/secure-select.d.ts +2 -132
  22. package/dist/components/secure-select/secure-select.d.ts.map +1 -1
  23. package/dist/components/secure-select/secure-select.js +1 -38
  24. package/dist/components/secure-select/secure-select.js.map +1 -1
  25. package/dist/components/secure-submit-button/secure-submit-button.d.ts +0 -46
  26. package/dist/components/secure-submit-button/secure-submit-button.d.ts.map +1 -1
  27. package/dist/components/secure-submit-button/secure-submit-button.js +1 -22
  28. package/dist/components/secure-submit-button/secure-submit-button.js.map +1 -1
  29. package/dist/components/secure-table/secure-table.d.ts +0 -51
  30. package/dist/components/secure-table/secure-table.d.ts.map +1 -1
  31. package/dist/components/secure-table/secure-table.js +25 -25
  32. package/dist/components/secure-table/secure-table.js.map +1 -1
  33. package/dist/components/secure-textarea/secure-textarea.css +0 -13
  34. package/dist/components/secure-textarea/secure-textarea.d.ts +1 -106
  35. package/dist/components/secure-textarea/secure-textarea.d.ts.map +1 -1
  36. package/dist/components/secure-textarea/secure-textarea.js +1 -30
  37. package/dist/components/secure-textarea/secure-textarea.js.map +1 -1
  38. package/dist/core/base-component.d.ts +9 -130
  39. package/dist/core/base-component.d.ts.map +1 -1
  40. package/dist/core/base-component.js +1 -18
  41. package/dist/core/base-component.js.map +1 -1
  42. package/dist/core/security-config.d.ts +6 -70
  43. package/dist/core/security-config.d.ts.map +1 -1
  44. package/dist/core/security-config.js +1 -16
  45. package/dist/core/security-config.js.map +1 -1
  46. package/dist/core/types.d.ts +27 -28
  47. package/dist/core/types.d.ts.map +1 -1
  48. package/dist/core/types.js +0 -5
  49. package/dist/core/types.js.map +1 -1
  50. package/dist/index.d.ts +2 -9
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +1 -6
  53. package/dist/index.js.map +1 -1
  54. package/dist/package.json +1 -1
  55. package/dist/secure-ui.bundle.js +25 -218
  56. package/package.json +1 -5
@@ -1,22 +1 @@
1
- /**
2
- * @fileoverview Secure Submit Button Component
3
- *
4
- * A security-aware form submit button that integrates with <secure-form>.
5
- * The button's enabled/disabled state is driven by the parent form's security
6
- * tier and field validation state.
7
- *
8
- * Tier behaviour:
9
- * - public: Button enabled by default (validation.required = false)
10
- * - authenticated: Button disabled until all required fields are valid
11
- * - sensitive: Button disabled until all required fields are valid
12
- * - critical: Button disabled until all required fields are valid
13
- *
14
- * Usage:
15
- * <secure-form action="/api/data" method="POST" security-tier="sensitive">
16
- * <secure-input label="Name" name="name" required></secure-input>
17
- * <secure-submit-button label="Submit"></secure-submit-button>
18
- * </secure-form>
19
- *
20
- * @module secure-submit-button
21
- * @license MIT
22
- */import{SecureBaseComponent as h}from"../../core/base-component.js";import{getTierConfig as a}from"../../core/security-config.js";class l extends h{#t=null;#n=null;#i=null;#e=null;#a=!1;#h=!1;#r="critical";#d;#b=`secure-submit-button-${Math.random().toString(36).substring(2,11)}`;#s;#c;static get observedAttributes(){return[...super.observedAttributes,"label","loading-label","disabled"]}constructor(){super(),this.#d=a(this.#r),this.#s=this.#g.bind(this),this.#c=this.#C.bind(this)}connectedCallback(){super.connectedCallback(),queueMicrotask(()=>{this.#m(),this.#f(),this.#p(),this.#l(),this.audit("submit_button_initialized",{tier:this.#r,hasParentForm:!!this.#e})})}render(){const t=document.createDocumentFragment(),i=document.createElement("div");i.className="submit-container";const s=`${this.#b}-hint`,e=document.createElement("p");e.id=s,e.className="sr-only",e.textContent="Complete all required fields to enable this button",i.appendChild(e),this.#t=document.createElement("button"),this.#t.type="button",this.#t.className="submit-btn",this.#t.disabled=!0,this.#t.setAttribute("aria-disabled","true"),this.#t.setAttribute("aria-describedby",s),this.#n=document.createElement("span"),this.#n.className="btn-label",this.#n.textContent=this.sanitizeValue(this.getAttribute("label")||"Submit"),this.#i=document.createElement("span"),this.#i.className="btn-loading hidden",this.#i.setAttribute("aria-hidden","true");const n=document.createElement("span");n.className="spinner";const r=document.createElement("span");return r.textContent=this.sanitizeValue(this.getAttribute("loading-label")||"Submitting..."),this.#i.appendChild(n),this.#i.appendChild(r),this.#t.appendChild(this.#n),this.#t.appendChild(this.#i),this.#t.addEventListener("click",this.#c),i.appendChild(this.#t),t.appendChild(i),this.addComponentStyles(this.#E()),t}#m(){this.#e=this.closest("secure-form")}#f(){!this.getAttribute("security-tier")&&this.#e?this.#r=this.#e.securityTier:this.#r=this.securityTier,this.#d=a(this.#r)}#p(){const t=this.#e||this.parentElement;t&&(t.addEventListener("secure-input",this.#s),t.addEventListener("secure-textarea",this.#s),t.addEventListener("secure-select",this.#s),t.addEventListener("secure-datetime",this.#s))}#g(t){this.#l()}#l(){if(this.hasAttribute("disabled")){this.#u(!0);return}if(!this.#h){if(!this.#d.validation.required){this.#a=!0,this.#u(!1);return}this.#e&&typeof this.#e.valid=="boolean"?this.#a=this.#e.valid:this.#a=this.#v(),this.#u(!this.#a)}}#v(){const t=this.#e||this.parentElement;if(!t)return!1;const i=t.querySelectorAll("secure-input, secure-textarea, secure-select, secure-datetime, secure-file-upload");for(const s of i){const e=s;if(typeof e.valid=="boolean"&&!e.valid)return!1}return i.length>0}#u(t){this.#t&&(this.#t.disabled=t,this.#t.setAttribute("aria-disabled",String(t)))}#C(){if(this.#h||this.#t?.disabled)return;const t=this.checkRateLimit();if(!t.allowed){this.audit("submit_button_rate_limited",{retryAfter:t.retryAfter});return}this.audit("submit_button_clicked",{tier:this.#r,formValid:this.#a}),this.#o(!0),this.#e&&this.#e.submit(),this.#o(!1)}#o(t){this.#h=t,this.#t&&(this.#t.disabled=t,this.#t.setAttribute("aria-disabled",String(t))),this.#n&&this.#n.classList.toggle("hidden",t),this.#i&&(this.#i.classList.toggle("hidden",!t),this.#i.setAttribute("aria-hidden",String(!t)))}handleAttributeChange(t,i,s){switch(t){case"label":this.#n&&(this.#n.textContent=this.sanitizeValue(s||"Submit"));break;case"loading-label":if(this.#i){const e=this.#i.querySelector("span:last-child");e&&(e.textContent=this.sanitizeValue(s||"Submitting..."))}break;case"disabled":this.#l();break}}get disabled(){return this.#t?this.#t.disabled:!0}set disabled(t){t?this.setAttribute("disabled",""):this.removeAttribute("disabled"),this.#l()}get label(){return this.getAttribute("label")||"Submit"}set label(t){this.setAttribute("label",t)}#E(){return new URL("./secure-submit-button.css",import.meta.url).href}disconnectedCallback(){super.disconnectedCallback();const t=this.#e||this.parentElement;t&&(t.removeEventListener("secure-input",this.#s),t.removeEventListener("secure-textarea",this.#s),t.removeEventListener("secure-select",this.#s),t.removeEventListener("secure-datetime",this.#s))}}customElements.define("secure-submit-button",l);var o=l;export{l as SecureSubmitButton,o as default};
1
+ import{SecureBaseComponent as u}from"../../core/base-component.js";import{getTierConfig as l}from"../../core/security-config.js";function r(n){if(n===null)return!1;const t=n;return typeof t.securityTier=="string"&&typeof t.valid=="boolean"&&typeof t.submit=="function"}class d extends u{#t=null;#n=null;#e=null;#i=null;#a=!1;#u=!1;#r="critical";#d;#m=`secure-submit-button-${Math.random().toString(36).substring(2,11)}`;#s;#b;#c;static get observedAttributes(){return[...super.observedAttributes,"label","loading-label","disabled"]}constructor(){super(),this.#d=l(this.#r),this.#s=this.#v.bind(this),this.#b=this.#E.bind(this),this.#c=()=>{this.#l(!1)}}connectedCallback(){super.connectedCallback(),queueMicrotask(()=>{this.#f(),this.#p(),this.#g(),this.#h(),this.audit("submit_button_initialized",{tier:this.#r,hasParentForm:!!this.#i})})}render(){const t=document.createDocumentFragment(),i=document.createElement("div");i.className="submit-container";const s=`${this.#m}-hint`,e=document.createElement("p");e.id=s,e.className="sr-only",e.textContent="Complete all required fields to enable this button",i.appendChild(e),this.#t=document.createElement("button"),this.#t.type="button",this.#t.className="submit-btn",this.#t.disabled=!0,this.#t.setAttribute("aria-disabled","true"),this.#t.setAttribute("aria-describedby",s),this.#n=document.createElement("span"),this.#n.className="btn-label",this.#n.textContent=this.sanitizeValue(this.getAttribute("label")||"Submit"),this.#e=document.createElement("span"),this.#e.className="btn-loading hidden",this.#e.setAttribute("aria-hidden","true");const a=document.createElement("span");a.className="spinner";const h=document.createElement("span");return h.textContent=this.sanitizeValue(this.getAttribute("loading-label")||"Submitting..."),this.#e.appendChild(a),this.#e.appendChild(h),this.#t.appendChild(this.#n),this.#t.appendChild(this.#e),this.#t.addEventListener("click",this.#b),i.appendChild(this.#t),t.appendChild(i),this.addComponentStyles(this.#A()),t}#f(){this.#i=this.closest("secure-form")}#p(){!this.getAttribute("security-tier")&&r(this.#i)?this.#r=this.#i.securityTier:this.#r=this.securityTier,this.#d=l(this.#r)}#g(){const t=this.#i||this.parentElement;t&&(t.addEventListener("secure-input-change",this.#s),t.addEventListener("secure-textarea-change",this.#s),t.addEventListener("secure-select-change",this.#s),t.addEventListener("secure-datetime-change",this.#s),t.addEventListener("secure-form-success",this.#c))}#v(t){this.#h()}#h(){if(this.hasAttribute("disabled")){this.#o(!0);return}if(!this.#u){if(!this.#d.validation.required){this.#a=!0,this.#o(!1);return}r(this.#i)?this.#a=this.#i.valid:this.#a=this.#C(),this.#o(!this.#a)}}#C(){const t=this.#i||this.parentElement;if(!t)return!1;const i=t.querySelectorAll("secure-input, secure-textarea, secure-select, secure-datetime, secure-file-upload");for(const s of i){const e=s;if(typeof e.valid=="boolean"&&!e.valid)return!1}return i.length>0}#o(t){this.#t&&(this.#t.disabled=t,this.#t.setAttribute("aria-disabled",String(t)))}#E(){if(this.#u||this.#t?.disabled)return;const t=this.checkRateLimit();if(!t.allowed){this.audit("submit_button_rate_limited",{retryAfter:t.retryAfter});return}this.audit("submit_button_clicked",{tier:this.#r,formValid:this.#a}),this.#l(!0),r(this.#i)?this.#i.submit():this.#l(!1)}#l(t){this.#u=t,this.#t&&(this.#t.disabled=t,this.#t.setAttribute("aria-disabled",String(t))),this.#n&&this.#n.classList.toggle("hidden",t),this.#e&&(this.#e.classList.toggle("hidden",!t),this.#e.setAttribute("aria-hidden",String(!t)))}handleAttributeChange(t,i,s){switch(t){case"label":this.#n&&(this.#n.textContent=this.sanitizeValue(s||"Submit"));break;case"loading-label":if(this.#e){const e=this.#e.querySelector("span:last-child");e&&(e.textContent=this.sanitizeValue(s||"Submitting..."))}break;case"disabled":this.#h();break}}get disabled(){return this.#t?this.#t.disabled:!0}set disabled(t){t?this.setAttribute("disabled",""):this.removeAttribute("disabled"),this.#h()}get label(){return this.getAttribute("label")||"Submit"}set label(t){this.setAttribute("label",t)}#A(){return new URL("./secure-submit-button.css",import.meta.url).href}disconnectedCallback(){super.disconnectedCallback(),this.#l(!1);const t=this.#i||this.parentElement;t&&(t.removeEventListener("secure-input-change",this.#s),t.removeEventListener("secure-textarea-change",this.#s),t.removeEventListener("secure-select-change",this.#s),t.removeEventListener("secure-datetime-change",this.#s),t.removeEventListener("secure-form-success",this.#c))}}customElements.define("secure-submit-button",d);export{d as SecureSubmitButton};
@@ -1 +1 @@
1
- {"version":3,"file":"secure-submit-button.js","sourceRoot":"","sources":["../../../src/components/secure-submit-button/secure-submit-button.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secure-submit-button.js","sourceRoot":"","sources":["../../../src/components/secure-submit-button/secure-submit-button.ts"],"names":[],"mappings":"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"}
@@ -1,64 +1,13 @@
1
- /**
2
- * Secure Table Component
3
- *
4
- * A security-aware data table component with filtering, sorting, and pagination.
5
- *
6
- * Features:
7
- * - Real-time filtering/search across all columns
8
- * - Column sorting (ascending/descending)
9
- * - Pagination
10
- * - Security tier-based column masking
11
- * - XSS prevention via sanitization
12
- * - Audit logging for data access
13
- *
14
- * @example
15
- * <secure-table
16
- * id="userTable"
17
- * security-tier="sensitive"
18
- * ></secure-table>
19
- *
20
- * // Set data programmatically
21
- * const table = document.getElementById('userTable');
22
- * table.data = [
23
- * { id: 1, name: 'John', email: 'john@example.com' },
24
- * { id: 2, name: 'Jane', email: 'jane@example.com' }
25
- * ];
26
- * table.columns = [
27
- * { key: 'id', label: 'ID', sortable: true },
28
- * { key: 'name', label: 'Name', sortable: true, filterable: true },
29
- * { key: 'email', label: 'Email', sortable: true, filterable: true, tier: 'sensitive' }
30
- * ];
31
- */
32
1
  import { SecureBaseComponent } from '../../core/base-component.js';
33
2
  import type { TableColumnDefinition } from '../../core/types.js';
34
3
  export declare class SecureTable extends SecureBaseComponent {
35
4
  #private;
36
5
  constructor();
37
- /**
38
- * Required by abstract base class, but this component manages its own rendering
39
- * via the private #render() method.
40
- * @protected
41
- */
42
6
  protected render(): DocumentFragment | HTMLElement | null;
43
- /**
44
- * Component lifecycle - called when added to DOM
45
- */
46
7
  connectedCallback(): void;
47
- /**
48
- * Set table data
49
- */
50
8
  set data(data: Record<string, unknown>[]);
51
- /**
52
- * Get table data
53
- */
54
9
  get data(): Record<string, unknown>[];
55
- /**
56
- * Set column configuration
57
- */
58
10
  set columns(columns: TableColumnDefinition[]);
59
- /**
60
- * Get column configuration
61
- */
62
11
  get columns(): TableColumnDefinition[];
63
12
  }
64
13
  //# sourceMappingURL=secure-table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"secure-table.d.ts","sourceRoot":"","sources":["../../../src/components/secure-table/secure-table.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,KAAK,EAAE,qBAAqB,EAAyC,MAAM,qBAAqB,CAAC;AAExG,qBAAa,WAAY,SAAQ,mBAAmB;;;IA+ClD;;;;OAIG;IACH,SAAS,CAAC,MAAM,IAAI,gBAAgB,GAAG,WAAW,GAAG,IAAI;IAIzD;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAwGzB;;OAEG;IACH,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAOvC;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAEpC;IAED;;OAEG;IACH,IAAI,OAAO,CAAC,OAAO,EAAE,qBAAqB,EAAE,EAM3C;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,qBAAqB,EAAE,CAErC;CA8YF"}
1
+ {"version":3,"file":"secure-table.d.ts","sourceRoot":"","sources":["../../../src/components/secure-table/secure-table.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,KAAK,EAAE,qBAAqB,EAAyC,MAAM,qBAAqB,CAAC;AAExG,qBAAa,WAAY,SAAQ,mBAAmB;;;IAclD,SAAS,CAAC,MAAM,IAAI,gBAAgB,GAAG,WAAW,GAAG,IAAI;IAIzD,iBAAiB,IAAI,IAAI;IAiGzB,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAOvC;IAED,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAEpC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,qBAAqB,EAAE,EAM3C;IAED,IAAI,OAAO,IAAI,qBAAqB,EAAE,CAErC;CAqaF"}
@@ -1,66 +1,66 @@
1
- import{SecureBaseComponent as p}from"../../core/base-component.js";import{SecurityTier as g}from"../../core/security-config.js";class b extends p{#s=[];#n=[];#e=[];#r="";#a={column:null,direction:"asc"};#t={currentPage:1,pageSize:10};#h=!1;constructor(){super()}render(){return null}connectedCallback(){this.initializeSecurity();const t=this.querySelector('table[slot="table"]'),e=this.#g();e&&(this.#h=!0,this.#n=e.columns,this.#s=e.data,this.#e=[...e.data],t&&t.remove()),this.#o(),this.audit("table_mounted",{rowCount:this.#s.length,columnCount:this.#n.length,usingSlottedContent:this.#h})}#g(){const t=this.querySelector('table[slot="table"]');if(!t)return null;try{const e=t.querySelectorAll("thead th");if(e.length===0)return null;const n=Array.from(e).map(a=>({key:a.getAttribute("data-key")||a.textContent.trim().toLowerCase().replace(/\s+/g,"_"),label:a.textContent.trim().replace(/\s+$/,""),sortable:a.hasAttribute("data-sortable")?a.getAttribute("data-sortable")!=="false":!0,filterable:a.hasAttribute("data-filterable")?a.getAttribute("data-filterable")!=="false":void 0,tier:a.getAttribute("data-tier")||void 0,width:a.getAttribute("data-width")||void 0,render:a.hasAttribute("data-render-html")?this.#p(a):void 0})),i=t.querySelectorAll("tbody tr"),r=Array.from(i).map((a,s)=>{const o=a.querySelectorAll("td"),c=Object.create(null);return o.forEach((l,d)=>{if(d<n.length){const u=n[d],h=l.getAttribute("data-key")||u.key;if(h==="__proto__"||h==="constructor"||h==="prototype")return;l.innerHTML.trim().includes("<")?(c[h]=l.textContent?.trim()??"",c[`${h}_html`]=l.innerHTML.trim()):c[h]=l.textContent?.trim()??""}}),c});return{columns:n,data:r}}catch(e){return console.error("SecureTable: Error parsing slotted table",e),null}}#p(t){return(e,n,i)=>{const r=`${i}_html`;return(Object.hasOwn(n,r)?n[r]:null)||this.#i(e)}}set data(t){Array.isArray(t)&&(this.#s=t,this.#e=[...t],this.#o())}get data(){return this.#s}set columns(t){Array.isArray(t)&&(this.#n=t,this.#o())}get columns(){return this.#n}#b(t){this.#r=t.toLowerCase(),this.#r?this.#e=this.#s.filter(e=>this.#n.some(n=>n.filterable===!1?!1:String(e[n.key]??"").toLowerCase().includes(this.#r))):this.#e=[...this.#s],this.#t.currentPage=1,this.#c(),this.audit("table_filtered",{filterTerm:t,resultCount:this.#e.length})}#f(t){this.#a.column===t?this.#a.direction=this.#a.direction==="asc"?"desc":"asc":(this.#a.column=t,this.#a.direction="asc"),this.#e.sort((e,n)=>{const i=Object.hasOwn(e,t)?e[t]:void 0,r=Object.hasOwn(n,t)?n[t]:void 0;let a=0;return i>r&&(a=1),i<r&&(a=-1),this.#a.direction==="asc"?a:-a}),this.#c(),this.audit("table_sorted",{column:t,direction:this.#a.direction})}#l(t){const e=Math.ceil(this.#e.length/this.#t.pageSize);t<1||t>e||(this.#t.currentPage=t,this.#c())}#i(t){return t==null||t===""?"":String(t).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}#m(t,e){if(t==null||t==="")return"-";const n=String(t);return e===g.SENSITIVE&&n.length>4?"\u2022".repeat(n.length-4)+n.slice(-4):e===g.CRITICAL?"\u2022".repeat(n.length):this.#i(n)}#y(t,e,n){if(typeof n.render=="function")return n.render(t,e,n.key);const i=`${n.key}_html`;return Object.hasOwn(e,i)&&e[i]?e[i]:this.#m(t,n.tier)}#d(){const t=Math.ceil(this.#e.length/this.#t.pageSize),e=(this.#t.currentPage-1)*this.#t.pageSize,n=e+this.#t.pageSize,i=this.#e.slice(e,n);let r,a;if(i.length===0||this.#n.length===0){const s=this.#n.length===0?"No columns configured":"No results found",o=this.#n.length===0?"Set the columns property to configure the table":"Try adjusting your search term";r=`
1
+ var u;import{SecureBaseComponent as f}from"../../core/base-component.js";import{SecurityTier as m}from"../../core/security-config.js";class p extends f{#s=[];#n=[];#e=[];#r="";#i={column:null,direction:"asc"};#t={currentPage:1,pageSize:10};#h=!1;constructor(){super()}render(){return null}connectedCallback(){this.initializeSecurity();const t=this.querySelector('table[slot="table"]'),n=this.#p();n&&(this.#h=!0,this.#n=n.columns,this.#s=n.data,this.#e=[...n.data],t&&t.remove()),this.#o(),this.audit("table_mounted",{rowCount:this.#s.length,columnCount:this.#n.length,usingSlottedContent:this.#h})}#p(){const t=this.querySelector('table[slot="table"]');if(!t)return null;try{const n=t.querySelectorAll("thead th");if(n.length===0)return null;const e=Array.from(n).map(i=>({key:i.getAttribute("data-key")||i.textContent.trim().toLowerCase().replace(/\s+/g,"_"),label:i.textContent.trim().replace(/\s+$/,""),sortable:i.hasAttribute("data-sortable")?i.getAttribute("data-sortable")!=="false":!0,filterable:i.hasAttribute("data-filterable")?i.getAttribute("data-filterable")!=="false":void 0,tier:i.getAttribute("data-tier")||void 0,width:i.getAttribute("data-width")||void 0,render:i.hasAttribute("data-render-html")?this.#f(i):void 0})),a=t.querySelectorAll("tbody tr"),s=Array.from(a).map((i,r)=>{const l=i.querySelectorAll("td"),c=Object.create(null);return l.forEach((o,h)=>{if(h<e.length){const g=e[h],d=o.getAttribute("data-key")||g.key;if(d==="__proto__"||d==="constructor"||d==="prototype")return;o.innerHTML.trim().includes("<")?(c[d]=o.textContent?.trim()??"",c[`${d}_html`]=o.innerHTML.trim()):c[d]=o.textContent?.trim()??""}}),c});return{columns:e,data:s}}catch(n){return console.error("SecureTable: Error parsing slotted table",n),null}}#f(t){return(n,e,a)=>{const s=`${a}_html`,i=Object.hasOwn(e,s)?e[s]:null;return i?this.#c(i):this.#a(n)}}set data(t){Array.isArray(t)&&(this.#s=t,this.#e=[...t],this.#o())}get data(){return this.#s}set columns(t){Array.isArray(t)&&(this.#n=t,this.#o())}get columns(){return this.#n}#b(t){this.#r=t.toLowerCase(),this.#r?this.#e=this.#s.filter(n=>this.#n.some(e=>e.filterable===!1?!1:String(n[e.key]??"").toLowerCase().includes(this.#r))):this.#e=[...this.#s],this.#t.currentPage=1,this.#d(),this.audit("table_filtered",{filterTerm:t,resultCount:this.#e.length})}#y(t){this.#i.column===t?this.#i.direction=this.#i.direction==="asc"?"desc":"asc":(this.#i.column=t,this.#i.direction="asc"),this.#e.sort((n,e)=>{const a=Object.hasOwn(n,t)?n[t]:void 0,s=Object.hasOwn(e,t)?e[t]:void 0,i=a==null,r=s==null;if(i&&r)return 0;if(i)return 1;if(r)return-1;const l=typeof a=="number"?a:String(a),c=typeof s=="number"?s:String(s);let o=0;return l>c?o=1:l<c&&(o=-1),this.#i.direction==="asc"?o:-o}),this.#d(),this.audit("table_sorted",{column:t,direction:this.#i.direction})}#l(t){const n=Math.ceil(this.#e.length/this.#t.pageSize);t<1||t>n||(this.#t.currentPage=t,this.#d())}#a(t){return t==null||t===""?"":String(t).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}static#C=new Set(["a","abbr","b","br","button","code","em","i","s","small","span","strong","time","u"]);static#v=new Set(["class","href","title","aria-label","aria-hidden","type","datetime"]);#c(t){if(!t)return"";const n=new DOMParser().parseFromString(`<!DOCTYPE html><body>${t}`,"text/html");return this.#u(n.body),n.body.innerHTML}#u(t){for(const n of Array.from(t.childNodes)){if(n.nodeType===Node.TEXT_NODE)continue;if(n.nodeType!==Node.ELEMENT_NODE){t.removeChild(n);continue}const e=n,a=e.tagName.toLowerCase();if(!u.#C.has(a)){const s=document.createDocumentFragment();for(;e.firstChild;)s.appendChild(e.firstChild);t.replaceChild(s,e);continue}for(const s of Array.from(e.attributes)){const i=s.name.toLowerCase();if(i.startsWith("on")){e.removeAttribute(s.name);continue}if((i==="href"||i==="src"||i==="action")&&/^\s*(javascript|data)\s*:/i.test(s.value)){e.removeAttribute(s.name);continue}!u.#v.has(i)&&!i.startsWith("data-")&&e.removeAttribute(s.name)}this.#u(e)}}#S(t,n){if(t==null||t==="")return"-";const e=String(t);return n===m.SENSITIVE&&e.length>4?"\u2022".repeat(e.length-4)+e.slice(-4):n===m.CRITICAL?"\u2022".repeat(e.length):this.#a(e)}#A(t,n,e){if(typeof e.render=="function")return this.#c(e.render(t,n,e.key));const a=`${e.key}_html`;return Object.hasOwn(n,a)&&n[a]?this.#c(n[a]):this.#S(t,e.tier)}#g(){const t=Math.ceil(this.#e.length/this.#t.pageSize),n=(this.#t.currentPage-1)*this.#t.pageSize,e=n+this.#t.pageSize,a=this.#e.slice(n,e);let s,i;if(a.length===0||this.#n.length===0){const r=this.#n.length===0?"No columns configured":"No results found",l=this.#n.length===0?"Set the columns property to configure the table":"Try adjusting your search term";s=`
2
2
  <div class="empty-state">
3
3
  <div class="empty-state-icon" aria-hidden="true">\u{1F50D}</div>
4
- <h3>${this.#i(s)}</h3>
5
- <p>${this.#i(o)}</p>
6
- </div>`,a=""}else r=`
4
+ <h3>${this.#a(r)}</h3>
5
+ <p>${this.#a(l)}</p>
6
+ </div>`,i=""}else s=`
7
7
  <div class="table-wrapper">
8
8
  <table class="data-table">
9
9
  <thead>
10
10
  <tr>
11
- ${this.#n.map(s=>{const o=this.#a.column===s.key,c=o?this.#a.direction==="asc"?"\u25B2":"\u25BC":"\u25B2",l=s.sortable!==!1?`aria-sort="${o?this.#a.direction==="asc"?"ascending":"descending":"none"}"`:"";return`
11
+ ${this.#n.map(r=>{const l=this.#i.column===r.key,c=l?this.#i.direction==="asc"?"\u25B2":"\u25BC":"\u25B2",o=r.sortable!==!1?`aria-sort="${l?this.#i.direction==="asc"?"ascending":"descending":"none"}"`:"";return`
12
12
  <th
13
- class="${s.sortable!==!1?"sortable":""} ${o?"sorted":""}"
14
- data-column="${this.#i(s.key)}"
15
- ${l}
13
+ class="${r.sortable!==!1?"sortable":""} ${l?"sorted":""}"
14
+ data-column="${this.#a(r.key)}"
15
+ ${o}
16
16
  >
17
- ${this.#i(s.label)}
18
- ${s.sortable!==!1?`<span class="sort-indicator" aria-hidden="true">${c}</span>`:""}
19
- ${s.tier?`<span class="security-badge" aria-hidden="true">${this.#i(s.tier)}</span>`:""}
17
+ ${this.#a(r.label)}
18
+ ${r.sortable!==!1?`<span class="sort-indicator" aria-hidden="true">${c}</span>`:""}
19
+ ${r.tier?`<span class="security-badge" aria-hidden="true">${this.#a(r.tier)}</span>`:""}
20
20
  </th>`}).join("")}
21
21
  </tr>
22
22
  </thead>
23
23
  <tbody>
24
- ${i.map(s=>`
24
+ ${a.map(r=>`
25
25
  <tr>
26
- ${this.#n.map(o=>`
27
- <td>${this.#y(s[o.key],s,o)}</td>
26
+ ${this.#n.map(l=>`
27
+ <td>${this.#A(r[l.key],r,l)}</td>
28
28
  `).join("")}
29
29
  </tr>
30
30
  `).join("")}
31
31
  </tbody>
32
32
  </table>
33
- </div>`,a=t>1?`
33
+ </div>`,i=t>1?`
34
34
  <div class="pagination">
35
35
  <div class="pagination-info">
36
- Showing ${e+1}-${Math.min(n,this.#e.length)} of ${this.#e.length} results
36
+ Showing ${n+1}-${Math.min(e,this.#e.length)} of ${this.#e.length} results
37
37
  </div>
38
38
  <div class="pagination-controls">
39
39
  <button class="pagination-button" id="prevBtn" ${this.#t.currentPage===1?"disabled":""}>
40
40
  \u2190 Previous
41
41
  </button>
42
- ${this.#v(t)}
42
+ ${this.#E(t)}
43
43
  <button class="pagination-button" id="nextBtn" ${this.#t.currentPage===t?"disabled":""}>
44
44
  Next \u2192
45
45
  </button>
46
46
  </div>
47
- </div>`:"";return{tableHtml:r,paginationHtml:a}}#o(){if(!this.shadowRoot)return;const{tableHtml:t,paginationHtml:e}=this.#d();this.shadowRoot.innerHTML="",this.addComponentStyles(this.getBaseStylesheetUrl()),this.addComponentStyles(new URL("./secure-table.css",import.meta.url).href);const n=document.createElement("slot");n.name="table",this.shadowRoot.appendChild(n);const i=document.createElement("div");i.className="table-container",i.innerHTML=`
47
+ </div>`:"";return{tableHtml:s,paginationHtml:i}}#o(){if(!this.shadowRoot)return;const{tableHtml:t,paginationHtml:n}=this.#g();this.shadowRoot.innerHTML="",this.addComponentStyles(this.getBaseStylesheetUrl()),this.addComponentStyles(new URL("./secure-table.css",import.meta.url).href);const e=document.createElement("slot");e.name="table",this.shadowRoot.appendChild(e);const a=document.createElement("div");a.className="table-container",a.innerHTML=`
48
48
  <div class="table-header">
49
49
  <input
50
50
  type="search"
51
51
  class="search-input"
52
52
  placeholder="Search across all columns..."
53
- value="${this.#i(this.#r)}"
53
+ value="${this.#a(this.#r)}"
54
54
  id="searchInput"
55
55
  />
56
56
  </div>
57
57
  <div id="tableContent">${t}</div>
58
- <div id="paginationContent">${e}</div>
59
- `,this.shadowRoot.appendChild(i),this.#C()}#c(){if(!this.shadowRoot)return;const t=this.shadowRoot.getElementById("tableContent"),e=this.shadowRoot.getElementById("paginationContent");if(!t){this.#o();return}const{tableHtml:n,paginationHtml:i}=this.#d();t.innerHTML=n,e&&(e.innerHTML=i),this.#u()}#v(t){let n=Math.max(1,this.#t.currentPage-Math.floor(2.5));const i=Math.min(t,n+5-1);i-n<4&&(n=Math.max(1,i-5+1));let r="";for(let a=n;a<=i;a++)r+=`
58
+ <div id="paginationContent">${n}</div>
59
+ `,this.shadowRoot.appendChild(a),this.#w()}#d(){if(!this.shadowRoot)return;const t=this.shadowRoot.getElementById("tableContent"),n=this.shadowRoot.getElementById("paginationContent");if(!t){this.#o();return}const{tableHtml:e,paginationHtml:a}=this.#g();t.innerHTML=e,n&&(n.innerHTML=a),this.#m()}#E(t){let e=Math.max(1,this.#t.currentPage-Math.floor(2.5));const a=Math.min(t,e+5-1);a-e<4&&(e=Math.max(1,a-5+1));let s="";for(let i=e;i<=a;i++)s+=`
60
60
  <button
61
- class="pagination-button ${a===this.#t.currentPage?"active":""}"
62
- data-page="${a}"
61
+ class="pagination-button ${i===this.#t.currentPage?"active":""}"
62
+ data-page="${i}"
63
63
  >
64
- ${a}
64
+ ${i}
65
65
  </button>
66
- `;return r}#C(){const t=this.shadowRoot.getElementById("searchInput");t&&t.addEventListener("input",e=>{this.#b(e.target.value)}),this.#u()}#u(){this.shadowRoot.querySelectorAll("th.sortable").forEach(a=>{a.addEventListener("click",()=>{const s=a.getAttribute("data-column");s&&this.#f(s)})});const e=this.shadowRoot.getElementById("prevBtn"),n=this.shadowRoot.getElementById("nextBtn");e&&e.addEventListener("click",()=>{this.#l(this.#t.currentPage-1)}),n&&n.addEventListener("click",()=>{this.#l(this.#t.currentPage+1)}),this.shadowRoot.querySelectorAll(".pagination-button[data-page]").forEach(a=>{a.addEventListener("click",()=>{const s=parseInt(a.getAttribute("data-page"),10);this.#l(s)})});const r=this.shadowRoot.getElementById("tableContent");r&&r.addEventListener("click",a=>{const s=a.target.closest("[data-action]");if(!s)return;const o=s.getAttribute("data-action"),c=Object.create(null);c.action=o;for(const l of Array.from(s.attributes))if(l.name.startsWith("data-")&&l.name!=="data-action"){const d=l.name.slice(5).replace(/-([a-z])/g,(u,h)=>h.toUpperCase());if(d==="__proto__"||d==="constructor"||d==="prototype")continue;c[d]=l.value}this.dispatchEvent(new CustomEvent("table-action",{bubbles:!0,composed:!0,detail:c})),this.audit("table_action",c)})}}customElements.define("secure-table",b);export{b as SecureTable};
66
+ `;return s}#w(){const t=this.shadowRoot.getElementById("searchInput");t&&t.addEventListener("input",n=>{this.#b(n.target.value)}),this.#m()}#m(){this.shadowRoot.querySelectorAll("th.sortable").forEach(i=>{i.addEventListener("click",()=>{const r=i.getAttribute("data-column");r&&this.#y(r)})});const n=this.shadowRoot.getElementById("prevBtn"),e=this.shadowRoot.getElementById("nextBtn");n&&n.addEventListener("click",()=>{this.#l(this.#t.currentPage-1)}),e&&e.addEventListener("click",()=>{this.#l(this.#t.currentPage+1)}),this.shadowRoot.querySelectorAll(".pagination-button[data-page]").forEach(i=>{i.addEventListener("click",()=>{const r=parseInt(i.getAttribute("data-page"),10);this.#l(r)})});const s=this.shadowRoot.getElementById("tableContent");s&&s.addEventListener("click",i=>{const r=i.target.closest("[data-action]");if(!r)return;const l=r.getAttribute("data-action"),c=Object.create(null);c.action=l;for(const o of Array.from(r.attributes))if(o.name.startsWith("data-")&&o.name!=="data-action"){const h=o.name.slice(5).replace(/-([a-z])/g,(g,d)=>d.toUpperCase());if(h==="__proto__"||h==="constructor"||h==="prototype")continue;c[h]=o.value}this.dispatchEvent(new CustomEvent("secure-table-action",{bubbles:!0,composed:!0,detail:c})),this.audit("table_action",c)})}}u=p,customElements.define("secure-table",p);export{p as SecureTable};
@@ -1 +1 @@
1
- {"version":3,"file":"secure-table.js","sourceRoot":"","sources":["../../../src/components/secure-table/secure-table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secure-table.js","sourceRoot":"","sources":["../../../src/components/secure-table/secure-table.ts"],"names":[],"mappings":"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"}
@@ -182,19 +182,6 @@ label {
182
182
  white-space: nowrap;
183
183
  }
184
184
 
185
- .threat-tier {
186
- display: inline-block;
187
- padding: var(--secure-ui-badge-padding);
188
- font-size: var(--secure-ui-badge-font-size);
189
- font-weight: var(--secure-ui-font-weight-semibold);
190
- border-radius: var(--secure-ui-badge-border-radius);
191
- background-color: var(--secure-ui-color-bg-tertiary);
192
- color: var(--secure-ui-color-text-secondary);
193
- border: var(--secure-ui-border-width-thin) solid var(--secure-ui-color-border);
194
- text-transform: uppercase;
195
- white-space: nowrap;
196
- }
197
-
198
185
  /* Threat state on the textarea field */
199
186
  .textarea-field.threat {
200
187
  border-color: var(--secure-ui-color-warning) !important;
@@ -1,122 +1,17 @@
1
- /**
2
- * @fileoverview Secure Textarea Component
3
- *
4
- * A security-first textarea component that implements progressive enhancement,
5
- * tier-based validation, character counting, and audit logging.
6
- *
7
- * Progressive Enhancement Strategy:
8
- * 1. Without JavaScript: Falls back to native HTML5 textarea with attributes
9
- * 2. With JavaScript: Enhances with real-time validation, character limits, rate limiting
10
- *
11
- * Usage:
12
- * <secure-textarea
13
- * security-tier="sensitive"
14
- * name="bio"
15
- * label="Biography"
16
- * rows="5"
17
- * required
18
- * ></secure-textarea>
19
- *
20
- * Security Features:
21
- * - XSS prevention via sanitization
22
- * - Character counting and limits based on security tier
23
- * - Rate limiting for sensitive/critical tiers
24
- * - Autocomplete control based on tier
25
- * - Comprehensive audit logging
26
- * - Visual security indicators
27
- *
28
- * @module secure-textarea
29
- * @license MIT
30
- */
31
1
  import { SecureBaseComponent } from '../../core/base-component.js';
32
- import type { SecurityTierValue } from '../../core/types.js';
33
- /**
34
- * Secure Textarea Web Component
35
- *
36
- * Provides a security-hardened textarea field with progressive enhancement.
37
- * The component works as a standard form textarea without JavaScript and
38
- * enhances with security features when JavaScript is available.
39
- *
40
- * @extends SecureBaseComponent
41
- */
42
2
  export declare class SecureTextarea extends SecureBaseComponent {
43
3
  #private;
44
- /**
45
- * Observed attributes for this component
46
- *
47
- * @static
48
- */
49
4
  static get observedAttributes(): string[];
50
- /**
51
- * Constructor
52
- */
53
- constructor();
54
- /**
55
- * Render the textarea component
56
- *
57
- * Security Note: We use a native <textarea> element wrapped in our web component
58
- * to ensure progressive enhancement. The native textarea works without JavaScript,
59
- * and we enhance it with security features when JS is available.
60
- *
61
- * @protected
62
- */
63
5
  protected render(): DocumentFragment | HTMLElement | null;
64
- /**
65
- * Handle attribute changes
66
- *
67
- * @protected
68
- */
69
6
  protected handleAttributeChange(name: string, _oldValue: string | null, newValue: string | null): void;
70
- /**
71
- * Get the current value
72
- *
73
- * @public
74
- */
75
7
  get value(): string;
76
- /**
77
- * Set the value
78
- *
79
- * @public
80
- */
81
8
  set value(value: string);
82
- /**
83
- * Get the textarea name
84
- *
85
- * @public
86
- */
87
9
  get name(): string;
88
- /**
89
- * Check if the textarea is valid
90
- *
91
- * @public
92
- */
93
10
  get valid(): boolean;
94
- /**
95
- * Focus the textarea
96
- *
97
- * @public
98
- */
99
11
  focus(): void;
100
- /**
101
- * Blur the textarea
102
- *
103
- * @public
104
- */
105
12
  blur(): void;
106
- /**
107
- * Cleanup on disconnect
108
- */
109
- /**
110
- * Show inline threat feedback inside the component's shadow DOM.
111
- * @protected
112
- */
113
- protected showThreatFeedback(patternId: string, tier: SecurityTierValue): void;
114
- /**
115
- * Clear the threat feedback container.
116
- * @protected
117
- */
13
+ protected showThreatFeedback(patternId: string): void;
118
14
  protected clearThreatFeedback(): void;
119
15
  disconnectedCallback(): void;
120
16
  }
121
- export default SecureTextarea;
122
17
  //# sourceMappingURL=secure-textarea.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"secure-textarea.d.ts","sourceRoot":"","sources":["../../../src/components/secure-textarea/secure-textarea.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;;;;;;;GAQG;AACH,qBAAa,cAAe,SAAQ,mBAAmB;;IAsCrD;;;;OAIG;IACH,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAcxC;IAED;;OAEG;;IAKH;;;;;;;;OAQG;IACH,SAAS,CAAC,MAAM,IAAI,gBAAgB,GAAG,WAAW,GAAG,IAAI;IAiUzD;;;;OAIG;IACH,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAmBtG;;;;OAIG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;;;OAIG;IACH,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAKtB;IAED;;;;OAIG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;OAIG;IACH,IAAI,KAAK,IAAI,OAAO,CAWnB;IAED;;;;OAIG;IACH,KAAK,IAAI,IAAI;IAMb;;;;OAIG;IACH,IAAI,IAAI,IAAI;IAMZ;;OAEG;IACH;;;OAGG;cACgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,IAAI;IA2BvF;;;OAGG;cACgB,mBAAmB,IAAI,IAAI;IAY9C,oBAAoB,IAAI,IAAI;CAQ7B;AAKD,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"secure-textarea.d.ts","sourceRoot":"","sources":["../../../src/components/secure-textarea/secure-textarea.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE,qBAAa,cAAe,SAAQ,mBAAmB;;IASrD,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAcxC;IAED,SAAS,CAAC,MAAM,IAAI,gBAAgB,GAAG,WAAW,GAAG,IAAI;IA6OzD,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAmBtG,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAKtB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,KAAK,IAAI,OAAO,CAWnB;IAED,KAAK,IAAI,IAAI;IAMb,IAAI,IAAI,IAAI;cAMO,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;cAsB3C,mBAAmB,IAAI,IAAI;IAY9C,oBAAoB,IAAI,IAAI;CAM7B"}
@@ -1,30 +1 @@
1
- /**
2
- * @fileoverview Secure Textarea Component
3
- *
4
- * A security-first textarea component that implements progressive enhancement,
5
- * tier-based validation, character counting, and audit logging.
6
- *
7
- * Progressive Enhancement Strategy:
8
- * 1. Without JavaScript: Falls back to native HTML5 textarea with attributes
9
- * 2. With JavaScript: Enhances with real-time validation, character limits, rate limiting
10
- *
11
- * Usage:
12
- * <secure-textarea
13
- * security-tier="sensitive"
14
- * name="bio"
15
- * label="Biography"
16
- * rows="5"
17
- * required
18
- * ></secure-textarea>
19
- *
20
- * Security Features:
21
- * - XSS prevention via sanitization
22
- * - Character counting and limits based on security tier
23
- * - Rate limiting for sensitive/critical tiers
24
- * - Autocomplete control based on tier
25
- * - Comprehensive audit logging
26
- * - Visual security indicators
27
- *
28
- * @module secure-textarea
29
- * @license MIT
30
- */import{SecureBaseComponent as u}from"../../core/base-component.js";class h extends u{#t=null;#a=null;#i=null;#e=null;#s=null;#r=`secure-textarea-${Math.random().toString(36).substring(2,11)}`;static get observedAttributes(){return[...super.observedAttributes,"name","label","placeholder","required","minlength","maxlength","rows","cols","wrap","value"]}constructor(){super()}render(){const t=document.createDocumentFragment(),e=document.createElement("div");e.className="textarea-container",e.setAttribute("part","container");const i=this.getAttribute("label");i&&(this.#a=document.createElement("label"),this.#a.htmlFor=this.#r,this.#a.textContent=this.sanitizeValue(i),this.#a.setAttribute("part","label"),e.appendChild(this.#a));const s=document.createElement("div");return s.className="textarea-wrapper",s.setAttribute("part","wrapper"),this.#t=document.createElement("textarea"),this.#t.id=this.#r,this.#t.className="textarea-field",this.#t.setAttribute("part","textarea"),this.#l(),this.#o(),s.appendChild(this.#t),e.appendChild(s),this.#s=document.createElement("span"),this.#s.className="char-count",this.#n(),e.appendChild(this.#s),this.#i=document.createElement("div"),this.#i.className="error-container hidden",this.#i.setAttribute("role","alert"),this.#i.setAttribute("part","error"),this.#i.id=`${this.#r}-error`,e.appendChild(this.#i),this.#e=document.createElement("div"),this.#e.className="threat-container hidden",this.#e.setAttribute("role","alert"),this.#e.setAttribute("part","threat"),this.#e.id=`${this.#r}-threat`,e.appendChild(this.#e),this.addComponentStyles(this.#m()),t.appendChild(e),t}#l(){const t=this.config,e=this.getAttribute("name");e&&(this.#t.name=this.sanitizeValue(e)),!this.getAttribute("label")&&e&&this.#t.setAttribute("aria-label",this.sanitizeValue(e)),this.#t.setAttribute("aria-describedby",`${this.#r}-error`);const i=this.getAttribute("placeholder");i&&(this.#t.placeholder=this.sanitizeValue(i)),(this.hasAttribute("required")||t.validation.required)&&(this.#t.required=!0,this.#t.setAttribute("aria-required","true"));const s=this.getAttribute("minlength");s&&(this.#t.minLength=parseInt(s,10));const a=this.getAttribute("maxlength")||t.validation.maxLength;a&&(this.#t.maxLength=parseInt(String(a),10));const l=this.getAttribute("rows")||3;this.#t.rows=parseInt(String(l),10);const r=this.getAttribute("cols");r&&(this.#t.cols=parseInt(r,10));const o=this.getAttribute("wrap")||"soft";if(this.#t.wrap=o,t.storage.allowAutocomplete){const d=this.getAttribute("autocomplete")||"on";this.#t.autocomplete=d}else this.#t.autocomplete="off";this.hasAttribute("disabled")&&(this.#t.disabled=!0),this.hasAttribute("readonly")&&(this.#t.readOnly=!0);const n=this.getAttribute("value");n&&(this.#t.value=n)}#o(){this.#t.addEventListener("focus",()=>{this.recordTelemetryFocus(),this.audit("textarea_focused",{name:this.#t.name})}),this.#t.addEventListener("input",t=>{this.recordTelemetryInput(t),this.#d(t)}),this.#t.addEventListener("blur",()=>{this.recordTelemetryBlur(),this.#u(),this.audit("textarea_blurred",{name:this.#t.name,hasValue:this.#t.value.length>0})}),this.#t.addEventListener("change",()=>{this.audit("textarea_changed",{name:this.#t.name,valueLength:this.#t.value.length})})}#d(t){this.detectInjection(this.#t.value,this.#t.name),this.#n(),this.#c(),this.dispatchEvent(new CustomEvent("secure-textarea",{detail:{name:this.#t.name,value:this.#t.value,tier:this.securityTier},bubbles:!0,composed:!0}))}#n(){const t=this.#t.value.length,e=this.#t.maxLength;e>0?(this.#s.textContent=`${t} / ${e}`,t>e*.9?this.#s.classList.add("warning"):this.#s.classList.remove("warning")):this.#s.textContent=`${t}`}#u(){const t=this.checkRateLimit();if(!t.allowed){this.#h(`Too many attempts. Please wait ${Math.ceil(t.retryAfter/1e3)} seconds.`);return}const e=this.getAttribute("minlength"),i=this.getAttribute("maxlength"),s=this.validateInput(this.#t.value,{required:this.hasAttribute("required")||this.config.validation.required,minLength:e?parseInt(e,10):0,maxLength:i?parseInt(i,10):this.config.validation.maxLength});s.valid||this.#h(s.errors.join(", "))}#h(t){this.#i.textContent=t,this.#i.offsetHeight,this.#i.classList.remove("hidden"),this.#t.classList.add("error"),this.#t.setAttribute("aria-invalid","true")}#c(){this.#i.classList.add("hidden"),this.#i.addEventListener("transitionend",()=>{this.#i.classList.contains("hidden")&&(this.#i.textContent="")},{once:!0}),this.#t.classList.remove("error"),this.#t.removeAttribute("aria-invalid")}#m(){return new URL("./secure-textarea.css",import.meta.url).href}handleAttributeChange(t,e,i){if(this.#t)switch(t){case"disabled":this.#t.disabled=this.hasAttribute("disabled");break;case"readonly":this.#t.readOnly=this.hasAttribute("readonly");break;case"value":i!==this.#t.value&&(this.#t.value=i||"",this.#n());break}}get value(){return this.#t?this.#t.value:""}set value(t){this.#t&&(this.#t.value=t||"",this.#n())}get name(){return this.#t?this.#t.name:""}get valid(){const t=this.getAttribute("minlength"),e=this.getAttribute("maxlength");return this.validateInput(this.#t.value,{required:this.hasAttribute("required")||this.config.validation.required,minLength:t?parseInt(t,10):0,maxLength:e?parseInt(e,10):this.config.validation.maxLength}).valid}focus(){this.#t&&this.#t.focus()}blur(){this.#t&&this.#t.blur()}showThreatFeedback(t,e){if(!this.#e||!this.#t)return;this.#e.textContent="";const i=document.createElement("span");i.className="threat-message",i.textContent=this.getThreatLabel(t);const s=document.createElement("span");s.className="threat-badge",s.textContent=t;const a=document.createElement("span");a.className=`threat-tier threat-tier--${e}`,a.textContent=e,this.#e.appendChild(i),this.#e.appendChild(s),this.#e.appendChild(a),this.#e.offsetHeight,this.#e.classList.remove("hidden"),this.#t.classList.add("threat"),this.#t.setAttribute("aria-invalid","true")}clearThreatFeedback(){!this.#e||!this.#t||(this.#e.classList.add("hidden"),this.#e.addEventListener("transitionend",()=>{this.#e.classList.contains("hidden")&&(this.#e.textContent="")},{once:!0}),this.#t.classList.remove("threat"),this.#t.removeAttribute("aria-invalid"))}disconnectedCallback(){super.disconnectedCallback(),this.#t&&(this.#t.value="")}}customElements.define("secure-textarea",h);var p=h;export{h as SecureTextarea,p as default};
1
+ import{SecureBaseComponent as d}from"../../core/base-component.js";class u extends d{#t=null;#a=null;#i=null;#e=null;#s=null;#r=`secure-textarea-${Math.random().toString(36).substring(2,11)}`;static get observedAttributes(){return[...super.observedAttributes,"name","label","placeholder","required","minlength","maxlength","rows","cols","wrap","value"]}render(){const t=document.createDocumentFragment(),e=document.createElement("div");e.className="textarea-container",e.setAttribute("part","container");const i=this.getAttribute("label");i&&(this.#a=document.createElement("label"),this.#a.htmlFor=this.#r,this.#a.textContent=this.sanitizeValue(i),this.#a.setAttribute("part","label"),e.appendChild(this.#a));const s=document.createElement("div");return s.className="textarea-wrapper",s.setAttribute("part","wrapper"),this.#t=document.createElement("textarea"),this.#t.id=this.#r,this.#t.className="textarea-field",this.#t.setAttribute("part","textarea"),this.#l(),this.#o(),s.appendChild(this.#t),e.appendChild(s),this.#s=document.createElement("span"),this.#s.className="char-count",this.#n(),e.appendChild(this.#s),this.#i=document.createElement("div"),this.#i.className="error-container hidden",this.#i.setAttribute("role","alert"),this.#i.setAttribute("part","error"),this.#i.id=`${this.#r}-error`,e.appendChild(this.#i),this.#e=document.createElement("div"),this.#e.className="threat-container hidden",this.#e.setAttribute("role","alert"),this.#e.setAttribute("part","threat"),this.#e.id=`${this.#r}-threat`,e.appendChild(this.#e),this.addComponentStyles(this.#m()),t.appendChild(e),t}#l(){const t=this.config,e=this.getAttribute("name");e&&(this.#t.name=this.sanitizeValue(e)),!this.getAttribute("label")&&e&&this.#t.setAttribute("aria-label",this.sanitizeValue(e)),this.#t.setAttribute("aria-describedby",`${this.#r}-error`);const i=this.getAttribute("placeholder");i&&(this.#t.placeholder=this.sanitizeValue(i)),(this.hasAttribute("required")||t.validation.required)&&(this.#t.required=!0,this.#t.setAttribute("aria-required","true"));const s=this.getAttribute("minlength");s&&(this.#t.minLength=parseInt(s,10));const a=this.getAttribute("maxlength")||t.validation.maxLength;a&&(this.#t.maxLength=parseInt(String(a),10));const h=this.getAttribute("rows")||3;this.#t.rows=parseInt(String(h),10);const r=this.getAttribute("cols");r&&(this.#t.cols=parseInt(r,10));const l=this.getAttribute("wrap")||"soft";if(this.#t.wrap=l,t.storage.allowAutocomplete){const o=this.getAttribute("autocomplete")||"on";this.#t.autocomplete=o}else this.#t.autocomplete="off";this.hasAttribute("disabled")&&(this.#t.disabled=!0),this.hasAttribute("readonly")&&(this.#t.readOnly=!0);const n=this.getAttribute("value");n&&(this.#t.value=n)}#o(){this.#t.addEventListener("focus",()=>{this.recordTelemetryFocus(),this.audit("textarea_focused",{name:this.#t.name})}),this.#t.addEventListener("input",t=>{this.recordTelemetryInput(t),this.#d(t)}),this.#t.addEventListener("blur",()=>{this.recordTelemetryBlur(),this.#u(),this.audit("textarea_blurred",{name:this.#t.name,hasValue:this.#t.value.length>0})}),this.#t.addEventListener("change",()=>{this.audit("textarea_changed",{name:this.#t.name,valueLength:this.#t.value.length})})}#d(t){this.detectInjection(this.#t.value,this.#t.name),this.#n(),this.#c(),this.dispatchEvent(new CustomEvent("secure-textarea-change",{detail:{name:this.#t.name,value:this.#t.value,tier:this.securityTier},bubbles:!0,composed:!0}))}#n(){const t=this.#t.value.length,e=this.#t.maxLength;e>0?(this.#s.textContent=`${t} / ${e}`,t>e*.9?this.#s.classList.add("warning"):this.#s.classList.remove("warning")):this.#s.textContent=`${t}`}#u(){const t=this.checkRateLimit();if(!t.allowed){this.#h(`Too many attempts. Please wait ${Math.ceil(t.retryAfter/1e3)} seconds.`);return}const e=this.getAttribute("minlength"),i=this.getAttribute("maxlength"),s=this.validateInput(this.#t.value,{required:this.hasAttribute("required")||this.config.validation.required,minLength:e?parseInt(e,10):0,maxLength:i?parseInt(i,10):this.config.validation.maxLength});s.valid||this.#h(s.errors.join(", "))}#h(t){this.#i.textContent=t,this.#i.offsetHeight,this.#i.classList.remove("hidden"),this.#t.classList.add("error"),this.#t.setAttribute("aria-invalid","true")}#c(){this.#i.classList.add("hidden"),this.#i.addEventListener("transitionend",()=>{this.#i.classList.contains("hidden")&&(this.#i.textContent="")},{once:!0}),this.#t.classList.remove("error"),this.#t.removeAttribute("aria-invalid")}#m(){return new URL("./secure-textarea.css",import.meta.url).href}handleAttributeChange(t,e,i){if(this.#t)switch(t){case"disabled":this.#t.disabled=this.hasAttribute("disabled");break;case"readonly":this.#t.readOnly=this.hasAttribute("readonly");break;case"value":i!==this.#t.value&&(this.#t.value=i||"",this.#n());break}}get value(){return this.#t?this.#t.value:""}set value(t){this.#t&&(this.#t.value=t||"",this.#n())}get name(){return this.#t?this.#t.name:""}get valid(){const t=this.getAttribute("minlength"),e=this.getAttribute("maxlength");return this.validateInput(this.#t.value,{required:this.hasAttribute("required")||this.config.validation.required,minLength:t?parseInt(t,10):0,maxLength:e?parseInt(e,10):this.config.validation.maxLength}).valid}focus(){this.#t&&this.#t.focus()}blur(){this.#t&&this.#t.blur()}showThreatFeedback(t){if(!this.#e||!this.#t)return;this.#e.textContent="";const e=document.createElement("span");e.className="threat-message",e.textContent=this.getThreatLabel(t);const i=document.createElement("span");i.className="threat-badge",i.textContent=t,this.#e.appendChild(e),this.#e.appendChild(i),this.#e.offsetHeight,this.#e.classList.remove("hidden"),this.#t.classList.add("threat"),this.#t.setAttribute("aria-invalid","true")}clearThreatFeedback(){!this.#e||!this.#t||(this.#e.classList.add("hidden"),this.#e.addEventListener("transitionend",()=>{this.#e.classList.contains("hidden")&&(this.#e.textContent="")},{once:!0}),this.#t.classList.remove("threat"),this.#t.removeAttribute("aria-invalid"))}disconnectedCallback(){super.disconnectedCallback(),this.#t&&(this.#t.value="")}}customElements.define("secure-textarea",u);export{u as SecureTextarea};