@linktr.ee/linkapp 0.0.32 → 0.0.34
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/dist/commands/dev.js +7 -7
- package/dist/lib/deploy/generate-manifest-files.d.ts.map +1 -1
- package/dist/lib/deploy/generate-manifest-files.js +33 -19
- package/dist/lib/deploy/generate-manifest-files.js.map +1 -1
- package/dist/schema/config.schema.d.ts +8 -6
- package/dist/schema/config.schema.d.ts.map +1 -1
- package/dist/schema/config.schema.js +81 -54
- package/dist/schema/config.schema.js.map +1 -1
- package/dist/types.d.ts +2 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/runtime/index.html +58 -1
package/dist/commands/dev.js
CHANGED
|
@@ -239,15 +239,15 @@ const THEME_VARS = Object.fromEntries(
|
|
|
239
239
|
Object.entries(THEME_PRESETS).map(([key, { variables }]) => [key, variables])
|
|
240
240
|
);
|
|
241
241
|
|
|
242
|
-
// Get theme variables from URL
|
|
243
|
-
const themeVariables = getThemeFromUrl(THEME_VARS);
|
|
242
|
+
// Get theme variables from URL (defaults to 'default' theme)
|
|
243
|
+
const themeVariables = getThemeFromUrl(THEME_VARS) || THEME_PRESETS.default.variables;
|
|
244
244
|
|
|
245
245
|
// Merge with preview props
|
|
246
246
|
const previewProps = __PREVIEW_PROPS__ || {};
|
|
247
247
|
const mergedProps = mergeThemeProps(themeVariables, previewProps);
|
|
248
248
|
|
|
249
|
-
// Apply theme CSS variables on mount
|
|
250
|
-
if (
|
|
249
|
+
// Apply theme CSS variables on mount (always apply, even if default)
|
|
250
|
+
if (window.__linkapp_applyTheme) {
|
|
251
251
|
window.__linkapp_applyTheme(themeVariables);
|
|
252
252
|
}
|
|
253
253
|
|
|
@@ -318,7 +318,7 @@ const THEME_VARS = Object.fromEntries(
|
|
|
318
318
|
// Get theme variables and groupLayoutOption from URL
|
|
319
319
|
const params = new URLSearchParams(window.location.search);
|
|
320
320
|
const groupLayoutOptionParam = params.get('groupLayoutOption');
|
|
321
|
-
const themeVariables = getThemeFromUrl(THEME_VARS);
|
|
321
|
+
const themeVariables = getThemeFromUrl(THEME_VARS) || THEME_PRESETS.default.variables;
|
|
322
322
|
|
|
323
323
|
// Merge with preview props and add groupLayoutOption
|
|
324
324
|
const previewProps = __PREVIEW_PROPS__ || {};
|
|
@@ -326,8 +326,8 @@ const mergedProps = mergeThemeProps(themeVariables, previewProps, {
|
|
|
326
326
|
groupLayoutOption: groupLayoutOptionParam || undefined,
|
|
327
327
|
});
|
|
328
328
|
|
|
329
|
-
// Apply theme CSS variables on mount
|
|
330
|
-
if (
|
|
329
|
+
// Apply theme CSS variables on mount (always apply, even if default)
|
|
330
|
+
if (window.__linkapp_applyTheme) {
|
|
331
331
|
window.__linkapp_applyTheme(themeVariables);
|
|
332
332
|
}
|
|
333
333
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-manifest-files.d.ts","sourceRoot":"","sources":["../../../src/lib/deploy/generate-manifest-files.ts"],"names":[],"mappings":"AAMA,wBAAsB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"generate-manifest-files.d.ts","sourceRoot":"","sources":["../../../src/lib/deploy/generate-manifest-files.ts"],"names":[],"mappings":"AAMA,wBAAsB,qBAAqB,CACzC,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC,IAAI,CAAC,CAoGf"}
|
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { join } from
|
|
3
|
-
import { createJiti } from
|
|
4
|
-
import { detectLayouts } from
|
|
1
|
+
import { existsSync, mkdirSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { createJiti } from "jiti";
|
|
4
|
+
import { detectLayouts } from "../build/detect-layouts.js";
|
|
5
5
|
export async function generateManifestFiles(projectPath = process.cwd()) {
|
|
6
6
|
// Check for config in root first, then .config directory
|
|
7
|
-
const rootConfigPath = join(projectPath,
|
|
8
|
-
const nestedConfigPath = join(projectPath,
|
|
9
|
-
const configPath = existsSync(rootConfigPath)
|
|
7
|
+
const rootConfigPath = join(projectPath, "linkapp.config.ts");
|
|
8
|
+
const nestedConfigPath = join(projectPath, ".config", "linkapp.config.ts");
|
|
9
|
+
const configPath = existsSync(rootConfigPath)
|
|
10
|
+
? rootConfigPath
|
|
11
|
+
: nestedConfigPath;
|
|
10
12
|
if (!existsSync(configPath)) {
|
|
11
|
-
throw new Error(
|
|
13
|
+
throw new Error("Config file not found: linkapp.config.ts");
|
|
12
14
|
}
|
|
13
15
|
try {
|
|
14
16
|
// Create .linkapp directory for generated files
|
|
15
|
-
const linkappDir = join(projectPath,
|
|
17
|
+
const linkappDir = join(projectPath, ".linkapp");
|
|
16
18
|
if (!existsSync(linkappDir)) {
|
|
17
19
|
mkdirSync(linkappDir, { recursive: true });
|
|
18
20
|
}
|
|
@@ -35,10 +37,10 @@ export async function generateManifestFiles(projectPath = process.cwd()) {
|
|
|
35
37
|
search_terms: config.manifest.search_terms,
|
|
36
38
|
author: config.manifest.author,
|
|
37
39
|
};
|
|
38
|
-
writeFileSync(join(linkappDir,
|
|
40
|
+
writeFileSync(join(linkappDir, "manifest.json"), JSON.stringify(manifest, null, 2), "utf-8");
|
|
39
41
|
// Auto-detect featured layout support based on app/featured.tsx presence
|
|
40
42
|
const layoutDetection = detectLayouts(projectPath);
|
|
41
|
-
const hasFeaturedLayout = layoutDetection.layouts.some(layout => layout.name ===
|
|
43
|
+
const hasFeaturedLayout = layoutDetection.layouts.some((layout) => layout.name === "featured");
|
|
42
44
|
// Generate settings.json
|
|
43
45
|
const settings = {
|
|
44
46
|
title: config.settings.title,
|
|
@@ -47,18 +49,30 @@ export async function generateManifestFiles(projectPath = process.cwd()) {
|
|
|
47
49
|
// Auto-detected: true if app/featured.tsx exists, false otherwise
|
|
48
50
|
supports_featured_layout: hasFeaturedLayout,
|
|
49
51
|
// Include optional fields if present
|
|
50
|
-
...(config.settings.uses_url !== undefined && {
|
|
51
|
-
|
|
52
|
+
...(config.settings.uses_url !== undefined && {
|
|
53
|
+
uses_url: config.settings.uses_url,
|
|
54
|
+
}),
|
|
55
|
+
...(config.settings.has_url !== undefined && {
|
|
56
|
+
has_url: config.settings.has_url,
|
|
57
|
+
}),
|
|
52
58
|
...(config.settings.icon && { icon: config.settings.icon }),
|
|
53
|
-
...(config.settings.settings_tab_title && {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
...(config.settings.
|
|
59
|
+
...(config.settings.settings_tab_title && {
|
|
60
|
+
settings_tab_title: config.settings.settings_tab_title,
|
|
61
|
+
}),
|
|
62
|
+
...(config.settings.setup_instructions && {
|
|
63
|
+
setup_instructions: config.settings.setup_instructions,
|
|
64
|
+
}),
|
|
65
|
+
...(config.settings.has_settings !== undefined && {
|
|
66
|
+
has_settings: config.settings.has_settings,
|
|
67
|
+
}),
|
|
68
|
+
...(config.settings.featured_chin_position !== undefined && {
|
|
69
|
+
featured_chin_position: config.settings.featured_chin_position,
|
|
70
|
+
}),
|
|
57
71
|
};
|
|
58
|
-
writeFileSync(join(linkappDir,
|
|
72
|
+
writeFileSync(join(linkappDir, "settings.json"), JSON.stringify(settings, null, 2), "utf-8");
|
|
59
73
|
// Generate url_match_rules.json if present
|
|
60
74
|
if (config.url_match_rules) {
|
|
61
|
-
writeFileSync(join(linkappDir,
|
|
75
|
+
writeFileSync(join(linkappDir, "url_match_rules.json"), JSON.stringify(config.url_match_rules, null, 2), "utf-8");
|
|
62
76
|
}
|
|
63
77
|
}
|
|
64
78
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-manifest-files.js","sourceRoot":"","sources":["../../../src/lib/deploy/generate-manifest-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"generate-manifest-files.js","sourceRoot":"","sources":["../../../src/lib/deploy/generate-manifest-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { z } from
|
|
2
|
-
declare const
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
declare const featuredChinPositionSchema: z.ZodEnum<{
|
|
3
|
+
none: "none";
|
|
3
4
|
above: "above";
|
|
4
5
|
below: "below";
|
|
5
|
-
|
|
6
|
+
overlay_below: "overlay_below";
|
|
6
7
|
}>;
|
|
7
8
|
declare const themeSchema: z.ZodObject<{
|
|
8
9
|
isOutlineStyle: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -122,10 +123,11 @@ declare const linkAppConfigSchema: z.ZodObject<{
|
|
|
122
123
|
elements: z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>;
|
|
123
124
|
has_settings: z.ZodOptional<z.ZodBoolean>;
|
|
124
125
|
supports_featured_layout: z.ZodOptional<z.ZodBoolean>;
|
|
125
|
-
|
|
126
|
+
featured_chin_position: z.ZodOptional<z.ZodEnum<{
|
|
127
|
+
none: "none";
|
|
126
128
|
above: "above";
|
|
127
129
|
below: "below";
|
|
128
|
-
|
|
130
|
+
overlay_below: "overlay_below";
|
|
129
131
|
}>>;
|
|
130
132
|
}, z.core.$strip>;
|
|
131
133
|
url_match_rules: z.ZodOptional<z.ZodObject<{
|
|
@@ -191,6 +193,6 @@ export type PreviewProps = z.infer<typeof preview_props_schema>;
|
|
|
191
193
|
export type LinkAppTheme = z.infer<typeof themeSchema>;
|
|
192
194
|
export type Viewport = z.infer<typeof viewportSchema>;
|
|
193
195
|
export type Position = z.infer<typeof positionSchema>;
|
|
194
|
-
export type
|
|
196
|
+
export type FeaturedChinPosition = z.infer<typeof featuredChinPositionSchema>;
|
|
195
197
|
export {};
|
|
196
198
|
//# sourceMappingURL=config.schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.schema.d.ts","sourceRoot":"","sources":["../../src/schema/config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"config.schema.d.ts","sourceRoot":"","sources":["../../src/schema/config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqExB,QAAA,MAAM,0BAA0B;;;;;EAK9B,CAAC;AA+IH,QAAA,MAAM,WAAW;;;;;;;;;;iBAWf,CAAC;AAEH,QAAA,MAAM,cAAc;;;iBAGlB,CAAC;AAEH,QAAA,MAAM,cAAc;;;iBAGlB,CAAC;AAGH,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAkCF,CAAC;AAGzB,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKvB,CAAC;AAGH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAChE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AACvD,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
|
|
@@ -1,22 +1,24 @@
|
|
|
1
|
-
import { z } from
|
|
1
|
+
import { z } from "zod";
|
|
2
2
|
/**
|
|
3
3
|
* Zod schema for LinkApp configuration
|
|
4
4
|
* Uses snake_case naming to match API requirements
|
|
5
5
|
*/
|
|
6
6
|
const urlSchema = z.string().url();
|
|
7
7
|
const emailSchema = z.string().email();
|
|
8
|
-
const versionSchema = z
|
|
8
|
+
const versionSchema = z
|
|
9
|
+
.string()
|
|
10
|
+
.regex(/^\d+\.\d+\.\d+$/, "Must be semver format (e.g., 1.0.0)");
|
|
9
11
|
// Supporting Links Schema
|
|
10
12
|
const supporting_links_schema = z.object({
|
|
11
|
-
terms_of_service: urlSchema.describe(
|
|
12
|
-
privacy_policy: urlSchema.describe(
|
|
13
|
-
documentation: urlSchema.optional().describe(
|
|
14
|
-
website: urlSchema.optional().describe(
|
|
13
|
+
terms_of_service: urlSchema.describe("The URL of the terms of service"),
|
|
14
|
+
privacy_policy: urlSchema.describe("The URL of the privacy policy"),
|
|
15
|
+
documentation: urlSchema.optional().describe("The URL of the documentation"),
|
|
16
|
+
website: urlSchema.optional().describe("The URL of the website"),
|
|
15
17
|
});
|
|
16
18
|
// Author Schema
|
|
17
19
|
const authorSchema = z.object({
|
|
18
|
-
name: z.string().min(1,
|
|
19
|
-
accounts: z.array(z.string()).min(1,
|
|
20
|
+
name: z.string().min(1, "Author name is required"),
|
|
21
|
+
accounts: z.array(z.string()).min(1, "At least one account is required"),
|
|
20
22
|
contact: z.object({
|
|
21
23
|
url: urlSchema,
|
|
22
24
|
email: emailSchema,
|
|
@@ -26,48 +28,62 @@ const authorSchema = z.object({
|
|
|
26
28
|
const manifestSchema = z.object({
|
|
27
29
|
name: z
|
|
28
30
|
.string()
|
|
29
|
-
.min(3,
|
|
30
|
-
.max(50,
|
|
31
|
-
.describe(
|
|
31
|
+
.min(3, "Name must be at least 3 characters")
|
|
32
|
+
.max(50, "Name must be at most 50 characters")
|
|
33
|
+
.describe("The name of the link type (will be kebab-cased to generate the LinkApp ID)"),
|
|
32
34
|
tagline: z
|
|
33
35
|
.string()
|
|
34
|
-
.min(3,
|
|
35
|
-
.max(200,
|
|
36
|
-
.describe(
|
|
36
|
+
.min(3, "Tagline must be at least 3 characters")
|
|
37
|
+
.max(200, "Tagline must be at most 200 characters")
|
|
38
|
+
.describe("A short tagline for the link type"),
|
|
37
39
|
description: z
|
|
38
40
|
.array(z.string())
|
|
39
|
-
.min(1,
|
|
40
|
-
.describe(
|
|
41
|
-
manifest_version: versionSchema.describe(
|
|
42
|
-
version: versionSchema.describe(
|
|
41
|
+
.min(1, "At least one description paragraph is required")
|
|
42
|
+
.describe("Array of description paragraphs"),
|
|
43
|
+
manifest_version: versionSchema.describe("The manifest schema version"),
|
|
44
|
+
version: versionSchema.describe("The version of the linkapp"),
|
|
43
45
|
supporting_links: supporting_links_schema,
|
|
44
|
-
category: z
|
|
45
|
-
|
|
46
|
+
category: z
|
|
47
|
+
.enum(["grow", "sell", "share", "learn"])
|
|
48
|
+
.describe("The category of the link type"),
|
|
49
|
+
search_terms: z
|
|
50
|
+
.array(z.string())
|
|
51
|
+
.min(1, "At least one search term is required"),
|
|
46
52
|
author: authorSchema,
|
|
47
53
|
});
|
|
48
54
|
// Enums matching the backend types
|
|
49
|
-
const settingsIconSchema = z.enum([
|
|
50
|
-
|
|
55
|
+
const settingsIconSchema = z.enum([
|
|
56
|
+
"file",
|
|
57
|
+
"settings",
|
|
58
|
+
"text_and_media",
|
|
59
|
+
"question",
|
|
60
|
+
]);
|
|
61
|
+
const featuredChinPositionSchema = z.enum([
|
|
62
|
+
"none",
|
|
63
|
+
"above",
|
|
64
|
+
"below",
|
|
65
|
+
"overlay_below",
|
|
66
|
+
]);
|
|
51
67
|
const settingsElementInputSchema = z.enum([
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
68
|
+
"button",
|
|
69
|
+
"text",
|
|
70
|
+
"textarea",
|
|
71
|
+
"number",
|
|
72
|
+
"radio",
|
|
73
|
+
"checkbox",
|
|
74
|
+
"select",
|
|
75
|
+
"password",
|
|
76
|
+
"switch",
|
|
77
|
+
"linkBehavior",
|
|
78
|
+
"file",
|
|
79
|
+
"url",
|
|
80
|
+
"integration",
|
|
81
|
+
"embedOption",
|
|
82
|
+
"array",
|
|
67
83
|
]);
|
|
68
|
-
const integrationCapabilitySchema = z.enum([
|
|
69
|
-
const interactionEventSchema = z.enum([
|
|
70
|
-
const actionTypeSchema = z.enum([
|
|
84
|
+
const integrationCapabilitySchema = z.enum(["MANAGE_EMAIL_SUBSCRIBERS"]);
|
|
85
|
+
const interactionEventSchema = z.enum(["click"]);
|
|
86
|
+
const actionTypeSchema = z.enum(["update-link"]);
|
|
71
87
|
// Supporting schemas
|
|
72
88
|
const settingsElementActionSchema = z.object({
|
|
73
89
|
on: interactionEventSchema,
|
|
@@ -87,11 +103,11 @@ const settingsElementValidationSchema = z.object({
|
|
|
87
103
|
});
|
|
88
104
|
const settingsOverviewSchema = z.object({
|
|
89
105
|
title: z.string().optional(),
|
|
90
|
-
description: z.string().min(1,
|
|
106
|
+
description: z.string().min(1, "Overview description is required"),
|
|
91
107
|
});
|
|
92
108
|
const setupInstructionsSchema = z.object({
|
|
93
109
|
title: z.string().optional(),
|
|
94
|
-
description: z.string().min(1,
|
|
110
|
+
description: z.string().min(1, "Setup instructions description is required"),
|
|
95
111
|
});
|
|
96
112
|
const settingsElementOptionSchema = z.object({
|
|
97
113
|
value: z.string(),
|
|
@@ -104,7 +120,7 @@ const settingsElementLinkBehaviorLabelSchema = z.object({
|
|
|
104
120
|
const conditionalDisplaySchema = z.object({
|
|
105
121
|
dependsOn: z.string(),
|
|
106
122
|
value: z.union([z.string(), z.boolean()]),
|
|
107
|
-
operator: z.enum([
|
|
123
|
+
operator: z.enum(["equals", "notEquals", "contains"]).optional(),
|
|
108
124
|
});
|
|
109
125
|
const arrayOptionsSchema = z.object({
|
|
110
126
|
add_item_button_text: z.string().optional(),
|
|
@@ -118,11 +134,13 @@ const arrayOptionsSchema = z.object({
|
|
|
118
134
|
// Settings Element Schema
|
|
119
135
|
const settingsElementSchema = z
|
|
120
136
|
.object({
|
|
121
|
-
id: z.string().min(1,
|
|
137
|
+
id: z.string().min(1, "Element ID is required"),
|
|
122
138
|
inputType: settingsElementInputSchema,
|
|
123
139
|
title: z.string().optional(),
|
|
124
140
|
description: z.string().optional(),
|
|
125
|
-
defaultValue: z
|
|
141
|
+
defaultValue: z
|
|
142
|
+
.union([z.string(), z.array(z.string()), z.boolean()])
|
|
143
|
+
.optional(),
|
|
126
144
|
label: z.string().optional(),
|
|
127
145
|
placeholder: z.string().optional(),
|
|
128
146
|
validation: settingsElementValidationSchema.optional(),
|
|
@@ -140,7 +158,7 @@ const settingsElementSchema = z
|
|
|
140
158
|
.strict();
|
|
141
159
|
// Settings Schema
|
|
142
160
|
const settingsSchema = z.object({
|
|
143
|
-
title: z.string().min(1,
|
|
161
|
+
title: z.string().min(1, "Settings title is required"),
|
|
144
162
|
icon: settingsIconSchema.optional(),
|
|
145
163
|
uses_url: z.boolean().optional(),
|
|
146
164
|
has_url: z.boolean().optional(),
|
|
@@ -151,19 +169,19 @@ const settingsSchema = z.object({
|
|
|
151
169
|
has_settings: z.boolean().optional(),
|
|
152
170
|
// supports_featured_layout is auto-detected based on app/featured.tsx presence
|
|
153
171
|
supports_featured_layout: z.boolean().optional(),
|
|
154
|
-
|
|
172
|
+
featured_chin_position: featuredChinPositionSchema.optional(),
|
|
155
173
|
});
|
|
156
174
|
// URL Match Rules Schema
|
|
157
175
|
const urlMatchRulesSchema = z.object({
|
|
158
|
-
hostnames: z.array(z.string()).min(1,
|
|
176
|
+
hostnames: z.array(z.string()).min(1, "At least one hostname is required"),
|
|
159
177
|
patterns: z
|
|
160
178
|
.array(z.object({
|
|
161
|
-
pathname: z.string().min(1,
|
|
179
|
+
pathname: z.string().min(1, "Pathname pattern is required"),
|
|
162
180
|
}))
|
|
163
181
|
.optional(),
|
|
164
182
|
notPatterns: z
|
|
165
183
|
.array(z.object({
|
|
166
|
-
pathname: z.string().min(1,
|
|
184
|
+
pathname: z.string().min(1, "Pathname pattern is required"),
|
|
167
185
|
}))
|
|
168
186
|
.optional(),
|
|
169
187
|
});
|
|
@@ -195,9 +213,18 @@ const preview_props_schema = z
|
|
|
195
213
|
__linkUrl: z.string().optional(),
|
|
196
214
|
__thumbnail: z.string().optional(),
|
|
197
215
|
__linkParams: z.record(z.string(), z.unknown()).nullable().optional(),
|
|
198
|
-
__layout: z.enum([
|
|
199
|
-
groupLayoutOption: z
|
|
200
|
-
|
|
216
|
+
__layout: z.enum(["classic", "featured"]).optional(),
|
|
217
|
+
groupLayoutOption: z
|
|
218
|
+
.enum([
|
|
219
|
+
"stack",
|
|
220
|
+
"grid",
|
|
221
|
+
"featured",
|
|
222
|
+
"carousel",
|
|
223
|
+
"featuredSubscribe",
|
|
224
|
+
"showcase",
|
|
225
|
+
])
|
|
226
|
+
.optional(),
|
|
227
|
+
displayType: z.enum(["none", "accordion", "dialog"]).optional(),
|
|
201
228
|
linkTitle: z.string().optional(),
|
|
202
229
|
// Extension environment
|
|
203
230
|
__environment: z
|
|
@@ -211,7 +238,7 @@ const preview_props_schema = z
|
|
|
211
238
|
})
|
|
212
239
|
.optional(),
|
|
213
240
|
// Layout and theme
|
|
214
|
-
layout: z.enum([
|
|
241
|
+
layout: z.enum(["stack", "grid", "carousel", "featured"]).optional(),
|
|
215
242
|
theme: themeSchema.optional(),
|
|
216
243
|
})
|
|
217
244
|
.catchall(z.unknown());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.schema.js","sourceRoot":"","sources":["../../src/schema/config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"config.schema.js","sourceRoot":"","sources":["../../src/schema/config.schema.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Type definitions for LinkApp
|
|
3
3
|
* Note: Uses snake_case for API-facing types to match API requirements
|
|
4
4
|
*/
|
|
5
|
-
export type { PreviewProps, LinkAppTheme, Viewport, Position,
|
|
5
|
+
export type { PreviewProps, LinkAppTheme, Viewport, Position, FeaturedChinPosition, LinkAppConfig, } from "./schema/config.schema.js";
|
|
6
6
|
export type Environment = "production" | "qa";
|
|
7
7
|
/**
|
|
8
8
|
* Props available to layout components
|
|
@@ -121,7 +121,7 @@ export interface LinkAppSettings {
|
|
|
121
121
|
elements: SettingsElement[];
|
|
122
122
|
has_settings?: boolean;
|
|
123
123
|
supports_featured_layout?: boolean;
|
|
124
|
-
|
|
124
|
+
featured_chin_position?: "none" | "above" | "below" | "overlay_below";
|
|
125
125
|
}
|
|
126
126
|
export interface SettingsElement {
|
|
127
127
|
id: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA4CH,MAAM,CAAN,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,6BAAa,CAAA;IACb,qCAAqB,CAAA;IACrB,iDAAiC,CAAA;IACjC,qCAAqB,CAAA;AACvB,CAAC,EALW,YAAY,KAAZ,YAAY,QAKvB;AAED,MAAM,CAAN,IAAY,oBAgBX;AAhBD,WAAY,oBAAoB;IAC9B,yCAAiB,CAAA;IACjB,qCAAa,CAAA;IACb,6CAAqB,CAAA;IACrB,yCAAiB,CAAA;IACjB,uCAAe,CAAA;IACf,6CAAqB,CAAA;IACrB,yCAAiB,CAAA;IACjB,6CAAqB,CAAA;IACrB,yCAAiB,CAAA;IACjB,qDAA6B,CAAA;IAC7B,qCAAa,CAAA;IACb,mCAAW,CAAA;IACX,mDAA2B,CAAA;IAC3B,mDAA2B,CAAA;IAC3B,uCAAe,CAAA;AACjB,CAAC,EAhBW,oBAAoB,KAApB,oBAAoB,QAgB/B;AAED,MAAM,CAAN,IAAY,qBAEX;AAFD,WAAY,qBAAqB;IAC/B,8EAAqD,CAAA;AACvD,CAAC,EAFW,qBAAqB,KAArB,qBAAqB,QAEhC;AAED,MAAM,CAAN,IAAY,gBAEX;AAFD,WAAY,gBAAgB;IAC1B,mCAAe,CAAA;AACjB,CAAC,EAFW,gBAAgB,KAAhB,gBAAgB,QAE3B;AAED,MAAM,CAAN,IAAY,UAEX;AAFD,WAAY,UAAU;IACpB,yCAA6B,CAAA;AAC/B,CAAC,EAFW,UAAU,KAAV,UAAU,QAErB"}
|
package/package.json
CHANGED
package/runtime/index.html
CHANGED
|
@@ -9,7 +9,64 @@
|
|
|
9
9
|
<script crossorigin src="https://unpkg.com/iframe-resizer@4.3.2/js/iframeResizer.contentWindow.js"></script>
|
|
10
10
|
|
|
11
11
|
<!-- Linktree theme variables will be injected here -->
|
|
12
|
-
<style id="linktree-theme"
|
|
12
|
+
<style id="linktree-theme">
|
|
13
|
+
/* Default theme fallback values - will be overridden by parent window */
|
|
14
|
+
:root {
|
|
15
|
+
--button-style-text: #000000;
|
|
16
|
+
--button-style-background: #ffffff;
|
|
17
|
+
--button-style-background-hover: color-mix(in srgb, #ffffff 93%, #000000 7%);
|
|
18
|
+
--button-style-border: none;
|
|
19
|
+
--button-style-border-color: transparent;
|
|
20
|
+
--button-style-shadow: none;
|
|
21
|
+
--button-style-shadow-color: #000000;
|
|
22
|
+
--button-style-contrast-color: #000000;
|
|
23
|
+
--button-style-radius: 8px;
|
|
24
|
+
--button-style-inner-radius: min(8px, max(4px, calc(8px - 8px)));
|
|
25
|
+
--button-style-skeleton-color: rgba(0, 0, 0, 0.05);
|
|
26
|
+
--link-gap: 14px;
|
|
27
|
+
--link-inner-padding: 7px;
|
|
28
|
+
--link-preview-thumbnail-width: 160px;
|
|
29
|
+
--linkRadius: 8px;
|
|
30
|
+
--profile-container-desktop-width: 580px;
|
|
31
|
+
--profileBackground: #eceef1;
|
|
32
|
+
--background-contrast-color: #000000;
|
|
33
|
+
--bodyText: #000000;
|
|
34
|
+
--profileTitleText: #000000;
|
|
35
|
+
--profileDescriptionText: #000000;
|
|
36
|
+
--defaultAvatarBackground: #000000;
|
|
37
|
+
--defaultAvatarText: #ffffff;
|
|
38
|
+
--socialLinkFill: #000000;
|
|
39
|
+
--linkBackground: #ffffff;
|
|
40
|
+
--linkText: #000000;
|
|
41
|
+
--linkHoverBackground: color-mix(in srgb, #ffffff 93%, #000000 7%);
|
|
42
|
+
--linkHoverText: #000000;
|
|
43
|
+
--linkShadow: #000000;
|
|
44
|
+
--bannerBackground: #ffffff;
|
|
45
|
+
--bannerText: #000000;
|
|
46
|
+
--desktop-frame-color: color-mix(in srgb, #eceef1 88%, black 12%);
|
|
47
|
+
--profileFontFamilyPrimary: Link Sans Product, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
48
|
+
--profileFontFamilySecondary: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
49
|
+
--header-font-family: Link Sans Product, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
50
|
+
--profileFontWeightNormal: 500;
|
|
51
|
+
--profileFontWeightBold: 700;
|
|
52
|
+
--profileDescriptionFontWeight: 500;
|
|
53
|
+
--linkTextFontWeight: 500;
|
|
54
|
+
--headerFontWeight: 700;
|
|
55
|
+
--header-font-weight: 600;
|
|
56
|
+
--embedLinkTextFontWeight: 500;
|
|
57
|
+
--signupSubmitTextFontWeight: 700;
|
|
58
|
+
--bannerFontWeight: 700;
|
|
59
|
+
--headerFontSize: normal;
|
|
60
|
+
--header-bio-font-size: 16px;
|
|
61
|
+
--embedLinkTextFontSize: 14px;
|
|
62
|
+
--signupSubmitTextFontSize: 14px;
|
|
63
|
+
--linkHeaderFontSize: 14px;
|
|
64
|
+
--bannerFontSize: 14px;
|
|
65
|
+
--profileDescriptionLineHeight: 1.5;
|
|
66
|
+
--headerLineHeight: 1.5;
|
|
67
|
+
--header-text-color: #000000;
|
|
68
|
+
}
|
|
69
|
+
</style>
|
|
13
70
|
|
|
14
71
|
<script>
|
|
15
72
|
/**
|