@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.
Files changed (107) hide show
  1. package/README.md +105 -1
  2. package/dist/blox.css +720 -68
  3. package/dist/components/base/Button.vue.d.ts.map +1 -1
  4. package/dist/components/base/Container.vue.d.ts.map +1 -1
  5. package/dist/components/base/Image.vue.d.ts.map +1 -1
  6. package/dist/components/base/Spacer.vue.d.ts.map +1 -1
  7. package/dist/components/base/Text.vue.d.ts.map +1 -1
  8. package/dist/components/base/Title.vue.d.ts.map +1 -1
  9. package/dist/components/blocks/BigImage.vue.d.ts +12 -0
  10. package/dist/components/blocks/BigImage.vue.d.ts.map +1 -0
  11. package/dist/components/blocks/BigQuote.vue.d.ts +14 -0
  12. package/dist/components/blocks/BigQuote.vue.d.ts.map +1 -0
  13. package/dist/components/blocks/BlockFooter.vue.d.ts +17 -0
  14. package/dist/components/blocks/BlockFooter.vue.d.ts.map +1 -0
  15. package/dist/components/blocks/BlockNav.vue.d.ts +22 -0
  16. package/dist/components/blocks/BlockNav.vue.d.ts.map +1 -0
  17. package/dist/components/blocks/Cards.vue.d.ts +18 -0
  18. package/dist/components/blocks/Cards.vue.d.ts.map +1 -0
  19. package/dist/components/blocks/Contact.vue.d.ts +22 -0
  20. package/dist/components/blocks/Contact.vue.d.ts.map +1 -0
  21. package/dist/components/blocks/CountDown.vue.d.ts +76 -0
  22. package/dist/components/blocks/CountDown.vue.d.ts.map +1 -0
  23. package/dist/components/blocks/Cta.vue.d.ts +15 -0
  24. package/dist/components/blocks/Cta.vue.d.ts.map +1 -0
  25. package/dist/components/blocks/Faq.vue.d.ts +20 -0
  26. package/dist/components/blocks/Faq.vue.d.ts.map +1 -0
  27. package/dist/components/blocks/Grid.vue.d.ts +24 -0
  28. package/dist/components/blocks/Grid.vue.d.ts.map +1 -0
  29. package/dist/components/blocks/Icons.vue.d.ts +16 -0
  30. package/dist/components/blocks/Icons.vue.d.ts.map +1 -0
  31. package/dist/components/blocks/IconsList.vue.d.ts +22 -0
  32. package/dist/components/blocks/IconsList.vue.d.ts.map +1 -0
  33. package/dist/components/blocks/ImageCarousel.vue.d.ts +16 -0
  34. package/dist/components/blocks/ImageCarousel.vue.d.ts.map +1 -0
  35. package/dist/components/blocks/ImageLinkBoxes.vue.d.ts +14 -0
  36. package/dist/components/blocks/ImageLinkBoxes.vue.d.ts.map +1 -0
  37. package/dist/components/blocks/Logos.vue.d.ts +17 -0
  38. package/dist/components/blocks/Logos.vue.d.ts.map +1 -0
  39. package/dist/components/blocks/PopUp.vue.d.ts +23 -0
  40. package/dist/components/blocks/PopUp.vue.d.ts.map +1 -0
  41. package/dist/components/blocks/PriceTable.vue.d.ts +24 -0
  42. package/dist/components/blocks/PriceTable.vue.d.ts.map +1 -0
  43. package/dist/components/blocks/Space.vue.d.ts +25 -0
  44. package/dist/components/blocks/Space.vue.d.ts.map +1 -0
  45. package/dist/components/blocks/Tabs.vue.d.ts +15 -0
  46. package/dist/components/blocks/Tabs.vue.d.ts.map +1 -0
  47. package/dist/components/blocks/Team.vue.d.ts +19 -0
  48. package/dist/components/blocks/Team.vue.d.ts.map +1 -0
  49. package/dist/components/blocks/Testimonials.vue.d.ts +18 -0
  50. package/dist/components/blocks/Testimonials.vue.d.ts.map +1 -0
  51. package/dist/components/blocks/Text.vue.d.ts +10 -0
  52. package/dist/components/blocks/Text.vue.d.ts.map +1 -0
  53. package/dist/components/blocks/TextImage.vue.d.ts +20 -0
  54. package/dist/components/blocks/TextImage.vue.d.ts.map +1 -0
  55. package/dist/components/blocks/TextSide.vue.d.ts +19 -0
  56. package/dist/components/blocks/TextSide.vue.d.ts.map +1 -0
  57. package/dist/components/blocks/Title.vue.d.ts +16 -0
  58. package/dist/components/blocks/Title.vue.d.ts.map +1 -0
  59. package/dist/components/blocks/TitleSide.vue.d.ts +21 -0
  60. package/dist/components/blocks/TitleSide.vue.d.ts.map +1 -0
  61. package/dist/components/blocks/VideoBox.vue.d.ts +15 -0
  62. package/dist/components/blocks/VideoBox.vue.d.ts.map +1 -0
  63. package/dist/components/blocks/blocks.d.ts +27 -0
  64. package/dist/components/blocks/blocks.d.ts.map +1 -0
  65. package/dist/components/index.d.ts +4 -3
  66. package/dist/components/index.d.ts.map +1 -1
  67. package/dist/config/baseComponents.d.ts +12 -2
  68. package/dist/config/baseComponents.d.ts.map +1 -1
  69. package/dist/config/blockComponents.d.ts +41 -0
  70. package/dist/config/blockComponents.d.ts.map +1 -0
  71. package/dist/core/communication.d.ts.map +1 -1
  72. package/dist/core/registry.d.ts.map +1 -1
  73. package/dist/core/renderer.d.ts.map +1 -1
  74. package/dist/core/types.d.ts.map +1 -1
  75. package/dist/index.cjs +9420 -480
  76. package/dist/index.d.ts +4 -1
  77. package/dist/index.d.ts.map +1 -1
  78. package/dist/index.mjs +9325 -478
  79. package/dist/setup.d.ts +114 -6
  80. package/dist/setup.d.ts.map +1 -1
  81. package/dist/utils/componentPreviewGenerator.d.ts +113 -0
  82. package/dist/utils/componentPreviewGenerator.d.ts.map +1 -0
  83. package/dist/utils/normalizer.d.ts.map +1 -1
  84. package/dist/utils/styles.d.ts.map +1 -1
  85. package/dist/views/ExternalPreview.vue.d.ts.map +1 -1
  86. package/dist/views/RenderPage.vue.d.ts.map +1 -1
  87. package/package.json +5 -2
  88. package/components/base/Button.vue +0 -140
  89. package/components/base/Container.vue +0 -64
  90. package/components/base/Image.vue +0 -75
  91. package/components/base/Spacer.vue +0 -33
  92. package/components/base/Text.vue +0 -37
  93. package/components/base/Title.vue +0 -55
  94. package/components/index.ts +0 -20
  95. package/config/baseComponents.ts +0 -342
  96. package/core/communication.ts +0 -140
  97. package/core/registry.ts +0 -108
  98. package/core/renderer.ts +0 -217
  99. package/core/types.ts +0 -148
  100. package/dist/vite.config.d.ts +0 -3
  101. package/dist/vite.config.d.ts.map +0 -1
  102. package/index.ts +0 -33
  103. package/setup.ts +0 -56
  104. package/utils/normalizer.ts +0 -74
  105. package/utils/styles.ts +0 -228
  106. package/views/ExternalPreview.vue +0 -420
  107. package/views/RenderPage.vue +0 -127
package/README.md CHANGED
@@ -22,7 +22,111 @@ pnpm add @bagelink/blox
22
22
  yarn add @bagelink/blox
23
23
  ```
24
24
 
25
- ## Quick Start
25
+ # @bagelink/blox
26
+
27
+ Blox is a Vue 3 library for building drag-and-drop page builders and managing static data for web applications. It provides a complete solution for creating external preview systems and rendering dynamic page content.
28
+
29
+ ## Features
30
+
31
+ - 🎨 **Page Builder Integration** - Full support for drag-and-drop page building
32
+ - 📄 **Static Page Management** - Manage JSON-based static page data
33
+ - 🔌 **Component Registry** - Flexible component registration system
34
+ - 📡 **Communication System** - Built-in messaging for builder-preview communication
35
+ - 🎯 **Type-Safe** - Full TypeScript support
36
+ - 🖼️ **Base Components** - Pre-built components (Button, Text, Image, etc.)
37
+ - 📱 **Responsive** - Mobile and desktop support
38
+
39
+ ## Installation
40
+
41
+ ```bash
42
+ npm install @bagelink/blox vue-router
43
+ # or
44
+ pnpm add @bagelink/blox vue-router
45
+ # or
46
+ yarn add @bagelink/blox vue-router
47
+ ```
48
+
49
+ ## Quick Start (Recommended)
50
+
51
+ The simplest way to set up Blox in your Vue application:
52
+
53
+ ```typescript
54
+ // main.ts
55
+ import { createApp } from 'vue'
56
+ import { createRouter, createWebHistory } from 'vue-router'
57
+ import { createBlox, ButtonConfig, TextConfig, TitleConfig } from '@bagelink/blox'
58
+ import '@bagelink/blox/dist/blox.css'
59
+
60
+ import App from './App.vue'
61
+
62
+ const app = createApp(App)
63
+ const router = createRouter({
64
+ history: createWebHistory(),
65
+ routes: [
66
+ // Your app routes
67
+ ],
68
+ })
69
+
70
+ // Create and configure Blox
71
+ const blox = createBlox()
72
+ blox
73
+ .registerComponents([ButtonConfig, TextConfig, TitleConfig])
74
+ .registerRoutes(router)
75
+
76
+ app.use(blox)
77
+ app.use(router)
78
+ app.mount('#app')
79
+ ```
80
+
81
+ That's it! Preview routes are now available at:
82
+ - `/blox/preview/:pageId?` - External preview with editor communication
83
+ - `/blox/render/:pageId?` - Static page rendering
84
+
85
+ ### With Custom Components
86
+
87
+ ```typescript
88
+ import { createBlox, createComponentConfig, ButtonConfig } from '@bagelink/blox'
89
+ import MyHeroSection from './components/MyHeroSection.vue'
90
+
91
+ const MyHeroConfig = createComponentConfig({
92
+ id: 'MyHero',
93
+ label: 'Hero Section',
94
+ icon: 'hero_section',
95
+ component: MyHeroSection,
96
+ content: [
97
+ {
98
+ type: 'text',
99
+ key: 'title',
100
+ label: 'Hero Title',
101
+ defaultValue: 'Welcome!',
102
+ },
103
+ ],
104
+ })
105
+
106
+ const blox = createBlox()
107
+ blox
108
+ .registerComponents([ButtonConfig, MyHeroConfig])
109
+ .registerRoutes(router)
110
+
111
+ app.use(blox)
112
+ ```
113
+
114
+ ### Available Built-in Component Configs
115
+
116
+ Import these configs to register built-in components:
117
+
118
+ - `ButtonConfig` - Customizable button/link
119
+ - `TextConfig` - Rich text content
120
+ - `TitleConfig` - Heading with optional subtitle
121
+ - `ImageConfig` - Responsive image
122
+ - `SpacerConfig` - Vertical spacing
123
+ - `ContainerConfig` - Content container with max-width
124
+
125
+ For more examples, see [SETUP_EXAMPLE.md](./SETUP_EXAMPLE.md).
126
+
127
+ ---
128
+
129
+ ## Alternative Setup (Legacy)
26
130
 
27
131
  ### 1. Register Base Components
28
132