@linktr.ee/linkapp 0.0.21 → 0.0.23

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 (115) hide show
  1. package/dev-server/README.md +5 -5
  2. package/dev-server/components/SettingsPreview.tsx +330 -0
  3. package/dev-server/components/ui/dialog.tsx +6 -3
  4. package/dev-server/env.d.ts +8 -0
  5. package/dev-server/featured/main.tsx +48 -43
  6. package/dev-server/featured.html +21 -35
  7. package/dev-server/index.html +8 -1
  8. package/dev-server/lib/utils.ts +6 -0
  9. package/dev-server/package-lock.json +245 -287
  10. package/dev-server/package.json +7 -4
  11. package/dev-server/postcss/tailwind-source-fallback.js +94 -0
  12. package/dev-server/postcss.config.mjs +30 -0
  13. package/dev-server/preview/Preview.tsx +182 -381
  14. package/dev-server/preview/preview.css +22 -34
  15. package/dev-server/public/apple-touch-icon.png +0 -0
  16. package/dev-server/public/favicon-96x96.png +0 -0
  17. package/dev-server/public/favicon.ico +0 -0
  18. package/dev-server/public/favicon.svg +6 -0
  19. package/dev-server/public/site.webmanifest +21 -0
  20. package/dev-server/public/web-app-manifest-192x192.png +0 -0
  21. package/dev-server/public/web-app-manifest-512x512.png +0 -0
  22. package/dev-server/rsbuild.config.ts +45 -0
  23. package/dev-server/shared/theme-presets.ts +315 -0
  24. package/dev-server/shared/theme-utils.ts +38 -0
  25. package/dev-server/sheet/main.tsx +44 -0
  26. package/dev-server/sheet.html +56 -0
  27. package/dist/commands/add.d.ts.map +1 -1
  28. package/dist/commands/add.js +20 -12
  29. package/dist/commands/add.js.map +1 -1
  30. package/dist/commands/build.d.ts.map +1 -1
  31. package/dist/commands/build.js +55 -36
  32. package/dist/commands/build.js.map +1 -1
  33. package/dist/commands/deploy.d.ts.map +1 -1
  34. package/dist/commands/deploy.js +74 -59
  35. package/dist/commands/deploy.js.map +1 -1
  36. package/dist/commands/dev.d.ts.map +1 -1
  37. package/dist/commands/dev.js +564 -43
  38. package/dist/commands/dev.js.map +1 -1
  39. package/dist/commands/login.d.ts.map +1 -1
  40. package/dist/commands/login.js +19 -9
  41. package/dist/commands/login.js.map +1 -1
  42. package/dist/commands/logout.d.ts.map +1 -1
  43. package/dist/commands/logout.js +9 -4
  44. package/dist/commands/logout.js.map +1 -1
  45. package/dist/commands/test-url-match-rules.d.ts.map +1 -1
  46. package/dist/commands/test-url-match-rules.js +24 -13
  47. package/dist/commands/test-url-match-rules.js.map +1 -1
  48. package/dist/components/index.d.ts +0 -1
  49. package/dist/components/index.d.ts.map +1 -1
  50. package/dist/components/index.js +2 -1
  51. package/dist/components/index.js.map +1 -1
  52. package/dist/lib/auth/device-flow.d.ts +1 -6
  53. package/dist/lib/auth/device-flow.d.ts.map +1 -1
  54. package/dist/lib/auth/device-flow.js +3 -9
  55. package/dist/lib/auth/device-flow.js.map +1 -1
  56. package/dist/lib/auth/token-storage.d.ts +0 -5
  57. package/dist/lib/auth/token-storage.d.ts.map +1 -1
  58. package/dist/lib/auth/token-storage.js +16 -14
  59. package/dist/lib/auth/token-storage.js.map +1 -1
  60. package/dist/lib/build/detect-layouts.d.ts +1 -1
  61. package/dist/lib/build/detect-layouts.d.ts.map +1 -1
  62. package/dist/lib/build/detect-layouts.js +8 -7
  63. package/dist/lib/build/detect-layouts.js.map +1 -1
  64. package/dist/lib/deploy/generate-manifest-files.js +1 -1
  65. package/dist/lib/deploy/generate-manifest-files.js.map +1 -1
  66. package/dist/lib/deploy/pack-project.js +2 -2
  67. package/dist/lib/deploy/pack-project.js.map +1 -1
  68. package/dist/lib/deploy/test-url-match-rules.d.ts +2 -1
  69. package/dist/lib/deploy/test-url-match-rules.d.ts.map +1 -1
  70. package/dist/lib/deploy/test-url-match-rules.js +1 -1
  71. package/dist/lib/deploy/test-url-match-rules.js.map +1 -1
  72. package/dist/lib/deploy/upload.d.ts.map +1 -1
  73. package/dist/lib/deploy/upload.js +7 -3
  74. package/dist/lib/deploy/upload.js.map +1 -1
  75. package/dist/lib/deploy/validation.d.ts.map +1 -1
  76. package/dist/lib/deploy/validation.js +8 -5
  77. package/dist/lib/deploy/validation.js.map +1 -1
  78. package/dist/lib/rsbuild/config-factory.d.ts +24 -0
  79. package/dist/lib/rsbuild/config-factory.d.ts.map +1 -0
  80. package/dist/lib/rsbuild/config-factory.js +135 -0
  81. package/dist/lib/rsbuild/config-factory.js.map +1 -0
  82. package/dist/lib/rsbuild/plugins/asset-versioning.d.ts +11 -0
  83. package/dist/lib/rsbuild/plugins/asset-versioning.d.ts.map +1 -0
  84. package/dist/lib/rsbuild/plugins/asset-versioning.js +62 -0
  85. package/dist/lib/rsbuild/plugins/asset-versioning.js.map +1 -0
  86. package/dist/lib/rsbuild/plugins/copy-public.d.ts +11 -0
  87. package/dist/lib/rsbuild/plugins/copy-public.d.ts.map +1 -0
  88. package/dist/lib/rsbuild/plugins/copy-public.js +32 -0
  89. package/dist/lib/rsbuild/plugins/copy-public.js.map +1 -0
  90. package/dist/lib/rsbuild/postcss/tailwind-source-fallback.d.ts +12 -0
  91. package/dist/lib/rsbuild/postcss/tailwind-source-fallback.d.ts.map +1 -0
  92. package/dist/lib/rsbuild/postcss/tailwind-source-fallback.js +60 -0
  93. package/dist/lib/rsbuild/postcss/tailwind-source-fallback.js.map +1 -0
  94. package/dist/lib/utils/setup-runtime.d.ts.map +1 -1
  95. package/dist/lib/utils/setup-runtime.js +78 -17
  96. package/dist/lib/utils/setup-runtime.js.map +1 -1
  97. package/dist/lib/vite/config-factory.d.ts.map +1 -1
  98. package/dist/lib/vite/config-factory.js +8 -3
  99. package/dist/lib/vite/config-factory.js.map +1 -1
  100. package/dist/lib/vite/plugins/copy-public.d.ts +12 -0
  101. package/dist/lib/vite/plugins/copy-public.d.ts.map +1 -0
  102. package/dist/lib/vite/plugins/copy-public.js +31 -0
  103. package/dist/lib/vite/plugins/copy-public.js.map +1 -0
  104. package/dist/schema/config.schema.d.ts +121 -32
  105. package/dist/schema/config.schema.d.ts.map +1 -1
  106. package/dist/schema/config.schema.js +28 -17
  107. package/dist/schema/config.schema.js.map +1 -1
  108. package/dist/types.d.ts +6 -57
  109. package/dist/types.d.ts.map +1 -1
  110. package/dist/types.js.map +1 -1
  111. package/package.json +7 -4
  112. package/runtime/index.html +19 -36
  113. package/dev-server/classic/main.tsx +0 -62
  114. package/dev-server/classic.html +0 -70
  115. package/dev-server/vite.config.ts +0 -29
@@ -8,22 +8,25 @@
8
8
  },
9
9
  "dependencies": {
10
10
  "@radix-ui/react-dialog": "^1.1.15",
11
+ "@radix-ui/react-portal": "^1.1.4",
11
12
  "@radix-ui/react-tabs": "^1.1.7",
13
+ "@tailwindcss/postcss": "^4.1.14",
12
14
  "class-variance-authority": "^0.7.1",
13
15
  "clsx": "^2.1.1",
16
+ "iframe-resizer-react": "^1.1.0",
14
17
  "lucide-react": "^0.545.0",
18
+ "postcss": "^8.5.6",
15
19
  "react": "^19.1.0",
16
20
  "react-dom": "^19.1.0",
17
21
  "tailwind-merge": "^3.3.1"
18
22
  },
19
23
  "devDependencies": {
20
- "@tailwindcss/vite": "^4.1.14",
24
+ "@rsbuild/core": "^1.1.14",
25
+ "@rsbuild/plugin-react": "^1.1.0",
21
26
  "@types/react": "^19.2.2",
22
27
  "@types/react-dom": "^19",
23
- "@vitejs/plugin-react": "^4.3.4",
24
28
  "tailwindcss": "^4",
25
29
  "tw-animate-css": "^1.4.0",
26
- "typescript": "^5",
27
- "vite": "^6.0.3"
30
+ "typescript": "^5"
28
31
  }
29
32
  }
@@ -0,0 +1,94 @@
1
+ import { dirname, relative } from 'node:path'
2
+ import postcss from 'postcss'
3
+
4
+ const DEFAULT_GLOB = '**/*.{ts,tsx,js,jsx,mdx,html}'
5
+
6
+ function toPosixPath(value) {
7
+ return value.replace(/\\/g, '/')
8
+ }
9
+
10
+ export function createTailwindSourceFallback(options = {}) {
11
+ const { projectRoot, glob = DEFAULT_GLOB } = options
12
+
13
+ if (!projectRoot) {
14
+ const noop = () => {
15
+ const postcssPlugin = {
16
+ postcssPlugin: 'linkapp:tailwind-source-fallback:noop',
17
+ Once() {},
18
+ }
19
+
20
+ postcssPlugin.postcss = true
21
+ return postcssPlugin
22
+ }
23
+
24
+ noop.postcss = true
25
+ noop.__linkappTailwindSource = true
26
+ return noop
27
+ }
28
+
29
+ const plugin = () => {
30
+ const postcssPlugin = {
31
+ postcssPlugin: 'linkapp:tailwind-source-fallback',
32
+ Once(root, { result }) {
33
+ const sourceFile = typeof result.opts.from === 'string' ? result.opts.from : null
34
+ if (!sourceFile) {
35
+ return
36
+ }
37
+
38
+ const normalizedSourceFile = toPosixPath(sourceFile)
39
+ const normalizedProjectRoot = toPosixPath(
40
+ projectRoot.endsWith('/') ? projectRoot : `${projectRoot}/`
41
+ )
42
+
43
+ if (!normalizedSourceFile.startsWith(normalizedProjectRoot)) {
44
+ return
45
+ }
46
+
47
+ let hasSourceDirective = false
48
+ root.walkAtRules('source', () => {
49
+ hasSourceDirective = true
50
+ return false
51
+ })
52
+
53
+ if (hasSourceDirective) {
54
+ return
55
+ }
56
+
57
+ const cssDir = dirname(sourceFile)
58
+ const relativeToRoot = relative(cssDir, projectRoot)
59
+ const baseSegment = relativeToRoot === '' ? '.' : relativeToRoot
60
+ const normalizedBase = toPosixPath(baseSegment)
61
+ const trimmedBase = normalizedBase.replace(/\/$/, '')
62
+
63
+ const sourcePath =
64
+ trimmedBase === '.' || trimmedBase === ''
65
+ ? `./${glob}`
66
+ : `${trimmedBase}/${glob}`
67
+
68
+ const atRule = postcss.atRule({
69
+ name: 'source',
70
+ params: `"${sourcePath}"`,
71
+ })
72
+
73
+ let lastImport
74
+ root.walkAtRules('import', (node) => {
75
+ lastImport = node
76
+ })
77
+
78
+ if (lastImport) {
79
+ lastImport.after(atRule)
80
+ } else {
81
+ root.prepend(atRule)
82
+ }
83
+ },
84
+ }
85
+
86
+ postcssPlugin.postcss = true
87
+ return postcssPlugin
88
+ }
89
+
90
+ plugin.postcss = true
91
+ plugin.__linkappTailwindSource = true
92
+
93
+ return plugin
94
+ }
@@ -0,0 +1,30 @@
1
+ import { fileURLToPath } from 'url'
2
+ import { dirname, resolve } from 'path'
3
+ import tailwindcss from '@tailwindcss/postcss'
4
+ import { createTailwindSourceFallback } from './postcss/tailwind-source-fallback.js'
5
+
6
+ const __filename = fileURLToPath(import.meta.url)
7
+ const __dirname = dirname(__filename)
8
+
9
+ const userProjectRoot = process.env.LINKAPP_USER_PROJECT_PATH
10
+ const projectRoot = userProjectRoot ? resolve(userProjectRoot) : null
11
+
12
+ const plugins = []
13
+
14
+ if (projectRoot) {
15
+ plugins.push(
16
+ createTailwindSourceFallback({
17
+ projectRoot,
18
+ })
19
+ )
20
+ }
21
+
22
+ plugins.push(
23
+ tailwindcss({
24
+ base: __dirname,
25
+ })
26
+ )
27
+
28
+ export default {
29
+ plugins,
30
+ }