@creaditor/newsletter-starterkit 1.0.54 → 1.0.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/1260.creaditor.bundle.js +66 -22
  2. package/dist/1260.creaditor.bundle.js.gz +0 -0
  3. package/dist/1271.creaditor.bundle.js +1 -439
  4. package/dist/1271.creaditor.bundle.js.gz +0 -0
  5. package/dist/1403.creaditor.bundle.js +110 -0
  6. package/dist/1403.creaditor.bundle.js.gz +0 -0
  7. package/dist/1565.creaditor.bundle.js +106 -105
  8. package/dist/1565.creaditor.bundle.js.gz +0 -0
  9. package/dist/168.creaditor.bundle.js +4 -4
  10. package/dist/168.creaditor.bundle.js.gz +0 -0
  11. package/dist/170.creaditor.bundle.js +21 -20
  12. package/dist/170.creaditor.bundle.js.gz +0 -0
  13. package/dist/2384.creaditor.bundle.js +4 -4
  14. package/dist/2384.creaditor.bundle.js.gz +0 -0
  15. package/dist/4186.creaditor.bundle.js +1 -1
  16. package/dist/4186.creaditor.bundle.js.gz +0 -0
  17. package/dist/453.creaditor.bundle.js +11 -111
  18. package/dist/453.creaditor.bundle.js.gz +0 -0
  19. package/dist/4569.creaditor.bundle.js +64 -257
  20. package/dist/4569.creaditor.bundle.js.gz +0 -0
  21. package/dist/4819.creaditor.bundle.js +1 -1
  22. package/dist/4819.creaditor.bundle.js.gz +0 -0
  23. package/dist/4970.creaditor.bundle.js +1314 -0
  24. package/dist/4970.creaditor.bundle.js.gz +0 -0
  25. package/dist/5340.creaditor.bundle.js +19 -18
  26. package/dist/5340.creaditor.bundle.js.gz +0 -0
  27. package/dist/574.creaditor.bundle.js +5 -5
  28. package/dist/574.creaditor.bundle.js.gz +0 -0
  29. package/dist/5926.creaditor.bundle.js +10 -6
  30. package/dist/5926.creaditor.bundle.js.gz +0 -0
  31. package/dist/752.creaditor.bundle.js +4 -4
  32. package/dist/752.creaditor.bundle.js.gz +0 -0
  33. package/dist/763.creaditor.bundle.js +34 -1
  34. package/dist/763.creaditor.bundle.js.gz +0 -0
  35. package/dist/7789.creaditor.bundle.js +25 -0
  36. package/dist/7789.creaditor.bundle.js.LICENSE.txt +32 -0
  37. package/dist/7789.creaditor.bundle.js.LICENSE.txt.gz +0 -0
  38. package/dist/7789.creaditor.bundle.js.gz +0 -0
  39. package/dist/7937.creaditor.bundle.js +17 -17
  40. package/dist/7937.creaditor.bundle.js.gz +0 -0
  41. package/dist/8173.creaditor.bundle.js +1 -1
  42. package/dist/8173.creaditor.bundle.js.gz +0 -0
  43. package/dist/8646.creaditor.bundle.js +1 -0
  44. package/dist/8646.creaditor.bundle.js.gz +0 -0
  45. package/dist/9158.creaditor.bundle.js +613 -0
  46. package/dist/9158.creaditor.bundle.js.LICENSE.txt +10 -0
  47. package/dist/9158.creaditor.bundle.js.LICENSE.txt.gz +0 -0
  48. package/dist/9158.creaditor.bundle.js.gz +0 -0
  49. package/dist/9994.creaditor.bundle.js +114 -0
  50. package/dist/9994.creaditor.bundle.js.gz +0 -0
  51. package/dist/creaditor.bundle.js +1653 -565
  52. package/dist/creaditor.bundle.js.gz +0 -0
  53. package/dist/service-worker.js +1 -1
  54. package/dist/service-worker.js.gz +0 -0
  55. package/package.json +1 -1
@@ -0,0 +1,1314 @@
1
+ "use strict";(("undefined"!=typeof self?self:this).webpackChunkCreaditor=("undefined"!=typeof self?self:this).webpackChunkCreaditor||[]).push([[2384,4970],{58691(t,e,a){a.r(e),a.d(e,{ImagePromptEditor:()=>l});var r,o,i=a(59929),s=a(49410);const n=new Set;let l=(0,s.EM)("cdtr-image-prompt-editor")(((o=class extends i.WF{constructor(){super(),this.prompt="",this.generatedImage="",this.isLoading=!1,this.addEventListener("keydown",this._handleKeyDown.bind(this))}_handleKeyDown(t){"Enter"===t.key&&t.ctrlKey&&this._submitPrompt()}_handlePromptChange(t){this.prompt=t.target.value}_submitPrompt(){this.prompt.trim()&&!this.isLoading&&(this.isLoading=!0,this.dispatchEvent(new CustomEvent("generate-image",{detail:{prompt:this.prompt,options:{size:"1024x1024",quality:"standard",style:"natural"}}})))}_handleInsertImage(){const t=(e=this.generatedImage).length<100?e:e.slice(0,50)+e.slice(-50);var e;n.has(t)||(n.add(t),this.dispatchEvent(new CustomEvent("insert-image",{detail:{imageUrl:this.generatedImage}})))}setGeneratedImage(t){this.isLoading=!1,this.generatedImage=t,this.requestUpdate()}copyToClipboard(){navigator.clipboard.writeText(this.generatedImage),window.snackbar&&window.snackbar({message:"copied_to_clipboard",type:"success"})}render(){return i.qy`
2
+ <div class="container">
3
+ <h6>
4
+ <lang-text
5
+ whiteSpace="break-spaces"
6
+ text="image_prompt_editor_description"
7
+ ></lang-text>
8
+ </h6>
9
+ ${this.generatedImage?i.qy`
10
+ <cdtr-input
11
+ @click="${this.copyToClipboard}"
12
+ fullWidth
13
+ value="${this.generatedImage}"
14
+ ></cdtr-input>
15
+ <div class="image-preview">
16
+ <img
17
+ width="100%"
18
+ src="${this.generatedImage}"
19
+ alt="Generated image"
20
+ />
21
+ </div>
22
+ `:null}
23
+ ${this.generatedImage?i.qy`
24
+ <paper-button
25
+ class="insert-button"
26
+ @click="${this._handleInsertImage}"
27
+ >
28
+ <lang-text text="insert_image"></lang-text>
29
+ </paper-button>
30
+ `:""}
31
+
32
+ <cdtr-textarea
33
+ fullWidth
34
+ class="prompt-input"
35
+ .value="${this.prompt}"
36
+ @input="${this._handlePromptChange}"
37
+ placeholder="describe_image_prompt_input"
38
+ ?disabled="${this.isLoading}"
39
+ ></cdtr-textarea>
40
+ <br/>
41
+ <br/>
42
+ <paper-button
43
+ ?disabled="${!this.prompt.trim()||this.isLoading}"
44
+ @click="${this._submitPrompt}"
45
+ >
46
+ ${this.isLoading?i.qy`<div class="spinner"></div>
47
+ <lang-text text="generating"></lang-text>`:i.qy`<lang-text text="generate_image"></lang-text>`}
48
+ </paper-button>
49
+
50
+ <div class="loading ${this.isLoading?"active":""}">
51
+ <div class="loading-text">
52
+ <lang-text text="creating_your_masterpiece"></lang-text>
53
+ </div>
54
+ </div>
55
+ </div>
56
+ `}}).properties={prompt:{type:String},generatedImage:{type:String},isLoading:{type:Boolean}},o.styles=i.AH`
57
+ * {
58
+ box-sizing: border-box;
59
+ }
60
+
61
+ :host {
62
+ display: block;
63
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
64
+ margin: 0 auto;
65
+ max-width: 100%;
66
+ }
67
+
68
+ .container {
69
+ background: white;
70
+ border-radius: 12px;
71
+ transition: all 0.3s ease;
72
+ }
73
+
74
+ .image-preview {
75
+ width: 100%;
76
+ height: auto;
77
+ background: #f8f9fa;
78
+ border-radius: 8px;
79
+ margin-bottom: 1rem;
80
+ display: flex;
81
+ align-items: center;
82
+ justify-content: center;
83
+ overflow: hidden;
84
+ position: relative;
85
+ border: 2px dashed #e9ecef;
86
+ transition: all 0.3s ease;
87
+ }
88
+
89
+ .image-preview:hover {
90
+ border-color: #4a90e2;
91
+ }
92
+
93
+ .image-preview img {
94
+ max-width: 100%;
95
+ max-height: 100%;
96
+ object-fit: contain;
97
+ border-radius: 8px;
98
+ }
99
+
100
+ .image-preview span {
101
+ color: #6c757d;
102
+ font-size: 1.1rem;
103
+ }
104
+
105
+ .prompt-input:disabled {
106
+ background: #e9ecef;
107
+ cursor: not-allowed;
108
+ }
109
+
110
+ paper-button {
111
+ background: var(--primary);
112
+ color: var(--primary-text);
113
+ width: 100%;
114
+ position: relative;
115
+ display: flex;
116
+ align-items: center;
117
+ justify-content: center;
118
+ gap: 8px;
119
+ margin-bottom: 1rem;
120
+ }
121
+
122
+ paper-button:disabled {
123
+ opacity: 0.7;
124
+ cursor: not-allowed;
125
+ }
126
+
127
+ .insert-button {
128
+ background: #000000;
129
+ color: white;
130
+ width: 100%;
131
+ margin-top: 0.5rem;
132
+ }
133
+
134
+ .insert-button:hover {
135
+ background: #252725;
136
+ }
137
+
138
+ .spinner {
139
+ width: 20px;
140
+ height: 20px;
141
+ border: 2px solid #ffffff;
142
+ border-top: 2px solid transparent;
143
+ border-radius: 50%;
144
+ animation: spin 1s linear infinite;
145
+ }
146
+
147
+ @keyframes spin {
148
+ 0% {
149
+ transform: rotate(0deg);
150
+ }
151
+ 100% {
152
+ transform: rotate(360deg);
153
+ }
154
+ }
155
+
156
+ .loading {
157
+ display: none;
158
+ margin-top: 1rem;
159
+ text-align: center;
160
+ color: #495057;
161
+ }
162
+
163
+ .loading.active {
164
+ display: block;
165
+ }
166
+
167
+ .loading-text {
168
+ font-size: 1.1rem;
169
+ margin-bottom: 0.5rem;
170
+ color: #495057;
171
+ }
172
+ `,r=o))||r},15155(t,e,a){a.d(e,{A:()=>s});var r=a(59929),o=a(57176);class i extends r.WF{constructor(){super(),this.items=[],this.columns=2}async openPicker(t){const e=this.shadowRoot.querySelector(`#picker-${t}`);if(!e)return;await e.updateComplete;const a=e.shadowRoot?.querySelector("color-playground");if(a)if(await a.updateComplete,"function"==typeof a.openColorpicker)a.openColorpicker();else{(a.shadowRoot?.querySelector('[role="button"]')||a.shadowRoot?.querySelector("div")||a).click()}}render(){const t=1===this.columns?"grid single-col":"grid";return r.qy`
173
+ <div class="${t}">
174
+ ${(this.items||[]).map((t,e)=>r.qy`
175
+ <div class="swatch-item" @click=${()=>this.openPicker(e)}>
176
+ <div
177
+ class="swatch-circle"
178
+ style="background: ${t.value||"#fff"}"
179
+ ></div>
180
+ <span class="swatch-label">
181
+ <lang-text text="${t.title}"></lang-text>
182
+ </span>
183
+ <div class="hidden-picker">
184
+ <cdtr-colorpicker-editor
185
+ id="picker-${e}"
186
+ .hasAlpha=${!1}
187
+ .allowGradient=${!0===t.allowGradient}
188
+ @change=${t.onChange}
189
+ .value=${t.value}
190
+ text="${t.title}"
191
+ ></cdtr-colorpicker-editor>
192
+ </div>
193
+ </div>
194
+ `)}
195
+ </div>
196
+ `}}i.styles=[o.L,r.AH`
197
+ :host {
198
+ display: block;
199
+ direction: var(--direction-locale, ltr);
200
+ }
201
+ .grid {
202
+ display: grid;
203
+ grid-template-columns: 1fr 1fr;
204
+ gap: 6px;
205
+ }
206
+ .grid.single-col {
207
+ grid-template-columns: 1fr;
208
+ }
209
+ .swatch-item {
210
+ display: flex;
211
+ align-items: center;
212
+ gap: 8px;
213
+ padding: 8px 10px;
214
+ background: #f6f6f8;
215
+ border-radius: 8px;
216
+ cursor: pointer;
217
+ transition: background 0.15s ease;
218
+ min-width: 0;
219
+ overflow: hidden;
220
+ position: relative;
221
+ }
222
+ .swatch-item:hover {
223
+ background: #eeeff1;
224
+ }
225
+ .swatch-label {
226
+ font-size: 11px;
227
+ color: #555;
228
+ font-weight: 500;
229
+ line-height: 1;
230
+ white-space: nowrap;
231
+ overflow: hidden;
232
+ text-overflow: ellipsis;
233
+ min-width: 0;
234
+ flex: 1;
235
+ }
236
+ .hidden-picker {
237
+ position: absolute;
238
+ width: 1px;
239
+ height: 1px;
240
+ overflow: hidden;
241
+ clip: rect(0,0,0,0);
242
+ pointer-events: none;
243
+ }
244
+ `],i.properties={items:{type:Array},columns:{type:Number}},customElements.define("cdtr-color-swatch-group",i);const s=t=>r.qy`
245
+ <cdtr-color-swatch-group
246
+ .items=${t.items}
247
+ .columns=${t.columns||2}
248
+ ></cdtr-color-swatch-group>
249
+ `},12258(t,e,a){a.d(e,{A:()=>s});var r=a(59929),o=a(40648);class i extends r.WF{constructor(){super(),this.label="",this.open=!0,this.persistKey=""}toggle(){this.open=!this.open,(0,o.Q)(this.persistKey,this.open)}render(){return r.qy`
250
+ <div class="section">
251
+ <div class="header" @click=${this.toggle}>
252
+ <span class="title"><lang-text text="${this.label}"></lang-text></span>
253
+ <svg class="chevron ${this.open?"open":""}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
254
+ <polyline points="6 9 12 15 18 9"></polyline>
255
+ </svg>
256
+ </div>
257
+ <div class="content ${this.open?"open":""}">
258
+ <div class="content-inner">
259
+ <slot></slot>
260
+ </div>
261
+ </div>
262
+ </div>
263
+ `}}i.styles=r.AH`
264
+ :host {
265
+ display: block;
266
+ direction: var(--direction-locale, ltr);
267
+ --editor-container-inline-padding: 0;
268
+ }
269
+ .section {
270
+ border-bottom: 1px solid var(--color-border);
271
+ }
272
+ .header {
273
+ display: flex;
274
+ align-items: center;
275
+ justify-content: space-between;
276
+ padding: var(--space-3) var(--space-4);
277
+ cursor: pointer;
278
+ user-select: none;
279
+ }
280
+ .title {
281
+ font-size: var(--text-md);
282
+ font-weight: 600;
283
+ color: var(--color-text);
284
+ letter-spacing: 0.01em;
285
+ }
286
+ .chevron {
287
+ width: 16px;
288
+ height: 16px;
289
+ transition: transform var(--duration-normal) var(--ease-default), color var(--duration-fast) var(--ease-default);
290
+ color: var(--color-text-faint);
291
+ }
292
+ .header:hover .chevron {
293
+ color: var(--color-text-muted);
294
+ }
295
+ .chevron.open {
296
+ transform: rotate(180deg);
297
+ }
298
+ .content {
299
+ overflow: hidden;
300
+ transition: max-height var(--duration-normal) var(--ease-default), opacity var(--duration-fast) var(--ease-default);
301
+ max-height: 0;
302
+ opacity: 0;
303
+ }
304
+ .content.open {
305
+ max-height: 1200px;
306
+ opacity: 1;
307
+ }
308
+ .content-inner {
309
+ padding: var(--space-3) var(--space-4) var(--space-3) var(--space-4);
310
+ }
311
+ `,i.properties={label:{type:String},open:{type:Boolean},persistKey:{type:String}},customElements.define("cdtr-editor-section",i);const s=(t,e)=>r.qy`
312
+ <cdtr-editor-section
313
+ .label=${t.label}
314
+ .open=${!1!==t.open}
315
+ .persistKey=${t.persistKey||""}
316
+ >
317
+ ${e}
318
+ </cdtr-editor-section>
319
+ `},24970(t,e,a){a.r(e),a.d(e,{EditorBuilder:()=>pt});var r=a(59929),o=a(86319),i=a(21421);const s=t=>{const e=(0,i._)();return r.qy` <cdtr-editor-container>
320
+ <cdtr-row>
321
+ <cdtr-title><lang-text text="${t.title}"></lang-text></cdtr-title>
322
+ </cdtr-row>
323
+ <cdtr-row style="position:relative;width:100%;">
324
+ <cdtr-input
325
+ ${(0,i.K)(e)}
326
+ .type=${t.inputType}
327
+ .max=${t.max}
328
+ .min=${t.min}
329
+ .multiline=${t.multiline}
330
+ .row=${t.row}
331
+ .step=${t.step}
332
+ .autofocus=${t.autofocus}
333
+ .placeholder=${t.placeholder}
334
+ .value="${t.value}"
335
+ @blur=${t.onBlur}
336
+ @debounce=${t.onDebounce}
337
+ @change=${t.onChange}
338
+ @input=${t.onInput}
339
+ style="width:100%;${t.emoji?"padding-left:40px;":""}"
340
+ .couchOnEmpty=${!!t.couch}
341
+ ></cdtr-input>
342
+ <div style="position:absolute;left:0;top:0;">
343
+ ${t.emoji&&r.qy`<cdtr-dropdown maxHeight="500" custom>
344
+ <paper-button style="min-width:0;padding:2px;" slot="trigger">
345
+ <cdtr-icon width="20" icon="face"></cdtr-icon>
346
+ </paper-button>
347
+ <div slot="content">${(()=>{const a=document.createElement("cdtr-emoji-picker");return a.onEmojiClick=(r,i)=>{const s=i.emoji,n=window.getSelection();if(n&&n.baseNode?.parentElement?.closest(".tiptap.ProseMirror")){const t=n.baseNode?.parentElement?.closest("[data-id][data-type]");if(t){const e=o.M.get("components",t.dataset.id);if(e){if(!e.commands.insertContent)throw new Error("setContent command is not defined in compose.commands");e.commands.insertContent(i.emoji);const t=a.closest("cdtr-dropdown");t?.close()}}}else{const a=e.value.inputRef.value,r=a.selectionStart,o=a.selectionEnd,i=a.value,n=i.slice(0,r)+s+i.slice(o);a.value=n,t.onInput({target:{value:n}}),a.selectionStart=a.selectionEnd=r+s.length,a.focus()}},a})()}</div>
348
+ </cdtr-dropdown>`}
349
+ </div>
350
+ </cdtr-row>
351
+ ${t.mergeTags&&r.qy`<cdtr-merge-tags
352
+ style="margin-top:10px;display:block;"
353
+ @change=${a=>{let r=a.target.value;const o=e.value.inputRef.value,i=o.selectionStart,s=o.selectionEnd,n=o.value;r=n.slice(0,i)+r+n.slice(s),o.value=r,t.onInput({target:{value:r}}),o.selectionStart=o.selectionEnd=i+r.length,o.focus()}}
354
+ ></cdtr-merge-tags> `}
355
+ </cdtr-editor-container>`},n=t=>{let e="function"==typeof t.value?t.value(t):t.value;return e||(e=""),r.qy`<cdtr-editor-container>
356
+ <cdtr-title><lang-text text="${t.title}"></lang-text></cdtr-title>
357
+ <cdtr-dropdown
358
+ style="width:100%;"
359
+ .value=${e}
360
+ @change=${t.onChange}
361
+ >
362
+ <cdtr-dropdown-button
363
+ style="width:100%;"
364
+ class="dropdown-button"
365
+ slot="trigger"
366
+ ><lang-text text=${e}></lang-text>
367
+ </cdtr-dropdown-button>
368
+ <div slot="content">
369
+ ${t.items.map(e=>r.qy` <cdtr-dropdown-item
370
+ .focused=${(e.key||e.value)===t.selected}
371
+ .selected=${(e.key||e.value)===t.selected}
372
+ value="${e.value}"
373
+ ><lang-text text="${e.label||e.value}"></lang-text>
374
+ </cdtr-dropdown-item>`)}
375
+ </div>
376
+ </cdtr-dropdown>
377
+ </cdtr-editor-container>`};var l=a(36565);a(92384);const c=t=>r.qy`<cdtr-font-family-editor
378
+ .name=${t.value}
379
+ .showWeight=${!0===t.weight}
380
+ .weight=${t.weightValue}
381
+ @change=${t.onChange}
382
+ @weightchange=${t.onWeightChange}
383
+ ></cdtr-font-family-editor>`,d=t=>r.qy`<cdtr-editor-container>
384
+ <cdtr-range-device-editor
385
+ .value=${"function"==typeof t.value?t.value(t):t.value||0}
386
+ .text=${t.title}
387
+ .max=${t.max||100}
388
+ .min=${t.min||0}
389
+ .step=${t.step}
390
+ @device=${t.device}
391
+ @change=${t.onChange}
392
+ @input=${t.onInput}
393
+ ></cdtr-range-device-editor>
394
+ </cdtr-editor-container>`,p=t=>r.qy`<cdtr-editor-container>
395
+ <cdtr-colorpicker-editor
396
+ .hasAlpha=${t.alpha}
397
+ .allowGradient=${!0===t.allowGradient}
398
+ @change=${t.onChange}
399
+ .value=${t.value}
400
+ text="${t.title}"
401
+ ></cdtr-colorpicker-editor>
402
+ </cdtr-editor-container>`,h=t=>r.qy` <cdtr-editor-container>
403
+ <cdtr-width-editor
404
+ text="${t.title}"
405
+ unit="${t.unit}"
406
+ .step=${t.step||1}
407
+ max="${t.max||100}"
408
+ min="${t.min||0}"
409
+ .value=${t.value||0}
410
+ @input=${t.onInput}
411
+ @change=${t.onChange}
412
+ .sizes=${t.sizes||[]}
413
+ ></cdtr-width-editor>
414
+ </cdtr-editor-container>`;var g=a(70980);const m={margin:0,color:"var(--color-text, #1a1a1f)",letterSpacing:"0.01em"};function u(t){return r.qy` <lang-text
415
+ whiteSpace="break-spaces"
416
+ text="${t}"
417
+ ></lang-text>`}const v=t=>r.qy` <cdtr-editor-container>
418
+ ${function(t){let{level:e,text:a}=t;switch(e){case 2:return r.qy` <h2 style=${(0,g.W)({...m,fontSize:"var(--text-lg, 16px)",fontWeight:"700"})}>${u(a)}</h2>`;case 3:return r.qy` <h3 style=${(0,g.W)({...m,fontSize:"var(--text-md, 14px)",fontWeight:"700",paddingTop:"6px"})}>${u(a)}</h3>`;case 4:return r.qy` <h4 style=${(0,g.W)({...m,fontSize:"var(--text-md, 14px)",fontWeight:"600"})}>${u(a)}</h4>`;case 5:return r.qy` <h5 style=${(0,g.W)({...m,fontSize:"var(--text-sm, 13px)",fontWeight:"600"})}>${u(a)}</h5>`;case 6:return r.qy` <h6 style=${(0,g.W)({...m,fontSize:"var(--text-xs, 12px)",fontWeight:"600",letterSpacing:"0.02em",color:"var(--color-text-secondary, #555)"})}>${u(a)}</h6>`;default:return r.qy` <div style=${(0,g.W)({...m,fontSize:"var(--text-sm, 13px)"})}>${u(a)}</div>`}}({level:t.level,text:t.text})}
419
+ </cdtr-editor-container>`,b=/#[0-9a-fA-F]{3,8}|rgba?\([^)]*\)/,f=t=>{if("string"!=typeof t||!t.trim()||"none"===t)return{x:0,y:0,blur:0,spread:0,color:"#000000",inset:!1};const e=/\binset\b/.test(t),a=t.match(b),r=a?a[0]:"#000000",o=(t.replace(b,"").match(/-?\d+(?:\.\d+)?/g)||[]).map(Number);return{x:o[0]??0,y:o[1]??0,blur:o[2]??0,spread:o[3]??0,color:r,inset:e}};class y extends r.WF{constructor(){super(),this.value="",this.title="",this._parts=f(""),this._lastEmitted=null}createRenderRoot(){return this}willUpdate(t){t.has("value")&&this.value!==this._lastEmitted&&(this._parts=f(this.value))}_emit(t){this._parts={...this._parts,...t},this.value=(t=>{let{x:e,y:a,blur:r,spread:o,color:i,inset:s}=t;return`${s?"inset ":""}${e}px ${a}px ${r}px ${o}px ${i}`})(this._parts),this._lastEmitted=this.value,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:this.value}}))}render(){const t=this._parts;return r.qy`
420
+ ${this.title?v({level:6,text:this.title}):""}
421
+ ${p({title:"shadow_color",value:t.color,alpha:!0,onChange:t=>this._emit({color:t.target.value})})}
422
+ ${h({title:"shadow_offset_x",unit:"px",min:-50,max:50,value:t.x,onInput:t=>this._emit({x:parseInt(t.target.value)||0})})}
423
+ ${h({title:"shadow_offset_y",unit:"px",min:-50,max:50,value:t.y,onInput:t=>this._emit({y:parseInt(t.target.value)||0})})}
424
+ ${h({title:"shadow_blur",unit:"px",min:0,max:100,value:t.blur,onInput:t=>this._emit({blur:parseInt(t.target.value)||0})})}
425
+ ${h({title:"shadow_spread",unit:"px",min:-50,max:50,value:t.spread,onInput:t=>this._emit({spread:parseInt(t.target.value)||0})})}
426
+ `}}y.properties={value:{type:String},title:{type:String}},customElements.get("cdtr-box-shadow-editor-compose")||customElements.define("cdtr-box-shadow-editor-compose",y);const x=t=>r.qy`<cdtr-box-shadow-editor-compose
427
+ .value=${t.value||""}
428
+ .title=${t.title||""}
429
+ @change=${e=>{"function"==typeof t.onChange&&t.onChange(e.target.value)}}
430
+ ></cdtr-box-shadow-editor-compose>`,w=t=>r.qy`<cdtr-divider></cdtr-divider>`,$=t=>r.qy` <cdtr-editor-container pt="0">
431
+ <paper-button
432
+ @click=${t.onClick}
433
+ style="margin:0;padding:0;color:${t.color||"var(--primary)"};font-size:10px;"
434
+ >
435
+ <cdtr-icon
436
+ color="${t.color||"var(--primary)"}"
437
+ width="15"
438
+ icon="${t.icon||"doubleArrow"}"
439
+ ></cdtr-icon>
440
+ <lang-text whiteSpace="break-spaces" text="${t.text}"></lang-text>
441
+ </paper-button>
442
+ </cdtr-editor-container>`,_=t=>r.qy` <cdtr-editor-container>
443
+ <cdtr-row class="checkbox-wrapper" alignItems="center" justify="space-between">
444
+ <cdtr-col sm="2">
445
+ <cdtr-checkbox
446
+ .controlled=${t.controlled}
447
+ @change=${t.onChange}
448
+ .checked=${!!t.checked}
449
+ ></cdtr-checkbox>
450
+ </cdtr-col>
451
+ <cdtr-col @click=${t=>{const e=t.target.closest(".checkbox-wrapper");if(e){const t=e.querySelector("cdtr-checkbox");t&&t.toggle()}}} sm="${t.info?9:10}">
452
+ <cdtr-title><lang-text text="${t.title}"></lang-text></cdtr-title>
453
+ </cdtr-col>
454
+ ${t.info?r.qy`<cdtr-col sm="1">
455
+ <cdtr-tooltip content="${t.info}">
456
+ <cdtr-icon color="#484553" icon="info" width="20"></cdtr-icon>
457
+ </cdtr-tooltip>
458
+ </cdtr-col>`:null}
459
+ </cdtr-row>
460
+ </cdtr-editor-container>`,z=t=>r.qy` <cdtr-editor-container>
461
+ <cdtr-title><lang-text text="${t.title}"></lang-text></cdtr-title>
462
+ ${t.items?.length?t?.items.map((e,a)=>r.qy`
463
+ <div style="display:flex;align-items:center;gap:6px;margin-top:8px;">
464
+ <cdtr-input
465
+ type=${t.inputType}
466
+ placeholder=${t.placeholder}
467
+ .value="${"string"==typeof e?e:"string"==typeof e?.label?e.label:e.value}"
468
+ @blur=${e=>{t.changeItemValue(a,e.target.value,e)}}
469
+ style="flex:1;width:0;"
470
+ ></cdtr-input>
471
+ ${t.onRemove?r.qy`<span
472
+ style="color:#bbb;cursor:pointer;display:flex;align-items:center;flex-shrink:0;"
473
+ @click=${()=>t.onRemove(a,e)}
474
+ @mouseover=${t=>{t.currentTarget.style.color="#666"}}
475
+ @mouseout=${t=>{t.currentTarget.style.color="#bbb"}}
476
+ title="Remove"
477
+ >
478
+ <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
479
+ <line x1="18" y1="6" x2="6" y2="18"></line>
480
+ <line x1="6" y1="6" x2="18" y2="18"></line>
481
+ </svg>
482
+ </span>`:null}
483
+ </div>
484
+ `):""}
485
+ ${t.onAddItem?r.qy`<div
486
+ @click=${t.onAddItem}
487
+ style="display:inline-flex;align-items:center;gap:4px;margin-top:8px;font-size:12px;color:var(--accent, #5B5FC7);cursor:pointer;font-family:inherit;"
488
+ ><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
489
+ <line x1="12" y1="5" x2="12" y2="19"></line>
490
+ <line x1="5" y1="12" x2="19" y2="12"></line>
491
+ </svg><lang-text text="add_item"></lang-text
492
+ ></div>`:null}
493
+
494
+ </cdtr-editor-container>`;a(54061);var k=a(73890);const L=t=>r.qy` <cdtr-editor-container>
495
+ <cdtr-title>
496
+ <lang-text text="${t.title}"></lang-text>
497
+ </cdtr-title>
498
+ <cdtr-chips-input
499
+ .removeable=${!!t.removeable}
500
+ @remove=${t.onRemove}
501
+ @click=${()=>function(t){let{items:e,title:a,onChange:o,onCreate:i}=t;const s=document.createElement("cdtr-drawer");s.width="500px",s.headerText=a,s.opened=!0;const n=document.createElement("div");s.appendChild(n),document.body.appendChild(s);const l=t=>{let{target:a}=t;const s=a.value,c=e.filter(t=>{const e={...t};return e.name||(e.name=""),e.label||(e.label=""),-1!==e.name.indexOf(s)||-1!==e.label.indexOf(s)});(0,r.XX)((0,k.A)({items:c,onChange:o,debounce:l,onCreate:i}),n)};(0,r.XX)((0,k.A)({items:e,onChange:o,debounce:l,onCreate:i}),n)}({items:t.list||[],title:t.title,onChange:t.onChange,onCreate:t.onCreate})}
502
+ .items=${t.items}
503
+ .freeSolo=${!!t.freeSolo}
504
+ >
505
+ </cdtr-chips-input>
506
+ </cdtr-editor-container>`;var C=a(88385),I=a(75068),M=a.n(I);const S={minWidth:0,margin:0},H=t=>r.qy`
507
+ <cdtr-row alignItems="center" spacing="10px">
508
+ <paper-button
509
+ class="${t.underline?"bold":""}"
510
+ style=${(0,g.W)(S)}
511
+ @click=${e=>t.onChange("bold",e)}
512
+ ><cdtr-icon
513
+ color="${t.bold?"var(--primary)":""}"
514
+ width="20"
515
+ icon="bold"
516
+ ></cdtr-icon>
517
+ </paper-button>
518
+ <paper-button
519
+ style=${(0,g.W)(S)}
520
+ @click=${e=>t.onChange("underline",e)}
521
+ ><cdtr-icon
522
+ color="${t.underline?"var(--primary)":""}"
523
+ width="20"
524
+ icon="underline"
525
+ ></cdtr-icon>
526
+ </paper-button>
527
+ <paper-button
528
+ style=${(0,g.W)(S)}
529
+ @click=${e=>t.onChange("italic",e)}
530
+ ><cdtr-icon
531
+ color="${t.italic?"var(--primary)":""}"
532
+ width="20"
533
+ icon="italic"
534
+ ></cdtr-icon>
535
+ </paper-button>
536
+ </cdtr-row>
537
+ `,A=t=>r.qy` <cdtr-editor-container pt="16px">
538
+ <p style="font-size:12px;color:#888;line-height:1.5;margin:0;font-style:italic;">
539
+ <lang-text whiteSpace="break-spaces" text="${t.text}"></lang-text>
540
+ </p>
541
+ </cdtr-editor-container>`,R=()=>[{svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z"></path></svg>'},{svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20Z"></path></svg>'},{svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" ><path fill="none" d="M0 0h24v24H0z"/><path d="M12 18.26l-7.053 3.948 1.575-7.928L.587 8.792l8.027-.952L12 .5l3.386 7.34 8.027.952-5.935 5.488 1.575 7.928L12 18.26zm0-2.292l4.247 2.377-.949-4.773 3.573-3.305-4.833-.573L12 5.275l-2.038 4.42-4.833.572 3.573 3.305-.949 4.773L12 15.968z"/></svg>'},{svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" ><path fill="none" d="M0 0h24v24H0z"/><path d="M12 15.968l4.247 2.377-.949-4.773 3.573-3.305-4.833-.573L12 5.275v10.693zm0 2.292l-7.053 3.948 1.575-7.928L.587 8.792l8.027-.952L12 .5l3.386 7.34 8.027.952-5.935 5.488 1.575 7.928L12 18.26z"/></svg>'},{svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" ><path fill="none" d="M0 0h24v24H0z"/><path d="M12 18.26l-7.053 3.948 1.575-7.928L.587 8.792l8.027-.952L12 .5l3.386 7.34 8.027.952-5.935 5.488 1.575 7.928z"/></svg>'},{svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" ><path fill="none" d="M0 0h24v24H0z"/><path d="M12 .5l4.226 6.183 7.187 2.109-4.575 5.93.215 7.486L12 19.69l-7.053 2.518.215-7.486-4.575-5.93 7.187-2.109L12 .5zm0 3.544L9.022 8.402 3.957 9.887l3.225 4.178-.153 5.275L12 17.566l4.97 1.774-.152-5.275 3.224-4.178-5.064-1.485L12 4.044zM10 12a2 2 0 1 0 4 0h2a4 4 0 1 1-8 0h2z"/></svg>'},{svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" ><path fill="none" d="M0 0h24v24H0z"/><path d="M12 .5l4.226 6.183 7.187 2.109-4.575 5.93.215 7.486L12 19.69l-7.053 2.518.215-7.486-4.575-5.93 7.187-2.109L12 .5zM10 12H8a4 4 0 0 0 7.995.2L16 12h-2a2 2 0 0 1-3.995.15L10 12z"/></svg>'},{svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" ><path fill="none" d="M0 0h24v24H0z"/><path d="M5 4.604v9.185a4 4 0 0 0 1.781 3.328L12 20.597l5.219-3.48A4 4 0 0 0 19 13.79V4.604L12 3.05 5 4.604zM3.783 2.826L12 1l8.217 1.826a1 1 0 0 1 .783.976v9.987a6 6 0 0 1-2.672 4.992L12 23l-6.328-4.219A6 6 0 0 1 3 13.79V3.802a1 1 0 0 1 .783-.976zM12 13.5l-2.939 1.545.561-3.272-2.377-2.318 3.286-.478L12 6l1.47 2.977 3.285.478-2.377 2.318.56 3.272L12 13.5z"/></svg>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M10 15.172l9.192-9.193 1.415 1.414L10 18l-6.364-6.364 1.414-1.414z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M12 10.586l4.95-4.95 1.414 1.414-4.95 4.95 4.95 4.95-1.414 1.414-4.95-4.95-4.95 4.95-1.414-1.414 4.95-4.95-4.95-4.95L7.05 5.636z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M2 19h20v2H2v-2zM2 5l5 3.5L12 2l5 6.5L22 5v12H2V5zm2 3.841V15h16V8.841l-3.42 2.394L12 5.28l-4.58 5.955L4 8.84z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M12 9a3 3 0 1 0 0 6 3 3 0 0 0 0-6zm0-2a5 5 0 1 1 0 10 5 5 0 0 1 0-10zm6.5-.25a1.25 1.25 0 0 1-2.5 0 1.25 1.25 0 0 1 2.5 0zM12 4c-2.474 0-2.878.007-4.029.058-.784.037-1.31.142-1.798.332-.434.168-.747.369-1.08.703a2.89 2.89 0 0 0-.704 1.08c-.19.49-.295 1.015-.331 1.798C4.006 9.075 4 9.461 4 12c0 2.474.007 2.878.058 4.029.037.783.142 1.31.331 1.797.17.435.37.748.702 1.08.337.336.65.537 1.08.703.494.191 1.02.297 1.8.333C9.075 19.994 9.461 20 12 20c2.474 0 2.878-.007 4.029-.058.782-.037 1.309-.142 1.797-.331.433-.169.748-.37 1.08-.702.337-.337.538-.65.704-1.08.19-.493.296-1.02.332-1.8.052-1.104.058-1.49.058-4.029 0-2.474-.007-2.878-.058-4.029-.037-.782-.142-1.31-.332-1.798a2.911 2.911 0 0 0-.703-1.08 2.884 2.884 0 0 0-1.08-.704c-.49-.19-1.016-.295-1.798-.331C14.925 4.006 14.539 4 12 4zm0-2c2.717 0 3.056.01 4.122.06 1.065.05 1.79.217 2.428.465.66.254 1.216.598 1.772 1.153a4.908 4.908 0 0 1 1.153 1.772c.247.637.415 1.363.465 2.428.047 1.066.06 1.405.06 4.122 0 2.717-.01 3.056-.06 4.122-.05 1.065-.218 1.79-.465 2.428a4.883 4.883 0 0 1-1.153 1.772 4.915 4.915 0 0 1-1.772 1.153c-.637.247-1.363.415-2.428.465-1.066.047-1.405.06-4.122.06-2.717 0-3.056-.01-4.122-.06-1.065-.05-1.79-.218-2.428-.465a4.89 4.89 0 0 1-1.772-1.153 4.904 4.904 0 0 1-1.153-1.772c-.248-.637-.415-1.363-.465-2.428C2.013 15.056 2 14.717 2 12c0-2.717.01-3.056.06-4.122.05-1.066.217-1.79.465-2.428a4.88 4.88 0 0 1 1.153-1.772A4.897 4.897 0 0 1 5.45 2.525c.638-.248 1.362-.415 2.428-.465C8.944 2.013 9.283 2 12 2z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M7.253 18.494l.724.423A7.953 7.953 0 0 0 12 20a8 8 0 1 0-8-8c0 1.436.377 2.813 1.084 4.024l.422.724-.653 2.401 2.4-.655zM2.004 22l1.352-4.968A9.954 9.954 0 0 1 2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10a9.954 9.954 0 0 1-5.03-1.355L2.004 22zM8.391 7.308c.134-.01.269-.01.403-.004.054.004.108.01.162.016.159.018.334.115.393.249.298.676.588 1.357.868 2.04.062.152.025.347-.093.537a4.38 4.38 0 0 1-.263.372c-.113.145-.356.411-.356.411s-.099.118-.061.265c.014.056.06.137.102.205l.059.095c.256.427.6.86 1.02 1.268.12.116.237.235.363.346.468.413.998.75 1.57 1l.005.002c.085.037.128.057.252.11.062.026.126.049.191.066a.35.35 0 0 0 .367-.13c.724-.877.79-.934.796-.934v.002a.482.482 0 0 1 .378-.127c.06.004.121.015.177.04.531.243 1.4.622 1.4.622l.582.261c.098.047.187.158.19.265.004.067.01.175-.013.373-.032.259-.11.57-.188.733a1.155 1.155 0 0 1-.21.302 2.378 2.378 0 0 1-.33.288 3.71 3.71 0 0 1-.125.09 5.024 5.024 0 0 1-.383.22 1.99 1.99 0 0 1-.833.23c-.185.01-.37.024-.556.014-.008 0-.568-.087-.568-.087a9.448 9.448 0 0 1-3.84-2.046c-.226-.199-.435-.413-.649-.626-.89-.885-1.562-1.84-1.97-2.742A3.47 3.47 0 0 1 6.9 9.62a2.729 2.729 0 0 1 .564-1.68c.073-.094.142-.192.261-.305.127-.12.207-.184.294-.228a.961.961 0 0 1 .371-.1z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M7.764 19.225c.59-.26 1.25-.309 1.868-.139.77.21 1.565.316 2.368.314 4.585 0 8-3.287 8-7.7S16.585 4 12 4s-8 3.287-8 7.7c0 2.27.896 4.272 2.466 5.676a2.8 2.8 0 0 1 .942 2.006l.356-.157zM12 2c5.634 0 10 4.127 10 9.7 0 5.573-4.366 9.7-10 9.7a10.894 10.894 0 0 1-2.895-.384.8.8 0 0 0-.534.039l-1.984.876a.8.8 0 0 1-1.123-.707l-.055-1.78a.797.797 0 0 0-.268-.57C3.195 17.135 2 14.617 2 11.7 2 6.127 6.367 2 12 2zM5.995 14.537l2.937-4.66a1.5 1.5 0 0 1 2.17-.4l2.336 1.75a.6.6 0 0 0 .723 0l3.155-2.396c.421-.319.971.185.689.633l-2.937 4.66a1.5 1.5 0 0 1-2.17.4l-2.336-1.75a.6.6 0 0 0-.723 0l-3.155 2.395c-.421.319-.971-.185-.689-.633z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M14 19h5V5H5v14h7v-5h-2v-2h2v-1.654c0-1.337.14-1.822.4-2.311A2.726 2.726 0 0 1 13.536 6.9c.382-.205.857-.328 1.687-.381.329-.021.755.005 1.278.08v1.9H16c-.917 0-1.296.043-1.522.164a.727.727 0 0 0-.314.314c-.12.226-.164.45-.164 1.368V12h2.5l-.5 2h-2v5zM4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z"/>'},{svg:'<path fill="none" d="M0 0H24V24H0z"/><path d="M5 3v16h16v2H3V3h2zm14.94 2.94l2.12 2.12L16 14.122l-3-3-3.94 3.94-2.12-2.122L13 6.88l3 3 3.94-3.94z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M9.366 10.682a10.556 10.556 0 0 0 3.952 3.952l.884-1.238a1 1 0 0 1 1.294-.296 11.422 11.422 0 0 0 4.583 1.364 1 1 0 0 1 .921.997v4.462a1 1 0 0 1-.898.995c-.53.055-1.064.082-1.602.082C9.94 21 3 14.06 3 5.5c0-.538.027-1.072.082-1.602A1 1 0 0 1 4.077 3h4.462a1 1 0 0 1 .997.921A11.422 11.422 0 0 0 10.9 8.504a1 1 0 0 1-.296 1.294l-1.238.884zm-2.522-.657l1.9-1.357A13.41 13.41 0 0 1 7.647 5H5.01c-.006.166-.009.333-.009.5C5 12.956 11.044 19 18.5 19c.167 0 .334-.003.5-.01v-2.637a13.41 13.41 0 0 1-3.668-1.097l-1.357 1.9a12.442 12.442 0 0 1-1.588-.75l-.058-.033a12.556 12.556 0 0 1-4.702-4.702l-.033-.058a12.442 12.442 0 0 1-.75-1.588z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M2 13h6v8H2v-8zm14-5h6v13h-6V8zM9 3h6v18H9V3zM4 15v4h2v-4H4zm7-10v14h2V5h-2zm7 5v9h2v-9h-2z"/>'},{svg:'<path fill="none" d="M0 0H24V24H0z"/><path d="M5.5 20c.828 0 1.5.672 1.5 1.5S6.328 23 5.5 23 4 22.328 4 21.5 4.672 20 5.5 20zm13 0c.828 0 1.5.672 1.5 1.5s-.672 1.5-1.5 1.5-1.5-.672-1.5-1.5.672-1.5 1.5-1.5zM2.172 1.757l3.827 3.828V17L20 17v2H5c-.552 0-1-.448-1-1V6.413L.756 3.172l1.415-1.415zM16 3c.552 0 1 .448 1 1v2h2.993C20.55 6 21 6.456 21 6.995v8.01c0 .55-.45.995-1.007.995H8.007C7.45 16 7 15.544 7 15.005v-8.01C7 6.445 7.45 6 8.007 6h2.992L11 4c0-.552.448-1 1-1h4zm-6 5H9v6h1V8zm6 0h-4v6h4V8zm3 0h-1v6h1V8zm-4-3h-2v1h2V5z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M22 13.5V21a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1H5v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-7.5l-1.243-.31A1 1 0 0 1 0 12.22v-.72a.5.5 0 0 1 .5-.5h1.875l2.138-5.702A2 2 0 0 1 6.386 4h11.228a2 2 0 0 1 1.873 1.298L21.625 11H23.5a.5.5 0 0 1 .5.5v.72a1 1 0 0 1-.757.97L22 13.5zM4 15v2a1 1 0 0 0 1 1h3.245a.5.5 0 0 0 .44-.736C7.88 15.754 6.318 15 4 15zm16 0c-2.317 0-3.879.755-4.686 2.264a.5.5 0 0 0 .441.736H19a1 1 0 0 0 1-1v-2zM6 6l-1.561 4.684A1 1 0 0 0 5.387 12h13.226a1 1 0 0 0 .948-1.316L18 6H6z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M5 3h15a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2h-2v3a4 4 0 0 1-4 4H8a4 4 0 0 1-4-4V4a1 1 0 0 1 1-1zm13 2v3h2V5h-2zM2 19h18v2H2v-2z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M14.5 2a3.5 3.5 0 0 1 3.163 5.001L21 7a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-1v8a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-8H3a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1l3.337.001a3.5 3.5 0 0 1 5.664-3.95A3.48 3.48 0 0 1 14.5 2zM18 13H6v7h12v-7zm2-4H4v2h16V9zM9.5 4a1.5 1.5 0 0 0-.144 2.993L9.5 7H11V5.5a1.5 1.5 0 0 0-1.356-1.493L9.5 4zm5 0l-.144.007a1.5 1.5 0 0 0-1.35 1.349L13 5.5V7h1.5l.144-.007a1.5 1.5 0 0 0 0-2.986L14.5 4z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M4 5v14h16V5H4zM3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm11.793 6.793L13 8h5v5l-1.793-1.793-3.864 3.864-2.121-2.121-2.829 2.828-1.414-1.414 4.243-4.243 2.121 2.122 2.45-2.45z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M5 9a1 1 0 0 1 1 1 6.97 6.97 0 0 1 4.33 1.5h2.17c1.332 0 2.53.579 3.353 1.499L19 13a5 5 0 0 1 4.516 2.851C21.151 18.972 17.322 21 13 21c-2.79 0-5.15-.603-7.06-1.658A.998.998 0 0 1 5 20H2a1 1 0 0 1-1-1v-9a1 1 0 0 1 1-1h3zm1.001 3L6 17.021l.045.033C7.84 18.314 10.178 19 13 19c3.004 0 5.799-1.156 7.835-3.13l.133-.133-.12-.1a2.994 2.994 0 0 0-1.643-.63L19 15l-2.112-.001c.073.322.112.657.112 1.001v1H8v-2l6.79-.001-.034-.078a2.501 2.501 0 0 0-2.092-1.416L12.5 13.5H9.57A4.985 4.985 0 0 0 6.002 12zM4 11H3v7h1v-7zm9.646-7.425L14 3.93l.354-.354a2.5 2.5 0 1 1 3.535 3.536L14 11l-3.89-3.89a2.5 2.5 0 1 1 3.536-3.535zm-2.12 1.415a.5.5 0 0 0-.06.637l.058.069L14 8.17l2.476-2.474a.5.5 0 0 0 .058-.638l-.058-.07a.5.5 0 0 0-.638-.057l-.07.058-1.769 1.768-1.767-1.77-.068-.056a.5.5 0 0 0-.638.058z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M17.5 21a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7zm0-2a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm-11-9a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7zm0-2a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm12.571-4.485l1.414 1.414L4.93 20.485l-1.414-1.414L19.07 3.515z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M13 16.938V19h5v2H6v-2h5v-2.062A8.001 8.001 0 0 1 4 9V3h16v6a8.001 8.001 0 0 1-7 7.938zM6 5v4a6 6 0 1 0 12 0V5H6zM1 5h2v4H1V5zm20 0h2v4h-2V5z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M3.492 8.065L4.778 19h14.444l1.286-10.935-4.01 2.673L12 4.441l-4.498 6.297-4.01-2.673zM2.801 5.2L7 8l4.186-5.86a1 1 0 0 1 1.628 0L17 8l4.2-2.8a1 1 0 0 1 1.547.95l-1.643 13.967a1 1 0 0 1-.993.883H3.889a1 1 0 0 1-.993-.883L1.253 6.149A1 1 0 0 1 2.8 5.2zM12 15a2 2 0 1 1 0-4 2 2 0 0 1 0 4z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M12 2a6 6 0 0 1 6 6v1h4v2h-1.167l-.757 9.083a1 1 0 0 1-.996.917H4.92a1 1 0 0 1-.996-.917L3.166 11H2V9h4V8a6 6 0 0 1 6-6zm6.826 9H5.173l.667 8h12.319l.667-8zM13 13v4h-2v-4h2zm-4 0v4H7v-4h2zm8 0v4h-2v-4h2zm-5-9a4 4 0 0 0-3.995 3.8L8 8v1h8V8a4 4 0 0 0-3.8-3.995L12 4z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M4 6.414L.757 3.172l1.415-1.415L5.414 5h15.242a1 1 0 0 1 .958 1.287l-2.4 8a1 1 0 0 1-.958.713H6v2h11v2H5a1 1 0 0 1-1-1V6.414zM6 7v6h11.512l1.8-6H6zm-.5 16a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm12 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M5.671 4.257c3.928-3.219 9.733-2.995 13.4.672 3.905 3.905 3.905 10.237 0 14.142-3.905 3.905-10.237 3.905-14.142 0A9.993 9.993 0 0 1 2.25 9.767l.077-.313 1.934.51a8 8 0 1 0 3.053-4.45l-.221.166 1.017 1.017-4.596 1.06 1.06-4.596 1.096 1.096zM13 6v2h2.5v2H10a.5.5 0 0 0-.09.992L10 11h4a2.5 2.5 0 1 1 0 5h-1v2h-2v-2H8.5v-2H14a.5.5 0 0 0 .09-.992L14 13h-4a2.5 2.5 0 1 1 0-5h1V6h2z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M24 12l-5.657 5.657-1.414-1.414L21.172 12l-4.243-4.243 1.414-1.414L24 12zM2.828 12l4.243 4.243-1.414 1.414L0 12l5.657-5.657L7.07 7.757 2.828 12zm6.96 9H7.66l6.552-18h2.128L9.788 21z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M5.33 3.271a3.5 3.5 0 0 1 4.254 4.963l10.709 10.71-1.414 1.414-10.71-10.71a3.502 3.502 0 0 1-4.962-4.255L5.444 7.63a1.5 1.5 0 1 0 2.121-2.121L5.329 3.27zm10.367 1.884l3.182-1.768 1.414 1.414-1.768 3.182-1.768.354-2.12 2.121-1.415-1.414 2.121-2.121.354-1.768zm-6.718 8.132l1.414 1.414-5.303 5.303a1 1 0 0 1-1.492-1.327l.078-.087 5.303-5.303z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M5.636 12.707l1.828 1.829L8.88 13.12 7.05 11.293l1.414-1.414 1.829 1.828 1.414-1.414L9.88 8.464l1.414-1.414L13.12 8.88l1.415-1.415-1.829-1.828 2.829-2.828a1 1 0 0 1 1.414 0l4.242 4.242a1 1 0 0 1 0 1.414L8.464 21.192a1 1 0 0 1-1.414 0L2.808 16.95a1 1 0 0 1 0-1.414l2.828-2.829zm8.485 5.656l4.243-4.242L21 16.757V21h-4.242l-2.637-2.637zM5.636 9.878L2.807 7.05a1 1 0 0 1 0-1.415l2.829-2.828a1 1 0 0 1 1.414 0L9.88 5.635 5.636 9.878z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M15.728 9.686l-1.414-1.414L5 17.586V19h1.414l9.314-9.314zm1.414-1.414l1.414-1.414-1.414-1.414-1.414 1.414 1.414 1.414zM7.242 21H3v-4.243L16.435 3.322a1 1 0 0 1 1.414 0l2.829 2.829a1 1 0 0 1 0 1.414L7.243 21z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M20.083 15.2l1.202.721a.5.5 0 0 1 0 .858l-8.77 5.262a1 1 0 0 1-1.03 0l-8.77-5.262a.5.5 0 0 1 0-.858l1.202-.721L12 20.05l8.083-4.85zm0-4.7l1.202.721a.5.5 0 0 1 0 .858L12 17.65l-9.285-5.571a.5.5 0 0 1 0-.858l1.202-.721L12 15.35l8.083-4.85zm-7.569-9.191l8.771 5.262a.5.5 0 0 1 0 .858L12 13 2.715 7.429a.5.5 0 0 1 0-.858l8.77-5.262a1 1 0 0 1 1.03 0zM12 3.332L5.887 7 12 10.668 18.113 7 12 3.332z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M14.121 10.48a1 1 0 0 0-1.414 0l-.707.706a2 2 0 1 1-2.828-2.828l5.63-5.632a6.5 6.5 0 0 1 6.377 10.568l-2.108 2.135-4.95-4.95zM3.161 4.468a6.503 6.503 0 0 1 8.009-.938L7.757 6.944a4 4 0 0 0 5.513 5.794l.144-.137 4.243 4.242-4.243 4.243a2 2 0 0 1-2.828 0L3.16 13.66a6.5 6.5 0 0 1 0-9.192z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M17 15.245v6.872a.5.5 0 0 1-.757.429L12 20l-4.243 2.546a.5.5 0 0 1-.757-.43v-6.87a8 8 0 1 1 10 0zM12 15a6 6 0 1 0 0-12 6 6 0 0 0 0 12zm0-2a4 4 0 1 1 0-8 4 4 0 0 1 0 8z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M12 8.5l2.116 5.088 5.492.44-4.184 3.584 1.278 5.36L12 20.1l-4.702 2.872 1.278-5.36-4.184-3.584 5.492-.44L12 8.5zm0 5.207l-.739 1.777-1.916.153 1.46 1.251-.447 1.871L12 17.756l1.641 1.003-.446-1.87 1.459-1.252-1.915-.153L12 13.707zM8 2v9H6V2h2zm10 0v9h-2V2h2zm-5 0v5h-2V2h2z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M22 17.002a6.002 6.002 0 0 1-4.713 5.86l-.638-1.914A4.003 4.003 0 0 0 19.465 19H17a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h2.938a8.001 8.001 0 0 0-15.876 0H7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-5C2 6.477 6.477 2 12 2s10 4.477 10 10V17.002zM20 17v-4h-3v4h3zM4 13v4h3v-4H4z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M22 20.007a1 1 0 0 1-.992.993H2.992A.993.993 0 0 1 2 20.007V19h18V7.3l-8 7.2-10-9V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v16.007zM4.434 5L12 11.81 19.566 5H4.434zM0 15h8v2H0v-2zm0-5h5v2H0v-2z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zm-.692-2H20V5H4v13.385L5.763 17zm5.53-4.879l4.243-4.242 1.414 1.414-5.657 5.657-3.89-3.89 1.415-1.414 2.475 2.475z"/>'},{tags:[],name:"",svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M22 14h-2V7.238l-7.928 7.1L4 7.216V19h10v2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v10zM4.511 5l7.55 6.662L19.502 5H4.511zM19 22l-3.536-3.536 1.415-1.414L19 19.172l3.536-3.536 1.414 1.414L19 22z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M20 7.238l-7.928 7.1L4 7.216V19h9v2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v7h-2V7.238zM19.501 5H4.511l7.55 6.662L19.502 5zM22 17h1v5h-8v-5h1v-1a3 3 0 0 1 6 0v1zm-2 0v-1a1 1 0 0 0-2 0v1h2z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M9 1v2h6V1h2v2h4a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h4V1h2zm11 9H4v9h16v-9zm-4.964 1.136l1.414 1.414-4.95 4.95-3.536-3.536L9.38 12.55l2.121 2.122 3.536-3.536zM7 5H4v3h16V5h-3v1h-2V5H9v1H7V5z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M14.6 8H21a2 2 0 0 1 2 2v2.104a2 2 0 0 1-.15.762l-3.095 7.515a1 1 0 0 1-.925.619H2a1 1 0 0 1-1-1V10a1 1 0 0 1 1-1h3.482a1 1 0 0 0 .817-.423L11.752.85a.5.5 0 0 1 .632-.159l1.814.907a2.5 2.5 0 0 1 1.305 2.853L14.6 8zM7 10.588V19h11.16L21 12.104V10h-6.4a2 2 0 0 1-1.938-2.493l.903-3.548a.5.5 0 0 0-.261-.571l-.661-.33-4.71 6.672c-.25.354-.57.644-.933.858zM5 11H3v8h2v-8z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M19 21H5a1 1 0 0 1-1-1v-9H1l10.327-9.388a1 1 0 0 1 1.346 0L23 11h-3v9a1 1 0 0 1-1 1zm-6-2h5V9.157l-6-5.454-6 5.454V19h5v-6h2v6z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M21 20h2v2H1v-2h2V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v17zm-2 0V4H5v16h14zM8 11h3v2H8v-2zm0-4h3v2H8V7zm0 8h3v2H8v-2zm5 0h3v2h-3v-2zm0-4h3v2h-3v-2zm0-4h3v2h-3V7z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zm-.692-2H20V5H4v13.385L5.763 17zM11 10h2v2h-2v-2zm-4 0h2v2H7v-2zm8 0h2v2h-2v-2z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M9.4 16H3a2 2 0 0 1-2-2v-2.104a2 2 0 0 1 .15-.762L4.246 3.62A1 1 0 0 1 5.17 3H22a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-3.482a1 1 0 0 0-.817.423l-5.453 7.726a.5.5 0 0 1-.632.159L9.802 22.4a2.5 2.5 0 0 1-1.305-2.853L9.4 16zm7.6-2.588V5H5.84L3 11.896V14h6.4a2 2 0 0 1 1.938 2.493l-.903 3.548a.5.5 0 0 0 .261.571l.661.33 4.71-6.672c.25-.354.57-.644.933-.858zM19 13h2V5h-2v8z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M7 4v16h10V4H7zM6 2h12a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm6 15a1 1 0 1 1 0 2 1 1 0 0 1 0-2z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M15.396 10.58l.02-.249a32.392 32.392 0 0 0 .083-2.326c0-.87-.294-1.486-.914-2.063-.66-.614-1.459-.942-2.59-.942-1.137 0-1.958.335-2.51.888-.696.695-.958 1.218-.958 2.1 0 .521.061 1.994.096 2.618a2 2 0 0 1-.469 1.402c.055.098.105.204.153.317.3.771.198 1.543-.152 2.271-.392.818-.731 1.393-1.41 2.154a7.973 7.973 0 0 1-.642.643 1.999 1.999 0 0 1 .412.565 5.886 5.886 0 0 1 1.585.074c.81.146 1.324.434 2.194 1.061l.016.011.213.152c.619.44.877.546 1.473.546.609 0 .91-.121 1.523-.552l.207-.146c.876-.632 1.407-.928 2.231-1.076a6.664 6.664 0 0 1 1.559-.074 1.999 1.999 0 0 1 .417-.567 8.409 8.409 0 0 1-.616-.616 9.235 9.235 0 0 1-1.447-2.16c-.363-.749-.47-1.54-.137-2.321.04-.098.085-.19.132-.276a2 2 0 0 1-.469-1.435zm-10.315-.102c.419 0 .6.305 1.219.305.157 0 .26-.035.326-.066-.009-.156-.099-1.986-.099-2.729 0-1.688.72-2.69 1.543-3.514C8.893 3.65 10.175 3 11.996 3c1.82 0 3.066.653 3.952 1.478.886.825 1.551 1.93 1.551 3.528 0 1.555-.099 2.594-.108 2.716a.59.59 0 0 0 .279.065c.63 0 .63-.31 1.33-.31.685 0 .983.57.983.823 0 .621-.833.967-1.33 1.126-.369.117-.931.291-1.075.635-.074.174-.043.4.092.678.003.008 1.26 2.883 3.93 3.326.235.035.391.241.391.483 0 .332-.37.617-.726.782-.443.2-1.091.37-1.952.505-.043.078-.134.485-.235.887-.135.542-.801.366-.991.326A4.997 4.997 0 0 0 16.291 20c-.482.087-.913.378-1.395.726-.713.504-1.465 1.076-2.9 1.076-1.436 0-2.144-.572-2.857-1.076-.482-.348-.905-.637-1.396-.726-.898-.163-1.57.036-1.795.057-.226.02-.842.244-.996-.327-.045-.166-.191-.808-.235-.895-.856-.135-1.508-.313-1.952-.513-.365-.165-.726-.443-.726-.779 0-.235.158-.44.391-.482 2.644-.483 3.766-3.005 3.922-3.33.132-.276.161-.5.091-.679-.143-.343-.704-.513-1.073-.635-.105-.034-1.336-.373-1.336-1.117 0-.24.205-.573.582-.73a1.36 1.36 0 0 1 .465-.092z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M14 10.25L17 8v6l-3-2.25V14H7V8h7v2.25zM5.763 17H20V5H4v13.385L5.763 17zm.692 2L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455z"/>'},{svg:'<path d="M17 1L1.15533 8.23675C1.08581 8.2685 1.07616 8.36335 1.13788 8.40845L5.8 11.8154M17 1V19.8031C17 19.8849 16.9071 19.9321 16.841 19.8838L9.44214 14.477M17 1L5.8 11.8154M17 1L9.44214 14.477M5.8 11.8154L9.44214 14.477M5.8 11.8154L6.57033 17.5855C6.58178 17.6712 6.68936 17.703 6.74552 17.6372L9.44214 14.477" stroke="none"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M20 3v14a4 4 0 1 1-2-3.465V6H9v11a4 4 0 1 1-2-3.465V3h13z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M12 13.535V3h8v3h-6v11a4 4 0 1 1-2-3.465z"/>'},{svg:'<path fill="none" d="M0 0h24v24H0z"/><path d="M12 4a8 8 0 0 0-8 8h3a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-7C2 6.477 6.477 2 12 2s10 4.477 10 10v7a2 2 0 0 1-2 2h-3a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h3a8 8 0 0 0-8-8zM4 14v5h3v-5H4zm13 0v5h3v-5h-3z"/>'}];var E=a(49549);const q=t=>r.qy` <cdtr-editor-container>
542
+ <cdtr-title><lang-text text="${t.title}"></lang-text></cdtr-title>
543
+ <cdtr-row style="padding:var(--add-padding-row)" justify="center">
544
+ ${(0,E.u)(R(),t=>t.svg,e=>{const a=(new DOMParser).parseFromString(`<svg\n width="30"\n height="30"\n xmlns="http://www.w3.org/2000/svg"\n viewBox="0 0 24 24">${e.svg}</svg>`,"text/xml").firstChild;return r.qy`<cdtr-col sm="3">
545
+ <paper-button style="min-width:0;padding:3px" @click=${()=>t.onChange(e)}>
546
+ ${a}
547
+ </paper-button>
548
+ </cdtr-col>`})}
549
+ </cdtr-row>
550
+ </cdtr-editor-container>`,T=t=>r.qy`
551
+ <cdtr-editor-container pt="0">
552
+ <cdtr-row @click=${t=>{const e=t.currentTarget;if(e){if(t.target.closest("cdtr-gallery"))return;const a=e.querySelector("cdtr-gallery");a&&(a.opened&&(a.opened=!1),setTimeout(()=>{a.opened=!0},100))}}} style="padding:0.7rem 0px;" justify="${t.justify||"center"}" alignItems="center">
553
+ ${t.src&&t.hasPreview?r.qy`
554
+ <div style="position: relative; width: 100%; margin-bottom: 10px; border: 1px solid #eee; border-radius: 4px; overflow: hidden;">
555
+ <img
556
+ src="${t.src}"
557
+ style="width: 100%; height: 120px; object-fit: cover; display: block;"
558
+ onerror="this.style.display='none'"
559
+ />
560
+ ${t.isDeletable?r.qy`
561
+ <paper-button
562
+ style="position: absolute; top: 5px; right: 5px; background: rgba(0,0,0,0.5); color: white; padding: 4px 8px; min-width: auto;"
563
+ @click=${e=>{e.stopPropagation(),"function"==typeof t.onDelete&&t.onDelete(e)}}
564
+ >
565
+ <lang-text text="delete"></lang-text>
566
+ </paper-button>
567
+ `:""}
568
+ </div>
569
+ `:""}
570
+ <paper-button style="margin-top:10px;width:100%;background:var(--primary);color:${t.buttonProps?.color||"var(--primary-text)"};"><lang-text text="${t.text||"gallery"}" ></lang-text>
571
+ </paper-button>
572
+ <cdtr-gallery
573
+ @close=${e=>{e.opened=!1,"function"==typeof t.close&&t.close(e)}}
574
+ .opened=${t.opened}
575
+ @file=${e=>{e.target.opened=!1,"function"==typeof t.onChange&&t.onChange(e)}}
576
+ ></cdtr-gallery>
577
+ </cdtr-row>
578
+ </cdtr-editor-container>
579
+ `,V=t=>{const e=JSON.parse(JSON.stringify(t.data)),a=e[0].items.length;if(""!==e[e.length-1].items[0].value){const t={items:[]};e.push(t);for(let r=0;r<a;r++)t.items.push({key:e[0].items[r].key,value:""})}""!==e[e.length-1].items[0].key&&e.forEach(t=>{t.items.push({key:"",value:""})});return r.qy`
580
+ <div>
581
+ <div style="width:100%;overflow-x:auto;">
582
+ <cdtr-editor-container>
583
+ <table
584
+ style="width:${t.width||"200px"};font-family: arial, sans-serif;
585
+ border-collapse: collapse;"
586
+ >
587
+ <thead>
588
+ <tr>
589
+ ${e[0].items.map((a,o)=>r.qy`<th
590
+ style=" border: 1px solid #dddddd;
591
+ padding: 8px;"
592
+ >
593
+ <cdtr-input
594
+ inputStyle="font-weight:700;border:none;"
595
+ @change=${a=>((a,r)=>{t.onChangeHeader&&(e.forEach((t,e)=>{t.items[r].key=a}),B(e),t.onChangeHeader(e,a,r))})(a.target.value,o)}
596
+ value=${a.key}
597
+ ></cdtr-input>
598
+ </th> `)}
599
+ </tr>
600
+ </thead>
601
+ <tbody>
602
+ ${e.map((a,o)=>r.qy`
603
+ <tr style="color: ${a.color}">
604
+ ${a.items.map((i,s)=>r.qy`<td
605
+ style=" border: 1px solid #dddddd;
606
+ padding: 8px;"
607
+ >
608
+ <cdtr-input
609
+ inputStyle="border:none;"
610
+ .disabled=${0!==s&&""===a.items[0].value}
611
+ @change=${a=>((a,r)=>{let{groupIndex:o,itemIndex:i}=r;t.onChangeValue&&(e[o].items[i].value=a,B(e),t.onChangeValue(e,{groupIndex:o,itemIndex:i,value:a}))})(a.target.value,{itemIndex:s,groupIndex:o})}
612
+ value=${i.value}
613
+ ></cdtr-input>
614
+ </td>`)}
615
+ </tr>
616
+ `)}
617
+ </tbody>
618
+ </table>
619
+ </cdtr-editor-container>
620
+ </div>
621
+ <cdtr-editor-container>
622
+ <h3>
623
+ <lang-text text="cols_color"></lang-text>
624
+ </h3>
625
+ </cdtr-editor-container>
626
+
627
+ ${e[0].items.map((a,o)=>r.qy`
628
+ <cdtr-editor-container>
629
+ <cdtr-row justify="space-between" alignItems="center">
630
+ <b>${a.key}</b>
631
+ ${t.editableColor&&a.key?r.qy`<color-playground
632
+ @change=${a=>((a,r)=>{t.onChangeHeader&&(e[r].color=a,B(e),t.onChangeHeader(e,a,r))})(a.target.value,o)}
633
+ value=${e[o].color}
634
+ style="height:18px"
635
+ ></color-playground>`:null}
636
+ </cdtr-row>
637
+ </cdtr-editor-container>
638
+ `)}
639
+ </div>
640
+ `};function B(t){t.forEach((t,e)=>{t.items=Array.from(t.items).filter(t=>t.key)})}const F=t=>r.qy`
641
+ <cdtr-editor-container>
642
+ <cdtr-link-element
643
+ .autofocus=${t.autofocus}
644
+ .href=${t.href||""}
645
+ .protocol=${t.protocol}
646
+ .target=${t.target}
647
+ @change=${t.onChange}
648
+ ></cdtr-link-element
649
+ ></cdtr-editor-container>`,j=[{name:"solid",value:"solid"},{name:"dashed",value:"dashed"},{name:"dotted",value:"dotted"},{name:"outset",value:"outset"},{name:"groove",value:"groove"},{name:"double",value:"double"},{name:"ridge",value:"ridge"}],W=t=>r.qy`<cdtr-editor-container>
650
+ <cdtr-row alignItems="center" jusitfyContent="space-between">
651
+ <cdtr-col>
652
+ <cdtr-title><lang-text text="type"></lang-text></cdtr-title>
653
+ <cdtr-col>
654
+ <cdtr-row>
655
+ <cdtr-dropdown @change=${t.onChange}>
656
+ <cdtr-dropdown-button
657
+ minWidth=${100}
658
+ class=" dropdown-button"
659
+ slot="trigger"
660
+ ><lang-text text="${t.borderType||t.value}"></lang-text>
661
+ </cdtr-dropdown-button>
662
+ <div slot="content">
663
+ ${j.map(e=>r.qy`<cdtr-dropdown-item
664
+ .focused=${e.value===t.borderStyle||e.value===t.value}
665
+ .selected=${e.value===t.borderStyle||e.value===t.value}
666
+ value="${e.value}"
667
+ ><lang-text text="${e.value}"></lang-text>
668
+ </cdtr-dropdown-item>`)}
669
+ </div>
670
+ </cdtr-dropdown>
671
+ </cdtr-row>
672
+ </cdtr-col>
673
+ </cdtr-col>
674
+ <cdtr-col sm="3">
675
+ <hr
676
+ style="border-top-color:${t.color};width:60%;margin:10px;margin-top:27px;border-top-width:${t.borderTopWidth}px;border-top-style:${t.borderStyle||t.value};"
677
+ />
678
+ </cdtr-col>
679
+ </cdtr-row>
680
+ </cdtr-editor-container>`,P=t=>{const e="alignItems"===t.type?[{value:"flex-start",label:"top"},{value:"center",label:"middle"},{value:"flex-end",label:"bottom"}]:[{value:"flex-end",label:"right"},{value:"center",label:"center"},{value:"flex-start",label:"left"}];"end"===t.value?t.value="flex-end":"start"===t.value&&(t.value="flex-start");const a=e.find(e=>e.value===t.value)?.label;return r.qy` <cdtr-editor-container>
681
+ <cdtr-title>
682
+ <lang-text text=${t.title||"justifyContent"}></lang-text>
683
+ </cdtr-title>
684
+ <cdtr-dropdown style="width:100%" @change=${t.onChange}>
685
+ <cdtr-dropdown-button
686
+ minWidth=${100}
687
+ class="dropdown-button"
688
+ slot="trigger"
689
+ ><lang-text text="${a||t.value}"></lang-text>
690
+ </cdtr-dropdown-button>
691
+ <div slot="content">
692
+ ${e.map(e=>r.qy`<cdtr-dropdown-item
693
+ .focused=${e.value===t.value}
694
+ .selected=${e.value===t.value}
695
+ .value="${e.value}"
696
+ ><lang-text text="${e.label}"></lang-text>
697
+ </cdtr-dropdown-item>`)}
698
+ </div>
699
+ </cdtr-dropdown>
700
+ </cdtr-editor-container>`};class N extends r.WF{constructor(){super(),this.onInput=this.onInput.bind(this),this.isLocked=!0,this.borderTopRightRadius=0,this.borderTopLeftRadius=0,this.borderBottomRightRadius=0,this.borderBottomLeftRadius=0}connectedCallback(){super.connectedCallback()}onInput(t,e){t.preventDefault();const a=t.target.value,r=a;this.isLocked?(this.borderTopRightRadius=a,this.borderTopLeftRadius=a,this.borderBottomRightRadius=a,this.borderBottomLeftRadius=a,this.json={borderTopRightRadius:r,borderTopLeftRadius:r,borderBottomRightRadius:r,borderBottomLeftRadius:r,borderRadius:null}):(this.borderTopRightRadius=parseInt(this.borderTopRightRadius||0),this.borderTopLeftRadius=parseInt(this.borderTopLeftRadius||0),this.borderBottomRightRadius=parseInt(this.borderBottomRightRadius||0),this.borderBottomLeftRadius=parseInt(this.borderBottomLeftRadius||0),this.json={borderTopRightRadius:parseInt(this.borderTopRightRadius||0),borderTopLeftRadius:parseInt(this.borderTopLeftRadius||0),borderBottomRightRadius:parseInt(this.borderBottomRightRadius||0),borderBottomLeftRadius:parseInt(this.borderBottomLeftRadius||0),borderRadius:null},this.json[e]=r),this.value=a,this.radiusKey=e;const o=new UIEvent("input",{view:window,bubbles:!0,cancelable:!0});this.dispatchEvent(o)}resolveIcon(t){let e;switch(t){case"borderTopRightRadius":e="arrowTopRight";break;case"borderTopLeftRadius":e="arrowTopLeft";break;case"borderBottomRightRadius":e="arrowBottomRight";break;case"borderBottomLeftRadius":e="arrowBottomLeft"}return r.qy`<cdtr-icon
701
+ width="15"
702
+ height="15"
703
+ icon="${e}"
704
+ ></cdtr-icon>`}onChangeLock(){this.isLocked=!this.isLocked}render(){this.elementId&&this.elementId!==this.lastElementId&&(this.lastElementId=this.elementId,this.isLocked=this.borderTopRightRadius===this.borderTopLeftRadius&&this.borderBottomRightRadius===this.borderBottomLeftRadius&&this.borderTopRightRadius===this.borderBottomLeftRadius);this.onChange;const t=this.onInput;return r.qy`<cdtr-row
705
+ alignItems="center"
706
+ spacing="3px"
707
+ style="position:relative;"
708
+ >
709
+ ${["borderTopRightRadius","borderTopLeftRadius","borderBottomRightRadius","borderBottomLeftRadius"].map(e=>r.qy`<cdtr-col>
710
+ ${this.resolveIcon(e)}
711
+ <cdtr-number-input
712
+ .type=${"number"}
713
+ .max=${300}
714
+ .min=${0}
715
+ value="${parseFloat(this[e])}"
716
+ @input=${a=>t(a,e)}
717
+ style="width:100%"
718
+ ></cdtr-number-input
719
+ ></cdtr-col>`)}
720
+ <cdtr-button @click=${this.onChangeLock}>
721
+ <cdtr-icon
722
+ style="height:10px"
723
+ width="20"
724
+ height="20"
725
+ .icon="${this.isLocked?"lock":"unlock"}"
726
+ ></cdtr-icon>
727
+ </cdtr-button>
728
+ </cdtr-row>`}}N.properties={value:{type:Number},json:{type:Object},onChange:{type:Function},borderTopRightRadius:{type:Number},borderTopLeftRadius:{type:Number},borderBottomRightRadius:{type:Number},borderBottomLeftRadius:{type:Number},isLocked:{type:Boolean},elementId:{type:String},radiusKey:{type:String}},customElements.define("cdtr-radius-editor",N);const O=t=>r.qy` <cdtr-editor-container>
729
+ <cdtr-row>
730
+ <cdtr-title><lang-text text="${t.title}"></lang-text></cdtr-title>
731
+ </cdtr-row>
732
+ <cdtr-radius-editor
733
+ .elementId=${t.elementId}
734
+ @input=${t.onInput}
735
+ .value=${t.value}
736
+ .borderTopRightRadius=${t.borderTopRightRadius||t.value||0}
737
+ .borderTopLeftRadius=${t.borderTopLeftRadius||t.value||0}
738
+ .borderBottomRightRadius=${t.borderBottomRightRadius||t.value||0}
739
+ .borderBottomLeftRadius=${t.borderBottomLeftRadius||t.value||0}
740
+ ></cdtr-radius-editor>
741
+ </cdtr-editor-container>`,D=t=>r.qy` <cdtr-editor-container>
742
+ <cdtr-title class="dir-lang"
743
+ ><lang-text text="choose_your_duo_date"></lang-text
744
+ ></cdtr-title>
745
+ <cdtr-datetimepicker
746
+ @change=${t.onChange}
747
+ .value="${t.value}"
748
+ ></cdtr-datetimepicker>
749
+ </cdtr-editor-container>`,U=t=>{let e="";return t.bgColor&&(e+=`background:${t.bgColor};`),t.color&&(e+=`color:${t.color};`),r.qy` <cdtr-editor-container>
750
+ <paper-button fullwidth style=${e} @click=${t.onClick}
751
+ ><lang-text text="${t.text}"></lang-text>${t.icon?r.qy`${" "}<cdtr-icon
752
+ style="margin-right:5px;display:block;font-size:12px;"
753
+ width="15px"
754
+ color="${t.color}"
755
+ icon=${t.icon}
756
+ ></cdtr-icon>`:null}</paper-button
757
+ >
758
+ </cdtr-editor-container>`},G=t=>r.qy` <cdtr-editor-container>
759
+ <cdtr-title><lang-text text="${t.title}"></lang-text></cdtr-title>
760
+ <cdtr-merge-tags></cdtr-merge-tags>
761
+ </cdtr-editor-container>`;a(58691);var K=a(86959);const J=async function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{const a=await fetch((0,K.Ay)()?"http://localhost:8000/api/v1/prompt/image":"https://agent.creaditor.ai/api/v1/prompt/image",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prompt:t,options:{size:e.size||"1024x1024",quality:e.quality||"standard",style:e.style||"vivid",context:e.context||""}})});if(!a.ok)throw new Error(`HTTP error! status: ${a.status}`);const r=await a.json();return{status:r.status||"complete",image:r.image,metadata:{prompt:r.metadata?.prompt||t,size:r.metadata?.size||e.size||"1024x1024",quality:r.metadata?.quality||e.quality||"standard",style:r.metadata?.style||e.style||"vivid",fal_ai_result:r.metadata?.fal_ai_result||r}}}catch(t){throw console.error("Error generating image:",t),t}};var Z=a(13681);class Q extends r.WF{constructor(){super(),this.generatedImage=localStorage.getItem("lastGeneratedImage")||"",this.isGenerating=!1}handleInsertImage(t){const e=t.startsWith("data:")||!t.startsWith("http");Z.vP.dispatch("on:upload-file",{image:t,type:e?"base64":"url"})}async handleGenerateImage(t,e){try{this.isGenerating=!0,this.requestUpdate();const a=l.Ay.getSelectedComponent(),r=a[0].closest("section"),o=r?.element,i=o?o.innerText:"",s=i.length>500?i.slice(-500):i;e.context=s;const n=await J(t,e);return this.generatedImage=n.image,localStorage.setItem("lastGeneratedImage",n.image),this.isGenerating=!1,this.requestUpdate(),n}catch(t){throw this.isGenerating=!1,this.requestUpdate(),console.error("Failed to generate image:",t),t}}render(){return r.qy` <cdtr-editor-container>
762
+ <cdtr-image-prompt-editor
763
+ @insert-image=${t=>this.handleInsertImage(t.detail.imageUrl)}
764
+ .generatedImage=${this.generatedImage}
765
+ .isLoading=${this.isGenerating}
766
+ @generate-image=${t=>this.handleGenerateImage(t.detail.prompt,t.detail.options)}
767
+ ></cdtr-image-prompt-editor>
768
+ </cdtr-editor-container>`}}Q.properties={generatedImage:{type:String},isGenerating:{type:Boolean}},customElements.define("cdtr-image-prompt-builder",Q);const X=JSON.parse('[{"src":"http://app.creaditor.com/assets/bullets/images/1.png","name":"Bullet 1"},{"src":"http://app.creaditor.com/assets/bullets/images/10.png","name":"Bullet 10"},{"src":"http://app.creaditor.com/assets/bullets/images/11.png","name":"Bullet 11"},{"src":"http://app.creaditor.com/assets/bullets/images/12.png","name":"Bullet 12"},{"src":"http://app.creaditor.com/assets/bullets/images/13.png","name":"Bullet 13"},{"src":"http://app.creaditor.com/assets/bullets/images/14.png","name":"Bullet 14"},{"src":"http://app.creaditor.com/assets/bullets/images/1468855650_office-65-14.png","name":"Office Icon"},{"src":"http://app.creaditor.com/assets/bullets/images/1468857210_88.png","name":"Number 88"},{"src":"http://app.creaditor.com/assets/bullets/images/1469019930_heart.png","name":"Heart"},{"src":"http://app.creaditor.com/assets/bullets/images/1469019990_2.png","name":"Number 2"},{"src":"http://app.creaditor.com/assets/bullets/images/1469020015_number-one.png","name":"Number One"},{"src":"http://app.creaditor.com/assets/bullets/images/1469020019_number-two.png","name":"Number Two"},{"src":"http://app.creaditor.com/assets/bullets/images/1469020022_number-three.png","name":"Number Three"},{"src":"http://app.creaditor.com/assets/bullets/images/1469020025_number-four.png","name":"Number Four"},{"src":"http://app.creaditor.com/assets/bullets/images/1469020028_number-six.png","name":"Number Six"},{"src":"http://app.creaditor.com/assets/bullets/images/1469020031_number-five.png","name":"Number Five"},{"src":"http://app.creaditor.com/assets/bullets/images/1469020035_number-seven.png","name":"Number Seven"},{"src":"http://app.creaditor.com/assets/bullets/images/1469020041_number-eight.png","name":"Number Eight"},{"src":"http://app.creaditor.com/assets/bullets/images/1469020045_number-nine.png","name":"Number Nine"},{"src":"http://app.creaditor.com/assets/bullets/images/1469020299_free-16.png","name":"Free Icon"},{"src":"http://app.creaditor.com/assets/bullets/images/1469020371_pen_stroke_sketch_doodle_lineart_144.png","name":"Pen Sketch"},{"src":"http://app.creaditor.com/assets/bullets/images/1469020375_sale.png","name":"Sale"},{"src":"http://app.creaditor.com/assets/bullets/images/1469020407_question_mark.png","name":"Question Mark"},{"src":"http://app.creaditor.com/assets/bullets/images/1469020420_check.png","name":"Check"},{"src":"http://app.creaditor.com/assets/bullets/images/1469020468_pen_stroke_sketch_doodle_lineart_104.png","name":"Pen Doodle"},{"src":"http://app.creaditor.com/assets/bullets/images/1469020485_help-questionmark.png","name":"Help Question"},{"src":"http://app.creaditor.com/assets/bullets/images/1469020538_sign-check.png","name":"Sign Check"},{"src":"http://app.creaditor.com/assets/bullets/images/1469020540_check.png","name":"Check Mark"},{"src":"http://app.creaditor.com/assets/bullets/images/1469020585_ic_keyboard_arrow_right_48px.png","name":"Arrow Right"},{"src":"http://app.creaditor.com/assets/bullets/images/1469020603_right.png","name":"Right Arrow"},{"src":"http://app.creaditor.com/assets/bullets/images/1469020616_DoubleChevronRight.png","name":"Double Chevron Right"},{"src":"http://app.creaditor.com/assets/bullets/images/1469020625_InterfaceExpendet-01.png","name":"Interface Expand"},{"src":"http://app.creaditor.com/assets/bullets/images/1469020634_refresh.png","name":"Refresh"},{"src":"http://app.creaditor.com/assets/bullets/images/1469020654_arrow_pencil_left-mediuem.png","name":"Arrow Pencil Left"},{"src":"http://app.creaditor.com/assets/bullets/images/1469020664_Streamline-21.png","name":"Streamline"},{"src":"http://app.creaditor.com/assets/bullets/images/1469020671_Next_Arrow_Direction_Forward_Continue_Move.png","name":"Next Arrow"},{"src":"http://app.creaditor.com/assets/bullets/images/15.png","name":"Bullet 15"},{"src":"http://app.creaditor.com/assets/bullets/images/16.png","name":"Bullet 16"},{"src":"http://app.creaditor.com/assets/bullets/images/17.png","name":"Bullet 17"},{"src":"http://app.creaditor.com/assets/bullets/images/18.png","name":"Bullet 18"},{"src":"http://app.creaditor.com/assets/bullets/images/19.png","name":"Bullet 19"},{"src":"http://app.creaditor.com/assets/bullets/images/2.png","name":"Bullet 2"},{"src":"http://app.creaditor.com/assets/bullets/images/20.png","name":"Bullet 20"},{"src":"http://app.creaditor.com/assets/bullets/images/21.png","name":"Bullet 21"},{"src":"http://app.creaditor.com/assets/bullets/images/22.png","name":"Bullet 22"},{"src":"http://app.creaditor.com/assets/bullets/images/23.png","name":"Bullet 23"},{"src":"http://app.creaditor.com/assets/bullets/images/24.png","name":"Bullet 24"},{"src":"http://app.creaditor.com/assets/bullets/images/25.png","name":"Bullet 25"},{"src":"http://app.creaditor.com/assets/bullets/images/3.png","name":"Bullet 3"},{"src":"http://app.creaditor.com/assets/bullets/images/4.png","name":"Bullet 4"},{"src":"http://app.creaditor.com/assets/bullets/images/5.png","name":"Bullet 5"},{"src":"http://app.creaditor.com/assets/bullets/images/6.png","name":"Bullet 6"},{"src":"http://app.creaditor.com/assets/bullets/images/7.png","name":"Bullet 7"},{"src":"http://app.creaditor.com/assets/bullets/images/8.png","name":"Bullet 8"},{"src":"http://app.creaditor.com/assets/bullets/images/9.png","name":"Bullet 9"},{"src":"http://app.creaditor.com/assets/bullets/images/Add-48.png","name":"Add"},{"src":"http://app.creaditor.com/assets/bullets/images/addition-icon.png","name":"Addition"},{"src":"http://app.creaditor.com/assets/bullets/images/Arrow-next-3-icon.png","name":"Arrow Next 3"},{"src":"http://app.creaditor.com/assets/bullets/images/Arrow-next-5-icon.png","name":"Arrow Next 5"},{"src":"http://app.creaditor.com/assets/bullets/images/Arrow-previous-3-icon.png","name":"Arrow Previous 3"},{"src":"http://app.creaditor.com/assets/bullets/images/Arrow-prevous-5-icon.png","name":"Arrow Previous 5"},{"src":"http://app.creaditor.com/assets/bullets/images/Bulb-icon.png","name":"Bulb"},{"src":"http://app.creaditor.com/assets/bullets/images/Cart-add-icon%20(1).png","name":"Cart Add"},{"src":"http://app.creaditor.com/assets/bullets/images/cart-add-icon.png","name":"Cart Add Icon"},{"src":"http://app.creaditor.com/assets/bullets/images/cart-icon.png","name":"Cart"},{"src":"http://app.creaditor.com/assets/bullets/images/Check-3-icon.png","name":"Check 3"},{"src":"http://app.creaditor.com/assets/bullets/images/close-icon.png","name":"Close"},{"src":"http://app.creaditor.com/assets/bullets/images/cloud-icon.png","name":"Cloud"},{"src":"http://app.creaditor.com/assets/bullets/images/contact-icon.png","name":"Contact"},{"src":"http://app.creaditor.com/assets/bullets/images/Crown-48.png","name":"Crown"},{"src":"http://app.creaditor.com/assets/bullets/images/currency-icon.png","name":"Currency"},{"src":"http://app.creaditor.com/assets/bullets/images/Dollar-48.png","name":"Dollar"},{"src":"http://app.creaditor.com/assets/bullets/images/download-icon.png","name":"Download"},{"src":"http://app.creaditor.com/assets/bullets/images/error-48.png","name":"Error"},{"src":"http://app.creaditor.com/assets/bullets/images/fastforward-icon.png","name":"Fast Forward"},{"src":"http://app.creaditor.com/assets/bullets/images/fastrewind-icon.png","name":"Fast Rewind"},{"src":"http://app.creaditor.com/assets/bullets/images/Favorites-icon.png","name":"Favorites"},{"src":"http://app.creaditor.com/assets/bullets/images/Favourite-icon.png","name":"Favourite"},{"src":"http://app.creaditor.com/assets/bullets/images/Fire-48.png","name":"Fire"},{"src":"http://app.creaditor.com/assets/bullets/images/Heart-48.png","name":"Heart"},{"src":"http://app.creaditor.com/assets/bullets/images/heart-favourite-icon.png","name":"Heart Favourite"},{"src":"http://app.creaditor.com/assets/bullets/images/heart-icon.png","name":"Heart Icon"},{"src":"http://app.creaditor.com/assets/bullets/images/heart-plus-icon.png","name":"Heart Plus"},{"src":"http://app.creaditor.com/assets/bullets/images/Info-48.png","name":"Info"},{"src":"http://app.creaditor.com/assets/bullets/images/info-icon.png","name":"Info Icon"},{"src":"http://app.creaditor.com/assets/bullets/images/information-icon.png","name":"Information"},{"src":"http://app.creaditor.com/assets/bullets/images/light-icon.png","name":"Light"},{"src":"http://app.creaditor.com/assets/bullets/images/like-icon.png","name":"Like"},{"src":"http://app.creaditor.com/assets/bullets/images/location-icon.png","name":"Location"},{"src":"http://app.creaditor.com/assets/bullets/images/love-48.png","name":"Love"},{"src":"http://app.creaditor.com/assets/bullets/images/new-icon.png","name":"New"},{"src":"http://app.creaditor.com/assets/bullets/images/next-icon%20(1).png","name":"Next Icon"},{"src":"http://app.creaditor.com/assets/bullets/images/next-icon.png","name":"Next"},{"src":"http://app.creaditor.com/assets/bullets/images/phone-call-icon.png","name":"Phone Call"},{"src":"http://app.creaditor.com/assets/bullets/images/phone-icon.png","name":"Phone"},{"src":"http://app.creaditor.com/assets/bullets/images/plus-icon.png","name":"Plus"},{"src":"http://app.creaditor.com/assets/bullets/images/sale-tag-icon.png","name":"Sale Tag"},{"src":"http://app.creaditor.com/assets/bullets/images/settings-2-icon.png","name":"Settings 2"},{"src":"http://app.creaditor.com/assets/bullets/images/settings-icon.png","name":"Settings"},{"src":"http://app.creaditor.com/assets/bullets/images/shopping-icon.png","name":"Shopping"},{"src":"http://app.creaditor.com/assets/bullets/images/songs-icon.png","name":"Songs"},{"src":"http://app.creaditor.com/assets/bullets/images/sound-2-icon.png","name":"Sound 2"},{"src":"http://app.creaditor.com/assets/bullets/images/star-icon%20(1).png","name":"Star Icon"},{"src":"http://app.creaditor.com/assets/bullets/images/star-icon.png","name":"Star"},{"src":"http://app.creaditor.com/assets/bullets/images/stop-icon.png","name":"Stop"},{"src":"http://app.creaditor.com/assets/bullets/images/sun-icon.png","name":"Sun"},{"src":"http://app.creaditor.com/assets/bullets/images/tick-icon.png","name":"Tick"},{"src":"http://app.creaditor.com/assets/bullets/images/warning-icon.png","name":"Warning"},{"src":"http://app.creaditor.com/assets/bullets/images/zoom-in-icon.png","name":"Zoom In"},{"src":"http://app.creaditor.com/assets/bullets/images/zoom-seach-icon.png","name":"Zoom Search"},{"src":"http://app.creaditor.com/assets/bullets/images/zoom-search-2-icon.png","name":"Zoom Search 2"}]'),Y="https://img.creaditor.ai",tt="creaditor_icons_last_search";function et(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const a=e.width??24,r=e.height??24;let o=e.color??"000000";o.startsWith("#")&&(o=o.slice(1));return`${`${Y}/icons/serve/${encodeURIComponent(t.category)}/${encodeURIComponent(t.name)}.png`}?${new URLSearchParams({width:String(a),height:String(r),color:o}).toString()}`}class at extends r.WF{constructor(){super(),this.selectedIcon="",this.searchTerm="",this.filteredImages=X,this.useIconsApi=!1,this.iconColor="000000",this.iconSize=24,this._tab="local",this._apiIcons=[],this._apiLoading=!1,this._apiSearchDebounce=null}updated(t){if(super.updated?.(t),t.has("useIconsApi")&&this.useIconsApi&&(this._tab="api"),"api"===this._tab&&0===this._apiIcons.length&&!this._apiLoading){const t=this._getLastSearch();t?(this.searchTerm=t,this._fetchApiIcons(t)):(this.searchTerm="",this._fetchCategories())}}render(){const t=this.useIconsApi,e="api"===this._tab;return r.qy`
769
+ <div class="gallery-container">
770
+ ${t?r.qy`
771
+ <div class="tabs">
772
+ <button
773
+ class="tab ${"local"===this._tab?"active":""}"
774
+ @click=${()=>this._tab="local"}
775
+ >
776
+ <lang-text text="icons_color_images"></lang-text>
777
+ </button>
778
+ <button
779
+ class="tab ${"api"===this._tab?"active":""}"
780
+ @click=${()=>this._tab="api"}
781
+ >
782
+ <lang-text text="icons_svg_icons"></lang-text>
783
+ </button>
784
+ </div>
785
+ `:""}
786
+
787
+ ${e?r.qy`
788
+ <div class="api-hint">
789
+ <lang-text text="icons_search_svg_hint"></lang-text>
790
+ </div>
791
+ `:""}
792
+
793
+ <div class="search-container">
794
+ <cdtr-input
795
+ type="search"
796
+ class="search-input"
797
+ placeholder=${o.M.get("lang",e?"icons_search_placeholder":"search")||(e?"Search icons (e.g. arrow, user, email)…":"search")}
798
+ .value=${this.searchTerm}
799
+ @input=${this._handleSearch}
800
+ ></cdtr-input>
801
+ </div>
802
+
803
+ ${e&&this._apiLoading?r.qy`<div class="loading"><lang-text text="loading"></lang-text></div>`:r.qy`
804
+ <div class="gallery-grid">
805
+ ${this._gridContent(e)}
806
+ </div>
807
+ `}
808
+ </div>
809
+ `}_gridContent(t){if(t){if(0===this._apiIcons.length){const t=this.searchTerm.trim()?"icons_no_svg_results":"icons_type_to_search";return r.qy`<div class="no-results"><lang-text text="${t}"></lang-text></div>`}const t=this.iconColor||"000000",e=this.iconSize||24;return this._apiIcons.map(a=>r.qy`
810
+ <div
811
+ class="icon-item ${this._isApiIconSelected(a,t,e)?"selected":""}"
812
+ @click=${()=>this._selectApiIcon(a)}
813
+ title="${a.name}"
814
+ >
815
+ <img
816
+ src="${et(a,{width:e,height:e,color:t})}"
817
+ alt="${a.name}"
818
+ class="icon-image"
819
+ loading="lazy"
820
+ @error=${this._handleImageError}
821
+ />
822
+ <div class="icon-name">${a.name}</div>
823
+ </div>
824
+ `)}return 0===this.filteredImages.length?r.qy`
825
+ <div class="no-results">
826
+ <lang-text text="icons_no_local_results"></lang-text>
827
+ </div>
828
+ `:this.filteredImages.map(t=>r.qy`
829
+ <div
830
+ class="icon-item ${this.selectedIcon===t.src?"selected":""}"
831
+ @click=${()=>this._selectIcon(t)}
832
+ title="${t.name}"
833
+ >
834
+ <img
835
+ src="${t.src}"
836
+ alt="${t.name}"
837
+ class="icon-image"
838
+ loading="lazy"
839
+ @error=${this._handleImageError}
840
+ />
841
+ <div class="icon-name">${t.name}</div>
842
+ </div>
843
+ `)}_isApiIconSelected(t,e,a){const r=et(t,{width:a,height:a,color:e});return this.selectedIcon===r}_handleSearch(t){this.searchTerm=t.target.value;const e=this.searchTerm.trim().toLowerCase();if("api"===this._tab)return this._apiSearchDebounce&&clearTimeout(this._apiSearchDebounce),e?void(this._apiSearchDebounce=setTimeout(()=>this._fetchApiIcons(e),550)):(this.searchTerm="",void this._fetchCategories());this.filteredImages=X.filter(t=>(t.name||"").toLowerCase().includes(e))}_getLastSearch(){try{return localStorage.getItem(tt)||""}catch{return""}}_setLastSearch(t){try{t?localStorage.setItem(tt,t):localStorage.removeItem(tt)}catch{}}async _fetchCategories(){this._apiLoading=!0,this._apiIcons=[];try{const t=await fetch("https://img.creaditor.ai/icons/categories");if(!t.ok)throw new Error(t.statusText);const e=await t.json(),a=(e.categories||[]).flatMap(t=>t.icons||[]);this._apiIcons=a}catch(t){this._apiIcons=[],console.warn("Icons categories fetch failed:",t)}finally{this._apiLoading=!1}}async _fetchApiIcons(t){this._apiLoading=!0,this._apiIcons=[];const e=(t||"").trim();e&&this._setLastSearch(e);try{const t=new URLSearchParams({q:e,format:"png",limit:"50",width:String(this.iconSize||24),height:String(this.iconSize||24)}),a=(this.iconColor||"000000").replace(/^#/,"");t.set("color",a);const r=await fetch(`${Y}/icons/search?${t.toString()}`);if(!r.ok)throw new Error(r.statusText);const o=await r.json();this._apiIcons=o.icons||[]}catch(t){this._apiIcons=[],console.warn("Icons API search failed:",t)}finally{this._apiLoading=!1}}_selectApiIcon(t){const e=this.iconColor||"000000",a=this.iconSize||24,r=et(t,{width:a,height:a,color:e});this.selectedIcon=r,this.dispatchEvent(new CustomEvent("icon-selected",{detail:{src:r,urlPng:r,urlSvg:t.urlSvg||t.src,name:t.name,category:t.category,size:{width:a,height:a},color:e},bubbles:!0,composed:!0}))}_selectIcon(t){this.selectedIcon=t.src,this.dispatchEvent(new CustomEvent("icon-selected",{detail:{src:t.src,name:t.name},bubbles:!0,composed:!0}))}_handleImageError(t){t.target.style.display="none";const e=t.target.parentElement.querySelector(".icon-name");e&&(e.textContent=o.M.get("lang","icons_error_loading")||"Error loading")}}at.properties={selectedIcon:{type:String},useIconsApi:{type:Boolean},iconColor:{type:String},iconSize:{type:Number},searchTerm:{type:String},filteredImages:{type:Array},_tab:{type:String,state:!0},_apiIcons:{type:Array,state:!0},_apiLoading:{type:Boolean,state:!0},_apiSearchDebounce:{type:Object,state:!0}},at.styles=r.AH`
844
+ :host {
845
+ display: block;
846
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
847
+ sans-serif;
848
+ }
849
+
850
+ .gallery-container {
851
+ max-width: 100%;
852
+ margin: 0 auto;
853
+ padding: 16px;
854
+ }
855
+
856
+ .tabs {
857
+ display: flex;
858
+ gap: 4px;
859
+ margin-bottom: 12px;
860
+ }
861
+
862
+ .tab {
863
+ padding: 8px 12px;
864
+ border: 1px solid #ddd;
865
+ border-radius: 4px;
866
+ background: #f5f5f5;
867
+ cursor: pointer;
868
+ font-size: 13px;
869
+ }
870
+
871
+ .tab:hover {
872
+ background: #eee;
873
+ }
874
+
875
+ .tab.active {
876
+ background: #007bff;
877
+ color: #fff;
878
+ border-color: #007bff;
879
+ }
880
+
881
+ .search-container {
882
+ margin-bottom: 16px;
883
+ }
884
+
885
+ .search-input {
886
+ width: 100%;
887
+ padding: 8px 12px;
888
+ border: 1px solid #ddd;
889
+ border-radius: 4px;
890
+ font-size: 14px;
891
+ box-sizing: border-box;
892
+ }
893
+
894
+ .search-input:focus {
895
+ outline: none;
896
+ border-color: #007bff;
897
+ box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
898
+ }
899
+
900
+ .gallery-grid {
901
+ display: grid;
902
+ grid-template-columns: repeat(2, 1fr);
903
+ gap: 12px;
904
+ max-height: 400px;
905
+ overflow-y: auto;
906
+ border: 1px solid #e0e0e0;
907
+ border-radius: 8px;
908
+ padding: 12px;
909
+ background-color: #fafafa;
910
+ }
911
+
912
+ .icon-item {
913
+ display: flex;
914
+ flex-direction: column;
915
+ align-items: center;
916
+ padding: 16px 12px;
917
+ border: 2px solid transparent;
918
+ border-radius: 6px;
919
+ cursor: pointer;
920
+ transition: all 0.2s ease;
921
+ background-color: white;
922
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
923
+ min-height: 30px;
924
+ }
925
+
926
+ .icon-item:hover {
927
+ border-color: #007bff;
928
+ transform: translateY(-2px);
929
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
930
+ }
931
+
932
+ .icon-item.selected {
933
+ border-color: #28a745;
934
+ background-color: #f8fff9;
935
+ }
936
+
937
+ .icon-image {
938
+ width: 26px;
939
+ height: 26px;
940
+ object-fit: contain;
941
+ margin-bottom: 6px;
942
+ }
943
+
944
+ .icon-name {
945
+ font-size: 11px;
946
+ text-align: center;
947
+ color: #666;
948
+ word-break: break-word;
949
+ line-height: 1.3;
950
+ max-width: 100%;
951
+ font-weight: 500;
952
+ }
953
+
954
+ .no-results {
955
+ text-align: center;
956
+ color: #666;
957
+ font-style: italic;
958
+ padding: 40px 20px;
959
+ }
960
+
961
+ .api-hint {
962
+ font-size: 12px;
963
+ color: #666;
964
+ margin-bottom: 12px;
965
+ }
966
+
967
+ .loading {
968
+ text-align: center;
969
+ padding: 24px;
970
+ color: #666;
971
+ }
972
+ `,customElements.define("icons-gallery",at);const rt="https://img.creaditor.ai",ot="creaditor_giphy_last_search";class it extends r.WF{constructor(){super(),this.selectedSrc="",this.searchTerm="",this._gifs=[],this._loading=!1,this._searchDebounce=null}connectedCallback(){super.connectedCallback();const t=this._getLastSearch();t&&t.trim()?(this.searchTerm=t,this._doSearch()):this._loadTrending()}_getLastSearch(){try{return sessionStorage.getItem(ot)||""}catch{return""}}_setLastSearch(t){try{t&&t.trim()?sessionStorage.setItem(ot,t.trim()):sessionStorage.removeItem(ot)}catch{}}render(){return r.qy`
973
+ <div class="picker-container">
974
+ <div class="search-row">
975
+ <input
976
+ type="search"
977
+ class="search-input"
978
+ placeholder=${o.M.get("lang","giphy_search_placeholder")||"Search GIFs (e.g. happy, celebration…)"}
979
+ .value=${this.searchTerm}
980
+ @input=${this._handleSearchInput}
981
+ @keydown=${t=>"Enter"===t.key&&this._doSearch()}
982
+ />
983
+ <button class="search-btn" @click=${()=>this._doSearch()}><lang-text text="search"></lang-text></button>
984
+ <button class="random-btn" @click=${this._loadRandom} title=${o.M.get("lang","giphy_random_title")||"Random GIF"}>🎲</button>
985
+ </div>
986
+
987
+ <div class="gallery-grid">
988
+ ${this._loading?r.qy`<div class="loading"><lang-text text="loading"></lang-text></div>`:0===this._gifs.length?r.qy`<div class="no-results"><lang-text text="${this._getEmptyMessageKey()}"></lang-text></div>`:this._gifs.map(t=>this._renderGifItem(t))}
989
+ </div>
990
+ </div>
991
+ `}_getEmptyMessageKey(){return this.searchTerm.trim()?"giphy_no_results":"giphy_no_available"}_renderGifItem(t){const e=function(t){return"string"==typeof t?t:t?.images.fixed_height.url||t?.images?.fixed_height?.url?t.images.fixed_height.url:t?.images?.fixed_height_small?.webp?t.images.fixed_height_small.url:t?.images?.original?.webp?t.images.original.url:t?.images?.downsized?.webp?t.images.downsized.url:null}(t);if(!e)return null;const a=function(t){return"string"==typeof t?"GIF":t?.title||t?.slug||"GIF"}(t),o=this.selectedSrc===e;return r.qy`
992
+ <div
993
+ class="gif-item ${o?"selected":""}"
994
+ @click=${()=>this._selectGif(e,a)}
995
+ title="${a}"
996
+ >
997
+ <img src="${e}" alt="${a}" loading="lazy" />
998
+ </div>
999
+ `}_handleSearchInput(t){this.searchTerm=t.target.value,this._searchDebounce&&clearTimeout(this._searchDebounce);if(!this.searchTerm.trim())return this._loadTrending(),void this._setLastSearch("");this._searchDebounce=setTimeout(()=>this._doSearch(),400)}async _doSearch(){const t=this.searchTerm.trim();if(t){this._loading=!0,this._gifs=[];try{const e=await fetch(`${rt}/giphy/search?${new URLSearchParams({q:t,limit:20})}`);if(!e.ok)throw new Error(e.statusText);const a=await e.json();this._gifs=this._normalizeResponse(a),this._setLastSearch(t)}catch(t){console.warn("Giphy search failed:",t),this._gifs=[]}finally{this._loading=!1}}else this._loadTrending()}async _loadTrending(){this._loading=!0,this._gifs=[];try{const t=await fetch(`${rt}/giphy/trending?limit=20`);if(!t.ok)throw new Error(t.statusText);const e=await t.json();this._gifs=this._normalizeResponse(e)}catch(t){console.warn("Giphy trending failed:",t),this._gifs=[]}finally{this._loading=!1}}async _loadRandom(){this._loading=!0,this._gifs=[];try{const t=this.searchTerm.trim()||"fun",e=await fetch(`${rt}/giphy/random?${new URLSearchParams({tag:t})}`);if(!e.ok)throw new Error(e.statusText);const a=await e.json(),r=this._normalizeResponse(a);this._gifs=Array.isArray(r)?r:r?[r]:[]}catch(t){console.warn("Giphy random failed:",t),this._gifs=[]}finally{this._loading=!1}}_normalizeResponse(t){return Array.isArray(t)?t:t?.data&&Array.isArray(t.data)?t.data:t?.data&&"object"==typeof t.data?[t.data]:[]}_selectGif(t,e){this.selectedSrc=t,this.dispatchEvent(new CustomEvent("gif-selected",{detail:{src:t,alt:e},bubbles:!0,composed:!0}))}}it.properties={selectedSrc:{type:String},searchTerm:{type:String},_gifs:{type:Array,state:!0},_loading:{type:Boolean,state:!0},_searchDebounce:{type:Object,state:!0}},it.styles=r.AH`
1000
+ :host {
1001
+ display: block;
1002
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
1003
+ }
1004
+
1005
+ .picker-container {
1006
+ max-width: 100%;
1007
+ margin: 0 auto;
1008
+ padding: 16px;
1009
+ }
1010
+
1011
+ .search-row {
1012
+ display: flex;
1013
+ gap: 8px;
1014
+ margin-bottom: 12px;
1015
+ }
1016
+
1017
+ .search-input {
1018
+ flex: 1;
1019
+ padding: 8px 12px;
1020
+ border: 1px solid #ddd;
1021
+ border-radius: 4px;
1022
+ font-size: 14px;
1023
+ box-sizing: border-box;
1024
+ }
1025
+
1026
+ .search-input:focus {
1027
+ outline: none;
1028
+ border-color: var(--primary, #007bff);
1029
+ }
1030
+
1031
+ .search-btn {
1032
+ padding: 8px 16px;
1033
+ background: var(--primary, #007bff);
1034
+ color: #fff;
1035
+ border: none;
1036
+ border-radius: 4px;
1037
+ cursor: pointer;
1038
+ font-size: 14px;
1039
+ }
1040
+
1041
+ .search-btn:hover {
1042
+ opacity: 0.9;
1043
+ }
1044
+
1045
+ .random-btn {
1046
+ padding: 8px 12px;
1047
+ background: #6c757d;
1048
+ color: #fff;
1049
+ border: none;
1050
+ border-radius: 4px;
1051
+ cursor: pointer;
1052
+ font-size: 13px;
1053
+ }
1054
+
1055
+ .random-btn:hover {
1056
+ background: #5a6268;
1057
+ }
1058
+
1059
+ .gallery-grid {
1060
+ display: grid;
1061
+ grid-template-columns: repeat(2, 1fr);
1062
+ gap: 8px;
1063
+ max-height: 320px;
1064
+ overflow-y: auto;
1065
+ border: 1px solid #e0e0e0;
1066
+ border-radius: 8px;
1067
+ padding: 12px;
1068
+ background-color: #fafafa;
1069
+ }
1070
+
1071
+ .gif-item {
1072
+ position: relative;
1073
+ border: 2px solid transparent;
1074
+ border-radius: 6px;
1075
+ cursor: pointer;
1076
+ overflow: hidden;
1077
+ background: #fff;
1078
+ aspect-ratio: 1;
1079
+ min-height: 120px;
1080
+ }
1081
+
1082
+ .gif-item:hover {
1083
+ border-color: var(--primary, #007bff);
1084
+ }
1085
+
1086
+ .gif-item.selected {
1087
+ border-color: #28a745;
1088
+ }
1089
+
1090
+ .gif-item img {
1091
+ width: 100%;
1092
+ height: 100%;
1093
+ object-fit: cover;
1094
+ display: block;
1095
+ }
1096
+
1097
+ .no-results {
1098
+ text-align: center;
1099
+ color: #666;
1100
+ padding: 40px 20px;
1101
+ grid-column: 1 / -1;
1102
+ }
1103
+
1104
+ .loading {
1105
+ text-align: center;
1106
+ padding: 24px;
1107
+ color: #666;
1108
+ grid-column: 1 / -1;
1109
+ }
1110
+ `,customElements.define("giphy-picker",it);const st=t=>r.qy`<cdtr-editor-container>
1111
+ <cdtr-col sm="12">
1112
+ <cdtr-title style="display:block" class="align-lang"
1113
+ ><lang-text text="${t.title||"spacing"}"></lang-text
1114
+ ></cdtr-title>
1115
+ </cdtr-col>
1116
+ <cdtr-row justify="center">
1117
+ <cdtr-spacing
1118
+ .topValue="${t.value?.top||0}"
1119
+ .bottomValue="${t.value?.bottom||0}"
1120
+ .leftValue="${t.value?.left||0}"
1121
+ .rightValue="${t.value?.right||0}"
1122
+ max=${t.max||"20"}
1123
+ @input=${t.onChange}
1124
+ isLock=${t.isLock||!0}
1125
+ .hasLeft=${t.hasLeft||!0}
1126
+ .hasRight=${t.hasRight||!0}
1127
+ .hasTop=${t.hasTop||!0}
1128
+ .hasBottom=${t.hasBottom||!0}
1129
+ ></cdtr-spacing>
1130
+ </cdtr-row>
1131
+ </cdtr-editor-container>`;var nt=a(12258),lt=a(40648),ct=a(15155);const dt=t=>r.qy`
1132
+ <cdtr-editor-container pt="0">
1133
+ <cdtr-row style="padding:0.7rem 0px;" justify="${t.justify||"center"}" alignItems="center">
1134
+ ${t.src&&t.hasPreview?r.qy`
1135
+ <div style="position: relative; width: 100%; margin-bottom: 10px; border: 1px solid #eee; border-radius: 4px; overflow: hidden;">
1136
+ <img
1137
+ src="${t.src}"
1138
+ style="width: 100%; height: 120px; object-fit: cover; display: block;"
1139
+ onerror="this.style.display='none'"
1140
+ />
1141
+ ${t.isDeletable?r.qy`
1142
+ <paper-button
1143
+ style="position: absolute; top: 5px; right: 5px; background: rgba(0,0,0,0.5); color: white; padding: 4px 8px; min-width: auto;"
1144
+ @click=${e=>{e.stopPropagation(),"function"==typeof t.onDelete&&t.onDelete(e)}}
1145
+ >
1146
+ <lang-text text="delete"></lang-text>
1147
+ </paper-button>
1148
+ `:""}
1149
+ </div>
1150
+ `:""}
1151
+ <paper-button @click=${t=>{const e=t.currentTarget;if(e){const a=t.target.parentElement?.closest("cdtr-gallery");if(a)return;const r=e.parentElement?.querySelector("cdtr-gallery");r&&(r.opened&&(r.opened=!1),setTimeout(()=>{r.opened=!0},100))}}} style="margin-top:10px;width:100%;background:var(--primary);color:${t.buttonProps?.color||"var(--primary-text)"};"><lang-text text="${t.text||"gallery"}" ></lang-text>
1152
+ </paper-button>
1153
+ <cdtr-gallery
1154
+ @close=${e=>{e.opened=!1,"function"==typeof t.close&&t.close(e)}}
1155
+ .opened=${t.opened}
1156
+ @file=${e=>{e.target.opened=!1,"function"==typeof t.onChange&&t.onChange(e)}}
1157
+ ></cdtr-gallery>
1158
+ ${t.hasInput?r.qy`
1159
+ <cdtr-input placeholder="https://...png,jpg,jpeg,gif,svg"
1160
+ .value=${t.src}
1161
+ fullWidth
1162
+ style="margin-top:10px;"
1163
+ @input=${e=>{t.onChange({detail:{src:e.target.value}})}}
1164
+ ></cdtr-input>
1165
+ `:null}
1166
+ </cdtr-row>
1167
+ </cdtr-editor-container>
1168
+ `;a.e(4217).then(a.bind(a,94217));a(45888);Promise.resolve().then(a.bind(a,58691));class pt extends r.WF{constructor(){super(),this.editor={},this.tabName="",this.factory=this.factory.bind(this),this.execCommandWrapper=this.execCommandWrapper.bind(this),this.connectWith=this.connectWith.bind(this),this.changeTab=this.changeTab.bind(this),this.$select=this.$select.bind(this),this.$update=this.$update.bind(this),this.handleJustifyContent=this.handleJustifyContent.bind(this),this.handleAlignItems=this.handleAlignItems.bind(this),this._onToggleAll=this._onToggleAll.bind(this),this._sectionsExpanded=!1}$select(){this.editor&&this.editor.select&&this.editor.select({changeTab:this.changeTab,tab:this.tabName}),this.connectWith("select")}$update(){this.connectWith("update")}_onToggleAll(){this._sectionsExpanded=!this._sectionsExpanded,this.querySelectorAll("cdtr-editor-section").forEach(t=>{t.open=this._sectionsExpanded,(0,lt.Q)(t.persistKey,t.open)})}_sectionScope(){return`${this.type||""}:${this.tabName||""}`}_applyPersistedOpen(t){const e=this._sectionScope();for(const a of t)if(a&&"section"===a.type){a.persistKey=`${e}::${a.label}`;const t=(0,lt.i)(a.persistKey);void 0!==t&&(a.open=t)}return t}connectedCallback(){super.connectedCallback(),l.Ay.on("update",this.$update),l.Ay.on("select",this.$select),this.addEventListener("toggle-all-sections",this._onToggleAll),this.connectWith("load")}disconnectedCallback(){super.disconnectedCallback(),l.Ay.off("update",this.$update),l.Ay.off("select",this.$select),this.removeEventListener("toggle-all-sections",this._onToggleAll)}connectWith(){const t=new UIEvent(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"update",{view:window,bubbles:!0,cancelable:!0});this.dispatchEvent(t);const e=l.Ay.components.find(t=>t.type===this.type);e&&(this.component={...e},this.props=e.props,this.editor=e.createEditor(this.commandsBuilder()))}factory(t,e){if("function"==typeof t&&(t=t()),t.debug,"boolean"==typeof t.active&&!t.active)return null;if("function"==typeof t.active){if(!1===t.active())return null}const a=t.type;switch(a){case"background":return dt(t);case"datetime":return D(t);case"radius":return O(t);case"justifyContent":case"alignItems":return P(t,a);case"node":case"lit":case"custom":return t.node();case"button":return U(t);case"borderpicker":return W(t);case"linkpicker":return F(t);case"input":return s(t);case"dropdown":return n(t);case"fontSize":return d(t);case"fontFamily":return c(t);case"mergeTags":return G(t);case"boxShadow":return x(t);case"colorpicker":return p(t);case"slider":return h(t);case"divider":return w(t);case"heading":return v(t);case"option":return $(t);case"checkbox":return _(t);case"stringListBuilder":return z(t);case"chipsInput":return L(t);case"typography":return H(t);case"icons":return r.qy`<icons-gallery
1169
+ .selectedIcon=${t.selectedIcon}
1170
+ .useIconsApi=${!0===t.useIconsApi}
1171
+ .iconColor=${t.iconColor??"000000"}
1172
+ .iconSize=${"number"==typeof t.iconSize?t.iconSize:24}
1173
+ @icon-selected=${t.onChange}
1174
+ ></icons-gallery>`;case"info":return A(t);case"svgpicker":return q(t);case"gallery":return"ai-edit"===o.M.get("config","mode")?null:T(t);case"giphy":return r.qy`<giphy-picker
1175
+ .selectedSrc=${t.selectedSrc||""}
1176
+ @gif-selected=${t.onChange}
1177
+ ></giphy-picker>`;case"table":return V(t);case"accordion":return r.qy`<cdtr-accordion-item
1178
+ .onToggle=${t.onToggle}
1179
+ .label="${t.label}"
1180
+ .isOpen=${t.isOpen}
1181
+ >
1182
+ ${t.children.map(t=>this.factory(t))}
1183
+ </cdtr-accordion-item>`;case"imagePrompt":return document.createElement("cdtr-image-prompt-builder");case"spacingPicker":return st(t);case"section":return(0,nt.A)(t,(t.children||[]).map((t,e)=>this.factory(t,e)));case"colorSwatchGroup":return(0,ct.A)(t)}}execCommandWrapper(t,e){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};a.components=[this.component],l.Ay.store().execCommand(t,e,a)}commandsBuilder(){return{tab:this.tabName,helpers:{Url:C.A,deepMerge:M()},commands:{execCommand:this.execCommandWrapper,injectEditor:o.M.get("injectEditor")}}}changeTab(t){this.tabName=t,this.editor=this.component.createEditor(this.commandsBuilder())}getColElementData(t){const e=t[0]?.closest("col");return e?{colElement:e,justifyValue:e.props.justify,alignItemsValue:e.props.alignItems,colElementRect:e.element.getBoundingClientRect()}:null}shouldShowDesignControls(t,e){const a=t[0]?.element.getBoundingClientRect(),r=t[0]?.type,o=e.find(t=>t.selected)?.text;let i=("design"===o||void 0===o)&&!["root","section","block","row","col"].includes(r);const s=this.getColElementData(t);return s&&s.colElementRect.width===a.width&&(i=!1),i}handleJustifyContent(t){const e=t.target.value,a=l.Ay.getSelectedComponent(),r=a[0]?.closest("col");r&&l.Ay.store().execCommand("justify",e,{find:"col"})}handleAlignItems(t){const e=t.target.value,a=l.Ay.getSelectedComponent(),r=a[0]?.closest("col");r&&l.Ay.store().execCommand("alignItems",e,{find:"col"})}renderJustifyAlignControls(t){return t?(0,nt.A)({label:"alignment",open:!1},[P({value:t.justifyValue,onChange:this.handleJustifyContent}),P({value:t.alignItemsValue,type:"alignItems",title:"alignItems",onChange:this.handleAlignItems})]):null}preprocessLayout(t){if(!t||0===t.length)return t;if(t.some(t=>t&&"section"===t.type))return this._applyPersistedOpen(t);t=t.filter(t=>!!t&&("boolean"==typeof t.active?t.active:"function"!=typeof t.active||!1!==t.active()));const e=[];let a=[];for(const r of t)r&&("function"!=typeof r?"divider"===r.type?(a.length>0&&e.push(a),a=[]):"heading"===r.type?(a.length>0&&e.push(a),a=[r]):a.push(r):a.push(r));a.length>0&&e.push(a);const r=[];let o=0;for(let t=0;t<e.length;t++){const a=e[t];if(a[0]&&"heading"===a[0].type){const t=a[0].text||"settings",e=a.slice(1);e.length>0&&(o++,r.push({type:"section",label:t,open:!0,children:e}))}else r.push(...a)}if(o>=4)for(const t of r)"section"===t.type&&(t.open=!1);return this._applyPersistedOpen(r)}createRenderRoot(){return this}render(){if(!this.editor)return;if("function"!=typeof this.editor.tabs)return;const t=l.Ay.getSelectedComponent(),e=this.editor?.tabs(this.tabName),a=this.getColElementData(t),o=this.shouldShowDesignControls(t,e),i=this.preprocessLayout(this.editor.layout({tabs:e,tab:e.find(t=>t.selected)||{text:"design"},changeTab:this.changeTab})),s=i.filter(t=>t&&"section"===t.type).length>=3;return r.qy`<cdtr-editor-tabs
1184
+ .value=${this.tabName}
1185
+ @tabChanged=${t=>this.changeTab(t.target.value)}
1186
+ .tabs=${e}
1187
+ >
1188
+ <div slot="content">
1189
+ ${s?r.qy`
1190
+ <div style="display:flex;justify-content:flex-start;padding:4px 16px 4px;">
1191
+ <span
1192
+ @click=${()=>this._onToggleAll()}
1193
+ @mouseover=${t=>{t.currentTarget.style.color="#333",t.currentTarget.style.textDecoration="underline"}}
1194
+ @mouseout=${t=>{t.currentTarget.style.color="#555",t.currentTarget.style.textDecoration="none"}}
1195
+ style="display:inline-flex;align-items:center;gap:3px;font-size:12px;color:#555;cursor:pointer;font-family:inherit;"
1196
+ >
1197
+ <lang-text text=${this._sectionsExpanded?"collapse_all":"expand_all"}></lang-text>
1198
+ <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1199
+ <polyline points="7 8 12 3 17 8"></polyline>
1200
+ <polyline points="7 16 12 21 17 16"></polyline>
1201
+ </svg>
1202
+ </span>
1203
+ </div>
1204
+ `:null}
1205
+ ${i.map(this.factory)}
1206
+ ${o?this.renderJustifyAlignControls(a):null}
1207
+ </div>
1208
+ </cdtr-editor-tabs> `}}pt.styles=r.AH`
1209
+ [disabled] {
1210
+ opacity: 0.3;
1211
+ pointer-events: none;
1212
+ }
1213
+ paper-button.gallery {
1214
+ background: var(--primary);
1215
+ color: var(--primary-text);
1216
+ }
1217
+ paper-button.backgrounds {
1218
+ background: BLACK;
1219
+ color: #fff;
1220
+ }
1221
+ `,pt.properties={type:{type:String},editor:{},tabName:{type:String},tabs:{type:Array},_sectionsExpanded:{type:Boolean,state:!0}},customElements.define("cdtr-editor-builder",pt)},40648(t,e,a){a.d(e,{Q:()=>s,i:()=>i});const r="cdtr:section-open";function o(){try{const t=localStorage.getItem(r);return t?JSON.parse(t):{}}catch(t){return{}}}function i(t){if(!t)return;const e=o();return Object.prototype.hasOwnProperty.call(e,t)?!!e[t]:void 0}function s(t,e){if(!t)return;const a=o();a[t]=!!e,function(t){try{localStorage.setItem(r,JSON.stringify(t))}catch(t){}}(a)}},92384(t,e,a){a.r(e),a.d(e,{FONT_WEIGHTS:()=>s,FontFamilyEditor:()=>n});var r=a(59929),o=a(40120),i=a(86319);const s=[{name:"Thin",value:100},{name:"Light",value:300},{name:"Regular",value:400},{name:"Medium",value:500},{name:"SemiBold",value:600},{name:"Bold",value:700},{name:"Black",value:900}];class n extends r.WF{constructor(){super(),this.onchangeFontWeight=t=>{const e=parseInt(t.target.value,10);Number.isNaN(e)||(this.weight=e,this.dispatchEvent(new CustomEvent("weightchange",{bubbles:!0,composed:!0,cancelable:!0,detail:{value:e}})))},this.onchangeFontFamily=t=>{const e=t.target.value,a=this.fontFamilies.find(t=>t.name===e);if(!a)return void console.error("cant set font family, font family not founded..");(0,o.sw)(a),this.value=a.cssRule,this.name=e;const r=new UIEvent("change",{view:window,bubbles:!0,cancelable:!0});this.dispatchEvent(r)},this.onFilteredFonts=t=>{const e=t.target.value;this.filteredFonts=this.fontFamilies.filter(t=>t.name.toLowerCase().includes(e.toLowerCase()))},this.filteredFonts=[],this.fontFamilies=[],this.showWeight=!1}async connectedCallback(){super.connectedCallback();const t=await(0,o.VH)(),e=Array.isArray(t)?t:[];this.filteredFonts=this.fontFamilies=e,e.forEach(t=>{t&&t.url&&t.id&&function(t){if(document.getElementById(t.id))return;const e=document.createElement("link");e.href=t.url,e.id=t.id,e.setAttribute("data-name",t.name),e.rel="stylesheet",e.type="text/css",document.head.appendChild(e)}(t)})}disconnectedCallback(){super.disconnectedCallback()}render(){const t=this.fontFamilies.find(t=>"string"==typeof t?.cssRule&&(-1!==t.cssRule.indexOf(this.value||"")||-1!==t.cssRule.indexOf(this.name||"")));t&&(this.name=t.name);const e=r.qy`<cdtr-dropdown
1222
+ style="width:100%"
1223
+ .value="${this.name}"
1224
+ @change=${this.onchangeFontFamily}
1225
+ >
1226
+ <cdtr-dropdown-button
1227
+ minWidth=${100}
1228
+ class="dropdown-button"
1229
+ slot="trigger"
1230
+ ><lang-text text="${this.name}"></lang-text>
1231
+ </cdtr-dropdown-button>
1232
+ <div slot="content">
1233
+ <cdtr-input
1234
+ .placeholder="${i.M.get("lang","search")}.."
1235
+ @input=${this.onFilteredFonts}
1236
+ type="search"
1237
+ ></cdtr-input>
1238
+ ${this.filteredFonts.map(t=>r.qy`<cdtr-dropdown-item
1239
+ .focused=${t.name===this.name}
1240
+ .selected=${t.name===this.name}
1241
+ value="${t.name}"
1242
+ ><span
1243
+ style="font-family:${t.cssRule};"
1244
+ text="${t.name}"
1245
+ data-foo="${t.cssRule}"
1246
+ >${t.name}</span>
1247
+ </cdtr-dropdown-item>`)}
1248
+ </div>
1249
+ </cdtr-dropdown>`,a=r.qy`
1250
+ <cdtr-editor-container>
1251
+ <cdtr-row alignItems="center" justify="space-between">
1252
+ <cdtr-col sm="12">
1253
+ <cdtr-row alignItems="center" justify="flex-end">
1254
+ ${e}
1255
+ </cdtr-row>
1256
+ </cdtr-col>
1257
+ </cdtr-row>
1258
+ </cdtr-editor-container>
1259
+ `,o=s.find(t=>String(t.value)===String(this.weight))||s.find(t=>400===t.value),n=r.qy`<cdtr-dropdown
1260
+ style="width:100%"
1261
+ .value="${String(o?.value)}"
1262
+ @change=${this.onchangeFontWeight}
1263
+ >
1264
+ <cdtr-dropdown-button
1265
+ minWidth=${100}
1266
+ class="dropdown-button"
1267
+ slot="trigger"
1268
+ >${o?.value}
1269
+ </cdtr-dropdown-button>
1270
+ <div slot="content">
1271
+ ${s.map(t=>r.qy`<cdtr-dropdown-item
1272
+ .focused=${String(t.value)===String(o?.value)}
1273
+ .selected=${String(t.value)===String(o?.value)}
1274
+ value="${t.value}"
1275
+ ><span style="font-weight:${t.value};">${t.value}</span>
1276
+ </cdtr-dropdown-item>`)}
1277
+ </div>
1278
+ </cdtr-dropdown>`,l=r.qy`
1279
+ <cdtr-editor-container>
1280
+ <cdtr-row alignItems="center" justify="space-between">
1281
+ <cdtr-title pb="0" style="display:block" class="align-lang"
1282
+ ><lang-text text="fontWeight"></lang-text
1283
+ ></cdtr-title>
1284
+ <cdtr-col sm="12">
1285
+ <cdtr-row alignItems="center" justify="flex-end">
1286
+ ${n}
1287
+ </cdtr-row>
1288
+ </cdtr-col>
1289
+ </cdtr-row>
1290
+ </cdtr-editor-container>
1291
+ `;return this.light?this.showWeight?r.qy`<div class="toolbar-flat">${e}${n}</div>`:r.qy`<div class="toolbar-flat">${e}</div>`:this.showWeight?r.qy`${a}${l}`:a}}n.properties={value:{type:String},name:{type:String},fontFamilies:{type:Array},filteredFonts:{type:Array},isOpen:{type:Boolean},light:{type:Boolean},showWeight:{type:Boolean,attribute:!1},weight:{}},n.styles=r.AH`
1292
+ .dropdown-button {
1293
+ min-width: 100px;
1294
+ }
1295
+ /* Toolbar ("light") mode: flatten the picker so it reads as one of the
1296
+ flat icon controls rather than a bordered <select>. Scoped to this
1297
+ instance only — the bordered look is preserved everywhere else. */
1298
+ .toolbar-flat cdtr-dropdown-button::part(button) {
1299
+ height: 28px;
1300
+ padding: 0 6px 0 8px;
1301
+ border-color: transparent !important;
1302
+ background: transparent !important;
1303
+ border-radius: 7px;
1304
+ color: #444b58;
1305
+ font-size: 13px;
1306
+ font-weight: 500;
1307
+ transition: background 0.12s ease, color 0.12s ease;
1308
+ }
1309
+ .toolbar-flat cdtr-dropdown-button::part(button):hover {
1310
+ border-color: transparent !important;
1311
+ background: rgba(16, 24, 40, 0.055) !important;
1312
+ color: #14171f;
1313
+ }
1314
+ `,customElements.define("cdtr-font-family-editor",n)},13681(t,e,a){a.d(e,{vP:()=>d});const r=window.cdtrSignalKey||`___${Math.random().toString(36).substr(2,9)}`;window.cdtrSignalKey=r,window[r]||(window[r]={});const o=window[r],i=window.__cdtrEvents||{};function s(t){return crypto.subtle.digest("SHA-256",(new TextEncoder).encode(t)).then(t=>Array.from(new Uint8Array(t)).map(t=>t.toString(16).padStart(2,"0")).join(""))}function n(t){if(t.length%2!=0)throw new Error("Invalid hex string");const e=new Uint8Array(t.length/2);for(let a=0;a<t.length;a+=2)e[a/2]=parseInt(t.substr(a,2),16);return e}async function l(t){const e=await s(t),a=o[e];if(a){const t=await crypto.subtle.importKey("raw",n(e),{name:"AES-GCM"},!1,["encrypt","decrypt"]),r=await async function(t,e,a){const r=await crypto.subtle.decrypt({name:"AES-GCM",iv:e},t,a);return(new TextDecoder).decode(r)}(t,a.iv,a.encrypted);return JSON.parse(r)}return null}function c(t,e){if(i[t])for(const a in i[t])Object.prototype.hasOwnProperty.call(i[t],a)&&i[t][a].forEach(t=>t(e));Array.isArray(i["*"])&&i["*"].forEach(t=>t(e))}window.__cdtrEvents=i;const d={set:async function(t,e){const a=JSON.parse(JSON.stringify(e)),r=await s(t),l=await crypto.subtle.importKey("raw",n(r),{name:"AES-GCM"},!1,["encrypt","decrypt"]),d=await async function(t,e){const a=crypto.getRandomValues(new Uint8Array(12)),r=(new TextEncoder).encode(e),o=await crypto.subtle.encrypt({name:"AES-GCM",iv:a},t,r);return{iv:a,encrypted:new Uint8Array(o)}}(l,JSON.stringify(a));o[r]=d,i.set&&i.set[r]&&i.set[r].forEach(t=>t(a)),Array.isArray(i["*"])&&i["*"].forEach(t=>t(a)),c(t,a)},get:l,remove:async function(t){const e=await s(t);delete o[e]},on:async function(t,e,a){i[t]||(i[t]={});const r=await s(e);i[t][r]||(i[t][r]=[]),i[t][r].push(t=>{!function(){const t=(new Error).stack;if(t&&t.indexOf(" at <anonymous>:1")>-1)throw console.warn("Function call blocked: Detected console execution."),new Error("Function call blocked: Detected console execution.")}(),a(t)});const o=await l(e);return o&&a(o),r},off:function(t,e){i[t]&&i[t][e]&&delete i[t][e]},dispatch:c,OPTIONS:{SET:"set"}}},88385(t,e,a){a.d(e,{A:()=>n});const r=t=>!(!t||!t.match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/)),o=t=>!(!t||!t.replace("-","").match(/^[+]*[(]{0,1}[0-9]{9,9}[)]{0,1}[-\s\./0-9]*$/g)&&!t.match(/[0-9]{3}-[0-9]{3}-[0-9]{4}/));function i(t){const e={},a=/([^&=]+)=?([^&]*)/g,r=t=>{try{return decodeURIComponent(t.replace(/\+/g," "))}catch(e){return t.replace(/\+/g," ")}},o=t.indexOf("?");let i,s=-1!==o?t.substring(o+1):"";for(;null!==(i=a.exec(s));){const t=r(i[1]),a=r(i[2]);t&&(e[t]=a)}return e}function s(t){if(!t)return"";let e=t.replace(/^[^:]+:(?:\/\/)?/,"");return e=e.replace(/^\/+/,""),e=e.split("?")[0],encodeURIComponent(e).replace(/%24/g,"$")}class n{static getProtocol(t){if(!t)return"";const e=t.indexOf(":");return e>0?t.slice(0,e):""}constructor(t,e){if(this.protocol="",this.href="",this.fullHref="",this.target="_self",this.isEmail=!1,this.isPhone=!1,this.isAnchor=!1,this.url="",this.isValid=!0,this.params={},"string"==typeof t?this.href=t:t&&"object"==typeof t&&Object.assign(this,t),/^\[\[[^\]]+\]\]\?/.test(this.href)){const t=this.href;this.isValid=!1,this.protocol=e?.protocol??"",this.isEmail=!1,this.isPhone=!1,this.isAnchor=!1,this.params={...this.params,...e?.params,...i(t)};const a=t.indexOf("?");return this.url=a>-1?t.slice(0,a):t,this.href=t,void(this.fullHref=t)}this.isValid=this.isValidUrl(this.href),this.protocol=e?.protocol??n.getProtocol(this.href);const a=function(t){if(!t)return"";let e=t.replace(/^[^:]+:(?:\/\/)?/,"");return e=e.replace(/^\/+/,""),e=e.split("?")[0],e}(this.href);if(this.isEmail=r(a),this.isPhone=o(a),this.protocol||(this.isEmail?this.protocol="mailto:":this.isPhone?this.protocol="tel:":this.isValid&&(this.protocol="https:")),this.isAnchor=this.href.startsWith("#"),e?.target){if(!["_blank","_self","_parent","_top"].includes(e.target))throw new Error(`Url: invalid target "${e.target}"`);this.target=e.target}this.params={...this.params,...e?.params,...i(this.href)},this.url=s(this.href),this.protocol&&!this.protocol.endsWith(":")&&(this.protocol+=":");const l="http:"===this.protocol||"https:"===this.protocol;this.href=l?`${this.protocol}//${this.url}`:this.protocol+this.url,this.fullHref=this.getUrlWithParams(),this.href=this.getUrlWithParams()}addParam(t,e){this.params[t]=e,this.href=this.getUrlWithParams()}getUrlWithParams(){let t,e="";try{t=decodeURIComponent(this.url)}catch(e){t=this.url}if(Object.keys(this.params).length>0){t+="?",e="?";for(const a in this.params){const r=this.params[a],o=encodeURIComponent(a).replace(/%24/g,"$");if(r){const a=encodeURIComponent(r).replace(/%24/g,"$");t+=`${o}=${a}&`,e+=`${o}=${a}&`}else t+=`${o}&`,e+=`${o}&`}t=t.slice(0,-1)}const a=t=>{try{return decodeURIComponent(t)}catch{return t}};if(this.protocol&&("http:"===this.protocol||"https:"===this.protocol))return a(this.protocol+"//"+t);if("whatsapp:"===this.protocol){const r=this.extractPhoneFromTextUsingRegex(t);return r.length>0?a("https://wa.me/"+r[0]+e):a("https://wa.me/"+e)}return a(this.protocol+t)}extractPhoneFromTextUsingRegex(t){if(!t)return[];const e=[...t.matchAll(/(?:whatsapp:([^?\s]+)|\+?[\d\s\-\(\)\.]{7,20})/g)];return Array.from(new Set(e.map(t=>t[1]||t[0]).filter(t=>{const e=t.replace(/\D/g,"");return e.length>=7&&e.length<=15}).map(t=>t.trim())))}isValidUrl(t){if(!t)return!1;return/^(https?:\/\/)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(\/.*)?$/.test(t)}}n.resetURL=s}}]);