@bagelink/blox 1.5.15 → 1.5.20
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/README.md +105 -1
- package/dist/blox.css +720 -68
- package/dist/components/base/Button.vue.d.ts.map +1 -1
- package/dist/components/base/Container.vue.d.ts.map +1 -1
- package/dist/components/base/Image.vue.d.ts.map +1 -1
- package/dist/components/base/Spacer.vue.d.ts.map +1 -1
- package/dist/components/base/Text.vue.d.ts.map +1 -1
- package/dist/components/base/Title.vue.d.ts.map +1 -1
- package/dist/components/blocks/BigImage.vue.d.ts +12 -0
- package/dist/components/blocks/BigImage.vue.d.ts.map +1 -0
- package/dist/components/blocks/BigQuote.vue.d.ts +14 -0
- package/dist/components/blocks/BigQuote.vue.d.ts.map +1 -0
- package/dist/components/blocks/BlockFooter.vue.d.ts +17 -0
- package/dist/components/blocks/BlockFooter.vue.d.ts.map +1 -0
- package/dist/components/blocks/BlockNav.vue.d.ts +22 -0
- package/dist/components/blocks/BlockNav.vue.d.ts.map +1 -0
- package/dist/components/blocks/Cards.vue.d.ts +18 -0
- package/dist/components/blocks/Cards.vue.d.ts.map +1 -0
- package/dist/components/blocks/Contact.vue.d.ts +22 -0
- package/dist/components/blocks/Contact.vue.d.ts.map +1 -0
- package/dist/components/blocks/CountDown.vue.d.ts +76 -0
- package/dist/components/blocks/CountDown.vue.d.ts.map +1 -0
- package/dist/components/blocks/Cta.vue.d.ts +15 -0
- package/dist/components/blocks/Cta.vue.d.ts.map +1 -0
- package/dist/components/blocks/Faq.vue.d.ts +20 -0
- package/dist/components/blocks/Faq.vue.d.ts.map +1 -0
- package/dist/components/blocks/Grid.vue.d.ts +24 -0
- package/dist/components/blocks/Grid.vue.d.ts.map +1 -0
- package/dist/components/blocks/Icons.vue.d.ts +16 -0
- package/dist/components/blocks/Icons.vue.d.ts.map +1 -0
- package/dist/components/blocks/IconsList.vue.d.ts +22 -0
- package/dist/components/blocks/IconsList.vue.d.ts.map +1 -0
- package/dist/components/blocks/ImageCarousel.vue.d.ts +16 -0
- package/dist/components/blocks/ImageCarousel.vue.d.ts.map +1 -0
- package/dist/components/blocks/ImageLinkBoxes.vue.d.ts +14 -0
- package/dist/components/blocks/ImageLinkBoxes.vue.d.ts.map +1 -0
- package/dist/components/blocks/Logos.vue.d.ts +17 -0
- package/dist/components/blocks/Logos.vue.d.ts.map +1 -0
- package/dist/components/blocks/PopUp.vue.d.ts +23 -0
- package/dist/components/blocks/PopUp.vue.d.ts.map +1 -0
- package/dist/components/blocks/PriceTable.vue.d.ts +24 -0
- package/dist/components/blocks/PriceTable.vue.d.ts.map +1 -0
- package/dist/components/blocks/Space.vue.d.ts +25 -0
- package/dist/components/blocks/Space.vue.d.ts.map +1 -0
- package/dist/components/blocks/Tabs.vue.d.ts +15 -0
- package/dist/components/blocks/Tabs.vue.d.ts.map +1 -0
- package/dist/components/blocks/Team.vue.d.ts +19 -0
- package/dist/components/blocks/Team.vue.d.ts.map +1 -0
- package/dist/components/blocks/Testimonials.vue.d.ts +18 -0
- package/dist/components/blocks/Testimonials.vue.d.ts.map +1 -0
- package/dist/components/blocks/Text.vue.d.ts +10 -0
- package/dist/components/blocks/Text.vue.d.ts.map +1 -0
- package/dist/components/blocks/TextImage.vue.d.ts +20 -0
- package/dist/components/blocks/TextImage.vue.d.ts.map +1 -0
- package/dist/components/blocks/TextSide.vue.d.ts +19 -0
- package/dist/components/blocks/TextSide.vue.d.ts.map +1 -0
- package/dist/components/blocks/Title.vue.d.ts +16 -0
- package/dist/components/blocks/Title.vue.d.ts.map +1 -0
- package/dist/components/blocks/TitleSide.vue.d.ts +21 -0
- package/dist/components/blocks/TitleSide.vue.d.ts.map +1 -0
- package/dist/components/blocks/VideoBox.vue.d.ts +15 -0
- package/dist/components/blocks/VideoBox.vue.d.ts.map +1 -0
- package/dist/components/blocks/blocks.d.ts +27 -0
- package/dist/components/blocks/blocks.d.ts.map +1 -0
- package/dist/components/index.d.ts +4 -3
- package/dist/components/index.d.ts.map +1 -1
- package/dist/config/baseComponents.d.ts +12 -2
- package/dist/config/baseComponents.d.ts.map +1 -1
- package/dist/config/blockComponents.d.ts +41 -0
- package/dist/config/blockComponents.d.ts.map +1 -0
- package/dist/core/communication.d.ts.map +1 -1
- package/dist/core/registry.d.ts.map +1 -1
- package/dist/core/renderer.d.ts.map +1 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/index.cjs +9420 -480
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +9325 -478
- package/dist/setup.d.ts +114 -6
- package/dist/setup.d.ts.map +1 -1
- package/dist/utils/componentPreviewGenerator.d.ts +113 -0
- package/dist/utils/componentPreviewGenerator.d.ts.map +1 -0
- package/dist/utils/normalizer.d.ts.map +1 -1
- package/dist/utils/styles.d.ts.map +1 -1
- package/dist/views/ExternalPreview.vue.d.ts.map +1 -1
- package/dist/views/RenderPage.vue.d.ts.map +1 -1
- package/package.json +5 -2
- package/components/base/Button.vue +0 -140
- package/components/base/Container.vue +0 -64
- package/components/base/Image.vue +0 -75
- package/components/base/Spacer.vue +0 -33
- package/components/base/Text.vue +0 -37
- package/components/base/Title.vue +0 -55
- package/components/index.ts +0 -20
- package/config/baseComponents.ts +0 -342
- package/core/communication.ts +0 -140
- package/core/registry.ts +0 -108
- package/core/renderer.ts +0 -217
- package/core/types.ts +0 -148
- package/dist/vite.config.d.ts +0 -3
- package/dist/vite.config.d.ts.map +0 -1
- package/index.ts +0 -33
- package/setup.ts +0 -56
- package/utils/normalizer.ts +0 -74
- package/utils/styles.ts +0 -228
- package/views/ExternalPreview.vue +0 -420
- package/views/RenderPage.vue +0 -127
package/views/RenderPage.vue
DELETED
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
/**
|
|
3
|
-
* Render Page View
|
|
4
|
-
*
|
|
5
|
-
* This component renders a published page without editor functionality.
|
|
6
|
-
* Use this for production rendering on external sites.
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import type { PageData } from '../core/types'
|
|
10
|
-
import { ref, onMounted, computed } from 'vue'
|
|
11
|
-
import { getAllComponents } from '../core/registry'
|
|
12
|
-
import { initializePage } from '../core/renderer'
|
|
13
|
-
import { normalizeComponentData } from '../utils/normalizer'
|
|
14
|
-
import { generateBlockStyles, getResponsiveClasses } from '../utils/styles'
|
|
15
|
-
|
|
16
|
-
interface Props {
|
|
17
|
-
pageData: PageData
|
|
18
|
-
mobileBreakpoint?: number // Window width to consider mobile (default: 910px)
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
const props = withDefaults(defineProps<Props>(), {
|
|
22
|
-
mobileBreakpoint: 910,
|
|
23
|
-
})
|
|
24
|
-
|
|
25
|
-
// State
|
|
26
|
-
const isMobile = ref(false)
|
|
27
|
-
const loading = ref(true)
|
|
28
|
-
const updateCounter = ref(0)
|
|
29
|
-
|
|
30
|
-
// Get registered components
|
|
31
|
-
const registeredComponents = getAllComponents()
|
|
32
|
-
|
|
33
|
-
// Reactive computed for block styles
|
|
34
|
-
const getBlockStyles = computed(() => {
|
|
35
|
-
// eslint-disable-next-line no-unused-vars
|
|
36
|
-
const _ = updateCounter.value
|
|
37
|
-
return (data: Record<string, any>, mobile: boolean = false) => generateBlockStyles(data, mobile)
|
|
38
|
-
})
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Update mobile status based on window width
|
|
42
|
-
*/
|
|
43
|
-
function updateMobileStatus() {
|
|
44
|
-
const wasMobile = isMobile.value
|
|
45
|
-
isMobile.value = window.innerWidth <= props.mobileBreakpoint
|
|
46
|
-
|
|
47
|
-
if (wasMobile !== isMobile.value) {
|
|
48
|
-
updateCounter.value++
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
onMounted(async () => {
|
|
53
|
-
console.log('🚀 Render Page mounted')
|
|
54
|
-
console.log('📦 Registered components:', Object.keys(registeredComponents))
|
|
55
|
-
|
|
56
|
-
// Initialize page with settings and fonts
|
|
57
|
-
await initializePage(props.pageData)
|
|
58
|
-
|
|
59
|
-
// Set mobile status
|
|
60
|
-
updateMobileStatus()
|
|
61
|
-
|
|
62
|
-
// Listen for window resize
|
|
63
|
-
window.addEventListener('resize', updateMobileStatus)
|
|
64
|
-
|
|
65
|
-
loading.value = false
|
|
66
|
-
})
|
|
67
|
-
</script>
|
|
68
|
-
|
|
69
|
-
<template>
|
|
70
|
-
<div class="blox-page-wrapper">
|
|
71
|
-
<div v-if="loading" class="blox-loading">
|
|
72
|
-
<p>Loading...</p>
|
|
73
|
-
</div>
|
|
74
|
-
|
|
75
|
-
<template v-else>
|
|
76
|
-
<template v-for="comp in pageData.components" :key="`${comp.id}-${updateCounter}`">
|
|
77
|
-
<div
|
|
78
|
-
:id="comp.data.customId" :style="getBlockStyles(comp.data, isMobile)"
|
|
79
|
-
:class="getResponsiveClasses(comp.data)"
|
|
80
|
-
>
|
|
81
|
-
<component
|
|
82
|
-
:is="registeredComponents[comp.type]" v-if="registeredComponents[comp.type]"
|
|
83
|
-
v-bind="{ ...normalizeComponentData(comp.data), isMobile }"
|
|
84
|
-
/>
|
|
85
|
-
<div v-else class="blox-missing-component">
|
|
86
|
-
Component not found: {{ comp.type }}
|
|
87
|
-
</div>
|
|
88
|
-
</div>
|
|
89
|
-
</template>
|
|
90
|
-
</template>
|
|
91
|
-
</div>
|
|
92
|
-
</template>
|
|
93
|
-
|
|
94
|
-
<style>
|
|
95
|
-
/* Global styles for the Blox page */
|
|
96
|
-
.blox-page-wrapper {
|
|
97
|
-
min-height: 100vh;
|
|
98
|
-
background-color: #fff;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
.blox-page-wrapper * {
|
|
102
|
-
box-sizing: border-box;
|
|
103
|
-
}
|
|
104
|
-
</style>
|
|
105
|
-
|
|
106
|
-
<style scoped>
|
|
107
|
-
/* Loading state */
|
|
108
|
-
.blox-loading {
|
|
109
|
-
display: flex;
|
|
110
|
-
align-items: center;
|
|
111
|
-
justify-content: center;
|
|
112
|
-
min-height: 100vh;
|
|
113
|
-
font-size: 1.2rem;
|
|
114
|
-
color: #666;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
/* Missing component warning */
|
|
118
|
-
.blox-missing-component {
|
|
119
|
-
padding: 2rem;
|
|
120
|
-
background: #fee;
|
|
121
|
-
border: 2px solid #faa;
|
|
122
|
-
border-radius: 8px;
|
|
123
|
-
text-align: center;
|
|
124
|
-
font-size: 1rem;
|
|
125
|
-
color: #c00;
|
|
126
|
-
}
|
|
127
|
-
</style>
|