sketchmark 2.0.0 → 2.1.0

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 (132) hide show
  1. package/ANIMATABLE_MATRIX.md +177 -0
  2. package/KERNEL_SPEC.md +412 -0
  3. package/PACKS.md +81 -0
  4. package/PRESETS.md +182 -0
  5. package/README.md +274 -188
  6. package/bin/editor-ui.cjs +2285 -0
  7. package/bin/preview-ui.cjs +74 -0
  8. package/bin/sketchmark.cjs +648 -2008
  9. package/dist/src/animatable.d.ts +21 -0
  10. package/dist/src/animatable.js +439 -0
  11. package/dist/src/builders/index.d.ts +1 -11
  12. package/dist/src/builders/index.js +1 -19
  13. package/dist/src/diagnostics.js +1 -64
  14. package/dist/src/edit.d.ts +27 -0
  15. package/dist/src/edit.js +162 -0
  16. package/dist/src/index.d.ts +4 -13
  17. package/dist/src/index.js +4 -13
  18. package/dist/src/keyframes.d.ts +48 -0
  19. package/dist/src/keyframes.js +182 -0
  20. package/dist/src/motion.d.ts +4 -0
  21. package/dist/src/motion.js +262 -0
  22. package/dist/src/normalize.js +120 -151
  23. package/dist/src/presets/characters.d.ts +15 -0
  24. package/dist/src/presets/characters.js +113 -0
  25. package/dist/src/presets/compose.d.ts +5 -0
  26. package/dist/src/presets/compose.js +80 -0
  27. package/dist/src/presets/effects.d.ts +40 -0
  28. package/dist/src/presets/effects.js +79 -0
  29. package/dist/src/presets/helpers.d.ts +33 -0
  30. package/dist/src/presets/helpers.js +165 -0
  31. package/dist/src/presets/index.d.ts +9 -0
  32. package/dist/src/presets/index.js +48 -0
  33. package/dist/src/presets/motions.d.ts +33 -0
  34. package/dist/src/presets/motions.js +75 -0
  35. package/dist/src/presets/scenes.d.ts +35 -0
  36. package/dist/src/presets/scenes.js +134 -0
  37. package/dist/src/presets/shapes.d.ts +71 -0
  38. package/dist/src/presets/shapes.js +96 -0
  39. package/dist/src/presets/transitions.d.ts +29 -0
  40. package/dist/src/presets/transitions.js +113 -0
  41. package/dist/src/presets/types.d.ts +34 -0
  42. package/dist/src/presets/types.js +2 -0
  43. package/dist/src/render/html.js +1 -4
  44. package/dist/src/render/svg.d.ts +2 -2
  45. package/dist/src/render/svg.js +86 -82
  46. package/dist/src/render/three-html.js +67 -113
  47. package/dist/src/scenes.js +1 -0
  48. package/dist/src/schema.js +218 -280
  49. package/dist/src/shapes/builtins.js +11 -47
  50. package/dist/src/shapes/common.js +12 -11
  51. package/dist/src/shapes/registry.d.ts +0 -1
  52. package/dist/src/shapes/registry.js +0 -4
  53. package/dist/src/shapes/types.d.ts +1 -3
  54. package/dist/src/types.d.ts +57 -288
  55. package/dist/src/utils.d.ts +2 -11
  56. package/dist/src/utils.js +13 -70
  57. package/dist/src/validate.js +321 -275
  58. package/dist/tests/run.js +576 -510
  59. package/examples/1730642890464.jpg +0 -0
  60. package/examples/app-screen.svg +1 -0
  61. package/examples/app-screen.visual.json +503 -0
  62. package/examples/dashboard-table.svg +1 -0
  63. package/examples/dashboard-table.visual.json +708 -0
  64. package/examples/dev-docs.svg +1 -0
  65. package/examples/dev-docs.visual.json +248 -0
  66. package/examples/explainer.mp4 +0 -0
  67. package/examples/explainer.visual.json +1713 -0
  68. package/examples/group-origin-effects-lab-check.svg +1 -0
  69. package/examples/group-origin-effects-lab.visual.json +1880 -0
  70. package/examples/image-clip-radius.visual.json +271 -0
  71. package/examples/make-app-screen.cjs +368 -0
  72. package/examples/make-dashboard-table.cjs +277 -0
  73. package/examples/make-dev-docs.cjs +233 -0
  74. package/examples/make-explainer.cjs +438 -0
  75. package/examples/make-group-origin-effects-lab.cjs +370 -0
  76. package/examples/make-image-clip-radius.cjs +169 -0
  77. package/examples/make-modal-dialog.cjs +355 -0
  78. package/examples/make-origin-effects-lab.cjs +311 -0
  79. package/examples/make-preset-character-motion.cjs +32 -0
  80. package/examples/make-presets-demo.cjs +30 -0
  81. package/examples/make-pricing.cjs +286 -0
  82. package/examples/make-product-demo.cjs +468 -0
  83. package/examples/make-product-hero.cjs +223 -0
  84. package/examples/make-release-notes.cjs +333 -0
  85. package/examples/make-settings-panel.cjs +435 -0
  86. package/examples/make-split-preview.cjs +248 -0
  87. package/examples/make-storyboard.cjs +215 -0
  88. package/examples/make-transcript.cjs +234 -0
  89. package/examples/make-typography-test.cjs +397 -0
  90. package/examples/make-ui-demo-explainer.cjs +1094 -0
  91. package/examples/make-ui-flow.cjs +762 -0
  92. package/examples/make-walkthrough.cjs +815 -0
  93. package/examples/modal-dialog.svg +1 -0
  94. package/examples/modal-dialog.visual.json +239 -0
  95. package/examples/origin-effects-lab-check.svg +1 -0
  96. package/examples/origin-effects-lab.visual.json +1412 -0
  97. package/examples/preset-character-motion.visual.json +949 -0
  98. package/examples/presets-demo.visual.json +787 -0
  99. package/examples/pricing.svg +1 -0
  100. package/examples/pricing.visual.json +652 -0
  101. package/examples/product-demo.mp4 +0 -0
  102. package/examples/product-demo.visual.json +866 -0
  103. package/examples/product-hero.svg +1 -0
  104. package/examples/product-hero.visual.json +242 -0
  105. package/examples/release-notes.svg +1 -0
  106. package/examples/release-notes.visual.json +467 -0
  107. package/examples/settings-panel.svg +1 -0
  108. package/examples/settings-panel.visual.json +501 -0
  109. package/examples/split-preview.svg +1 -0
  110. package/examples/split-preview.visual.json +124 -0
  111. package/examples/storyboard.svg +1 -0
  112. package/examples/storyboard.visual.json +312 -0
  113. package/examples/transcript.svg +1 -0
  114. package/examples/transcript.visual.json +407 -0
  115. package/examples/typography-indent-check.svg +1 -0
  116. package/examples/typography-lineheight-0.svg +1 -0
  117. package/examples/typography-lineheight-2.svg +1 -0
  118. package/examples/typography-test-check.svg +1 -0
  119. package/examples/typography-test.svg +1 -0
  120. package/examples/typography-test.visual.json +757 -0
  121. package/examples/ui-demo-explainer-billing.svg +1 -0
  122. package/examples/ui-demo-explainer-check.svg +1 -0
  123. package/examples/ui-demo-explainer-save.svg +1 -0
  124. package/examples/ui-demo-explainer-toggle.svg +1 -0
  125. package/examples/ui-demo-explainer.mp4 +0 -0
  126. package/examples/ui-demo-explainer.visual.json +2597 -0
  127. package/examples/ui-flow.mp4 +0 -0
  128. package/examples/ui-flow.visual.json +1211 -0
  129. package/examples/walkthrough.mp4 +0 -0
  130. package/examples/walkthrough.visual.json +1372 -0
  131. package/package.json +52 -52
  132. package/schema/visual.schema.json +1086 -930
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="1280" height="820" viewBox="0 0 1280 820" role="img"><defs><filter id="sketchmark-filter-0" x="-50%" y="-50%" width="200%" height="200%"><feDropShadow dx="0" dy="4" stdDeviation="24" flood-color="#2563eb" flood-opacity="0.1"/></filter></defs><rect x="0" y="0" width="1280" height="820" fill="#f9fafb"/><text id="page-title" text-anchor="middle" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="32" font-weight="700" fill="#111827"><tspan x="640" y="64">Choose Your Plan</tspan></text><text id="page-subtitle" text-anchor="middle" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="16" font-weight="400" fill="#6b7280"><tspan x="640" y="100">Simple, transparent pricing that grows with you.</tspan></text><path id="starter-card" d="M 110 148 L 426 148 Q 438 148 438 160 L 438 756 Q 438 768 426 768 L 110 768 Q 98 768 98 756 L 98 160 Q 98 148 110 148 Z" fill="#ffffff" stroke="#e5e7eb" stroke-width="1"/><text id="starter-name" text-anchor="middle" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="22" font-weight="600" fill="#111827"><tspan x="268" y="237">Starter</tspan></text><text id="starter-price" text-anchor="middle" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="42" font-weight="700" fill="#111827"><tspan x="268" y="287">$0</tspan></text><text id="starter-period" text-anchor="middle" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="14" font-weight="400" fill="#6b7280"><tspan x="268" y="329">/month</tspan></text><path id="starter-divider" d="M 122 354 L 414 354" fill="none" stroke="#e5e7eb" stroke-width="1"/><path id="starter-check-0" d="M 130 385 L 135 390 L 142 381" fill="none" stroke="#2563eb" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><text id="starter-feat-0" text-anchor="start" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="14" font-weight="400" fill="#111827"><tspan x="152" y="385">Up to 3 projects</tspan></text><path id="starter-check-1" d="M 130 417 L 135 422 L 142 413" fill="none" stroke="#2563eb" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><text id="starter-feat-1" text-anchor="start" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="14" font-weight="400" fill="#111827"><tspan x="152" y="417">Basic analytics</tspan></text><path id="starter-check-2" d="M 130 449 L 135 454 L 142 445" fill="none" stroke="#2563eb" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><text id="starter-feat-2" text-anchor="start" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="14" font-weight="400" fill="#111827"><tspan x="152" y="449">Community support</tspan></text><path id="starter-check-3" d="M 130 481 L 135 486 L 142 477" fill="none" stroke="#2563eb" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><text id="starter-feat-3" text-anchor="start" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="14" font-weight="400" fill="#111827"><tspan x="152" y="481">1 GB storage</tspan></text><path id="starter-check-4" d="M 130 513 L 135 518 L 142 509" fill="none" stroke="#2563eb" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><text id="starter-feat-4" text-anchor="start" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="14" font-weight="400" fill="#111827"><tspan x="152" y="513">Single user</tspan></text><path id="pro-card" filter="url(#sketchmark-filter-0)" d="M 482 148 L 798 148 Q 810 148 810 160 L 810 756 Q 810 768 798 768 L 482 768 Q 470 768 470 756 L 470 160 Q 470 148 482 148 Z" fill="#ffffff" stroke="#2563eb" stroke-width="2"/><path id="pro-pill-bg" d="M 593 180 L 687 180 Q 700 180 700 193 L 700 193 Q 700 206 687 206 L 593 206 Q 580 206 580 193 L 580 193 Q 580 180 593 180 Z" fill="#2563eb" stroke="none" stroke-width="0"/><text id="pro-pill-text" text-anchor="middle" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="12" font-weight="600" fill="#ffffff"><tspan x="640" y="193">Most popular</tspan></text><text id="pro-name" text-anchor="middle" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="22" font-weight="600" fill="#111827"><tspan x="640" y="237">Pro</tspan></text><text id="pro-price" text-anchor="middle" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="42" font-weight="700" fill="#111827"><tspan x="640" y="287">$29</tspan></text><text id="pro-period" text-anchor="middle" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="14" font-weight="400" fill="#6b7280"><tspan x="640" y="329">/month</tspan></text><path id="pro-divider" d="M 494 354 L 786 354" fill="none" stroke="#e5e7eb" stroke-width="1"/><path id="pro-check-0" d="M 502 385 L 507 390 L 514 381" fill="none" stroke="#2563eb" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><text id="pro-feat-0" text-anchor="start" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="14" font-weight="400" fill="#111827"><tspan x="524" y="385">Unlimited projects</tspan></text><path id="pro-check-1" d="M 502 417 L 507 422 L 514 413" fill="none" stroke="#2563eb" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><text id="pro-feat-1" text-anchor="start" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="14" font-weight="400" fill="#111827"><tspan x="524" y="417">Advanced analytics</tspan></text><path id="pro-check-2" d="M 502 449 L 507 454 L 514 445" fill="none" stroke="#2563eb" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><text id="pro-feat-2" text-anchor="start" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="14" font-weight="400" fill="#111827"><tspan x="524" y="449">Priority email support</tspan></text><path id="pro-check-3" d="M 502 481 L 507 486 L 514 477" fill="none" stroke="#2563eb" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><text id="pro-feat-3" text-anchor="start" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="14" font-weight="400" fill="#111827"><tspan x="524" y="481">50 GB storage</tspan></text><path id="pro-check-4" d="M 502 513 L 507 518 L 514 509" fill="none" stroke="#2563eb" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><text id="pro-feat-4" text-anchor="start" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="14" font-weight="400" fill="#111827"><tspan x="524" y="513">Up to 10 team members</tspan></text><path id="pro-check-5" d="M 502 545 L 507 550 L 514 541" fill="none" stroke="#2563eb" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><text id="pro-feat-5" text-anchor="start" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="14" font-weight="400" fill="#111827"><tspan x="524" y="545">Custom integrations</tspan></text><path id="enterprise-card" d="M 854 148 L 1170 148 Q 1182 148 1182 160 L 1182 756 Q 1182 768 1170 768 L 854 768 Q 842 768 842 756 L 842 160 Q 842 148 854 148 Z" fill="#ffffff" stroke="#e5e7eb" stroke-width="1"/><path id="enterprise-pill-bg" d="M 961 180 L 1063 180 Q 1076 180 1076 193 L 1076 193 Q 1076 206 1063 206 L 961 206 Q 948 206 948 193 L 948 193 Q 948 180 961 180 Z" fill="#ffffff" stroke="#2563eb" stroke-width="1.5"/><text id="enterprise-pill-text" text-anchor="middle" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="12" font-weight="600" fill="#2563eb"><tspan x="1012" y="193">Contact sales</tspan></text><text id="enterprise-name" text-anchor="middle" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="22" font-weight="600" fill="#111827"><tspan x="1012" y="237">Enterprise</tspan></text><text id="enterprise-price" text-anchor="middle" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="42" font-weight="700" fill="#111827"><tspan x="1012" y="287">Custom</tspan></text><path id="enterprise-divider" d="M 866 354 L 1158 354" fill="none" stroke="#e5e7eb" stroke-width="1"/><path id="enterprise-check-0" d="M 874 385 L 879 390 L 886 381" fill="none" stroke="#2563eb" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><text id="enterprise-feat-0" text-anchor="start" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="14" font-weight="400" fill="#111827"><tspan x="896" y="385">Everything in Pro</tspan></text><path id="enterprise-check-1" d="M 874 417 L 879 422 L 886 413" fill="none" stroke="#2563eb" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><text id="enterprise-feat-1" text-anchor="start" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="14" font-weight="400" fill="#111827"><tspan x="896" y="417">Dedicated account manager</tspan></text><path id="enterprise-check-2" d="M 874 449 L 879 454 L 886 445" fill="none" stroke="#2563eb" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><text id="enterprise-feat-2" text-anchor="start" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="14" font-weight="400" fill="#111827"><tspan x="896" y="449">99.99% uptime SLA</tspan></text><path id="enterprise-check-3" d="M 874 481 L 879 486 L 886 477" fill="none" stroke="#2563eb" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><text id="enterprise-feat-3" text-anchor="start" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="14" font-weight="400" fill="#111827"><tspan x="896" y="481">Unlimited storage</tspan></text><path id="enterprise-check-4" d="M 874 513 L 879 518 L 886 509" fill="none" stroke="#2563eb" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><text id="enterprise-feat-4" text-anchor="start" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="14" font-weight="400" fill="#111827"><tspan x="896" y="513">SSO &amp; SAML</tspan></text><path id="enterprise-check-5" d="M 874 545 L 879 550 L 886 541" fill="none" stroke="#2563eb" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><text id="enterprise-feat-5" text-anchor="start" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="14" font-weight="400" fill="#111827"><tspan x="896" y="545">On-premise deployment</tspan></text><path id="enterprise-check-6" d="M 874 577 L 879 582 L 886 573" fill="none" stroke="#2563eb" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><text id="enterprise-feat-6" text-anchor="start" dominant-baseline="middle" font-family="Roboto, Arial, sans-serif" font-size="14" font-weight="400" fill="#111827"><tspan x="896" y="577">Custom contracts</tspan></text></svg>
@@ -0,0 +1,652 @@
1
+ {
2
+ "version": 1,
3
+ "canvas": {
4
+ "width": 1280,
5
+ "height": 820,
6
+ "background": "#f9fafb"
7
+ },
8
+ "elements": [
9
+ {
10
+ "id": "page-title",
11
+ "type": "text",
12
+ "x": 640,
13
+ "y": 48,
14
+ "text": "Choose Your Plan",
15
+ "align": "center",
16
+ "valign": "top",
17
+ "fontSize": 32,
18
+ "fontFamily": "Inter, system-ui, sans-serif",
19
+ "weight": 700,
20
+ "fill": "#111827"
21
+ },
22
+ {
23
+ "id": "page-subtitle",
24
+ "type": "text",
25
+ "x": 640,
26
+ "y": 92,
27
+ "text": "Simple, transparent pricing that grows with you.",
28
+ "align": "center",
29
+ "valign": "top",
30
+ "fontSize": 16,
31
+ "fontFamily": "Inter, system-ui, sans-serif",
32
+ "weight": 400,
33
+ "fill": "#6b7280"
34
+ },
35
+ {
36
+ "id": "starter-card",
37
+ "type": "path",
38
+ "d": "M 110 148 L 426 148 Q 438 148 438 160 L 438 756 Q 438 768 426 768 L 110 768 Q 98 768 98 756 L 98 160 Q 98 148 110 148 Z",
39
+ "fill": "#ffffff",
40
+ "stroke": "#e5e7eb",
41
+ "strokeWidth": 1
42
+ },
43
+ {
44
+ "id": "starter-name",
45
+ "type": "text",
46
+ "x": 268,
47
+ "y": 226,
48
+ "text": "Starter",
49
+ "align": "center",
50
+ "valign": "top",
51
+ "fontSize": 22,
52
+ "fontFamily": "Inter, system-ui, sans-serif",
53
+ "weight": 600,
54
+ "fill": "#111827"
55
+ },
56
+ {
57
+ "id": "starter-price",
58
+ "type": "text",
59
+ "x": 268,
60
+ "y": 266,
61
+ "text": "$0",
62
+ "align": "center",
63
+ "valign": "top",
64
+ "fontSize": 42,
65
+ "fontFamily": "Inter, system-ui, sans-serif",
66
+ "weight": 700,
67
+ "fill": "#111827"
68
+ },
69
+ {
70
+ "id": "starter-period",
71
+ "type": "text",
72
+ "x": 268,
73
+ "y": 322,
74
+ "text": "/month",
75
+ "align": "center",
76
+ "valign": "top",
77
+ "fontSize": 14,
78
+ "fontFamily": "Inter, system-ui, sans-serif",
79
+ "weight": 400,
80
+ "fill": "#6b7280"
81
+ },
82
+ {
83
+ "id": "starter-divider",
84
+ "type": "path",
85
+ "d": "M 122 354 L 414 354",
86
+ "stroke": "#e5e7eb",
87
+ "strokeWidth": 1,
88
+ "fill": "none"
89
+ },
90
+ {
91
+ "id": "starter-check-0",
92
+ "type": "path",
93
+ "d": "M 130 385 L 135 390 L 142 381",
94
+ "stroke": "#2563eb",
95
+ "strokeWidth": 2,
96
+ "strokeCap": "round",
97
+ "strokeJoin": "round",
98
+ "fill": "none"
99
+ },
100
+ {
101
+ "id": "starter-feat-0",
102
+ "type": "text",
103
+ "x": 152,
104
+ "y": 378,
105
+ "text": "Up to 3 projects",
106
+ "align": "left",
107
+ "valign": "top",
108
+ "fontSize": 14,
109
+ "fontFamily": "Inter, system-ui, sans-serif",
110
+ "weight": 400,
111
+ "fill": "#111827"
112
+ },
113
+ {
114
+ "id": "starter-check-1",
115
+ "type": "path",
116
+ "d": "M 130 417 L 135 422 L 142 413",
117
+ "stroke": "#2563eb",
118
+ "strokeWidth": 2,
119
+ "strokeCap": "round",
120
+ "strokeJoin": "round",
121
+ "fill": "none"
122
+ },
123
+ {
124
+ "id": "starter-feat-1",
125
+ "type": "text",
126
+ "x": 152,
127
+ "y": 410,
128
+ "text": "Basic analytics",
129
+ "align": "left",
130
+ "valign": "top",
131
+ "fontSize": 14,
132
+ "fontFamily": "Inter, system-ui, sans-serif",
133
+ "weight": 400,
134
+ "fill": "#111827"
135
+ },
136
+ {
137
+ "id": "starter-check-2",
138
+ "type": "path",
139
+ "d": "M 130 449 L 135 454 L 142 445",
140
+ "stroke": "#2563eb",
141
+ "strokeWidth": 2,
142
+ "strokeCap": "round",
143
+ "strokeJoin": "round",
144
+ "fill": "none"
145
+ },
146
+ {
147
+ "id": "starter-feat-2",
148
+ "type": "text",
149
+ "x": 152,
150
+ "y": 442,
151
+ "text": "Community support",
152
+ "align": "left",
153
+ "valign": "top",
154
+ "fontSize": 14,
155
+ "fontFamily": "Inter, system-ui, sans-serif",
156
+ "weight": 400,
157
+ "fill": "#111827"
158
+ },
159
+ {
160
+ "id": "starter-check-3",
161
+ "type": "path",
162
+ "d": "M 130 481 L 135 486 L 142 477",
163
+ "stroke": "#2563eb",
164
+ "strokeWidth": 2,
165
+ "strokeCap": "round",
166
+ "strokeJoin": "round",
167
+ "fill": "none"
168
+ },
169
+ {
170
+ "id": "starter-feat-3",
171
+ "type": "text",
172
+ "x": 152,
173
+ "y": 474,
174
+ "text": "1 GB storage",
175
+ "align": "left",
176
+ "valign": "top",
177
+ "fontSize": 14,
178
+ "fontFamily": "Inter, system-ui, sans-serif",
179
+ "weight": 400,
180
+ "fill": "#111827"
181
+ },
182
+ {
183
+ "id": "starter-check-4",
184
+ "type": "path",
185
+ "d": "M 130 513 L 135 518 L 142 509",
186
+ "stroke": "#2563eb",
187
+ "strokeWidth": 2,
188
+ "strokeCap": "round",
189
+ "strokeJoin": "round",
190
+ "fill": "none"
191
+ },
192
+ {
193
+ "id": "starter-feat-4",
194
+ "type": "text",
195
+ "x": 152,
196
+ "y": 506,
197
+ "text": "Single user",
198
+ "align": "left",
199
+ "valign": "top",
200
+ "fontSize": 14,
201
+ "fontFamily": "Inter, system-ui, sans-serif",
202
+ "weight": 400,
203
+ "fill": "#111827"
204
+ },
205
+ {
206
+ "id": "pro-card",
207
+ "type": "path",
208
+ "d": "M 482 148 L 798 148 Q 810 148 810 160 L 810 756 Q 810 768 798 768 L 482 768 Q 470 768 470 756 L 470 160 Q 470 148 482 148 Z",
209
+ "fill": "#ffffff",
210
+ "stroke": "#2563eb",
211
+ "strokeWidth": 2,
212
+ "effects": {
213
+ "shadow": {
214
+ "dx": 0,
215
+ "dy": 4,
216
+ "blur": 24,
217
+ "color": "#2563eb",
218
+ "opacity": 0.1
219
+ }
220
+ }
221
+ },
222
+ {
223
+ "id": "pro-pill-bg",
224
+ "type": "path",
225
+ "d": "M 593 180 L 687 180 Q 700 180 700 193 L 700 193 Q 700 206 687 206 L 593 206 Q 580 206 580 193 L 580 193 Q 580 180 593 180 Z",
226
+ "fill": "#2563eb",
227
+ "stroke": "none"
228
+ },
229
+ {
230
+ "id": "pro-pill-text",
231
+ "type": "text",
232
+ "x": 640,
233
+ "y": 193,
234
+ "text": "Most popular",
235
+ "align": "center",
236
+ "valign": "middle",
237
+ "fontSize": 12,
238
+ "fontFamily": "Inter, system-ui, sans-serif",
239
+ "weight": 600,
240
+ "fill": "#ffffff"
241
+ },
242
+ {
243
+ "id": "pro-name",
244
+ "type": "text",
245
+ "x": 640,
246
+ "y": 226,
247
+ "text": "Pro",
248
+ "align": "center",
249
+ "valign": "top",
250
+ "fontSize": 22,
251
+ "fontFamily": "Inter, system-ui, sans-serif",
252
+ "weight": 600,
253
+ "fill": "#111827"
254
+ },
255
+ {
256
+ "id": "pro-price",
257
+ "type": "text",
258
+ "x": 640,
259
+ "y": 266,
260
+ "text": "$29",
261
+ "align": "center",
262
+ "valign": "top",
263
+ "fontSize": 42,
264
+ "fontFamily": "Inter, system-ui, sans-serif",
265
+ "weight": 700,
266
+ "fill": "#111827"
267
+ },
268
+ {
269
+ "id": "pro-period",
270
+ "type": "text",
271
+ "x": 640,
272
+ "y": 322,
273
+ "text": "/month",
274
+ "align": "center",
275
+ "valign": "top",
276
+ "fontSize": 14,
277
+ "fontFamily": "Inter, system-ui, sans-serif",
278
+ "weight": 400,
279
+ "fill": "#6b7280"
280
+ },
281
+ {
282
+ "id": "pro-divider",
283
+ "type": "path",
284
+ "d": "M 494 354 L 786 354",
285
+ "stroke": "#e5e7eb",
286
+ "strokeWidth": 1,
287
+ "fill": "none"
288
+ },
289
+ {
290
+ "id": "pro-check-0",
291
+ "type": "path",
292
+ "d": "M 502 385 L 507 390 L 514 381",
293
+ "stroke": "#2563eb",
294
+ "strokeWidth": 2,
295
+ "strokeCap": "round",
296
+ "strokeJoin": "round",
297
+ "fill": "none"
298
+ },
299
+ {
300
+ "id": "pro-feat-0",
301
+ "type": "text",
302
+ "x": 524,
303
+ "y": 378,
304
+ "text": "Unlimited projects",
305
+ "align": "left",
306
+ "valign": "top",
307
+ "fontSize": 14,
308
+ "fontFamily": "Inter, system-ui, sans-serif",
309
+ "weight": 400,
310
+ "fill": "#111827"
311
+ },
312
+ {
313
+ "id": "pro-check-1",
314
+ "type": "path",
315
+ "d": "M 502 417 L 507 422 L 514 413",
316
+ "stroke": "#2563eb",
317
+ "strokeWidth": 2,
318
+ "strokeCap": "round",
319
+ "strokeJoin": "round",
320
+ "fill": "none"
321
+ },
322
+ {
323
+ "id": "pro-feat-1",
324
+ "type": "text",
325
+ "x": 524,
326
+ "y": 410,
327
+ "text": "Advanced analytics",
328
+ "align": "left",
329
+ "valign": "top",
330
+ "fontSize": 14,
331
+ "fontFamily": "Inter, system-ui, sans-serif",
332
+ "weight": 400,
333
+ "fill": "#111827"
334
+ },
335
+ {
336
+ "id": "pro-check-2",
337
+ "type": "path",
338
+ "d": "M 502 449 L 507 454 L 514 445",
339
+ "stroke": "#2563eb",
340
+ "strokeWidth": 2,
341
+ "strokeCap": "round",
342
+ "strokeJoin": "round",
343
+ "fill": "none"
344
+ },
345
+ {
346
+ "id": "pro-feat-2",
347
+ "type": "text",
348
+ "x": 524,
349
+ "y": 442,
350
+ "text": "Priority email support",
351
+ "align": "left",
352
+ "valign": "top",
353
+ "fontSize": 14,
354
+ "fontFamily": "Inter, system-ui, sans-serif",
355
+ "weight": 400,
356
+ "fill": "#111827"
357
+ },
358
+ {
359
+ "id": "pro-check-3",
360
+ "type": "path",
361
+ "d": "M 502 481 L 507 486 L 514 477",
362
+ "stroke": "#2563eb",
363
+ "strokeWidth": 2,
364
+ "strokeCap": "round",
365
+ "strokeJoin": "round",
366
+ "fill": "none"
367
+ },
368
+ {
369
+ "id": "pro-feat-3",
370
+ "type": "text",
371
+ "x": 524,
372
+ "y": 474,
373
+ "text": "50 GB storage",
374
+ "align": "left",
375
+ "valign": "top",
376
+ "fontSize": 14,
377
+ "fontFamily": "Inter, system-ui, sans-serif",
378
+ "weight": 400,
379
+ "fill": "#111827"
380
+ },
381
+ {
382
+ "id": "pro-check-4",
383
+ "type": "path",
384
+ "d": "M 502 513 L 507 518 L 514 509",
385
+ "stroke": "#2563eb",
386
+ "strokeWidth": 2,
387
+ "strokeCap": "round",
388
+ "strokeJoin": "round",
389
+ "fill": "none"
390
+ },
391
+ {
392
+ "id": "pro-feat-4",
393
+ "type": "text",
394
+ "x": 524,
395
+ "y": 506,
396
+ "text": "Up to 10 team members",
397
+ "align": "left",
398
+ "valign": "top",
399
+ "fontSize": 14,
400
+ "fontFamily": "Inter, system-ui, sans-serif",
401
+ "weight": 400,
402
+ "fill": "#111827"
403
+ },
404
+ {
405
+ "id": "pro-check-5",
406
+ "type": "path",
407
+ "d": "M 502 545 L 507 550 L 514 541",
408
+ "stroke": "#2563eb",
409
+ "strokeWidth": 2,
410
+ "strokeCap": "round",
411
+ "strokeJoin": "round",
412
+ "fill": "none"
413
+ },
414
+ {
415
+ "id": "pro-feat-5",
416
+ "type": "text",
417
+ "x": 524,
418
+ "y": 538,
419
+ "text": "Custom integrations",
420
+ "align": "left",
421
+ "valign": "top",
422
+ "fontSize": 14,
423
+ "fontFamily": "Inter, system-ui, sans-serif",
424
+ "weight": 400,
425
+ "fill": "#111827"
426
+ },
427
+ {
428
+ "id": "enterprise-card",
429
+ "type": "path",
430
+ "d": "M 854 148 L 1170 148 Q 1182 148 1182 160 L 1182 756 Q 1182 768 1170 768 L 854 768 Q 842 768 842 756 L 842 160 Q 842 148 854 148 Z",
431
+ "fill": "#ffffff",
432
+ "stroke": "#e5e7eb",
433
+ "strokeWidth": 1
434
+ },
435
+ {
436
+ "id": "enterprise-pill-bg",
437
+ "type": "path",
438
+ "d": "M 961 180 L 1063 180 Q 1076 180 1076 193 L 1076 193 Q 1076 206 1063 206 L 961 206 Q 948 206 948 193 L 948 193 Q 948 180 961 180 Z",
439
+ "fill": "#ffffff",
440
+ "stroke": "#2563eb",
441
+ "strokeWidth": 1.5
442
+ },
443
+ {
444
+ "id": "enterprise-pill-text",
445
+ "type": "text",
446
+ "x": 1012,
447
+ "y": 193,
448
+ "text": "Contact sales",
449
+ "align": "center",
450
+ "valign": "middle",
451
+ "fontSize": 12,
452
+ "fontFamily": "Inter, system-ui, sans-serif",
453
+ "weight": 600,
454
+ "fill": "#2563eb"
455
+ },
456
+ {
457
+ "id": "enterprise-name",
458
+ "type": "text",
459
+ "x": 1012,
460
+ "y": 226,
461
+ "text": "Enterprise",
462
+ "align": "center",
463
+ "valign": "top",
464
+ "fontSize": 22,
465
+ "fontFamily": "Inter, system-ui, sans-serif",
466
+ "weight": 600,
467
+ "fill": "#111827"
468
+ },
469
+ {
470
+ "id": "enterprise-price",
471
+ "type": "text",
472
+ "x": 1012,
473
+ "y": 266,
474
+ "text": "Custom",
475
+ "align": "center",
476
+ "valign": "top",
477
+ "fontSize": 42,
478
+ "fontFamily": "Inter, system-ui, sans-serif",
479
+ "weight": 700,
480
+ "fill": "#111827"
481
+ },
482
+ {
483
+ "id": "enterprise-divider",
484
+ "type": "path",
485
+ "d": "M 866 354 L 1158 354",
486
+ "stroke": "#e5e7eb",
487
+ "strokeWidth": 1,
488
+ "fill": "none"
489
+ },
490
+ {
491
+ "id": "enterprise-check-0",
492
+ "type": "path",
493
+ "d": "M 874 385 L 879 390 L 886 381",
494
+ "stroke": "#2563eb",
495
+ "strokeWidth": 2,
496
+ "strokeCap": "round",
497
+ "strokeJoin": "round",
498
+ "fill": "none"
499
+ },
500
+ {
501
+ "id": "enterprise-feat-0",
502
+ "type": "text",
503
+ "x": 896,
504
+ "y": 378,
505
+ "text": "Everything in Pro",
506
+ "align": "left",
507
+ "valign": "top",
508
+ "fontSize": 14,
509
+ "fontFamily": "Inter, system-ui, sans-serif",
510
+ "weight": 400,
511
+ "fill": "#111827"
512
+ },
513
+ {
514
+ "id": "enterprise-check-1",
515
+ "type": "path",
516
+ "d": "M 874 417 L 879 422 L 886 413",
517
+ "stroke": "#2563eb",
518
+ "strokeWidth": 2,
519
+ "strokeCap": "round",
520
+ "strokeJoin": "round",
521
+ "fill": "none"
522
+ },
523
+ {
524
+ "id": "enterprise-feat-1",
525
+ "type": "text",
526
+ "x": 896,
527
+ "y": 410,
528
+ "text": "Dedicated account manager",
529
+ "align": "left",
530
+ "valign": "top",
531
+ "fontSize": 14,
532
+ "fontFamily": "Inter, system-ui, sans-serif",
533
+ "weight": 400,
534
+ "fill": "#111827"
535
+ },
536
+ {
537
+ "id": "enterprise-check-2",
538
+ "type": "path",
539
+ "d": "M 874 449 L 879 454 L 886 445",
540
+ "stroke": "#2563eb",
541
+ "strokeWidth": 2,
542
+ "strokeCap": "round",
543
+ "strokeJoin": "round",
544
+ "fill": "none"
545
+ },
546
+ {
547
+ "id": "enterprise-feat-2",
548
+ "type": "text",
549
+ "x": 896,
550
+ "y": 442,
551
+ "text": "99.99% uptime SLA",
552
+ "align": "left",
553
+ "valign": "top",
554
+ "fontSize": 14,
555
+ "fontFamily": "Inter, system-ui, sans-serif",
556
+ "weight": 400,
557
+ "fill": "#111827"
558
+ },
559
+ {
560
+ "id": "enterprise-check-3",
561
+ "type": "path",
562
+ "d": "M 874 481 L 879 486 L 886 477",
563
+ "stroke": "#2563eb",
564
+ "strokeWidth": 2,
565
+ "strokeCap": "round",
566
+ "strokeJoin": "round",
567
+ "fill": "none"
568
+ },
569
+ {
570
+ "id": "enterprise-feat-3",
571
+ "type": "text",
572
+ "x": 896,
573
+ "y": 474,
574
+ "text": "Unlimited storage",
575
+ "align": "left",
576
+ "valign": "top",
577
+ "fontSize": 14,
578
+ "fontFamily": "Inter, system-ui, sans-serif",
579
+ "weight": 400,
580
+ "fill": "#111827"
581
+ },
582
+ {
583
+ "id": "enterprise-check-4",
584
+ "type": "path",
585
+ "d": "M 874 513 L 879 518 L 886 509",
586
+ "stroke": "#2563eb",
587
+ "strokeWidth": 2,
588
+ "strokeCap": "round",
589
+ "strokeJoin": "round",
590
+ "fill": "none"
591
+ },
592
+ {
593
+ "id": "enterprise-feat-4",
594
+ "type": "text",
595
+ "x": 896,
596
+ "y": 506,
597
+ "text": "SSO & SAML",
598
+ "align": "left",
599
+ "valign": "top",
600
+ "fontSize": 14,
601
+ "fontFamily": "Inter, system-ui, sans-serif",
602
+ "weight": 400,
603
+ "fill": "#111827"
604
+ },
605
+ {
606
+ "id": "enterprise-check-5",
607
+ "type": "path",
608
+ "d": "M 874 545 L 879 550 L 886 541",
609
+ "stroke": "#2563eb",
610
+ "strokeWidth": 2,
611
+ "strokeCap": "round",
612
+ "strokeJoin": "round",
613
+ "fill": "none"
614
+ },
615
+ {
616
+ "id": "enterprise-feat-5",
617
+ "type": "text",
618
+ "x": 896,
619
+ "y": 538,
620
+ "text": "On-premise deployment",
621
+ "align": "left",
622
+ "valign": "top",
623
+ "fontSize": 14,
624
+ "fontFamily": "Inter, system-ui, sans-serif",
625
+ "weight": 400,
626
+ "fill": "#111827"
627
+ },
628
+ {
629
+ "id": "enterprise-check-6",
630
+ "type": "path",
631
+ "d": "M 874 577 L 879 582 L 886 573",
632
+ "stroke": "#2563eb",
633
+ "strokeWidth": 2,
634
+ "strokeCap": "round",
635
+ "strokeJoin": "round",
636
+ "fill": "none"
637
+ },
638
+ {
639
+ "id": "enterprise-feat-6",
640
+ "type": "text",
641
+ "x": 896,
642
+ "y": 570,
643
+ "text": "Custom contracts",
644
+ "align": "left",
645
+ "valign": "top",
646
+ "fontSize": 14,
647
+ "fontFamily": "Inter, system-ui, sans-serif",
648
+ "weight": 400,
649
+ "fill": "#111827"
650
+ }
651
+ ]
652
+ }
Binary file