@papu1337/builder 0.0.5 → 1.0.1

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 (117) hide show
  1. package/dist/builder/BuilderView.svelte +158 -0
  2. package/dist/builder/BuilderView.svelte.d.ts +8 -0
  3. package/dist/builder/builder.vanilla.es.js +6514 -0
  4. package/dist/builder/builder.vanilla.umd.js +89 -0
  5. package/dist/builder/canvas/canvas.svelte +92 -0
  6. package/dist/builder/canvas/canvas.svelte.d.ts +17 -0
  7. package/dist/builder/canvas/styles.css +63 -0
  8. package/dist/builder/createBuilder.svelte.d.ts +9 -0
  9. package/dist/builder/createBuilder.svelte.js +17 -0
  10. package/dist/builder/index.d.ts +8 -0
  11. package/dist/builder/index.js +7 -0
  12. package/dist/builder/leftbar/leftBar.svelte +740 -0
  13. package/dist/builder/leftbar/leftBar.svelte.d.ts +8 -0
  14. package/dist/builder/leftbar/styles.css +152 -0
  15. package/dist/builder/pageMeta.svelte.d.ts +13 -0
  16. package/dist/builder/pageMeta.svelte.js +25 -0
  17. package/dist/builder/rightbar/rightBar.svelte +100 -0
  18. package/dist/builder/rightbar/rightBar.svelte.d.ts +10 -0
  19. package/dist/builder/rightbar/styles.css +167 -0
  20. package/dist/builder/topbar/TopBar.svelte +337 -0
  21. package/dist/builder/topbar/TopBar.svelte.d.ts +12 -0
  22. package/dist/builder/topbar/styles.css +123 -0
  23. package/dist/builder/viewport.svelte.d.ts +9 -0
  24. package/dist/builder/viewport.svelte.js +17 -0
  25. package/dist/elements/_shared/Arrow.svelte +58 -0
  26. package/dist/elements/_shared/Arrow.svelte.d.ts +11 -0
  27. package/dist/elements/_shared/GradientBorder.svelte +55 -0
  28. package/dist/elements/_shared/GradientBorder.svelte.d.ts +10 -0
  29. package/dist/elements/banner/bannerElement.svelte +101 -33
  30. package/dist/elements/banner/settings.d.ts +13 -3
  31. package/dist/elements/banner/settings.js +88 -8
  32. package/dist/elements/button/buttonElement.svelte +27 -21
  33. package/dist/elements/button/settings.d.ts +11 -9
  34. package/dist/elements/button/settings.js +18 -39
  35. package/dist/elements/globalSettings.js +5 -4
  36. package/dist/elements/howItWorks/howItWorksElement.svelte +221 -0
  37. package/dist/elements/howItWorks/howItWorksElement.svelte.d.ts +7 -0
  38. package/dist/elements/howItWorks/settings.d.ts +16 -0
  39. package/dist/elements/howItWorks/settings.js +70 -0
  40. package/dist/elements/steps/settings.d.ts +17 -0
  41. package/dist/elements/steps/settings.js +69 -0
  42. package/dist/elements/steps/stepsElement.svelte +220 -0
  43. package/dist/elements/steps/stepsElement.svelte.d.ts +7 -0
  44. package/dist/elements/terms/settings.d.ts +14 -0
  45. package/dist/elements/terms/settings.js +32 -0
  46. package/dist/elements/terms/termsElement.svelte +209 -0
  47. package/dist/elements/terms/termsElement.svelte.d.ts +7 -0
  48. package/dist/elements/text/settings.d.ts +8 -11
  49. package/dist/elements/text/settings.js +21 -51
  50. package/dist/elements/text/textElement.svelte +23 -23
  51. package/dist/hooks/index.d.ts +1 -0
  52. package/dist/hooks/index.js +1 -0
  53. package/dist/hooks/useTranslation.svelte.d.ts +9 -0
  54. package/dist/hooks/useTranslation.svelte.js +10 -0
  55. package/dist/index.d.ts +3 -0
  56. package/dist/index.js +3 -0
  57. package/dist/renderer/BuilderRenderer.svelte +30 -2
  58. package/dist/renderer/registry.js +6 -6
  59. package/dist/renderer/renderer.vanilla.es.js +1547 -1188
  60. package/dist/renderer/renderer.vanilla.umd.js +64 -39
  61. package/dist/renderer/resolve.d.ts +1 -1
  62. package/dist/renderer/resolve.js +28 -14
  63. package/dist/renderer/types.d.ts +2 -0
  64. package/dist/service/element.action.svelte.d.ts +21 -0
  65. package/dist/service/element.action.svelte.js +125 -0
  66. package/dist/service/element.history.svelte.d.ts +8 -0
  67. package/dist/service/element.history.svelte.js +36 -0
  68. package/dist/service/element.io.svelte.d.ts +4 -0
  69. package/dist/service/element.io.svelte.js +232 -0
  70. package/dist/service/element.reader.svelte.d.ts +4 -0
  71. package/dist/service/element.reader.svelte.js +51 -0
  72. package/dist/service/element.translate.svelte.d.ts +12 -0
  73. package/dist/service/element.translate.svelte.js +81 -0
  74. package/dist/service/index.d.ts +5 -0
  75. package/dist/service/index.js +5 -0
  76. package/dist/service/types.d.ts +13 -0
  77. package/dist/service/types.js +1 -0
  78. package/dist/settings/base.svelte.d.ts +6 -1
  79. package/dist/settings/base.svelte.js +61 -17
  80. package/dist/settings/components/ColorSettings.svelte +169 -40
  81. package/dist/settings/components/ColorSettings.svelte.d.ts +3 -2
  82. package/dist/settings/components/ListSettings.svelte +4 -5
  83. package/dist/settings/components/NumberSettings.svelte +117 -20
  84. package/dist/settings/components/RepeaterSettings.svelte +145 -0
  85. package/dist/settings/components/RepeaterSettings.svelte.d.ts +14 -0
  86. package/dist/settings/components/SegmentSettings.svelte +85 -0
  87. package/dist/settings/components/SegmentSettings.svelte.d.ts +5 -0
  88. package/dist/settings/components/SelectSettings.svelte +2 -3
  89. package/dist/settings/components/SettingsGroup.svelte +14 -69
  90. package/dist/settings/components/SettingsRenderer.svelte +76 -0
  91. package/dist/settings/components/SettingsRenderer.svelte.d.ts +8 -0
  92. package/dist/settings/components/TextSettings.svelte +2 -3
  93. package/dist/settings/components/TranslatableSettings.svelte +3 -4
  94. package/dist/settings/components/UploadSettings.svelte +2 -3
  95. package/dist/settings/groups.d.ts +23 -7
  96. package/dist/settings/groups.js +48 -24
  97. package/dist/settings/implementation.svelte.js +4 -0
  98. package/dist/settings/index.d.ts +2 -0
  99. package/dist/settings/index.js +2 -0
  100. package/dist/settings/mode.svelte.d.ts +4 -0
  101. package/dist/settings/mode.svelte.js +4 -0
  102. package/dist/settings/repeater.svelte.d.ts +26 -0
  103. package/dist/settings/repeater.svelte.js +70 -0
  104. package/dist/settings/types.d.ts +28 -2
  105. package/package.json +8 -2
  106. package/dist/elements/accordion/accordionElement.svelte +0 -101
  107. package/dist/elements/accordion/accordionElement.svelte.d.ts +0 -7
  108. package/dist/elements/accordion/settings.d.ts +0 -17
  109. package/dist/elements/accordion/settings.js +0 -54
  110. package/dist/elements/badge/badgeElement.svelte +0 -49
  111. package/dist/elements/badge/badgeElement.svelte.d.ts +0 -7
  112. package/dist/elements/badge/settings.d.ts +0 -14
  113. package/dist/elements/badge/settings.js +0 -47
  114. package/dist/elements/ctaCard/ctaCardElement.svelte +0 -132
  115. package/dist/elements/ctaCard/ctaCardElement.svelte.d.ts +0 -7
  116. package/dist/elements/ctaCard/settings.d.ts +0 -22
  117. package/dist/elements/ctaCard/settings.js +0 -64
@@ -0,0 +1,158 @@
1
+ <script lang="ts">
2
+ import LeftBar from './leftbar/leftBar.svelte';
3
+ import TopBar from './topbar/TopBar.svelte';
4
+ import Canvas from './canvas/canvas.svelte';
5
+ import RightBar from './rightbar/rightBar.svelte';
6
+ import { viewport } from './viewport.svelte';
7
+ import {
8
+ addComponent,
9
+ components,
10
+ ComponentsInstance,
11
+ getGlobalSettings,
12
+ getSelectedComponent,
13
+ selectComponent,
14
+ undo,
15
+ redo,
16
+ canUndo,
17
+ canRedo,
18
+ deleteComponent,
19
+ handleDragAndDrop,
20
+ exportState,
21
+ importState,
22
+ mode,
23
+ setTranslator
24
+ } from '../service';
25
+
26
+ export interface BuilderViewProps {
27
+ data?: unknown;
28
+ save?: (state: unknown) => void | Promise<void>;
29
+ translate?: ((text: string, targetLang: string) => Promise<string>) | null;
30
+ }
31
+
32
+ let { data, save, translate = null }: BuilderViewProps = $props();
33
+
34
+ let loaded = false;
35
+ $effect(() => {
36
+ if (loaded || data === undefined || data === null) return;
37
+ loaded = true;
38
+ try {
39
+ importState(typeof data === 'string' ? data : JSON.stringify(data));
40
+ } catch (error) {
41
+ console.error('BuilderView: failed to load data', error);
42
+ }
43
+ });
44
+
45
+ $effect(() => {
46
+ setTranslator(translate);
47
+ });
48
+
49
+ function handleSave(): void {
50
+ void save?.(JSON.parse(exportState()));
51
+ }
52
+
53
+ function handleExport(): void {
54
+ const json = exportState();
55
+ const blob = new Blob([json], { type: 'application/json' });
56
+ const url = URL.createObjectURL(blob);
57
+ const anchor = document.createElement('a');
58
+ anchor.href = url;
59
+ anchor.download = 'builder-export.json';
60
+ anchor.click();
61
+ URL.revokeObjectURL(url);
62
+ }
63
+
64
+ function handleImport(json: string): void {
65
+ try {
66
+ importState(json);
67
+ } catch (error) {
68
+ console.error('BuilderView: failed to import', error);
69
+ }
70
+ }
71
+ </script>
72
+
73
+ <div class="builder-root">
74
+ <TopBar
75
+ {undo}
76
+ {redo}
77
+ {canUndo}
78
+ {canRedo}
79
+ onExport={handleExport}
80
+ onImport={handleImport}
81
+ onSave={save ? handleSave : undefined}
82
+ />
83
+ <div class="builder-body">
84
+ {#if !viewport.preview}
85
+ <LeftBar {components} {addComponent} />
86
+ {/if}
87
+ <Canvas
88
+ {ComponentsInstance}
89
+ {selectComponent}
90
+ GlobalSettings={getGlobalSettings()}
91
+ {handleDragAndDrop}
92
+ {getSelectedComponent}
93
+ {mode}
94
+ />
95
+ {#if !viewport.preview}
96
+ <RightBar
97
+ selectedComponent={getSelectedComponent()}
98
+ GlobalSettings={getGlobalSettings()}
99
+ {deleteComponent}
100
+ />
101
+ {/if}
102
+ </div>
103
+ </div>
104
+
105
+ <style>
106
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
107
+
108
+ :global(.builder-root) {
109
+ --bg-base: #eae2d3;
110
+ --bg-surface: #ffffff;
111
+ --bg-elevated: #fbf8f3;
112
+ --bg-hover: #f5f0e6;
113
+ --btn-hover: #f5f0e6;
114
+ --border: #eae2d3;
115
+ --border-light: #f5f0e6;
116
+ --text-primary: #1f1d18;
117
+ --text-secondary: #7a7261;
118
+ --text-muted: #a89e8a;
119
+ --accent: #2e6b37;
120
+ --accent-hover: #1f4f28;
121
+ --accent-active: #1f4f28;
122
+ --accent-glow: rgba(46, 107, 55, 0.15);
123
+ --accent-subtle: #eef5ee;
124
+ --danger: #a83226;
125
+ --danger-hover: #8f2a20;
126
+ --danger-subtle: rgba(168, 50, 38, 0.1);
127
+ --success: #2e6b37;
128
+ --success-subtle: rgba(46, 107, 55, 0.1);
129
+ --sidebar-width: 288px;
130
+ --radius-sm: 6px;
131
+ --radius-md: 8px;
132
+ --radius-lg: 14px;
133
+ --transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
134
+ --font: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
135
+ --font-mono: 'JetBrains Mono', 'Fira Code', ui-monospace, monospace;
136
+ --shadow-sm: 0 1px 2px rgba(31, 29, 24, 0.06);
137
+ --shadow-md: 0 4px 12px rgba(31, 29, 24, 0.1);
138
+ --shadow-lg: 0 18px 40px rgba(31, 29, 24, 0.22);
139
+ font-family: var(--font);
140
+ color: var(--text-primary);
141
+ -webkit-font-smoothing: antialiased;
142
+ height: 100%;
143
+ display: flex;
144
+ flex-direction: column;
145
+ }
146
+
147
+ :global(.builder-root *),
148
+ :global(.builder-root *::before),
149
+ :global(.builder-root *::after) {
150
+ box-sizing: border-box;
151
+ }
152
+
153
+ .builder-body {
154
+ flex: 1;
155
+ min-height: 0;
156
+ display: flex;
157
+ }
158
+ </style>
@@ -0,0 +1,8 @@
1
+ export interface BuilderViewProps {
2
+ data?: unknown;
3
+ save?: (state: unknown) => void | Promise<void>;
4
+ translate?: ((text: string, targetLang: string) => Promise<string>) | null;
5
+ }
6
+ declare const BuilderView: import("svelte").Component<BuilderViewProps, {}, "">;
7
+ type BuilderView = ReturnType<typeof BuilderView>;
8
+ export default BuilderView;