@webstudio-is/react-sdk 0.9.0 → 0.10.1

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 (585) hide show
  1. package/lib/app/custom-components/image.js +37 -13
  2. package/lib/app/custom-components/index.js +18 -1
  3. package/lib/app/custom-components/link.js +6 -0
  4. package/lib/app/custom-components/rich-text-link.js +6 -0
  5. package/lib/app/custom-components/shared/remix-link.js +29 -0
  6. package/lib/app/handle-request.server.js +16 -8
  7. package/lib/app/params.js +7 -3
  8. package/lib/app/root.js +37 -6
  9. package/lib/cjs/app/custom-components/image.cjs +62 -24
  10. package/lib/cjs/app/custom-components/index.cjs +35 -24
  11. package/lib/cjs/app/custom-components/link.cjs +26 -0
  12. package/lib/cjs/app/custom-components/rich-text-link.cjs +26 -0
  13. package/lib/cjs/app/custom-components/shared/remix-link.cjs +49 -0
  14. package/lib/cjs/app/handle-request.server.cjs +36 -12
  15. package/lib/cjs/app/index.cjs +18 -17
  16. package/lib/cjs/app/params.cjs +24 -5
  17. package/lib/cjs/app/root.cjs +58 -11
  18. package/lib/cjs/components/__generated__/body.props.json +489 -489
  19. package/lib/cjs/components/__generated__/bold.props.json +489 -489
  20. package/lib/cjs/components/__generated__/box.props.json +506 -506
  21. package/lib/cjs/components/__generated__/button.props.json +545 -545
  22. package/lib/cjs/components/__generated__/form.props.json +529 -529
  23. package/lib/cjs/components/__generated__/heading.props.json +495 -495
  24. package/lib/cjs/components/__generated__/image.props.json +558 -558
  25. package/lib/cjs/components/__generated__/input.props.json +655 -655
  26. package/lib/cjs/components/__generated__/italic.props.json +489 -489
  27. package/lib/cjs/components/__generated__/link.props.json +545 -545
  28. package/lib/cjs/components/__generated__/paragraph.props.json +489 -489
  29. package/lib/cjs/components/__generated__/rich-text-link.props.json +547 -0
  30. package/lib/cjs/components/__generated__/span.props.json +489 -489
  31. package/lib/cjs/components/__generated__/subscript.props.json +489 -489
  32. package/lib/cjs/components/__generated__/superscript.props.json +489 -489
  33. package/lib/cjs/components/__generated__/text-block.props.json +489 -489
  34. package/lib/cjs/components/body.cjs +29 -6
  35. package/lib/cjs/components/body.ws.cjs +83 -59
  36. package/lib/cjs/components/bold.cjs +29 -6
  37. package/lib/cjs/components/bold.ws.cjs +35 -11
  38. package/lib/cjs/components/box.cjs +29 -7
  39. package/lib/cjs/components/box.ws.cjs +40 -16
  40. package/lib/cjs/components/button.cjs +33 -8
  41. package/lib/cjs/components/button.ws.cjs +36 -12
  42. package/lib/cjs/components/component-type.cjs +77 -27
  43. package/lib/cjs/components/form.cjs +29 -6
  44. package/lib/cjs/components/form.ws.cjs +45 -21
  45. package/lib/cjs/components/heading.cjs +29 -7
  46. package/lib/cjs/components/heading.ws.cjs +36 -12
  47. package/lib/cjs/components/image.cjs +39 -14
  48. package/lib/cjs/components/image.ws.cjs +45 -24
  49. package/lib/cjs/components/index.cjs +133 -67
  50. package/lib/cjs/components/input.cjs +29 -6
  51. package/lib/cjs/components/input.ws.cjs +35 -11
  52. package/lib/cjs/components/italic.cjs +29 -6
  53. package/lib/cjs/components/italic.ws.cjs +40 -16
  54. package/lib/cjs/components/link.cjs +32 -7
  55. package/lib/cjs/components/link.ws.cjs +46 -22
  56. package/lib/cjs/components/paragraph.cjs +29 -6
  57. package/lib/cjs/components/paragraph.ws.cjs +36 -12
  58. package/lib/cjs/components/rich-text-link.cjs +33 -0
  59. package/lib/cjs/components/rich-text-link.ws.cjs +38 -0
  60. package/lib/cjs/components/span.cjs +29 -6
  61. package/lib/cjs/components/span.ws.cjs +35 -11
  62. package/lib/cjs/components/subscript.cjs +29 -6
  63. package/lib/cjs/components/subscript.ws.cjs +35 -11
  64. package/lib/cjs/components/superscript.cjs +29 -6
  65. package/lib/cjs/components/superscript.ws.cjs +35 -11
  66. package/lib/cjs/components/text-block.cjs +29 -6
  67. package/lib/cjs/components/text-block.ws.cjs +42 -18
  68. package/lib/cjs/css/breakpoints.cjs +27 -7
  69. package/lib/cjs/css/categories.cjs +218 -203
  70. package/lib/cjs/css/get-browser-style.cjs +59 -41
  71. package/lib/cjs/css/index.cjs +18 -17
  72. package/lib/cjs/db/index.cjs +17 -16
  73. package/lib/cjs/db/instance.cjs +37 -17
  74. package/lib/cjs/db/types.cjs +15 -1
  75. package/lib/cjs/index.cjs +30 -35
  76. package/lib/cjs/pubsub/create.cjs +77 -61
  77. package/lib/cjs/pubsub/index.cjs +16 -15
  78. package/lib/cjs/tree/create-elements-tree.cjs +90 -48
  79. package/lib/cjs/tree/index.cjs +18 -17
  80. package/lib/cjs/tree/root.cjs +42 -42
  81. package/lib/cjs/tree/session-storage-polyfill.cjs +60 -37
  82. package/lib/cjs/tree/wrapper-component.cjs +55 -24
  83. package/lib/cjs/user-props/all-user-props.cjs +35 -17
  84. package/lib/cjs/user-props/index.cjs +19 -18
  85. package/lib/cjs/user-props/schema.cjs +52 -31
  86. package/lib/cjs/user-props/types.cjs +15 -1
  87. package/lib/cjs/user-props/use-user-props-asset.cjs +40 -19
  88. package/lib/cjs/user-props/use-user-props.cjs +39 -20
  89. package/lib/components/__generated__/body.props.json +489 -489
  90. package/lib/components/__generated__/bold.props.json +489 -489
  91. package/lib/components/__generated__/box.props.json +506 -506
  92. package/lib/components/__generated__/button.props.json +545 -545
  93. package/lib/components/__generated__/form.props.json +529 -529
  94. package/lib/components/__generated__/heading.props.json +495 -495
  95. package/lib/components/__generated__/image.props.json +558 -558
  96. package/lib/components/__generated__/input.props.json +655 -655
  97. package/lib/components/__generated__/italic.props.json +489 -489
  98. package/lib/components/__generated__/link.props.json +545 -545
  99. package/lib/components/__generated__/paragraph.props.json +489 -489
  100. package/lib/components/__generated__/rich-text-link.props.json +547 -0
  101. package/lib/components/__generated__/span.props.json +489 -489
  102. package/lib/components/__generated__/subscript.props.json +489 -489
  103. package/lib/components/__generated__/superscript.props.json +489 -489
  104. package/lib/components/__generated__/text-block.props.json +489 -489
  105. package/lib/components/body.js +8 -2
  106. package/lib/components/body.ws.js +57 -57
  107. package/lib/components/bold.js +8 -2
  108. package/lib/components/bold.ws.js +9 -9
  109. package/lib/components/box.js +11 -3
  110. package/lib/components/box.ws.js +14 -14
  111. package/lib/components/button.js +11 -3
  112. package/lib/components/button.ws.js +10 -10
  113. package/lib/components/component-type.js +54 -21
  114. package/lib/components/form.js +8 -2
  115. package/lib/components/form.ws.js +19 -19
  116. package/lib/components/heading.js +11 -3
  117. package/lib/components/heading.ws.js +10 -10
  118. package/lib/components/image.js +17 -9
  119. package/lib/components/image.ws.js +19 -22
  120. package/lib/components/index.js +111 -61
  121. package/lib/components/input.js +8 -2
  122. package/lib/components/input.ws.js +9 -9
  123. package/lib/components/italic.js +8 -2
  124. package/lib/components/italic.ws.js +14 -14
  125. package/lib/components/link.js +11 -3
  126. package/lib/components/link.ws.js +20 -20
  127. package/lib/components/paragraph.js +8 -2
  128. package/lib/components/paragraph.ws.js +10 -10
  129. package/lib/components/rich-text-link.js +13 -0
  130. package/lib/components/rich-text-link.ws.js +12 -0
  131. package/lib/components/span.js +8 -2
  132. package/lib/components/span.ws.js +9 -9
  133. package/lib/components/subscript.js +8 -2
  134. package/lib/components/subscript.ws.js +9 -9
  135. package/lib/components/superscript.js +8 -2
  136. package/lib/components/superscript.ws.js +9 -9
  137. package/lib/components/text-block.js +8 -2
  138. package/lib/components/text-block.ws.js +16 -16
  139. package/lib/css/breakpoints.js +8 -5
  140. package/lib/css/categories.js +198 -200
  141. package/lib/css/get-browser-style.js +38 -36
  142. package/lib/db/instance.js +14 -10
  143. package/lib/db/types.js +0 -1
  144. package/lib/index.js +8 -2
  145. package/lib/pubsub/create.js +52 -55
  146. package/lib/tree/create-elements-tree.js +68 -42
  147. package/lib/tree/root.js +19 -12
  148. package/lib/tree/session-storage-polyfill.js +41 -34
  149. package/lib/tree/wrapper-component.js +34 -18
  150. package/lib/user-props/all-user-props.js +15 -13
  151. package/lib/user-props/schema.js +33 -29
  152. package/lib/user-props/types.js +0 -1
  153. package/lib/user-props/use-user-props-asset.js +20 -15
  154. package/lib/user-props/use-user-props.js +19 -16
  155. package/package.json +11 -19
  156. package/src/app/custom-components/image.tsx +65 -0
  157. package/src/app/custom-components/index.ts +17 -0
  158. package/src/app/custom-components/link.tsx +4 -0
  159. package/src/app/custom-components/rich-text-link.tsx +4 -0
  160. package/src/app/custom-components/shared/remix-link.tsx +40 -0
  161. package/src/app/handle-request.server.tsx +21 -0
  162. package/{lib/app/index.d.ts → src/app/index.ts} +0 -1
  163. package/src/app/params.ts +13 -0
  164. package/src/app/root.tsx +27 -0
  165. package/src/components/__generated__/body.props.json +491 -0
  166. package/src/components/__generated__/bold.props.json +491 -0
  167. package/src/components/__generated__/box.props.json +508 -0
  168. package/src/components/__generated__/button.props.json +547 -0
  169. package/src/components/__generated__/form.props.json +531 -0
  170. package/src/components/__generated__/heading.props.json +497 -0
  171. package/src/components/__generated__/image.props.json +560 -0
  172. package/src/components/__generated__/input.props.json +657 -0
  173. package/src/components/__generated__/italic.props.json +491 -0
  174. package/src/components/__generated__/link.props.json +547 -0
  175. package/src/components/__generated__/paragraph.props.json +491 -0
  176. package/src/components/__generated__/rich-text-link.props.json +547 -0
  177. package/src/components/__generated__/span.props.json +491 -0
  178. package/src/components/__generated__/subscript.props.json +491 -0
  179. package/src/components/__generated__/superscript.props.json +491 -0
  180. package/src/components/__generated__/text-block.props.json +491 -0
  181. package/src/components/body.stories.tsx +11 -0
  182. package/src/components/body.tsx +10 -0
  183. package/src/components/body.ws.tsx +63 -0
  184. package/src/components/bold.stories.tsx +16 -0
  185. package/src/components/bold.tsx +10 -0
  186. package/src/components/bold.ws.tsx +12 -0
  187. package/src/components/box.stories.tsx +17 -0
  188. package/src/components/box.tsx +31 -0
  189. package/src/components/box.ws.ts +20 -0
  190. package/src/components/button.stories.tsx +17 -0
  191. package/src/components/button.tsx +14 -0
  192. package/src/components/button.ws.tsx +13 -0
  193. package/src/components/component-type.ts +89 -0
  194. package/src/components/form.stories.tsx +14 -0
  195. package/src/components/form.tsx +10 -0
  196. package/src/components/form.ws.tsx +25 -0
  197. package/src/components/heading.stories.tsx +16 -0
  198. package/src/components/heading.tsx +20 -0
  199. package/src/components/heading.ws.tsx +13 -0
  200. package/src/components/image.stories.tsx +15 -0
  201. package/src/components/image.tsx +52 -0
  202. package/src/components/image.ws.tsx +28 -0
  203. package/src/components/index.test.ts +28 -0
  204. package/src/components/index.ts +159 -0
  205. package/src/components/input.stories.tsx +14 -0
  206. package/src/components/input.tsx +11 -0
  207. package/src/components/input.ws.tsx +12 -0
  208. package/src/components/italic.stories.tsx +16 -0
  209. package/src/components/italic.tsx +10 -0
  210. package/src/components/italic.ws.tsx +20 -0
  211. package/src/components/link.stories.tsx +16 -0
  212. package/src/components/link.tsx +9 -0
  213. package/src/components/link.ws.tsx +26 -0
  214. package/src/components/paragraph.stories.tsx +16 -0
  215. package/src/components/paragraph.tsx +10 -0
  216. package/src/components/paragraph.ws.tsx +13 -0
  217. package/src/components/rich-text-link.stories.tsx +16 -0
  218. package/src/components/rich-text-link.tsx +9 -0
  219. package/src/components/rich-text-link.ws.tsx +12 -0
  220. package/src/components/span.stories.tsx +16 -0
  221. package/src/components/span.tsx +10 -0
  222. package/src/components/span.ws.tsx +12 -0
  223. package/src/components/subscript.stories.tsx +16 -0
  224. package/src/components/subscript.tsx +10 -0
  225. package/src/components/subscript.ws.tsx +12 -0
  226. package/src/components/superscript.stories.tsx +16 -0
  227. package/src/components/superscript.tsx +10 -0
  228. package/src/components/superscript.ws.tsx +12 -0
  229. package/src/components/text-block.stories.tsx +16 -0
  230. package/src/components/text-block.tsx +10 -0
  231. package/src/components/text-block.ws.tsx +22 -0
  232. package/src/css/breakpoints.ts +10 -0
  233. package/src/css/categories.ts +254 -0
  234. package/src/css/get-browser-style.ts +56 -0
  235. package/{lib/cjs/css/index.d.ts → src/css/index.ts} +0 -1
  236. package/{lib/cjs/db/index.d.ts → src/db/index.ts} +0 -1
  237. package/src/db/instance.ts +34 -0
  238. package/src/db/types.ts +18 -0
  239. package/{lib/cjs/index.d.ts → src/index.ts} +5 -3
  240. package/src/pubsub/create.ts +86 -0
  241. package/src/pubsub/index.ts +1 -0
  242. package/src/tree/create-elements-tree.tsx +102 -0
  243. package/{lib/cjs/tree/index.d.ts → src/tree/index.ts} +0 -1
  244. package/src/tree/root.ts +45 -0
  245. package/src/tree/session-storage-polyfill.tsx +50 -0
  246. package/src/tree/wrapper-component.tsx +50 -0
  247. package/src/user-props/all-user-props.ts +22 -0
  248. package/{lib/cjs/user-props/index.d.ts → src/user-props/index.ts} +0 -1
  249. package/src/user-props/schema.ts +35 -0
  250. package/src/user-props/types.ts +14 -0
  251. package/src/user-props/use-user-props-asset.ts +35 -0
  252. package/src/user-props/use-user-props.ts +32 -0
  253. package/lib/app/custom-components/image.d.ts +0 -9
  254. package/lib/app/custom-components/image.d.ts.map +0 -1
  255. package/lib/app/custom-components/index.d.ts +0 -2
  256. package/lib/app/custom-components/index.d.ts.map +0 -1
  257. package/lib/app/handle-request.server.d.ts +0 -3
  258. package/lib/app/handle-request.server.d.ts.map +0 -1
  259. package/lib/app/index.d.ts.map +0 -1
  260. package/lib/app/params.d.ts +0 -6
  261. package/lib/app/params.d.ts.map +0 -1
  262. package/lib/app/root.d.ts +0 -9
  263. package/lib/app/root.d.ts.map +0 -1
  264. package/lib/cjs/app/custom-components/image.d.ts +0 -9
  265. package/lib/cjs/app/custom-components/image.d.ts.map +0 -1
  266. package/lib/cjs/app/custom-components/index.d.ts +0 -2
  267. package/lib/cjs/app/custom-components/index.d.ts.map +0 -1
  268. package/lib/cjs/app/handle-request.server.d.ts +0 -3
  269. package/lib/cjs/app/handle-request.server.d.ts.map +0 -1
  270. package/lib/cjs/app/index.d.ts +0 -4
  271. package/lib/cjs/app/index.d.ts.map +0 -1
  272. package/lib/cjs/app/params.d.ts +0 -6
  273. package/lib/cjs/app/params.d.ts.map +0 -1
  274. package/lib/cjs/app/root.d.ts +0 -9
  275. package/lib/cjs/app/root.d.ts.map +0 -1
  276. package/lib/cjs/components/body.d.ts +0 -3
  277. package/lib/cjs/components/body.d.ts.map +0 -1
  278. package/lib/cjs/components/body.stories.cjs +0 -11
  279. package/lib/cjs/components/body.stories.d.ts +0 -7
  280. package/lib/cjs/components/body.stories.d.ts.map +0 -1
  281. package/lib/cjs/components/body.ws.d.ts +0 -5
  282. package/lib/cjs/components/body.ws.d.ts.map +0 -1
  283. package/lib/cjs/components/bold.d.ts +0 -3
  284. package/lib/cjs/components/bold.d.ts.map +0 -1
  285. package/lib/cjs/components/bold.stories.cjs +0 -14
  286. package/lib/cjs/components/bold.stories.d.ts +0 -6
  287. package/lib/cjs/components/bold.stories.d.ts.map +0 -1
  288. package/lib/cjs/components/bold.ws.d.ts +0 -5
  289. package/lib/cjs/components/bold.ws.d.ts.map +0 -1
  290. package/lib/cjs/components/box.d.ts +0 -8
  291. package/lib/cjs/components/box.d.ts.map +0 -1
  292. package/lib/cjs/components/box.stories.cjs +0 -12
  293. package/lib/cjs/components/box.stories.d.ts +0 -10
  294. package/lib/cjs/components/box.stories.d.ts.map +0 -1
  295. package/lib/cjs/components/box.ws.d.ts +0 -5
  296. package/lib/cjs/components/box.ws.d.ts.map +0 -1
  297. package/lib/cjs/components/button.d.ts +0 -3
  298. package/lib/cjs/components/button.d.ts.map +0 -1
  299. package/lib/cjs/components/button.stories.cjs +0 -14
  300. package/lib/cjs/components/button.stories.d.ts +0 -6
  301. package/lib/cjs/components/button.stories.d.ts.map +0 -1
  302. package/lib/cjs/components/button.ws.d.ts +0 -5
  303. package/lib/cjs/components/button.ws.d.ts.map +0 -1
  304. package/lib/cjs/components/component-type.d.ts +0 -17
  305. package/lib/cjs/components/component-type.d.ts.map +0 -1
  306. package/lib/cjs/components/form.d.ts +0 -3
  307. package/lib/cjs/components/form.d.ts.map +0 -1
  308. package/lib/cjs/components/form.stories.cjs +0 -12
  309. package/lib/cjs/components/form.stories.d.ts +0 -6
  310. package/lib/cjs/components/form.stories.d.ts.map +0 -1
  311. package/lib/cjs/components/form.ws.d.ts +0 -5
  312. package/lib/cjs/components/form.ws.d.ts.map +0 -1
  313. package/lib/cjs/components/heading.d.ts +0 -8
  314. package/lib/cjs/components/heading.d.ts.map +0 -1
  315. package/lib/cjs/components/heading.stories.cjs +0 -14
  316. package/lib/cjs/components/heading.stories.d.ts +0 -10
  317. package/lib/cjs/components/heading.stories.d.ts.map +0 -1
  318. package/lib/cjs/components/heading.ws.d.ts +0 -5
  319. package/lib/cjs/components/heading.ws.d.ts.map +0 -1
  320. package/lib/cjs/components/image.d.ts +0 -3
  321. package/lib/cjs/components/image.d.ts.map +0 -1
  322. package/lib/cjs/components/image.stories.cjs +0 -12
  323. package/lib/cjs/components/image.stories.d.ts +0 -6
  324. package/lib/cjs/components/image.stories.d.ts.map +0 -1
  325. package/lib/cjs/components/image.ws.d.ts +0 -5
  326. package/lib/cjs/components/image.ws.d.ts.map +0 -1
  327. package/lib/cjs/components/index.d.ts +0 -90
  328. package/lib/cjs/components/index.d.ts.map +0 -1
  329. package/lib/cjs/components/index.test.cjs +0 -7
  330. package/lib/cjs/components/index.test.d.ts +0 -2
  331. package/lib/cjs/components/index.test.d.ts.map +0 -1
  332. package/lib/cjs/components/input.d.ts +0 -3
  333. package/lib/cjs/components/input.d.ts.map +0 -1
  334. package/lib/cjs/components/input.stories.cjs +0 -12
  335. package/lib/cjs/components/input.stories.d.ts +0 -6
  336. package/lib/cjs/components/input.stories.d.ts.map +0 -1
  337. package/lib/cjs/components/input.ws.d.ts +0 -5
  338. package/lib/cjs/components/input.ws.d.ts.map +0 -1
  339. package/lib/cjs/components/italic.d.ts +0 -3
  340. package/lib/cjs/components/italic.d.ts.map +0 -1
  341. package/lib/cjs/components/italic.stories.cjs +0 -14
  342. package/lib/cjs/components/italic.stories.d.ts +0 -6
  343. package/lib/cjs/components/italic.stories.d.ts.map +0 -1
  344. package/lib/cjs/components/italic.ws.d.ts +0 -5
  345. package/lib/cjs/components/italic.ws.d.ts.map +0 -1
  346. package/lib/cjs/components/link.d.ts +0 -8
  347. package/lib/cjs/components/link.d.ts.map +0 -1
  348. package/lib/cjs/components/link.stories.cjs +0 -14
  349. package/lib/cjs/components/link.stories.d.ts +0 -10
  350. package/lib/cjs/components/link.stories.d.ts.map +0 -1
  351. package/lib/cjs/components/link.ws.d.ts +0 -5
  352. package/lib/cjs/components/link.ws.d.ts.map +0 -1
  353. package/lib/cjs/components/meta.cjs +0 -42
  354. package/lib/cjs/components/meta.d.ts +0 -7464
  355. package/lib/cjs/components/meta.d.ts.map +0 -1
  356. package/lib/cjs/components/paragraph.d.ts +0 -3
  357. package/lib/cjs/components/paragraph.d.ts.map +0 -1
  358. package/lib/cjs/components/paragraph.stories.cjs +0 -14
  359. package/lib/cjs/components/paragraph.stories.d.ts +0 -6
  360. package/lib/cjs/components/paragraph.stories.d.ts.map +0 -1
  361. package/lib/cjs/components/paragraph.ws.d.ts +0 -5
  362. package/lib/cjs/components/paragraph.ws.d.ts.map +0 -1
  363. package/lib/cjs/components/span.d.ts +0 -3
  364. package/lib/cjs/components/span.d.ts.map +0 -1
  365. package/lib/cjs/components/span.stories.cjs +0 -14
  366. package/lib/cjs/components/span.stories.d.ts +0 -6
  367. package/lib/cjs/components/span.stories.d.ts.map +0 -1
  368. package/lib/cjs/components/span.ws.d.ts +0 -5
  369. package/lib/cjs/components/span.ws.d.ts.map +0 -1
  370. package/lib/cjs/components/subscript.d.ts +0 -3
  371. package/lib/cjs/components/subscript.d.ts.map +0 -1
  372. package/lib/cjs/components/subscript.stories.cjs +0 -14
  373. package/lib/cjs/components/subscript.stories.d.ts +0 -6
  374. package/lib/cjs/components/subscript.stories.d.ts.map +0 -1
  375. package/lib/cjs/components/subscript.ws.d.ts +0 -5
  376. package/lib/cjs/components/subscript.ws.d.ts.map +0 -1
  377. package/lib/cjs/components/superscript.d.ts +0 -3
  378. package/lib/cjs/components/superscript.d.ts.map +0 -1
  379. package/lib/cjs/components/superscript.stories.cjs +0 -14
  380. package/lib/cjs/components/superscript.stories.d.ts +0 -6
  381. package/lib/cjs/components/superscript.stories.d.ts.map +0 -1
  382. package/lib/cjs/components/superscript.ws.d.ts +0 -5
  383. package/lib/cjs/components/superscript.ws.d.ts.map +0 -1
  384. package/lib/cjs/components/text-block.d.ts +0 -3
  385. package/lib/cjs/components/text-block.d.ts.map +0 -1
  386. package/lib/cjs/components/text-block.stories.cjs +0 -14
  387. package/lib/cjs/components/text-block.stories.d.ts +0 -6
  388. package/lib/cjs/components/text-block.stories.d.ts.map +0 -1
  389. package/lib/cjs/components/text-block.ws.d.ts +0 -5
  390. package/lib/cjs/components/text-block.ws.d.ts.map +0 -1
  391. package/lib/cjs/css/breakpoints.d.ts +0 -4
  392. package/lib/cjs/css/breakpoints.d.ts.map +0 -1
  393. package/lib/cjs/css/categories.d.ts +0 -409
  394. package/lib/cjs/css/categories.d.ts.map +0 -1
  395. package/lib/cjs/css/get-browser-style.d.ts +0 -3
  396. package/lib/cjs/css/get-browser-style.d.ts.map +0 -1
  397. package/lib/cjs/css/index.d.ts.map +0 -1
  398. package/lib/cjs/db/index.d.ts.map +0 -1
  399. package/lib/cjs/db/instance.d.ts +0 -14
  400. package/lib/cjs/db/instance.d.ts.map +0 -1
  401. package/lib/cjs/db/types.d.ts +0 -17
  402. package/lib/cjs/db/types.d.ts.map +0 -1
  403. package/lib/cjs/index.d.ts.map +0 -1
  404. package/lib/cjs/pubsub/create.d.ts +0 -29
  405. package/lib/cjs/pubsub/create.d.ts.map +0 -1
  406. package/lib/cjs/pubsub/index.d.ts +0 -2
  407. package/lib/cjs/pubsub/index.d.ts.map +0 -1
  408. package/lib/cjs/tree/create-elements-tree.d.ts +0 -19
  409. package/lib/cjs/tree/create-elements-tree.d.ts.map +0 -1
  410. package/lib/cjs/tree/index.d.ts.map +0 -1
  411. package/lib/cjs/tree/root.d.ts +0 -20
  412. package/lib/cjs/tree/root.d.ts.map +0 -1
  413. package/lib/cjs/tree/session-storage-polyfill.d.ts +0 -3
  414. package/lib/cjs/tree/session-storage-polyfill.d.ts.map +0 -1
  415. package/lib/cjs/tree/wrapper-component.d.ts +0 -13
  416. package/lib/cjs/tree/wrapper-component.d.ts.map +0 -1
  417. package/lib/cjs/user-props/all-user-props.d.ts +0 -8
  418. package/lib/cjs/user-props/all-user-props.d.ts.map +0 -1
  419. package/lib/cjs/user-props/index.d.ts.map +0 -1
  420. package/lib/cjs/user-props/schema.d.ts +0 -72
  421. package/lib/cjs/user-props/schema.d.ts.map +0 -1
  422. package/lib/cjs/user-props/types.d.ts +0 -13
  423. package/lib/cjs/user-props/types.d.ts.map +0 -1
  424. package/lib/cjs/user-props/use-user-props-asset.d.ts +0 -8
  425. package/lib/cjs/user-props/use-user-props-asset.d.ts.map +0 -1
  426. package/lib/cjs/user-props/use-user-props.d.ts +0 -12
  427. package/lib/cjs/user-props/use-user-props.d.ts.map +0 -1
  428. package/lib/components/body.d.ts +0 -3
  429. package/lib/components/body.d.ts.map +0 -1
  430. package/lib/components/body.stories.d.ts +0 -7
  431. package/lib/components/body.stories.d.ts.map +0 -1
  432. package/lib/components/body.stories.js +0 -7
  433. package/lib/components/body.ws.d.ts +0 -5
  434. package/lib/components/body.ws.d.ts.map +0 -1
  435. package/lib/components/bold.d.ts +0 -3
  436. package/lib/components/bold.d.ts.map +0 -1
  437. package/lib/components/bold.stories.d.ts +0 -6
  438. package/lib/components/bold.stories.d.ts.map +0 -1
  439. package/lib/components/bold.stories.js +0 -11
  440. package/lib/components/bold.ws.d.ts +0 -5
  441. package/lib/components/bold.ws.d.ts.map +0 -1
  442. package/lib/components/box.d.ts +0 -8
  443. package/lib/components/box.d.ts.map +0 -1
  444. package/lib/components/box.stories.d.ts +0 -10
  445. package/lib/components/box.stories.d.ts.map +0 -1
  446. package/lib/components/box.stories.js +0 -9
  447. package/lib/components/box.ws.d.ts +0 -5
  448. package/lib/components/box.ws.d.ts.map +0 -1
  449. package/lib/components/button.d.ts +0 -3
  450. package/lib/components/button.d.ts.map +0 -1
  451. package/lib/components/button.stories.d.ts +0 -6
  452. package/lib/components/button.stories.d.ts.map +0 -1
  453. package/lib/components/button.stories.js +0 -11
  454. package/lib/components/button.ws.d.ts +0 -5
  455. package/lib/components/button.ws.d.ts.map +0 -1
  456. package/lib/components/component-type.d.ts +0 -17
  457. package/lib/components/component-type.d.ts.map +0 -1
  458. package/lib/components/form.d.ts +0 -3
  459. package/lib/components/form.d.ts.map +0 -1
  460. package/lib/components/form.stories.d.ts +0 -6
  461. package/lib/components/form.stories.d.ts.map +0 -1
  462. package/lib/components/form.stories.js +0 -9
  463. package/lib/components/form.ws.d.ts +0 -5
  464. package/lib/components/form.ws.d.ts.map +0 -1
  465. package/lib/components/heading.d.ts +0 -8
  466. package/lib/components/heading.d.ts.map +0 -1
  467. package/lib/components/heading.stories.d.ts +0 -10
  468. package/lib/components/heading.stories.d.ts.map +0 -1
  469. package/lib/components/heading.stories.js +0 -11
  470. package/lib/components/heading.ws.d.ts +0 -5
  471. package/lib/components/heading.ws.d.ts.map +0 -1
  472. package/lib/components/image.d.ts +0 -3
  473. package/lib/components/image.d.ts.map +0 -1
  474. package/lib/components/image.stories.d.ts +0 -6
  475. package/lib/components/image.stories.d.ts.map +0 -1
  476. package/lib/components/image.stories.js +0 -9
  477. package/lib/components/image.ws.d.ts +0 -5
  478. package/lib/components/image.ws.d.ts.map +0 -1
  479. package/lib/components/index.d.ts +0 -90
  480. package/lib/components/index.d.ts.map +0 -1
  481. package/lib/components/index.test.d.ts +0 -2
  482. package/lib/components/index.test.d.ts.map +0 -1
  483. package/lib/components/index.test.js +0 -5
  484. package/lib/components/input.d.ts +0 -3
  485. package/lib/components/input.d.ts.map +0 -1
  486. package/lib/components/input.stories.d.ts +0 -6
  487. package/lib/components/input.stories.d.ts.map +0 -1
  488. package/lib/components/input.stories.js +0 -9
  489. package/lib/components/input.ws.d.ts +0 -5
  490. package/lib/components/input.ws.d.ts.map +0 -1
  491. package/lib/components/italic.d.ts +0 -3
  492. package/lib/components/italic.d.ts.map +0 -1
  493. package/lib/components/italic.stories.d.ts +0 -6
  494. package/lib/components/italic.stories.d.ts.map +0 -1
  495. package/lib/components/italic.stories.js +0 -11
  496. package/lib/components/italic.ws.d.ts +0 -5
  497. package/lib/components/italic.ws.d.ts.map +0 -1
  498. package/lib/components/link.d.ts +0 -8
  499. package/lib/components/link.d.ts.map +0 -1
  500. package/lib/components/link.stories.d.ts +0 -10
  501. package/lib/components/link.stories.d.ts.map +0 -1
  502. package/lib/components/link.stories.js +0 -11
  503. package/lib/components/link.ws.d.ts +0 -5
  504. package/lib/components/link.ws.d.ts.map +0 -1
  505. package/lib/components/meta.d.ts +0 -7464
  506. package/lib/components/meta.d.ts.map +0 -1
  507. package/lib/components/meta.js +0 -35
  508. package/lib/components/paragraph.d.ts +0 -3
  509. package/lib/components/paragraph.d.ts.map +0 -1
  510. package/lib/components/paragraph.stories.d.ts +0 -6
  511. package/lib/components/paragraph.stories.d.ts.map +0 -1
  512. package/lib/components/paragraph.stories.js +0 -11
  513. package/lib/components/paragraph.ws.d.ts +0 -5
  514. package/lib/components/paragraph.ws.d.ts.map +0 -1
  515. package/lib/components/span.d.ts +0 -3
  516. package/lib/components/span.d.ts.map +0 -1
  517. package/lib/components/span.stories.d.ts +0 -6
  518. package/lib/components/span.stories.d.ts.map +0 -1
  519. package/lib/components/span.stories.js +0 -11
  520. package/lib/components/span.ws.d.ts +0 -5
  521. package/lib/components/span.ws.d.ts.map +0 -1
  522. package/lib/components/subscript.d.ts +0 -3
  523. package/lib/components/subscript.d.ts.map +0 -1
  524. package/lib/components/subscript.stories.d.ts +0 -6
  525. package/lib/components/subscript.stories.d.ts.map +0 -1
  526. package/lib/components/subscript.stories.js +0 -11
  527. package/lib/components/subscript.ws.d.ts +0 -5
  528. package/lib/components/subscript.ws.d.ts.map +0 -1
  529. package/lib/components/superscript.d.ts +0 -3
  530. package/lib/components/superscript.d.ts.map +0 -1
  531. package/lib/components/superscript.stories.d.ts +0 -6
  532. package/lib/components/superscript.stories.d.ts.map +0 -1
  533. package/lib/components/superscript.stories.js +0 -11
  534. package/lib/components/superscript.ws.d.ts +0 -5
  535. package/lib/components/superscript.ws.d.ts.map +0 -1
  536. package/lib/components/text-block.d.ts +0 -3
  537. package/lib/components/text-block.d.ts.map +0 -1
  538. package/lib/components/text-block.stories.d.ts +0 -6
  539. package/lib/components/text-block.stories.d.ts.map +0 -1
  540. package/lib/components/text-block.stories.js +0 -11
  541. package/lib/components/text-block.ws.d.ts +0 -5
  542. package/lib/components/text-block.ws.d.ts.map +0 -1
  543. package/lib/css/breakpoints.d.ts +0 -4
  544. package/lib/css/breakpoints.d.ts.map +0 -1
  545. package/lib/css/categories.d.ts +0 -409
  546. package/lib/css/categories.d.ts.map +0 -1
  547. package/lib/css/get-browser-style.d.ts +0 -3
  548. package/lib/css/get-browser-style.d.ts.map +0 -1
  549. package/lib/css/index.d.ts +0 -4
  550. package/lib/css/index.d.ts.map +0 -1
  551. package/lib/db/index.d.ts +0 -3
  552. package/lib/db/index.d.ts.map +0 -1
  553. package/lib/db/instance.d.ts +0 -14
  554. package/lib/db/instance.d.ts.map +0 -1
  555. package/lib/db/types.d.ts +0 -17
  556. package/lib/db/types.d.ts.map +0 -1
  557. package/lib/index.d.ts +0 -10
  558. package/lib/index.d.ts.map +0 -1
  559. package/lib/pubsub/create.d.ts +0 -29
  560. package/lib/pubsub/create.d.ts.map +0 -1
  561. package/lib/pubsub/index.d.ts +0 -2
  562. package/lib/pubsub/index.d.ts.map +0 -1
  563. package/lib/tree/create-elements-tree.d.ts +0 -19
  564. package/lib/tree/create-elements-tree.d.ts.map +0 -1
  565. package/lib/tree/index.d.ts +0 -4
  566. package/lib/tree/index.d.ts.map +0 -1
  567. package/lib/tree/root.d.ts +0 -20
  568. package/lib/tree/root.d.ts.map +0 -1
  569. package/lib/tree/session-storage-polyfill.d.ts +0 -3
  570. package/lib/tree/session-storage-polyfill.d.ts.map +0 -1
  571. package/lib/tree/wrapper-component.d.ts +0 -13
  572. package/lib/tree/wrapper-component.d.ts.map +0 -1
  573. package/lib/tsconfig.tsbuildinfo +0 -1
  574. package/lib/user-props/all-user-props.d.ts +0 -8
  575. package/lib/user-props/all-user-props.d.ts.map +0 -1
  576. package/lib/user-props/index.d.ts +0 -5
  577. package/lib/user-props/index.d.ts.map +0 -1
  578. package/lib/user-props/schema.d.ts +0 -72
  579. package/lib/user-props/schema.d.ts.map +0 -1
  580. package/lib/user-props/types.d.ts +0 -13
  581. package/lib/user-props/types.d.ts.map +0 -1
  582. package/lib/user-props/use-user-props-asset.d.ts +0 -8
  583. package/lib/user-props/use-user-props-asset.d.ts.map +0 -1
  584. package/lib/user-props/use-user-props.d.ts +0 -12
  585. package/lib/user-props/use-user-props.d.ts.map +0 -1
package/package.json CHANGED
@@ -1,21 +1,19 @@
1
1
  {
2
2
  "name": "@webstudio-is/react-sdk",
3
- "version": "0.9.0",
3
+ "version": "0.10.1",
4
4
  "description": "Webstudio JavaScript / TypeScript API",
5
5
  "author": "Webstudio <github@webstudio.is>",
6
6
  "homepage": "https://webstudio.is",
7
7
  "type": "module",
8
8
  "scripts": {
9
- "dev": "tsup --watch",
10
- "build": "yarn build:lib",
9
+ "dev": "build-package --watch",
10
+ "build": "build-package",
11
11
  "build:args": "generate-arg-types './src/components/*.tsx !./src/**/*.stories.tsx !./src/**/*.ws.tsx' && prettier --write \"**/*.props.json\"",
12
12
  "typecheck": "tsc --noEmit",
13
- "build:cjs": "tsc --module commonjs --outDir lib/cjs && find lib/cjs -name '*.js' | while read NAME; do mv $NAME ${NAME%.js}.cjs; done",
14
- "build:lib": "rm -fr lib tsconfig.tsbuildinfo && tsc && yarn build:cjs",
15
13
  "test": "NODE_OPTIONS=--experimental-vm-modules jest",
16
14
  "lint": "eslint ./src --ext .ts,.tsx --max-warnings 0",
17
15
  "checks": "yarn typecheck && yarn lint && yarn test",
18
- "prepublishOnly": "yarn checks && yarn build:lib",
16
+ "prepublishOnly": "yarn checks && yarn build",
19
17
  "storybook:run": "start-storybook -p 6006",
20
18
  "storybook:build": "build-storybook",
21
19
  "publish-to-npm": "bash ../../bin/publish-to-npm.sh"
@@ -34,15 +32,16 @@
34
32
  "@storybook/react": "^6.5.6",
35
33
  "@storybook/testing-library": "^0.0.11",
36
34
  "@types/node": "^17.0.21",
37
- "@webstudio-is/jest-config": "*",
38
35
  "@webstudio-is/generate-arg-types": "*",
36
+ "@webstudio-is/jest-config": "*",
37
+ "@webstudio-is/scripts": "*",
38
+ "@webstudio-is/design-tokens": "*",
39
39
  "babel-loader": "^8.2.5",
40
40
  "esbuild": "^0.14.25",
41
41
  "esbuild-node-externals": "^1.4.1",
42
42
  "react": "^17.0.2",
43
43
  "react-dom": "^17.0.2",
44
44
  "remix-utils": "^4.1.0",
45
- "tsup": "^6.1.3",
46
45
  "tsx": "^3.9.0",
47
46
  "typescript": "4.7.4",
48
47
  "zod": "^3.19.1"
@@ -57,12 +56,12 @@
57
56
  "zod": "^3.19.1"
58
57
  },
59
58
  "dependencies": {
60
- "detect-font": "^0.1.5",
61
59
  "@webstudio-is/asset-uploader": "^*",
62
60
  "@webstudio-is/css-data": "*",
63
61
  "@webstudio-is/icons": "*",
64
62
  "@webstudio-is/image": "*",
65
63
  "@webstudio-is/prisma-client": "*",
64
+ "detect-font": "^0.1.5",
66
65
  "immer": "^9.0.12",
67
66
  "mitt": "^3.0.0",
68
67
  "react-nano-state": "^0.4.0",
@@ -72,20 +71,13 @@
72
71
  "import": "./lib/index.js",
73
72
  "require": "./lib/cjs/index.cjs"
74
73
  },
75
- "types": "lib/index.d.ts",
74
+ "types": "src/index.ts",
76
75
  "files": [
77
76
  "lib/*",
78
- "README.md",
77
+ "src/*",
79
78
  "!*.test.*"
80
79
  ],
81
80
  "license": "MIT",
82
81
  "private": false,
83
- "sideEffects": false,
84
- "tsup": {
85
- "entry": [
86
- "src/index.ts"
87
- ],
88
- "format": "esm",
89
- "outDir": "lib"
90
- }
82
+ "sideEffects": false
91
83
  }
@@ -0,0 +1,65 @@
1
+ import {
2
+ forwardRef,
3
+ useMemo,
4
+ type ComponentProps,
5
+ type ElementRef,
6
+ } from "react";
7
+ import { Image as WebstudioImage, loaders } from "@webstudio-is/image";
8
+ import { Image as SdkImage } from "../../components/image";
9
+ import { useUserPropsAsset } from "../../user-props/use-user-props-asset";
10
+ import { idAttribute } from "../../tree/wrapper-component";
11
+ import { getParams } from "../params";
12
+
13
+ const defaultTag = "img";
14
+
15
+ type Props = ComponentProps<typeof WebstudioImage> & { [idAttribute]: string };
16
+
17
+ export const Image = forwardRef<ElementRef<typeof defaultTag>, Props>(
18
+ (props, ref) => {
19
+ const componentId = props[idAttribute] as string;
20
+
21
+ const asset = useUserPropsAsset(componentId, "src");
22
+ const params = getParams();
23
+
24
+ const loader = useMemo(() => {
25
+ if (asset == null) {
26
+ return null;
27
+ }
28
+ if (asset.location === "REMOTE") {
29
+ return loaders.cloudflareImageLoader(params);
30
+ }
31
+ return loaders.localImageLoader();
32
+ }, [asset, params]);
33
+
34
+ let src = props.src;
35
+
36
+ if (asset != null) {
37
+ src = asset.path;
38
+ }
39
+
40
+ if (asset == null || loader == null) {
41
+ return <SdkImage key={src} {...props} src={src} ref={ref} />;
42
+ }
43
+
44
+ return (
45
+ <WebstudioImage
46
+ /**
47
+ * `key` is needed to recreate the image in case of asset change in designer,
48
+ * this gives immediate feedback when an asset is changed.
49
+ * Also, it visually fixes image distortion when another asset has a seriously different aspectRatio
50
+ * (we change aspectRatio CSS prop on asset change)
51
+ *
52
+ * In non-designer mode, key on images are usually also a good idea,
53
+ * prevents showing outdated images on route change.
54
+ **/
55
+ key={src}
56
+ {...props}
57
+ loader={loader}
58
+ src={src}
59
+ ref={ref}
60
+ />
61
+ );
62
+ }
63
+ );
64
+
65
+ Image.displayName = "Image";
@@ -0,0 +1,17 @@
1
+ import { Image } from "./image";
2
+ import { Link } from "./link";
3
+ import { RichTextLink } from "./rich-text-link";
4
+ import { imageProps } from "@webstudio-is/image";
5
+ import type { MetaProps } from "../../components/component-type";
6
+
7
+ export const customComponents = {
8
+ Image,
9
+ Link,
10
+ RichTextLink,
11
+ };
12
+
13
+ export const customComponentsMeta = {
14
+ Image: {
15
+ props: imageProps as MetaProps,
16
+ },
17
+ };
@@ -0,0 +1,4 @@
1
+ import { Link as BaseLink } from "../../components/link";
2
+ import { wrapLinkComponent } from "./shared/remix-link";
3
+
4
+ export const Link = wrapLinkComponent(BaseLink);
@@ -0,0 +1,4 @@
1
+ import { RichTextLink as BaseLink } from "../../components/rich-text-link";
2
+ import { wrapLinkComponent } from "./shared/remix-link";
3
+
4
+ export const RichTextLink = wrapLinkComponent(BaseLink);
@@ -0,0 +1,40 @@
1
+ import { Link } from "@remix-run/react";
2
+ import type {
3
+ ElementRef,
4
+ ComponentProps,
5
+ RefAttributes,
6
+ ForwardRefExoticComponent,
7
+ } from "react";
8
+ import { forwardRef } from "react";
9
+
10
+ const isAbsoluteUrl = (href: string) => {
11
+ try {
12
+ new URL(href);
13
+ return true;
14
+ } catch (e) {
15
+ return false;
16
+ }
17
+ };
18
+
19
+ type Props = Omit<ComponentProps<"a">, "href"> & { href?: string };
20
+
21
+ type Ref = ElementRef<"a">;
22
+
23
+ export const wrapLinkComponent = (
24
+ BaseLink: ForwardRefExoticComponent<Props & RefAttributes<Ref>>
25
+ ) => {
26
+ // We're not actually wrapping BaseLink (no way to wrap with Remix's Link),
27
+ // but this is still useful because we're making sure that props/ref types are compatible
28
+ const Component = forwardRef<Ref, Props>(({ href = "", ...props }, ref) =>
29
+ isAbsoluteUrl(href) ? (
30
+ <a {...props} href={href} ref={ref} />
31
+ ) : (
32
+ <Link {...props} to={href} ref={ref} />
33
+ )
34
+ );
35
+
36
+ // This is the only part that we use from BaseLink at runtime
37
+ Component.displayName = BaseLink.displayName;
38
+
39
+ return Component;
40
+ };
@@ -0,0 +1,21 @@
1
+ import { renderToString } from "react-dom/server";
2
+ import { RemixServer } from "@remix-run/react";
3
+ import type { EntryContext } from "@remix-run/node";
4
+
5
+ export const handleRequest = (
6
+ request: Request,
7
+ responseStatusCode: number,
8
+ responseHeaders: Headers,
9
+ remixContext: EntryContext
10
+ ) => {
11
+ const markup = renderToString(
12
+ <RemixServer context={remixContext} url={request.url} />
13
+ );
14
+
15
+ responseHeaders.set("Content-Type", "text/html");
16
+
17
+ return new Response(`<!DOCTYPE html>${markup}`, {
18
+ status: responseStatusCode,
19
+ headers: responseHeaders,
20
+ });
21
+ };
@@ -1,4 +1,3 @@
1
1
  export * from "./root";
2
2
  export * from "./handle-request.server";
3
3
  export * from "./params";
4
- //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,13 @@
1
+ export type Params = {
2
+ resizeOrigin?: string;
3
+ };
4
+
5
+ let params: Params | null = {};
6
+
7
+ const emptyParams: Params = {};
8
+
9
+ export const getParams = (): Params => params ?? emptyParams;
10
+
11
+ export const setParams = (newParams: Params | null) => {
12
+ params = newParams;
13
+ };
@@ -0,0 +1,27 @@
1
+ import { Links, Meta, Outlet as DefaultOutlet } from "@remix-run/react";
2
+ import { DynamicLinks } from "remix-utils";
3
+
4
+ /**
5
+ * We are using Outlet prop from index layout when user renders site from a subdomain.
6
+ */
7
+ export const Root = ({
8
+ Outlet = DefaultOutlet,
9
+ }: {
10
+ Outlet: typeof DefaultOutlet;
11
+ }) => {
12
+ return (
13
+ <html lang="en">
14
+ <head>
15
+ <meta charSet="utf-8" />
16
+ <meta name="viewport" content="width=device-width,initial-scale=1" />
17
+ <link rel="icon" href="/favicon.ico" type="image/x-icon" />
18
+ <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
19
+ <Meta />
20
+ <DynamicLinks />
21
+ <Links />
22
+ </head>
23
+
24
+ <Outlet />
25
+ </html>
26
+ );
27
+ };