@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
@@ -1,59 +1,56 @@
1
1
  import mitt from "mitt";
2
2
  import { useCallback, useEffect, useRef } from "react";
3
- export const createPubsub = () => {
4
- // `mitt` has a somewhat annoying overload for `*` type that makes it hard to wrap in a generic context
5
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
6
- const emitter = mitt();
7
- if (typeof window === "object") {
8
- window.addEventListener("message", (event) => {
9
- // @todo this has no type safety built in, could be anything from any source.
10
- // we could potentially maintain a list of valid event types at runtime
11
- // at the very least we could add a brand property or something to our events
12
- if (typeof event.data?.type === "string") {
13
- emitter.emit(event.data.type, event.data.payload);
14
- }
15
- }, false);
16
- }
17
- return {
18
- /**
19
- * To publish a postMessage event on the current window and parent window from the iframe.
20
- */
21
- publish(action) {
22
- window.parent.postMessage(action, "*");
23
- window.postMessage(action, "*");
24
- },
25
- /**
26
- * To publish a postMessage event on the iframe and parent window from the parent window.
27
- */
28
- usePublish() {
29
- const iframeRef = useRef(null);
30
- const publishCallback = useCallback((action) => {
31
- const element = iframeRef.current;
32
- if (element?.contentWindow == null)
33
- return;
34
- element.contentWindow.postMessage(action, "*");
35
- window.postMessage(action, "*");
36
- }, [iframeRef]);
37
- return [publishCallback, iframeRef];
38
- },
39
- /**
40
- * To subscribe a message event on the current window.
41
- */
42
- useSubscribe(type, onAction) {
43
- useEffect(() => {
44
- emitter.on(type, onAction);
45
- return () => {
46
- emitter.off(type, onAction);
47
- };
48
- }, [type, onAction]);
3
+ const createPubsub = () => {
4
+ const emitter = mitt();
5
+ if (typeof window === "object") {
6
+ window.addEventListener(
7
+ "message",
8
+ (event) => {
9
+ if (typeof event.data?.type === "string") {
10
+ emitter.emit(event.data.type, event.data.payload);
11
+ }
12
+ },
13
+ false
14
+ );
15
+ }
16
+ return {
17
+ publish(action) {
18
+ window.parent.postMessage(action, "*");
19
+ window.postMessage(action, "*");
20
+ },
21
+ usePublish() {
22
+ const iframeRef = useRef(null);
23
+ const publishCallback = useCallback(
24
+ (action) => {
25
+ const element = iframeRef.current;
26
+ if (element?.contentWindow == null) {
27
+ return;
28
+ }
29
+ element.contentWindow.postMessage(action, "*");
30
+ window.postMessage(action, "*");
49
31
  },
50
- useSubscribeAll(onAction) {
51
- useEffect(() => {
52
- emitter.on("*", onAction);
53
- return () => {
54
- emitter.off("*", onAction);
55
- };
56
- }, [onAction]);
57
- },
58
- };
32
+ [iframeRef]
33
+ );
34
+ return [publishCallback, iframeRef];
35
+ },
36
+ useSubscribe(type, onAction) {
37
+ useEffect(() => {
38
+ emitter.on(type, onAction);
39
+ return () => {
40
+ emitter.off(type, onAction);
41
+ };
42
+ }, [type, onAction]);
43
+ },
44
+ useSubscribeAll(onAction) {
45
+ useEffect(() => {
46
+ emitter.on("*", onAction);
47
+ return () => {
48
+ emitter.off("*", onAction);
49
+ };
50
+ }, [onAction]);
51
+ }
52
+ };
53
+ };
54
+ export {
55
+ createPubsub
59
56
  };
@@ -1,50 +1,76 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { Fragment } from "react";
3
3
  import { Scripts, ScrollRestoration } from "@remix-run/react";
4
4
  import { SessionStoragePolyfill } from "./session-storage-polyfill";
5
- export const createElementsTree = ({ sandbox, instance, Component, onChangeChildren, }) => {
6
- const children = createInstanceChildrenElements({
7
- Component,
8
- children: instance.children,
9
- onChangeChildren,
10
- });
11
- const body = createInstanceElement({
12
- Component,
13
- instance,
5
+ const createElementsTree = ({
6
+ sandbox,
7
+ instance,
8
+ Component,
9
+ onChangeChildren
10
+ }) => {
11
+ const children = createInstanceChildrenElements({
12
+ Component,
13
+ children: instance.children,
14
+ onChangeChildren
15
+ });
16
+ const body = createInstanceElement({
17
+ Component,
18
+ instance,
19
+ children: [
20
+ /* @__PURE__ */ jsxs(Fragment, {
14
21
  children: [
15
- _jsxs(Fragment, { children: [children, sandbox && _jsx(SessionStoragePolyfill, {}), _jsx(ScrollRestoration, {}), _jsx(Scripts, {})] }, "children"),
16
- ],
17
- });
18
- return body;
22
+ children,
23
+ sandbox && /* @__PURE__ */ jsx(SessionStoragePolyfill, {}),
24
+ /* @__PURE__ */ jsx(ScrollRestoration, {}),
25
+ /* @__PURE__ */ jsx(Scripts, {})
26
+ ]
27
+ }, "children")
28
+ ]
29
+ });
30
+ return body;
19
31
  };
20
- const createInstanceChildrenElements = ({ children, Component, onChangeChildren, }) => {
21
- const elements = [];
22
- for (const child of children) {
23
- if (typeof child === "string") {
24
- elements.push(child);
25
- continue;
26
- }
27
- const children = createInstanceChildrenElements({
28
- children: child.children,
29
- Component,
30
- onChangeChildren,
31
- });
32
- const element = createInstanceElement({
33
- instance: child,
34
- Component,
35
- onChangeChildren,
36
- children,
37
- });
38
- elements.push(element);
32
+ const createInstanceChildrenElements = ({
33
+ children,
34
+ Component,
35
+ onChangeChildren
36
+ }) => {
37
+ const elements = [];
38
+ for (const child of children) {
39
+ if (typeof child === "string") {
40
+ elements.push(child);
41
+ continue;
39
42
  }
40
- return elements;
43
+ const children2 = createInstanceChildrenElements({
44
+ children: child.children,
45
+ Component,
46
+ onChangeChildren
47
+ });
48
+ const element = createInstanceElement({
49
+ instance: child,
50
+ Component,
51
+ onChangeChildren,
52
+ children: children2
53
+ });
54
+ elements.push(element);
55
+ }
56
+ return elements;
57
+ };
58
+ const createInstanceElement = ({
59
+ Component,
60
+ instance,
61
+ children = [],
62
+ onChangeChildren
63
+ }) => {
64
+ const props = {
65
+ instance,
66
+ children,
67
+ key: instance.id,
68
+ onChangeChildren
69
+ };
70
+ return /* @__PURE__ */ jsx(Component, {
71
+ ...props
72
+ });
41
73
  };
42
- const createInstanceElement = ({ Component, instance, children = [], onChangeChildren, }) => {
43
- const props = {
44
- instance,
45
- children,
46
- key: instance.id,
47
- onChangeChildren,
48
- };
49
- return _jsx(Component, { ...props });
74
+ export {
75
+ createElementsTree
50
76
  };
package/lib/tree/root.js CHANGED
@@ -2,17 +2,24 @@ import { useAllUserProps } from "../user-props/";
2
2
  import { createElementsTree } from "./create-elements-tree";
3
3
  import { WrapperComponent } from "./wrapper-component";
4
4
  import { registerComponents } from "../components";
5
- import * as customComponents from "../app/custom-components";
5
+ import { customComponents as defaultCustomComponents } from "../app/custom-components";
6
6
  import { setParams } from "../app/params";
7
- export const InstanceRoot = ({ data, Component, }) => {
8
- if (data.tree === null) {
9
- throw new Error("Tree is null");
10
- }
11
- useAllUserProps(data.props);
12
- setParams(data.params ?? null);
13
- registerComponents(customComponents);
14
- return createElementsTree({
15
- instance: data.tree.root,
16
- Component: Component ?? WrapperComponent,
17
- });
7
+ const InstanceRoot = ({
8
+ data,
9
+ Component,
10
+ customComponents = defaultCustomComponents
11
+ }) => {
12
+ if (data.tree === null) {
13
+ throw new Error("Tree is null");
14
+ }
15
+ useAllUserProps(data.props);
16
+ setParams(data.params ?? null);
17
+ registerComponents(customComponents);
18
+ return createElementsTree({
19
+ instance: data.tree.root,
20
+ Component: Component ?? WrapperComponent
21
+ });
22
+ };
23
+ export {
24
+ InstanceRoot
18
25
  };
@@ -1,35 +1,42 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- // This is a temporary work around for https://github.com/remix-run/remix/issues/3659
3
- // The code is based on this discussion https://bugs.chromium.org/p/chromium/issues/detail?id=357625
4
- const polyfill = function () {
5
- try {
6
- const key = "__session_storage_availability_test__";
7
- sessionStorage.setItem(key, "test"); // test
8
- sessionStorage.removeItem(key); // cleanup
9
- }
10
- catch (error) {
11
- alert('It looks like you have disabled cookies in your browser. Webstudio designer may not work properly.\n\nTo enable cookies, go to "Setting" > "Privacy and security" > "Cookies and other site data", and make sure neither "Block all cookies" nor "Block third-party cookies" are selected.\n\nRead more at https://support.google.com/chrome/answer/95647');
12
- const data = new Map();
13
- Object.defineProperty(window, "sessionStorage", {
14
- value: {
15
- setItem: (key, val) => {
16
- // eslint-disable-next-line no-console
17
- console.warn(`Session storage is unavailable due to Error "${error.message}". A polyfill is used to set value of "${key}". The value will be lost when the page is reloaded.`);
18
- data.set(key, String(val));
19
- },
20
- getItem: (key) => {
21
- // eslint-disable-next-line no-console
22
- console.warn(`Session storage is unavailable due to Error "${error.message}". A polyfill is used to get value of "${key}". The value will be undefined if the page was reloaded after it was set.`);
23
- return data.get(key);
24
- },
25
- removeItem: (key) => {
26
- data.delete(key);
27
- },
28
- clear: () => {
29
- data.clear();
30
- },
31
- },
32
- });
33
- }
1
+ import { jsx } from "react/jsx-runtime";
2
+ const polyfill = function() {
3
+ try {
4
+ const key = "__session_storage_availability_test__";
5
+ sessionStorage.setItem(key, "test");
6
+ sessionStorage.removeItem(key);
7
+ } catch (error) {
8
+ alert(
9
+ 'It looks like you have disabled cookies in your browser. Webstudio designer may not work properly.\n\nTo enable cookies, go to "Setting" > "Privacy and security" > "Cookies and other site data", and make sure neither "Block all cookies" nor "Block third-party cookies" are selected.\n\nRead more at https://support.google.com/chrome/answer/95647'
10
+ );
11
+ const data = /* @__PURE__ */ new Map();
12
+ Object.defineProperty(window, "sessionStorage", {
13
+ value: {
14
+ setItem: (key, val) => {
15
+ console.warn(
16
+ `Session storage is unavailable due to Error "${error.message}". A polyfill is used to set value of "${key}". The value will be lost when the page is reloaded.`
17
+ );
18
+ data.set(key, String(val));
19
+ },
20
+ getItem: (key) => {
21
+ console.warn(
22
+ `Session storage is unavailable due to Error "${error.message}". A polyfill is used to get value of "${key}". The value will be undefined if the page was reloaded after it was set.`
23
+ );
24
+ return data.get(key);
25
+ },
26
+ removeItem: (key) => {
27
+ data.delete(key);
28
+ },
29
+ clear: () => {
30
+ data.clear();
31
+ }
32
+ }
33
+ });
34
+ }
34
35
  }.toString();
35
- export const SessionStoragePolyfill = () => (_jsx("script", { dangerouslySetInnerHTML: { __html: `(${polyfill})()` }, suppressHydrationWarning: true }));
36
+ const SessionStoragePolyfill = () => /* @__PURE__ */ jsx("script", {
37
+ dangerouslySetInnerHTML: { __html: `(${polyfill})()` },
38
+ suppressHydrationWarning: true
39
+ });
40
+ export {
41
+ SessionStoragePolyfill
42
+ };
@@ -1,25 +1,41 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { Fragment } from "react";
3
3
  import { getComponent } from "../components";
4
4
  import { useUserProps } from "../user-props/use-user-props";
5
5
  const renderText = (text) => {
6
- const lines = text.split("\n");
7
- return lines.map((line, index) => (_jsxs(Fragment, { children: [line, index < lines.length - 1 ? _jsx("br", {}) : null] }, index)));
6
+ const lines = text.split("\n");
7
+ return lines.map((line, index) => /* @__PURE__ */ jsxs(Fragment, {
8
+ children: [
9
+ line,
10
+ index < lines.length - 1 ? /* @__PURE__ */ jsx("br", {}) : null
11
+ ]
12
+ }, index));
8
13
  };
9
- export const renderWrapperComponentChildren = (children) => {
10
- // Some elements like input can't have children
11
- // @todo needs to be made impossible to drag element into input
12
- if (children === undefined || children.length === 0)
13
- return;
14
- return children.map((child) => {
15
- return typeof child === "string" ? renderText(child) : child;
16
- });
14
+ const renderWrapperComponentChildren = (children) => {
15
+ if (children === void 0 || children.length === 0) {
16
+ return;
17
+ }
18
+ return children.map((child) => {
19
+ return typeof child === "string" ? renderText(child) : child;
20
+ });
17
21
  };
18
- export const WrapperComponent = ({ instance, onChangeChildren, // prevent it from passing to sdk component
19
- children, ...rest }) => {
20
- const Component = getComponent(instance.component);
21
- const userProps = useUserProps(instance.id);
22
- const props = { ...userProps, ...rest, [idAttribute]: instance.id };
23
- return (_jsx(Component, { ...props, children: renderWrapperComponentChildren(children) }));
22
+ const WrapperComponent = ({
23
+ instance,
24
+ onChangeChildren,
25
+ children,
26
+ ...rest
27
+ }) => {
28
+ const Component = getComponent(instance.component);
29
+ const userProps = useUserProps(instance.id);
30
+ const props = { ...userProps, ...rest, [idAttribute]: instance.id };
31
+ return /* @__PURE__ */ jsx(Component, {
32
+ ...props,
33
+ children: renderWrapperComponentChildren(children)
34
+ });
35
+ };
36
+ const idAttribute = "data-ws-id";
37
+ export {
38
+ WrapperComponent,
39
+ idAttribute,
40
+ renderWrapperComponentChildren
24
41
  };
25
- export const idAttribute = "data-ws-id";
@@ -1,17 +1,19 @@
1
1
  import { useRef } from "react";
2
2
  import { createValueContainer, useValue } from "react-nano-state";
3
- export const allUserPropsContainer = createValueContainer({});
4
- export const useAllUserProps = (initialUserProps) => {
5
- // @todo ssr workaround for https://github.com/webstudio-is/webstudio-designer/issues/213
6
- const ref = useRef(false);
7
- if (ref.current === false && initialUserProps !== undefined) {
8
- const propsMap = {};
9
- for (const props of initialUserProps) {
10
- propsMap[props.instanceId] = props;
11
- }
12
- //We don't need to trigger rerender when setting the initial value
13
- allUserPropsContainer.value = propsMap;
14
- ref.current = true;
3
+ const allUserPropsContainer = createValueContainer({});
4
+ const useAllUserProps = (initialUserProps) => {
5
+ const ref = useRef(false);
6
+ if (ref.current === false && initialUserProps !== void 0) {
7
+ const propsMap = {};
8
+ for (const props of initialUserProps) {
9
+ propsMap[props.instanceId] = props;
15
10
  }
16
- return useValue(allUserPropsContainer);
11
+ allUserPropsContainer.value = propsMap;
12
+ ref.current = true;
13
+ }
14
+ return useValue(allUserPropsContainer);
15
+ };
16
+ export {
17
+ allUserPropsContainer,
18
+ useAllUserProps
17
19
  };
@@ -1,30 +1,34 @@
1
1
  import { z } from "zod";
2
- const UserPropDb = z.object({
3
- id: z.string(),
4
- prop: z.string(),
5
- value: z.union([z.string(), z.boolean()]),
6
- assetId: z.optional(z.string()),
7
- required: z.optional(z.boolean()),
8
- });
9
- export const UserDbProps = z.array(UserPropDb);
10
- const UserUserProp = z
11
- .object({
12
- id: z.string(),
13
- prop: z.string(),
14
- value: z.union([z.string(), z.boolean()]),
15
- // We are not interested in Props data does any other props on asset exists
16
- asset: z.optional(z.object({ id: z.string() })),
17
- required: z.optional(z.boolean()),
18
- })
19
- .transform(({ id, prop, value, asset, required }) => {
20
- // Check with infer that we are transforming to UserPropDb
21
- const res = {
22
- id,
23
- prop,
24
- value,
25
- assetId: asset?.id,
26
- required,
27
- };
28
- return res;
29
- });
30
- export const UserUserProps = z.array(UserUserProp);
2
+ import { Asset } from "@webstudio-is/asset-uploader";
3
+ const baseUserProps = {
4
+ id: z.string(),
5
+ prop: z.string(),
6
+ required: z.optional(z.boolean())
7
+ };
8
+ const UserProp = z.discriminatedUnion("type", [
9
+ z.object({
10
+ ...baseUserProps,
11
+ type: z.literal("number"),
12
+ value: z.number()
13
+ }),
14
+ z.object({
15
+ ...baseUserProps,
16
+ type: z.literal("string"),
17
+ value: z.string()
18
+ }),
19
+ z.object({
20
+ ...baseUserProps,
21
+ type: z.literal("boolean"),
22
+ value: z.boolean()
23
+ }),
24
+ z.object({
25
+ ...baseUserProps,
26
+ type: z.literal("asset"),
27
+ value: Asset
28
+ })
29
+ ]);
30
+ const UserProps = z.array(UserProp);
31
+ export {
32
+ UserProp,
33
+ UserProps
34
+ };
@@ -1 +0,0 @@
1
- export {};
@@ -1,18 +1,23 @@
1
1
  import { useMemo } from "react";
2
2
  import { useAllUserProps } from "./all-user-props";
3
- /**
4
- * Get asset for prop, like src on the Image component
5
- */
6
- export const useUserPropsAsset = (instanceId, propName) => {
7
- const [allUserProps] = useAllUserProps();
8
- const propsData = allUserProps[instanceId];
9
- const asset = useMemo(() => {
10
- if (propsData == null)
11
- return null;
12
- const prop = propsData.props.find((prop) => prop.prop === propName);
13
- if (prop == null)
14
- return null;
15
- return prop.asset ?? null;
16
- }, [propName, propsData]);
17
- return asset;
3
+ const useUserPropsAsset = (instanceId, propName) => {
4
+ const [allUserProps] = useAllUserProps();
5
+ const propsData = allUserProps[instanceId];
6
+ const asset = useMemo(() => {
7
+ if (propsData == null) {
8
+ return void 0;
9
+ }
10
+ const prop = propsData.props.find((prop2) => prop2.prop === propName);
11
+ if (prop == null) {
12
+ return void 0;
13
+ }
14
+ if (prop.type === "asset") {
15
+ return prop.value;
16
+ }
17
+ return void 0;
18
+ }, [propName, propsData]);
19
+ return asset;
20
+ };
21
+ export {
22
+ useUserPropsAsset
18
23
  };
@@ -1,19 +1,22 @@
1
1
  import { useMemo } from "react";
2
2
  import { useAllUserProps } from "./all-user-props";
3
- /**
4
- * User props mapped in prop:value format,
5
- * up to date with props panel.
6
- */
7
- export const useUserProps = (instanceId) => {
8
- const [allUserProps] = useAllUserProps();
9
- const propsData = allUserProps[instanceId];
10
- const props = useMemo(() => {
11
- if (propsData == null)
12
- return {};
13
- return propsData.props.reduce((props, { prop, value }) => {
14
- props[prop] = value;
15
- return props;
16
- }, {});
17
- }, [propsData]);
18
- return props;
3
+ const useUserProps = (instanceId) => {
4
+ const [allUserProps] = useAllUserProps();
5
+ const propsData = allUserProps[instanceId];
6
+ const props = useMemo(() => {
7
+ if (propsData == null) {
8
+ return {};
9
+ }
10
+ const result = {};
11
+ for (const userProp of propsData.props) {
12
+ if (userProp.type !== "asset") {
13
+ result[userProp.prop] = userProp.value;
14
+ }
15
+ }
16
+ return result;
17
+ }, [propsData]);
18
+ return props;
19
+ };
20
+ export {
21
+ useUserProps
19
22
  };