@kodaris/krubble-components 1.0.43 → 1.0.44
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/custom-elements.json +753 -39
- package/dist/file-list/file-list.d.ts +49 -0
- package/dist/file-list/file-list.d.ts.map +1 -0
- package/dist/file-list/file-list.js +269 -0
- package/dist/file-list/file-list.js.map +1 -0
- package/dist/file-preview/file-preview.d.ts +77 -0
- package/dist/file-preview/file-preview.d.ts.map +1 -0
- package/dist/file-preview/file-preview.js +498 -0
- package/dist/file-preview/file-preview.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/krubble-components.bundled.js +846 -87
- package/dist/krubble-components.bundled.js.map +1 -1
- package/dist/krubble-components.bundled.min.js +467 -111
- package/dist/krubble-components.bundled.min.js.map +1 -1
- package/dist/krubble-components.umd.js +846 -87
- package/dist/krubble-components.umd.js.map +1 -1
- package/dist/krubble-components.umd.min.js +484 -128
- package/dist/krubble-components.umd.min.js.map +1 -1
- package/package.json +9 -1
package/custom-elements.json
CHANGED
|
@@ -119,6 +119,22 @@
|
|
|
119
119
|
"module": "./progress-bar/progress-bar.js"
|
|
120
120
|
}
|
|
121
121
|
},
|
|
122
|
+
{
|
|
123
|
+
"kind": "js",
|
|
124
|
+
"name": "KRFileList",
|
|
125
|
+
"declaration": {
|
|
126
|
+
"name": "KRFileList",
|
|
127
|
+
"module": "./file-list/file-list.js"
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"kind": "js",
|
|
132
|
+
"name": "KRFilePreview",
|
|
133
|
+
"declaration": {
|
|
134
|
+
"name": "KRFilePreview",
|
|
135
|
+
"module": "./file-preview/file-preview.js"
|
|
136
|
+
}
|
|
137
|
+
},
|
|
122
138
|
{
|
|
123
139
|
"kind": "js",
|
|
124
140
|
"name": "KRTextField",
|
|
@@ -310,6 +326,17 @@
|
|
|
310
326
|
"default": "class KRProgressBar extends i$2 { constructor() { super(...arguments); /** * The color of the progress bar. Can be 'dark', 'light', or any valid CSS color value. */ this.color = 'dark'; } render() { let normalizedColor = ''; let normalizedTrackColor = ''; if (this.color === 'dark') { normalizedColor = '#163052'; } else if (this.color === 'light') { normalizedColor = '#ffffff'; } else { normalizedColor = this.color; } if (this.trackColor) { normalizedTrackColor = this.trackColor; } else if (this.color === 'light') { normalizedTrackColor = '#ffffff4d'; } else { normalizedTrackColor = '#0000001a'; } return b ` <div class=\"progress-bar\" style=${`background: ${normalizedTrackColor}`} role=\"status\" aria-label=\"Loading\" > <div class=\"fill\" style=${`background: ${normalizedColor}`}></div> </div> `; } }",
|
|
311
327
|
"description": "A linear loading indicator that shows activity or ongoing processes."
|
|
312
328
|
},
|
|
329
|
+
{
|
|
330
|
+
"kind": "variable",
|
|
331
|
+
"name": "KRFilePreview",
|
|
332
|
+
"description": "A full-screen file preview overlay.\n\nSupports image files with zoom/pan, PDFs via iframe, and a download\nfallback for other file types. Use the static `open()` method to show\nthe preview imperatively."
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
"kind": "variable",
|
|
336
|
+
"name": "KRFileList",
|
|
337
|
+
"default": "class KRFileList extends i$2 { constructor() { super(...arguments); /** Array of file objects to display */ this.files = []; /** Message displayed when the file list is empty */ this.emptyMessage = 'No files'; } _handleFileClick(file) { this.dispatchEvent(new CustomEvent('file-click', { bubbles: true, composed: true, detail: { file }, })); if (file.url) { KRFilePreview.open({ src: file.url, name: file.name }); } } _handleDownload(file) { this.dispatchEvent(new CustomEvent('download', { bubbles: true, composed: true, detail: { file }, })); if (file.url) { fetch(file.url) .then(response => response.blob()) .then(blob => { const blobUrl = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = blobUrl; a.download = file.name || 'file'; a.click(); URL.revokeObjectURL(blobUrl); }); } } _handleDelete(file) { this.dispatchEvent(new CustomEvent('delete', { bubbles: true, composed: true, detail: { file }, })); } _getExtension(name) { return name.split('.').pop()?.toLowerCase() || ''; } _getExtClass(ext) { if (['pdf'].includes(ext)) { return 'file-list__ext--pdf'; } if (['doc', 'docx', 'rtf', 'txt'].includes(ext)) { return 'file-list__ext--doc'; } if (['xls', 'xlsx', 'csv'].includes(ext)) { return 'file-list__ext--xls'; } if (['zip', 'rar', '7z', 'gz', 'tar'].includes(ext)) { return 'file-list__ext--zip'; } if (['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg', 'bmp'].includes(ext)) { return 'file-list__ext--img'; } return 'file-list__ext--default'; } _getExtIcon(ext) { if (['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg', 'bmp'].includes(ext)) { return b `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4.86 8.86-3 3.87L9 13.14 6 17h12l-3.86-5.14z\"/></svg>`; } if (['pdf'].includes(ext)) { return b `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M20 2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-8.5 7.5c0 .83-.67 1.5-1.5 1.5H9v2H7.5V7H10c.83 0 1.5.67 1.5 1.5v1zm5 2c0 .83-.67 1.5-1.5 1.5h-2.5V7H15c.83 0 1.5.67 1.5 1.5v3zm4-3H19v1h1.5V11H19v2h-1.5V7h3v1.5zM9 9.5h1v-1H9v1zM4 6H2v14c0 1.1.9 2 2 2h14v-2H4V6zm10 5.5h1v-3h-1v3z\"/></svg>`; } if (['doc', 'docx', 'rtf', 'txt'].includes(ext)) { return b `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6zm2-6h8v2H8v-2zm0-4h8v2H8v-2zm0 8h5v2H8v-2z\"/></svg>`; } if (['xls', 'xlsx', 'csv'].includes(ext)) { return b `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 2v3H5V5h14zm0 5v4H5v-4h14zM5 19v-3h14v3H5zm2-8h4v2H7v-2zm0 5h4v2H7v-2z\"/></svg>`; } if (['zip', 'rar', '7z', 'gz', 'tar'].includes(ext)) { return b `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M20 6h-8l-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V6h5.17l2 2H20v10zm-8-4h2v2h-2v-2zm0-4h2v2h-2v-2zm-2 2h2v2h-2v-2z\"/></svg>`; } return b `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zm4 18H6V4h7v5h5v11z\"/></svg>`; } render() { if (!this.files.length) { return b `<div class=\"file-list__empty\">${this.emptyMessage}</div>`; } return b ` <div class=\"file-list\"> ${this.files.map(file => { const ext = this._getExtension(file.name); const metaText = file.meta || file.date || ''; return b ` <div class=\"file-list__item\"> <div class=\"file-list__ext ${this._getExtClass(ext)}\">${this._getExtIcon(ext)}</div> <div class=\"file-list__info\"> <a class=\"file-list__name\" @click=${() => this._handleFileClick(file)}>${file.name}</a> ${metaText ? b `<div class=\"file-list__meta\">${metaText}</div>` : ''} </div> <div class=\"file-list__actions\"> <svg class=\"file-list__action\" @click=${() => this._handleDownload(file)} xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" title=\"Download\"><path d=\"M19 9h-4V3H9v6H5l7 7 7-7zm-8 2V5h2v6h1.17L12 13.17 9.83 11H11zm-6 7h14v2H5v-2z\"/></svg> <svg class=\"file-list__action file-list__action--delete\" @click=${() => this._handleDelete(file)} xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" title=\"Delete\"><path d=\"M16 9v10H8V9h8m-1.5-6h-5l-1 1H5v2h14V4h-3.5l-1-1zM18 7H6v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7z\"/></svg> </div> </div> `; })} </div> `; } }",
|
|
338
|
+
"description": "A file list component that displays files with extension-based icons,\ndownload/delete actions, and built-in file preview.\n\nClicking a file name opens a full-screen preview via `KRFilePreview.open()`."
|
|
339
|
+
},
|
|
313
340
|
{
|
|
314
341
|
"kind": "variable",
|
|
315
342
|
"name": "KRTextField",
|
|
@@ -421,6 +448,22 @@
|
|
|
421
448
|
"module": "dist/krubble-components.bundled.js"
|
|
422
449
|
}
|
|
423
450
|
},
|
|
451
|
+
{
|
|
452
|
+
"kind": "js",
|
|
453
|
+
"name": "KRFileList",
|
|
454
|
+
"declaration": {
|
|
455
|
+
"name": "KRFileList",
|
|
456
|
+
"module": "dist/krubble-components.bundled.js"
|
|
457
|
+
}
|
|
458
|
+
},
|
|
459
|
+
{
|
|
460
|
+
"kind": "js",
|
|
461
|
+
"name": "KRFilePreview",
|
|
462
|
+
"declaration": {
|
|
463
|
+
"name": "KRFilePreview",
|
|
464
|
+
"module": "dist/krubble-components.bundled.js"
|
|
465
|
+
}
|
|
466
|
+
},
|
|
424
467
|
{
|
|
425
468
|
"kind": "js",
|
|
426
469
|
"name": "KRProgressBar",
|
|
@@ -526,38 +569,38 @@
|
|
|
526
569
|
},
|
|
527
570
|
{
|
|
528
571
|
"kind": "variable",
|
|
529
|
-
"name": "
|
|
572
|
+
"name": "ne",
|
|
530
573
|
"default": "r` :host, *, *::before, *::after { box-sizing: border-box; } :host { /* Primary */ --kr-primary: rgb(22, 48, 82); --kr-primary-hover: rgb(16, 36, 62); --kr-primary-text: #ffffff; /* Accent */ --kr-accent: #BEEA4E; --kr-accent-hover: #a8d43a; --kr-accent-text: #000000; /* Text */ --kr-text: #000000; --kr-text-muted: #4b5563; --kr-text-disabled: #9ca3af; /* Borders */ --kr-border: #e5e7eb; } `"
|
|
531
574
|
},
|
|
532
575
|
{
|
|
533
576
|
"kind": "variable",
|
|
534
577
|
"name": "fe",
|
|
535
|
-
"default": "class extends re{constructor(){super(...arguments),this.header=\"\",this.expanded=!1}toggle(){this.expanded=!this.expanded}render(){return
|
|
578
|
+
"default": "class extends re{constructor(){super(...arguments),this.header=\"\",this.expanded=!1}toggle(){this.expanded=!this.expanded}render(){return B` <div class=\"header\" @click=${this.toggle}> <span class=\"header__title\">${this.header}</span> <svg class=\"header__icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"> <path d=\"M6 9l6 6 6-6\"/> </svg> </div> <div class=\"content\"> <div class=\"content__inner\"> <div class=\"content__body\"> <slot></slot> </div> </div> </div> `}}"
|
|
536
579
|
},
|
|
537
580
|
{
|
|
538
581
|
"kind": "variable",
|
|
539
582
|
"name": "$e",
|
|
540
|
-
"default": "class extends re{constructor(){super(...arguments),this.type=\"info\",this.title=\"\",this.dismissible=!1,this.visible=!0}_handleDismiss(){this.visible=!1,this.dispatchEvent(new CustomEvent(\"dismiss\",{bubbles:!0,composed:!0}))}render(){const e={info:
|
|
583
|
+
"default": "class extends re{constructor(){super(...arguments),this.type=\"info\",this.title=\"\",this.dismissible=!1,this.visible=!0}_handleDismiss(){this.visible=!1,this.dispatchEvent(new CustomEvent(\"dismiss\",{bubbles:!0,composed:!0}))}render(){const e={info:B`<svg class=\"icon\" viewBox=\"0 0 20 20\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z\" clip-rule=\"evenodd\"/></svg>`,success:B`<svg class=\"icon\" viewBox=\"0 0 20 20\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z\" clip-rule=\"evenodd\"/></svg>`,warning:B`<svg class=\"icon\" viewBox=\"0 0 20 20\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z\" clip-rule=\"evenodd\"/></svg>`,error:B`<svg class=\"icon\" viewBox=\"0 0 20 20\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\" clip-rule=\"evenodd\"/></svg>`};return B` <div class=${ke({alert:!0,[\"alert--\"+this.type]:!0,\"alert--has-header\":!!this.title,\"alert--hidden\":!this.visible})} role=\"alert\" > ${e[this.type]} <div class=\"content\"> ${this.title?B`<h4 class=\"header\">${this.title}</h4>`:U} <div class=\"message\"> <slot></slot> </div> </div> ${this.dismissible?B` <button class=\"dismiss\" type=\"button\" aria-label=\"Dismiss alert\" @click=${this._handleDismiss} > <svg viewBox=\"0 0 20 20\" fill=\"currentColor\" width=\"16\" height=\"16\"> <path fill-rule=\"evenodd\" d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\" clip-rule=\"evenodd\"/> </svg> </button> `:U} </div> `}}"
|
|
541
584
|
},
|
|
542
585
|
{
|
|
543
586
|
"kind": "variable",
|
|
544
|
-
"name": "
|
|
545
|
-
"default": "class extends re{constructor(){super(...arguments),this.variant=\"flat\",this.color=\"primary\",this.size=\"medium\",this.disabled=!1,this.options=[],this.iconPosition=\"left\",this._state=\"idle\",this._stateText=\"\",this._dropdownOpened=!1,this._handleHostClick=e=>{this.options.length&&(e.stopPropagation(),this._toggleDropdown())},this._handleKeydown=e=>{\"Enter\"!==e.key&&\" \"!==e.key||(e.preventDefault(),this.options.length?this._toggleDropdown():this.click()),\"Escape\"===e.key&&this._dropdownOpened&&(this._dropdownOpened=!1)},this._handleClickOutside=e=>{this._dropdownOpened&&!this.contains(e.target)&&(this._dropdownOpened=!1)}}connectedCallback(){super.connectedCallback(),this.setAttribute(\"role\",this.href?\"link\":\"button\"),this.setAttribute(\"tabindex\",\"0\"),this.addEventListener(\"keydown\",this._handleKeydown),this.addEventListener(\"click\",this._handleHostClick),document.addEventListener(\"click\",this._handleClickOutside)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(\"keydown\",this._handleKeydown),this.removeEventListener(\"click\",this._handleHostClick),document.removeEventListener(\"click\",this._handleClickOutside)}_toggleDropdown(){this._dropdownOpened=!this._dropdownOpened,this._dropdownOpened&&requestAnimationFrame((()=>{const e=this.shadowRoot?.querySelector(\".dropdown\");if(e){const t=this.getBoundingClientRect();e.style.top=t.bottom+4+\"px\",e.style.left=t.left+\"px\",e.style.minWidth=t.width+\"px\";e.getBoundingClientRect().right>window.innerWidth&&(e.style.left=\"\",e.style.right=window.innerWidth-t.right+\"px\")}}))}_handleOptionClick(e,t){t.stopPropagation(),this._dropdownOpened=!1,this.dispatchEvent(new CustomEvent(\"option-select\",{detail:{id:e.id,label:e.label},bubbles:!0,composed:!0}))}showLoading(){this._clearStateTimeout(),this._state=\"loading\",this._stateText=\"\"}showSuccess(e=\"Success\",t=2e3){this._clearStateTimeout(),this._state=\"success\",this._stateText=e,t>0&&(this._stateTimeout=window.setTimeout((()=>this.reset()),t))}showError(e=\"Error\",t=2e3){this._clearStateTimeout(),this._state=\"error\",this._stateText=e,t>0&&(this._stateTimeout=window.setTimeout((()=>this.reset()),t))}reset(){this._clearStateTimeout(),this._state=\"idle\",this._stateText=\"\"}_clearStateTimeout(){this._stateTimeout&&(clearTimeout(this._stateTimeout),this._stateTimeout=void 0)}updated(e){this.classList.toggle(\"kr-button--loading\",\"loading\"===this._state),this.classList.toggle(\"kr-button--success\",\"success\"===this._state),this.classList.toggle(\"kr-button--error\",\"error\"===this._state),this.classList.toggle(`kr-button--${this.variant}`,!0),this.classList.toggle(`kr-button--${this.color}`,!0),this.classList.toggle(\"kr-button--small\",\"small\"===this.size),this.classList.toggle(\"kr-button--large\",\"large\"===this.size)}render(){const e=
|
|
587
|
+
"name": "ze",
|
|
588
|
+
"default": "class extends re{constructor(){super(...arguments),this.variant=\"flat\",this.color=\"primary\",this.size=\"medium\",this.disabled=!1,this.options=[],this.iconPosition=\"left\",this._state=\"idle\",this._stateText=\"\",this._dropdownOpened=!1,this._handleHostClick=e=>{this.options.length&&(e.stopPropagation(),this._toggleDropdown())},this._handleKeydown=e=>{\"Enter\"!==e.key&&\" \"!==e.key||(e.preventDefault(),this.options.length?this._toggleDropdown():this.click()),\"Escape\"===e.key&&this._dropdownOpened&&(this._dropdownOpened=!1)},this._handleClickOutside=e=>{this._dropdownOpened&&!this.contains(e.target)&&(this._dropdownOpened=!1)}}connectedCallback(){super.connectedCallback(),this.setAttribute(\"role\",this.href?\"link\":\"button\"),this.setAttribute(\"tabindex\",\"0\"),this.addEventListener(\"keydown\",this._handleKeydown),this.addEventListener(\"click\",this._handleHostClick),document.addEventListener(\"click\",this._handleClickOutside)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(\"keydown\",this._handleKeydown),this.removeEventListener(\"click\",this._handleHostClick),document.removeEventListener(\"click\",this._handleClickOutside)}_toggleDropdown(){this._dropdownOpened=!this._dropdownOpened,this._dropdownOpened&&requestAnimationFrame((()=>{const e=this.shadowRoot?.querySelector(\".dropdown\");if(e){const t=this.getBoundingClientRect();e.style.top=t.bottom+4+\"px\",e.style.left=t.left+\"px\",e.style.minWidth=t.width+\"px\";e.getBoundingClientRect().right>window.innerWidth&&(e.style.left=\"\",e.style.right=window.innerWidth-t.right+\"px\")}}))}_handleOptionClick(e,t){t.stopPropagation(),this._dropdownOpened=!1,this.dispatchEvent(new CustomEvent(\"option-select\",{detail:{id:e.id,label:e.label},bubbles:!0,composed:!0}))}showLoading(){this._clearStateTimeout(),this._state=\"loading\",this._stateText=\"\"}showSuccess(e=\"Success\",t=2e3){this._clearStateTimeout(),this._state=\"success\",this._stateText=e,t>0&&(this._stateTimeout=window.setTimeout((()=>this.reset()),t))}showError(e=\"Error\",t=2e3){this._clearStateTimeout(),this._state=\"error\",this._stateText=e,t>0&&(this._stateTimeout=window.setTimeout((()=>this.reset()),t))}reset(){this._clearStateTimeout(),this._state=\"idle\",this._stateText=\"\"}_clearStateTimeout(){this._stateTimeout&&(clearTimeout(this._stateTimeout),this._stateTimeout=void 0)}updated(e){this.classList.toggle(\"kr-button--loading\",\"loading\"===this._state),this.classList.toggle(\"kr-button--success\",\"success\"===this._state),this.classList.toggle(\"kr-button--error\",\"error\"===this._state),this.classList.toggle(`kr-button--${this.variant}`,!0),this.classList.toggle(`kr-button--${this.color}`,!0),this.classList.toggle(\"kr-button--small\",\"small\"===this.size),this.classList.toggle(\"kr-button--large\",\"large\"===this.size)}render(){const e=B` <span class=\"content\"> <slot name=\"icon\"></slot> <slot></slot> </span> ${this.options.length?B`<svg class=\"caret\" xmlns=\"http://www.w3.org/2000/svg\" height=\"20\" width=\"20\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z\"/></svg>`:U} ${\"idle\"!==this._state?B`<span class=\"state-overlay\"> ${\"loading\"===this._state?B`<span class=\"spinner\"></span>`:this._stateText} </span>`:U} ${this.options.length?B` <div class=\"dropdown ${this._dropdownOpened?\"dropdown--opened\":\"\"}\"> ${this.options.map((e=>B` <button class=\"dropdown-item\" @click=${t=>this._handleOptionClick(e,t)} >${e.label}</button> `))} </div> `:U} `;return this.href?B`<a class=\"link\" href=${this.href} target=${this.target||U}>${e}</a>`:e}}"
|
|
546
589
|
},
|
|
547
590
|
{
|
|
548
591
|
"kind": "variable",
|
|
549
|
-
"name": "
|
|
550
|
-
"default": "class extends re{constructor(){super(...arguments),this.language=\"html\",this.code=\"\",this.activeTab=\"preview\",this.copied=!1,this.highlightedCode=\"\"}connectedCallback(){super.connectedCallback(),requestAnimationFrame((()=>{this.code||(this.code=this.innerHTML.trim().replace(/=\"\"(?=[\\s>])/g,\"\")),this.querySelectorAll(\"script\").forEach((e=>{const t=document.createElement(\"script\");t.textContent=e.textContent,e.replaceWith(t)})),this.code&&window.hljs&&window.hljs.getLanguage(this.language)?this.highlightedCode=window.hljs.highlight(this.code,{language:this.language}).value:this.highlightedCode=this.code.replace(/&/g,\"&\").replace(/</g,\"<\").replace(/>/g,\">\")}))}activateTab(e){this.activeTab=e}copyCode(){this.code&&navigator.clipboard.writeText(this.code).then((()=>{this.copied=!0,setTimeout((()=>{this.copied=!1}),2e3)}))}render(){return
|
|
592
|
+
"name": "Ae",
|
|
593
|
+
"default": "class extends re{constructor(){super(...arguments),this.language=\"html\",this.code=\"\",this.activeTab=\"preview\",this.copied=!1,this.highlightedCode=\"\"}connectedCallback(){super.connectedCallback(),requestAnimationFrame((()=>{this.code||(this.code=this.innerHTML.trim().replace(/=\"\"(?=[\\s>])/g,\"\")),this.querySelectorAll(\"script\").forEach((e=>{const t=document.createElement(\"script\");t.textContent=e.textContent,e.replaceWith(t)})),this.code&&window.hljs&&window.hljs.getLanguage(this.language)?this.highlightedCode=window.hljs.highlight(this.code,{language:this.language}).value:this.highlightedCode=this.code.replace(/&/g,\"&\").replace(/</g,\"<\").replace(/>/g,\">\")}))}activateTab(e){this.activeTab=e}copyCode(){this.code&&navigator.clipboard.writeText(this.code).then((()=>{this.copied=!0,setTimeout((()=>{this.copied=!1}),2e3)}))}render(){return B` <div class=\"tabs\"> <button class=${ke({tab:!0,\"tab--active\":\"preview\"===this.activeTab})} @click=${()=>this.activateTab(\"preview\")} > Preview </button> <button class=${ke({tab:!0,\"tab--active\":\"code\"===this.activeTab})} @click=${()=>this.activateTab(\"code\")} > Code </button> <button class=${ke({copy:!0,\"copy--success\":this.copied})} @click=${this.copyCode} title=${this.copied?\"Copied!\":\"Copy code\"} > ${this.copied?B`<svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"></polyline></svg>`:B`<svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\" ry=\"2\"></rect><path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"></path></svg>`} </button> </div> <div class=${ke({panel:!0,\"panel--active\":\"preview\"===this.activeTab,\"panel--preview\":!0})}> <slot></slot> </div> <div class=${ke({panel:!0,\"panel--active\":\"code\"===this.activeTab,\"panel--code\":!0})}> <pre class=\"code\"><code>${Ee(this.highlightedCode)}</code></pre> </div> `}}"
|
|
551
594
|
},
|
|
552
595
|
{
|
|
553
596
|
"kind": "variable",
|
|
554
|
-
"name": "
|
|
555
|
-
"default": "class extends re{constructor(){super(...arguments),this.items=[],this.resolvePromise=null,this.boundHandleOutsideClick=this.handleOutsideClick.bind(this),this.boundHandleKeyDown=this.handleKeyDown.bind(this)}static async open(e){const t=document.querySelector(\"kr-context-menu\");t&&t.remove();const i=document.createElement(\"kr-context-menu\");return document.body.appendChild(i),i.show(e)}async show(e){this.items=e.items,this.style.left=`${e.x}px`,this.style.top=`${e.y}px`,await this.updateComplete;const t=this.getBoundingClientRect();return t.right>window.innerWidth&&(this.style.left=e.x-t.width+\"px\"),t.bottom>window.innerHeight&&(this.style.top=e.y-t.height+\"px\"),requestAnimationFrame((()=>{document.addEventListener(\"click\",this.boundHandleOutsideClick),document.addEventListener(\"contextmenu\",this.boundHandleOutsideClick),document.addEventListener(\"keydown\",this.boundHandleKeyDown)})),new Promise((e=>{this.resolvePromise=e}))}handleOutsideClick(e){this.contains(e.target)||this.close(null)}handleKeyDown(e){\"Escape\"===e.key&&this.close(null)}handleItemClick(e){e.disabled||e.divider||this.close(e)}close(e){document.removeEventListener(\"click\",this.boundHandleOutsideClick),document.removeEventListener(\"contextmenu\",this.boundHandleOutsideClick),document.removeEventListener(\"keydown\",this.boundHandleKeyDown),this.resolvePromise&&(this.resolvePromise(e),this.resolvePromise=null),this.remove()}render(){return
|
|
597
|
+
"name": "Te",
|
|
598
|
+
"default": "class extends re{constructor(){super(...arguments),this.items=[],this.resolvePromise=null,this.boundHandleOutsideClick=this.handleOutsideClick.bind(this),this.boundHandleKeyDown=this.handleKeyDown.bind(this)}static async open(e){const t=document.querySelector(\"kr-context-menu\");t&&t.remove();const i=document.createElement(\"kr-context-menu\");return document.body.appendChild(i),i.show(e)}async show(e){this.items=e.items,this.style.left=`${e.x}px`,this.style.top=`${e.y}px`,await this.updateComplete;const t=this.getBoundingClientRect();return t.right>window.innerWidth&&(this.style.left=e.x-t.width+\"px\"),t.bottom>window.innerHeight&&(this.style.top=e.y-t.height+\"px\"),requestAnimationFrame((()=>{document.addEventListener(\"click\",this.boundHandleOutsideClick),document.addEventListener(\"contextmenu\",this.boundHandleOutsideClick),document.addEventListener(\"keydown\",this.boundHandleKeyDown)})),new Promise((e=>{this.resolvePromise=e}))}handleOutsideClick(e){this.contains(e.target)||this.close(null)}handleKeyDown(e){\"Escape\"===e.key&&this.close(null)}handleItemClick(e){e.disabled||e.divider||this.close(e)}close(e){document.removeEventListener(\"click\",this.boundHandleOutsideClick),document.removeEventListener(\"contextmenu\",this.boundHandleOutsideClick),document.removeEventListener(\"keydown\",this.boundHandleKeyDown),this.resolvePromise&&(this.resolvePromise(e),this.resolvePromise=null),this.remove()}render(){return B` <div class=\"menu\"> ${this.items.map((e=>e.divider?B`<div class=\"menu__divider\"></div>`:B` <button class=\"menu__item\" ?disabled=${e.disabled} @click=${()=>this.handleItemClick(e)} > ${e.icon?B`<span class=\"menu__item-icon\">${e.icon}</span>`:null} ${e.label} </button> `))} </div> `}}"
|
|
556
599
|
},
|
|
557
600
|
{
|
|
558
601
|
"kind": "class",
|
|
559
602
|
"description": "",
|
|
560
|
-
"name": "
|
|
603
|
+
"name": "Ve",
|
|
561
604
|
"members": [
|
|
562
605
|
{
|
|
563
606
|
"kind": "method",
|
|
@@ -606,8 +649,8 @@
|
|
|
606
649
|
},
|
|
607
650
|
{
|
|
608
651
|
"kind": "variable",
|
|
609
|
-
"name": "
|
|
610
|
-
"default": "class extends re{constructor(){super(...arguments),this._dialogRef=null,this._contentElement=null,this.opened=!1,this.label=\"\",this.width=\"560px\",this._handleDocumentKeyDown=e=>{\"Escape\"===e.key&&this.close()}}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener(\"keydown\",this._handleDocumentKeyDown)}updated(e){super.updated(e),e.has(\"opened\")&&(this.opened?document.addEventListener(\"keydown\",this._handleDocumentKeyDown):document.removeEventListener(\"keydown\",this._handleDocumentKeyDown))}open(){this.opened=!0}close(){this._dialogRef?this._dialogRef.close(void 0):(this.opened=!1,this.dispatchEvent(new CustomEvent(\"close\",{bubbles:!0,composed:!0})))}static open(e,t){document.querySelectorAll(\"kr-dialog\").forEach((e=>{e._dialogRef&&e.remove()}));const i=new
|
|
652
|
+
"name": "Be",
|
|
653
|
+
"default": "class extends re{constructor(){super(...arguments),this._dialogRef=null,this._contentElement=null,this.opened=!1,this.label=\"\",this.width=\"560px\",this._handleDocumentKeyDown=e=>{\"Escape\"===e.key&&this.close()}}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener(\"keydown\",this._handleDocumentKeyDown)}updated(e){super.updated(e),e.has(\"opened\")&&(this.opened?document.addEventListener(\"keydown\",this._handleDocumentKeyDown):document.removeEventListener(\"keydown\",this._handleDocumentKeyDown))}open(){this.opened=!0}close(){this._dialogRef?this._dialogRef.close(void 0):(this.opened=!1,this.dispatchEvent(new CustomEvent(\"close\",{bubbles:!0,composed:!0})))}static open(e,t){document.querySelectorAll(\"kr-dialog\").forEach((e=>{e._dialogRef&&e.remove()}));const i=new Ve,o=document.createElement(\"kr-dialog\");i.setDialogElement(o),o._dialogRef=i;const s=new e;return s.dialogRef=i,t?.data&&(s.data=t.data),t?.label&&(o.label=t.label),t?.width&&(o.width=t.width),o._contentElement=s,o.opened=!0,document.body.appendChild(o),i}_handleBackdropClick(e){e.target.classList.contains(\"backdrop\")&&this.close()}render(){return B` <div class=\"backdrop\" @click=${this._handleBackdropClick}></div> <div class=\"dialog\" style=${je({width:this.width})}> ${this.label?B`<div class=\"dialog__header\"><div class=\"dialog__header-label\">${this.label}</div></div>`:\"\"} ${this._contentElement?this._contentElement:B`<slot></slot>`} </div> `}}"
|
|
611
654
|
},
|
|
612
655
|
{
|
|
613
656
|
"kind": "variable",
|
|
@@ -616,52 +659,61 @@
|
|
|
616
659
|
{
|
|
617
660
|
"kind": "variable",
|
|
618
661
|
"name": "We",
|
|
619
|
-
"default": "class extends re{constructor(){super(...arguments),this.justified=!1,this.size=\"medium\"}updated(e){e.has(\"activeTabId\")&&this._updateActiveTab()}firstUpdated(){this._updateActiveTab()}_getTabs(){return Array.from(this.querySelectorAll(\"kr-tab\"))}_updateActiveTab(){const e=this._getTabs();0!==e.length&&(this.activeTabId||(this.activeTabId=e[0]?.id),e.forEach((e=>{e.active=e.id===this.activeTabId})),this.requestUpdate())}_handleTabClick(e){e.disabled||(this.activeTabId=e.id,this.dispatchEvent(new CustomEvent(\"tab-change\",{detail:{activeTabId:e.id},bubbles:!0,composed:!0})))}_handleTabDismiss(e,t){t.stopPropagation(),this.dispatchEvent(new CustomEvent(\"tab-dismiss\",{detail:{tabId:e.id},bubbles:!0,composed:!0}))}_handleKeyDown(e){const t=this._getTabs().filter((e=>!e.disabled)),i=t.findIndex((e=>e.id===this.activeTabId));let o=-1;switch(e.key){case\"ArrowLeft\":o=i>0?i-1:t.length-1;break;case\"ArrowRight\":o=i<t.length-1?i+1:0;break;case\"Home\":o=0;break;case\"End\":o=t.length-1}if(o>=0){e.preventDefault();const i=t[o];this.activeTabId=i.id,this.dispatchEvent(new CustomEvent(\"tab-change\",{detail:{activeTabId:i.id},bubbles:!0,composed:!0}));const s=this.shadowRoot?.querySelectorAll(\".label\"),r=Array.from(s||[]).find((e=>e.getAttribute(\"data-tab-id\")===i.id));r?.focus()}}_renderTabIcon(e){const t=e.getIconElement();if(!t)return U;const i=t.cloneNode(!0);return i.removeAttribute(\"slot\"),
|
|
662
|
+
"default": "class extends re{constructor(){super(...arguments),this.justified=!1,this.size=\"medium\"}updated(e){e.has(\"activeTabId\")&&this._updateActiveTab()}firstUpdated(){this._updateActiveTab()}_getTabs(){return Array.from(this.querySelectorAll(\"kr-tab\"))}_updateActiveTab(){const e=this._getTabs();0!==e.length&&(this.activeTabId||(this.activeTabId=e[0]?.id),e.forEach((e=>{e.active=e.id===this.activeTabId})),this.requestUpdate())}_handleTabClick(e){e.disabled||(this.activeTabId=e.id,this.dispatchEvent(new CustomEvent(\"tab-change\",{detail:{activeTabId:e.id},bubbles:!0,composed:!0})))}_handleTabDismiss(e,t){t.stopPropagation(),this.dispatchEvent(new CustomEvent(\"tab-dismiss\",{detail:{tabId:e.id},bubbles:!0,composed:!0}))}_handleKeyDown(e){const t=this._getTabs().filter((e=>!e.disabled)),i=t.findIndex((e=>e.id===this.activeTabId));let o=-1;switch(e.key){case\"ArrowLeft\":o=i>0?i-1:t.length-1;break;case\"ArrowRight\":o=i<t.length-1?i+1:0;break;case\"Home\":o=0;break;case\"End\":o=t.length-1}if(o>=0){e.preventDefault();const i=t[o];this.activeTabId=i.id,this.dispatchEvent(new CustomEvent(\"tab-change\",{detail:{activeTabId:i.id},bubbles:!0,composed:!0}));const s=this.shadowRoot?.querySelectorAll(\".label\"),r=Array.from(s||[]).find((e=>e.getAttribute(\"data-tab-id\")===i.id));r?.focus()}}_renderTabIcon(e){const t=e.getIconElement();if(!t)return U;const i=t.cloneNode(!0);return i.removeAttribute(\"slot\"),B`<span class=\"label-icon\">${i}</span>`}render(){return B` <div class=\"header\" role=\"tablist\" @keydown=${this._handleKeyDown}> ${this._getTabs().map((e=>B` <button class=${ke({label:!0,\"label--active\":e.id===this.activeTabId,\"label--justified\":this.justified})} role=\"tab\" data-tab-id=${e.id} aria-selected=${e.id===this.activeTabId} aria-controls=${`panel-${e.id}`} tabindex=${e.id===this.activeTabId?0:-1} ?disabled=${e.disabled} @click=${()=>this._handleTabClick(e)} > ${this._renderTabIcon(e)} <span>${e.label}</span> ${e.badge?B`<span class=\"label-badge\" style=${je({backgroundColor:e.badgeBackground,color:e.badgeColor})}>${e.badge}</span>`:U} ${e.dismissible?B` <button class=\"label-dismiss\" type=\"button\" aria-label=\"Close tab\" @click=${t=>this._handleTabDismiss(e,t)} > <svg viewBox=\"0 0 20 20\" fill=\"currentColor\" width=\"12\" height=\"12\"><path fill-rule=\"evenodd\" d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\" clip-rule=\"evenodd\"/></svg> </button> `:U} </button> `))} </div> <div class=\"content\" role=\"tabpanel\" aria-labelledby=${this.activeTabId||\"\"}> <slot @slotchange=${this._updateActiveTab}></slot> </div> `}}"
|
|
620
663
|
},
|
|
621
664
|
{
|
|
622
665
|
"kind": "variable",
|
|
623
|
-
"name": "
|
|
624
|
-
"default": "class extends re{constructor(){super(...arguments),this.id=\"\",this.label=\"\",this.badge=\"\",this.badgeBackground=\"\",this.badgeColor=\"\",this.disabled=!1,this.dismissible=!1,this.active=!1}getIconElement(){return this.querySelector('[slot=\"icon\"]')}render(){return console.log(\"tab render\"),
|
|
666
|
+
"name": "Xe",
|
|
667
|
+
"default": "class extends re{constructor(){super(...arguments),this.id=\"\",this.label=\"\",this.badge=\"\",this.badgeBackground=\"\",this.badgeColor=\"\",this.disabled=!1,this.dismissible=!1,this.active=!1}getIconElement(){return this.querySelector('[slot=\"icon\"]')}render(){return console.log(\"tab render\"),B`<slot></slot>`}}"
|
|
625
668
|
},
|
|
626
669
|
{
|
|
627
670
|
"kind": "variable",
|
|
628
671
|
"name": "Je",
|
|
629
|
-
"default": "class extends re{constructor(){super(...arguments),this._scrollStyle=\"overlay\",this._data=[],this._dataState=\"idle\",this._page=1,this._pageSize=50,this._totalItems=0,this._totalPages=0,this._searchQuery=\"\",this._canScrollLeft=!1,this._canScrollRight=!1,this._canScrollHorizontal=!1,this._columnPickerOpen=!1,this._displayedColumns=[],this._resizing=null,this._resizeObserver=null,this._searchPositionLocked=!1,this._def={columns:[]},this.def={columns:[]},this._handleClickOutsideColumnPicker=e=>{if(!this._columnPickerOpen)return;const t=e.composedPath(),i=this.shadowRoot?.querySelector(\".column-picker-wrapper\");i&&!t.includes(i)&&(this._columnPickerOpen=!1)},this._handleResizeMove=e=>{if(!this._resizing)return;const t=this._def.columns.find((e=>e.id===this._resizing.columnId));if(t){const i=this._resizing.startWidth+(e.clientX-this._resizing.startX);t.width=`${Math.min(900,Math.max(50,i))}px`,this.requestUpdate()}},this._handleResizeEnd=()=>{this._resizing=null,document.removeEventListener(\"mousemove\",this._handleResizeMove),document.removeEventListener(\"mouseup\",this._handleResizeEnd)}}connectedCallback(){super.connectedCallback(),this.classList.toggle(\"kr-table--scroll-overlay\",\"overlay\"===this._scrollStyle),this.classList.toggle(\"kr-table--scroll-edge\",\"edge\"===this._scrollStyle),this._fetch(),this._initRefresh(),document.addEventListener(\"click\",this._handleClickOutsideColumnPicker),this._resizeObserver=new ResizeObserver((()=>{this._searchPositionLocked=!1,this._updateSearchPosition()})),this._resizeObserver.observe(this)}disconnectedCallback(){super.disconnectedCallback(),clearInterval(this._refreshTimer),document.removeEventListener(\"click\",this._handleClickOutsideColumnPicker),this._resizeObserver?.disconnect()}willUpdate(e){e.has(\"def\")&&(this._def={...this.def,columns:this.def.columns.map((e=>\"actions\"===e.type?{...e,label:e.label??\"\",sticky:\"right\",resizable:!1}:{...e}))},this._displayedColumns=this._def.displayedColumns||this._def.columns.map((e=>e.id)),this._fetch(),this._initRefresh())}updated(e){this._updateScrollFlags(),this._syncSlottedContent()}_syncSlottedContent(){const e=this.getDisplayedColumns().filter((e=>e.render));e.length&&(this.querySelectorAll('[slot^=\"cell-\"]').forEach((e=>e.remove())),this._data.forEach(((t,i)=>{e.forEach((e=>{const o=e.render(t),s=\"string\"==typeof o?o:\"\";if(s){const t=document.createElement(\"span\");t.slot=`cell-${i}-${e.id}`,\"actions\"===e.type&&(t.style.display=\"flex\",t.style.gap=\"8px\"),t.innerHTML=s,this.appendChild(t)}}))})))}refresh(){this._fetch()}goToPrevPage(){this._page>1&&(this._page--,this._fetch())}goToNextPage(){this._page<this._totalPages&&(this._page++,this._fetch())}goToPage(e){e>=1&&e<=this._totalPages&&(this._page=e,this._fetch())}_fetch(){if(!this._def.dataSource)return;let e;switch(this._dataState=\"loading\",this._def.dataSource.mode){case\"opensearch\":throw Error(\"Opensearch not supported yet\");case\"db\":e={page:this._page-1,size:this._pageSize,sorts:[],filterFields:[],queryFields:[],facetFields:[]},this._searchQuery?.trim().length&&this._def.columns.filter((e=>e.searchable)).forEach((t=>{e.queryFields.push({name:t.id,operation:\"CONTAINS\",value:this._searchQuery,and:!1})}));break;default:e={page:this._page-1,size:this._pageSize,sorts:[],filterFields:[],queryFields:[],facetFields:[]},this._searchQuery?.trim().length&&e.queryFields.push({name:\"_text_\",operation:\"IS\",value:Ge(this._searchQuery)})}this._def.dataSource.fetch(e).then((e=>{switch(this._def.dataSource?.mode){case\"opensearch\":throw Error(\"Opensearch not supported yet\");case\"db\":{const t=e;this._data=t.data.content,this._totalItems=t.data.totalElements,this._totalPages=t.data.totalPages,this._pageSize=t.data.size;break}default:{const t=e;this._data=t.data.content,this._totalItems=t.data.totalElements,this._totalPages=t.data.totalPages,this._pageSize=t.data.size}}this._dataState=\"success\",this._updateSearchPosition()})).catch((e=>{this._dataState=\"error\",Ne.show({message:e instanceof Error?e.message:\"Failed to load data\",type:\"error\"})}))}_initRefresh(){clearInterval(this._refreshTimer),this._def.refreshInterval&&this._def.refreshInterval>0&&(this._refreshTimer=window.setInterval((()=>{this._fetch()}),this._def.refreshInterval))}_handleSearch(e){const t=e.target;this._searchQuery=t.value,this._page=1,this._fetch()}_getGridTemplateColumns(){return this.getDisplayedColumns().map((e=>e.width?e.width:\"actions\"===e.type?\"max-content\":\"minmax(80px, auto)\")).join(\" \")}_updateSearchPosition(){if(this._searchPositionLocked)return;const e=this.shadowRoot?.querySelector(\".search\"),t=e?.querySelector(\".search-field\");e&&t&&(e.style.justifyContent=\"center\",t.style.marginLeft=\"\",requestAnimationFrame((()=>{const i=e.getBoundingClientRect(),o=t.getBoundingClientRect().left-i.left;e.style.justifyContent=\"flex-start\",t.style.marginLeft=`${o}px`,this._searchPositionLocked=!0})))}_toggleColumnPicker(){this._columnPickerOpen=!this._columnPickerOpen}_toggleColumn(e){this._displayedColumns.includes(e)?this._displayedColumns=this._displayedColumns.filter((t=>t!==e)):this._displayedColumns=[...this._displayedColumns,e]}_handleRowMouseDown(){this._def.rowClickable&&window.getSelection()?.removeAllRanges()}_handleRowClick(e,t){if(!this._def.rowClickable)return;const i=window.getSelection();i&&i.toString().length>0||this.dispatchEvent(new CustomEvent(\"row-click\",{detail:{row:e,rowIndex:t},bubbles:!0,composed:!0}))}getDisplayedColumns(){return this._displayedColumns.map((e=>this._def.columns.find((t=>t.id===e)))).sort(((e,t)=>\"actions\"===e.type&&\"actions\"!==t.type?1:\"actions\"!==e.type&&\"actions\"===t.type?-1:0))}_handleScroll(e){const t=e.target;this._canScrollLeft=t.scrollLeft>0,this._canScrollRight=t.scrollLeft<t.scrollWidth-t.clientWidth-1}_updateScrollFlags(){const e=this.shadowRoot?.querySelector(\".content\");e&&(this._canScrollLeft=e.scrollLeft>0,this._canScrollRight=e.scrollWidth>e.clientWidth&&e.scrollLeft<e.scrollWidth-e.clientWidth-1,this._canScrollHorizontal=e.scrollWidth>e.clientWidth),this.classList.toggle(\"kr-table--scroll-left-available\",this._canScrollLeft),this.classList.toggle(\"kr-table--scroll-right-available\",this._canScrollRight),this.classList.toggle(\"kr-table--scroll-horizontal-available\",this._canScrollHorizontal),this.classList.toggle(\"kr-table--sticky-left\",this.getDisplayedColumns().some((e=>\"left\"===e.sticky))),this.classList.toggle(\"kr-table--sticky-right\",this.getDisplayedColumns().some((e=>\"right\"===e.sticky)))}_handleResizeStart(e,t){e.preventDefault();const i=this.shadowRoot?.querySelector(`.header-cell[data-column-id=\"${t}\"]`);this._resizing={columnId:t,startX:e.clientX,startWidth:i?.offsetWidth||200},document.addEventListener(\"mousemove\",this._handleResizeMove),document.addEventListener(\"mouseup\",this._handleResizeEnd)}_handleAction(e){e.href||this.dispatchEvent(new CustomEvent(\"action\",{detail:{action:e.id},bubbles:!0,composed:!0}))}_renderCellContent(e,t,i){const o=t[e.id];if(e.render)return H`<slot name=\"cell-${i}-${e.id}\"></slot>`;if(null==o)return\"\";switch(e.type){case\"number\":return\"number\"==typeof o?o.toLocaleString():String(o);case\"currency\":return\"number\"==typeof o?o.toLocaleString(\"en-US\",{style:\"currency\",currency:\"USD\"}):String(o);case\"date\":{let e;if(o instanceof Date)e=o;else if(\"string\"==typeof o&&/^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}/.test(o)){const t=o.replace(/(\\d{2}:\\d{2}:\\d{2}):(\\d+)$/,\"$1.$2\").replace(\" \",\"T\")+\"Z\";e=new Date(t)}else e=new Date(o);return e.toLocaleString(void 0,{year:\"numeric\",month:\"short\",day:\"numeric\",hour:\"numeric\",minute:\"2-digit\"})}case\"boolean\":return!0===o?\"Yes\":!1===o?\"No\":\"\";default:return String(o)}}_getHeaderCellClasses(e,t){return{\"header-cell\":!0,\"header-cell--align-center\":\"center\"===e.align,\"header-cell--align-right\":\"right\"===e.align,\"header-cell--sticky-left\":\"left\"===e.sticky,\"header-cell--sticky-left-last\":\"left\"===e.sticky&&!this.getDisplayedColumns().slice(t+1).some((e=>\"left\"===e.sticky)),\"header-cell--sticky-right\":\"right\"===e.sticky,\"header-cell--sticky-right-first\":\"right\"===e.sticky&&!this.getDisplayedColumns().slice(0,t).some((e=>\"right\"===e.sticky))}}_getCellClasses(e,t){return{cell:!0,\"cell--actions\":\"actions\"===e.type,\"cell--align-center\":\"center\"===e.align,\"cell--align-right\":\"right\"===e.align,\"cell--sticky-left\":\"left\"===e.sticky,\"cell--sticky-left-last\":\"left\"===e.sticky&&!this.getDisplayedColumns().slice(t+1).some((e=>\"left\"===e.sticky)),\"cell--sticky-right\":\"right\"===e.sticky,\"cell--sticky-right-first\":\"right\"===e.sticky&&!this.getDisplayedColumns().slice(0,t).some((e=>\"right\"===e.sticky))}}_getCellStyle(e,t){const i={};if(\"left\"===e.sticky){let e=0;for(let i=0;i<t;i++){const t=this.getDisplayedColumns()[i];\"left\"===t.sticky&&(e+=parseInt(t.width||\"0\",10))}i.left=`${e}px`}if(\"right\"===e.sticky){let e=0;for(let i=t+1;i<this.getDisplayedColumns().length;i++){const t=this.getDisplayedColumns()[i];\"right\"===t.sticky&&(e+=parseInt(t.width||\"0\",10))}i.right=`${e}px`}return i}_renderPagination(){const e=(this._page-1)*this._pageSize+1,t=Math.min(this._page*this._pageSize,this._totalItems);return H` <div class=\"pagination\"> <span class=\"pagination-icon ${1===this._page?\"pagination-icon--disabled\":\"\"}\" @click=${this.goToPrevPage} > <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\"/></svg> </span> <span class=\"pagination-info\">${e}-${t} of ${this._totalItems}</span> <span class=\"pagination-icon ${this._page===this._totalPages?\"pagination-icon--disabled\":\"\"}\" @click=${this.goToNextPage} > <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"/></svg> </span> </div> `}_renderHeader(){return!this._def.title&&!this._def.actions?.length&&this._totalPages<=1?U:H` <div class=\"header\"> <div class=\"title\">${this._def.title??\"\"}</div> ${\"db\"!==this._def.dataSource?.mode||this._def.columns.some((e=>e.searchable))?H` <div class=\"search\"> <!-- TODO: Saved views dropdown <div class=\"views\"> <span>Default View</span> <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z\"/></svg> </div> --> <div class=\"search-field\"> <svg class=\"search-icon\" viewBox=\"0 -960 960 960\" fill=\"currentColor\"><path d=\"M784-120 532-372q-30 24-69 38t-83 14q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l252 252-56 56ZM380-400q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z\"/></svg> <input type=\"text\" class=\"search-input\" placeholder=\"Search...\" .value=${this._searchQuery} @input=${this._handleSearch} /> </div> </div> `:H`<div class=\"search\"></div>`} <div class=\"tools\"> ${this._renderPagination()} <span class=\"refresh\" title=\"Refresh\" @click=${()=>this.refresh()}> <svg viewBox=\"0 -960 960 960\" fill=\"currentColor\"><path d=\"M480-160q-134 0-227-93t-93-227q0-134 93-227t227-93q69 0 132 28.5T720-690v-110h80v280H520v-80h168q-32-56-87.5-88T480-720q-100 0-170 70t-70 170q0 100 70 170t170 70q77 0 139-44t87-116h84q-28 106-114 173t-196 67Z\"/></svg> </span> <div class=\"column-picker-wrapper\"> <span class=\"header-icon\" title=\"Columns\" @click=${this._toggleColumnPicker}> <svg viewBox=\"0 -960 960 960\" fill=\"currentColor\"><path d=\"M121-280v-400q0-33 23.5-56.5T201-760h559q33 0 56.5 23.5T840-680v400q0 33-23.5 56.5T760-200H201q-33 0-56.5-23.5T121-280Zm79 0h133v-400H200v400Zm213 0h133v-400H413v400Zm213 0h133v-400H626v400Z\"/></svg> </span> <div class=\"column-picker ${this._columnPickerOpen?\"open\":\"\"}\"> ${[...this._def.columns].filter((e=>\"actions\"!==e.type)).sort(((e,t)=>(e.label??e.id).localeCompare(t.label??t.id))).map((e=>H` <div class=\"column-picker-item\" @click=${()=>this._toggleColumn(e.id)}> <div class=\"column-picker-checkbox ${this._displayedColumns.includes(e.id)?\"checked\":\"\"}\"> <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"/></svg> </div> <span class=\"column-picker-label\">${e.label??e.id}</span> </div> `))} </div> </div> ${1===this._def.actions?.length?H` <kr-button class=\"actions\" .href=${this._def.actions[0].href} .target=${this._def.actions[0].target} @click=${()=>this._handleAction(this._def.actions[0])} > ${this._def.actions[0].label} </kr-button> `:this._def.actions?.length?H` <kr-button class=\"actions\" .options=${this._def.actions.map((e=>({id:e.id,label:e.label})))} @option-select=${e=>this._handleAction({id:e.detail.id,label:e.detail.label})} > Actions </kr-button> `:U} </div> </div> `}_renderStatus(){return\"loading\"===this._dataState&&0===this._data.length?H`<div class=\"status\">Loading...</div>`:\"error\"===this._dataState&&0===this._data.length?H`<div class=\"status status--error\">Error loading data</div>`:0===this._data.length?H`<div class=\"status\">No data available</div>`:U}_renderTable(){return H` <div class=\"wrapper\"> <div class=\"overlay-left\"></div> <div class=\"overlay-right\"></div> ${this._renderStatus()} <div class=\"content\" @scroll=${this._handleScroll}> <div class=\"table\" style=\"grid-template-columns: ${this._getGridTemplateColumns()}\"> <div class=\"header-row\"> ${this.getDisplayedColumns().map(((e,t)=>H` <div class=${ke(this._getHeaderCellClasses(e,t))} style=${je(this._getCellStyle(e,t))} data-column-id=${e.id} >${e.label??e.id}${!1!==e.resizable?H`<div class=\"header-cell__resize\" @mousedown=${t=>this._handleResizeStart(t,e.id)} ></div>`:U}</div> `))} </div> ${this._data.map(((e,t)=>H` <div class=${ke({row:!0,\"row--clickable\":!!this._def.rowClickable})} @mousedown=${()=>this._handleRowMouseDown()} @click=${()=>this._handleRowClick(e,t)} > ${this.getDisplayedColumns().map(((i,o)=>H` <div class=${ke(this._getCellClasses(i,o))} style=${je(this._getCellStyle(i,o))} data-column-id=${i.id} > ${this._renderCellContent(i,e,t)} </div> `))} </div> `))} </div> </div> </div> `}render(){return this._def.columns.length?H` ${this._renderHeader()} ${this._renderTable()} `:H`<slot></slot>`}}"
|
|
672
|
+
"default": "class extends re{constructor(){super(...arguments),this._scrollStyle=\"overlay\",this._data=[],this._dataState=\"idle\",this._page=1,this._pageSize=50,this._totalItems=0,this._totalPages=0,this._searchQuery=\"\",this._canScrollLeft=!1,this._canScrollRight=!1,this._canScrollHorizontal=!1,this._columnPickerOpen=!1,this._displayedColumns=[],this._resizing=null,this._resizeObserver=null,this._searchPositionLocked=!1,this._def={columns:[]},this.def={columns:[]},this._handleClickOutsideColumnPicker=e=>{if(!this._columnPickerOpen)return;const t=e.composedPath(),i=this.shadowRoot?.querySelector(\".column-picker-wrapper\");i&&!t.includes(i)&&(this._columnPickerOpen=!1)},this._handleResizeMove=e=>{if(!this._resizing)return;const t=this._def.columns.find((e=>e.id===this._resizing.columnId));if(t){const i=this._resizing.startWidth+(e.clientX-this._resizing.startX);t.width=`${Math.min(900,Math.max(50,i))}px`,this.requestUpdate()}},this._handleResizeEnd=()=>{this._resizing=null,document.removeEventListener(\"mousemove\",this._handleResizeMove),document.removeEventListener(\"mouseup\",this._handleResizeEnd)}}connectedCallback(){super.connectedCallback(),this.classList.toggle(\"kr-table--scroll-overlay\",\"overlay\"===this._scrollStyle),this.classList.toggle(\"kr-table--scroll-edge\",\"edge\"===this._scrollStyle),this._fetch(),this._initRefresh(),document.addEventListener(\"click\",this._handleClickOutsideColumnPicker),this._resizeObserver=new ResizeObserver((()=>{this._searchPositionLocked=!1,this._updateSearchPosition()})),this._resizeObserver.observe(this)}disconnectedCallback(){super.disconnectedCallback(),clearInterval(this._refreshTimer),document.removeEventListener(\"click\",this._handleClickOutsideColumnPicker),this._resizeObserver?.disconnect()}willUpdate(e){e.has(\"def\")&&(this._def={...this.def,columns:this.def.columns.map((e=>\"actions\"===e.type?{...e,label:e.label??\"\",sticky:\"right\",resizable:!1}:{...e}))},this._displayedColumns=this._def.displayedColumns||this._def.columns.map((e=>e.id)),this._fetch(),this._initRefresh())}updated(e){this._updateScrollFlags(),this._syncSlottedContent()}_syncSlottedContent(){const e=this.getDisplayedColumns().filter((e=>e.render));e.length&&(this.querySelectorAll('[slot^=\"cell-\"]').forEach((e=>e.remove())),this._data.forEach(((t,i)=>{e.forEach((e=>{const o=e.render(t),s=\"string\"==typeof o?o:\"\";if(s){const t=document.createElement(\"span\");t.slot=`cell-${i}-${e.id}`,\"actions\"===e.type&&(t.style.display=\"flex\",t.style.gap=\"8px\"),t.innerHTML=s,this.appendChild(t)}}))})))}refresh(){this._fetch()}goToPrevPage(){this._page>1&&(this._page--,this._fetch())}goToNextPage(){this._page<this._totalPages&&(this._page++,this._fetch())}goToPage(e){e>=1&&e<=this._totalPages&&(this._page=e,this._fetch())}_fetch(){if(!this._def.dataSource)return;let e;switch(this._dataState=\"loading\",this._def.dataSource.mode){case\"opensearch\":throw Error(\"Opensearch not supported yet\");case\"db\":e={page:this._page-1,size:this._pageSize,sorts:[],filterFields:[],queryFields:[],facetFields:[]},this._searchQuery?.trim().length&&this._def.columns.filter((e=>e.searchable)).forEach((t=>{e.queryFields.push({name:t.id,operation:\"CONTAINS\",value:this._searchQuery,and:!1})}));break;default:e={page:this._page-1,size:this._pageSize,sorts:[],filterFields:[],queryFields:[],facetFields:[]},this._searchQuery?.trim().length&&e.queryFields.push({name:\"_text_\",operation:\"IS\",value:Ge(this._searchQuery)})}this._def.dataSource.fetch(e).then((e=>{switch(this._def.dataSource?.mode){case\"opensearch\":throw Error(\"Opensearch not supported yet\");case\"db\":{const t=e;this._data=t.data.content,this._totalItems=t.data.totalElements,this._totalPages=t.data.totalPages,this._pageSize=t.data.size;break}default:{const t=e;this._data=t.data.content,this._totalItems=t.data.totalElements,this._totalPages=t.data.totalPages,this._pageSize=t.data.size}}this._dataState=\"success\",this._updateSearchPosition()})).catch((e=>{this._dataState=\"error\",Ne.show({message:e instanceof Error?e.message:\"Failed to load data\",type:\"error\"})}))}_initRefresh(){clearInterval(this._refreshTimer),this._def.refreshInterval&&this._def.refreshInterval>0&&(this._refreshTimer=window.setInterval((()=>{this._fetch()}),this._def.refreshInterval))}_handleSearch(e){const t=e.target;this._searchQuery=t.value,this._page=1,this._fetch()}_getGridTemplateColumns(){return this.getDisplayedColumns().map((e=>e.width?e.width:\"actions\"===e.type?\"max-content\":\"minmax(80px, auto)\")).join(\" \")}_updateSearchPosition(){if(this._searchPositionLocked)return;const e=this.shadowRoot?.querySelector(\".search\"),t=e?.querySelector(\".search-field\");e&&t&&(e.style.justifyContent=\"center\",t.style.marginLeft=\"\",requestAnimationFrame((()=>{const i=e.getBoundingClientRect(),o=t.getBoundingClientRect().left-i.left;e.style.justifyContent=\"flex-start\",t.style.marginLeft=`${o}px`,this._searchPositionLocked=!0})))}_toggleColumnPicker(){this._columnPickerOpen=!this._columnPickerOpen}_toggleColumn(e){this._displayedColumns.includes(e)?this._displayedColumns=this._displayedColumns.filter((t=>t!==e)):this._displayedColumns=[...this._displayedColumns,e]}_handleRowMouseDown(){this._def.rowClickable&&window.getSelection()?.removeAllRanges()}_handleRowClick(e,t){if(!this._def.rowClickable)return;const i=window.getSelection();i&&i.toString().length>0||this.dispatchEvent(new CustomEvent(\"row-click\",{detail:{row:e,rowIndex:t},bubbles:!0,composed:!0}))}getDisplayedColumns(){return this._displayedColumns.map((e=>this._def.columns.find((t=>t.id===e)))).sort(((e,t)=>\"actions\"===e.type&&\"actions\"!==t.type?1:\"actions\"!==e.type&&\"actions\"===t.type?-1:0))}_handleScroll(e){const t=e.target;this._canScrollLeft=t.scrollLeft>0,this._canScrollRight=t.scrollLeft<t.scrollWidth-t.clientWidth-1}_updateScrollFlags(){const e=this.shadowRoot?.querySelector(\".content\");e&&(this._canScrollLeft=e.scrollLeft>0,this._canScrollRight=e.scrollWidth>e.clientWidth&&e.scrollLeft<e.scrollWidth-e.clientWidth-1,this._canScrollHorizontal=e.scrollWidth>e.clientWidth),this.classList.toggle(\"kr-table--scroll-left-available\",this._canScrollLeft),this.classList.toggle(\"kr-table--scroll-right-available\",this._canScrollRight),this.classList.toggle(\"kr-table--scroll-horizontal-available\",this._canScrollHorizontal),this.classList.toggle(\"kr-table--sticky-left\",this.getDisplayedColumns().some((e=>\"left\"===e.sticky))),this.classList.toggle(\"kr-table--sticky-right\",this.getDisplayedColumns().some((e=>\"right\"===e.sticky)))}_handleResizeStart(e,t){e.preventDefault();const i=this.shadowRoot?.querySelector(`.header-cell[data-column-id=\"${t}\"]`);this._resizing={columnId:t,startX:e.clientX,startWidth:i?.offsetWidth||200},document.addEventListener(\"mousemove\",this._handleResizeMove),document.addEventListener(\"mouseup\",this._handleResizeEnd)}_handleAction(e){e.href||this.dispatchEvent(new CustomEvent(\"action\",{detail:{action:e.id},bubbles:!0,composed:!0}))}_renderCellContent(e,t,i){const o=t[e.id];if(e.render)return B`<slot name=\"cell-${i}-${e.id}\"></slot>`;if(null==o)return\"\";switch(e.type){case\"number\":return\"number\"==typeof o?o.toLocaleString():String(o);case\"currency\":return\"number\"==typeof o?o.toLocaleString(\"en-US\",{style:\"currency\",currency:\"USD\"}):String(o);case\"date\":{let e;if(o instanceof Date)e=o;else if(\"string\"==typeof o&&/^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}/.test(o)){const t=o.replace(/(\\d{2}:\\d{2}:\\d{2}):(\\d+)$/,\"$1.$2\").replace(\" \",\"T\")+\"Z\";e=new Date(t)}else e=new Date(o);return e.toLocaleString(void 0,{year:\"numeric\",month:\"short\",day:\"numeric\",hour:\"numeric\",minute:\"2-digit\"})}case\"boolean\":return!0===o?\"Yes\":!1===o?\"No\":\"\";default:return String(o)}}_getHeaderCellClasses(e,t){return{\"header-cell\":!0,\"header-cell--align-center\":\"center\"===e.align,\"header-cell--align-right\":\"right\"===e.align,\"header-cell--sticky-left\":\"left\"===e.sticky,\"header-cell--sticky-left-last\":\"left\"===e.sticky&&!this.getDisplayedColumns().slice(t+1).some((e=>\"left\"===e.sticky)),\"header-cell--sticky-right\":\"right\"===e.sticky,\"header-cell--sticky-right-first\":\"right\"===e.sticky&&!this.getDisplayedColumns().slice(0,t).some((e=>\"right\"===e.sticky))}}_getCellClasses(e,t){return{cell:!0,\"cell--actions\":\"actions\"===e.type,\"cell--align-center\":\"center\"===e.align,\"cell--align-right\":\"right\"===e.align,\"cell--sticky-left\":\"left\"===e.sticky,\"cell--sticky-left-last\":\"left\"===e.sticky&&!this.getDisplayedColumns().slice(t+1).some((e=>\"left\"===e.sticky)),\"cell--sticky-right\":\"right\"===e.sticky,\"cell--sticky-right-first\":\"right\"===e.sticky&&!this.getDisplayedColumns().slice(0,t).some((e=>\"right\"===e.sticky))}}_getCellStyle(e,t){const i={};if(\"left\"===e.sticky){let e=0;for(let i=0;i<t;i++){const t=this.getDisplayedColumns()[i];\"left\"===t.sticky&&(e+=parseInt(t.width||\"0\",10))}i.left=`${e}px`}if(\"right\"===e.sticky){let e=0;for(let i=t+1;i<this.getDisplayedColumns().length;i++){const t=this.getDisplayedColumns()[i];\"right\"===t.sticky&&(e+=parseInt(t.width||\"0\",10))}i.right=`${e}px`}return i}_renderPagination(){const e=(this._page-1)*this._pageSize+1,t=Math.min(this._page*this._pageSize,this._totalItems);return B` <div class=\"pagination\"> <span class=\"pagination-icon ${1===this._page?\"pagination-icon--disabled\":\"\"}\" @click=${this.goToPrevPage} > <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\"/></svg> </span> <span class=\"pagination-info\">${e}-${t} of ${this._totalItems}</span> <span class=\"pagination-icon ${this._page===this._totalPages?\"pagination-icon--disabled\":\"\"}\" @click=${this.goToNextPage} > <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"/></svg> </span> </div> `}_renderHeader(){return!this._def.title&&!this._def.actions?.length&&this._totalPages<=1?U:B` <div class=\"header\"> <div class=\"title\">${this._def.title??\"\"}</div> ${\"db\"!==this._def.dataSource?.mode||this._def.columns.some((e=>e.searchable))?B` <div class=\"search\"> <!-- TODO: Saved views dropdown <div class=\"views\"> <span>Default View</span> <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z\"/></svg> </div> --> <div class=\"search-field\"> <svg class=\"search-icon\" viewBox=\"0 -960 960 960\" fill=\"currentColor\"><path d=\"M784-120 532-372q-30 24-69 38t-83 14q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l252 252-56 56ZM380-400q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z\"/></svg> <input type=\"text\" class=\"search-input\" placeholder=\"Search...\" .value=${this._searchQuery} @input=${this._handleSearch} /> </div> </div> `:B`<div class=\"search\"></div>`} <div class=\"tools\"> ${this._renderPagination()} <span class=\"refresh\" title=\"Refresh\" @click=${()=>this.refresh()}> <svg viewBox=\"0 -960 960 960\" fill=\"currentColor\"><path d=\"M480-160q-134 0-227-93t-93-227q0-134 93-227t227-93q69 0 132 28.5T720-690v-110h80v280H520v-80h168q-32-56-87.5-88T480-720q-100 0-170 70t-70 170q0 100 70 170t170 70q77 0 139-44t87-116h84q-28 106-114 173t-196 67Z\"/></svg> </span> <div class=\"column-picker-wrapper\"> <span class=\"header-icon\" title=\"Columns\" @click=${this._toggleColumnPicker}> <svg viewBox=\"0 -960 960 960\" fill=\"currentColor\"><path d=\"M121-280v-400q0-33 23.5-56.5T201-760h559q33 0 56.5 23.5T840-680v400q0 33-23.5 56.5T760-200H201q-33 0-56.5-23.5T121-280Zm79 0h133v-400H200v400Zm213 0h133v-400H413v400Zm213 0h133v-400H626v400Z\"/></svg> </span> <div class=\"column-picker ${this._columnPickerOpen?\"open\":\"\"}\"> ${[...this._def.columns].filter((e=>\"actions\"!==e.type)).sort(((e,t)=>(e.label??e.id).localeCompare(t.label??t.id))).map((e=>B` <div class=\"column-picker-item\" @click=${()=>this._toggleColumn(e.id)}> <div class=\"column-picker-checkbox ${this._displayedColumns.includes(e.id)?\"checked\":\"\"}\"> <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"/></svg> </div> <span class=\"column-picker-label\">${e.label??e.id}</span> </div> `))} </div> </div> ${1===this._def.actions?.length?B` <kr-button class=\"actions\" .href=${this._def.actions[0].href} .target=${this._def.actions[0].target} @click=${()=>this._handleAction(this._def.actions[0])} > ${this._def.actions[0].label} </kr-button> `:this._def.actions?.length?B` <kr-button class=\"actions\" .options=${this._def.actions.map((e=>({id:e.id,label:e.label})))} @option-select=${e=>this._handleAction({id:e.detail.id,label:e.detail.label})} > Actions </kr-button> `:U} </div> </div> `}_renderStatus(){return\"loading\"===this._dataState&&0===this._data.length?B`<div class=\"status\">Loading...</div>`:\"error\"===this._dataState&&0===this._data.length?B`<div class=\"status status--error\">Error loading data</div>`:0===this._data.length?B`<div class=\"status\">No data available</div>`:U}_renderTable(){return B` <div class=\"wrapper\"> <div class=\"overlay-left\"></div> <div class=\"overlay-right\"></div> ${this._renderStatus()} <div class=\"content\" @scroll=${this._handleScroll}> <div class=\"table\" style=\"grid-template-columns: ${this._getGridTemplateColumns()}\"> <div class=\"header-row\"> ${this.getDisplayedColumns().map(((e,t)=>B` <div class=${ke(this._getHeaderCellClasses(e,t))} style=${je(this._getCellStyle(e,t))} data-column-id=${e.id} >${e.label??e.id}${!1!==e.resizable?B`<div class=\"header-cell__resize\" @mousedown=${t=>this._handleResizeStart(t,e.id)} ></div>`:U}</div> `))} </div> ${this._data.map(((e,t)=>B` <div class=${ke({row:!0,\"row--clickable\":!!this._def.rowClickable})} @mousedown=${()=>this._handleRowMouseDown()} @click=${()=>this._handleRowClick(e,t)} > ${this.getDisplayedColumns().map(((i,o)=>B` <div class=${ke(this._getCellClasses(i,o))} style=${je(this._getCellStyle(i,o))} data-column-id=${i.id} > ${this._renderCellContent(i,e,t)} </div> `))} </div> `))} </div> </div> </div> `}render(){return this._def.columns.length?B` ${this._renderHeader()} ${this._renderTable()} `:B`<slot></slot>`}}"
|
|
630
673
|
},
|
|
631
674
|
{
|
|
632
675
|
"kind": "variable",
|
|
633
676
|
"name": "tt",
|
|
634
|
-
"default": "class extends re{constructor(){super(...arguments),this.size=\"md\",this.color=\"dark\"}render(){var e=\"\",t=\"\";return e=\"sm\"==this.size?\"16px\":\"md\"==this.size?\"24px\":\"lg\"==this.size?\"32px\":\"xl\"==this.size?\"48px\":this.size,t=\"dark\"==this.color?\"#163052\":\"light\"==this.color?\"#ffffff\":this.color,
|
|
677
|
+
"default": "class extends re{constructor(){super(...arguments),this.size=\"md\",this.color=\"dark\"}render(){var e=\"\",t=\"\";return e=\"sm\"==this.size?\"16px\":\"md\"==this.size?\"24px\":\"lg\"==this.size?\"32px\":\"xl\"==this.size?\"48px\":this.size,t=\"dark\"==this.color?\"#163052\":\"light\"==this.color?\"#ffffff\":this.color,B` <svg class=\"spinner\" style=${`width: ${e}; height: ${e}; color: ${t}`} viewBox=\"0 0 44 44\" role=\"status\" aria-label=\"Loading\" > <circle class=\"circle\" cx=\"22\" cy=\"22\" r=\"20\" fill=\"none\" stroke-width=\"4\" /> </svg> `}}"
|
|
635
678
|
},
|
|
636
679
|
{
|
|
637
680
|
"kind": "variable",
|
|
638
681
|
"name": "ot",
|
|
639
|
-
"default": "class extends re{constructor(){super(...arguments),this.color=\"dark\"}render(){let e=\"\",t=\"\";return e=\"dark\"===this.color?\"#163052\":\"light\"===this.color?\"#ffffff\":this.color,t=this.trackColor?this.trackColor:\"light\"===this.color?\"#ffffff4d\":\"#0000001a\",
|
|
682
|
+
"default": "class extends re{constructor(){super(...arguments),this.color=\"dark\"}render(){let e=\"\",t=\"\";return e=\"dark\"===this.color?\"#163052\":\"light\"===this.color?\"#ffffff\":this.color,t=this.trackColor?this.trackColor:\"light\"===this.color?\"#ffffff4d\":\"#0000001a\",B` <div class=\"progress-bar\" style=${`background: ${t}`} role=\"status\" aria-label=\"Loading\" > <div class=\"fill\" style=${`background: ${e}`}></div> </div> `}}"
|
|
683
|
+
},
|
|
684
|
+
{
|
|
685
|
+
"kind": "variable",
|
|
686
|
+
"name": "lt"
|
|
640
687
|
},
|
|
641
688
|
{
|
|
642
689
|
"kind": "variable",
|
|
643
690
|
"name": "at",
|
|
644
|
-
"default": "class extends re{constructor(){super(),this.
|
|
691
|
+
"default": "class extends re{constructor(){super(...arguments),this.files=[],this.emptyMessage=\"No files\"}_handleFileClick(e){this.dispatchEvent(new CustomEvent(\"file-click\",{bubbles:!0,composed:!0,detail:{file:e}})),e.url&<.open({src:e.url,name:e.name})}_handleDownload(e){this.dispatchEvent(new CustomEvent(\"download\",{bubbles:!0,composed:!0,detail:{file:e}})),e.url&&fetch(e.url).then((e=>e.blob())).then((t=>{const i=URL.createObjectURL(t),o=document.createElement(\"a\");o.href=i,o.download=e.name||\"file\",o.click(),URL.revokeObjectURL(i)}))}_handleDelete(e){this.dispatchEvent(new CustomEvent(\"delete\",{bubbles:!0,composed:!0,detail:{file:e}}))}_getExtension(e){return e.split(\".\").pop()?.toLowerCase()||\"\"}_getExtClass(e){return[\"pdf\"].includes(e)?\"file-list__ext--pdf\":[\"doc\",\"docx\",\"rtf\",\"txt\"].includes(e)?\"file-list__ext--doc\":[\"xls\",\"xlsx\",\"csv\"].includes(e)?\"file-list__ext--xls\":[\"zip\",\"rar\",\"7z\",\"gz\",\"tar\"].includes(e)?\"file-list__ext--zip\":[\"jpg\",\"jpeg\",\"png\",\"gif\",\"webp\",\"svg\",\"bmp\"].includes(e)?\"file-list__ext--img\":\"file-list__ext--default\"}_getExtIcon(e){return[\"jpg\",\"jpeg\",\"png\",\"gif\",\"webp\",\"svg\",\"bmp\"].includes(e)?B`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4.86 8.86-3 3.87L9 13.14 6 17h12l-3.86-5.14z\"/></svg>`:[\"pdf\"].includes(e)?B`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M20 2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-8.5 7.5c0 .83-.67 1.5-1.5 1.5H9v2H7.5V7H10c.83 0 1.5.67 1.5 1.5v1zm5 2c0 .83-.67 1.5-1.5 1.5h-2.5V7H15c.83 0 1.5.67 1.5 1.5v3zm4-3H19v1h1.5V11H19v2h-1.5V7h3v1.5zM9 9.5h1v-1H9v1zM4 6H2v14c0 1.1.9 2 2 2h14v-2H4V6zm10 5.5h1v-3h-1v3z\"/></svg>`:[\"doc\",\"docx\",\"rtf\",\"txt\"].includes(e)?B`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6zm2-6h8v2H8v-2zm0-4h8v2H8v-2zm0 8h5v2H8v-2z\"/></svg>`:[\"xls\",\"xlsx\",\"csv\"].includes(e)?B`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 2v3H5V5h14zm0 5v4H5v-4h14zM5 19v-3h14v3H5zm2-8h4v2H7v-2zm0 5h4v2H7v-2z\"/></svg>`:[\"zip\",\"rar\",\"7z\",\"gz\",\"tar\"].includes(e)?B`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M20 6h-8l-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V6h5.17l2 2H20v10zm-8-4h2v2h-2v-2zm0-4h2v2h-2v-2zm-2 2h2v2h-2v-2z\"/></svg>`:B`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zm4 18H6V4h7v5h5v11z\"/></svg>`}render(){return this.files.length?B` <div class=\"file-list\"> ${this.files.map((e=>{const t=this._getExtension(e.name),i=e.meta||e.date||\"\";return B` <div class=\"file-list__item\"> <div class=\"file-list__ext ${this._getExtClass(t)}\">${this._getExtIcon(t)}</div> <div class=\"file-list__info\"> <a class=\"file-list__name\" @click=${()=>this._handleFileClick(e)}>${e.name}</a> ${i?B`<div class=\"file-list__meta\">${i}</div>`:\"\"} </div> <div class=\"file-list__actions\"> <svg class=\"file-list__action\" @click=${()=>this._handleDownload(e)} xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" title=\"Download\"><path d=\"M19 9h-4V3H9v6H5l7 7 7-7zm-8 2V5h2v6h1.17L12 13.17 9.83 11H11zm-6 7h14v2H5v-2z\"/></svg> <svg class=\"file-list__action file-list__action--delete\" @click=${()=>this._handleDelete(e)} xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" title=\"Delete\"><path d=\"M16 9v10H8V9h8m-1.5-6h-5l-1 1H5v2h14V4h-3.5l-1-1zM18 7H6v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7z\"/></svg> </div> </div> `}))} </div> `:B`<div class=\"file-list__empty\">${this.emptyMessage}</div>`}}"
|
|
692
|
+
},
|
|
693
|
+
{
|
|
694
|
+
"kind": "variable",
|
|
695
|
+
"name": "ut",
|
|
696
|
+
"default": "class extends re{constructor(){super(),this.label=\"\",this.name=\"\",this.value=\"\",this.placeholder=\"\",this.type=\"text\",this.required=!1,this.disabled=!1,this.readonly=!1,this.autocomplete=\"\",this.hint=\"\",this._touched=!1,this._dirty=!1,this._handleInvalid=e=>{e.preventDefault(),this._touched=!0},this._internals=this.attachInternals()}get form(){return this._internals.form}get validity(){return this._internals.validity}get validationMessage(){return this._internals.validationMessage}get willValidate(){return this._internals.willValidate}checkValidity(){return this._internals.checkValidity()}reportValidity(){return this._internals.reportValidity()}formResetCallback(){this.value=\"\",this._touched=!1,this._dirty=!1,this._internals.setFormValue(\"\"),this._internals.setValidity({})}formStateRestoreCallback(e){this.value=e}connectedCallback(){super.connectedCallback(),this.addEventListener(\"invalid\",this._handleInvalid)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(\"invalid\",this._handleInvalid)}firstUpdated(){this._updateValidity()}updated(e){(e.has(\"required\")||e.has(\"value\"))&&this._updateValidity()}_updateValidity(){this._input&&this._internals.setValidity(this._input.validity,this._input.validationMessage)}_handleInput(e){this.value=e.target.value,this._dirty=!0,this._internals.setFormValue(this.value),this._internals.setValidity(this._input.validity,this._input.validationMessage)}_handleChange(e){this.value=e.target.value,this._internals.setFormValue(this.value)}_handleBlur(){this._touched=!0,this._internals.setValidity(this._input.validity,this._input.validationMessage)}render(){let e=\"\";return this._touched&&this._input&&!this._input.validity.valid&&(e=this._input.validationMessage),B` <div class=\"wrapper\"> ${this.label?B` <label for=\"input\"> ${this.label} ${this.required?B`<span class=\"required\" aria-hidden=\"true\">*</span>`:\"\"} </label> `:\"\"} <input id=\"input\" class=${ke({\"input--invalid\":this._touched&&this._input&&!this._input.validity.valid})} type=${this.type} name=${this.name} .value=${ht(this.value)} placeholder=${this.placeholder} ?required=${this.required} ?disabled=${this.disabled} ?readonly=${this.readonly} minlength=${dt(this.minlength)} maxlength=${dt(this.maxlength)} pattern=${dt(this.pattern)} autocomplete=${dt(this.autocomplete||void 0)} @input=${this._handleInput} @change=${this._handleChange} @blur=${this._handleBlur} /> ${e?B`<div class=\"validation-message\">${e}</div>`:this.hint?B`<div class=\"hint\">${this.hint}</div>`:\"\"} </div> `}focus(){this._input?.focus()}blur(){this._input?.blur()}select(){this._input?.select()}}"
|
|
645
697
|
},
|
|
646
698
|
{
|
|
647
699
|
"kind": "variable",
|
|
648
|
-
"name": "
|
|
649
|
-
"default": "class extends re{constructor(){super(),this.label=\"\",this.name=\"\",this.value=\"\",this.placeholder=\"Select an option\",this.disabled=!1,this.required=!1,this.readonly=!1,this.hint=\"\",this._isOpen=!1,this._highlightedIndex=-1,this._touched=!1,this._handleInvalid=e=>{e.preventDefault(),this._touched=!0},this._handleOutsideClick=e=>{e.composedPath().includes(this)||this._close()},this._handleKeyDown=e=>{if(!this._isOpen)return;const t=Array.from(this.querySelectorAll(\"kr-select-option\"));switch(e.key){case\"Escape\":this._close(),this._triggerElement?.focus();break;case\"ArrowDown\":if(e.preventDefault(),t.some((e=>!e.disabled))){let e=this._highlightedIndex+1;for(;e<t.length&&t[e]?.disabled;)e++;e<t.length&&(this._highlightedIndex=e)}break;case\"ArrowUp\":e.preventDefault();{let e=this._highlightedIndex-1;for(;e>=0&&t[e]?.disabled;)e--;e>=0&&(this._highlightedIndex=e)}break;case\"Enter\":e.preventDefault(),this._highlightedIndex>=0&&this._highlightedIndex<t.length&&this._selectOption(t[this._highlightedIndex])}},this._internals=this.attachInternals()}get form(){return this._internals.form}get validity(){return this._internals.validity}get validationMessage(){return this._internals.validationMessage}get willValidate(){return this._internals.willValidate}checkValidity(){return this._internals.checkValidity()}reportValidity(){return this._internals.reportValidity()}formResetCallback(){this.value=\"\",this._touched=!1,this._internals.setFormValue(\"\"),this._internals.setValidity({})}formStateRestoreCallback(e){this.value=e}connectedCallback(){super.connectedCallback(),document.addEventListener(\"click\",this._handleOutsideClick),document.addEventListener(\"keydown\",this._handleKeyDown),this.addEventListener(\"invalid\",this._handleInvalid)}firstUpdated(){this._updateValidity()}updated(e){(e.has(\"required\")||e.has(\"value\"))&&this._updateValidity()}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener(\"click\",this._handleOutsideClick),document.removeEventListener(\"keydown\",this._handleKeyDown),this.removeEventListener(\"invalid\",this._handleInvalid)}_toggle(){if(!this.disabled&&!this.readonly)if(this._isOpen)this._close();else{this._isOpen=!0;const e=Array.from(this.querySelectorAll(\"kr-select-option\"));this._highlightedIndex=e.findIndex((e=>e.value===this.value)),requestAnimationFrame((()=>{const e=this.shadowRoot?.querySelector(\".select-dropdown\");if(e){const t=this._triggerElement.getBoundingClientRect(),i=window.innerHeight-t.bottom-4-8;e.style.top=t.bottom+4+\"px\",e.style.left=t.left+\"px\",e.style.width=t.width+\"px\",e.style.maxHeight=i+\"px\"}}))}}_close(){this._isOpen=!1,this._highlightedIndex=-1}_selectOption(e){e.disabled||(this.value=e.value,this._internals.setFormValue(this.value),this._updateValidity(),this.dispatchEvent(new Event(\"change\",{bubbles:!0,composed:!0})),this._close(),this._triggerElement?.focus())}_handleBlur(){this._touched=!0,this._updateValidity()}_updateValidity(){this.required&&!this.value?this._internals.setValidity({valueMissing:!0},\"Please select an option\",this._triggerElement):this._internals.setValidity({})}render(){const e=Array.from(this.querySelectorAll(\"kr-select-option\")),t=e.find((e=>e.value===this.value))?.label;return
|
|
700
|
+
"name": "ft",
|
|
701
|
+
"default": "class extends re{constructor(){super(),this.label=\"\",this.name=\"\",this.value=\"\",this.placeholder=\"Select an option\",this.disabled=!1,this.required=!1,this.readonly=!1,this.hint=\"\",this._isOpen=!1,this._highlightedIndex=-1,this._touched=!1,this._handleInvalid=e=>{e.preventDefault(),this._touched=!0},this._handleOutsideClick=e=>{e.composedPath().includes(this)||this._close()},this._handleKeyDown=e=>{if(!this._isOpen)return;const t=Array.from(this.querySelectorAll(\"kr-select-option\"));switch(e.key){case\"Escape\":this._close(),this._triggerElement?.focus();break;case\"ArrowDown\":if(e.preventDefault(),t.some((e=>!e.disabled))){let e=this._highlightedIndex+1;for(;e<t.length&&t[e]?.disabled;)e++;e<t.length&&(this._highlightedIndex=e)}break;case\"ArrowUp\":e.preventDefault();{let e=this._highlightedIndex-1;for(;e>=0&&t[e]?.disabled;)e--;e>=0&&(this._highlightedIndex=e)}break;case\"Enter\":e.preventDefault(),this._highlightedIndex>=0&&this._highlightedIndex<t.length&&this._selectOption(t[this._highlightedIndex])}},this._internals=this.attachInternals()}get form(){return this._internals.form}get validity(){return this._internals.validity}get validationMessage(){return this._internals.validationMessage}get willValidate(){return this._internals.willValidate}checkValidity(){return this._internals.checkValidity()}reportValidity(){return this._internals.reportValidity()}formResetCallback(){this.value=\"\",this._touched=!1,this._internals.setFormValue(\"\"),this._internals.setValidity({})}formStateRestoreCallback(e){this.value=e}connectedCallback(){super.connectedCallback(),document.addEventListener(\"click\",this._handleOutsideClick),document.addEventListener(\"keydown\",this._handleKeyDown),this.addEventListener(\"invalid\",this._handleInvalid)}firstUpdated(){this._updateValidity()}updated(e){(e.has(\"required\")||e.has(\"value\"))&&this._updateValidity()}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener(\"click\",this._handleOutsideClick),document.removeEventListener(\"keydown\",this._handleKeyDown),this.removeEventListener(\"invalid\",this._handleInvalid)}_toggle(){if(!this.disabled&&!this.readonly)if(this._isOpen)this._close();else{this._isOpen=!0;const e=Array.from(this.querySelectorAll(\"kr-select-option\"));this._highlightedIndex=e.findIndex((e=>e.value===this.value)),requestAnimationFrame((()=>{const e=this.shadowRoot?.querySelector(\".select-dropdown\");if(e){const t=this._triggerElement.getBoundingClientRect(),i=window.innerHeight-t.bottom-4-8;e.style.top=t.bottom+4+\"px\",e.style.left=t.left+\"px\",e.style.width=t.width+\"px\",e.style.maxHeight=i+\"px\"}}))}}_close(){this._isOpen=!1,this._highlightedIndex=-1}_selectOption(e){e.disabled||(this.value=e.value,this._internals.setFormValue(this.value),this._updateValidity(),this.dispatchEvent(new Event(\"change\",{bubbles:!0,composed:!0})),this._close(),this._triggerElement?.focus())}_handleBlur(){this._touched=!0,this._updateValidity()}_updateValidity(){this.required&&!this.value?this._internals.setValidity({valueMissing:!0},\"Please select an option\",this._triggerElement):this._internals.setValidity({})}render(){const e=Array.from(this.querySelectorAll(\"kr-select-option\")),t=e.find((e=>e.value===this.value))?.label;return B` <div class=\"wrapper\"> ${this.label?B` <label> ${this.label} ${this.required?B`<span class=\"required\" aria-hidden=\"true\">*</span>`:\"\"} </label> `:U} <div class=\"select-wrapper\"> <button class=${ke({\"select-trigger\":!0,\"select-trigger--open\":this._isOpen,\"select-trigger--invalid\":this._touched&&this.required&&!this.value})} type=\"button\" ?disabled=${this.disabled} aria-haspopup=\"listbox\" aria-expanded=${this._isOpen} @click=${this._toggle} @blur=${this._handleBlur} > <span class=${ke({\"select-value\":!0,\"select-placeholder\":!t})}> ${t||this.placeholder} </span> <svg class=${ke({\"chevron-icon\":!0,\"select-icon\":!0,\"select-icon--open\":this._isOpen})} viewBox=\"0 0 24 24\" fill=\"currentColor\" > <path d=\"M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6z\"/> </svg> </button> <div class=${ke({\"select-dropdown\":!0,hidden:!this._isOpen})} role=\"listbox\"> <div class=\"select-options\"> ${0===e.length?B`<div class=\"select-empty\">No options available</div>`:e.map(((e,t)=>{const i=e.value===this.value;return B` <div class=${ke({\"select-option\":!0,\"select-option--selected\":i,\"select-option--disabled\":e.disabled,\"select-option--highlighted\":t===this._highlightedIndex})} role=\"option\" aria-selected=${i} @click=${()=>this._selectOption(e)} @mouseenter=${()=>this._highlightedIndex=t} > ${e.label} </div> `}))} </div> </div> </div> ${this._touched&&this.required&&!this.value?B`<div class=\"validation-message\">Please select an option</div>`:this.hint?B`<div class=\"hint\">${this.hint}</div>`:\"\"} </div> <div class=\"options-slot\"> <slot @slotchange=${()=>this.requestUpdate()}></slot> </div> `}focus(){this._triggerElement?.focus()}blur(){this._triggerElement?.blur()}}"
|
|
650
702
|
},
|
|
651
703
|
{
|
|
652
704
|
"kind": "variable",
|
|
653
|
-
"name": "
|
|
654
|
-
"default": "class extends re{constructor(){super(...arguments),this.value=\"\",this.disabled=!1}get label(){return this.textContent?.trim()||\"\"}render(){return
|
|
705
|
+
"name": "bt",
|
|
706
|
+
"default": "class extends re{constructor(){super(...arguments),this.value=\"\",this.disabled=!1}get label(){return this.textContent?.trim()||\"\"}render(){return B`<slot></slot>`}}"
|
|
655
707
|
},
|
|
656
708
|
{
|
|
657
709
|
"kind": "variable",
|
|
658
|
-
"name": "
|
|
659
|
-
"default": "class extends re{constructor(){super(),this.label=\"\",this.name=\"\",this.value=\"\",this.placeholder=\"\",this.required=!1,this.disabled=!1,this.readonly=!1,this.rows=3,this.autocomplete=\"\",this.hint=\"\",this._touched=!1,this._dirty=!1,this._handleInvalid=e=>{e.preventDefault(),this._touched=!0},this._internals=this.attachInternals()}get form(){return this._internals.form}get validity(){return this._internals.validity}get validationMessage(){return this._internals.validationMessage}get willValidate(){return this._internals.willValidate}checkValidity(){return this._internals.checkValidity()}reportValidity(){return this._internals.reportValidity()}formResetCallback(){this.value=\"\",this._touched=!1,this._dirty=!1,this._internals.setFormValue(\"\"),this._internals.setValidity({})}formStateRestoreCallback(e){this.value=e}connectedCallback(){super.connectedCallback(),this.addEventListener(\"invalid\",this._handleInvalid)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(\"invalid\",this._handleInvalid)}firstUpdated(){this._updateValidity()}updated(e){(e.has(\"required\")||e.has(\"value\"))&&this._updateValidity()}_updateValidity(){this._textarea&&this._internals.setValidity(this._textarea.validity,this._textarea.validationMessage)}_handleInput(e){this.value=e.target.value,this._dirty=!0,this._internals.setFormValue(this.value),this._internals.setValidity(this._textarea.validity,this._textarea.validationMessage)}_handleChange(e){this.value=e.target.value,this._internals.setFormValue(this.value)}_handleBlur(){this._touched=!0,this._internals.setValidity(this._textarea.validity,this._textarea.validationMessage)}render(){let e=\"\";return this._touched&&this._textarea&&!this._textarea.validity.valid&&(e=this._textarea.validationMessage),
|
|
710
|
+
"name": "yt",
|
|
711
|
+
"default": "class extends re{constructor(){super(),this.label=\"\",this.name=\"\",this.value=\"\",this.placeholder=\"\",this.required=!1,this.disabled=!1,this.readonly=!1,this.rows=3,this.autocomplete=\"\",this.hint=\"\",this._touched=!1,this._dirty=!1,this._handleInvalid=e=>{e.preventDefault(),this._touched=!0},this._internals=this.attachInternals()}get form(){return this._internals.form}get validity(){return this._internals.validity}get validationMessage(){return this._internals.validationMessage}get willValidate(){return this._internals.willValidate}checkValidity(){return this._internals.checkValidity()}reportValidity(){return this._internals.reportValidity()}formResetCallback(){this.value=\"\",this._touched=!1,this._dirty=!1,this._internals.setFormValue(\"\"),this._internals.setValidity({})}formStateRestoreCallback(e){this.value=e}connectedCallback(){super.connectedCallback(),this.addEventListener(\"invalid\",this._handleInvalid)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(\"invalid\",this._handleInvalid)}firstUpdated(){this._updateValidity()}updated(e){(e.has(\"required\")||e.has(\"value\"))&&this._updateValidity()}_updateValidity(){this._textarea&&this._internals.setValidity(this._textarea.validity,this._textarea.validationMessage)}_handleInput(e){this.value=e.target.value,this._dirty=!0,this._internals.setFormValue(this.value),this._internals.setValidity(this._textarea.validity,this._textarea.validationMessage)}_handleChange(e){this.value=e.target.value,this._internals.setFormValue(this.value)}_handleBlur(){this._touched=!0,this._internals.setValidity(this._textarea.validity,this._textarea.validationMessage)}render(){let e=\"\";return this._touched&&this._textarea&&!this._textarea.validity.valid&&(e=this._textarea.validationMessage),B` <div class=\"wrapper\"> ${this.label?B` <label for=\"textarea\"> ${this.label} ${this.required?B`<span class=\"required\" aria-hidden=\"true\">*</span>`:U} </label> `:U} <textarea id=\"textarea\" class=${ke({\"textarea--invalid\":this._touched&&this._textarea&&!this._textarea.validity.valid})} name=${this.name} .value=${ht(this.value)} placeholder=${this.placeholder} ?required=${this.required} ?disabled=${this.disabled} ?readonly=${this.readonly} rows=${this.rows} cols=${dt(this.cols)} minlength=${dt(this.minlength)} maxlength=${dt(this.maxlength)} autocomplete=${dt(this.autocomplete||void 0)} @input=${this._handleInput} @change=${this._handleChange} @blur=${this._handleBlur} ></textarea> ${e?B`<div class=\"validation-message\">${e}</div>`:this.hint?B`<div class=\"hint\">${this.hint}</div>`:U} </div> `}focus(){this._textarea?.focus()}blur(){this._textarea?.blur()}select(){this._textarea?.select()}}"
|
|
660
712
|
},
|
|
661
713
|
{
|
|
662
714
|
"kind": "variable",
|
|
663
|
-
"name": "
|
|
664
|
-
"default": "class extends re{constructor(){super(),this.label=\"\",this.name=\"\",this.value=\"\",this.placeholder=\"\",this.disabled=!1,this.readonly=!1,this.required=!1,this.hint=\"\",this.options=[],this.statusType=\"finished\",this.loadingText=\"Loading...\",this.errorText=\"Error loading options\",this.emptyText=\"No matches found\",this.filteringType=\"auto\",this.highlightMatches=!0,this._isOpen=!1,this._highlightedIndex=-1,this._touched=!1,this._dirty=!1,this._handleDocumentClick=this._onDocumentClick.bind(this),this._internals=this.attachInternals()}connectedCallback(){super.connectedCallback(),document.addEventListener(\"click\",this._handleDocumentClick)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener(\"click\",this._handleDocumentClick)}firstUpdated(){this._updateFormValue()}get form(){return this._internals.form}get validity(){return this._internals.validity}get validationMessage(){return this._internals.validationMessage}checkValidity(){return this._internals.checkValidity()}reportValidity(){return this._internals.reportValidity()}formResetCallback(){this.value=\"\",this._touched=!1,this._dirty=!1,this._isOpen=!1,this._highlightedIndex=-1,this._updateFormValue()}formStateRestoreCallback(e){this.value=e}get _filteredOptions(){if(\"manual\"===this.filteringType||!this.value)return this.options;const e=this.value.toLowerCase(),t=[];for(const i of this.options)if(
|
|
715
|
+
"name": "$t",
|
|
716
|
+
"default": "class extends re{constructor(){super(),this.label=\"\",this.name=\"\",this.value=\"\",this.placeholder=\"\",this.disabled=!1,this.readonly=!1,this.required=!1,this.hint=\"\",this.options=[],this.statusType=\"finished\",this.loadingText=\"Loading...\",this.errorText=\"Error loading options\",this.emptyText=\"No matches found\",this.filteringType=\"auto\",this.highlightMatches=!0,this._isOpen=!1,this._highlightedIndex=-1,this._touched=!1,this._dirty=!1,this._handleDocumentClick=this._onDocumentClick.bind(this),this._internals=this.attachInternals()}connectedCallback(){super.connectedCallback(),document.addEventListener(\"click\",this._handleDocumentClick)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener(\"click\",this._handleDocumentClick)}firstUpdated(){this._updateFormValue()}get form(){return this._internals.form}get validity(){return this._internals.validity}get validationMessage(){return this._internals.validationMessage}checkValidity(){return this._internals.checkValidity()}reportValidity(){return this._internals.reportValidity()}formResetCallback(){this.value=\"\",this._touched=!1,this._dirty=!1,this._isOpen=!1,this._highlightedIndex=-1,this._updateFormValue()}formStateRestoreCallback(e){this.value=e}get _filteredOptions(){if(\"manual\"===this.filteringType||!this.value)return this.options;const e=this.value.toLowerCase(),t=[];for(const i of this.options)if(wt(i)){const o=i.options.filter((t=>{const i=(t.label||t.value).toLowerCase(),o=t.filteringTags?.join(\" \").toLowerCase()||\"\";return i.includes(e)||o.includes(e)}));o.length>0&&t.push({...i,options:o})}else{const o=(i.label||i.value).toLowerCase(),s=i.filteringTags?.join(\" \").toLowerCase()||\"\";(o.includes(e)||s.includes(e))&&t.push(i)}return t}get _flatOptions(){const e=[];for(const t of this._filteredOptions)wt(t)?e.push(...t.options):e.push(t);return e}_updateFormValue(){this._internals.setFormValue(this.value),this.required&&!this.value?this._internals.setValidity({valueMissing:!0},\"This field is required\",this._input):this._internals.setValidity({})}_onInput(e){const t=e.target;this.value=t.value,this._dirty=!0,this._isOpen=!0,this._highlightedIndex=-1,this._updateFormValue(),this.dispatchEvent(new CustomEvent(\"change\",{detail:{value:this.value},bubbles:!0,composed:!0})),\"manual\"===this.filteringType&&this.dispatchEvent(new CustomEvent(\"load-items\",{detail:{filteringText:this.value},bubbles:!0,composed:!0}))}_onFocus(){this._isOpen=!0,\"manual\"===this.filteringType&&this.dispatchEvent(new CustomEvent(\"load-items\",{detail:{filteringText:this.value},bubbles:!0,composed:!0}))}_onBlur(){this._touched=!0,setTimeout((()=>{this._isOpen=!1,this._highlightedIndex=-1}),200),this._updateFormValue()}_onKeyDown(e){const t=this._flatOptions;switch(e.key){case\"ArrowDown\":e.preventDefault(),this._isOpen=!0,this._highlightedIndex=Math.min(this._highlightedIndex+1,t.length-1),this._scrollToHighlighted();break;case\"ArrowUp\":e.preventDefault(),this._highlightedIndex=Math.max(this._highlightedIndex-1,-1),this._scrollToHighlighted();break;case\"Enter\":this._highlightedIndex>=0&&t[this._highlightedIndex]&&(e.preventDefault(),this._selectOption(t[this._highlightedIndex]));break;case\"Escape\":e.preventDefault(),this._isOpen=!1,this._highlightedIndex=-1;break;case\"Tab\":this._isOpen=!1,this._highlightedIndex=-1}}_scrollToHighlighted(){this.updateComplete.then((()=>{const e=this.shadowRoot?.querySelector(\".dropdown\"),t=this.shadowRoot?.querySelector(\".option.is-highlighted\");if(e&&t){const i=e.getBoundingClientRect(),o=t.getBoundingClientRect();(o.bottom>i.bottom||o.top<i.top)&&t.scrollIntoView({block:\"nearest\"})}}))}_selectOption(e){e.disabled||(this.value=e.label||e.value,this._isOpen=!1,this._highlightedIndex=-1,this._dirty=!0,this._updateFormValue(),this.dispatchEvent(new CustomEvent(\"select\",{detail:{value:e.value,selectedOption:e},bubbles:!0,composed:!0})),this.dispatchEvent(new Event(\"change\",{bubbles:!0,composed:!0})))}_handleClear(){this.value=\"\",this._updateFormValue(),this.dispatchEvent(new CustomEvent(\"change\",{detail:{value:\"\"},bubbles:!0,composed:!0})),this._input?.focus()}_onDocumentClick(e){e.composedPath().includes(this)||(this._isOpen=!1)}_highlightMatch(e){if(!this.value||\"manual\"===this.filteringType||!this.highlightMatches)return B`${e}`;const t=this.value.toLowerCase(),i=e.toLowerCase().indexOf(t);if(-1===i)return B`${e}`;const o=e.slice(0,i),s=e.slice(i,i+this.value.length),r=e.slice(i+this.value.length);return B`${o}<span class=\"highlight\">${s}</span>${r}`}_renderOption(e,t){const i=t===this._highlightedIndex;return B` <button class=${ke({option:!0,\"is-highlighted\":i})} type=\"button\" role=\"option\" aria-selected=${i} ?disabled=${e.disabled} @click=${()=>this._selectOption(e)} @mouseenter=${()=>{this._highlightedIndex=t}} > <div class=\"option-content\"> <div class=\"option-label\"> ${this._highlightMatch(e.label||e.value)} ${e.labelTag?B`<span class=\"option-tag\">${e.labelTag}</span>`:U} </div> ${e.description?B`<div class=\"option-description\">${e.description}</div>`:U} ${e.tags&&e.tags.length>0?B` <div class=\"option-tags\"> ${e.tags.map((e=>B`<span class=\"option-tag\">${e}</span>`))} </div> `:U} </div> </button> `}_renderDropdownContent(){if(\"loading\"===this.statusType)return B` <div class=\"status\"> <div class=\"spinner\"></div> ${this.loadingText} </div> `;if(\"error\"===this.statusType)return B` <div class=\"status is-error\"> <svg width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\"> <path d=\"M8.982 1.566a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\" /> </svg> ${this.errorText} </div> `;const e=this._filteredOptions;if(0===e.length)return B`<div class=\"empty\">${this.emptyText}</div>`;let t=0;return B` ${e.map((e=>{if(wt(e)){const i=e.options.map((e=>{const i=this._renderOption(e,t);return t++,i}));return B` <div class=\"group-label\">${e.label}</div> ${i} `}const i=this._renderOption(e,t);return t++,i}))} `}render(){const e=this._touched&&!this.validity.valid;return B` <div class=\"field-wrapper\"> ${this.label?B` <label> ${this.label} ${this.required?B`<span class=\"required\">*</span>`:U} </label> `:U} <div class=\"input-container\"> <div class=\"input-wrapper\"> <input type=\"text\" .value=${ht(this.value)} placeholder=${dt(this.placeholder||void 0)} ?disabled=${this.disabled} ?readonly=${this.readonly} ?required=${this.required} name=${dt(this.name||void 0)} autocomplete=\"off\" role=\"combobox\" aria-autocomplete=\"list\" aria-expanded=${this._isOpen} aria-controls=\"dropdown\" class=${ke({\"input--invalid\":e})} @input=${this._onInput} @blur=${this._onBlur} @focus=${this._onFocus} @keydown=${this._onKeyDown} /> <div class=\"icon-container\"> ${!this.value||this.disabled||this.readonly?\"\":B` <button class=\"clear-button\" type=\"button\" aria-label=\"Clear\" @click=${this._handleClear} > <svg width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\"> <path d=\"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\" /> </svg> </button> `} ${this.value||this.disabled||this.readonly?\"\":B` <svg class=\"search-icon\" fill=\"currentColor\" viewBox=\"0 0 16 16\"> <path d=\"M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z\" /> </svg> `} </div> </div> <div id=\"dropdown\" role=\"listbox\" class=${ke({dropdown:!0,\"is-open\":this._isOpen})} > ${this._renderDropdownContent()} </div> </div> ${e?B`<div class=\"validation-message\">${this.validationMessage}</div>`:this.hint?B`<div class=\"hint\">${this.hint}</div>`:U} </div> `}}"
|
|
665
717
|
}
|
|
666
718
|
],
|
|
667
719
|
"exports": [
|
|
@@ -701,7 +753,7 @@
|
|
|
701
753
|
"kind": "js",
|
|
702
754
|
"name": "KRAutoSuggest",
|
|
703
755
|
"declaration": {
|
|
704
|
-
"name": "
|
|
756
|
+
"name": "$t",
|
|
705
757
|
"module": "dist/krubble-components.bundled.min.js"
|
|
706
758
|
}
|
|
707
759
|
},
|
|
@@ -709,7 +761,7 @@
|
|
|
709
761
|
"kind": "js",
|
|
710
762
|
"name": "KRButton",
|
|
711
763
|
"declaration": {
|
|
712
|
-
"name": "
|
|
764
|
+
"name": "ze",
|
|
713
765
|
"module": "dist/krubble-components.bundled.min.js"
|
|
714
766
|
}
|
|
715
767
|
},
|
|
@@ -717,7 +769,7 @@
|
|
|
717
769
|
"kind": "js",
|
|
718
770
|
"name": "KRCodeDemo",
|
|
719
771
|
"declaration": {
|
|
720
|
-
"name": "
|
|
772
|
+
"name": "Ae",
|
|
721
773
|
"module": "dist/krubble-components.bundled.min.js"
|
|
722
774
|
}
|
|
723
775
|
},
|
|
@@ -725,7 +777,7 @@
|
|
|
725
777
|
"kind": "js",
|
|
726
778
|
"name": "KRContextMenu",
|
|
727
779
|
"declaration": {
|
|
728
|
-
"name": "
|
|
780
|
+
"name": "Te",
|
|
729
781
|
"module": "dist/krubble-components.bundled.min.js"
|
|
730
782
|
}
|
|
731
783
|
},
|
|
@@ -733,7 +785,7 @@
|
|
|
733
785
|
"kind": "js",
|
|
734
786
|
"name": "KRDialog",
|
|
735
787
|
"declaration": {
|
|
736
|
-
"name": "
|
|
788
|
+
"name": "Be",
|
|
737
789
|
"module": "dist/krubble-components.bundled.min.js"
|
|
738
790
|
}
|
|
739
791
|
},
|
|
@@ -741,7 +793,23 @@
|
|
|
741
793
|
"kind": "js",
|
|
742
794
|
"name": "KRDialogRef",
|
|
743
795
|
"declaration": {
|
|
744
|
-
"name": "
|
|
796
|
+
"name": "Ve",
|
|
797
|
+
"module": "dist/krubble-components.bundled.min.js"
|
|
798
|
+
}
|
|
799
|
+
},
|
|
800
|
+
{
|
|
801
|
+
"kind": "js",
|
|
802
|
+
"name": "KRFileList",
|
|
803
|
+
"declaration": {
|
|
804
|
+
"name": "at",
|
|
805
|
+
"module": "dist/krubble-components.bundled.min.js"
|
|
806
|
+
}
|
|
807
|
+
},
|
|
808
|
+
{
|
|
809
|
+
"kind": "js",
|
|
810
|
+
"name": "KRFilePreview",
|
|
811
|
+
"declaration": {
|
|
812
|
+
"name": "lt",
|
|
745
813
|
"module": "dist/krubble-components.bundled.min.js"
|
|
746
814
|
}
|
|
747
815
|
},
|
|
@@ -757,7 +825,7 @@
|
|
|
757
825
|
"kind": "js",
|
|
758
826
|
"name": "KRSelectField",
|
|
759
827
|
"declaration": {
|
|
760
|
-
"name": "
|
|
828
|
+
"name": "ft",
|
|
761
829
|
"module": "dist/krubble-components.bundled.min.js"
|
|
762
830
|
}
|
|
763
831
|
},
|
|
@@ -765,7 +833,7 @@
|
|
|
765
833
|
"kind": "js",
|
|
766
834
|
"name": "KRSelectOption",
|
|
767
835
|
"declaration": {
|
|
768
|
-
"name": "
|
|
836
|
+
"name": "bt",
|
|
769
837
|
"module": "dist/krubble-components.bundled.min.js"
|
|
770
838
|
}
|
|
771
839
|
},
|
|
@@ -789,7 +857,7 @@
|
|
|
789
857
|
"kind": "js",
|
|
790
858
|
"name": "KRTab",
|
|
791
859
|
"declaration": {
|
|
792
|
-
"name": "
|
|
860
|
+
"name": "Xe",
|
|
793
861
|
"module": "dist/krubble-components.bundled.min.js"
|
|
794
862
|
}
|
|
795
863
|
},
|
|
@@ -813,7 +881,7 @@
|
|
|
813
881
|
"kind": "js",
|
|
814
882
|
"name": "KRTextField",
|
|
815
883
|
"declaration": {
|
|
816
|
-
"name": "
|
|
884
|
+
"name": "ut",
|
|
817
885
|
"module": "dist/krubble-components.bundled.min.js"
|
|
818
886
|
}
|
|
819
887
|
},
|
|
@@ -821,7 +889,7 @@
|
|
|
821
889
|
"kind": "js",
|
|
822
890
|
"name": "KRTextareaField",
|
|
823
891
|
"declaration": {
|
|
824
|
-
"name": "
|
|
892
|
+
"name": "yt",
|
|
825
893
|
"module": "dist/krubble-components.bundled.min.js"
|
|
826
894
|
}
|
|
827
895
|
},
|
|
@@ -829,7 +897,7 @@
|
|
|
829
897
|
"kind": "js",
|
|
830
898
|
"name": "krBaseCSS",
|
|
831
899
|
"declaration": {
|
|
832
|
-
"name": "
|
|
900
|
+
"name": "ne",
|
|
833
901
|
"module": "dist/krubble-components.bundled.min.js"
|
|
834
902
|
}
|
|
835
903
|
}
|
|
@@ -1069,6 +1137,38 @@
|
|
|
1069
1137
|
"module": "./progress-bar/progress-bar.js"
|
|
1070
1138
|
}
|
|
1071
1139
|
},
|
|
1140
|
+
{
|
|
1141
|
+
"kind": "js",
|
|
1142
|
+
"name": "KRFileList",
|
|
1143
|
+
"declaration": {
|
|
1144
|
+
"name": "KRFileList",
|
|
1145
|
+
"module": "./file-list/file-list.js"
|
|
1146
|
+
}
|
|
1147
|
+
},
|
|
1148
|
+
{
|
|
1149
|
+
"kind": "js",
|
|
1150
|
+
"name": "KRFile",
|
|
1151
|
+
"declaration": {
|
|
1152
|
+
"name": "KRFile",
|
|
1153
|
+
"module": "./file-list/file-list.js"
|
|
1154
|
+
}
|
|
1155
|
+
},
|
|
1156
|
+
{
|
|
1157
|
+
"kind": "js",
|
|
1158
|
+
"name": "KRFilePreview",
|
|
1159
|
+
"declaration": {
|
|
1160
|
+
"name": "KRFilePreview",
|
|
1161
|
+
"module": "./file-preview/file-preview.js"
|
|
1162
|
+
}
|
|
1163
|
+
},
|
|
1164
|
+
{
|
|
1165
|
+
"kind": "js",
|
|
1166
|
+
"name": "KRFilePreviewOptions",
|
|
1167
|
+
"declaration": {
|
|
1168
|
+
"name": "KRFilePreviewOptions",
|
|
1169
|
+
"module": "./file-preview/file-preview.js"
|
|
1170
|
+
}
|
|
1171
|
+
},
|
|
1072
1172
|
{
|
|
1073
1173
|
"kind": "js",
|
|
1074
1174
|
"name": "KRTextField",
|
|
@@ -1411,6 +1511,49 @@
|
|
|
1411
1511
|
}
|
|
1412
1512
|
]
|
|
1413
1513
|
},
|
|
1514
|
+
{
|
|
1515
|
+
"kind": "javascript-module",
|
|
1516
|
+
"path": "dist/file-list/file-list.js",
|
|
1517
|
+
"declarations": [
|
|
1518
|
+
{
|
|
1519
|
+
"kind": "variable",
|
|
1520
|
+
"name": "KRFileList",
|
|
1521
|
+
"default": "class KRFileList extends LitElement { constructor() { super(...arguments); /** Array of file objects to display */ this.files = []; /** Message displayed when the file list is empty */ this.emptyMessage = 'No files'; } _handleFileClick(file) { this.dispatchEvent(new CustomEvent('file-click', { bubbles: true, composed: true, detail: { file }, })); if (file.url) { KRFilePreview.open({ src: file.url, name: file.name }); } } _handleDownload(file) { this.dispatchEvent(new CustomEvent('download', { bubbles: true, composed: true, detail: { file }, })); if (file.url) { fetch(file.url) .then(response => response.blob()) .then(blob => { const blobUrl = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = blobUrl; a.download = file.name || 'file'; a.click(); URL.revokeObjectURL(blobUrl); }); } } _handleDelete(file) { this.dispatchEvent(new CustomEvent('delete', { bubbles: true, composed: true, detail: { file }, })); } _getExtension(name) { return name.split('.').pop()?.toLowerCase() || ''; } _getExtClass(ext) { if (['pdf'].includes(ext)) { return 'file-list__ext--pdf'; } if (['doc', 'docx', 'rtf', 'txt'].includes(ext)) { return 'file-list__ext--doc'; } if (['xls', 'xlsx', 'csv'].includes(ext)) { return 'file-list__ext--xls'; } if (['zip', 'rar', '7z', 'gz', 'tar'].includes(ext)) { return 'file-list__ext--zip'; } if (['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg', 'bmp'].includes(ext)) { return 'file-list__ext--img'; } return 'file-list__ext--default'; } _getExtIcon(ext) { if (['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg', 'bmp'].includes(ext)) { return html `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4.86 8.86-3 3.87L9 13.14 6 17h12l-3.86-5.14z\"/></svg>`; } if (['pdf'].includes(ext)) { return html `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M20 2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-8.5 7.5c0 .83-.67 1.5-1.5 1.5H9v2H7.5V7H10c.83 0 1.5.67 1.5 1.5v1zm5 2c0 .83-.67 1.5-1.5 1.5h-2.5V7H15c.83 0 1.5.67 1.5 1.5v3zm4-3H19v1h1.5V11H19v2h-1.5V7h3v1.5zM9 9.5h1v-1H9v1zM4 6H2v14c0 1.1.9 2 2 2h14v-2H4V6zm10 5.5h1v-3h-1v3z\"/></svg>`; } if (['doc', 'docx', 'rtf', 'txt'].includes(ext)) { return html `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6zm2-6h8v2H8v-2zm0-4h8v2H8v-2zm0 8h5v2H8v-2z\"/></svg>`; } if (['xls', 'xlsx', 'csv'].includes(ext)) { return html `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 2v3H5V5h14zm0 5v4H5v-4h14zM5 19v-3h14v3H5zm2-8h4v2H7v-2zm0 5h4v2H7v-2z\"/></svg>`; } if (['zip', 'rar', '7z', 'gz', 'tar'].includes(ext)) { return html `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M20 6h-8l-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V6h5.17l2 2H20v10zm-8-4h2v2h-2v-2zm0-4h2v2h-2v-2zm-2 2h2v2h-2v-2z\"/></svg>`; } return html `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zm4 18H6V4h7v5h5v11z\"/></svg>`; } render() { if (!this.files.length) { return html `<div class=\"file-list__empty\">${this.emptyMessage}</div>`; } return html ` <div class=\"file-list\"> ${this.files.map(file => { const ext = this._getExtension(file.name); const metaText = file.meta || file.date || ''; return html ` <div class=\"file-list__item\"> <div class=\"file-list__ext ${this._getExtClass(ext)}\">${this._getExtIcon(ext)}</div> <div class=\"file-list__info\"> <a class=\"file-list__name\" @click=${() => this._handleFileClick(file)}>${file.name}</a> ${metaText ? html `<div class=\"file-list__meta\">${metaText}</div>` : ''} </div> <div class=\"file-list__actions\"> <svg class=\"file-list__action\" @click=${() => this._handleDownload(file)} xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" title=\"Download\"><path d=\"M19 9h-4V3H9v6H5l7 7 7-7zm-8 2V5h2v6h1.17L12 13.17 9.83 11H11zm-6 7h14v2H5v-2z\"/></svg> <svg class=\"file-list__action file-list__action--delete\" @click=${() => this._handleDelete(file)} xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" title=\"Delete\"><path d=\"M16 9v10H8V9h8m-1.5-6h-5l-1 1H5v2h14V4h-3.5l-1-1zM18 7H6v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7z\"/></svg> </div> </div> `; })} </div> `; } }",
|
|
1522
|
+
"description": "A file list component that displays files with extension-based icons,\ndownload/delete actions, and built-in file preview.\n\nClicking a file name opens a full-screen preview via `KRFilePreview.open()`."
|
|
1523
|
+
}
|
|
1524
|
+
],
|
|
1525
|
+
"exports": [
|
|
1526
|
+
{
|
|
1527
|
+
"kind": "js",
|
|
1528
|
+
"name": "KRFileList",
|
|
1529
|
+
"declaration": {
|
|
1530
|
+
"name": "KRFileList",
|
|
1531
|
+
"module": "dist/file-list/file-list.js"
|
|
1532
|
+
}
|
|
1533
|
+
}
|
|
1534
|
+
]
|
|
1535
|
+
},
|
|
1536
|
+
{
|
|
1537
|
+
"kind": "javascript-module",
|
|
1538
|
+
"path": "dist/file-preview/file-preview.js",
|
|
1539
|
+
"declarations": [
|
|
1540
|
+
{
|
|
1541
|
+
"kind": "variable",
|
|
1542
|
+
"name": "KRFilePreview",
|
|
1543
|
+
"description": "A full-screen file preview overlay.\n\nSupports image files with zoom/pan, PDFs via iframe, and a download\nfallback for other file types. Use the static `open()` method to show\nthe preview imperatively."
|
|
1544
|
+
}
|
|
1545
|
+
],
|
|
1546
|
+
"exports": [
|
|
1547
|
+
{
|
|
1548
|
+
"kind": "js",
|
|
1549
|
+
"name": "KRFilePreview",
|
|
1550
|
+
"declaration": {
|
|
1551
|
+
"name": "KRFilePreview",
|
|
1552
|
+
"module": "dist/file-preview/file-preview.js"
|
|
1553
|
+
}
|
|
1554
|
+
}
|
|
1555
|
+
]
|
|
1556
|
+
},
|
|
1414
1557
|
{
|
|
1415
1558
|
"kind": "javascript-module",
|
|
1416
1559
|
"path": "dist/form/index.js",
|
|
@@ -2803,6 +2946,577 @@
|
|
|
2803
2946
|
}
|
|
2804
2947
|
]
|
|
2805
2948
|
},
|
|
2949
|
+
{
|
|
2950
|
+
"kind": "javascript-module",
|
|
2951
|
+
"path": "src/file-list/file-list.ts",
|
|
2952
|
+
"declarations": [
|
|
2953
|
+
{
|
|
2954
|
+
"kind": "class",
|
|
2955
|
+
"description": "A file list component that displays files with extension-based icons,\ndownload/delete actions, and built-in file preview.\n\nClicking a file name opens a full-screen preview via `KRFilePreview.open()`.",
|
|
2956
|
+
"name": "KRFileList",
|
|
2957
|
+
"members": [
|
|
2958
|
+
{
|
|
2959
|
+
"kind": "field",
|
|
2960
|
+
"name": "files",
|
|
2961
|
+
"type": {
|
|
2962
|
+
"text": "KRFile[]"
|
|
2963
|
+
},
|
|
2964
|
+
"default": "[]",
|
|
2965
|
+
"description": "Array of file objects to display",
|
|
2966
|
+
"attribute": "files"
|
|
2967
|
+
},
|
|
2968
|
+
{
|
|
2969
|
+
"kind": "field",
|
|
2970
|
+
"name": "emptyMessage",
|
|
2971
|
+
"type": {
|
|
2972
|
+
"text": "string"
|
|
2973
|
+
},
|
|
2974
|
+
"default": "'No files'",
|
|
2975
|
+
"description": "Message displayed when the file list is empty",
|
|
2976
|
+
"attribute": "empty-message"
|
|
2977
|
+
},
|
|
2978
|
+
{
|
|
2979
|
+
"kind": "method",
|
|
2980
|
+
"name": "_handleFileClick",
|
|
2981
|
+
"privacy": "private",
|
|
2982
|
+
"parameters": [
|
|
2983
|
+
{
|
|
2984
|
+
"name": "file",
|
|
2985
|
+
"type": {
|
|
2986
|
+
"text": "KRFile"
|
|
2987
|
+
}
|
|
2988
|
+
}
|
|
2989
|
+
]
|
|
2990
|
+
},
|
|
2991
|
+
{
|
|
2992
|
+
"kind": "method",
|
|
2993
|
+
"name": "_handleDownload",
|
|
2994
|
+
"privacy": "private",
|
|
2995
|
+
"parameters": [
|
|
2996
|
+
{
|
|
2997
|
+
"name": "file",
|
|
2998
|
+
"type": {
|
|
2999
|
+
"text": "KRFile"
|
|
3000
|
+
}
|
|
3001
|
+
}
|
|
3002
|
+
]
|
|
3003
|
+
},
|
|
3004
|
+
{
|
|
3005
|
+
"kind": "method",
|
|
3006
|
+
"name": "_handleDelete",
|
|
3007
|
+
"privacy": "private",
|
|
3008
|
+
"parameters": [
|
|
3009
|
+
{
|
|
3010
|
+
"name": "file",
|
|
3011
|
+
"type": {
|
|
3012
|
+
"text": "KRFile"
|
|
3013
|
+
}
|
|
3014
|
+
}
|
|
3015
|
+
]
|
|
3016
|
+
},
|
|
3017
|
+
{
|
|
3018
|
+
"kind": "method",
|
|
3019
|
+
"name": "_getExtension",
|
|
3020
|
+
"privacy": "private",
|
|
3021
|
+
"return": {
|
|
3022
|
+
"type": {
|
|
3023
|
+
"text": "string"
|
|
3024
|
+
}
|
|
3025
|
+
},
|
|
3026
|
+
"parameters": [
|
|
3027
|
+
{
|
|
3028
|
+
"name": "name",
|
|
3029
|
+
"type": {
|
|
3030
|
+
"text": "string"
|
|
3031
|
+
}
|
|
3032
|
+
}
|
|
3033
|
+
]
|
|
3034
|
+
},
|
|
3035
|
+
{
|
|
3036
|
+
"kind": "method",
|
|
3037
|
+
"name": "_getExtClass",
|
|
3038
|
+
"privacy": "private",
|
|
3039
|
+
"return": {
|
|
3040
|
+
"type": {
|
|
3041
|
+
"text": "string"
|
|
3042
|
+
}
|
|
3043
|
+
},
|
|
3044
|
+
"parameters": [
|
|
3045
|
+
{
|
|
3046
|
+
"name": "ext",
|
|
3047
|
+
"type": {
|
|
3048
|
+
"text": "string"
|
|
3049
|
+
}
|
|
3050
|
+
}
|
|
3051
|
+
]
|
|
3052
|
+
},
|
|
3053
|
+
{
|
|
3054
|
+
"kind": "method",
|
|
3055
|
+
"name": "_getExtIcon",
|
|
3056
|
+
"privacy": "private",
|
|
3057
|
+
"parameters": [
|
|
3058
|
+
{
|
|
3059
|
+
"name": "ext",
|
|
3060
|
+
"type": {
|
|
3061
|
+
"text": "string"
|
|
3062
|
+
}
|
|
3063
|
+
}
|
|
3064
|
+
]
|
|
3065
|
+
}
|
|
3066
|
+
],
|
|
3067
|
+
"events": [
|
|
3068
|
+
{
|
|
3069
|
+
"name": "file-click",
|
|
3070
|
+
"type": {
|
|
3071
|
+
"text": "CustomEvent"
|
|
3072
|
+
},
|
|
3073
|
+
"description": "Fired when a file name is clicked. Detail: `{ file }`"
|
|
3074
|
+
},
|
|
3075
|
+
{
|
|
3076
|
+
"name": "download",
|
|
3077
|
+
"type": {
|
|
3078
|
+
"text": "CustomEvent"
|
|
3079
|
+
},
|
|
3080
|
+
"description": "Fired when the download icon is clicked. Detail: `{ file }`"
|
|
3081
|
+
},
|
|
3082
|
+
{
|
|
3083
|
+
"name": "delete",
|
|
3084
|
+
"type": {
|
|
3085
|
+
"text": "CustomEvent"
|
|
3086
|
+
},
|
|
3087
|
+
"description": "Fired when the delete icon is clicked. Detail: `{ file }`"
|
|
3088
|
+
}
|
|
3089
|
+
],
|
|
3090
|
+
"attributes": [
|
|
3091
|
+
{
|
|
3092
|
+
"name": "files",
|
|
3093
|
+
"type": {
|
|
3094
|
+
"text": "KRFile[]"
|
|
3095
|
+
},
|
|
3096
|
+
"default": "[]",
|
|
3097
|
+
"description": "Array of file objects to display",
|
|
3098
|
+
"fieldName": "files"
|
|
3099
|
+
},
|
|
3100
|
+
{
|
|
3101
|
+
"name": "empty-message",
|
|
3102
|
+
"type": {
|
|
3103
|
+
"text": "string"
|
|
3104
|
+
},
|
|
3105
|
+
"default": "'No files'",
|
|
3106
|
+
"description": "Message displayed when the file list is empty",
|
|
3107
|
+
"fieldName": "emptyMessage"
|
|
3108
|
+
}
|
|
3109
|
+
],
|
|
3110
|
+
"superclass": {
|
|
3111
|
+
"name": "LitElement",
|
|
3112
|
+
"package": "lit"
|
|
3113
|
+
},
|
|
3114
|
+
"tagName": "kr-file-list",
|
|
3115
|
+
"customElement": true
|
|
3116
|
+
}
|
|
3117
|
+
],
|
|
3118
|
+
"exports": [
|
|
3119
|
+
{
|
|
3120
|
+
"kind": "js",
|
|
3121
|
+
"name": "KRFileList",
|
|
3122
|
+
"declaration": {
|
|
3123
|
+
"name": "KRFileList",
|
|
3124
|
+
"module": "src/file-list/file-list.ts"
|
|
3125
|
+
}
|
|
3126
|
+
},
|
|
3127
|
+
{
|
|
3128
|
+
"kind": "custom-element-definition",
|
|
3129
|
+
"name": "kr-file-list",
|
|
3130
|
+
"declaration": {
|
|
3131
|
+
"name": "KRFileList",
|
|
3132
|
+
"module": "src/file-list/file-list.ts"
|
|
3133
|
+
}
|
|
3134
|
+
}
|
|
3135
|
+
]
|
|
3136
|
+
},
|
|
3137
|
+
{
|
|
3138
|
+
"kind": "javascript-module",
|
|
3139
|
+
"path": "src/file-preview/file-preview.ts",
|
|
3140
|
+
"declarations": [
|
|
3141
|
+
{
|
|
3142
|
+
"kind": "class",
|
|
3143
|
+
"description": "A full-screen file preview overlay.\n\nSupports image files with zoom/pan, PDFs via iframe, and a download\nfallback for other file types. Use the static `open()` method to show\nthe preview imperatively.",
|
|
3144
|
+
"name": "KRFilePreview",
|
|
3145
|
+
"members": [
|
|
3146
|
+
{
|
|
3147
|
+
"kind": "field",
|
|
3148
|
+
"name": "_activePreview",
|
|
3149
|
+
"type": {
|
|
3150
|
+
"text": "KRFilePreview | null"
|
|
3151
|
+
},
|
|
3152
|
+
"privacy": "private",
|
|
3153
|
+
"static": true,
|
|
3154
|
+
"default": "null"
|
|
3155
|
+
},
|
|
3156
|
+
{
|
|
3157
|
+
"kind": "method",
|
|
3158
|
+
"name": "open",
|
|
3159
|
+
"static": true,
|
|
3160
|
+
"return": {
|
|
3161
|
+
"type": {
|
|
3162
|
+
"text": ""
|
|
3163
|
+
}
|
|
3164
|
+
},
|
|
3165
|
+
"parameters": [
|
|
3166
|
+
{
|
|
3167
|
+
"name": "options",
|
|
3168
|
+
"type": {
|
|
3169
|
+
"text": "KRFilePreviewOptions"
|
|
3170
|
+
},
|
|
3171
|
+
"description": "The file source URL and display name"
|
|
3172
|
+
}
|
|
3173
|
+
],
|
|
3174
|
+
"description": "Open a file preview overlay."
|
|
3175
|
+
},
|
|
3176
|
+
{
|
|
3177
|
+
"kind": "field",
|
|
3178
|
+
"name": "_zoom",
|
|
3179
|
+
"type": {
|
|
3180
|
+
"text": "number"
|
|
3181
|
+
},
|
|
3182
|
+
"privacy": "private",
|
|
3183
|
+
"default": "100"
|
|
3184
|
+
},
|
|
3185
|
+
{
|
|
3186
|
+
"kind": "field",
|
|
3187
|
+
"name": "_panX",
|
|
3188
|
+
"type": {
|
|
3189
|
+
"text": "number"
|
|
3190
|
+
},
|
|
3191
|
+
"privacy": "private",
|
|
3192
|
+
"default": "0"
|
|
3193
|
+
},
|
|
3194
|
+
{
|
|
3195
|
+
"kind": "field",
|
|
3196
|
+
"name": "_panY",
|
|
3197
|
+
"type": {
|
|
3198
|
+
"text": "number"
|
|
3199
|
+
},
|
|
3200
|
+
"privacy": "private",
|
|
3201
|
+
"default": "0"
|
|
3202
|
+
},
|
|
3203
|
+
{
|
|
3204
|
+
"kind": "field",
|
|
3205
|
+
"name": "_dragging",
|
|
3206
|
+
"type": {
|
|
3207
|
+
"text": "boolean"
|
|
3208
|
+
},
|
|
3209
|
+
"privacy": "private",
|
|
3210
|
+
"default": "false"
|
|
3211
|
+
},
|
|
3212
|
+
{
|
|
3213
|
+
"kind": "field",
|
|
3214
|
+
"name": "_dragStartX",
|
|
3215
|
+
"type": {
|
|
3216
|
+
"text": "number"
|
|
3217
|
+
},
|
|
3218
|
+
"privacy": "private",
|
|
3219
|
+
"default": "0"
|
|
3220
|
+
},
|
|
3221
|
+
{
|
|
3222
|
+
"kind": "field",
|
|
3223
|
+
"name": "_dragStartY",
|
|
3224
|
+
"type": {
|
|
3225
|
+
"text": "number"
|
|
3226
|
+
},
|
|
3227
|
+
"privacy": "private",
|
|
3228
|
+
"default": "0"
|
|
3229
|
+
},
|
|
3230
|
+
{
|
|
3231
|
+
"kind": "field",
|
|
3232
|
+
"name": "_panStartX",
|
|
3233
|
+
"type": {
|
|
3234
|
+
"text": "number"
|
|
3235
|
+
},
|
|
3236
|
+
"privacy": "private",
|
|
3237
|
+
"default": "0"
|
|
3238
|
+
},
|
|
3239
|
+
{
|
|
3240
|
+
"kind": "field",
|
|
3241
|
+
"name": "_panStartY",
|
|
3242
|
+
"type": {
|
|
3243
|
+
"text": "number"
|
|
3244
|
+
},
|
|
3245
|
+
"privacy": "private",
|
|
3246
|
+
"default": "0"
|
|
3247
|
+
},
|
|
3248
|
+
{
|
|
3249
|
+
"kind": "field",
|
|
3250
|
+
"name": "src",
|
|
3251
|
+
"type": {
|
|
3252
|
+
"text": "string"
|
|
3253
|
+
},
|
|
3254
|
+
"default": "''",
|
|
3255
|
+
"description": "URL of the file to preview",
|
|
3256
|
+
"attribute": "src"
|
|
3257
|
+
},
|
|
3258
|
+
{
|
|
3259
|
+
"kind": "field",
|
|
3260
|
+
"name": "name",
|
|
3261
|
+
"type": {
|
|
3262
|
+
"text": "string"
|
|
3263
|
+
},
|
|
3264
|
+
"default": "''",
|
|
3265
|
+
"description": "Display name shown in the toolbar",
|
|
3266
|
+
"attribute": "name"
|
|
3267
|
+
},
|
|
3268
|
+
{
|
|
3269
|
+
"kind": "field",
|
|
3270
|
+
"name": "_zoomLevel",
|
|
3271
|
+
"type": {
|
|
3272
|
+
"text": "number"
|
|
3273
|
+
},
|
|
3274
|
+
"privacy": "private",
|
|
3275
|
+
"default": "100"
|
|
3276
|
+
},
|
|
3277
|
+
{
|
|
3278
|
+
"kind": "field",
|
|
3279
|
+
"name": "_textContent",
|
|
3280
|
+
"type": {
|
|
3281
|
+
"text": "string | null"
|
|
3282
|
+
},
|
|
3283
|
+
"privacy": "private",
|
|
3284
|
+
"default": "null"
|
|
3285
|
+
},
|
|
3286
|
+
{
|
|
3287
|
+
"kind": "field",
|
|
3288
|
+
"name": "_handleKeydown",
|
|
3289
|
+
"privacy": "private"
|
|
3290
|
+
},
|
|
3291
|
+
{
|
|
3292
|
+
"kind": "method",
|
|
3293
|
+
"name": "_close",
|
|
3294
|
+
"privacy": "private"
|
|
3295
|
+
},
|
|
3296
|
+
{
|
|
3297
|
+
"kind": "method",
|
|
3298
|
+
"name": "_handleDownload",
|
|
3299
|
+
"privacy": "private"
|
|
3300
|
+
},
|
|
3301
|
+
{
|
|
3302
|
+
"kind": "method",
|
|
3303
|
+
"name": "_handleZoomIn",
|
|
3304
|
+
"privacy": "private"
|
|
3305
|
+
},
|
|
3306
|
+
{
|
|
3307
|
+
"kind": "method",
|
|
3308
|
+
"name": "_handleZoomOut",
|
|
3309
|
+
"privacy": "private"
|
|
3310
|
+
},
|
|
3311
|
+
{
|
|
3312
|
+
"kind": "method",
|
|
3313
|
+
"name": "_handleZoomReset",
|
|
3314
|
+
"privacy": "private"
|
|
3315
|
+
},
|
|
3316
|
+
{
|
|
3317
|
+
"kind": "method",
|
|
3318
|
+
"name": "_handleDragStart",
|
|
3319
|
+
"privacy": "private",
|
|
3320
|
+
"parameters": [
|
|
3321
|
+
{
|
|
3322
|
+
"name": "e",
|
|
3323
|
+
"type": {
|
|
3324
|
+
"text": "MouseEvent"
|
|
3325
|
+
}
|
|
3326
|
+
}
|
|
3327
|
+
]
|
|
3328
|
+
},
|
|
3329
|
+
{
|
|
3330
|
+
"kind": "field",
|
|
3331
|
+
"name": "_handleDragMove",
|
|
3332
|
+
"privacy": "private"
|
|
3333
|
+
},
|
|
3334
|
+
{
|
|
3335
|
+
"kind": "field",
|
|
3336
|
+
"name": "_handleDragEnd",
|
|
3337
|
+
"privacy": "private"
|
|
3338
|
+
},
|
|
3339
|
+
{
|
|
3340
|
+
"kind": "method",
|
|
3341
|
+
"name": "_handleBackdropClick",
|
|
3342
|
+
"privacy": "private",
|
|
3343
|
+
"parameters": [
|
|
3344
|
+
{
|
|
3345
|
+
"name": "e",
|
|
3346
|
+
"type": {
|
|
3347
|
+
"text": "Event"
|
|
3348
|
+
}
|
|
3349
|
+
}
|
|
3350
|
+
]
|
|
3351
|
+
},
|
|
3352
|
+
{
|
|
3353
|
+
"kind": "method",
|
|
3354
|
+
"name": "_getExtension",
|
|
3355
|
+
"privacy": "private",
|
|
3356
|
+
"return": {
|
|
3357
|
+
"type": {
|
|
3358
|
+
"text": "string"
|
|
3359
|
+
}
|
|
3360
|
+
}
|
|
3361
|
+
},
|
|
3362
|
+
{
|
|
3363
|
+
"kind": "method",
|
|
3364
|
+
"name": "_isImage",
|
|
3365
|
+
"privacy": "private",
|
|
3366
|
+
"return": {
|
|
3367
|
+
"type": {
|
|
3368
|
+
"text": "boolean"
|
|
3369
|
+
}
|
|
3370
|
+
}
|
|
3371
|
+
},
|
|
3372
|
+
{
|
|
3373
|
+
"kind": "method",
|
|
3374
|
+
"name": "_isPdf",
|
|
3375
|
+
"privacy": "private",
|
|
3376
|
+
"return": {
|
|
3377
|
+
"type": {
|
|
3378
|
+
"text": "boolean"
|
|
3379
|
+
}
|
|
3380
|
+
}
|
|
3381
|
+
},
|
|
3382
|
+
{
|
|
3383
|
+
"kind": "method",
|
|
3384
|
+
"name": "_isText",
|
|
3385
|
+
"privacy": "private",
|
|
3386
|
+
"return": {
|
|
3387
|
+
"type": {
|
|
3388
|
+
"text": "boolean"
|
|
3389
|
+
}
|
|
3390
|
+
}
|
|
3391
|
+
},
|
|
3392
|
+
{
|
|
3393
|
+
"kind": "method",
|
|
3394
|
+
"name": "_isCsv",
|
|
3395
|
+
"privacy": "private",
|
|
3396
|
+
"return": {
|
|
3397
|
+
"type": {
|
|
3398
|
+
"text": "boolean"
|
|
3399
|
+
}
|
|
3400
|
+
}
|
|
3401
|
+
},
|
|
3402
|
+
{
|
|
3403
|
+
"kind": "method",
|
|
3404
|
+
"name": "_loadTextContent",
|
|
3405
|
+
"privacy": "private"
|
|
3406
|
+
},
|
|
3407
|
+
{
|
|
3408
|
+
"kind": "method",
|
|
3409
|
+
"name": "_formatCsv",
|
|
3410
|
+
"privacy": "private",
|
|
3411
|
+
"return": {
|
|
3412
|
+
"type": {
|
|
3413
|
+
"text": "string"
|
|
3414
|
+
}
|
|
3415
|
+
},
|
|
3416
|
+
"parameters": [
|
|
3417
|
+
{
|
|
3418
|
+
"name": "text",
|
|
3419
|
+
"type": {
|
|
3420
|
+
"text": "string"
|
|
3421
|
+
}
|
|
3422
|
+
}
|
|
3423
|
+
]
|
|
3424
|
+
},
|
|
3425
|
+
{
|
|
3426
|
+
"kind": "method",
|
|
3427
|
+
"name": "_getFallbackIconClass",
|
|
3428
|
+
"privacy": "private",
|
|
3429
|
+
"return": {
|
|
3430
|
+
"type": {
|
|
3431
|
+
"text": "string"
|
|
3432
|
+
}
|
|
3433
|
+
},
|
|
3434
|
+
"parameters": [
|
|
3435
|
+
{
|
|
3436
|
+
"name": "ext",
|
|
3437
|
+
"type": {
|
|
3438
|
+
"text": "string"
|
|
3439
|
+
}
|
|
3440
|
+
}
|
|
3441
|
+
]
|
|
3442
|
+
},
|
|
3443
|
+
{
|
|
3444
|
+
"kind": "method",
|
|
3445
|
+
"name": "_getFallbackIcon",
|
|
3446
|
+
"privacy": "private",
|
|
3447
|
+
"parameters": [
|
|
3448
|
+
{
|
|
3449
|
+
"name": "ext",
|
|
3450
|
+
"type": {
|
|
3451
|
+
"text": "string"
|
|
3452
|
+
}
|
|
3453
|
+
}
|
|
3454
|
+
]
|
|
3455
|
+
}
|
|
3456
|
+
],
|
|
3457
|
+
"events": [
|
|
3458
|
+
{
|
|
3459
|
+
"name": "close",
|
|
3460
|
+
"type": {
|
|
3461
|
+
"text": "CustomEvent"
|
|
3462
|
+
},
|
|
3463
|
+
"description": "Fired when the preview is closed"
|
|
3464
|
+
},
|
|
3465
|
+
{
|
|
3466
|
+
"name": "download",
|
|
3467
|
+
"type": {
|
|
3468
|
+
"text": "CustomEvent"
|
|
3469
|
+
},
|
|
3470
|
+
"description": "Fired when the download button is clicked. Detail: `{ src, name }`"
|
|
3471
|
+
}
|
|
3472
|
+
],
|
|
3473
|
+
"attributes": [
|
|
3474
|
+
{
|
|
3475
|
+
"name": "src",
|
|
3476
|
+
"type": {
|
|
3477
|
+
"text": "string"
|
|
3478
|
+
},
|
|
3479
|
+
"default": "''",
|
|
3480
|
+
"description": "URL of the file to preview",
|
|
3481
|
+
"fieldName": "src"
|
|
3482
|
+
},
|
|
3483
|
+
{
|
|
3484
|
+
"name": "name",
|
|
3485
|
+
"type": {
|
|
3486
|
+
"text": "string"
|
|
3487
|
+
},
|
|
3488
|
+
"default": "''",
|
|
3489
|
+
"description": "Display name shown in the toolbar",
|
|
3490
|
+
"fieldName": "name"
|
|
3491
|
+
}
|
|
3492
|
+
],
|
|
3493
|
+
"superclass": {
|
|
3494
|
+
"name": "LitElement",
|
|
3495
|
+
"package": "lit"
|
|
3496
|
+
},
|
|
3497
|
+
"tagName": "kr-file-preview",
|
|
3498
|
+
"customElement": true
|
|
3499
|
+
}
|
|
3500
|
+
],
|
|
3501
|
+
"exports": [
|
|
3502
|
+
{
|
|
3503
|
+
"kind": "js",
|
|
3504
|
+
"name": "KRFilePreview",
|
|
3505
|
+
"declaration": {
|
|
3506
|
+
"name": "KRFilePreview",
|
|
3507
|
+
"module": "src/file-preview/file-preview.ts"
|
|
3508
|
+
}
|
|
3509
|
+
},
|
|
3510
|
+
{
|
|
3511
|
+
"kind": "custom-element-definition",
|
|
3512
|
+
"name": "kr-file-preview",
|
|
3513
|
+
"declaration": {
|
|
3514
|
+
"name": "KRFilePreview",
|
|
3515
|
+
"module": "src/file-preview/file-preview.ts"
|
|
3516
|
+
}
|
|
3517
|
+
}
|
|
3518
|
+
]
|
|
3519
|
+
},
|
|
2806
3520
|
{
|
|
2807
3521
|
"kind": "javascript-module",
|
|
2808
3522
|
"path": "src/form/index.ts",
|