@papu1337/builder 0.0.3 → 0.0.5
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 +1 -65
- package/dist/elements/accordion/accordionElement.svelte +101 -0
- package/dist/elements/accordion/accordionElement.svelte.d.ts +7 -0
- package/dist/elements/accordion/settings.d.ts +17 -0
- package/dist/elements/accordion/settings.js +54 -0
- package/dist/elements/badge/badgeElement.svelte +4 -3
- package/dist/elements/badge/settings.d.ts +3 -2
- package/dist/elements/badge/settings.js +20 -30
- package/dist/elements/banner/bannerElement.svelte +38 -10
- package/dist/elements/banner/settings.d.ts +5 -3
- package/dist/elements/banner/settings.js +15 -10
- package/dist/elements/button/buttonElement.svelte +7 -3
- package/dist/elements/button/settings.d.ts +1 -0
- package/dist/elements/button/settings.js +10 -6
- package/dist/elements/ctaCard/ctaCardElement.svelte +132 -0
- package/dist/elements/ctaCard/ctaCardElement.svelte.d.ts +7 -0
- package/dist/elements/ctaCard/settings.d.ts +22 -0
- package/dist/elements/ctaCard/settings.js +64 -0
- package/dist/elements/text/settings.d.ts +11 -6
- package/dist/elements/text/settings.js +48 -4
- package/dist/elements/text/textElement.svelte +7 -2
- package/dist/renderer/registry.js +8 -14
- package/dist/renderer/renderer.vanilla.es.js +1172 -1354
- package/dist/renderer/renderer.vanilla.umd.js +27 -19
- package/dist/settings/base.svelte.js +3 -5
- package/dist/settings/components/ColorSettings.svelte +6 -6
- package/dist/settings/components/ListSettings.svelte +12 -12
- package/dist/settings/components/NumberSettings.svelte +6 -6
- package/dist/settings/components/SelectSettings.svelte +6 -6
- package/dist/settings/components/SettingsGroup.svelte +3 -3
- package/dist/settings/components/TextSettings.svelte +53 -2
- package/dist/settings/components/TranslatableSettings.svelte +15 -15
- package/dist/settings/components/UploadSettings.svelte +6 -6
- package/package.json +4 -4
- package/dist/elements/auth/authElement.svelte +0 -115
- package/dist/elements/auth/authElement.svelte.d.ts +0 -7
- package/dist/elements/auth/settings.d.ts +0 -25
- package/dist/elements/auth/settings.js +0 -63
- package/dist/elements/cards/cardsElement.svelte +0 -136
- package/dist/elements/cards/cardsElement.svelte.d.ts +0 -7
- package/dist/elements/cards/settings.d.ts +0 -14
- package/dist/elements/cards/settings.js +0 -52
- package/dist/elements/divider/dividerElement.svelte +0 -34
- package/dist/elements/divider/dividerElement.svelte.d.ts +0 -7
- package/dist/elements/divider/settings.d.ts +0 -7
- package/dist/elements/divider/settings.js +0 -15
- package/dist/elements/products/productsElement.svelte +0 -283
- package/dist/elements/products/productsElement.svelte.d.ts +0 -7
- package/dist/elements/products/settings.d.ts +0 -16
- package/dist/elements/products/settings.js +0 -56
- package/dist/elements/terms/settings.d.ts +0 -11
- package/dist/elements/terms/settings.js +0 -39
- package/dist/elements/terms/termsElement.svelte +0 -124
- package/dist/elements/terms/termsElement.svelte.d.ts +0 -7
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { CtaCardSettingsMap } from './settings';
|
|
3
|
+
|
|
4
|
+
let { settings }: { settings: CtaCardSettingsMap } = $props();
|
|
5
|
+
</script>
|
|
6
|
+
|
|
7
|
+
<div
|
|
8
|
+
class="cta-wrapper"
|
|
9
|
+
style="margin-top: {settings.marginTop}px;"
|
|
10
|
+
>
|
|
11
|
+
<div
|
|
12
|
+
class="cta-outer"
|
|
13
|
+
style="
|
|
14
|
+
background-color: {settings.cardBackground};
|
|
15
|
+
border: 1px solid {settings.borderColor};
|
|
16
|
+
border-radius: {settings.borderRadius}px;
|
|
17
|
+
"
|
|
18
|
+
>
|
|
19
|
+
<a
|
|
20
|
+
href={settings.buttonLink}
|
|
21
|
+
class="cta-inner"
|
|
22
|
+
style="
|
|
23
|
+
background: {settings.innerBackground};
|
|
24
|
+
border: 0.5px solid {settings.borderColor};
|
|
25
|
+
border-radius: {settings.borderRadius}px;
|
|
26
|
+
"
|
|
27
|
+
>
|
|
28
|
+
{#if settings.backgroundImage}
|
|
29
|
+
<img
|
|
30
|
+
alt=""
|
|
31
|
+
class="cta-bg-image"
|
|
32
|
+
src={settings.backgroundImage}
|
|
33
|
+
/>
|
|
34
|
+
{/if}
|
|
35
|
+
<div class="cta-text">
|
|
36
|
+
<p class="cta-heading" style="color: {settings.headingColor};">
|
|
37
|
+
{settings.heading}
|
|
38
|
+
</p>
|
|
39
|
+
<p class="cta-description" style="color: {settings.descriptionColor};">
|
|
40
|
+
{settings.description}
|
|
41
|
+
</p>
|
|
42
|
+
</div>
|
|
43
|
+
<div
|
|
44
|
+
class="cta-button"
|
|
45
|
+
style="background: {settings.buttonBackground}; color: {settings.buttonTextColor};"
|
|
46
|
+
>
|
|
47
|
+
{settings.buttonText}
|
|
48
|
+
</div>
|
|
49
|
+
</a>
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
<style>
|
|
54
|
+
.cta-wrapper {
|
|
55
|
+
max-width: 750px;
|
|
56
|
+
width: 100%;
|
|
57
|
+
margin: 0 auto;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.cta-outer {
|
|
61
|
+
padding: 8px;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.cta-inner {
|
|
65
|
+
display: flex;
|
|
66
|
+
flex-direction: column;
|
|
67
|
+
align-items: center;
|
|
68
|
+
justify-content: space-between;
|
|
69
|
+
gap: 8px;
|
|
70
|
+
padding: 16px;
|
|
71
|
+
position: relative;
|
|
72
|
+
overflow: hidden;
|
|
73
|
+
text-decoration: none;
|
|
74
|
+
color: inherit;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
@media (min-width: 768px) {
|
|
78
|
+
.cta-inner {
|
|
79
|
+
flex-direction: row;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.cta-bg-image {
|
|
84
|
+
position: absolute;
|
|
85
|
+
left: 0;
|
|
86
|
+
top: 0;
|
|
87
|
+
width: 100%;
|
|
88
|
+
height: 100%;
|
|
89
|
+
pointer-events: none;
|
|
90
|
+
object-fit: cover;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.cta-text {
|
|
94
|
+
display: flex;
|
|
95
|
+
flex-direction: column;
|
|
96
|
+
gap: 8px;
|
|
97
|
+
position: relative;
|
|
98
|
+
z-index: 1;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.cta-heading {
|
|
102
|
+
margin: 0;
|
|
103
|
+
font-size: 1.5rem;
|
|
104
|
+
font-weight: 800;
|
|
105
|
+
line-height: 120%;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.cta-description {
|
|
109
|
+
margin: 0;
|
|
110
|
+
font-size: 0.875rem;
|
|
111
|
+
font-weight: 400;
|
|
112
|
+
line-height: 150%;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.cta-button {
|
|
116
|
+
position: relative;
|
|
117
|
+
z-index: 1;
|
|
118
|
+
padding: 16px 46px;
|
|
119
|
+
border-radius: 12px;
|
|
120
|
+
text-align: center;
|
|
121
|
+
font-weight: 700;
|
|
122
|
+
white-space: nowrap;
|
|
123
|
+
flex-shrink: 0;
|
|
124
|
+
width: 100%;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
@media (min-width: 768px) {
|
|
128
|
+
.cta-button {
|
|
129
|
+
width: auto;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
</style>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { CtaCardSettingsMap } from './settings';
|
|
2
|
+
type $$ComponentProps = {
|
|
3
|
+
settings: CtaCardSettingsMap;
|
|
4
|
+
};
|
|
5
|
+
declare const CtaCardElement: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
6
|
+
type CtaCardElement = ReturnType<typeof CtaCardElement>;
|
|
7
|
+
export default CtaCardElement;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ColorSetting, NumberSetting, TextSetting, UploadSetting, Settings, type InferSettingsMapType } from '../../settings';
|
|
2
|
+
export declare const ctaCardSettings: Settings<{
|
|
3
|
+
heading: TextSetting;
|
|
4
|
+
description: TextSetting;
|
|
5
|
+
buttonText: TextSetting;
|
|
6
|
+
buttonLink: TextSetting;
|
|
7
|
+
backgroundImage: UploadSetting;
|
|
8
|
+
style: Settings<{
|
|
9
|
+
cardBackground: ColorSetting;
|
|
10
|
+
innerBackground: ColorSetting;
|
|
11
|
+
borderColor: ColorSetting;
|
|
12
|
+
headingColor: ColorSetting;
|
|
13
|
+
descriptionColor: ColorSetting;
|
|
14
|
+
buttonBackground: ColorSetting;
|
|
15
|
+
buttonTextColor: ColorSetting;
|
|
16
|
+
}>;
|
|
17
|
+
layout: Settings<{
|
|
18
|
+
marginTop: NumberSetting;
|
|
19
|
+
borderRadius: NumberSetting;
|
|
20
|
+
}>;
|
|
21
|
+
}>;
|
|
22
|
+
export type CtaCardSettingsMap = InferSettingsMapType<typeof ctaCardSettings>;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { ColorSetting, NumberSetting, TextSetting, UploadSetting, Settings } from '../../settings';
|
|
2
|
+
export const ctaCardSettings = new Settings('CTA Card', {
|
|
3
|
+
heading: new TextSetting({
|
|
4
|
+
title: 'Heading',
|
|
5
|
+
defaultValue: 'Ready to Build Your Bet?'
|
|
6
|
+
}),
|
|
7
|
+
description: new TextSetting({
|
|
8
|
+
title: 'Description',
|
|
9
|
+
defaultValue: 'Combine multiple selections from the same match into one powerful bet.'
|
|
10
|
+
}),
|
|
11
|
+
buttonText: new TextSetting({
|
|
12
|
+
title: 'Button Text',
|
|
13
|
+
defaultValue: 'READY TO BUILD'
|
|
14
|
+
}),
|
|
15
|
+
buttonLink: new TextSetting({
|
|
16
|
+
title: 'Button Link',
|
|
17
|
+
defaultValue: '/crypto-sportsbook'
|
|
18
|
+
}),
|
|
19
|
+
backgroundImage: new UploadSetting({
|
|
20
|
+
title: 'Decorative Background',
|
|
21
|
+
defaultValue: ''
|
|
22
|
+
}),
|
|
23
|
+
style: new Settings('Style', {
|
|
24
|
+
cardBackground: new ColorSetting({
|
|
25
|
+
title: 'Card Background',
|
|
26
|
+
defaultValue: '#142636'
|
|
27
|
+
}),
|
|
28
|
+
innerBackground: new ColorSetting({
|
|
29
|
+
title: 'Inner Background',
|
|
30
|
+
defaultValue: 'rgba(177,202,223,0.05)'
|
|
31
|
+
}),
|
|
32
|
+
borderColor: new ColorSetting({
|
|
33
|
+
title: 'Border Color',
|
|
34
|
+
defaultValue: 'rgba(177,202,223,0.05)'
|
|
35
|
+
}),
|
|
36
|
+
headingColor: new ColorSetting({
|
|
37
|
+
title: 'Heading Color',
|
|
38
|
+
defaultValue: '#ffffff'
|
|
39
|
+
}),
|
|
40
|
+
descriptionColor: new ColorSetting({
|
|
41
|
+
title: 'Description Color',
|
|
42
|
+
defaultValue: 'rgba(255,255,255,0.8)'
|
|
43
|
+
}),
|
|
44
|
+
buttonBackground: new ColorSetting({
|
|
45
|
+
title: 'Button Background',
|
|
46
|
+
defaultValue: '#2EA043'
|
|
47
|
+
}),
|
|
48
|
+
buttonTextColor: new ColorSetting({
|
|
49
|
+
title: 'Button Text Color',
|
|
50
|
+
defaultValue: '#ffffff'
|
|
51
|
+
})
|
|
52
|
+
}),
|
|
53
|
+
layout: new Settings('Layout', {
|
|
54
|
+
marginTop: new NumberSetting({
|
|
55
|
+
title: 'Margin Top',
|
|
56
|
+
defaultValue: 0
|
|
57
|
+
}),
|
|
58
|
+
borderRadius: new NumberSetting({
|
|
59
|
+
title: 'Border Radius',
|
|
60
|
+
defaultValue: 8,
|
|
61
|
+
extra: { min: 0, max: 24, step: 1 }
|
|
62
|
+
})
|
|
63
|
+
})
|
|
64
|
+
});
|
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
import { TranslatableSetting, Settings, type InferSettingsMapType } from '../../settings';
|
|
1
|
+
import { ColorSetting, NumberSetting, TextSetting, SelectSetting, TranslatableSetting, Settings, type InferSettingsMapType } from '../../settings';
|
|
2
2
|
export declare const textSettings: Settings<{
|
|
3
3
|
text: TranslatableSetting;
|
|
4
|
-
|
|
5
|
-
color:
|
|
6
|
-
fontSize:
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
style: Settings<{
|
|
5
|
+
color: ColorSetting;
|
|
6
|
+
fontSize: NumberSetting;
|
|
7
|
+
fontWeight: SelectSetting;
|
|
8
|
+
lineHeight: TextSetting;
|
|
9
|
+
align: SelectSetting;
|
|
10
|
+
}>;
|
|
11
|
+
layout: Settings<{
|
|
12
|
+
marginTop: NumberSetting;
|
|
13
|
+
marginBottom: NumberSetting;
|
|
9
14
|
}>;
|
|
10
15
|
}>;
|
|
11
16
|
export type TextSettingsMap = InferSettingsMapType<typeof textSettings>;
|
|
@@ -1,12 +1,56 @@
|
|
|
1
|
-
import { TranslatableSetting, Settings
|
|
1
|
+
import { ColorSetting, NumberSetting, TextSetting, SelectSetting, TranslatableSetting, Settings } from '../../settings';
|
|
2
2
|
export const textSettings = new Settings('Text', {
|
|
3
3
|
text: new TranslatableSetting({
|
|
4
4
|
title: 'Text',
|
|
5
5
|
defaultValue: { en: 'Enter your text here' }
|
|
6
6
|
}),
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
style: new Settings('Style', {
|
|
8
|
+
color: new ColorSetting({
|
|
9
|
+
title: 'Text Color',
|
|
10
|
+
defaultValue: '#ffffff'
|
|
11
|
+
}),
|
|
12
|
+
fontSize: new NumberSetting({
|
|
13
|
+
title: 'Font Size',
|
|
14
|
+
defaultValue: 16,
|
|
15
|
+
extra: { min: 8, max: 96, step: 1 }
|
|
16
|
+
}),
|
|
17
|
+
fontWeight: new SelectSetting({
|
|
18
|
+
title: 'Font Weight',
|
|
19
|
+
defaultValue: '400',
|
|
20
|
+
extra: {
|
|
21
|
+
options: [
|
|
22
|
+
{ label: 'Normal', value: '400' },
|
|
23
|
+
{ label: 'Medium', value: '500' },
|
|
24
|
+
{ label: 'Semi Bold', value: '600' },
|
|
25
|
+
{ label: 'Bold', value: '700' },
|
|
26
|
+
{ label: 'Extra Bold', value: '800' }
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
}),
|
|
30
|
+
lineHeight: new TextSetting({
|
|
31
|
+
title: 'Line Height',
|
|
32
|
+
defaultValue: '120%'
|
|
33
|
+
}),
|
|
34
|
+
align: new SelectSetting({
|
|
35
|
+
title: 'Text Align',
|
|
36
|
+
defaultValue: 'center',
|
|
37
|
+
extra: {
|
|
38
|
+
options: [
|
|
39
|
+
{ label: 'Left', value: 'left' },
|
|
40
|
+
{ label: 'Center', value: 'center' },
|
|
41
|
+
{ label: 'Right', value: 'right' }
|
|
42
|
+
]
|
|
43
|
+
}
|
|
44
|
+
})
|
|
45
|
+
}),
|
|
46
|
+
layout: new Settings('Layout', {
|
|
47
|
+
marginTop: new NumberSetting({
|
|
48
|
+
title: 'Margin Top',
|
|
49
|
+
defaultValue: 0
|
|
50
|
+
}),
|
|
51
|
+
marginBottom: new NumberSetting({
|
|
52
|
+
title: 'Margin Bottom',
|
|
53
|
+
defaultValue: 0
|
|
10
54
|
})
|
|
11
55
|
})
|
|
12
56
|
});
|
|
@@ -4,14 +4,18 @@
|
|
|
4
4
|
let { settings }: { settings: TextSettingsMap } = $props();
|
|
5
5
|
</script>
|
|
6
6
|
|
|
7
|
-
<div
|
|
7
|
+
<div
|
|
8
|
+
class="text-wrapper"
|
|
9
|
+
style="margin-top: {settings.marginTop}px; margin-bottom: {settings.marginBottom}px;"
|
|
10
|
+
>
|
|
8
11
|
<p
|
|
9
12
|
class="text-element"
|
|
10
13
|
style="
|
|
14
|
+
color: {settings.color};
|
|
11
15
|
font-size: {settings.fontSize}px;
|
|
12
16
|
font-weight: {settings.fontWeight};
|
|
13
17
|
line-height: {settings.lineHeight};
|
|
14
|
-
|
|
18
|
+
text-align: {settings.align};
|
|
15
19
|
"
|
|
16
20
|
>
|
|
17
21
|
{settings.text}
|
|
@@ -21,6 +25,7 @@
|
|
|
21
25
|
<style>
|
|
22
26
|
.text-wrapper {
|
|
23
27
|
width: 100%;
|
|
28
|
+
max-width: 750px;
|
|
24
29
|
margin-left: auto;
|
|
25
30
|
margin-right: auto;
|
|
26
31
|
}
|
|
@@ -1,20 +1,14 @@
|
|
|
1
|
-
import TextElement from '../elements/text/textElement.svelte';
|
|
2
|
-
import ButtonElement from '../elements/button/buttonElement.svelte';
|
|
3
|
-
import AuthElement from '../elements/auth/authElement.svelte';
|
|
4
1
|
import BannerElement from '../elements/banner/bannerElement.svelte';
|
|
5
2
|
import BadgeElement from '../elements/badge/badgeElement.svelte';
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
3
|
+
import TextElement from '../elements/text/textElement.svelte';
|
|
4
|
+
import ButtonElement from '../elements/button/buttonElement.svelte';
|
|
5
|
+
import AccordionElement from '../elements/accordion/accordionElement.svelte';
|
|
6
|
+
import CtaCardElement from '../elements/ctaCard/ctaCardElement.svelte';
|
|
10
7
|
export const componentRegistry = {
|
|
11
|
-
text: TextElement,
|
|
12
|
-
button: ButtonElement,
|
|
13
|
-
auth: AuthElement,
|
|
14
8
|
banner: BannerElement,
|
|
15
9
|
badge: BadgeElement,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
10
|
+
text: TextElement,
|
|
11
|
+
button: ButtonElement,
|
|
12
|
+
accordion: AccordionElement,
|
|
13
|
+
ctaCard: CtaCardElement
|
|
20
14
|
};
|