@linktr.ee/linkapp 0.0.10 → 0.0.12

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 (61) hide show
  1. package/dev-server/classic/main.tsx +45 -24
  2. package/dev-server/classic.html +58 -0
  3. package/dev-server/featured/main.tsx +45 -24
  4. package/dev-server/featured.html +58 -0
  5. package/dev-server/preview/Preview.tsx +425 -14
  6. package/dist/cli.js +9 -3
  7. package/dist/cli.js.map +1 -1
  8. package/dist/commands/add.js +3 -3
  9. package/dist/commands/add.js.map +1 -1
  10. package/dist/commands/deploy.d.ts.map +1 -1
  11. package/dist/commands/deploy.js +10 -4
  12. package/dist/commands/deploy.js.map +1 -1
  13. package/dist/components/ThemeStyle.d.ts +30 -0
  14. package/dist/components/ThemeStyle.d.ts.map +1 -0
  15. package/dist/components/ThemeStyle.js +33 -0
  16. package/dist/components/ThemeStyle.js.map +1 -0
  17. package/dist/components/index.d.ts +2 -0
  18. package/dist/components/index.d.ts.map +1 -0
  19. package/dist/components/index.js +2 -0
  20. package/dist/components/index.js.map +1 -0
  21. package/dist/lib/build/detect-layouts.d.ts.map +1 -1
  22. package/dist/lib/build/detect-layouts.js +1 -4
  23. package/dist/lib/build/detect-layouts.js.map +1 -1
  24. package/dist/lib/deploy/generate-manifest-files.d.ts.map +1 -1
  25. package/dist/lib/deploy/generate-manifest-files.js +6 -0
  26. package/dist/lib/deploy/generate-manifest-files.js.map +1 -1
  27. package/dist/lib/deploy/pack-project.d.ts.map +1 -1
  28. package/dist/lib/deploy/pack-project.js +32 -5
  29. package/dist/lib/deploy/pack-project.js.map +1 -1
  30. package/dist/lib/deploy/upload.d.ts +1 -0
  31. package/dist/lib/deploy/upload.d.ts.map +1 -1
  32. package/dist/lib/deploy/upload.js +12 -2
  33. package/dist/lib/deploy/upload.js.map +1 -1
  34. package/dist/lib/deploy/validation.d.ts.map +1 -1
  35. package/dist/lib/deploy/validation.js +4 -61
  36. package/dist/lib/deploy/validation.js.map +1 -1
  37. package/dist/lib/utils/setup-runtime.d.ts.map +1 -1
  38. package/dist/lib/utils/setup-runtime.js +48 -17
  39. package/dist/lib/utils/setup-runtime.js.map +1 -1
  40. package/dist/schema/config.schema.d.ts +50 -114
  41. package/dist/schema/config.schema.d.ts.map +1 -1
  42. package/dist/schema/config.schema.js +94 -18
  43. package/dist/schema/config.schema.js.map +1 -1
  44. package/dist/sdk/index.d.ts +21 -0
  45. package/dist/sdk/index.d.ts.map +1 -0
  46. package/dist/sdk/index.js +21 -0
  47. package/dist/sdk/index.js.map +1 -0
  48. package/dist/sdk/send-message.d.ts +16 -0
  49. package/dist/sdk/send-message.d.ts.map +1 -0
  50. package/dist/sdk/send-message.js +34 -0
  51. package/dist/sdk/send-message.js.map +1 -0
  52. package/dist/sdk/use-open-popup.d.ts +23 -0
  53. package/dist/sdk/use-open-popup.d.ts.map +1 -0
  54. package/dist/sdk/use-open-popup.js +29 -0
  55. package/dist/sdk/use-open-popup.js.map +1 -0
  56. package/dist/types.d.ts +149 -31
  57. package/dist/types.d.ts.map +1 -1
  58. package/dist/types.js +37 -1
  59. package/dist/types.js.map +1 -1
  60. package/package.json +13 -4
  61. package/runtime/index.html +58 -0
@@ -27,69 +27,27 @@ declare const manifestSchema: z.ZodObject<{
27
27
  }, z.core.$strip>;
28
28
  }, z.core.$strip>;
29
29
  }, z.core.$strip>;
30
- declare const settingsElementSchema: z.ZodObject<{
31
- id: z.ZodString;
32
- inputType: z.ZodEnum<{
33
- number: "number";
34
- array: "array";
35
- url: "url";
36
- text: "text";
37
- switch: "switch";
38
- select: "select";
39
- checkbox: "checkbox";
40
- linkBehavior: "linkBehavior";
41
- textarea: "textarea";
42
- }>;
43
- title: z.ZodOptional<z.ZodString>;
44
- description: z.ZodOptional<z.ZodString>;
45
- defaultValue: z.ZodOptional<z.ZodUnknown>;
46
- label: z.ZodOptional<z.ZodString>;
47
- placeholder: z.ZodOptional<z.ZodString>;
48
- validation: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
49
- options: z.ZodOptional<z.ZodArray<z.ZodObject<{
50
- label: z.ZodString;
51
- value: z.ZodUnknown;
52
- }, z.core.$strip>>>;
53
- linkBehaviorLabels: z.ZodOptional<z.ZodObject<{
54
- embedLabel: z.ZodString;
55
- linkOffLabel: z.ZodString;
56
- }, z.core.$strip>>;
57
- }, z.core.$loose>;
30
+ declare const settingsElementSchema: z.ZodType<any>;
58
31
  declare const settingsSchema: z.ZodObject<{
59
32
  title: z.ZodString;
60
- overview: z.ZodObject<{
61
- title: z.ZodString;
33
+ icon: z.ZodOptional<z.ZodEnum<{
34
+ file: "file";
35
+ settings: "settings";
36
+ text_and_media: "text_and_media";
37
+ question: "question";
38
+ }>>;
39
+ uses_url: z.ZodOptional<z.ZodBoolean>;
40
+ settings_tab_title: z.ZodOptional<z.ZodString>;
41
+ overview: z.ZodOptional<z.ZodObject<{
42
+ title: z.ZodOptional<z.ZodString>;
62
43
  description: z.ZodString;
63
- support_link: z.ZodString;
64
- }, z.core.$strip>;
65
- elements: z.ZodArray<z.ZodObject<{
66
- id: z.ZodString;
67
- inputType: z.ZodEnum<{
68
- number: "number";
69
- array: "array";
70
- url: "url";
71
- text: "text";
72
- switch: "switch";
73
- select: "select";
74
- checkbox: "checkbox";
75
- linkBehavior: "linkBehavior";
76
- textarea: "textarea";
77
- }>;
44
+ }, z.core.$strip>>;
45
+ setup_instructions: z.ZodOptional<z.ZodObject<{
78
46
  title: z.ZodOptional<z.ZodString>;
79
- description: z.ZodOptional<z.ZodString>;
80
- defaultValue: z.ZodOptional<z.ZodUnknown>;
81
- label: z.ZodOptional<z.ZodString>;
82
- placeholder: z.ZodOptional<z.ZodString>;
83
- validation: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
84
- options: z.ZodOptional<z.ZodArray<z.ZodObject<{
85
- label: z.ZodString;
86
- value: z.ZodUnknown;
87
- }, z.core.$strip>>>;
88
- linkBehaviorLabels: z.ZodOptional<z.ZodObject<{
89
- embedLabel: z.ZodString;
90
- linkOffLabel: z.ZodString;
91
- }, z.core.$strip>>;
92
- }, z.core.$loose>>;
47
+ description: z.ZodString;
48
+ }, z.core.$strip>>;
49
+ elements: z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>;
50
+ has_settings: z.ZodOptional<z.ZodBoolean>;
93
51
  supports_featured_layout: z.ZodOptional<z.ZodBoolean>;
94
52
  }, z.core.$strip>;
95
53
  declare const urlMatchRulesSchema: z.ZodObject<{
@@ -133,39 +91,24 @@ export declare const linkAppConfigSchema: z.ZodObject<{
133
91
  }, z.core.$strip>;
134
92
  settings: z.ZodObject<{
135
93
  title: z.ZodString;
136
- overview: z.ZodObject<{
137
- title: z.ZodString;
94
+ icon: z.ZodOptional<z.ZodEnum<{
95
+ file: "file";
96
+ settings: "settings";
97
+ text_and_media: "text_and_media";
98
+ question: "question";
99
+ }>>;
100
+ uses_url: z.ZodOptional<z.ZodBoolean>;
101
+ settings_tab_title: z.ZodOptional<z.ZodString>;
102
+ overview: z.ZodOptional<z.ZodObject<{
103
+ title: z.ZodOptional<z.ZodString>;
138
104
  description: z.ZodString;
139
- support_link: z.ZodString;
140
- }, z.core.$strip>;
141
- elements: z.ZodArray<z.ZodObject<{
142
- id: z.ZodString;
143
- inputType: z.ZodEnum<{
144
- number: "number";
145
- array: "array";
146
- url: "url";
147
- text: "text";
148
- switch: "switch";
149
- select: "select";
150
- checkbox: "checkbox";
151
- linkBehavior: "linkBehavior";
152
- textarea: "textarea";
153
- }>;
105
+ }, z.core.$strip>>;
106
+ setup_instructions: z.ZodOptional<z.ZodObject<{
154
107
  title: z.ZodOptional<z.ZodString>;
155
- description: z.ZodOptional<z.ZodString>;
156
- defaultValue: z.ZodOptional<z.ZodUnknown>;
157
- label: z.ZodOptional<z.ZodString>;
158
- placeholder: z.ZodOptional<z.ZodString>;
159
- validation: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
160
- options: z.ZodOptional<z.ZodArray<z.ZodObject<{
161
- label: z.ZodString;
162
- value: z.ZodUnknown;
163
- }, z.core.$strip>>>;
164
- linkBehaviorLabels: z.ZodOptional<z.ZodObject<{
165
- embedLabel: z.ZodString;
166
- linkOffLabel: z.ZodString;
167
- }, z.core.$strip>>;
168
- }, z.core.$loose>>;
108
+ description: z.ZodString;
109
+ }, z.core.$strip>>;
110
+ elements: z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>;
111
+ has_settings: z.ZodOptional<z.ZodBoolean>;
169
112
  supports_featured_layout: z.ZodOptional<z.ZodBoolean>;
170
113
  }, z.core.$strip>;
171
114
  url_match_rules: z.ZodOptional<z.ZodObject<{
@@ -186,11 +129,13 @@ export declare const linkAppConfigSchema: z.ZodObject<{
186
129
  carousel: "carousel";
187
130
  }>>;
188
131
  theme: z.ZodObject<{
132
+ isOutlineStyle: z.ZodBoolean;
133
+ cssVariables: z.ZodRecord<z.ZodString, z.ZodString>;
189
134
  textColor: z.ZodString;
190
135
  backgroundColor: z.ZodString;
191
136
  borderRadius: z.ZodString;
192
137
  borderColor: z.ZodString;
193
- isOutlineStyle: z.ZodBoolean;
138
+ backgroundHover: z.ZodString;
194
139
  contrastColor: z.ZodString;
195
140
  textHoverColor: z.ZodString;
196
141
  }, z.core.$strip>;
@@ -251,30 +196,19 @@ export declare function safeLyValidateLinkAppConfig(config: unknown): z.ZodSafeP
251
196
  };
252
197
  settings: {
253
198
  title: string;
254
- overview: {
255
- title: string;
199
+ elements: any[];
200
+ icon?: "file" | "settings" | "text_and_media" | "question" | undefined;
201
+ uses_url?: boolean | undefined;
202
+ settings_tab_title?: string | undefined;
203
+ overview?: {
204
+ description: string;
205
+ title?: string | undefined;
206
+ } | undefined;
207
+ setup_instructions?: {
256
208
  description: string;
257
- support_link: string;
258
- };
259
- elements: {
260
- [x: string]: unknown;
261
- id: string;
262
- inputType: "number" | "array" | "url" | "text" | "switch" | "select" | "checkbox" | "linkBehavior" | "textarea";
263
209
  title?: string | undefined;
264
- description?: string | undefined;
265
- defaultValue?: unknown;
266
- label?: string | undefined;
267
- placeholder?: string | undefined;
268
- validation?: Record<string, unknown> | undefined;
269
- options?: {
270
- label: string;
271
- value: unknown;
272
- }[] | undefined;
273
- linkBehaviorLabels?: {
274
- embedLabel: string;
275
- linkOffLabel: string;
276
- } | undefined;
277
- }[];
210
+ } | undefined;
211
+ has_settings?: boolean | undefined;
278
212
  supports_featured_layout?: boolean | undefined;
279
213
  };
280
214
  url_match_rules?: {
@@ -290,11 +224,13 @@ export declare function safeLyValidateLinkAppConfig(config: unknown): z.ZodSafeP
290
224
  [x: string]: unknown;
291
225
  linkUrl: string;
292
226
  theme: {
227
+ isOutlineStyle: boolean;
228
+ cssVariables: Record<string, string>;
293
229
  textColor: string;
294
230
  backgroundColor: string;
295
231
  borderRadius: string;
296
232
  borderColor: string;
297
- isOutlineStyle: boolean;
233
+ backgroundHover: string;
298
234
  contrastColor: string;
299
235
  textHoverColor: string;
300
236
  };
@@ -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,CAAA;AA8BvB,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqBlB,CAAA;AAGF,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkBX,CAAA;AAGhB,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUlB,CAAA;AAGF,QAAA,MAAM,mBAAmB;;;;;;;;iBAgBvB,CAAA;AAsCF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAU9B,CAAA;AAGF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAC/D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAC5D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAC5D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAC/D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEnE;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa,CAEpE;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAE1D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAEtE"}
1
+ {"version":3,"file":"config.schema.d.ts","sourceRoot":"","sources":["../../src/schema/config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AA8BvB,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqBlB,CAAA;AAqFF,QAAA,MAAM,qBAAqB,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAqB/B,CAAA;AAGX,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;iBAWlB,CAAA;AAGF,QAAA,MAAM,mBAAmB;;;;;;;;iBAgBvB,CAAA;AAyCF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAU9B,CAAA;AAGF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAC/D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAC5D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAC5D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAC/D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEnE;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa,CAEpE;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAE1D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAEtE"}
@@ -45,35 +45,108 @@ const manifestSchema = z.object({
45
45
  search_terms: z.array(z.string()).min(1, 'At least one search term is required'),
46
46
  author: authorSchema,
47
47
  });
48
+ // Enums matching the backend types
49
+ const settingsIconSchema = z.enum(['file', 'settings', 'text_and_media', 'question']);
50
+ const settingsElementInputSchema = z.enum([
51
+ 'button',
52
+ 'text',
53
+ 'textarea',
54
+ 'number',
55
+ 'radio',
56
+ 'checkbox',
57
+ 'select',
58
+ 'password',
59
+ 'switch',
60
+ 'linkBehavior',
61
+ 'file',
62
+ 'url',
63
+ 'integration',
64
+ 'embedOption',
65
+ 'array',
66
+ ]);
67
+ const integrationCapabilitySchema = z.enum(['MANAGE_EMAIL_SUBSCRIBERS']);
68
+ const interactionEventSchema = z.enum(['click']);
69
+ const actionTypeSchema = z.enum(['update-link']);
70
+ // Supporting schemas
71
+ const settingsElementActionSchema = z.object({
72
+ on: interactionEventSchema,
73
+ type: actionTypeSchema,
74
+ data: z.object({
75
+ link_type: z.string(),
76
+ }),
77
+ });
78
+ const settingsElementValidationSchema = z.object({
79
+ required: z.boolean().optional(),
80
+ pattern: z.string().optional(),
81
+ minLength: z.number().optional(),
82
+ maxLength: z.number().optional(),
83
+ min: z.number().optional(),
84
+ max: z.number().optional(),
85
+ maxSize: z.number().optional(),
86
+ });
87
+ const settingsOverviewSchema = z.object({
88
+ title: z.string().optional(),
89
+ description: z.string().min(1, 'Overview description is required'),
90
+ });
91
+ const setupInstructionsSchema = z.object({
92
+ title: z.string().optional(),
93
+ description: z.string().min(1, 'Setup instructions description is required'),
94
+ });
95
+ const settingsElementOptionSchema = z.object({
96
+ value: z.string(),
97
+ label: z.string(),
98
+ });
99
+ const settingsElementLinkBehaviorLabelSchema = z.object({
100
+ linkOffLabel: z.string(),
101
+ embedLabel: z.string(),
102
+ });
103
+ const conditionalDisplaySchema = z.object({
104
+ dependsOn: z.string(),
105
+ value: z.union([z.string(), z.boolean()]),
106
+ operator: z.enum(['equals', 'notEquals', 'contains']).optional(),
107
+ });
108
+ const arrayOptionsSchema = z.object({
109
+ add_item_button_text: z.string().optional(),
110
+ add_item_title: z.string().optional(),
111
+ add_second_item_button_text: z.string().optional(),
112
+ edit_item_title: z.string().optional(),
113
+ item_format: z.string().optional(),
114
+ min: z.number().optional(),
115
+ max: z.number().optional(),
116
+ });
48
117
  // Settings Element Schema
49
118
  const settingsElementSchema = z
50
119
  .object({
51
120
  id: z.string().min(1, 'Element ID is required'),
52
- inputType: z.enum(['text', 'url', 'number', 'switch', 'select', 'checkbox', 'linkBehavior', 'textarea', 'array']),
53
- title: z.string().min(1, 'Element title is required').optional(),
121
+ inputType: settingsElementInputSchema,
122
+ title: z.string().optional(),
54
123
  description: z.string().optional(),
55
- defaultValue: z.unknown().optional(),
124
+ defaultValue: z.union([z.string(), z.array(z.string()), z.boolean()]).optional(),
56
125
  label: z.string().optional(),
57
126
  placeholder: z.string().optional(),
58
- validation: z.record(z.string(), z.unknown()).optional(),
59
- options: z.array(z.object({ label: z.string(), value: z.unknown() })).optional(),
60
- linkBehaviorLabels: z
61
- .object({
62
- embedLabel: z.string(),
63
- linkOffLabel: z.string(),
64
- })
65
- .optional(),
127
+ validation: settingsElementValidationSchema.optional(),
128
+ options: z.array(settingsElementOptionSchema).optional(),
129
+ linkBehaviorLabels: settingsElementLinkBehaviorLabelSchema.optional(),
130
+ accept: z.array(z.string()).optional(),
131
+ multiple: z.boolean().optional(),
132
+ action: settingsElementActionSchema.optional(),
133
+ capability: integrationCapabilitySchema.optional(),
134
+ vendor: z.string().optional(),
135
+ array_options: arrayOptionsSchema.optional(),
136
+ array_elements: z.lazy(() => z.array(settingsElementSchema)).optional(),
137
+ conditionalDisplay: conditionalDisplaySchema.optional(),
66
138
  })
67
- .passthrough(); // Allow additional properties like array_options, array_elements
139
+ .strict();
68
140
  // Settings Schema
69
141
  const settingsSchema = z.object({
70
142
  title: z.string().min(1, 'Settings title is required'),
71
- overview: z.object({
72
- title: z.string().min(1, 'Overview title is required'),
73
- description: z.string().min(1, 'Overview description is required'),
74
- support_link: urlSchema,
75
- }),
143
+ icon: settingsIconSchema.optional(),
144
+ uses_url: z.boolean().optional(),
145
+ settings_tab_title: z.string().optional(),
146
+ overview: settingsOverviewSchema.optional(),
147
+ setup_instructions: setupInstructionsSchema.optional(),
76
148
  elements: z.array(settingsElementSchema).min(0),
149
+ has_settings: z.boolean().optional(),
77
150
  // supports_featured_layout is auto-detected based on app/featured.tsx presence
78
151
  supports_featured_layout: z.boolean().optional(),
79
152
  });
@@ -94,11 +167,14 @@ const urlMatchRulesSchema = z.object({
94
167
  // Preview Props Schema - for development mode
95
168
  // Note: Uses camelCase to match LinktreeContext interface
96
169
  const themeSchema = z.object({
170
+ isOutlineStyle: z.boolean(),
171
+ cssVariables: z.record(z.string(), z.string()),
172
+ // Legacy properties (deprecated - maintained for backward compatibility)
97
173
  textColor: z.string(),
98
174
  backgroundColor: z.string(),
99
175
  borderRadius: z.string(),
100
176
  borderColor: z.string(),
101
- isOutlineStyle: z.boolean(),
177
+ backgroundHover: z.string(),
102
178
  contrastColor: z.string(),
103
179
  textHoverColor: z.string(),
104
180
  });
@@ -1 +1 @@
1
- {"version":3,"file":"config.schema.js","sourceRoot":"","sources":["../../src/schema/config.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.schema.js","sourceRoot":"","sources":["../../src/schema/config.schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * LinkApp SDK for iframe communication with parent Linktree window
3
+ *
4
+ * @example
5
+ * ```tsx
6
+ * import { useOpenPopup } from '@linktr.ee/linkapp/sdk'
7
+ *
8
+ * function FeaturedLayout() {
9
+ * const openPopup = useOpenPopup()
10
+ *
11
+ * return (
12
+ * <button onClick={() => openPopup({ itemId: '123' })}>
13
+ * View More
14
+ * </button>
15
+ * )
16
+ * }
17
+ * ```
18
+ */
19
+ export { useOpenPopup } from './use-open-popup.js';
20
+ export { sendMessage } from './send-message.js';
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * LinkApp SDK for iframe communication with parent Linktree window
3
+ *
4
+ * @example
5
+ * ```tsx
6
+ * import { useOpenPopup } from '@linktr.ee/linkapp/sdk'
7
+ *
8
+ * function FeaturedLayout() {
9
+ * const openPopup = useOpenPopup()
10
+ *
11
+ * return (
12
+ * <button onClick={() => openPopup({ itemId: '123' })}>
13
+ * View More
14
+ * </button>
15
+ * )
16
+ * }
17
+ * ```
18
+ */
19
+ export { useOpenPopup } from './use-open-popup.js';
20
+ export { sendMessage } from './send-message.js';
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Sends a postMessage from the LinkApp iframe to the parent window
3
+ *
4
+ * @param type - The message type (e.g., 'OPEN_POPUP')
5
+ * @param payload - The message payload
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * sendMessage('OPEN_POPUP', { data: { itemId: '123' } })
10
+ * ```
11
+ *
12
+ * Note: This only works when the LinkApp is embedded in an iframe within Linktree.
13
+ * The parent window must implement a message listener to handle these messages.
14
+ */
15
+ export declare function sendMessage(type: string, payload: unknown): void;
16
+ //# sourceMappingURL=send-message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send-message.d.ts","sourceRoot":"","sources":["../../src/sdk/send-message.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAqBhE"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Sends a postMessage from the LinkApp iframe to the parent window
3
+ *
4
+ * @param type - The message type (e.g., 'OPEN_POPUP')
5
+ * @param payload - The message payload
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * sendMessage('OPEN_POPUP', { data: { itemId: '123' } })
10
+ * ```
11
+ *
12
+ * Note: This only works when the LinkApp is embedded in an iframe within Linktree.
13
+ * The parent window must implement a message listener to handle these messages.
14
+ */
15
+ export function sendMessage(type, payload) {
16
+ // Check if running in an iframe
17
+ if (typeof window === 'undefined') {
18
+ console.warn('[LinkApp SDK] sendMessage called in non-browser environment');
19
+ return;
20
+ }
21
+ if (window === window.parent) {
22
+ console.warn('[LinkApp SDK] sendMessage called outside of iframe context');
23
+ return;
24
+ }
25
+ const message = {
26
+ source: 'linkapp',
27
+ type: type,
28
+ payload: payload,
29
+ };
30
+ // Send to parent window
31
+ // Using '*' as targetOrigin for now - parent should validate message.source
32
+ window.parent.postMessage(message, '*');
33
+ }
34
+ //# sourceMappingURL=send-message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../src/sdk/send-message.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,OAAgB;IACxD,gCAAgC;IAChC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAA;QAC3E,OAAM;IACR,CAAC;IAED,IAAI,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAA;QAC1E,OAAM;IACR,CAAC;IAED,MAAM,OAAO,GAAmB;QAC9B,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,IAA8B;QACpC,OAAO,EAAE,OAAoC;KAC9C,CAAA;IAED,wBAAwB;IACxB,4EAA4E;IAC5E,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;AACzC,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Hook to open a popup/modal in the parent Linktree window
3
+ *
4
+ * @returns A callback function to trigger the popup with optional data
5
+ *
6
+ * @example
7
+ * ```tsx
8
+ * function FeaturedLayout() {
9
+ * const openPopup = useOpenPopup()
10
+ *
11
+ * return (
12
+ * <button onClick={() => openPopup({ itemId: '123', view: 'details' })}>
13
+ * View More
14
+ * </button>
15
+ * )
16
+ * }
17
+ * ```
18
+ *
19
+ * Note: This only works when the LinkApp is embedded in Linktree.
20
+ * The parent window identifies the LinkApp from the iframe's event.source.
21
+ */
22
+ export declare function useOpenPopup(): (data?: Record<string, unknown>) => void;
23
+ //# sourceMappingURL=use-open-popup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-open-popup.d.ts","sourceRoot":"","sources":["../../src/sdk/use-open-popup.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,YAAY,YACC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UAGnD"}
@@ -0,0 +1,29 @@
1
+ import { useCallback } from 'react';
2
+ import { sendMessage } from './send-message.js';
3
+ /**
4
+ * Hook to open a popup/modal in the parent Linktree window
5
+ *
6
+ * @returns A callback function to trigger the popup with optional data
7
+ *
8
+ * @example
9
+ * ```tsx
10
+ * function FeaturedLayout() {
11
+ * const openPopup = useOpenPopup()
12
+ *
13
+ * return (
14
+ * <button onClick={() => openPopup({ itemId: '123', view: 'details' })}>
15
+ * View More
16
+ * </button>
17
+ * )
18
+ * }
19
+ * ```
20
+ *
21
+ * Note: This only works when the LinkApp is embedded in Linktree.
22
+ * The parent window identifies the LinkApp from the iframe's event.source.
23
+ */
24
+ export function useOpenPopup() {
25
+ return useCallback((data) => {
26
+ sendMessage('OPEN_POPUP', { data });
27
+ }, []);
28
+ }
29
+ //# sourceMappingURL=use-open-popup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-open-popup.js","sourceRoot":"","sources":["../../src/sdk/use-open-popup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,WAAW,CAAC,CAAC,IAA8B,EAAE,EAAE;QACpD,WAAW,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IACrC,CAAC,EAAE,EAAE,CAAC,CAAA;AACR,CAAC"}