divhunt 2.0.5 → 2.0.6

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 (121) hide show
  1. package/package.json +1 -1
  2. package/addons/render/elements/front/items/self/base/menu/menu.js +0 -96
  3. package/addons/render/elements/front/items/self/base/menu/styles/base.css +0 -116
  4. package/addons/render/elements/front/items/self/base/menu/styles/sizes.css +0 -27
  5. package/addons/render/elements/front/items/self/base/menu/styles/variants.css +0 -99
  6. package/addons/render/elements/front/items/self/base/tag/tag.css +0 -199
  7. package/addons/render/elements/front/items/self/base/tag/tag.js +0 -37
  8. package/addons/render/elements/front/items/self/cards/basic/basic.js +0 -89
  9. package/addons/render/elements/front/items/self/cards/basic/styles/base.css +0 -66
  10. package/addons/render/elements/front/items/self/cards/basic/styles/sizes.css +0 -32
  11. package/addons/render/elements/front/items/self/cards/basic/styles/variants.css +0 -99
  12. package/addons/render/elements/front/items/self/cards/list/list.js +0 -108
  13. package/addons/render/elements/front/items/self/cards/list/styles/base.css +0 -96
  14. package/addons/render/elements/front/items/self/cards/list/styles/sizes.css +0 -32
  15. package/addons/render/elements/front/items/self/cards/list/styles/variants.css +0 -99
  16. package/addons/render/elements/front/items/self/cards/media/media.js +0 -116
  17. package/addons/render/elements/front/items/self/cards/media/styles/base.css +0 -126
  18. package/addons/render/elements/front/items/self/cards/media/styles/sizes.css +0 -49
  19. package/addons/render/elements/front/items/self/cards/media/styles/variants.css +0 -74
  20. package/addons/render/elements/front/items/self/cards/profile/profile.js +0 -95
  21. package/addons/render/elements/front/items/self/cards/profile/styles/base.css +0 -142
  22. package/addons/render/elements/front/items/self/cards/profile/styles/sizes.css +0 -43
  23. package/addons/render/elements/front/items/self/cards/profile/styles/variants.css +0 -131
  24. package/addons/render/elements/front/items/self/cards/stat/stat.js +0 -117
  25. package/addons/render/elements/front/items/self/cards/stat/styles/base.css +0 -97
  26. package/addons/render/elements/front/items/self/cards/stat/styles/sizes.css +0 -49
  27. package/addons/render/elements/front/items/self/cards/stat/styles/variants.css +0 -124
  28. package/addons/render/elements/front/items/self/content/html/html.css +0 -93
  29. package/addons/render/elements/front/items/self/content/html/html.js +0 -40
  30. package/addons/render/elements/front/items/self/content/markdown/markdown.css +0 -200
  31. package/addons/render/elements/front/items/self/content/markdown/markdown.js +0 -120
  32. package/addons/render/elements/front/items/self/data/comments/comments.css +0 -253
  33. package/addons/render/elements/front/items/self/data/comments/comments.js +0 -134
  34. package/addons/render/elements/front/items/self/data/files/files.css +0 -116
  35. package/addons/render/elements/front/items/self/data/files/files.js +0 -85
  36. package/addons/render/elements/front/items/self/data/folders/folders.css +0 -104
  37. package/addons/render/elements/front/items/self/data/folders/folders.js +0 -73
  38. package/addons/render/elements/front/items/self/data/inbox/inbox.css +0 -225
  39. package/addons/render/elements/front/items/self/data/inbox/inbox.js +0 -111
  40. package/addons/render/elements/front/items/self/data/logs/logs.css +0 -133
  41. package/addons/render/elements/front/items/self/data/logs/logs.js +0 -65
  42. package/addons/render/elements/front/items/self/data/plans/plans.css +0 -231
  43. package/addons/render/elements/front/items/self/data/plans/plans.js +0 -104
  44. package/addons/render/elements/front/items/self/data/properties/properties.css +0 -108
  45. package/addons/render/elements/front/items/self/data/properties/properties.js +0 -156
  46. package/addons/render/elements/front/items/self/data/table/table.css +0 -153
  47. package/addons/render/elements/front/items/self/data/table/table.js +0 -106
  48. package/addons/render/elements/front/items/self/data/timeline/timeline.css +0 -127
  49. package/addons/render/elements/front/items/self/data/timeline/timeline.js +0 -57
  50. package/addons/render/elements/front/items/self/feedback/alert/alert.css +0 -258
  51. package/addons/render/elements/front/items/self/feedback/alert/alert.js +0 -67
  52. package/addons/render/elements/front/items/self/feedback/confirm/confirm.css +0 -229
  53. package/addons/render/elements/front/items/self/feedback/confirm/confirm.js +0 -81
  54. package/addons/render/elements/front/items/self/feedback/loader/loader.css +0 -203
  55. package/addons/render/elements/front/items/self/feedback/loader/loader.js +0 -25
  56. package/addons/render/elements/front/items/self/feedback/progress/progress.css +0 -136
  57. package/addons/render/elements/front/items/self/feedback/progress/progress.js +0 -40
  58. package/addons/render/elements/front/items/self/form/button/button.js +0 -105
  59. package/addons/render/elements/front/items/self/form/button/styles/base.css +0 -176
  60. package/addons/render/elements/front/items/self/form/button/styles/sizes.css +0 -78
  61. package/addons/render/elements/front/items/self/form/button/styles/variants.css +0 -421
  62. package/addons/render/elements/front/items/self/form/checkbox/checkbox.js +0 -57
  63. package/addons/render/elements/front/items/self/form/checkbox/styles/base.css +0 -52
  64. package/addons/render/elements/front/items/self/form/checkbox/styles/sizes.css +0 -39
  65. package/addons/render/elements/front/items/self/form/checkbox/styles/variants.css +0 -121
  66. package/addons/render/elements/front/items/self/form/field/field.css +0 -96
  67. package/addons/render/elements/front/items/self/form/field/field.js +0 -39
  68. package/addons/render/elements/front/items/self/form/input/input.css +0 -111
  69. package/addons/render/elements/front/items/self/form/input/input.js +0 -78
  70. package/addons/render/elements/front/items/self/form/input/styles/base.css +0 -26
  71. package/addons/render/elements/front/items/self/form/input/styles/sizes.css +0 -15
  72. package/addons/render/elements/front/items/self/form/input/styles/variants.css +0 -98
  73. package/addons/render/elements/front/items/self/form/radio/radio.js +0 -57
  74. package/addons/render/elements/front/items/self/form/radio/styles/base.css +0 -48
  75. package/addons/render/elements/front/items/self/form/radio/styles/sizes.css +0 -36
  76. package/addons/render/elements/front/items/self/form/radio/styles/variants.css +0 -121
  77. package/addons/render/elements/front/items/self/form/rating/rating.css +0 -95
  78. package/addons/render/elements/front/items/self/form/rating/rating.js +0 -88
  79. package/addons/render/elements/front/items/self/form/section/section.css +0 -107
  80. package/addons/render/elements/front/items/self/form/section/section.js +0 -39
  81. package/addons/render/elements/front/items/self/form/slider/slider.css +0 -244
  82. package/addons/render/elements/front/items/self/form/slider/slider.js +0 -69
  83. package/addons/render/elements/front/items/self/form/textarea/textarea.css +0 -117
  84. package/addons/render/elements/front/items/self/form/textarea/textarea.js +0 -69
  85. package/addons/render/elements/front/items/self/layout/empty/empty.css +0 -154
  86. package/addons/render/elements/front/items/self/layout/empty/empty.js +0 -43
  87. package/addons/render/elements/front/items/self/layout/heading/heading.css +0 -117
  88. package/addons/render/elements/front/items/self/layout/heading/heading.js +0 -47
  89. package/addons/render/elements/front/items/self/layout/hero/hero.js +0 -88
  90. package/addons/render/elements/front/items/self/layout/hero/styles/base.css +0 -81
  91. package/addons/render/elements/front/items/self/layout/hero/styles/sizes.css +0 -24
  92. package/addons/render/elements/front/items/self/layout/hero/styles/variants.css +0 -98
  93. package/addons/render/elements/front/items/self/navigation/breadcrumb/addon/_class/addon.js +0 -9
  94. package/addons/render/elements/front/items/self/navigation/breadcrumb/addon/functions/get.js +0 -22
  95. package/addons/render/elements/front/items/self/navigation/breadcrumb/breadcrumb.css +0 -13
  96. package/addons/render/elements/front/items/self/navigation/breadcrumb/breadcrumb.js +0 -51
  97. package/addons/render/elements/front/items/self/navigation/footer/addon/_class/addon.js +0 -11
  98. package/addons/render/elements/front/items/self/navigation/footer/addon/functions/columns.js +0 -11
  99. package/addons/render/elements/front/items/self/navigation/footer/addon/functions/get.js +0 -34
  100. package/addons/render/elements/front/items/self/navigation/footer/footer.css +0 -283
  101. package/addons/render/elements/front/items/self/navigation/footer/footer.js +0 -139
  102. package/addons/render/elements/front/items/self/navigation/navbar/addon/_class/addon.js +0 -13
  103. package/addons/render/elements/front/items/self/navigation/navbar/addon/functions/active.js +0 -7
  104. package/addons/render/elements/front/items/self/navigation/navbar/addon/functions/get.js +0 -31
  105. package/addons/render/elements/front/items/self/navigation/navbar/navbar.css +0 -140
  106. package/addons/render/elements/front/items/self/navigation/navbar/navbar.js +0 -118
  107. package/addons/render/elements/front/items/self/navigation/pagination/pagination.css +0 -160
  108. package/addons/render/elements/front/items/self/navigation/pagination/pagination.js +0 -131
  109. package/addons/render/elements/front/items/self/navigation/sidebar/addon/_class/addon.js +0 -12
  110. package/addons/render/elements/front/items/self/navigation/sidebar/addon/functions/active.js +0 -7
  111. package/addons/render/elements/front/items/self/navigation/sidebar/addon/functions/get.js +0 -35
  112. package/addons/render/elements/front/items/self/navigation/sidebar/addon/functions/groups.js +0 -10
  113. package/addons/render/elements/front/items/self/navigation/sidebar/sidebar.css +0 -278
  114. package/addons/render/elements/front/items/self/navigation/sidebar/sidebar.js +0 -85
  115. package/addons/render/elements/front/items/self/navigation/stepper/stepper.css +0 -202
  116. package/addons/render/elements/front/items/self/navigation/stepper/stepper.js +0 -82
  117. package/addons/render/elements/front/items/self/navigation/tabs/addon.js +0 -32
  118. package/addons/render/elements/front/items/self/navigation/tabs/tabs.css +0 -239
  119. package/addons/render/elements/front/items/self/navigation/tabs/tabs.js +0 -76
  120. package/addons/render/elements/front/items/self/preview/html/html.css +0 -377
  121. package/addons/render/elements/front/items/self/preview/html/html.js +0 -107
@@ -1,377 +0,0 @@
1
- /* ============================================
2
- PREVIEW HTML - Premium component showcase
3
- ============================================ */
4
-
5
- .e-dbe4fa6 > .holder
6
- {
7
- display: flex;
8
- flex-direction: column;
9
- background: var(--dh-bg-1);
10
- border-radius: var(--dh-radius-l);
11
- overflow: hidden;
12
- transition: box-shadow 0.2s ease;
13
- }
14
-
15
- .e-dbe4fa6 > .holder:hover
16
- {
17
- box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
18
- }
19
-
20
-
21
- /* ============================================
22
- HEADER
23
- ============================================ */
24
-
25
- .e-dbe4fa6 > .holder > .header
26
- {
27
- display: flex;
28
- align-items: center;
29
- justify-content: space-between;
30
- padding: var(--dh-spacing-s) var(--dh-spacing-m);
31
- background: var(--dh-bg-2);
32
- border-bottom: 1px solid var(--dh-bg-1-border);
33
- }
34
-
35
- .e-dbe4fa6 > .holder > .header > .title
36
- {
37
- font-size: var(--dh-size-s);
38
- font-weight: 600;
39
- color: var(--dh-text-2);
40
- text-transform: uppercase;
41
- letter-spacing: 0.5px;
42
- }
43
-
44
- .e-dbe4fa6 > .holder > .header > .actions
45
- {
46
- display: flex;
47
- align-items: center;
48
- gap: var(--dh-spacing-x);
49
- }
50
-
51
-
52
- /* ============================================
53
- PREVIEW AREA
54
- ============================================ */
55
-
56
- .e-dbe4fa6 > .holder > .preview
57
- {
58
- position: relative;
59
- display: flex;
60
- align-items: center;
61
- justify-content: center;
62
- min-height: 140px;
63
- padding: var(--dh-spacing-l);
64
- overflow: hidden;
65
- }
66
-
67
- /* Grid background - separate layer for animation */
68
- .e-dbe4fa6 > .holder > .preview > .grid
69
- {
70
- position: absolute;
71
- inset: 0;
72
- background-image:
73
- linear-gradient(var(--dh-bg-1-border) 1px, transparent 1px),
74
- linear-gradient(90deg, var(--dh-bg-1-border) 1px, transparent 1px);
75
- background-size: 24px 24px;
76
- background-position: center center;
77
- opacity: 0.6;
78
- transition: opacity 0.3s ease;
79
- }
80
-
81
- .e-dbe4fa6 > .holder:hover > .preview > .grid
82
- {
83
- opacity: 1;
84
- }
85
-
86
- /* Content container */
87
- .e-dbe4fa6 > .holder > .preview > .content
88
- {
89
- position: relative;
90
- z-index: 1;
91
- display: flex;
92
- flex-wrap: wrap;
93
- align-items: center;
94
- gap: var(--dh-spacing-m);
95
- }
96
-
97
- /* Alignment */
98
- .e-dbe4fa6 > .holder > .preview[align="start"]
99
- {
100
- justify-content: flex-start;
101
- }
102
-
103
- .e-dbe4fa6 > .holder > .preview[align="center"]
104
- {
105
- justify-content: center;
106
- }
107
-
108
- .e-dbe4fa6 > .holder > .preview[align="end"]
109
- {
110
- justify-content: flex-end;
111
- }
112
-
113
- /* Resize handle */
114
- .e-dbe4fa6 > .holder > .preview > .resize-handle
115
- {
116
- position: absolute;
117
- right: 0;
118
- top: 50%;
119
- transform: translateY(-50%);
120
- display: flex;
121
- align-items: center;
122
- justify-content: center;
123
- width: 20px;
124
- height: 40px;
125
- background: var(--dh-bg-2);
126
- border-left: 1px solid var(--dh-bg-1-border);
127
- border-radius: var(--dh-radius-s) 0 0 var(--dh-radius-s);
128
- cursor: ew-resize;
129
- opacity: 0;
130
- transition: opacity 0.2s ease;
131
- }
132
-
133
- .e-dbe4fa6 > .holder > .preview > .resize-handle > i
134
- {
135
- font-size: 16px;
136
- color: var(--dh-text-3);
137
- transform: rotate(90deg);
138
- }
139
-
140
- .e-dbe4fa6 > .holder:hover > .preview > .resize-handle
141
- {
142
- opacity: 1;
143
- }
144
-
145
-
146
- /* ============================================
147
- CODE BLOCK
148
- ============================================ */
149
-
150
- .e-dbe4fa6 > .holder > .code
151
- {
152
- display: flex;
153
- flex-direction: column;
154
- background: var(--dh-bg-3);
155
- border-top: 1px solid var(--dh-bg-1-border);
156
- }
157
-
158
- .e-dbe4fa6 > .holder > .code > .code-header
159
- {
160
- display: flex;
161
- align-items: center;
162
- justify-content: space-between;
163
- padding: var(--dh-spacing-s) var(--dh-spacing-m);
164
- border-bottom: 1px solid var(--dh-bg-3-border);
165
- }
166
-
167
- .e-dbe4fa6 > .holder > .code > .code-header > .label
168
- {
169
- font-size: 10px;
170
- font-weight: 600;
171
- color: var(--dh-text-3);
172
- text-transform: uppercase;
173
- letter-spacing: 0.5px;
174
- }
175
-
176
- .e-dbe4fa6 > .holder > .code > pre
177
- {
178
- margin: 0;
179
- padding: var(--dh-spacing-m);
180
- overflow-x: auto;
181
- }
182
-
183
- .e-dbe4fa6 > .holder > .code > pre > code
184
- {
185
- font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Code', monospace;
186
- font-size: 12px;
187
- line-height: 1.6;
188
- color: var(--dh-text-2);
189
- white-space: pre-wrap;
190
- word-break: break-word;
191
- }
192
-
193
-
194
- /* ============================================
195
- VARIANTS - Backgrounds
196
- ============================================ */
197
-
198
- /* bg-1 (default) */
199
- .e-dbe4fa6 > .holder[variant*="bg-1"]
200
- {
201
- background: var(--dh-bg-1);
202
- }
203
-
204
- /* bg-2 */
205
- .e-dbe4fa6 > .holder[variant*="bg-2"]
206
- {
207
- background: var(--dh-bg-2);
208
- }
209
-
210
- .e-dbe4fa6 > .holder[variant*="bg-2"] > .header
211
- {
212
- background: var(--dh-bg-3);
213
- border-bottom-color: var(--dh-bg-2-border);
214
- }
215
-
216
- .e-dbe4fa6 > .holder[variant*="bg-2"] > .preview > .grid
217
- {
218
- background-image:
219
- linear-gradient(var(--dh-bg-2-border) 1px, transparent 1px),
220
- linear-gradient(90deg, var(--dh-bg-2-border) 1px, transparent 1px);
221
- }
222
-
223
- .e-dbe4fa6 > .holder[variant*="bg-2"] > .code
224
- {
225
- background: var(--dh-bg-4);
226
- border-top-color: var(--dh-bg-2-border);
227
- }
228
-
229
- .e-dbe4fa6 > .holder[variant*="bg-2"] > .code > .code-header
230
- {
231
- border-bottom-color: var(--dh-bg-4-border);
232
- }
233
-
234
- .e-dbe4fa6 > .holder[variant*="bg-2"] > .preview > .resize-handle
235
- {
236
- background: var(--dh-bg-3);
237
- border-left-color: var(--dh-bg-2-border);
238
- }
239
-
240
- /* bg-3 */
241
- .e-dbe4fa6 > .holder[variant*="bg-3"]
242
- {
243
- background: var(--dh-bg-3);
244
- }
245
-
246
- .e-dbe4fa6 > .holder[variant*="bg-3"] > .header
247
- {
248
- background: var(--dh-bg-4);
249
- border-bottom-color: var(--dh-bg-3-border);
250
- }
251
-
252
- .e-dbe4fa6 > .holder[variant*="bg-3"] > .preview > .grid
253
- {
254
- background-image:
255
- linear-gradient(var(--dh-bg-3-border) 1px, transparent 1px),
256
- linear-gradient(90deg, var(--dh-bg-3-border) 1px, transparent 1px);
257
- }
258
-
259
- .e-dbe4fa6 > .holder[variant*="bg-3"] > .code
260
- {
261
- background: var(--dh-bg-4);
262
- border-top-color: var(--dh-bg-3-border);
263
- }
264
-
265
- .e-dbe4fa6 > .holder[variant*="bg-3"] > .code > .code-header
266
- {
267
- border-bottom-color: var(--dh-bg-4-border);
268
- }
269
-
270
- .e-dbe4fa6 > .holder[variant*="bg-3"] > .preview > .resize-handle
271
- {
272
- background: var(--dh-bg-4);
273
- border-left-color: var(--dh-bg-3-border);
274
- }
275
-
276
- /* bg-4 */
277
- .e-dbe4fa6 > .holder[variant*="bg-4"]
278
- {
279
- background: var(--dh-bg-4);
280
- }
281
-
282
- .e-dbe4fa6 > .holder[variant*="bg-4"] > .preview > .grid
283
- {
284
- background-image:
285
- linear-gradient(var(--dh-bg-4-border) 1px, transparent 1px),
286
- linear-gradient(90deg, var(--dh-bg-4-border) 1px, transparent 1px);
287
- }
288
-
289
- .e-dbe4fa6 > .holder[variant*="bg-4"] > .header
290
- {
291
- background: var(--dh-bg-3);
292
- border-bottom-color: var(--dh-bg-4-border);
293
- }
294
-
295
- .e-dbe4fa6 > .holder[variant*="bg-4"] > .code
296
- {
297
- background: var(--dh-bg-3);
298
- border-top-color: var(--dh-bg-4-border);
299
- }
300
-
301
- .e-dbe4fa6 > .holder[variant*="bg-4"] > .code > .code-header
302
- {
303
- border-bottom-color: var(--dh-bg-3-border);
304
- }
305
-
306
- .e-dbe4fa6 > .holder[variant*="bg-4"] > .preview > .resize-handle
307
- {
308
- background: var(--dh-bg-3);
309
- border-left-color: var(--dh-bg-4-border);
310
- }
311
-
312
-
313
- /* ============================================
314
- VARIANTS - Border
315
- ============================================ */
316
-
317
- .e-dbe4fa6 > .holder[variant*="border"]
318
- {
319
- border: 1px solid var(--dh-bg-1-border);
320
- }
321
-
322
- .e-dbe4fa6 > .holder[variant*="bg-2"][variant*="border"]
323
- {
324
- border-color: var(--dh-bg-2-border);
325
- }
326
-
327
- .e-dbe4fa6 > .holder[variant*="bg-3"][variant*="border"]
328
- {
329
- border-color: var(--dh-bg-3-border);
330
- }
331
-
332
- .e-dbe4fa6 > .holder[variant*="bg-4"][variant*="border"]
333
- {
334
- border-color: var(--dh-bg-4-border);
335
- }
336
-
337
-
338
- /* ============================================
339
- VARIANTS - Compact
340
- ============================================ */
341
-
342
- .e-dbe4fa6 > .holder[variant*="compact"] > .preview
343
- {
344
- min-height: 80px;
345
- padding: var(--dh-spacing-m);
346
- }
347
-
348
- .e-dbe4fa6 > .holder[variant*="compact"] > .code > pre
349
- {
350
- padding: var(--dh-spacing-s) var(--dh-spacing-m);
351
- }
352
-
353
-
354
- /* ============================================
355
- VARIANTS - Dots pattern
356
- ============================================ */
357
-
358
- .e-dbe4fa6 > .holder[variant*="dots"] > .preview > .grid
359
- {
360
- background-image: radial-gradient(circle, var(--dh-bg-1-border) 1px, transparent 1px);
361
- background-size: 16px 16px;
362
- }
363
-
364
- .e-dbe4fa6 > .holder[variant*="dots"][variant*="bg-2"] > .preview > .grid
365
- {
366
- background-image: radial-gradient(circle, var(--dh-bg-2-border) 1px, transparent 1px);
367
- }
368
-
369
- .e-dbe4fa6 > .holder[variant*="dots"][variant*="bg-3"] > .preview > .grid
370
- {
371
- background-image: radial-gradient(circle, var(--dh-bg-3-border) 1px, transparent 1px);
372
- }
373
-
374
- .e-dbe4fa6 > .holder[variant*="dots"][variant*="bg-4"] > .preview > .grid
375
- {
376
- background-image: radial-gradient(circle, var(--dh-bg-4-border) 1px, transparent 1px);
377
- }
@@ -1,107 +0,0 @@
1
- import elements from '#elements/load.js';
2
-
3
- elements.ItemAdd({
4
- id: 'preview-html',
5
- icon: 'preview',
6
- name: 'Preview HTML',
7
- description: 'Premium preview container with grid background, code display, and interactive controls.',
8
- category: 'Preview',
9
- author: 'Divhunt',
10
- example: '<e-preview-html code="<e-button text=\'Button\'></e-button>"></e-preview-html>',
11
- config: {
12
- title: {
13
- type: 'string',
14
- value: ''
15
- },
16
- html: {
17
- type: 'string',
18
- value: ''
19
- },
20
- code: {
21
- type: 'string',
22
- value: ''
23
- },
24
- copy: {
25
- type: 'boolean',
26
- value: true
27
- },
28
- copyable: {
29
- type: 'boolean',
30
- value: true
31
- },
32
- align: {
33
- type: 'string',
34
- value: 'center',
35
- options: ['start', 'center', 'end']
36
- },
37
- variant: {
38
- type: 'array',
39
- value: ['bg-1', 'border'],
40
- options: ['bg-1', 'bg-2', 'bg-3', 'bg-4', 'border', 'compact', 'dots']
41
- }
42
- },
43
- render: function()
44
- {
45
- this.copied = false;
46
-
47
- this.copy = async () =>
48
- {
49
- if(!this.code || this.copied)
50
- {
51
- return;
52
- }
53
-
54
- try
55
- {
56
- await navigator.clipboard.writeText(this.code);
57
- this.copied = true;
58
-
59
- setTimeout(() =>
60
- {
61
- this.copied = false;
62
- }, 2000);
63
- }
64
- catch(e)
65
- {
66
- console.error('Failed to copy:', e);
67
- }
68
- };
69
-
70
- const header = `
71
- <div dh-if="title" class="header">
72
- <span class="title">{{ title }}</span>
73
- <div class="actions">
74
- <e-button dh-if="copyable && code" :icon="copied ? 'check' : 'content_copy'" :_click="copy" :variant="['ghost', 'size-s', 'icon-only']"></e-button>
75
- </div>
76
- </div>
77
- `;
78
-
79
- const preview = `
80
- <div class="preview" :align="align">
81
- <div class="grid"></div>
82
- <div class="content">
83
- <span dh-if="html" dh-html="html"></span>
84
- <slot dh-if="!html" name="html"></slot>
85
- </div>
86
- </div>
87
- `;
88
-
89
- const codeBlock = `
90
- <div dh-if="copy && code" class="code">
91
- <div class="code-header">
92
- <span class="label">HTML</span>
93
- <e-button dh-if="copyable && !title" :icon="copied ? 'check' : 'content_copy'" :text="copied ? 'Copied!' : 'Copy'" :_click="copy" :variant="['ghost', 'size-s']"></e-button>
94
- </div>
95
- <pre><code>{{ code }}</code></pre>
96
- </div>
97
- `;
98
-
99
- return `
100
- <div class="holder" :variant="variant.join(' ')">
101
- ${header}
102
- ${preview}
103
- ${codeBlock}
104
- </div>
105
- `;
106
- }
107
- });