@aquera/nile-elements 1.4.8-beta-1.3 → 1.4.8
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/README.md +4 -0
- package/demo/index.html +29 -134
- package/dist/index.js +48 -74
- package/dist/nile-file-preview/nile-file-preview.css.cjs.js +1 -1
- package/dist/nile-file-preview/nile-file-preview.css.cjs.js.map +1 -1
- package/dist/nile-file-preview/nile-file-preview.css.esm.js +3 -7
- package/dist/nile-file-preview/nile-file-preview.template.cjs.js +1 -1
- package/dist/nile-file-preview/nile-file-preview.template.cjs.js.map +1 -1
- package/dist/nile-file-preview/nile-file-preview.template.esm.js +64 -73
- package/dist/nile-option/nile-option.cjs.js +1 -1
- package/dist/nile-option/nile-option.cjs.js.map +1 -1
- package/dist/nile-option/nile-option.css.cjs.js +1 -1
- package/dist/nile-option/nile-option.css.cjs.js.map +1 -1
- package/dist/nile-option/nile-option.css.esm.js +0 -10
- package/dist/nile-option/nile-option.esm.js +7 -10
- package/dist/src/nile-file-preview/nile-file-preview.css.js +3 -7
- package/dist/src/nile-file-preview/nile-file-preview.css.js.map +1 -1
- package/dist/src/nile-file-preview/nile-file-preview.template.js +37 -46
- package/dist/src/nile-file-preview/nile-file-preview.template.js.map +1 -1
- package/dist/src/nile-option/nile-option.css.js +0 -10
- package/dist/src/nile-option/nile-option.css.js.map +1 -1
- package/dist/src/nile-option/nile-option.d.ts +0 -1
- package/dist/src/nile-option/nile-option.js +5 -13
- package/dist/src/nile-option/nile-option.js.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/nile-file-preview/nile-file-preview.css.ts +3 -7
- package/src/nile-file-preview/nile-file-preview.template.ts +37 -46
- package/src/nile-option/nile-option.css.ts +0 -10
- package/src/nile-option/nile-option.ts +5 -11
- package/vscode-html-custom-data.json +1 -5
- package/dist/fixture-1c49c014.cjs.js +0 -395
- package/dist/fixture-1c49c014.cjs.js.map +0 -1
- package/dist/internal/accessibility/a11y.custom-value.enum.cjs.js +0 -2
- package/dist/internal/accessibility/a11y.custom-value.enum.cjs.js.map +0 -1
- package/dist/internal/accessibility/a11y.custom-value.enum.esm.js +0 -1
- package/dist/internal/accessibility/a11y.property.enum.cjs.js +0 -2
- package/dist/internal/accessibility/a11y.property.enum.cjs.js.map +0 -1
- package/dist/internal/accessibility/a11y.property.enum.esm.js +0 -1
- package/dist/internal/accessibility/a11y.role.enum.cjs.js +0 -2
- package/dist/internal/accessibility/a11y.role.enum.cjs.js.map +0 -1
- package/dist/internal/accessibility/a11y.role.enum.esm.js +0 -1
- package/dist/internal/accessibility/a11y.state.enum.cjs.js +0 -2
- package/dist/internal/accessibility/a11y.state.enum.cjs.js.map +0 -1
- package/dist/internal/accessibility/a11y.state.enum.esm.js +0 -1
- package/dist/internal/accessibility/accessibility.const.cjs.js +0 -2
- package/dist/internal/accessibility/accessibility.const.cjs.js.map +0 -1
- package/dist/internal/accessibility/accessibility.const.esm.js +0 -1
- package/dist/internal/accessibility/role.enum.cjs.js +0 -2
- package/dist/internal/accessibility/role.enum.cjs.js.map +0 -1
- package/dist/internal/accessibility/role.enum.esm.js +0 -1
- package/dist/scopedElementsWrapper-5ea5834f.cjs.js +0 -2
- package/dist/scopedElementsWrapper-5ea5834f.cjs.js.map +0 -1
- package/dist/src/internal/accessibility/a11y.custom-value.enum.d.ts +0 -68
- package/dist/src/internal/accessibility/a11y.custom-value.enum.js +0 -70
- package/dist/src/internal/accessibility/a11y.custom-value.enum.js.map +0 -1
- package/dist/src/internal/accessibility/a11y.property.enum.d.ts +0 -33
- package/dist/src/internal/accessibility/a11y.property.enum.js +0 -35
- package/dist/src/internal/accessibility/a11y.property.enum.js.map +0 -1
- package/dist/src/internal/accessibility/a11y.role.enum.d.ts +0 -46
- package/dist/src/internal/accessibility/a11y.role.enum.js +0 -48
- package/dist/src/internal/accessibility/a11y.role.enum.js.map +0 -1
- package/dist/src/internal/accessibility/a11y.state.enum.d.ts +0 -16
- package/dist/src/internal/accessibility/a11y.state.enum.js +0 -18
- package/dist/src/internal/accessibility/a11y.state.enum.js.map +0 -1
- package/dist/src/internal/accessibility/accessibility.const.d.ts +0 -8
- package/dist/src/internal/accessibility/accessibility.const.js +0 -9
- package/dist/src/internal/accessibility/accessibility.const.js.map +0 -1
- package/dist/src/internal/accessibility/role.enum.d.ts +0 -3
- package/dist/src/internal/accessibility/role.enum.js +0 -5
- package/dist/src/internal/accessibility/role.enum.js.map +0 -1
- package/dist/src/nile-css-tooltip/index.d.ts +0 -1
- package/dist/src/nile-css-tooltip/index.js +0 -2
- package/dist/src/nile-css-tooltip/index.js.map +0 -1
- package/dist/src/nile-css-tooltip/nile-css-tooltip.css.d.ts +0 -9
- package/dist/src/nile-css-tooltip/nile-css-tooltip.css.js +0 -459
- package/dist/src/nile-css-tooltip/nile-css-tooltip.css.js.map +0 -1
- package/dist/src/nile-css-tooltip/nile-css-tooltip.d.ts +0 -113
- package/dist/src/nile-css-tooltip/nile-css-tooltip.js +0 -213
- package/dist/src/nile-css-tooltip/nile-css-tooltip.js.map +0 -1
package/README.md
CHANGED
|
@@ -79,6 +79,10 @@ To run a local development server that serves the basic demo located in `demo/in
|
|
|
79
79
|
|
|
80
80
|
In this section, you can find the updates for each release of `nile-elements`. It's a good practice to maintain detailed release notes to help users and developers understand what changes have been made from one version to another and how these changes might affect their projects.
|
|
81
81
|
|
|
82
|
+
#### Version 1.4.8
|
|
83
|
+
- Nile Lite Tooltip: Fixed the Empty Issue and Added Height and Width Property for Tooltip (UIF-1077)
|
|
84
|
+
- Nile Sidebar: Introduced Portal-Based Rendering for Nile Sidebar Action Menu (UIF-1082)
|
|
85
|
+
|
|
82
86
|
#### Version 1.4.7
|
|
83
87
|
- Nile Tab: Font Weight Mismatch in Nile Tab Item (UIF-1072)
|
|
84
88
|
- Nile Sidebar: Collapsed state is not reflected correctly for the header, and the logo is not working properly in Safari and Firefox. (UIF-1075)
|
package/demo/index.html
CHANGED
|
@@ -1,150 +1,45 @@
|
|
|
1
1
|
<!DOCTYPE html>
|
|
2
2
|
<html lang="en-GB">
|
|
3
|
-
|
|
4
|
-
<
|
|
5
|
-
|
|
6
|
-
<!-- <link rel="stylesheet" href="./theme/nxt/nxtgen.css" id="stylesheet" /> -->
|
|
7
|
-
<link rel="stylesheet" href="variables.css" id="stylesheet" />
|
|
8
|
-
<link rel="stylesheet" href="index.css" />
|
|
9
|
-
<script type="module" src="index.js"></script>
|
|
10
|
-
|
|
11
|
-
<style>
|
|
12
|
-
* {
|
|
13
|
-
padding: 0;
|
|
14
|
-
margin: 0;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
html,
|
|
18
|
-
body {
|
|
19
|
-
height: 100%;
|
|
20
|
-
width: 100%;
|
|
21
|
-
display: flex;
|
|
22
|
-
align-items: center;
|
|
23
|
-
justify-content: center;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
.container {
|
|
27
|
-
display: flex;
|
|
28
|
-
flex-direction: column;
|
|
29
|
-
justify-content: center;
|
|
30
|
-
gap: 10px;
|
|
31
|
-
width: 648px;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
#previews {
|
|
35
|
-
display: flex;
|
|
36
|
-
flex-direction: column;
|
|
37
|
-
justify-content: flex-start;
|
|
38
|
-
align-items: flex-start;
|
|
39
|
-
gap: 10px;
|
|
40
|
-
width: 248px;
|
|
41
|
-
height: 500px;
|
|
42
|
-
overflow-y: auto;
|
|
43
|
-
}
|
|
44
|
-
</style>
|
|
45
|
-
</head>
|
|
46
|
-
|
|
47
|
-
<body>
|
|
48
|
-
<!-- <div style="background-color: var(--ng-color-base-black);">Demo Page</div> -->
|
|
49
|
-
|
|
50
|
-
<body>
|
|
51
|
-
<div class="container">
|
|
52
|
-
|
|
53
|
-
<nile-file-upload state="default" variant="horizontal"
|
|
54
|
-
fileUploadUrl="https://api.escuelajs.co/api/v1/files/upload"></nile-file-upload>
|
|
55
|
-
|
|
56
|
-
<div id="previews"></div>
|
|
57
|
-
|
|
58
|
-
</div>
|
|
59
|
-
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<link rel="stylesheet" href="" id="stylesheet" />
|
|
60
6
|
<script>
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
let allFiles = [];
|
|
66
|
-
let deletedFiles = [];
|
|
67
|
-
let validTypes = ['image/svg+xml', 'image/png', 'image/webp', 'application/pdf', 'application/zip', 'image/jpeg'];
|
|
68
|
-
let imageUrls = [
|
|
69
|
-
'https://upload.wikimedia.org/wikipedia/commons/6/61/HTML5_logo_and_wordmark.svg',
|
|
70
|
-
'https://cdn.pixabay.com/photo/2017/08/05/11/16/logo-2582748_1280.png',
|
|
71
|
-
'https://miro.medium.com/v2/resize:fit:4800/format:webp/1*xMuIOwjliGUPjkzukeWKfw.jpeg',
|
|
72
|
-
'https://upload.wikimedia.org/wikipedia/commons/9/96/Nature_celebrating_India.png',
|
|
73
|
-
'https://upload.wikimedia.org/wikipedia/commons/2/22/1_Nature_1.png',
|
|
74
|
-
'https://www.un.org/sites/un2.un.org/files/field/image/making-peace-with-nature.png',
|
|
75
|
-
];
|
|
76
|
-
|
|
77
|
-
upload.addEventListener('nile-change', (event) => {
|
|
78
|
-
let updatedFiles = event.detail.files
|
|
79
|
-
.filter(file => !deletedFiles.includes(file) && !allFiles.some(f => f.file === file))
|
|
80
|
-
.map(file => ({ file, progress: 0 }));
|
|
7
|
+
const params = new URLSearchParams(window.location.search);
|
|
8
|
+
const style = params.get('style') || 'variables.css';
|
|
9
|
+
document.getElementById('stylesheet').href = style;
|
|
10
|
+
</script>
|
|
81
11
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
});
|
|
12
|
+
<!-- <link rel="stylesheet" href="variables.css" id="stylesheet" /> -->
|
|
13
|
+
<link rel="stylesheet" href="index.css" />
|
|
85
14
|
|
|
15
|
+
<style>
|
|
16
|
+
|
|
17
|
+
</style>
|
|
18
|
+
<script type="module" src="index.js"></script>
|
|
19
|
+
</head>
|
|
20
|
+
<body>
|
|
86
21
|
|
|
87
|
-
previewContainer.addEventListener('nile-remove', (event) => {
|
|
88
|
-
let { value, url } = event.detail;
|
|
89
|
-
// for image url's
|
|
90
|
-
// imageUrls = removeFile(url, imageUrls);
|
|
91
|
-
// callFilePreview(imageUrls);
|
|
92
|
-
// for files
|
|
93
|
-
allFiles = removeFile(value, allFiles);
|
|
94
|
-
callFilePreview(allFiles);
|
|
95
|
-
});
|
|
96
22
|
|
|
97
|
-
|
|
98
|
-
const { file, progress } = e.detail;
|
|
23
|
+
|
|
99
24
|
|
|
100
|
-
|
|
101
|
-
item.file === file ? { ...item, progress } : item
|
|
102
|
-
);
|
|
25
|
+
|
|
103
26
|
|
|
104
|
-
|
|
105
|
-
|
|
27
|
+
<!-- <nile-input
|
|
28
|
+
type="password"
|
|
29
|
+
canSavePassword>
|
|
30
|
+
</nile-input>
|
|
31
|
+
-->
|
|
32
|
+
|
|
106
33
|
|
|
34
|
+
<nile-chip
|
|
35
|
+
autoCompleteOptions='["React", "Angular", "Vue", "Tailwind"]'
|
|
36
|
+
acceptUserInput
|
|
37
|
+
></nile-chip>
|
|
107
38
|
|
|
108
|
-
previewContainer.addEventListener('nile-uploading', () => {
|
|
109
|
-
console.log('nile-uploading');
|
|
110
|
-
});
|
|
111
39
|
|
|
112
|
-
|
|
113
|
-
|
|
40
|
+
<nile-button id="small-btn1">Small tooltip</nile-button>
|
|
41
|
+
<nile-lite-tooltip for="small-btn1" id="small-tooltip1" content="This is a small tooltip." size="small"></nile-lite-tooltip>
|
|
114
42
|
|
|
115
|
-
allFiles = allFiles.map(item =>
|
|
116
|
-
item.file === cancelledFile
|
|
117
|
-
? { file: cancelledFile, status: 'cancelled', errorMessage: 'File upload cancelled' }
|
|
118
|
-
: item
|
|
119
|
-
);
|
|
120
|
-
callFilePreview(allFiles);
|
|
121
|
-
});
|
|
122
43
|
|
|
123
|
-
const callFilePreview = (fileObjs) => {
|
|
124
|
-
previewContainer.innerHTML = "";
|
|
125
|
-
|
|
126
|
-
fileObjs.forEach(({ file, progress, status, errorMessage }) => {
|
|
127
|
-
const filePreview = document.createElement('nile-file-preview');
|
|
128
|
-
filePreview.inputFile = file;
|
|
129
|
-
filePreview.variant = "horizontal";
|
|
130
|
-
filePreview.allowedTypes = validTypes;
|
|
131
|
-
if (progress != null) filePreview.uploadStatus = progress;
|
|
132
|
-
if (status) filePreview.errorMessage = errorMessage;
|
|
133
|
-
previewContainer.appendChild(filePreview);
|
|
134
|
-
});
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
// callFilePreview(imageUrls);
|
|
138
|
-
|
|
139
|
-
const removeFile = (removeFile, files) => {
|
|
140
|
-
return files.filter(file => {
|
|
141
|
-
if (file !== removeFile) return true;
|
|
142
|
-
deletedFiles.push(file);
|
|
143
|
-
return false;
|
|
144
|
-
});
|
|
145
|
-
};
|
|
146
|
-
</script>
|
|
147
44
|
</body>
|
|
148
|
-
</body>
|
|
149
|
-
|
|
150
45
|
</html>
|
package/dist/index.js
CHANGED
|
@@ -5532,17 +5532,7 @@ class CM{constructor(e){this._element=null;const t=e??window;this._node=t,e&&(th
|
|
|
5532
5532
|
outline-offset: -1px;
|
|
5533
5533
|
}
|
|
5534
5534
|
}
|
|
5535
|
-
|
|
5536
|
-
.option__label-container {
|
|
5537
|
-
display: flex;
|
|
5538
|
-
flex-direction: column;
|
|
5539
|
-
}
|
|
5540
|
-
|
|
5541
|
-
.option__description {
|
|
5542
|
-
font-size: var(--nile-type-scale-2, var(--ng-font-size-text-sm));
|
|
5543
|
-
color: var(--nile-colors-dark-500, var(--ng-colors-text-tertiary-600));
|
|
5544
|
-
}
|
|
5545
|
-
`;let tn=class extends Re{constructor(){super(...arguments),this.current=!1,this.hasHover=!1,this.hidden=!1,this.isMultipleSelect=!1,this.value="",this.showCheckbox=!1,this.disabled=!1,this.selected=!1,this.groupName="",this.description=""}connectedCallback(){super.connectedCallback(),this.setAttribute("role","option"),this.setAttribute("aria-selected","false"),this.checkIfMultipleSelect()}checkIfMultipleSelect(){const e=this.closest("nile-select");e&&e.hasAttribute("multiple")?e.hasAttribute("multiple")&&""===e.getAttribute("multiple")||"true"===e.getAttribute("multiple")?this.isMultipleSelect=!0:this.isMultipleSelect=!1:this.isMultipleSelect=this.showCheckbox}updated(e){this.checkIfMultipleSelect()}handleDefaultSlotChange(){const e=this.getTextLabel();void 0!==this.cachedTextLabel?e!==this.cachedTextLabel&&(this.cachedTextLabel=e,this.emit("slotchange")):this.cachedTextLabel=e}handleMouseEnter(){this.hasHover=!0}handleMouseLeave(){this.hasHover=!1}handleDisabledChange(){this.setAttribute("aria-disabled",this.disabled?"true":"false")}handleSelectedChange(){this.setAttribute("aria-selected",this.selected?"true":"false")}handleValueChange(){"string"!=typeof this.value&&(this.value=String(this.value))}getTextLabel(){const e=this.querySelector("label");return e?e.textContent?.trim()??"":(this.textContent??"").trim()}render(){return R`
|
|
5535
|
+
`;let tn=class extends Re{constructor(){super(...arguments),this.current=!1,this.hasHover=!1,this.hidden=!1,this.isMultipleSelect=!1,this.value="",this.showCheckbox=!1,this.disabled=!1,this.selected=!1,this.groupName=""}connectedCallback(){super.connectedCallback(),this.setAttribute("role","option"),this.setAttribute("aria-selected","false"),this.checkIfMultipleSelect()}checkIfMultipleSelect(){const e=this.closest("nile-select");e&&e.hasAttribute("multiple")?e.hasAttribute("multiple")&&""===e.getAttribute("multiple")||"true"===e.getAttribute("multiple")?this.isMultipleSelect=!0:this.isMultipleSelect=!1:this.isMultipleSelect=this.showCheckbox}updated(e){this.checkIfMultipleSelect()}handleDefaultSlotChange(){const e=this.getTextLabel();void 0!==this.cachedTextLabel?e!==this.cachedTextLabel&&(this.cachedTextLabel=e,this.emit("slotchange")):this.cachedTextLabel=e}handleMouseEnter(){this.hasHover=!0}handleMouseLeave(){this.hasHover=!1}handleDisabledChange(){this.setAttribute("aria-disabled",this.disabled?"true":"false")}handleSelectedChange(){this.setAttribute("aria-selected",this.selected?"true":"false")}handleValueChange(){"string"!=typeof this.value&&(this.value=String(this.value))}getTextLabel(){const e=this.querySelector("label");return e?e.textContent?.trim()??"":(this.textContent??"").trim()}render(){return R`
|
|
5546
5536
|
${this.hidden?"":R` <div
|
|
5547
5537
|
part="base"
|
|
5548
5538
|
class=${pe({option:!0,"option--single-select":!this.isMultipleSelect,"option--current":this.selected&&!this.isMultipleSelect,"option--disabled":this.disabled,"option--selected":this.selected&&!this.isMultipleSelect,"option--hover":this.hasHover})}
|
|
@@ -5553,17 +5543,14 @@ class CM{constructor(e){this._element=null;const t=e??window;this._node=t,e&&(th
|
|
|
5553
5543
|
${this.isMultipleSelect?R`<nile-checkbox part="checkbox" class="option--checkbox" .checked=${this.selected}></nile-checkbox>`:""}
|
|
5554
5544
|
|
|
5555
5545
|
<slot part="prefix" name="prefix" class="option__prefix"></slot>
|
|
5556
|
-
|
|
5557
|
-
|
|
5558
|
-
|
|
5559
|
-
|
|
5560
|
-
|
|
5561
|
-
></slot>
|
|
5562
|
-
${this.description?R`<span part="option_description" class="option__description">${this.description}</span>`:""}
|
|
5563
|
-
</div>
|
|
5546
|
+
<slot
|
|
5547
|
+
part="label"
|
|
5548
|
+
class="option__label"
|
|
5549
|
+
@slotchange=${this.handleDefaultSlotChange}
|
|
5550
|
+
></slot>
|
|
5564
5551
|
<slot part="suffix" name="suffix" class="option__suffix"></slot>
|
|
5565
5552
|
</div>`}
|
|
5566
|
-
`}};tn.styles=en,e([Ie(".option__label")],tn.prototype,"defaultSlot",void 0),e([De()],tn.prototype,"current",void 0),e([De()],tn.prototype,"hasHover",void 0),e([ce({type:Boolean,reflect:!0,attribute:!0})],tn.prototype,"hidden",void 0),e([De()],tn.prototype,"isMultipleSelect",void 0),e([ce({reflect:!0})],tn.prototype,"value",void 0),e([ce({type:Boolean,reflect:!0,attribute:!0})],tn.prototype,"showCheckbox",void 0),e([ce({type:Boolean,reflect:!0})],tn.prototype,"disabled",void 0),e([ce({type:Boolean,reflect:!0})],tn.prototype,"selected",void 0),e([ce({type:String,reflect:!0,attribute:!0})],tn.prototype,"groupName",void 0),e([
|
|
5553
|
+
`}};tn.styles=en,e([Ie(".option__label")],tn.prototype,"defaultSlot",void 0),e([De()],tn.prototype,"current",void 0),e([De()],tn.prototype,"hasHover",void 0),e([ce({type:Boolean,reflect:!0,attribute:!0})],tn.prototype,"hidden",void 0),e([De()],tn.prototype,"isMultipleSelect",void 0),e([ce({reflect:!0})],tn.prototype,"value",void 0),e([ce({type:Boolean,reflect:!0,attribute:!0})],tn.prototype,"showCheckbox",void 0),e([ce({type:Boolean,reflect:!0})],tn.prototype,"disabled",void 0),e([ce({type:Boolean,reflect:!0})],tn.prototype,"selected",void 0),e([ce({type:String,reflect:!0,attribute:!0})],tn.prototype,"groupName",void 0),e([We("disabled")],tn.prototype,"handleDisabledChange",null),e([We("selected")],tn.prototype,"handleSelectedChange",null),e([We("value")],tn.prototype,"handleValueChange",null),tn=e([Ne("nile-option")],tn);const Mn=r`
|
|
5567
5554
|
:host {
|
|
5568
5555
|
box-sizing: border-box;
|
|
5569
5556
|
-webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));
|
|
@@ -13737,7 +13724,6 @@ nile-badge::part(content) {
|
|
|
13737
13724
|
`;case IL.ERROR:return((e,t,i,M,n,o,r)=>QL(e,t,i,!1,M,n,o,r))(this.browseFiles,this.title,this.subtitle,this.dragHandler,this.errorMessage,this.allowedTypes,this);default:return kL(this.browseFiles,this.title,this.subtitle,this.dragHandler,this.errorMessage,this.allowedTypes,this)}var e,t,i,M,n,o}disconnectedCallback(){this.emit(hL.NILE_DESTROY)}};e([ce({type:String})],CL.prototype,"size",void 0),e([ce({type:Boolean})],CL.prototype,"error",void 0),e([ce({type:String})],CL.prototype,"errorMessage",void 0),e([ce({type:Boolean})],CL.prototype,"allowMultiple",void 0),e([ce({type:Boolean})],CL.prototype,"allowDuplicates",void 0),e([ce({type:Array})],CL.prototype,"allowedTypes",void 0),e([ce({type:Array})],CL.prototype,"uploadedFiles",void 0),e([ce({type:String})],CL.prototype,"title",void 0),e([ce({type:String})],CL.prototype,"subtitle",void 0),e([ce({type:String})],CL.prototype,"state",void 0),e([ce({type:String})],CL.prototype,"variant",void 0),e([ce({type:String})],CL.prototype,"fileUploadUrl",void 0),e([ce({type:Boolean})],CL.prototype,"autoUpload",void 0),e([Ie("input")],CL.prototype,"input",void 0),CL=e([Ne("nile-file-upload")],CL);const bL=r`
|
|
13738
13725
|
:host {
|
|
13739
13726
|
display: inline-block;
|
|
13740
|
-
width: 100%;
|
|
13741
13727
|
}
|
|
13742
13728
|
|
|
13743
13729
|
* {
|
|
@@ -13761,7 +13747,7 @@ nile-badge::part(content) {
|
|
|
13761
13747
|
|
|
13762
13748
|
.horizontal-div {
|
|
13763
13749
|
max-height: 62px;
|
|
13764
|
-
width:
|
|
13750
|
+
width: 648px;
|
|
13765
13751
|
min-width: 230px;
|
|
13766
13752
|
padding: 12px;
|
|
13767
13753
|
display: flex;
|
|
@@ -13988,7 +13974,7 @@ nile-badge::part(content) {
|
|
|
13988
13974
|
white-space: nowrap;
|
|
13989
13975
|
text-overflow: ellipsis;
|
|
13990
13976
|
overflow: hidden;
|
|
13991
|
-
width:
|
|
13977
|
+
width: 500px;
|
|
13992
13978
|
}
|
|
13993
13979
|
|
|
13994
13980
|
.preview-file-info p:last-of-type{
|
|
@@ -13999,7 +13985,7 @@ nile-badge::part(content) {
|
|
|
13999
13985
|
white-space: nowrap;
|
|
14000
13986
|
text-overflow: ellipsis;
|
|
14001
13987
|
overflow: hidden;
|
|
14002
|
-
width:
|
|
13988
|
+
width: 500px;
|
|
14003
13989
|
}
|
|
14004
13990
|
|
|
14005
13991
|
.no-preview > nile-icon:hover {
|
|
@@ -14309,22 +14295,19 @@ nile-badge::part(content) {
|
|
|
14309
14295
|
li {
|
|
14310
14296
|
list-style-type: none;
|
|
14311
14297
|
}
|
|
14312
|
-
.preview-file-info p {
|
|
14313
|
-
width: 100%;
|
|
14314
|
-
}
|
|
14315
14298
|
`;var fL,vL,UL,YL;!function(e){e.DEFAULT="default",e.UPLOADING="uploading",e.PREVIEW="preview",e.NO_PREVIEW="no-preview",e.ERROR="error"}(fL||(fL={})),function(e){e.HORIZONTAL="horizontal",e.VERTICAL="vertical"}(vL||(vL={})),function(e){e.INVALID_FORMAT="Invalid File Format. Please try again.",e.SIZE_LIMIT="File exceeds size limit.",e.FAILED_TO_LOAD="Failed to load file from URL",e.UNKNOWN_FILE_NAME="unknown-file",e.UPLOAD_CANCEL="File upload cancelled.",e.NO_FILE_SELECTED="No file selected.",e.UNABLE_TO_GENEARTE_URL="Unable to generate the url.",e.NETWORK_ERROR="Network error! Please try again later.",e.CUSTOM_ERROR="Error Occured!"}(UL||(UL={})),function(e){e.NILE_INIT="nile-init",e.NILE_RECEIVE="nile-receive",e.NILE_REMOVE="nile-remove",e.NILE_CANCEL_UPLOAD="nile-cancel-upload",e.NILE_DESTROY="nile-destroy"}(YL||(YL={}));const ZL=(e,t,i)=>{t.target&&t.target.dispatchEvent(new CustomEvent(YL.NILE_REMOVE,{detail:{value:e,url:i},bubbles:!0,composed:!0}))},VL=(e,t)=>{t.target&&t.target.dispatchEvent(new CustomEvent(YL.NILE_CANCEL_UPLOAD,{detail:{file:e},bubbles:!0,composed:!0}))},WL=e=>{const t=e/1024,i=t/1024,M=i/1024;return M>=1?M.toFixed(2)+" GB":i>=1?i.toFixed(2)+" MB":t>=1?t.toFixed(2)+" KB":e+" B"},PL=e=>e.split("/")[1].toUpperCase(),RL=e=>{("vertical"===e.variant&&e.errorMessage.length>34||"horizontal"===e.variant&&e.errorMessage.length>96)&&(e.isStringTruncated=!0,e.requestUpdate())};function BL(e,t){return R`
|
|
14316
14299
|
<div class="uploading" part="horizontal-uploading-state">
|
|
14317
14300
|
<nile-loader width="24" height="24"></nile-loader>
|
|
14318
|
-
<div class="progress-bar-container"
|
|
14319
|
-
<div class="progress-bar-percent"
|
|
14320
|
-
<p
|
|
14321
|
-
<p
|
|
14301
|
+
<div class="progress-bar-container">
|
|
14302
|
+
<div class="progress-bar-percent">
|
|
14303
|
+
<p>Uploading File...</p>
|
|
14304
|
+
<p>${t}%</p>
|
|
14322
14305
|
</div>
|
|
14323
14306
|
<nile-progress-bar
|
|
14324
14307
|
part="horizontal-progress-bar"
|
|
14325
14308
|
value="${t}"
|
|
14326
14309
|
></nile-progress-bar>
|
|
14327
|
-
<p class="horizontal-file-name"
|
|
14310
|
+
<p class="horizontal-file-name">${e.name}</p>
|
|
14328
14311
|
</div>
|
|
14329
14312
|
<slot @click=${t=>VL(e,t)} name="cancelIcon">
|
|
14330
14313
|
<nile-icon
|
|
@@ -14336,40 +14319,38 @@ nile-badge::part(content) {
|
|
|
14336
14319
|
</div>
|
|
14337
14320
|
`}function GL(e,t,i){return R`
|
|
14338
14321
|
<div class="preview horizontal-div" part="horizontal-preview-state">
|
|
14339
|
-
<div class="preview-inner"
|
|
14340
|
-
<div class="preview-image-container"
|
|
14322
|
+
<div class="preview-inner">
|
|
14323
|
+
<div class="preview-image-container">
|
|
14341
14324
|
<img
|
|
14342
14325
|
class="image-preview"
|
|
14343
14326
|
src=${e}
|
|
14344
14327
|
alt=${t.name}
|
|
14345
|
-
part="horizontal-preview-image"
|
|
14346
14328
|
/>
|
|
14347
14329
|
</div>
|
|
14348
|
-
<div class="preview-file-info"
|
|
14349
|
-
<p
|
|
14350
|
-
<p
|
|
14330
|
+
<div class="preview-file-info">
|
|
14331
|
+
<p>${t.name}</p>
|
|
14332
|
+
<p>${PL(t.type)} • ${WL(Number(t.size))}</p>
|
|
14351
14333
|
</div>
|
|
14352
14334
|
</div>
|
|
14353
|
-
<div class="preview-actions"
|
|
14335
|
+
<div class="preview-actions">
|
|
14354
14336
|
<slot @click=${e=>ZL(t,e,i)} name="cancel-icon">
|
|
14355
14337
|
<nile-icon
|
|
14356
14338
|
name="trash"
|
|
14357
14339
|
size="14"
|
|
14358
14340
|
class="icon"
|
|
14359
|
-
part="horizontal-preview-actions-icon"
|
|
14360
14341
|
></nile-icon>
|
|
14361
14342
|
</slot>
|
|
14362
14343
|
</div>
|
|
14363
14344
|
</div>
|
|
14364
14345
|
`}function _L(e,t){return R`
|
|
14365
14346
|
<div class="no-preview horizontal-div" part="horizontal-no-preview-state">
|
|
14366
|
-
<div class="no-preview-container"
|
|
14367
|
-
<div class="document-icon"
|
|
14347
|
+
<div class="no-preview-container">
|
|
14348
|
+
<div class="document-icon">
|
|
14368
14349
|
<nile-icon name="general" size="20" color="var(--nile-colors-blue-500)"></nile-icon>
|
|
14369
14350
|
</div>
|
|
14370
|
-
<div class="preview-file-info"
|
|
14371
|
-
<p
|
|
14372
|
-
<p
|
|
14351
|
+
<div class="preview-file-info">
|
|
14352
|
+
<p>${e.name}</p>
|
|
14353
|
+
<p>${PL(e.type)} • ${WL(Number(e.size))}</p>
|
|
14373
14354
|
</div>
|
|
14374
14355
|
</div>
|
|
14375
14356
|
<div>
|
|
@@ -14378,19 +14359,18 @@ nile-badge::part(content) {
|
|
|
14378
14359
|
name="trash"
|
|
14379
14360
|
size="14"
|
|
14380
14361
|
class="icon"
|
|
14381
|
-
part="horizontal-no-preview-actions-icon"
|
|
14382
14362
|
></nile-icon>
|
|
14383
14363
|
</slot>
|
|
14384
14364
|
</div>
|
|
14385
14365
|
</div>
|
|
14386
14366
|
`}function FL(e,t,i,M){return RL(M),R`
|
|
14387
14367
|
<div class="error horizontal-div" part="horizontal-error-state">
|
|
14388
|
-
<div class="error-container"
|
|
14389
|
-
<div class="error-icon"
|
|
14368
|
+
<div class="error-container">
|
|
14369
|
+
<div class="error-icon">
|
|
14390
14370
|
<nile-icon name="info-icon" size="20" color="var(--nile-colors-red-700)"></nile-icon>
|
|
14391
14371
|
</div>
|
|
14392
|
-
<div class="file-info"
|
|
14393
|
-
<p class="horizontal-file-name"
|
|
14372
|
+
<div class="file-info">
|
|
14373
|
+
<p class="horizontal-file-name">${e.name}</p>
|
|
14394
14374
|
${M.isStringTruncated?R`<nile-tooltip content=${t}>
|
|
14395
14375
|
<span>${t}</span>
|
|
14396
14376
|
</nile-tooltip>`:R`<span>${t}</span>`}
|
|
@@ -14401,23 +14381,22 @@ nile-badge::part(content) {
|
|
|
14401
14381
|
name="close"
|
|
14402
14382
|
size="14"
|
|
14403
14383
|
class="icon"
|
|
14404
|
-
part="horizontal-error-actions-icon"
|
|
14405
14384
|
></nile-icon>
|
|
14406
14385
|
</slot>
|
|
14407
14386
|
</div>
|
|
14408
14387
|
`}function HL(e,t){return R`
|
|
14409
14388
|
<div class="vertical-div vertical-uploading" part="vertical-uploading-state">
|
|
14410
|
-
<div class="loading"
|
|
14389
|
+
<div class="loading">
|
|
14411
14390
|
<nile-loader width="24" height="24"></nile-loader>
|
|
14412
14391
|
</div>
|
|
14413
14392
|
|
|
14414
|
-
<div class="progress-bar-container"
|
|
14415
|
-
<div class="progress-bar-percent"
|
|
14416
|
-
<p
|
|
14417
|
-
<p
|
|
14393
|
+
<div class="progress-bar-container">
|
|
14394
|
+
<div class="progress-bar-percent">
|
|
14395
|
+
<p>Uploading...</p>
|
|
14396
|
+
<p>${t}%</p>
|
|
14418
14397
|
</div>
|
|
14419
14398
|
<nile-progress-bar value=${t}></nile-progress-bar>
|
|
14420
|
-
<p class="vertical-file-name"
|
|
14399
|
+
<p class="vertical-file-name">${e.name}</p>
|
|
14421
14400
|
</div>
|
|
14422
14401
|
|
|
14423
14402
|
<slot @click=${t=>VL(e,t)} name="cancelIcon">
|
|
@@ -14425,24 +14404,22 @@ nile-badge::part(content) {
|
|
|
14425
14404
|
name="close"
|
|
14426
14405
|
size="14"
|
|
14427
14406
|
class="icon corner-icon"
|
|
14428
|
-
part="vertical-uploading-actions-icon"
|
|
14429
14407
|
></nile-icon>
|
|
14430
14408
|
</slot>
|
|
14431
14409
|
</div>
|
|
14432
14410
|
`}function JL(e,t,i){return R`
|
|
14433
14411
|
<div class="vertical-div vertical-preview" part="vertical-preview-state">
|
|
14434
|
-
<div
|
|
14412
|
+
<div>
|
|
14435
14413
|
<img
|
|
14436
14414
|
class="image-preview"
|
|
14437
|
-
part="vertical-preview-image"
|
|
14438
14415
|
src=${e}
|
|
14439
14416
|
alt=${t.name}
|
|
14440
14417
|
/>
|
|
14441
14418
|
</div>
|
|
14442
14419
|
|
|
14443
|
-
<div class="content-container"
|
|
14444
|
-
<p
|
|
14445
|
-
<p
|
|
14420
|
+
<div class="content-container">
|
|
14421
|
+
<p>${t.name}</p>
|
|
14422
|
+
<p>${PL(t.type)} • ${WL(Number(t.size))}</p>
|
|
14446
14423
|
</div>
|
|
14447
14424
|
|
|
14448
14425
|
<slot @click=${e=>ZL(t,e,i)} name="cancelIcon">
|
|
@@ -14450,19 +14427,18 @@ nile-badge::part(content) {
|
|
|
14450
14427
|
name="trash"
|
|
14451
14428
|
size="14"
|
|
14452
14429
|
class="icon corner-icon"
|
|
14453
|
-
part="vertical-preview-actions-icon"
|
|
14454
14430
|
></nile-icon>
|
|
14455
14431
|
</slot>
|
|
14456
14432
|
</div>
|
|
14457
14433
|
`}function $L(e,t){return R`
|
|
14458
14434
|
<div class="vertical-div vertical-no-preview" part="vertical-no-preview-state">
|
|
14459
|
-
<div class="vertical-document-icon"
|
|
14435
|
+
<div class="vertical-document-icon">
|
|
14460
14436
|
<nile-icon name="general" size="20" color="var(--nile-colors-blue-500)"></nile-icon>
|
|
14461
14437
|
</div>
|
|
14462
14438
|
|
|
14463
|
-
<div class="content-container"
|
|
14464
|
-
<p
|
|
14465
|
-
<p
|
|
14439
|
+
<div class="content-container">
|
|
14440
|
+
<p>${e.name}</p>
|
|
14441
|
+
<p>${PL(e.type)} • ${WL(Number(e.size))}</p>
|
|
14466
14442
|
</div>
|
|
14467
14443
|
|
|
14468
14444
|
<slot @click=${i=>ZL(e,i,t)} name="cancelIcon">
|
|
@@ -14470,18 +14446,17 @@ nile-badge::part(content) {
|
|
|
14470
14446
|
name="trash"
|
|
14471
14447
|
size="14"
|
|
14472
14448
|
class="icon corner-icon"
|
|
14473
|
-
part="vertical-no-preview-actions-icon"
|
|
14474
14449
|
></nile-icon>
|
|
14475
14450
|
</slot>
|
|
14476
14451
|
</div>
|
|
14477
14452
|
`}function XL(e,t,i,M){return RL(M),R`
|
|
14478
14453
|
<div class="vertical-div vertical-error" part="vertical-error-state">
|
|
14479
|
-
<div class="vertical-document-icon error-bg"
|
|
14454
|
+
<div class="vertical-document-icon error-bg">
|
|
14480
14455
|
<nile-icon name="info-icon" size="20" color="var(--nile-colors-red-700)"></nile-icon>
|
|
14481
14456
|
</div>
|
|
14482
14457
|
|
|
14483
|
-
<div class="file-info-vertical-state"
|
|
14484
|
-
<p class="vertical-file-name"
|
|
14458
|
+
<div class="file-info-vertical-state">
|
|
14459
|
+
<p class="vertical-file-name">${e.name}</p>
|
|
14485
14460
|
${M.isStringTruncated?R`<nile-tooltip content=${t}>
|
|
14486
14461
|
<span>${t}</span>
|
|
14487
14462
|
</nile-tooltip>`:R`<span>${t}</span>`}
|
|
@@ -14492,7 +14467,6 @@ nile-badge::part(content) {
|
|
|
14492
14467
|
name="close"
|
|
14493
14468
|
size="14"
|
|
14494
14469
|
class="icon corner-icon"
|
|
14495
|
-
part="vertical-error-actions-icon"
|
|
14496
14470
|
></nile-icon>
|
|
14497
14471
|
</slot>
|
|
14498
14472
|
</div>
|
|
@@ -15163,7 +15137,7 @@ nile-rte-toolbar-item nile-button[data-active]::part(base):hover {
|
|
|
15163
15137
|
|
|
15164
15138
|
|
|
15165
15139
|
|
|
15166
|
-
`,qS={bold:"format_bold",italic:"format_italic",underline:"format_underline",link:"link_2",left:"format_align_left",center:"format_align_middle",right:"format_align_right",justify:"format_align_justify",ul:"format_list_bulleted",ol:"format_list_numbered",clear:"format_clear"},KS=["font-weight","font-style","text-decoration","color","background-color","font-size","font-family","text-align","line-height","letter-spacing","white-space","vertical-align","list-style-position","padding-inline-start"];let em=class extends ae{constructor(){super(...arguments),this.value="",this.noStyles=!1,this.singleLineEditor=!1,this.placeholder="",this.mentions={},this.whitelist=[],this.content="",this.previewEl=null,this.toolbarEl=null,this.lastRange=null,this.buttonMap=new Map,this.headingSelect=null,this.fontSelect=null,this.colorInput=null,this.bgColorInput=null,this.colorSwatchEl=null,this.bgSwatchEl=null,this.containerEl=null,this.mentionsEl=null,this.onEditorKeydown=e=>{if(this.singleLineEditor&&"Enter"===e.key&&e.shiftKey)return void e.preventDefault();if(e.ctrlKey&&"i"===e.key.toLowerCase()&&(e.preventDefault(),RS(this.editorEl,"em"),this.updateContent(),this.updateToolbarState()),this.singleLineEditor&&"Enter"===e.key)return void e.preventDefault();if("Tab"!==e.key)return;e.preventDefault(),this.focusAndRestore();const t=window.getSelection();if(!t||0===t.rangeCount)return;const i=t.getRangeAt(0);if(e.shiftKey){if(i.collapsed&&i.startContainer.nodeType===Node.TEXT_NODE){const e=i.startContainer,M=i.startOffset,n=e.data.slice(0,M),o=n.replace(/(\t|[ \u00a0]{2})$/,"");if(o.length!==n.length){e.data=o+e.data.slice(M);const i=document.createRange();i.setStart(e,o.length),i.collapse(!0),t.removeAllRanges(),t.addRange(i),this.updateContent(),this.updateToolbarState()}}return}i.deleteContents();const M=document.createTextNode("\t");i.insertNode(M);const n=document.createRange();n.setStartAfter(M),n.collapse(!0),t.removeAllRanges(),t.addRange(n),this.updateContent(),this.updateToolbarState()},this.onSelectionChange=()=>{if(!this.editorEl)return;const e=document.getSelection();if(!e||0===e.rangeCount)return;const t=e.getRangeAt(0);this.editorEl.contains(t.commonAncestorContainer)&&(this.lastRange=t.cloneRange(),this.updateToolbarState())}}createRenderRoot(){return this}injectCss(e){if(this.querySelector("style[data-rte-style]"))return;const t=document.createElement("style");t.setAttribute("data-rte-style","true"),t.textContent=e,this.insertBefore(t,this.firstChild)}connectedCallback(){super.connectedCallback(),this.injectCss(XS.cssText),this.ensureStructure(),this.placeholder&&this.editorEl&&(this.editorEl.dataset.placeholder=this.placeholder),this.value&&!this.editorEl.innerHTML.trim()&&(this.editorEl.innerHTML=this.value),this.content=this.editorEl.innerHTML,this.toolbarEl&&this.wireAuthoredToolbar(this.toolbarEl),this.mentionsEl=this.querySelector("nile-rte-mentions"),this.mentionsEl&&(this.mentionsEl.attach?.(this.editorEl,this),this.mentionsEl.setExternalConfig?.(this.mentions)),this.wireEditor(),document.addEventListener("selectionchange",this.onSelectionChange,{passive:!0}),this.updateToolbarState(),this.syncPreview()}ensureStructure(){this.toolbarEl=this.querySelector("nile-rte-toolbar"),this.previewEl=this.querySelector("nile-rte-preview"),this.containerEl=this.querySelector(".rte-container"),this.containerEl||(this.containerEl=document.createElement("div"),this.containerEl.className="rte-container",this.appendChild(this.containerEl)),this.ensureEditor(),this.toolbarEl&&this.toolbarEl.parentElement!==this.containerEl&&this.containerEl.appendChild(this.toolbarEl),this.editorEl.parentElement!==this.containerEl&&this.containerEl.appendChild(this.editorEl),this.previewEl&&(this.previewEl.parentElement!==this&&this.appendChild(this.previewEl),this.previewEl.previousElementSibling!==this.containerEl&&this.insertBefore(this.previewEl,this.containerEl.nextSibling))}updateContentWithMention(e){this.updateContent(),this.dispatchEvent(new CustomEvent("nile-change",{detail:{content:this.content,mention:e},bubbles:!0,composed:!0}))}disconnectedCallback(){document.removeEventListener("selectionchange",this.onSelectionChange),this.mentionsEl&&this.mentionsEl.detach&&this.mentionsEl.detach(),super.disconnectedCallback()}updated(e){e.has("value")&&this.editorEl&&this.value!==this.editorEl.innerHTML&&(this.editorEl.innerHTML=this.value||"<p><br></p>",this.content=this.editorEl.innerHTML,this.syncPreview()),e.has("singleLineEditor")&&(this.editorEl&&this.editorEl.classList.toggle("single-line",this.singleLineEditor),this.previewEl&&this.previewEl.classList.toggle("single-line",this.singleLineEditor))}ensureEditor(){if(this.editorEl=this.querySelector(".editor"),!this.editorEl){const e=document.createElement("article");e.className="editor",e.setAttribute("contenteditable","true"),this.editorEl=e}this.placeholder&&(this.editorEl.dataset.placeholder=this.placeholder),this.editorEl.innerHTML.trim()||(this.editorEl.innerHTML="<p><br></p>")}unwrapMention(e,t=!0){const i=e.parentNode;if(!i)return;const M=t?(e.textContent??"").replace(/\u200B/g,""):"",n=document.createTextNode(M);i.insertBefore(n,e),i.removeChild(e);const o=document.createRange();o.setStartAfter(n),o.collapse(!0);const r=window.getSelection();r?.removeAllRanges(),r?.addRange(o)}scrubBrokenMentions(){if(!this.editorEl)return;this.editorEl.querySelectorAll("span.mention").forEach((e=>{const t=e,i=t.getAttribute("data-mention-key"),M=t.getAttribute("data-mention-label"),n=t.getAttribute("data-mention-trigger")||"",o=(t.textContent??"").replace(/\u200B/g,"").trim(),r=!!i&&!!M&&o.length>0&&o.startsWith(n)&&o.includes(M);o&&r||this.unwrapMention(t,!0)}))}wireEditor(){this.editorEl.addEventListener("input",(()=>{this.ensureAtLeastOneParagraph(),this.scrubBrokenMentions(),this.updateContent(),this.updateToolbarState()})),this.editorEl.addEventListener("mouseup",(()=>{this.saveSelection(),this.updateToolbarState()})),this.editorEl.addEventListener("keyup",(e=>{this.saveSelection(),["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(e.key)&&this.updateToolbarState()})),this.editorEl.addEventListener("keydown",this.onEditorKeydown)}wireAuthoredToolbar(e){this.buttonMap.clear(),this.headingSelect=null,this.fontSelect=null,this.colorInput=null,Array.from(e.children).forEach((e=>{const t=e.tagName.toLowerCase();if("nile-rte-select"!==t||"align"!==e.getAttribute("type")){if("nile-rte-link"===t)return e.editorEl=this.editorEl,void e.addEventListener("link-changed",(()=>{this.updateContent(),this.updateToolbarState()}));if("nile-rte-toolbar-item"===t){let t=e.querySelector(":scope > nile-button");const i=e.getAttribute("name")||"",M=e.getAttribute("label")||i,n=e.getAttribute("icon"),o=e.innerHTML.trim().length>0;if(t||(t=document.createElement("nile-button"),t.variant="tertiary",t.size="small"),n)t.innerHTML=`<nile-icon name="${n}" aria-label="${M}"></nile-icon>`,e.innerHTML="";else if(o)t.innerHTML=e.innerHTML,e.innerHTML="";else{const n=qS[i];n?t.innerHTML=`<nile-icon name="${n}" size="20" color="black" aria-label="${M}"></nile-icon>`:t.textContent=M||i,e.innerHTML=""}if(!t.isConnected){const i=document.createElement("nile-lite-tooltip");i.setAttribute("content",M),i.appendChild(t),e.appendChild(i)}t.setAttribute("aria-label",M),t.addEventListener("mousedown",(e=>e.preventDefault())),t.addEventListener("click",(()=>this.onToolbarCommand(i)));const r=this.buttonMap.get(i)??[];return r.push(t),void this.buttonMap.set(i,r)}if("nile-rte-select"!==t)"nile-rte-color"!==t||e.addEventListener("change",(e=>{this.focusAndRestore();const{mode:t,value:i}=e.detail;"backColor"===t?FS(this.editorEl,"backgroundColor",i,"data-rte-bg"):function(e,t){FS(e,"color",t,"data-rte-color")}(this.editorEl,i),this.updateContent(),this.updateToolbarState()}));else{const t=e.getAttribute("type")||"";e.addEventListener("change",(e=>{this.focusAndRestore();const i=e.detail;"heading"===t?function(e,t){const i=document.getSelection();if(!i||0===i.rangeCount)return;const M=WS(i.getRangeAt(0).startContainer,e);if(!M)return;if(M.tagName.toLowerCase()===t)return;const n=document.createElement(t);for(;M.firstChild;)n.appendChild(M.firstChild);M.replaceWith(n);const o=document.createRange();o.selectNodeContents(n),o.collapse(!0),i.removeAllRanges(),i.addRange(o)}(this.editorEl,i):"font"===t&&GS(this.editorEl,i),this.updateContent(),this.updateToolbarState()}))}}else e.addEventListener("change",(e=>{this.focusAndRestore();const t=e.detail;PS(this.editorEl,t),this.updateContent(),this.updateToolbarState()}))}))}saveSelection(){const e=window.getSelection();e&&e.rangeCount&&(this.lastRange=e.getRangeAt(0).cloneRange())}restoreSelection(){if(!this.lastRange)return;const e=document.getSelection();e&&(e.removeAllRanges(),e.addRange(this.lastRange))}focusAndRestore(){this.editorEl?.focus(),this.restoreSelection()}getCleanContent(){const e=this.editorEl.cloneNode(!0);return e.querySelectorAll("*").forEach((e=>{e.removeAttribute("style")})),e.innerHTML}insertList(e){if(this.restoreSelection(),!this.lastRange)return;const t=document.createElement(e),i=this.lastRange.extractContents(),M=document.createElement("div");M.appendChild(i),Array.from(M.childNodes).forEach((e=>{if(e.nodeType===Node.TEXT_NODE&&!e.textContent?.trim())return;const i=document.createElement("li");i.appendChild(e),t.appendChild(i)})),this.lastRange.insertNode(t),this.afterListEdit(t)}afterListEdit(e){const t=document.createRange();t.setStartAfter(e),t.collapse(!0);const i=window.getSelection();i?.removeAllRanges(),i?.addRange(t),this.saveSelection(),this.updateContent(),this.updateToolbarState()}ensureAtLeastOneParagraph(){const e=this.editorEl;if(!e)return;const t=""===(e.textContent??"").replace(/\u200B/g,"").trim();if(0===e.childNodes.length||t)return void(e.innerHTML="<p><br></p>");if(!e.querySelector("p,h1,h2,h3,h4,h5,h6,ul,ol,table,blockquote,pre")){const t=document.createElement("p");for(;e.firstChild;)t.appendChild(e.firstChild);return t.hasChildNodes()||t.appendChild(document.createElement("br")),void e.appendChild(t)}e.querySelectorAll("p").forEach((e=>{""===(e.textContent??"").replace(/\u200B/g,"")&&(e.innerHTML.toLowerCase().includes("<br")||(e.innerHTML="<br>"))}))}onToolbarCommand(e){switch(this.focusAndRestore(),e){case"bold":RS(this.editorEl,"strong");break;case"italic":RS(this.editorEl,"em");break;case"underline":RS(this.editorEl,"u");break;case"left":PS(this.editorEl,"left");break;case"center":PS(this.editorEl,"center");break;case"right":PS(this.editorEl,"right");break;case"justify":PS(this.editorEl,"justify");break;case"ul":$S(this.editorEl,"ul"),this.updateContent(),this.updateToolbarState();break;case"ol":$S(this.editorEl,"ol"),this.updateContent(),this.updateToolbarState();break;case"link":break;case"clear":const e=document.createTreeWalker(this.editorEl,NodeFilter.SHOW_ELEMENT),t=[];for(;e.nextNode();){const i=e.currentNode;i.removeAttribute("style"),["B","STRONG","I","EM","U","SPAN","FONT"].includes(i.tagName)&&t.push(i)}for(const e of t){for(;e.firstChild;)e.parentNode?.insertBefore(e.firstChild,e);e.remove()}this.ensureAtLeastOneParagraph()}this.updateContent(),this.updateToolbarState()}setBtnActive(e,t){const i=this.buttonMap.get(e);if(i)for(const e of i)e.toggleAttribute("data-active",!!t)}updateToolbarState(){if(!this.editorEl)return;const e=document.getSelection();if(!e||0===e.rangeCount)return;const t=e.getRangeAt(0);if(!this.editorEl.contains(t.commonAncestorContainer))return;const i=function(e){for(;e&&!(e instanceof HTMLElement);)e=e.parentNode;return e}(t.startContainer)||this.editorEl,M=getComputedStyle(i),n=WS(t.startContainer,this.editorEl)||this.editorEl,o=(()=>{let e=i;for(;e&&e!==this.editorEl;){if(e instanceof HTMLElement){const t=e.tagName.toLowerCase();if("strong"===t||"b"===t)return!0;const i=getComputedStyle(e).fontWeight;if(parseInt(i,10)>=600)return!0}e=e.parentNode}return!1})(),r=(()=>{let e=i;for(;e&&e!==this.editorEl;){if(e instanceof HTMLElement){const t=e.tagName.toLowerCase();if("em"===t||"i"===t)return!0;if("italic"===getComputedStyle(e).fontStyle)return!0}e=e.parentNode}return!1})(),s=(()=>{let e=i;for(;e&&e!==this.editorEl;){if(e instanceof HTMLElement){const t=getComputedStyle(e).textDecorationLine;if(t&&t.includes("underline"))return!0;if("u"===e.tagName.toLowerCase())return!0}e=e.parentNode}return!1})(),a=!!i.closest("a"),l=n.style.textAlign||getComputedStyle(n).textAlign||"start",N="start"===l?"left":l,g=!!i.closest("li")&&i.closest("ul,ol")?.tagName.toLowerCase()||"";if(this.setBtnActive("bold",o),this.setBtnActive("italic",r),this.setBtnActive("underline",s),this.setBtnActive("link",a),this.setBtnActive("left","left"===N&&!["center","right","justify"].includes(N)),this.setBtnActive("center","center"===N),this.setBtnActive("right","right"===N),this.setBtnActive("justify","justify"===N),this.setBtnActive("ul","ul"===g),this.setBtnActive("ol","ol"===g),this.headingSelect){const e=n.tagName.toLowerCase(),t=["h1","h2","h3"].includes(e)?e:"p";this.headingSelect.value!==t&&(this.headingSelect.value=t)}if(this.fontSelect){const e=(M.fontFamily||"").replace(/["']/g,"").split(",")[0].trim().toLowerCase();if(e)for(const t of Array.from(this.fontSelect.options))if(t.value.toLowerCase()===e){this.fontSelect.value=t.value;break}}if(this.colorInput){const e=BS(M.color);e&&this.colorInput.value.toLowerCase()!==e.toLowerCase()&&(this.colorInput.value=e),this.colorSwatchEl&&(this.colorSwatchEl.style.backgroundColor=this.colorInput.value)}if(this.bgColorInput){const e=getComputedStyle(i).backgroundColor;if(e&&!/transparent|rgba\(\s*0\s*,\s*0\s*,\s*0\s*,\s*0\s*\)/i.test(e)){const t=BS(e);t&&this.bgColorInput.value.toLowerCase()!==t.toLowerCase()&&(this.bgColorInput.value=t)}this.bgSwatchEl&&(this.bgSwatchEl.style.backgroundColor=this.bgColorInput.value)}}syncPreview(){this.updateContent()}getComputedImportantProps(){return Array.from(new Set([...KS,...this.whitelist??[]]))}updateContent(){if(!this.editorEl)return;this.ensureAtLeastOneParagraph();const e=""===(this.editorEl.textContent??"").trim();this.editorEl.classList.toggle("empty",e);const t=this.editorEl.cloneNode(!0);if(this.noStyles)t.querySelectorAll("[style]").forEach((e=>e.removeAttribute("style")));else{const e=document.createTreeWalker(this.editorEl,NodeFilter.SHOW_ELEMENT),i=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT),M=this.getComputedImportantProps();for(;e.nextNode()&&i.nextNode();){const t=e.currentNode,n=i.currentNode,o=window.getComputedStyle(t),r=M.map((e=>`${e}:${o.getPropertyValue(e)}`)).join(";");r.trim()&&n.setAttribute("style",r)}}this.content=t.innerHTML,this.previewEl&&(this.previewEl.innerHTML=this.content),this.dispatchEvent(new CustomEvent("nile-change",{detail:{content:this.content},bubbles:!0,composed:!0}))}};e([ce({type:String,attribute:!0,reflect:!0})],em.prototype,"value",void 0),e([ce({type:Boolean,attribute:!0,reflect:!0})],em.prototype,"noStyles",void 0),e([ce({type:Boolean,attribute:"singlelineeditor",reflect:!0})],em.prototype,"singleLineEditor",void 0),e([ce({type:String})],em.prototype,"placeholder",void 0),e([ce({attribute:"mentions",reflect:!0,converter:{fromAttribute:e=>{try{const t=JSON.parse(e),i={};for(const e of Object.keys(t)){const M=t[e];Array.isArray(M)&&(i[e]=M.filter((e=>e&&"string"==typeof e.key&&"string"==typeof e.label)).map((e=>({key:e.key,label:e.label}))))}return i}catch{return{}}},toAttribute:e=>JSON.stringify(e)}})],em.prototype,"mentions",void 0),e([ce({attribute:"whitelist",reflect:!1,converter:{fromAttribute:e=>{try{const t=JSON.parse(e);return Array.isArray(t)?t.filter((e=>"string"==typeof e)):[]}catch{return[]}}}})],em.prototype,"whitelist",void 0),e([De()],em.prototype,"content",void 0),em=e([Ne("nile-rich-text-editor")],em);"undefined"!=typeof window&&(window.nileElementsVersion='"1.4.8-beta-1.3"',window.nileVersion="__NILE_VERSION__",window.process=window.process||{env:{NODE_ENV:"production"}});const tm=r`
|
|
15140
|
+
`,qS={bold:"format_bold",italic:"format_italic",underline:"format_underline",link:"link_2",left:"format_align_left",center:"format_align_middle",right:"format_align_right",justify:"format_align_justify",ul:"format_list_bulleted",ol:"format_list_numbered",clear:"format_clear"},KS=["font-weight","font-style","text-decoration","color","background-color","font-size","font-family","text-align","line-height","letter-spacing","white-space","vertical-align","list-style-position","padding-inline-start"];let em=class extends ae{constructor(){super(...arguments),this.value="",this.noStyles=!1,this.singleLineEditor=!1,this.placeholder="",this.mentions={},this.whitelist=[],this.content="",this.previewEl=null,this.toolbarEl=null,this.lastRange=null,this.buttonMap=new Map,this.headingSelect=null,this.fontSelect=null,this.colorInput=null,this.bgColorInput=null,this.colorSwatchEl=null,this.bgSwatchEl=null,this.containerEl=null,this.mentionsEl=null,this.onEditorKeydown=e=>{if(this.singleLineEditor&&"Enter"===e.key&&e.shiftKey)return void e.preventDefault();if(e.ctrlKey&&"i"===e.key.toLowerCase()&&(e.preventDefault(),RS(this.editorEl,"em"),this.updateContent(),this.updateToolbarState()),this.singleLineEditor&&"Enter"===e.key)return void e.preventDefault();if("Tab"!==e.key)return;e.preventDefault(),this.focusAndRestore();const t=window.getSelection();if(!t||0===t.rangeCount)return;const i=t.getRangeAt(0);if(e.shiftKey){if(i.collapsed&&i.startContainer.nodeType===Node.TEXT_NODE){const e=i.startContainer,M=i.startOffset,n=e.data.slice(0,M),o=n.replace(/(\t|[ \u00a0]{2})$/,"");if(o.length!==n.length){e.data=o+e.data.slice(M);const i=document.createRange();i.setStart(e,o.length),i.collapse(!0),t.removeAllRanges(),t.addRange(i),this.updateContent(),this.updateToolbarState()}}return}i.deleteContents();const M=document.createTextNode("\t");i.insertNode(M);const n=document.createRange();n.setStartAfter(M),n.collapse(!0),t.removeAllRanges(),t.addRange(n),this.updateContent(),this.updateToolbarState()},this.onSelectionChange=()=>{if(!this.editorEl)return;const e=document.getSelection();if(!e||0===e.rangeCount)return;const t=e.getRangeAt(0);this.editorEl.contains(t.commonAncestorContainer)&&(this.lastRange=t.cloneRange(),this.updateToolbarState())}}createRenderRoot(){return this}injectCss(e){if(this.querySelector("style[data-rte-style]"))return;const t=document.createElement("style");t.setAttribute("data-rte-style","true"),t.textContent=e,this.insertBefore(t,this.firstChild)}connectedCallback(){super.connectedCallback(),this.injectCss(XS.cssText),this.ensureStructure(),this.placeholder&&this.editorEl&&(this.editorEl.dataset.placeholder=this.placeholder),this.value&&!this.editorEl.innerHTML.trim()&&(this.editorEl.innerHTML=this.value),this.content=this.editorEl.innerHTML,this.toolbarEl&&this.wireAuthoredToolbar(this.toolbarEl),this.mentionsEl=this.querySelector("nile-rte-mentions"),this.mentionsEl&&(this.mentionsEl.attach?.(this.editorEl,this),this.mentionsEl.setExternalConfig?.(this.mentions)),this.wireEditor(),document.addEventListener("selectionchange",this.onSelectionChange,{passive:!0}),this.updateToolbarState(),this.syncPreview()}ensureStructure(){this.toolbarEl=this.querySelector("nile-rte-toolbar"),this.previewEl=this.querySelector("nile-rte-preview"),this.containerEl=this.querySelector(".rte-container"),this.containerEl||(this.containerEl=document.createElement("div"),this.containerEl.className="rte-container",this.appendChild(this.containerEl)),this.ensureEditor(),this.toolbarEl&&this.toolbarEl.parentElement!==this.containerEl&&this.containerEl.appendChild(this.toolbarEl),this.editorEl.parentElement!==this.containerEl&&this.containerEl.appendChild(this.editorEl),this.previewEl&&(this.previewEl.parentElement!==this&&this.appendChild(this.previewEl),this.previewEl.previousElementSibling!==this.containerEl&&this.insertBefore(this.previewEl,this.containerEl.nextSibling))}updateContentWithMention(e){this.updateContent(),this.dispatchEvent(new CustomEvent("nile-change",{detail:{content:this.content,mention:e},bubbles:!0,composed:!0}))}disconnectedCallback(){document.removeEventListener("selectionchange",this.onSelectionChange),this.mentionsEl&&this.mentionsEl.detach&&this.mentionsEl.detach(),super.disconnectedCallback()}updated(e){e.has("value")&&this.editorEl&&this.value!==this.editorEl.innerHTML&&(this.editorEl.innerHTML=this.value||"<p><br></p>",this.content=this.editorEl.innerHTML,this.syncPreview()),e.has("singleLineEditor")&&(this.editorEl&&this.editorEl.classList.toggle("single-line",this.singleLineEditor),this.previewEl&&this.previewEl.classList.toggle("single-line",this.singleLineEditor))}ensureEditor(){if(this.editorEl=this.querySelector(".editor"),!this.editorEl){const e=document.createElement("article");e.className="editor",e.setAttribute("contenteditable","true"),this.editorEl=e}this.placeholder&&(this.editorEl.dataset.placeholder=this.placeholder),this.editorEl.innerHTML.trim()||(this.editorEl.innerHTML="<p><br></p>")}unwrapMention(e,t=!0){const i=e.parentNode;if(!i)return;const M=t?(e.textContent??"").replace(/\u200B/g,""):"",n=document.createTextNode(M);i.insertBefore(n,e),i.removeChild(e);const o=document.createRange();o.setStartAfter(n),o.collapse(!0);const r=window.getSelection();r?.removeAllRanges(),r?.addRange(o)}scrubBrokenMentions(){if(!this.editorEl)return;this.editorEl.querySelectorAll("span.mention").forEach((e=>{const t=e,i=t.getAttribute("data-mention-key"),M=t.getAttribute("data-mention-label"),n=t.getAttribute("data-mention-trigger")||"",o=(t.textContent??"").replace(/\u200B/g,"").trim(),r=!!i&&!!M&&o.length>0&&o.startsWith(n)&&o.includes(M);o&&r||this.unwrapMention(t,!0)}))}wireEditor(){this.editorEl.addEventListener("input",(()=>{this.ensureAtLeastOneParagraph(),this.scrubBrokenMentions(),this.updateContent(),this.updateToolbarState()})),this.editorEl.addEventListener("mouseup",(()=>{this.saveSelection(),this.updateToolbarState()})),this.editorEl.addEventListener("keyup",(e=>{this.saveSelection(),["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(e.key)&&this.updateToolbarState()})),this.editorEl.addEventListener("keydown",this.onEditorKeydown)}wireAuthoredToolbar(e){this.buttonMap.clear(),this.headingSelect=null,this.fontSelect=null,this.colorInput=null,Array.from(e.children).forEach((e=>{const t=e.tagName.toLowerCase();if("nile-rte-select"!==t||"align"!==e.getAttribute("type")){if("nile-rte-link"===t)return e.editorEl=this.editorEl,void e.addEventListener("link-changed",(()=>{this.updateContent(),this.updateToolbarState()}));if("nile-rte-toolbar-item"===t){let t=e.querySelector(":scope > nile-button");const i=e.getAttribute("name")||"",M=e.getAttribute("label")||i,n=e.getAttribute("icon"),o=e.innerHTML.trim().length>0;if(t||(t=document.createElement("nile-button"),t.variant="tertiary",t.size="small"),n)t.innerHTML=`<nile-icon name="${n}" aria-label="${M}"></nile-icon>`,e.innerHTML="";else if(o)t.innerHTML=e.innerHTML,e.innerHTML="";else{const n=qS[i];n?t.innerHTML=`<nile-icon name="${n}" size="20" color="black" aria-label="${M}"></nile-icon>`:t.textContent=M||i,e.innerHTML=""}if(!t.isConnected){const i=document.createElement("nile-lite-tooltip");i.setAttribute("content",M),i.appendChild(t),e.appendChild(i)}t.setAttribute("aria-label",M),t.addEventListener("mousedown",(e=>e.preventDefault())),t.addEventListener("click",(()=>this.onToolbarCommand(i)));const r=this.buttonMap.get(i)??[];return r.push(t),void this.buttonMap.set(i,r)}if("nile-rte-select"!==t)"nile-rte-color"!==t||e.addEventListener("change",(e=>{this.focusAndRestore();const{mode:t,value:i}=e.detail;"backColor"===t?FS(this.editorEl,"backgroundColor",i,"data-rte-bg"):function(e,t){FS(e,"color",t,"data-rte-color")}(this.editorEl,i),this.updateContent(),this.updateToolbarState()}));else{const t=e.getAttribute("type")||"";e.addEventListener("change",(e=>{this.focusAndRestore();const i=e.detail;"heading"===t?function(e,t){const i=document.getSelection();if(!i||0===i.rangeCount)return;const M=WS(i.getRangeAt(0).startContainer,e);if(!M)return;if(M.tagName.toLowerCase()===t)return;const n=document.createElement(t);for(;M.firstChild;)n.appendChild(M.firstChild);M.replaceWith(n);const o=document.createRange();o.selectNodeContents(n),o.collapse(!0),i.removeAllRanges(),i.addRange(o)}(this.editorEl,i):"font"===t&&GS(this.editorEl,i),this.updateContent(),this.updateToolbarState()}))}}else e.addEventListener("change",(e=>{this.focusAndRestore();const t=e.detail;PS(this.editorEl,t),this.updateContent(),this.updateToolbarState()}))}))}saveSelection(){const e=window.getSelection();e&&e.rangeCount&&(this.lastRange=e.getRangeAt(0).cloneRange())}restoreSelection(){if(!this.lastRange)return;const e=document.getSelection();e&&(e.removeAllRanges(),e.addRange(this.lastRange))}focusAndRestore(){this.editorEl?.focus(),this.restoreSelection()}getCleanContent(){const e=this.editorEl.cloneNode(!0);return e.querySelectorAll("*").forEach((e=>{e.removeAttribute("style")})),e.innerHTML}insertList(e){if(this.restoreSelection(),!this.lastRange)return;const t=document.createElement(e),i=this.lastRange.extractContents(),M=document.createElement("div");M.appendChild(i),Array.from(M.childNodes).forEach((e=>{if(e.nodeType===Node.TEXT_NODE&&!e.textContent?.trim())return;const i=document.createElement("li");i.appendChild(e),t.appendChild(i)})),this.lastRange.insertNode(t),this.afterListEdit(t)}afterListEdit(e){const t=document.createRange();t.setStartAfter(e),t.collapse(!0);const i=window.getSelection();i?.removeAllRanges(),i?.addRange(t),this.saveSelection(),this.updateContent(),this.updateToolbarState()}ensureAtLeastOneParagraph(){const e=this.editorEl;if(!e)return;const t=""===(e.textContent??"").replace(/\u200B/g,"").trim();if(0===e.childNodes.length||t)return void(e.innerHTML="<p><br></p>");if(!e.querySelector("p,h1,h2,h3,h4,h5,h6,ul,ol,table,blockquote,pre")){const t=document.createElement("p");for(;e.firstChild;)t.appendChild(e.firstChild);return t.hasChildNodes()||t.appendChild(document.createElement("br")),void e.appendChild(t)}e.querySelectorAll("p").forEach((e=>{""===(e.textContent??"").replace(/\u200B/g,"")&&(e.innerHTML.toLowerCase().includes("<br")||(e.innerHTML="<br>"))}))}onToolbarCommand(e){switch(this.focusAndRestore(),e){case"bold":RS(this.editorEl,"strong");break;case"italic":RS(this.editorEl,"em");break;case"underline":RS(this.editorEl,"u");break;case"left":PS(this.editorEl,"left");break;case"center":PS(this.editorEl,"center");break;case"right":PS(this.editorEl,"right");break;case"justify":PS(this.editorEl,"justify");break;case"ul":$S(this.editorEl,"ul"),this.updateContent(),this.updateToolbarState();break;case"ol":$S(this.editorEl,"ol"),this.updateContent(),this.updateToolbarState();break;case"link":break;case"clear":const e=document.createTreeWalker(this.editorEl,NodeFilter.SHOW_ELEMENT),t=[];for(;e.nextNode();){const i=e.currentNode;i.removeAttribute("style"),["B","STRONG","I","EM","U","SPAN","FONT"].includes(i.tagName)&&t.push(i)}for(const e of t){for(;e.firstChild;)e.parentNode?.insertBefore(e.firstChild,e);e.remove()}this.ensureAtLeastOneParagraph()}this.updateContent(),this.updateToolbarState()}setBtnActive(e,t){const i=this.buttonMap.get(e);if(i)for(const e of i)e.toggleAttribute("data-active",!!t)}updateToolbarState(){if(!this.editorEl)return;const e=document.getSelection();if(!e||0===e.rangeCount)return;const t=e.getRangeAt(0);if(!this.editorEl.contains(t.commonAncestorContainer))return;const i=function(e){for(;e&&!(e instanceof HTMLElement);)e=e.parentNode;return e}(t.startContainer)||this.editorEl,M=getComputedStyle(i),n=WS(t.startContainer,this.editorEl)||this.editorEl,o=(()=>{let e=i;for(;e&&e!==this.editorEl;){if(e instanceof HTMLElement){const t=e.tagName.toLowerCase();if("strong"===t||"b"===t)return!0;const i=getComputedStyle(e).fontWeight;if(parseInt(i,10)>=600)return!0}e=e.parentNode}return!1})(),r=(()=>{let e=i;for(;e&&e!==this.editorEl;){if(e instanceof HTMLElement){const t=e.tagName.toLowerCase();if("em"===t||"i"===t)return!0;if("italic"===getComputedStyle(e).fontStyle)return!0}e=e.parentNode}return!1})(),s=(()=>{let e=i;for(;e&&e!==this.editorEl;){if(e instanceof HTMLElement){const t=getComputedStyle(e).textDecorationLine;if(t&&t.includes("underline"))return!0;if("u"===e.tagName.toLowerCase())return!0}e=e.parentNode}return!1})(),a=!!i.closest("a"),l=n.style.textAlign||getComputedStyle(n).textAlign||"start",N="start"===l?"left":l,g=!!i.closest("li")&&i.closest("ul,ol")?.tagName.toLowerCase()||"";if(this.setBtnActive("bold",o),this.setBtnActive("italic",r),this.setBtnActive("underline",s),this.setBtnActive("link",a),this.setBtnActive("left","left"===N&&!["center","right","justify"].includes(N)),this.setBtnActive("center","center"===N),this.setBtnActive("right","right"===N),this.setBtnActive("justify","justify"===N),this.setBtnActive("ul","ul"===g),this.setBtnActive("ol","ol"===g),this.headingSelect){const e=n.tagName.toLowerCase(),t=["h1","h2","h3"].includes(e)?e:"p";this.headingSelect.value!==t&&(this.headingSelect.value=t)}if(this.fontSelect){const e=(M.fontFamily||"").replace(/["']/g,"").split(",")[0].trim().toLowerCase();if(e)for(const t of Array.from(this.fontSelect.options))if(t.value.toLowerCase()===e){this.fontSelect.value=t.value;break}}if(this.colorInput){const e=BS(M.color);e&&this.colorInput.value.toLowerCase()!==e.toLowerCase()&&(this.colorInput.value=e),this.colorSwatchEl&&(this.colorSwatchEl.style.backgroundColor=this.colorInput.value)}if(this.bgColorInput){const e=getComputedStyle(i).backgroundColor;if(e&&!/transparent|rgba\(\s*0\s*,\s*0\s*,\s*0\s*,\s*0\s*\)/i.test(e)){const t=BS(e);t&&this.bgColorInput.value.toLowerCase()!==t.toLowerCase()&&(this.bgColorInput.value=t)}this.bgSwatchEl&&(this.bgSwatchEl.style.backgroundColor=this.bgColorInput.value)}}syncPreview(){this.updateContent()}getComputedImportantProps(){return Array.from(new Set([...KS,...this.whitelist??[]]))}updateContent(){if(!this.editorEl)return;this.ensureAtLeastOneParagraph();const e=""===(this.editorEl.textContent??"").trim();this.editorEl.classList.toggle("empty",e);const t=this.editorEl.cloneNode(!0);if(this.noStyles)t.querySelectorAll("[style]").forEach((e=>e.removeAttribute("style")));else{const e=document.createTreeWalker(this.editorEl,NodeFilter.SHOW_ELEMENT),i=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT),M=this.getComputedImportantProps();for(;e.nextNode()&&i.nextNode();){const t=e.currentNode,n=i.currentNode,o=window.getComputedStyle(t),r=M.map((e=>`${e}:${o.getPropertyValue(e)}`)).join(";");r.trim()&&n.setAttribute("style",r)}}this.content=t.innerHTML,this.previewEl&&(this.previewEl.innerHTML=this.content),this.dispatchEvent(new CustomEvent("nile-change",{detail:{content:this.content},bubbles:!0,composed:!0}))}};e([ce({type:String,attribute:!0,reflect:!0})],em.prototype,"value",void 0),e([ce({type:Boolean,attribute:!0,reflect:!0})],em.prototype,"noStyles",void 0),e([ce({type:Boolean,attribute:"singlelineeditor",reflect:!0})],em.prototype,"singleLineEditor",void 0),e([ce({type:String})],em.prototype,"placeholder",void 0),e([ce({attribute:"mentions",reflect:!0,converter:{fromAttribute:e=>{try{const t=JSON.parse(e),i={};for(const e of Object.keys(t)){const M=t[e];Array.isArray(M)&&(i[e]=M.filter((e=>e&&"string"==typeof e.key&&"string"==typeof e.label)).map((e=>({key:e.key,label:e.label}))))}return i}catch{return{}}},toAttribute:e=>JSON.stringify(e)}})],em.prototype,"mentions",void 0),e([ce({attribute:"whitelist",reflect:!1,converter:{fromAttribute:e=>{try{const t=JSON.parse(e);return Array.isArray(t)?t.filter((e=>"string"==typeof e)):[]}catch{return[]}}}})],em.prototype,"whitelist",void 0),e([De()],em.prototype,"content",void 0),em=e([Ne("nile-rich-text-editor")],em);"undefined"!=typeof window&&(window.nileElementsVersion='"1.4.8"',window.nileVersion="__NILE_VERSION__",window.process=window.process||{env:{NODE_ENV:"production"}});const tm=r`
|
|
15167
15141
|
:host {
|
|
15168
15142
|
|
|
15169
15143
|
top: 0;
|