@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
package/src/css/style.css DELETED
@@ -1,600 +0,0 @@
1
- /* Google Fonts - Auto-loaded for vue-website-page-builder */
2
- @import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100;0,200;0,300;0,400;0,500;1,100;1,200;1,300;1,400;1,500&display=swap');
3
- @import url('https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500;1,600&display=swap');
4
- @import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0');
5
-
6
- @tailwind components;
7
- @tailwind utilities;
8
- @layer components {
9
- /*
10
- |--------------------------------------------------------------------------
11
- | Widgets
12
- |--------------------------------------------------------------------------
13
- */
14
- .pbx-myPrimaryWidget {
15
- @apply pbx-py-8 pbx-px-4 pbx-border pbx-border-myPrimaryLightGrayColor pbx-rounded-md pbx-bg-white;
16
- }
17
-
18
- /*
19
- |--------------------------------------------------------------------------
20
- | Modules
21
- |--------------------------------------------------------------------------
22
- */
23
- .pbx-myModulePyMargin {
24
- @apply md:pbx-mb-0 pbx-mb-0;
25
- }
26
- .pbx-myModulePadding {
27
- @apply md:pbx-py-28 pbx-py-16;
28
- }
29
-
30
- .pbx-myPrimaryWidthScreenModule {
31
- @apply pbx-myModulePyMargin pbx-myModulePadding;
32
- }
33
- .pbx-myPrimaryModule {
34
- @apply pbx-max-w-7xl pbx-mx-auto pbx-myModulePyMargin pbx-myModulePadding;
35
- }
36
- .pbx-myPrimaryContentSection {
37
- @apply pbx-max-w-7xl pbx-mx-auto md:pbx-px-4 pbx-px-4 lg:pbx-pb-10 md:pbx-pb-8 pbx-pb-6;
38
- }
39
-
40
- /*
41
- |--------------------------------------------------------------------------
42
- | Helpers
43
- |--------------------------------------------------------------------------
44
- */
45
- .pbx-myPrimarySection {
46
- @apply lg:pbx-pb-8 lg:pbx-pt-20 md:pbx-py-8 pbx-py-8;
47
- }
48
-
49
- .pbx-myPrimaryWarningAlertMessage {
50
- @apply pbx-myPrimarySection pbx-myTertiaryHeader pbx-text-yellow-400 pbx-text-center;
51
- }
52
- .pbx-myFocus {
53
- @apply focus-within:pbx-border-2 focus-within:pbx-border-myPrimaryBrandColor;
54
- }
55
- .pbx-myActiveLinkColor {
56
- @apply pbx-text-myPrimaryBrandColor;
57
- }
58
-
59
- /*
60
- |--------------------------------------------------------------------------
61
- | Tags
62
- |--------------------------------------------------------------------------
63
- */
64
- .pbx-myPrimaryTag {
65
- @apply pbx-min-h-[3rem] pbx-my-2 pbx-px-3 pbx-py-2
66
- pbx-text-xs pbx-break-all
67
- pbx-inline-flex pbx-gap-1 pbx-items-center pbx-justify-center
68
- pbx-rounded-full pbx-border pbx-border-transparent
69
- pbx-text-myPrimaryDarkGrayColor pbx-bg-myPrimaryLightMediumGrayColor
70
- sm:pbx-w-auto pbx-shadow-sm hover:pbx-shadow;
71
- }
72
- /*
73
- |--------------------------------------------------------------------------
74
- | Thumbnail
75
- |--------------------------------------------------------------------------
76
- */
77
- .pbx-myPrimarythumbnailLogo {
78
- @apply pbx-mx-auto pbx-block pbx-mt-2 pbx-mb-6 pbx-w-40 pbx-transition-all pbx-rounded-md pbx-object-cover pbx-cursor-pointer;
79
- }
80
- .pbx-myPrimarythumbnailInsertPreview {
81
- @apply pbx-block md:pbx-h-16 md:pbx-w-16 pbx-h-16 pbx-w-16 hover:pbx-shadow-sm pbx-transition-all pbx-cursor-pointer pbx-rounded-full pbx-object-cover;
82
- }
83
- /*
84
- |--------------------------------------------------------------------------
85
- | Primary paragraphs
86
- |--------------------------------------------------------------------------
87
- */
88
- .pbx-myPrimaryParagraph {
89
- @apply pbx-font-normal pbx-text-myPrimaryDarkGrayColor lg:pbx-text-base pbx-text-sm;
90
- }
91
-
92
- .pbx-myPrimaryParagraphError {
93
- @apply pbx-myPrimaryParagraph pbx-mt-1 pbx-italic pbx-text-myPrimaryErrorColor pbx-text-sm;
94
- }
95
-
96
- /*
97
- |--------------------------------------------------------------------------
98
- | Headers
99
- |--------------------------------------------------------------------------
100
- */
101
- .pbx-myPrimaryHeader {
102
- @apply lg:pbx-text-7xl md:pbx-text-6xl pbx-text-5xl pbx-font-medium pbx-break-words lg:pbx-mb-8 md:pbx-mb-4 pbx-mb-2 pbx-text-myPrimaryDarkGrayColor;
103
- }
104
-
105
- .pbx-mySecondaryHeader {
106
- @apply pbx-font-['Cormorant'] pbx-font-medium pbx-break-words lg:pbx-text-5xl md:pbx-text-4xl pbx-text-3xl lg:pbx-mb-8 md:pbx-mb-4 pbx-mb-2 pbx-text-myPrimaryDarkGrayColor;
107
- }
108
-
109
- .pbx-myTertiaryHeader {
110
- @apply pbx-font-medium pbx-break-words lg:pbx-text-3xl md:pbx-text-2xl pbx-text-2xl lg:pbx-mb-8 md:pbx-mb-4 pbx-mb-2 pbx-text-myPrimaryDarkGrayColor;
111
- }
112
-
113
- .pbx-myQuaternaryHeader {
114
- @apply pbx-font-medium pbx-break-words lg:pbx-text-xl md:pbx-text-lg pbx-text-base lg:pbx-mb-4 md:pbx-mb-2 pbx-mb-2 pbx-text-myPrimaryDarkGrayColor;
115
- }
116
-
117
- /*
118
- |--------------------------------------------------------------------------
119
- | Links
120
- |--------------------------------------------------------------------------
121
- */
122
- .pbx-myPrimaryLink {
123
- @apply pbx-text-myPrimaryLinkColor
124
- focus:pbx-outline-none
125
- focus:pbx-ring-0 focus:pbx-ring-myPrimaryLinkColor
126
- focus-visible:pbx-ring-0 focus-visible:pbx-ring-myPrimaryLinkColor pbx-cursor-pointer;
127
- }
128
-
129
- .pbx-myPrimaryActiveLink {
130
- @apply pbx-text-red-600 pbx-text-sm
131
- focus:pbx-outline-none
132
- focus:pbx-ring-0 focus:pbx-ring-red-500
133
- focus-visible:pbx-ring-0 focus-visible:pbx-ring-red-500;
134
- }
135
-
136
- /*
137
- |--------------------------------------------------------------------------
138
- | Buttons
139
- |--------------------------------------------------------------------------
140
- */
141
- .pbx-myPrimaryMenuTextButton {
142
- @apply lg:pbx-flex lg:pbx-gap-2 lg:pbx-items-center focus:pbx-outline-none pbx-cursor-pointer pbx-rounded-full pbx-px-1.5 pbx-py-1.5 pbx-font-medium;
143
- }
144
- .pbx-myRadio {
145
- @apply pbx-w-5 pbx-h-5 pbx-text-myPrimaryBrandColor pbx-bg-myPrimaryLightGrayColor pbx-border-gray-300 focus:pbx-ring-myPrimaryBrandColor dark:focus:pbx-ring-myPrimaryBrandColor dark:pbx-ring-offset-gray-800 focus:pbx-ring-2 dark:pbx-bg-myPrimaryDarkGrayColor dark:pbx-border-gray-600;
146
- }
147
-
148
- .pbx-myPrimaryButton {
149
- @apply pbx-min-h-[3rem] lg:pbx-px-4 lg:pbx-py-3 pbx-px-3 pbx-py-3 pbx-font-sans
150
- sm:pbx-text-sm pbx-text-xs pbx-whitespace-nowrap pbx-break-keep pbx-font-medium pbx-inline-flex pbx-gap-1 pbx-items-center pbx-justify-center pbx-rounded-full pbx-border pbx-border-transparent pbx-bg-myPrimaryLinkColor pbx-text-white pbx-shadow-sm hover:pbx-bg-myPrimaryLinkColor sm:pbx-w-auto
151
- focus:pbx-outline-none focus:pbx-ring-2 focus:pbx-ring-myPrimaryLinkColor focus:pbx-ring-offset-2
152
- focus-visible:pbx-ring-2 focus-visible:pbx-ring-myPrimaryLinkColor pbx-cursor-pointer;
153
- }
154
-
155
- .pbx-mySecondaryButton {
156
- @apply pbx-myPrimaryButton pbx-bg-myPrimaryLightMediumGrayColor hover:pbx-bg-myPrimaryLightMediumGrayColor hover:pbx-bg-opacity-90 focus:pbx-ring-myPrimaryLightGrayColor pbx-text-myPrimaryDarkGrayColor hover:pbx-text-myPrimaryDarkGrayColor pbx-shadow-sm;
157
- }
158
-
159
- .pbx-myPrimaryDeleteButton {
160
- @apply pbx-myPrimaryButton pbx-bg-myPrimaryErrorColor hover:pbx-bg-myPrimaryErrorColor focus:pbx-ring-myPrimaryErrorColor;
161
- }
162
-
163
- .pbx-myPrimaryToggleButton {
164
- @apply pbx-w-full pbx-inline-flex pbx-items-center pbx-justify-center pbx-px-4 pbx-py-2 sm:pbx-text-sm pbx-text-sm pbx-font-semibold pbx-text-myPrimaryDarkGrayColor pbx-shadow-sm focus:pbx-outline-none focus:pbx-ring-2 focus:pbx-ring-myPrimaryBrandColor focus:pbx-ring-offset-2 pbx-bg-myPrimaryLightGrayColor hover:pbx-bg-myPrimaryBrandColor hover:pbx-text-white;
165
- }
166
- /*
167
- |--------------------------------------------------------------------------
168
- | Buttons With no background
169
- |--------------------------------------------------------------------------
170
- */
171
- .pbx-myPrimaryButtonNoBackground {
172
- @apply pbx-myPrimaryParagraph pbx-font-medium pbx-text-myPrimaryBrandColor pbx-font-sans
173
- focus:pbx-outline-none pbx-cursor-pointer;
174
- }
175
- /*
176
- |--------------------------------------------------------------------------
177
- | Icons
178
- |--------------------------------------------------------------------------
179
- */
180
- .pbx-mySmallIcon {
181
- @apply pbx-shrink-0 pbx-h-4 pbx-w-4 pbx-m-2 pbx-stroke-[1.5px] pbx-flex pbx-justify-center pbx-items-center;
182
- }
183
- .pbx-myMediumIcon {
184
- @apply pbx-shrink-0 pbx-h-6 pbx-w-6 pbx-stroke-[1.5px] pbx-flex pbx-justify-center pbx-items-center;
185
- }
186
-
187
- /*
188
- |--------------------------------------------------------------------------
189
- | Tables
190
- |--------------------------------------------------------------------------
191
- */
192
- .pbx-myTableContainerPlusScrollButton {
193
- @apply pbx-relative pbx-p-2 pbx-border-gray-400 pbx-border pbx-rounded;
194
- }
195
- .pbx-myScrollButtonContainer {
196
- @apply pbx-sticky pbx-z-10 pbx-h-12 pbx-top-16 pbx-left-0 pbx-right-0 pbx-flex pbx-items-center pbx-justify-center pbx-myPrimaryGap pbx-bg-myPrimaryLightGrayColor pbx-bg-opacity-50;
197
- }
198
- .pbx-myTableContainer {
199
- @apply pbx-overflow-x-auto pbx-myPrimarySection pbx-py-0 pbx-px-0;
200
- }
201
- .pbx-myTableSubContainer {
202
- @apply pbx-min-w-full pbx-align-middle;
203
- }
204
- .pbx-myPrimaryTable {
205
- @apply pbx-text-sm pbx-divide-y pbx-divide-myPrimaryLightGrayColor pbx-table-fixed pbx-min-w-full pbx-text-left pbx-mb-20;
206
- }
207
- .pbx-myPrimaryTableCaption {
208
- @apply pbx-bg-white pbx-myPrimaryParagraph pbx-py-4;
209
- }
210
- .pbx-myPrimaryTableTHead {
211
- @apply pbx-bg-gray-50;
212
- }
213
- .pbx-myPrimaryTableTr {
214
- @apply pbx-divide-x pbx-divide-gray-300;
215
- }
216
- .pbx-myPrimaryTableTh {
217
- @apply pbx-px-6 pbx-py-4 pbx-font-normal pbx-text-gray-900;
218
- }
219
- .pbx-myPrimaryTableTBody {
220
- @apply pbx-divide-y pbx-divide-gray-100 pbx-border-t pbx-border-gray-100 pbx-bg-white;
221
- }
222
- .pbx-myPrimaryTableTBodyTr {
223
- @apply pbx-divide-x pbx-myPrimaryParagraph pbx-bg-white hover:pbx-bg-red-50;
224
- }
225
- .pbx-myPrimaryTableTBodyTd {
226
- @apply pbx-px-6 pbx-py-4 pbx-whitespace-pre pbx-myPrimaryParagraph;
227
- }
228
- .pbx-myPrimaryResourceTableBodyTdTitle {
229
- @apply pbx-whitespace-normal;
230
- }
231
-
232
- /*
233
- |--------------------------------------------------------------------------
234
- | Grid
235
- |--------------------------------------------------------------------------
236
- */
237
- .pbx-myPrimaryGap {
238
- @apply pbx-gap-4;
239
- }
240
-
241
- /*
242
- |--------------------------------------------------------------------------
243
- | Breadcrumbs
244
- |--------------------------------------------------------------------------
245
- */
246
- .pbx-myBreadcrumbsContainer {
247
- @apply pbx-flex pbx-items-center pbx-justify-start pbx-gap-1 pbx-py-2 pbx-pl-4 pbx-pr-2 pbx-font-medium;
248
- }
249
-
250
- /*
251
- |--------------------------------------------------------------------------
252
- | Search Bars
253
- |--------------------------------------------------------------------------
254
- */
255
- .pbx-mysearchBarWithOptions {
256
- @apply pbx-flex pbx-gap-2 pbx-pl-4 pbx-rounded-full pbx-border pbx-border-gray-200 pbx-bg-myPrimaryLightGrayColor;
257
- }
258
-
259
- .pbx-myPrimarySearchInput {
260
- @apply pbx-myPrimaryInput pbx-text-sm pbx-py-4 pbx-border-none pbx-outline-none pbx-pl-10 pbx-h-full pbx-bg-transparent focus:pbx-ring-0 focus:pbx-ring-offset-0 focus:pbx-border-none focus:pbx-bg-transparent focus:pbx-outline-none pbx-shadow-none;
261
- }
262
-
263
- .pbx-myPrimarySearchButton {
264
- @apply pbx-rounded-r-full pbx-text-sm lg:pbx-pl-8 lg:pbx-pr-10 pbx-pl-4 pbx-pr-4 pbx-text-center pbx-border-l pbx-border-gray-300 pbx-font-medium hover:pbx-bg-gray-200;
265
- }
266
-
267
- /*
268
- |--------------------------------------------------------------------------
269
- | Forms
270
- |--------------------------------------------------------------------------
271
- */
272
- .pbx-myPrimaryFormWithActions {
273
- @apply pbx-flex pbx-flex-col pbx-myPrimaryGap pbx-px-2 pbx-rounded md:pbx-pb-4;
274
- }
275
- .pbx-myPrimaryContentLayout {
276
- @apply pbx-flex pbx-flex-col pbx-myPrimaryGap md:pbx-flex md:pbx-flex-row;
277
- }
278
- .pbx-myPrimaryFormTitleDescription {
279
- @apply pbx-flex pbx-flex-col pbx-w-full;
280
- }
281
- .pbx-myPrimaryFormMain {
282
- @apply pbx-flex pbx-flex-col pbx-myPrimaryGap md:pbx-w-8/12;
283
- }
284
- .pbx-myPrimaryFormSidebar {
285
- @apply pbx-flex pbx-flex-col pbx-myPrimaryGap md:pbx-w-4/12;
286
- }
287
- .pbx-myPrimaryActions {
288
- @apply pbx-px-4 pbx-py-6 pbx-rounded pbx-bg-myPrimaryLightGrayColor pbx-shadow-sm;
289
- }
290
-
291
- .pbx-myInputsOrganization {
292
- @apply pbx-px-4 pbx-pt-4 pbx-pb-4 pbx-bg-white pbx-rounded-lg pbx-border pbx-border-gray-200;
293
- }
294
-
295
- .pbx-myPrimaryFormOrganizationHeaderDescriptionSection {
296
- @apply pbx-mb-4;
297
- }
298
- .pbx-myPrimaryFormOrganizationHeader {
299
- @apply pbx-myQuaternaryHeader pbx-m-0 pbx-pt-4;
300
- }
301
-
302
- .pbx-myInputsFamily {
303
- @apply pbx-flex pbx-items-center pbx-myPrimaryGap;
304
- }
305
-
306
- .pbx-myInputGroup {
307
- @apply pbx-w-full pbx-self-start pbx-mb-2 pbx-px-2;
308
- }
309
- .pbx-myDoActionButtonSection {
310
- @apply pbx-px-4 pbx-py-4 pbx-border pbx-border-myPrimaryLightGrayColor pbx-rounded sm:pbx-px-6 pbx-text-right pbx-mt-1 pbx-bg-gray-50;
311
- }
312
-
313
- .pbx-myPrimaryInputLabel {
314
- @apply pbx-my-0 pbx-block pbx-text-sm pbx-font-normal pbx-text-myPrimaryDarkGrayColor pbx-text-left pbx-mb-2;
315
- }
316
-
317
- .pbx-myPrimaryInput {
318
- @apply pbx-w-full pbx-font-sans;
319
- }
320
-
321
- .pbx-myPrimaryInputError {
322
- @apply pbx-mt-1 pbx-myPrimaryParagraph pbx-block pbx-font-normal pbx-text-myPrimaryErrorColor pbx-text-left pbx-text-sm;
323
- }
324
-
325
- .pbx-myPrimaryTextArea {
326
- @apply pbx-block pbx-w-full sm:pbx-text-sm pbx-font-normal pbx-text-myPrimaryDarkGrayColor placeholder:pbx-font-normal placeholder:pbx-accent-gray-400 pbx-bg-gray-50 focus:pbx-bg-white pbx-rounded-md pbx-py-3 pbx-px-3 pbx-border pbx-border-gray-300 pbx-shadow-sm focus:pbx-outline-none focus:pbx-ring-2 focus:pbx-ring-myPrimaryLinkColor focus:pbx-border-transparent;
327
- }
328
-
329
- .pbx-myPrimaryCheckbox {
330
- @apply focus:pbx-ring-myPrimaryBrandColor pbx-h-5 pbx-w-5 pbx-text-myPrimaryBrandColor pbx-border-gray-400 pbx-rounded-md;
331
- }
332
-
333
- .pbx-myPrimarySelect {
334
- @apply pbx-myPrimaryInput;
335
- }
336
- .pbx-myPrimaryFakeSelect {
337
- @apply hover:pbx-ring-myPrimaryLinkColor pbx-border pbx-border-gray-300 pbx-flex pbx-flex-row pbx-justify-between pbx-items-center pbx-myPrimaryGap pbx-py-2.5 pbx-pl-3 pbx-pr-1 pbx-cursor-pointer hover:pbx-border-transparent hover:pbx-ring-2 pbx-rounded-md;
338
- }
339
- .pbx-myPrimaryFakeSelectNoHover {
340
- @apply pbx-myPrimaryFakeSelect focus:pbx-outline-none focus:pbx-border-transparent hover:pbx-border-transparent;
341
- }
342
-
343
- .pbx-myPrimaryColorPreview {
344
- @apply pbx-aspect-square pbx-border pbx-border-gray-200 pbx-cursor-pointer pbx-min-h-[1.5rem] pbx-rounded-sm;
345
- }
346
- }
347
-
348
- #pbxEditToolbar {
349
- opacity: 0;
350
- pointer-events: none;
351
- transform: translateY(0.1rem) scale(0.1);
352
- transition:
353
- left 0.3s cubic-bezier(0.4, 0, 0.2, 1),
354
- top 0.3s cubic-bezier(0.4, 0, 0.2, 1),
355
- opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),
356
- transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
357
- min-width 0.3s cubic-bezier(0.4, 0, 0.2, 1),
358
- width 0.3s cubic-bezier(0.4, 0, 0.2, 1),
359
- height 0.3s cubic-bezier(0.4, 0, 0.2, 1),
360
- border-radius 0.3s cubic-bezier(0.4, 0, 0.2, 1);
361
- }
362
-
363
- #pbxEditToolbar.is-visible {
364
- opacity: 1;
365
- pointer-events: auto;
366
- transform: translateY(0) scale(1);
367
- min-width: 4rem;
368
- padding-right: 1rem;
369
- padding-left: 1rem;
370
- height: 1.5rem;
371
- background: #fff; /* white background */
372
- /* white outline first, then black border simulated as shadow */
373
- box-shadow:
374
- 0 0 0 10px #fff,
375
- /* white outline */ 0 0 0 12px #000; /* black border outside */
376
- }
377
-
378
- /* CSS for content inside page builder # start */
379
- #pagebuilder {
380
- position: relative;
381
- max-height: 100%;
382
- min-height: fit-content;
383
- }
384
- #pagebuilder a {
385
- pointer-events: none;
386
- }
387
-
388
- /* Use #page-builder-wrapper ID in order for the "select video" button not to apear in production*/
389
- #page-builder-wrapper #youtube-video::before {
390
- content: 'Select Video Element';
391
- font-family: 'Jost';
392
- background: #16a34a !important;
393
- color: white;
394
- text-decoration: none;
395
- margin-right: 8px;
396
- vertical-align: middle;
397
- min-height: 3rem;
398
- padding: 0.75rem 0.75rem;
399
- white-space: nowrap;
400
- word-break: keep-all;
401
- font-weight: 500;
402
- display: inline-flex;
403
- gap: 0.25rem;
404
- align-items: center;
405
- justify-content: center;
406
- border-radius: 9999px;
407
- border: 1px solid transparent;
408
- margin-bottom: 20px;
409
- font-size: 0.8rem !important;
410
- }
411
-
412
- @media (min-width: 640px) {
413
- #pagebuilder #youtube-video::before {
414
- font-size: 0.9rem !important;
415
- width: auto;
416
- }
417
- }
418
-
419
- #pagebuilder #youtube-video:hover::before {
420
- text-decoration: none;
421
- cursor: pointer;
422
- }
423
-
424
- #page-builder-editor a,
425
- #pagebuilder a {
426
- text-decoration: underline;
427
- }
428
-
429
- #page-builder-editor #linktree p,
430
- #pagebuilder #linktree p {
431
- width: 100%;
432
- }
433
-
434
- #page-builder-editor #linktree a,
435
- #pagebuilder #linktree a {
436
- @apply pbx-py-4 pbx-px-2 pbx-block pbx-w-full;
437
- }
438
-
439
- #page-builder-editor #linktree a,
440
- #pagebuilder #linktree a {
441
- text-decoration: none;
442
- font-weight: 500;
443
- color: inherit !important;
444
- width: 100%;
445
- cursor: pointer;
446
- }
447
-
448
- .pbx-reorder-highlight {
449
- animation: pbx-reorder-flash 0.4s ease-in-out;
450
- }
451
-
452
- @keyframes pbx-reorder-flash {
453
- 0% {
454
- transform: scale(1);
455
- opacity: 1;
456
- }
457
- 50% {
458
- transform: scale(0.8);
459
- opacity: 0.6;
460
- }
461
- 100% {
462
- transform: scale(1);
463
- opacity: 1;
464
- }
465
- }
466
-
467
- .pbx-sibling-highlight {
468
- }
469
-
470
- .pbx-myPrimaryInput,
471
- .pbx-myPrimarySelect {
472
- box-sizing: border-box;
473
- border: 1px solid #e9e9e9;
474
- padding: 0.40625rem 0.625rem;
475
- font-size: 0.875rem;
476
- border-radius: 0.5rem;
477
- cursor: pointer;
478
- line-height: 1.5;
479
- font-weight: normal;
480
- }
481
-
482
- .pbx-myPrimarySelect {
483
- -webkit-appearance: none;
484
- -moz-appearance: none;
485
- appearance: none;
486
- background-color: #fff;
487
- background-image: url("data:image/svg+xml,%3Csvg width='8' height='6' viewBox='0 0 8 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.292893 0.792893C0.683417 0.402369 1.31658 0.402369 1.70711 0.792893L4 3.08579L6.29289 0.792893C6.68342 0.402369 7.31658 0.402369 7.70711 0.792893C8.09763 1.18342 8.09763 1.81658 7.70711 2.20711L4.70711 5.20711C4.31658 5.59763 3.68342 5.59763 3.29289 5.20711L0.292893 2.20711C-0.0976311 1.81658 -0.0976311 1.18342 0.292893 0.792893Z' fill='%2335261C' fill-opacity='0.3'/%3E%3C/svg%3E");
488
- background-repeat: no-repeat;
489
- background-position: right 0.625rem center;
490
- background-size: 0.5rem;
491
- }
492
-
493
- .pbx-myPrimaryInput:focus,
494
- .pbx-myPrimarySelect:focus {
495
- --tw-ring-inset: inset;
496
- --tw-ring-opacity: 1;
497
- --tw-ring-color: rgba(22, 163, 74, var(--tw-ring-opacity, 1));
498
- --tw-ring-shadow: 0 0 0 4px var(--tw-ring-color);
499
- --tw-ring-offset-width: 2px;
500
- --tw-ring-offset-color: white;
501
- --tw-ring-offset-shadow: 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
502
- box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow);
503
- border: 1px #dee6f0 solid;
504
- }
505
-
506
- .pbx-myPrimaryInput:focus-visible,
507
- .pbx-myPrimarySelect:focus-visible {
508
- outline: none;
509
- }
510
-
511
- #pagebuilder-right-menu hr {
512
- border: none;
513
- height: 1px;
514
- background: oklch(93.6% 0.032 17.717);
515
- box-shadow: oklch(93.6% 0.032 17.717);
516
- }
517
-
518
- #page-builder-editor ol,
519
- #pagebuilder ol,
520
- #page-builder-editor ul,
521
- #pagebuilder ul {
522
- list-style: disc !important;
523
- padding: 1rem 0 0 1.4rem;
524
- margin-left: 1em;
525
- line-height: 2rem;
526
- }
527
-
528
- .pbx-headless-dropdown {
529
- list-style: none;
530
- padding: 0;
531
- }
532
-
533
- /* Page Builder Reset Default Browser Styles Start*/
534
- #pagebuilder input,
535
- #pagebuilder button,
536
- #pagebuilder textarea,
537
- #pagebuilder select {
538
- font: inherit;
539
- color: inherit;
540
- background: none;
541
- border: none;
542
- padding: 0;
543
- margin: 0;
544
- }
545
- #pagebuilder blockquote,
546
- #pagebuilder dl,
547
- #pagebuilder dd,
548
- #pagebuilder pre,
549
- #pagebuilder hr,
550
- #pagebuilder figure,
551
- #pagebuilder p,
552
- #pagebuilder h1,
553
- #pagebuilder h2,
554
- #pagebuilder h3,
555
- #pagebuilder h4,
556
- #pagebuilder h5,
557
- #pagebuilder h6,
558
- #pagebuilder ul,
559
- #pagebuilder ol,
560
- #pagebuilder li {
561
- margin: 0;
562
- font-weight: inherit;
563
- }
564
-
565
- #pagebuilder input,
566
- #pagebuilder button,
567
- #pagebuilder textarea,
568
- #pagebuilder select {
569
- font: inherit;
570
- color: inherit;
571
- background: none;
572
- border: none;
573
- padding: 0;
574
- margin: 0;
575
- }
576
-
577
- #pagebuilder img {
578
- max-width: 100%;
579
- height: auto;
580
- display: block;
581
- }
582
-
583
- #pagebuilder a {
584
- color: inherit;
585
- text-decoration: none;
586
- }
587
-
588
- #page-builder-editor strong,
589
- #pagebuilder strong {
590
- font: inherit;
591
- font-weight: 500;
592
- }
593
-
594
- #pagebuilder code,
595
- #pagebuilder pre,
596
- #pagebuilder em {
597
- font: inherit;
598
- font-weight: inherit;
599
- }
600
- /* Page Builder Reset Default Browser Styles End*/
@@ -1,5 +0,0 @@
1
- export const isEmptyObject = function (obj: object) {
2
- return (
3
- !obj || (typeof obj === 'object' && obj.constructor === Object && Object.keys(obj).length === 0)
4
- )
5
- }
package/src/index.ts DELETED
@@ -1,28 +0,0 @@
1
- // Main Page Builder Components
2
- export { default as PageBuilder } from './PageBuilder/PageBuilder.vue'
3
- export { default as Preview } from './PageBuilder/Preview.vue'
4
-
5
- // Export stores (consolidated into single store)
6
- export { usePageBuilderStateStore } from './stores/page-builder-state'
7
-
8
- // Export composables
9
- export { usePageBuilderModal } from './composables/usePageBuilderModal'
10
-
11
- // Export types
12
- export type { PageBuilderUser, ComponentObject, ImageObject, PageBuilderConfig } from './types'
13
-
14
- // Export Pinia for convenience (same version as package uses)
15
- export { createPinia } from 'pinia'
16
-
17
- // Export CSS (users will need to import this separately)
18
- import './css/style.css'
19
-
20
- // Export shared store instances for external access
21
- export { sharedPageBuilderPinia, sharedPageBuilderStore } from './stores/shared-store'
22
-
23
- // export { PageBuilderService } from './src/services/PageBuilderService.ts'
24
-
25
- export { getPageBuilder } from './composables/builderInstance'
26
-
27
- // Export the plugin for app.use()
28
- export { pageBuilder } from './plugin'