@myissue/vue-website-page-builder 3.4.20 → 3.4.21

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 (89) hide show
  1. package/README.md +22 -24
  2. package/dist/vue-website-page-builder.js +1 -1
  3. package/dist/vue-website-page-builder.umd.cjs +1 -1
  4. package/package.json +2 -3
  5. package/src/App.vue +0 -28
  6. package/src/Components/Homepage/Footer.vue +0 -32
  7. package/src/Components/Homepage/Navbar.vue +0 -25
  8. package/src/Components/Layouts/FullWidthElement.vue +0 -34
  9. package/src/Components/Loaders/GlobalLoader.vue +0 -18
  10. package/src/Components/Modals/BuilderComponents.vue +0 -53
  11. package/src/Components/Modals/DynamicModalBuilder.vue +0 -209
  12. package/src/Components/Modals/MediaLibraryModal.vue +0 -61
  13. package/src/Components/Modals/ModalBuilder.vue +0 -117
  14. package/src/Components/PageBuilder/EditorMenu/Editables/BackgroundColorEditor.vue +0 -121
  15. package/src/Components/PageBuilder/EditorMenu/Editables/BorderRadius.vue +0 -188
  16. package/src/Components/PageBuilder/EditorMenu/Editables/Borders.vue +0 -176
  17. package/src/Components/PageBuilder/EditorMenu/Editables/ClassEditor.vue +0 -112
  18. package/src/Components/PageBuilder/EditorMenu/Editables/ComponentTopMenu.vue +0 -108
  19. package/src/Components/PageBuilder/EditorMenu/Editables/EditGetElement.vue +0 -541
  20. package/src/Components/PageBuilder/EditorMenu/Editables/HTMLEditor.vue +0 -203
  21. package/src/Components/PageBuilder/EditorMenu/Editables/ImageEditor.vue +0 -96
  22. package/src/Components/PageBuilder/EditorMenu/Editables/LinkEditor.vue +0 -315
  23. package/src/Components/PageBuilder/EditorMenu/Editables/ManageBackgroundOpacity.vue +0 -107
  24. package/src/Components/PageBuilder/EditorMenu/Editables/ManageOpacity.vue +0 -106
  25. package/src/Components/PageBuilder/EditorMenu/Editables/Margin.vue +0 -116
  26. package/src/Components/PageBuilder/EditorMenu/Editables/OpacityEditor.vue +0 -19
  27. package/src/Components/PageBuilder/EditorMenu/Editables/Padding.vue +0 -117
  28. package/src/Components/PageBuilder/EditorMenu/Editables/StyleEditor.vue +0 -123
  29. package/src/Components/PageBuilder/EditorMenu/Editables/TextColorEditor.vue +0 -123
  30. package/src/Components/PageBuilder/EditorMenu/Editables/Typography.vue +0 -237
  31. package/src/Components/PageBuilder/EditorMenu/EditorAccordion.vue +0 -46
  32. package/src/Components/PageBuilder/EditorMenu/RightSidebarEditor.vue +0 -368
  33. package/src/Components/PageBuilder/Settings/AdvancedPageBuilderSettings.vue +0 -476
  34. package/src/Components/PageBuilder/Settings/PageBuilderSettings.vue +0 -581
  35. package/src/Components/PageBuilder/ToolbarOption/ToolbarOption.vue +0 -248
  36. package/src/Components/PageBuilder/UndoRedo/UndoRedo.vue +0 -90
  37. package/src/Components/TipTap/TipTap.vue +0 -25
  38. package/src/Components/TipTap/TipTapInput.vue +0 -341
  39. package/src/PageBuilder/PageBuilder.vue +0 -1025
  40. package/src/PageBuilder/Preview.vue +0 -64
  41. package/src/composables/builderInstance.ts +0 -47
  42. package/src/composables/delay.ts +0 -5
  43. package/src/composables/extractCleanHTMLFromPageBuilder.ts +0 -59
  44. package/src/composables/preloadImage.ts +0 -8
  45. package/src/composables/useDebounce.ts +0 -8
  46. package/src/composables/usePageBuilderModal.ts +0 -25
  47. package/src/composables/useTranslations.ts +0 -28
  48. package/src/css/dev-global.css +0 -24
  49. package/src/css/style.css +0 -600
  50. package/src/helpers/isEmptyObject.ts +0 -5
  51. package/src/index.ts +0 -28
  52. package/src/locales/ar.json +0 -170
  53. package/src/locales/de.json +0 -171
  54. package/src/locales/en.json +0 -171
  55. package/src/locales/es.json +0 -171
  56. package/src/locales/fr.json +0 -171
  57. package/src/locales/hi.json +0 -172
  58. package/src/locales/ja.json +0 -171
  59. package/src/locales/pt.json +0 -171
  60. package/src/locales/ru.json +0 -171
  61. package/src/locales/zh-Hans.json +0 -171
  62. package/src/main.ts +0 -14
  63. package/src/plugin.ts +0 -16
  64. package/src/services/LocalStorageManager.ts +0 -25
  65. package/src/services/PageBuilderService.ts +0 -3191
  66. package/src/stores/page-builder-state.ts +0 -498
  67. package/src/stores/shared-store.ts +0 -13
  68. package/src/tailwind-safelist.html +0 -3
  69. package/src/tests/DefaultComponents/DefaultBuilderComponents.vue +0 -284
  70. package/src/tests/DefaultComponents/DefaultMediaLibraryComponent.vue +0 -10
  71. package/src/tests/PageBuilderTest.vue +0 -82
  72. package/src/tests/TestComponents/DemoBuilderComponentsTest.vue +0 -5
  73. package/src/tests/TestComponents/DemoMediaLibraryComponentTest.vue +0 -8
  74. package/src/tests/TestComponents/DemoUnsplash.vue +0 -389
  75. package/src/tests/componentsArray.test.json +0 -62
  76. package/src/tests/pageBuilderService.test.ts +0 -165
  77. package/src/types/global.d.ts +0 -11
  78. package/src/types/index.ts +0 -306
  79. package/src/utils/builder/html-doc-declaration-with-components.ts +0 -7
  80. package/src/utils/builder/tailwaind-colors.ts +0 -503
  81. package/src/utils/builder/tailwind-border-radius.ts +0 -67
  82. package/src/utils/builder/tailwind-border-style-width-color.ts +0 -272
  83. package/src/utils/builder/tailwind-font-sizes.ts +0 -75
  84. package/src/utils/builder/tailwind-font-styles.ts +0 -56
  85. package/src/utils/builder/tailwind-opacities.ts +0 -45
  86. package/src/utils/builder/tailwind-padding-margin.ts +0 -159
  87. package/src/utils/html-elements/component.ts +0 -485
  88. package/src/utils/html-elements/componentHelpers.ts +0 -98
  89. package/src/utils/html-elements/themes.ts +0 -85
@@ -1,476 +0,0 @@
1
- <script setup>
2
- import { ref, computed } from 'vue'
3
- import { sharedPageBuilderStore } from '../../../stores/shared-store'
4
- import { useTranslations } from '../../../composables/useTranslations'
5
-
6
- const { translate } = useTranslations()
7
-
8
- // Use shared store instance
9
- const pageBuilderStateStore = sharedPageBuilderStore
10
-
11
- const getElement = computed(() => {
12
- return pageBuilderStateStore.getElement
13
- })
14
- const getComponent = computed(() => {
15
- return pageBuilderStateStore.getComponent
16
- })
17
- const getComponents = computed(() => {
18
- return pageBuilderStateStore.getComponents
19
- })
20
- const current = ref('element')
21
-
22
- const updateCurrentTab = function (tab) {
23
- current.value = tab
24
- }
25
- function prettifyHtml(html) {
26
- if (!html) return ''
27
-
28
- const tab = ' '
29
- let indentLevel = 0
30
- let result = ''
31
-
32
- // Basic HTML entity escaping
33
- const escapedHtml = html
34
- .replace(/&/g, '&amp;')
35
- .replace(/</g, '&lt;')
36
- .replace(/"/g, '&quot;')
37
- .replace(/'/g, '&#39;')
38
-
39
- // Split into tokens, keeping the tags
40
- const tokens = escapedHtml.split(/(&lt;[^&gt;]+&gt;)/g)
41
-
42
- const selfClosingTags = [
43
- '&lt;area',
44
- '&lt;base',
45
- '&lt;br',
46
- '&lt;col',
47
- '&lt;embed',
48
- '&lt;hr',
49
- '&lt;img',
50
- '&lt;input',
51
- '&lt;link',
52
- '&lt;meta',
53
- '&lt;param',
54
- '&lt;source',
55
- '&lt;track',
56
- '&lt;wbr',
57
- ]
58
-
59
- tokens.forEach((token) => {
60
- const trimmed = token.trim()
61
- if (!trimmed) return
62
-
63
- const isTag = trimmed.startsWith('&lt;') && trimmed.endsWith('&gt;')
64
- const isClosingTag = isTag && trimmed.startsWith('&lt;/')
65
-
66
- // Adjust indentation level
67
- if (isClosingTag) {
68
- indentLevel = Math.max(0, indentLevel - 1)
69
- }
70
-
71
- // Add indentation
72
- let line = tab.repeat(indentLevel) + trimmed
73
-
74
- // Syntax highlighting using spans
75
- if (isTag) {
76
- line = line.replace(/(&lt;\/?[[\w\s="/.':;#-\/\?]+&gt;)/g, (match) => {
77
- const tagName = match.match(/&lt;\/?([\w-]+)/)?.[1]
78
- let highlighted = match.replace(
79
- /(&lt;\/?[\w-]+)/g,
80
- `<span class="html-tag-symbol">&lt;</span><span class="html-tag-name">${tagName}</span>`,
81
- )
82
-
83
- // Highlight attributes
84
- highlighted = highlighted.replace(
85
- /([\w-]+)=(&quot;[^&quot;]*&quot;)/g,
86
- '<span class="html-attribute-name">$1</span><span class="html-operator">=</span><span class="html-attribute-value">$2</span>',
87
- )
88
-
89
- return highlighted + '<span class="html-tag-symbol">&gt;</span>'
90
- })
91
- }
92
-
93
- result += line + '\n'
94
-
95
- // Increase indent for next line
96
- if (isTag && !isClosingTag) {
97
- const isSelfClosing =
98
- trimmed.endsWith('/&gt;') || selfClosingTags.some((tag) => trimmed.startsWith(tag))
99
- if (!isSelfClosing) {
100
- indentLevel++
101
- }
102
- }
103
- })
104
-
105
- return result
106
- }
107
- </script>
108
-
109
- <template>
110
- <div
111
- class="pbx-w-full pbx-inset-x-0 pbx-h-[90vh] pbx-bg-white pbx-overflow-x-scroll lg:pbx-pt-2 pbx-pt-2"
112
- >
113
- <div
114
- class="pbx-flex pbx-items-left pbx-flex-col pbx-myPrimaryGap pbx-border-myPrimaryMediumGrayColor"
115
- >
116
- <p class="pbx-myPrimaryParagraph">
117
- {{
118
- translate(
119
- 'Overview of Selected Element, Component, and Components. This section provides real-time updates based on your HTML selection.',
120
- )
121
- }}
122
- </p>
123
-
124
- <!-- Types - start -->
125
- <div>
126
- <h4 class="pbx-myPrimaryParagraph pbx-text-xs pbx-pb-2">{{ translate('Types') }}</h4>
127
- <div class="pbx-text-gray-100 pbx-overflow-hidden pbx-bg-gray-900">
128
- <div class="pbx-flex pbx-bg-gray-900 pbx-ring-1 ring-white/5">
129
- <div
130
- class="pbx-mb-px pbx-flex pbx-text-xs pbx-font-medium pbx-text-myPrimaryMediumGrayColor"
131
- >
132
- <div class="pbx-px-4 pbx-py-4 pbx-text-gray-100">{{ translate('Types') }}</div>
133
- </div>
134
- </div>
135
- <div class="pbx-px-4 pbx-pb-8 pbx-pt-4 pbx-text-gray-100 pbx-text-xs">
136
- <p class="pbx-text-xs pbx-pb-2">
137
- <span>{{ translate('Element type:') }} </span>
138
- <span>
139
- {{ typeof getElement }}
140
- </span>
141
- </p>
142
-
143
- <p class="pbx-text-xs pbx-pb-2">
144
- <span>{{ translate('Component type:') }} </span>
145
- {{ typeof getComponent }}
146
- </p>
147
- <p class="pbx-text-xs pbx-pb-2">
148
- <span>{{ translate('Components:') }} </span>
149
- <span>
150
- {{
151
- Array.isArray(getComponents) === true ? translate('array') : typeof getComponents
152
- }}
153
- </span>
154
- </p>
155
- </div>
156
- </div>
157
- </div>
158
- <!-- Types - end -->
159
- <!-- Code Block Component - start-->
160
- <div>
161
- <h4 class="pbx-myPrimaryParagraph pbx-text-xs pbx-pb-2">{{ translate('Content') }}</h4>
162
- <div class="pbx-overflow-hidden pbx-bg-gray-900">
163
- <div class="pbx-flex pbx-bg-gray-900 pbx-ring-1 ring-white/5">
164
- <div
165
- class="pbx-mb-px pbx-flex pbx-text-xs pbx-font-medium pbx-text-myPrimaryMediumGrayColor"
166
- >
167
- <div
168
- @click="updateCurrentTab('element')"
169
- class="pbx-px-4 pbx-py-4 pbx-cursor-pointer"
170
- :class="[current === 'element' ? 'pbx-text-gray-100' : '']"
171
- >
172
- {{ translate('Element') }}
173
- </div>
174
- <div
175
- @click="updateCurrentTab('component')"
176
- class="pbx-px-4 pbx-py-4 pbx-cursor-pointer"
177
- :class="[current === 'component' ? 'pbx-text-gray-100' : '']"
178
- >
179
- {{ translate('Component') }}
180
- </div>
181
- <div
182
- @click="updateCurrentTab('components')"
183
- class="pbx-px-4 pbx-py-4 pbx-cursor-pointer"
184
- :class="[current === 'components' ? 'pbx-text-gray-100' : '']"
185
- >
186
- {{ translate('Components added') }}
187
- {{ Array.isArray(getComponents) && getComponents.length }}
188
- </div>
189
- </div>
190
- </div>
191
- <div class="pbx-px-4 pbx-pb-8 pbx-pt-4 pbx-text-gray-100 pbx-text-xs pbx-break-all">
192
- <div v-if="current === 'element'">
193
- <div v-if="!getComponent">
194
- <p class="pbx-pb-2 pbx-text-xs">
195
- {{
196
- getComponent === null ? translate('No Element selected') : typeof getComponent
197
- }}
198
- </p>
199
- </div>
200
- <div
201
- v-if="getElement"
202
- class="pbx-overflow-hidden pbx-border-solid pbx-border pbx-border-gray-100 pbx-mb-6"
203
- >
204
- <div
205
- class="pbx-border-0 pbx-bg-gray-900 pbx-pt-4 pbx-1 pbx-border-solid pbx-border-b pbx-border-gray-200"
206
- >
207
- <div class="pbx-overflow-x-auto">
208
- <table class="pbx-min-w-full">
209
- <thead class="pbx-bg-gray-900">
210
- <tr>
211
- <th
212
- class="pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-text-gray-100 pbx-font-normal"
213
- >
214
- {{ translate('Selected HTML:') }}
215
- </th>
216
- </tr>
217
- </thead>
218
- <tbody class="pbx-bg-gray-900 pbx-divide-y pbx-divide-gray-200">
219
- <tr>
220
- <td
221
- class="pbx-border-0 pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-text-gray-100 pbx-font-normal pbx-border-solid pbx-border-b"
222
- >
223
- {{ getElement?.outerHTML }}
224
- </td>
225
- </tr>
226
- </tbody>
227
- </table>
228
- </div>
229
- <div class="pbx-overflow-x-auto">
230
- <table class="pbx-min-w-full">
231
- <thead class="pbx-bg-gray-900">
232
- <tr>
233
- <th
234
- class="pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-text-gray-100 pbx-font-normal"
235
- >
236
- {{ translate('Element src:') }}
237
- </th>
238
- </tr>
239
- </thead>
240
- <tbody class="pbx-bg-gray-900 pbx-divide-y pbx-divide-gray-200">
241
- <tr>
242
- <td
243
- class="pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-text-gray-100 pbx-font-normal pbx-whitespace-pre-line"
244
- >
245
- {{ getElement?.src ? getElement?.src : typeof getElement?.src }}
246
- </td>
247
- </tr>
248
- </tbody>
249
- </table>
250
- </div>
251
- </div>
252
- <div class="pbx-overflow-x-auto">
253
- <table class="pbx-min-w-full">
254
- <thead class="pbx-bg-gray-900">
255
- <tr>
256
- <th
257
- class="pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-text-gray-100 pbx-font-normal"
258
- >
259
- {{ translate('Element classes:') }}
260
- </th>
261
- </tr>
262
- </thead>
263
- <tbody class="pbx-bg-gray-900 pbx-divide-y pbx-divide-gray-200">
264
- <tr>
265
- <td
266
- class="pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-text-gray-100 pbx-font-normal"
267
- >
268
- {{
269
- getElement?.classList
270
- ? getElement?.classList
271
- : typeof getElement?.classList
272
- }}
273
- </td>
274
- </tr>
275
- </tbody>
276
- </table>
277
- </div>
278
- </div>
279
- </div>
280
-
281
- <div v-if="current === 'component'">
282
- <div v-if="!getComponent">
283
- <p class="pbx-pb-2 pbx-text-xs">
284
- {{
285
- getComponent === null ? translate('No Component selected') : typeof getComponent
286
- }}
287
- </p>
288
- </div>
289
- <div
290
- v-if="getComponent"
291
- class="pbx-overflow-hidden pbx-border-solid pbx-border pbx-border-gray-100 pbx-mb-6"
292
- >
293
- <div
294
- class="pbx-border-0 pbx-bg-gray-900 pbx-pt-4 pbx-1 pbx-border-solid pbx-border-b pbx-border-gray-200"
295
- >
296
- <div class="pbx-overflow-x-auto">
297
- <table class="pbx-min-w-full">
298
- <thead class="pbx-bg-gray-900">
299
- <tr>
300
- <th
301
- class="pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-text-gray-100 pbx-font-normal"
302
- >
303
- {{ translate('ID:') }}
304
- </th>
305
- </tr>
306
- </thead>
307
- <tbody class="pbx-bg-gray-900 pbx-divide-y pbx-divide-gray-200">
308
- <tr>
309
- <td
310
- class="pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-text-gray-100 pbx-font-normal"
311
- >
312
- {{ getComponent?.id }}
313
- </td>
314
- </tr>
315
- </tbody>
316
- </table>
317
- </div>
318
- <div class="pbx-overflow-x-auto">
319
- <table class="pbx-min-w-full">
320
- <thead class="pbx-bg-gray-900">
321
- <tr>
322
- <th
323
- class="pbx-border-0 pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-text-gray-100 pbx-font-normal pbx-border-solid pbx-border-t pbx-border-gray-200"
324
- >
325
- {{ translate('Title:') }}
326
- </th>
327
- </tr>
328
- </thead>
329
- <tbody class="pbx-bg-gray-900 pbx-divide-y pbx-divide-gray-200">
330
- <tr>
331
- <td
332
- class="pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-text-gray-100 pbx-font-normal pbx-whitespace-pre-line"
333
- >
334
- {{ getComponent?.title }}
335
- </td>
336
- </tr>
337
- </tbody>
338
- </table>
339
- </div>
340
- </div>
341
- <div class="pbx-overflow-x-auto">
342
- <table class="pbx-min-w-full">
343
- <thead class="pbx-bg-gray-900">
344
- <tr>
345
- <th
346
- class="pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-text-gray-100 pbx-font-normal"
347
- >
348
- {{ translate('HTML Code:') }}
349
- </th>
350
- </tr>
351
- </thead>
352
- <tbody class="pbx-bg-gray-900 pbx-divide-y pbx-divide-gray-200">
353
- <tr>
354
- <td
355
- class="pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-text-gray-100 pbx-font-normal"
356
- >
357
- <pre
358
- class="pbx-text-xs pbx-text-gray-100 pbx-whitespace-pre-wrap pbx-font-sans pbx-flex pbx-items-start pbx-justify-left"
359
- >
360
- <code class="pbx-font-sans pbx-bg-gray-800 pbx-p-4 pbx-rounded-md pbx-block pbx-w-full" v-html="prettifyHtml(getComponent?.html_code)"></code>
361
- </pre>
362
- </td>
363
- </tr>
364
- </tbody>
365
- </table>
366
- </div>
367
- </div>
368
- </div>
369
- <div v-if="current === 'components'">
370
- <div v-if="Array.isArray(getComponents) && getComponents.length === 0">
371
- <p class="pbx-pb-2 pbx-text-xs">{{ translate('No Components added yet') }}</p>
372
- </div>
373
-
374
- <div v-if="getComponents">
375
- <div
376
- v-for="component in getComponents"
377
- :key="component.id"
378
- class="pbx-overflow-hidden pbx-border-solid pbx-border pbx-border-gray-100 pbx-mb-6"
379
- >
380
- <!-- Id and Title above the table, styled to look connected -->
381
- <div
382
- class="pbx-border-0 pbx-bg-gray-900 pbx-pt-4 pbx-1 pbx-border-solid pbx-border-b pbx-border-gray-200"
383
- >
384
- <div class="pbx-overflow-x-auto">
385
- <table class="pbx-min-w-full">
386
- <thead class="pbx-bg-gray-900">
387
- <tr>
388
- <th
389
- class="pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-text-gray-100 pbx-font-normal"
390
- >
391
- {{ translate('ID:') }}
392
- </th>
393
- </tr>
394
- </thead>
395
- <tbody class="pbx-bg-gray-900 pbx-divide-y pbx-divide-gray-200">
396
- <tr>
397
- <td
398
- class="pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-text-gray-100 pbx-font-normal"
399
- >
400
- {{ component.id }}
401
- </td>
402
- </tr>
403
- </tbody>
404
- </table>
405
- </div>
406
- <div class="pbx-overflow-x-auto">
407
- <table class="pbx-min-w-full">
408
- <thead class="pbx-bg-gray-900">
409
- <tr>
410
- <th
411
- class="pbx-border-0 pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-text-gray-100 pbx-font-normal pbx-border-solid pbx-border-t pbx-border-gray-200"
412
- >
413
- {{ translate('Title:') }}
414
- </th>
415
- </tr>
416
- </thead>
417
- <tbody class="pbx-bg-gray-900 pbx-divide-y pbx-divide-gray-200">
418
- <tr>
419
- <td
420
- class="pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-text-gray-100 pbx-font-normal pbx-whitespace-pre-line"
421
- >
422
- {{ component.title }}
423
- </td>
424
- </tr>
425
- </tbody>
426
- </table>
427
- </div>
428
- </div>
429
- <div class="pbx-overflow-x-auto">
430
- <table class="pbx-min-w-full">
431
- <thead class="pbx-bg-gray-900">
432
- <tr>
433
- <th
434
- class="pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-text-gray-100 pbx-font-normal"
435
- >
436
- {{ translate('HTML Code:') }}
437
- </th>
438
- </tr>
439
- </thead>
440
- <tbody class="pbx-bg-gray-900 pbx-divide-y pbx-divide-gray-200">
441
- <tr>
442
- <td
443
- class="pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-text-gray-100 pbx-font-normal"
444
- >
445
- <pre
446
- class="pbx-text-xs pbx-text-gray-100 pbx-whitespace-pre-wrap pbx-font-sans pbx-flex pbx-items-start pbx-justify-left"
447
- >
448
- <code class="pbx-font-sans pbx-w-full" v-html="prettifyHtml(component.html_code)"></code>
449
- </pre>
450
- </td>
451
- </tr>
452
- </tbody>
453
- </table>
454
- </div>
455
- </div>
456
- </div>
457
- </div>
458
- </div>
459
- </div>
460
- </div>
461
- <!-- Code Block Component - end-->
462
- </div>
463
- </div>
464
- </template>
465
-
466
- <style>
467
- .html-tag {
468
- color: #ff79c6;
469
- }
470
- .html-attribute {
471
- color: #50fa7b;
472
- }
473
- .html-value {
474
- color: #f1fa8c;
475
- }
476
- </style>