@myissue/vue-website-page-builder 3.3.37 → 3.3.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@myissue/vue-website-page-builder",
3
- "version": "3.3.37",
3
+ "version": "3.3.39",
4
4
  "description": "Vue 3 page builder component with drag & drop functionality.",
5
5
  "type": "module",
6
6
  "main": "./dist/vue-website-page-builder.umd.cjs",
@@ -4,7 +4,7 @@
4
4
  >
5
5
  <div class="pbx-absolute pbx-top-1/3">
6
6
  <div
7
- class="pbx-inline-block pbx-h-10 pbx-w-10 pbx-animate-spin pbx-rounded-full pbx-border-4 pbx-border-solid pbx-border-current pbx-border-r-transparent"
7
+ class="pbx-inline-block pbx-h-10 pbx-w-10 pbx-animate-spin pbx-rounded-full pbx-border-4 pbx-border-solid pbx-border pbx-border-current pbx-border-r-transparent"
8
8
  ></div>
9
9
  </div>
10
10
  </div>
@@ -50,7 +50,7 @@ const firstButtonBuilder = function () {
50
50
  </div>
51
51
  </div>
52
52
  <div
53
- class="pbx-py-4 pbx-flex sm:pbx-justify-end pbx-justify-center pbx-border-t-solid pbx-border-gray-200 pbx-mt-4"
53
+ class="pbx-py-4 pbx-flex sm:pbx-justify-end pbx-justify-center pbx-border-solid pbx-border-t pbx-border-gray-200 pbx-mt-4"
54
54
  >
55
55
  <div class="sm:pbx-w-3/6 pbx-w-full pbx-px-2 pbx-my-2 pbx-flex pbx-gap-2 pbx-justify-end">
56
56
  <button
@@ -104,7 +104,7 @@ const thirdButtonBuilder = function () {
104
104
  </div>
105
105
 
106
106
  <div
107
- class="pbx-border-t-solid pbx-border-gray-200 pbx-mt-4 pbx-flex pbx-items-center pbx-justify-end"
107
+ class="pbx-border-solid pbx-border-t pbx-border-gray-200 pbx-mt-4 pbx-flex pbx-items-center pbx-justify-end"
108
108
  >
109
109
  <div
110
110
  v-if="simpleModal !== true && !isLoading"
@@ -157,7 +157,7 @@ const thirdButtonBuilder = function () {
157
157
  <template v-if="isLoading">
158
158
  <div class="pbx-flex pbx-items-center pbx-my-2 pbx-py-4 pbx-px-2 pbx-justify-end">
159
159
  <div
160
- class="pbx-inline-block pbx-h-8 pbx-w-8 pbx-animate-spin pbx-rounded-full pbx-border-4 pbx-border-solid pbx-border-current pbx-border-r-transparent pbx-align-[-0.125em] motion-reduce:pbx-animate-[spin_1.5s_linear_infinite]"
160
+ class="pbx-inline-block pbx-h-8 pbx-w-8 pbx-animate-spin pbx-rounded-full pbx-border-4 pbx-border-solid pbx-border pbx-border-current pbx-border-r-transparent pbx-align-[-0.125em] motion-reduce:pbx-animate-[spin_1.5s_linear_infinite]"
161
161
  >
162
162
  <span
163
163
  class="!pbx-absolute !pbx-m-px !pbx-h-px !pbx-w-px !pbx-overflow-hidden !pbx-whitespace-nowrap !pbx-border-0 !pbx-p-0 !pbx-[clip:rect(0,0,0,0)]"
@@ -80,7 +80,7 @@ const maxWidthClass = computed(() => {
80
80
  ]"
81
81
  >
82
82
  <div
83
- class="pbx-h-16 pbx-px-4 pbx-border-b-solid pbx-border-gray-200 pbx-mb-2 pbx-flex pbx-items-center pbx-justify-between"
83
+ class="pbx-h-16 pbx-px-4 pbx-border-solid pbx-border-b pbx-border-gray-200 pbx-mb-2 pbx-flex pbx-items-center pbx-justify-between"
84
84
  :class="[
85
85
  type === 'success' ? 'pbx-bg-white' : '',
86
86
  type === 'warning' ? 'pbx-bg-white' : '',
@@ -53,7 +53,7 @@ const getSvgPreview = (title: string) => {
53
53
  <div
54
54
  v-for="helper in componentHelpers"
55
55
  :key="helper.title"
56
- class="pbx-border-solid pbx-border-gray-400 pbx-overflow-hidden hover:pbx-border-myPrimaryLinkColor pbx-duration-100 pbx-cursor-pointer pbx-p-4"
56
+ class="pbx-border-solid pbx-border pbx-border-gray-400 pbx-overflow-hidden hover:pbx-border-myPrimaryLinkColor pbx-duration-100 pbx-cursor-pointer pbx-p-4"
57
57
  @click="handleDropComponent(helper)"
58
58
  >
59
59
  <div class="pbx-max-h-72 pbx-cursor-pointer pbx-object-contain pbx-bg-white pbx-mx-auto">
@@ -74,11 +74,11 @@ const getSvgPreview = (title: string) => {
74
74
  <div
75
75
  v-for="comp in components[0].components.data"
76
76
  :key="comp.title"
77
- class="pbx-border-solid pbx-border-gray-400 pbx-overflow-hidden hover:pbx-border-myPrimaryLinkColor pbx-duration-100 pbx-cursor-pointer"
77
+ class="pbx-border-solid pbx-border pbx-border-gray-400 pbx-overflow-hidden hover:pbx-border-myPrimaryLinkColor pbx-duration-100 pbx-cursor-pointer"
78
78
  @click="handleDropComponent(convertToComponentObject(comp))"
79
79
  >
80
80
  <div
81
- class="pbx-overflow-hidden pbx-whitespace-pre-line pbx-flex-1 pbx-h-auto pbx-border-b-solid pbx-border-gray-200 lg:pbx-py-10 pbx-py-8 pbx-px-2"
81
+ class="pbx-overflow-hidden pbx-whitespace-pre-line pbx-flex-1 pbx-h-auto pbx-border-solid pbx-border-b pbx-border-gray-200 lg:pbx-py-10 pbx-py-8 pbx-px-2"
82
82
  >
83
83
  <!-- Use SVG preview instead of external images -->
84
84
  <div
@@ -74,7 +74,7 @@ watch(
74
74
  </div>
75
75
  <div v-if="color !== 'none'" class="pbx-flex pbx-items-center">
76
76
  <div
77
- class="pbx-aspect-square pbx-w-6 pbx-h-6 pbx-border-solid pbx-border-gray-100 pbx-rounded-sm"
77
+ class="pbx-aspect-square pbx-w-6 pbx-h-6 pbx-border-solid pbx-border pbx-border-gray-100 pbx-rounded-sm"
78
78
  :class="`pbx-bg-${color.replace('pbx-bg-', '')}`"
79
79
  ></div>
80
80
  <span class="pbx-ml-3">{{ color }}</span>
@@ -101,7 +101,7 @@ watch(
101
101
  </div>
102
102
  <div
103
103
  v-if="borderColor !== 'none'"
104
- class="pbx-aspect-square pbx-w-6 pbx-h-6 pbx-border-solid pbx-border-gray-100 pbx-rounded-sm"
104
+ class="pbx-aspect-square pbx-w-6 pbx-h-6 pbx-border-solid pbx-border pbx-border-gray-100 pbx-rounded-sm"
105
105
  :class="`bg-${borderColor?.replace('border-', '')}`"
106
106
  ></div>
107
107
  <span class="pbx-block pbx-truncate">{{ borderColor }}</span>
@@ -59,7 +59,7 @@ const handleAddClasses = async function () {
59
59
  <div class="pbx-flex pbx-gap-2 pbx-item-center pbx-flex-col">
60
60
  <div class="pbx-flex pbx-gap-2 pbx-item-center">
61
61
  <div
62
- class="pbx-mt-1 pbx-relative pbx-flex pbx-items-center pbx-w-full pbx-border-solid pbx-myPrimaryInput pbx-py-0 pbx-p-0"
62
+ class="pbx-mt-1 pbx-relative pbx-flex pbx-items-center pbx-w-full pbx-border-solid pbx-border pbx-myPrimaryInput pbx-py-0 pbx-p-0"
63
63
  >
64
64
  <input
65
65
  v-model="inputClass"
@@ -64,7 +64,7 @@ const loadingImage = async function (imageURL) {
64
64
  <div v-show="getIsLoadingImage">
65
65
  <div class="pbx-flex pbx-items-center pbx-justify-center pbx-mt-4 pbx-min-h-80">
66
66
  <div
67
- class="pbx-inline-block pbx-h-8 pbx-w-8 pbx-animate-spin pbx-rounded-full pbx-border-4 pbx-border-solid pbx-border-current pbx-border-r-transparent pbx-align-[-0.125em] motion-reduce:pbx-animate-[spin_1.5s_linear_infinite]"
67
+ class="pbx-inline-block pbx-h-8 pbx-w-8 pbx-animate-spin pbx-rounded-full pbx-border-4 pbx-border-solid pbx-border pbx-border-current pbx-border-r-transparent pbx-align-[-0.125em] motion-reduce:pbx-animate-[spin_1.5s_linear_infinite]"
68
68
  >
69
69
  <span
70
70
  class="!pbx-absolute !pbx-m-px !pbx-h-px !pbx-w-px !pbx-overflow-hidden !pbx-whitespace-nowrap !pbx-border-0 !pbx-p-0 !pbx-[clip:rect(0,0,0,0)]"
@@ -219,7 +219,7 @@ const handleToggleOpenHyperlinkInNewTab = async function () {
219
219
  <!-- no attached url - end -->
220
220
  <div v-if="hyperlinkEnable === true" class="pbx-my-2 pbx-py-2">
221
221
  <div
222
- class="pbx-relative pbx-flex pbx-items-center pbx-w-full pbx-border-solid pbx-border-gray-200 pbx-myPrimaryInput pbx-py-0 pbx-p-0"
222
+ class="pbx-relative pbx-flex pbx-items-center pbx-w-full pbx-border-solid pbx-border pbx-border-gray-200 pbx-myPrimaryInput pbx-py-0 pbx-p-0"
223
223
  >
224
224
  <input
225
225
  v-model="urlInput"
@@ -73,7 +73,7 @@ watch(
73
73
  </div>
74
74
  <div v-if="color !== 'none'" class="pbx-flex pbx-items-center">
75
75
  <div
76
- class="pbx-aspect-square pbx-w-6 pbx-h-6 pbx-border-solid pbx-border-gray-100 pbx-rounded-sm"
76
+ class="pbx-aspect-square pbx-w-6 pbx-h-6 pbx-border-solid pbx-border pbx-border-gray-100 pbx-rounded-sm"
77
77
  :class="`pbx-bg-${color.replace('pbx-text-', '')}`"
78
78
  ></div>
79
79
  <span class="pbx-ml-3">{{ color }}</span>
@@ -1,5 +1,8 @@
1
1
  <template>
2
- <div class="pbx-flex pbx-flex-col pbx-border-solid pbx-border-gray-400" :class="{ '': expanded }">
2
+ <div
3
+ class="pbx-flex pbx-flex-col pbx-border-solid pbx-border pbx-border-gray-400"
4
+ :class="{ '': expanded }"
5
+ >
3
6
  <div
4
7
  class="pbx-flex pbx-flex-row pbx-justify-between pbx-items-center pbx-pl-3 pbx-pr-3 pbx-py-5 pbx-cursor-pointer pbx-duration-200 hover:pbx-bg-myPrimaryLightGrayColor"
5
8
  @click="expanded = !expanded"
@@ -117,9 +117,11 @@ function prettifyHtml(html) {
117
117
  </div>
118
118
  <div
119
119
  v-if="getElement"
120
- class="pbx-overflow-hidden pbx-border-solid pbx-border-gray-100 pbx-mb-6"
120
+ class="pbx-overflow-hidden pbx-border-solid pbx-border pbx-border-gray-100 pbx-mb-6"
121
121
  >
122
- <div class="pbx-bg-stone-800 pbx-pt-4 pbx-1 pbx-border-b-solid pbx-border-gray-200">
122
+ <div
123
+ class="pbx-bg-stone-800 pbx-pt-4 pbx-1 pbx-border-solid pbx-border-b pbx-border-gray-200"
124
+ >
123
125
  <div class="pbx-overflow-x-auto">
124
126
  <table class="pbx-min-w-full">
125
127
  <thead class="pbx-bg-stone-800">
@@ -134,7 +136,7 @@ function prettifyHtml(html) {
134
136
  <tbody class="pbx-bg-stone-800 pbx-divide-y pbx-divide-gray-200">
135
137
  <tr>
136
138
  <td
137
- class="pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-text-gray-100 pbx-font-normal pbx-border-b-solid"
139
+ class="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"
138
140
  >
139
141
  {{ getElement?.outerHTML }}
140
142
  </td>
@@ -202,9 +204,11 @@ function prettifyHtml(html) {
202
204
  </div>
203
205
  <div
204
206
  v-if="getComponent"
205
- class="pbx-overflow-hidden pbx-border-solid pbx-border-gray-100 pbx-mb-6"
207
+ class="pbx-overflow-hidden pbx-border-solid pbx-border pbx-border-gray-100 pbx-mb-6"
206
208
  >
207
- <div class="pbx-bg-stone-800 pbx-pt-4 pbx-1 pbx-border-b-solid pbx-border-gray-200">
209
+ <div
210
+ class="pbx-bg-stone-800 pbx-pt-4 pbx-1 pbx-border-solid pbx-border-b pbx-border-gray-200"
211
+ >
208
212
  <div class="pbx-overflow-x-auto">
209
213
  <table class="pbx-min-w-full">
210
214
  <thead class="pbx-bg-stone-800">
@@ -232,7 +236,7 @@ function prettifyHtml(html) {
232
236
  <thead class="pbx-bg-stone-800">
233
237
  <tr>
234
238
  <th
235
- class="pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-text-gray-100 pbx-font-normal pbx-border-t-solid pbx-border-gray-200"
239
+ class="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"
236
240
  >
237
241
  Title:
238
242
  </th>
@@ -287,11 +291,11 @@ function prettifyHtml(html) {
287
291
  <div
288
292
  v-for="component in getComponents"
289
293
  :key="component.id"
290
- class="pbx-overflow-hidden pbx-border-solid pbx-border-gray-100 pbx-mb-6"
294
+ class="pbx-overflow-hidden pbx-border-solid pbx-border pbx-border-gray-100 pbx-mb-6"
291
295
  >
292
296
  <!-- Id and Title above the table, styled to look connected -->
293
297
  <div
294
- class="pbx-bg-stone-800 pbx-pt-4 pbx-1 pbx-border-b-solid pbx-border-gray-200"
298
+ class="pbx-bg-stone-800 pbx-pt-4 pbx-1 pbx-border-solid pbx-border-b pbx-border-gray-200"
295
299
  >
296
300
  <div class="pbx-overflow-x-auto">
297
301
  <table class="pbx-min-w-full">
@@ -320,7 +324,7 @@ function prettifyHtml(html) {
320
324
  <thead class="pbx-bg-stone-800">
321
325
  <tr>
322
326
  <th
323
- class="pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-text-gray-100 pbx-font-normal pbx-border-t-solid pbx-border-gray-200"
327
+ class="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
328
  >
325
329
  Title:
326
330
  </th>
@@ -52,7 +52,9 @@ const handleDownloadHTML = function () {
52
52
  <!-- Advanced Settings - start -->
53
53
  <div class="pbx-flex pbx-gap-4 pbx-flex-col pbx-divide-y pbx-divide-gray-300">
54
54
  <!-- Advanced Settings - start -->
55
- <div class="pbx-mb-4 pbx-pb-8 pbx-border-b-solid pbx-border-myPrimbryLightGrayColor">
55
+ <div
56
+ class="pbx-mb-4 pbx-pb-8 pbx-border-solid pbx-border-b pbx-border-myPrimbryLightGrayColor"
57
+ >
56
58
  <div class="pbx-flex pbx-items-left pbx-flex-col pbx-gap-1">
57
59
  <h3 class="pbx-myQuaternaryHeader">Configuration Overview</h3>
58
60
  <p class="pbx-myPrimaryParagraph pbx-text-xs">
@@ -576,7 +578,9 @@ const handleDownloadHTML = function () {
576
578
  </div>
577
579
  <!-- Advanced Settings - end -->
578
580
  <!-- Download Layout HTML - start -->
579
- <div class="pbx-mt-4 pbx-mb-4 pbx-py-8 pbx-border-b-solid pbx-border-myPrimbryLightGrayColor">
581
+ <div
582
+ class="pbx-mt-4 pbx-mb-4 pbx-py-8 pbx-border-solid pbx-border-b pbx-border-myPrimbryLightGrayColor"
583
+ >
580
584
  <div class="pbx-flex pbx-items-left pbx-flex-col pbx-gap-1">
581
585
  <h3 class="pbx-myQuaternaryHeader">Download Page as HTML</h3>
582
586
  <p class="pbx-myPrimaryParagraph pbx-text-xs">Download current page layout.</p>
@@ -590,7 +594,9 @@ const handleDownloadHTML = function () {
590
594
  <!-- Download Layout HTML - end -->
591
595
 
592
596
  <!-- Congig - start -->
593
- <div class="pbx-mt-4 pbx-mb-4 pbx-py-8 pbx-border-b-solid pbx-border-myPrimbryLightGrayColor">
597
+ <div
598
+ class="pbx-mt-4 pbx-mb-4 pbx-py-8 pbx-border-solid pbx-border-b pbx-border-myPrimbryLightGrayColor"
599
+ >
594
600
  <div class="pbx-flex pbx-items-left pbx-flex-col pbx-gap-1">
595
601
  <h3 class="pbx-myQuaternaryHeader">Complete Configuration Overview</h3>
596
602
  <p class="pbx-myPrimaryParagraph pbx-text-xs">
@@ -156,7 +156,7 @@ const openHTMLSettings = function () {
156
156
  <span> Options </span>
157
157
  </button>
158
158
  <div
159
- class="pbx-absolute pbx-left-0 -pbx-ml-16 -pbx-mt-2 pbx-flex pbx-flex-col pbx-gap-3 pbx-shadow-lg pbx-bg-white pbx-w-max pbx-border-solid pbx-border-gray-100 pbx-rounded-2xl pbx-transition-all pbx-duration-200 pbx-ease-out pbx-pt-4 pbx-pr-4 pbx-pb-4 pbx-pl-2 pbx-z-30 pbx-opacity-0 pbx-pointer-events-none pbx-translate-y-2 group-hover:pbx-opacity-100 group-hover:pbx-pointer-events-auto group-hover:pbx-translate-y-0"
159
+ class="pbx-absolute pbx-left-0 -pbx-ml-16 -pbx-mt-2 pbx-flex pbx-flex-col pbx-gap-3 pbx-shadow-lg pbx-bg-white pbx-w-max pbx-border-solid pbx-border pbx-border-gray-100 pbx-rounded-2xl pbx-transition-all pbx-duration-200 pbx-ease-out pbx-pt-4 pbx-pr-4 pbx-pb-4 pbx-pl-2 pbx-z-30 pbx-opacity-0 pbx-pointer-events-none pbx-translate-y-2 group-hover:pbx-opacity-100 group-hover:pbx-pointer-events-auto group-hover:pbx-translate-y-0"
160
160
  >
161
161
  <!-- Main Settings Start -->
162
162
  <button
@@ -219,12 +219,12 @@ onMounted(() => {
219
219
  <div v-if="pageBuilderService.isSelectedElementValidText() && editor">
220
220
  <div class="pbx-relative pbx-rounded-lg">
221
221
  <div
222
- class="pbx-flex pbx-justify-between pbx-myPrimaryGap pbx-items-center pbx-py-4 pbx-px-4 pbx-overflow-x-auto pbx-border-b-solid pbx-border-gray-200"
222
+ class="pbx-flex pbx-justify-between pbx-myPrimaryGap pbx-items-center pbx-py-4 pbx-px-4 pbx-overflow-x-auto pbx-border-solid pbx-border-b pbx-border-gray-200"
223
223
  >
224
224
  <div>
225
225
  <div>
226
226
  <div
227
- class="pbx-px-2 pbx-flex pbx-items-center pbx-justify-start pbx-gap-2 pbx-w-max pbx-p-1 pbx-rounded-full pbx-border-solid pbx-border-gray-200 pbx-shadow-sm"
227
+ class="pbx-px-2 pbx-flex pbx-items-center pbx-justify-start pbx-gap-2 pbx-w-max pbx-p-1 pbx-rounded-full pbx-border-solid pbx-border pbx-border-gray-200 pbx-shadow-sm"
228
228
  >
229
229
  <button
230
230
  @click="pageBuilderService.toggleTipTapModal(false)"
@@ -238,7 +238,7 @@ onMounted(() => {
238
238
  </div>
239
239
  </div>
240
240
  <div
241
- class="pbx-flex pbx-items-center pbx-p-1 pbx-rounded-full pbx-border-solid pbx-border-gray-200 pbx-shadow-sm"
241
+ class="pbx-flex pbx-items-center pbx-p-1 pbx-rounded-full pbx-border-solid pbx-border pbx-border-gray-200 pbx-shadow-sm"
242
242
  >
243
243
  <div class="pbx-px-2 pbx-flex pbx-items-center pbx-justify-start pbx-gap-2 pbx-w-max">
244
244
  <button
@@ -169,7 +169,7 @@ onMounted(async () => {
169
169
  <div class="pbx-mt-2">
170
170
  <div
171
171
  v-if="getUnsplashImages && getUnsplashImages.results"
172
- class="pbx-flex lg:pbx-justify-between pbx-justify-end pbx-items-center pbx-gap-2 pbx-py-2 pbx-px-2 pbx-mb-1 pbx-rounded-full pbx-border-solid pbx-border-gray-200 pbx-shadow-sm"
172
+ class="pbx-flex lg:pbx-justify-between pbx-justify-end pbx-items-center pbx-gap-2 pbx-py-2 pbx-px-2 pbx-mb-1 pbx-rounded-full pbx-border-solid pbx-border pbx-border-gray-200 pbx-shadow-sm"
173
173
  >
174
174
  <div class="lg:pbx-flex pbx-hidden pbx-justify-left pbx-items-center pbx-gap-2">
175
175
  <button
@@ -274,7 +274,7 @@ onMounted(async () => {
274
274
  <div v-if="getIsLoading">
275
275
  <div class="pbx-flex pbx-items-center pbx-justify-center pbx-mt-4">
276
276
  <div
277
- class="pbx-inline-block pbx-h-8 pbx-w-8 pbx-animate-spin pbx-rounded-full pbx-border-4 pbx-border-solid pbx-border-current pbx-border-r-transparent pbx-align-[-0.125em] motion-reduce:pbx-animate-[spin_1.5s_linear_infinite]"
277
+ class="pbx-inline-block pbx-h-8 pbx-w-8 pbx-animate-spin pbx-rounded-full pbx-border-4 pbx-border-solid pbx-border pbx-border-current pbx-border-r-transparent pbx-align-[-0.125em] motion-reduce:pbx-animate-[spin_1.5s_linear_infinite]"
278
278
  >
279
279
  <span
280
280
  class="!pbx-absolute !pbx-m-px !pbx-h-px !pbx-w-px !pbx-overflow-hidden !pbx-whitespace-nowrap !pbx-border-0 !pbx-p-0 !pbx-[clip:rect(0,0,0,0)]"
@@ -292,7 +292,7 @@ onMounted(async () => {
292
292
  v-for="image in getUnsplashImages.results"
293
293
  :key="image.id"
294
294
  @click="handleImageClick({ url: image.urls.regular, user: image.user.name })"
295
- class="pbx-border-solid pbx-border-gray-200 pbx-my-2 pbx-px-2 pbx-p-2 pbx-cursor-pointer"
295
+ class="pbx-border-solid pbx-border pbx-border-gray-200 pbx-my-2 pbx-px-2 pbx-p-2 pbx-cursor-pointer"
296
296
  >
297
297
  <img
298
298
  :alt="image.user.name"
@@ -332,7 +332,7 @@ onMounted(async () => {
332
332
  <template v-if="getIsLoadingImage">
333
333
  <div class="pbx-flex pbx-items-center pbx-justify-center pbx-mt-4">
334
334
  <div
335
- class="pbx-inline-block pbx-h-8 pbx-w-8 pbx-animate-spin pbx-rounded-full pbx-border-4 pbx-border-solid pbx-border-current pbx-border-r-transparent pbx-align-[-0.125em] motion-reduce:pbx-animate-[spin_1.5s_linear_infinite]"
335
+ class="pbx-inline-block pbx-h-8 pbx-w-8 pbx-animate-spin pbx-rounded-full pbx-border-4 pbx-border-solid pbx-border pbx-border-current pbx-border-r-transparent pbx-align-[-0.125em] motion-reduce:pbx-animate-[spin_1.5s_linear_infinite]"
336
336
  >
337
337
  <span
338
338
  class="!pbx-absolute !pbx-m-px !pbx-h-px !pbx-w-px !pbx-overflow-hidden !pbx-whitespace-nowrap !pbx-border-0 !pbx-p-0 !pbx-[clip:rect(0,0,0,0)]"
@@ -353,7 +353,7 @@ onMounted(async () => {
353
353
  Information
354
354
  </p>
355
355
  <dl
356
- class="pbx-mt-2 pbx-border-t-solid pbx-border-b-solid pbx-border-gray-200 pbx-divide-y pbx-divide-gray-200"
356
+ class="pbx-mt-2 pbx-border-solid pbx-border-t pbx-border-solid pbx-border-b pbx-border-gray-200 pbx-divide-y pbx-divide-gray-200"
357
357
  >
358
358
  <div
359
359
  class="pbx-py-3 pbx-flex pbx-justify-between pbx-text-sm pbx-font-normal pbx-items-center"
@@ -377,7 +377,7 @@ onMounted(async () => {
377
377
 
378
378
  <!-- Actions footer # start -->
379
379
  <div
380
- class="pbx-px-4 pbx-py-3 pbx-flex pbx-gap-2 pbx-border-t-solid pbx-border-gray-200 pbx-mt-4 pbx-justify-end"
380
+ class="pbx-px-4 pbx-py-3 pbx-flex pbx-gap-2 pbx-border-solid pbx-border-t pbx-border-gray-200 pbx-mt-4 pbx-justify-end"
381
381
  >
382
382
  <button
383
383
  @click="
@@ -288,7 +288,6 @@ function updatePanelPosition() {
288
288
  const selectedRect = selected.getBoundingClientRect()
289
289
  const containerRect = container.getBoundingClientRect()
290
290
 
291
- // Position editToolbar just above selected element, with a gap
292
291
  const left =
293
292
  selectedRect.left - containerRect.left + selectedRect.width / 2 - editToolbar.offsetWidth / 2
294
293
 
@@ -301,25 +300,17 @@ function updatePanelPosition() {
301
300
  editToolbar.style.position = 'absolute'
302
301
  editToolbar.style.left = `${left}px`
303
302
  editToolbar.style.top = `${top}px`
304
- editToolbar.style.opacity = '1'
305
- editToolbar.style.pointerEvents = 'auto'
306
- editToolbar.style.transform = 'translateY(0)'
303
+ editToolbar.classList.add('is-visible')
307
304
 
308
- // Store last position
309
305
  lastToolbarLeft = left
310
306
  lastToolbarTop = top
311
307
  } else if (restored && lastToolbarLeft !== null && lastToolbarTop !== null) {
312
- // Use last position for restore icon
313
308
  editToolbar.style.position = 'absolute'
314
309
  editToolbar.style.left = `${lastToolbarLeft}px`
315
310
  editToolbar.style.top = `${lastToolbarTop}px`
316
- editToolbar.style.opacity = '1'
317
- editToolbar.style.pointerEvents = 'auto'
318
- editToolbar.style.transform = 'translateY(0)'
311
+ editToolbar.classList.add('is-visible')
319
312
  } else {
320
- editToolbar.style.opacity = '0'
321
- editToolbar.style.pointerEvents = 'none'
322
- editToolbar.style.transform = 'translateY(0.5rem)'
313
+ editToolbar.classList.remove('is-visible')
323
314
  }
324
315
  }
325
316
 
@@ -363,7 +354,7 @@ onMounted(async () => {
363
354
 
364
355
  <template>
365
356
  <div
366
- class="pbx-font-sans pbx-max-w-full pbx-m-1 pbx-border-solid pbx-border-gray-400 pbx-inset-x-0 pbx-z-10 pbx-bg-white pbx-overflow-x-auto pbx-h-full"
357
+ class="pbx-font-sans pbx-max-w-full pbx-m-1 pbx-border-solid pbx-border pbx-border-gray-400 pbx-inset-x-0 pbx-z-10 pbx-bg-white pbx-overflow-x-auto pbx-h-full"
367
358
  >
368
359
  <GlobalLoader v-if="getIsLoadingGlobal & !openAppNotStartedModal"></GlobalLoader>
369
360
  <ModalBuilder
@@ -436,7 +427,7 @@ onMounted(async () => {
436
427
  <!-- Top Layout Save And Reset Area - Start -->
437
428
  <div
438
429
  id="pagebuilder-toolbar-area"
439
- class="pbx-flex pbx-items-center pbx-justify-between pbx-bg-myPrimaryLightGrayColor pbx-border-b-solid pbx-border-gray-200 pbx-mb-2 lg:pbx-px-6 pbx-px-4 pbx-font-sans"
430
+ class="pbx-flex pbx-items-center pbx-justify-between pbx-bg-myPrimaryLightGrayColor pbx-border-solid pbx-border-b pbx-border-gray-200 pbx-mb-2 lg:pbx-px-6 pbx-px-4 pbx-font-sans"
440
431
  >
441
432
  <template
442
433
  v-if="
@@ -691,16 +682,16 @@ onMounted(async () => {
691
682
 
692
683
  <main
693
684
  ref="pbxToolBar"
694
- class="pbx-flex pbx-flex-col pbx-grow pbx-rounded-tr-2xl pbx-rounded-tl-2xl pbx-border-solid pbx-border-gray-200 pbx-items-stretch pbx-h-[90vh]"
685
+ class="pbx-flex pbx-flex-col pbx-grow pbx-rounded-tr-2xl pbx-rounded-tl-2xl pbx-border-solid pbx-border pbx-border-gray-200 pbx-items-stretch pbx-h-[100vh]"
695
686
  :class="{ 'pbx-mr-2': !getMenuRight, '': getMenuRight }"
696
687
  >
697
688
  <div
698
689
  id="editToolbar"
699
690
  class="pbx-z-30 lg:pbx-mx-20 pbx-flex pbx-gap-2 pbx-justify-center pbx-min-w-48 pbx-items-center pbx-rounded-full pbx-px-4"
700
691
  style="
701
- outline: 10px solid oklch(86.9% 0.005 56.366);
702
- outline-offset: 0px;
692
+ box-shadow: 0 0 0 10px oklch(86.9% 0.005 56.366);
703
693
  background: oklch(86.9% 0.005 56.366);
694
+ border-radius: 9999px;
704
695
  "
705
696
  >
706
697
  <template v-if="getElement">
@@ -783,7 +774,7 @@ onMounted(async () => {
783
774
  </aside>
784
775
  </div>
785
776
  <div
786
- class="pbx-flex pbx-items-center pbx-justify-center pbx-border-t-solid pbx-border-gray-200 pbx-py-4"
777
+ class="pbx-flex pbx-items-center pbx-justify-center pbx-p-4 pbx-border-t pbx-border-solid pbx-border-t-gray-200 lg:pbx-mx-10"
787
778
  >
788
779
  <div
789
780
  @click="
@@ -125,28 +125,44 @@ These styles affect all HTML elements (like input, button, h1, etc.) in the cons
125
125
  justify-content: center;
126
126
  }
127
127
 
128
- /* Hide the panel by default */
129
128
  #settingsPanel {
129
+ position: absolute;
130
130
  opacity: 0;
131
131
  pointer-events: none;
132
- /* matches pbx-translate-y-2 */
133
132
  transform: translateY(1rem);
134
- transition: all 0.3s ease-out;
133
+ transition:
134
+ opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),
135
+ transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
136
+ box-shadow:
137
+ 0 8px 24px rgba(0, 0, 0, 0.08),
138
+ 0 1.5px 4px rgba(0, 0, 0, 0.06);
139
+ }
140
+
141
+ [selected]:hover #settingsPanel,
142
+ [selected]:focus-within #settingsPanel {
143
+ opacity: 1;
144
+ pointer-events: auto;
145
+ transform: translateY(0);
146
+ }
147
+
148
+ #editToolbar {
149
+ opacity: 0;
150
+ pointer-events: none;
151
+ transform: translateY(0.5rem);
152
+ transition:
153
+ left 0.3s cubic-bezier(0.4, 0, 0.2, 1),
154
+ top 0.3s cubic-bezier(0.4, 0, 0.2, 1),
155
+ opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),
156
+ transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
135
157
  }
136
158
 
137
- /* Show the panel when the parent with [selected] is hovered */
138
- [selected]:hover #settingsPanel {
159
+ #editToolbar.is-visible {
139
160
  opacity: 1;
140
161
  pointer-events: auto;
141
- /* visible position */
142
- transform: translateY(1);
162
+ transform: translateY(0);
143
163
  }
144
164
 
145
165
  #contains-pagebuilder {
146
166
  position: relative; /* make this the positioning context for absolute children */
147
167
  overflow-y: auto;
148
168
  }
149
- #settingsPanel {
150
- position: absolute;
151
- /* top and left will be set dynamically */
152
- }