@snokam/page-content 0.0.0-stage → 6.9.4

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 (483) hide show
  1. package/CHANGELOG.md +1462 -0
  2. package/dist/admin-form-labels.d.ts +11 -0
  3. package/dist/admin-form-labels.d.ts.map +1 -0
  4. package/dist/admin-form-labels.js +21 -0
  5. package/dist/admin-form-labels.js.map +1 -0
  6. package/dist/app-router/MetaTags.d.ts +2 -0
  7. package/dist/app-router/MetaTags.d.ts.map +1 -0
  8. package/dist/app-router/MetaTags.js +10 -0
  9. package/dist/app-router/MetaTags.js.map +1 -0
  10. package/dist/app-router/actions.d.ts +62 -0
  11. package/dist/app-router/actions.d.ts.map +1 -0
  12. package/dist/app-router/actions.js +18 -0
  13. package/dist/app-router/actions.js.map +1 -0
  14. package/dist/app-router/draft.d.ts +3 -0
  15. package/dist/app-router/draft.d.ts.map +1 -0
  16. package/dist/app-router/draft.js +14 -0
  17. package/dist/app-router/draft.js.map +1 -0
  18. package/dist/app-router/error-page/TenantErrorPage.d.ts +5 -0
  19. package/dist/app-router/error-page/TenantErrorPage.d.ts.map +1 -0
  20. package/dist/app-router/error-page/TenantErrorPage.js +20 -0
  21. package/dist/app-router/error-page/TenantErrorPage.js.map +1 -0
  22. package/dist/app-router/error-page/icons.d.ts +8 -0
  23. package/dist/app-router/error-page/icons.d.ts.map +1 -0
  24. package/dist/app-router/error-page/icons.js +11 -0
  25. package/dist/app-router/error-page/icons.js.map +1 -0
  26. package/dist/app-router/error-page/index.d.ts +3 -0
  27. package/dist/app-router/error-page/index.d.ts.map +1 -0
  28. package/dist/app-router/error-page/index.js +3 -0
  29. package/dist/app-router/error-page/index.js.map +1 -0
  30. package/dist/app-router/hoc/index.d.ts +5 -0
  31. package/dist/app-router/hoc/index.d.ts.map +1 -0
  32. package/dist/app-router/hoc/index.js +5 -0
  33. package/dist/app-router/hoc/index.js.map +1 -0
  34. package/dist/app-router/hoc/withSanityAppContent.d.ts +11 -0
  35. package/dist/app-router/hoc/withSanityAppContent.d.ts.map +1 -0
  36. package/dist/app-router/hoc/withSanityAppContent.js +31 -0
  37. package/dist/app-router/hoc/withSanityAppContent.js.map +1 -0
  38. package/dist/app-router/hoc/withSanityPageContent.d.ts +13 -0
  39. package/dist/app-router/hoc/withSanityPageContent.d.ts.map +1 -0
  40. package/dist/app-router/hoc/withSanityPageContent.js +23 -0
  41. package/dist/app-router/hoc/withSanityPageContent.js.map +1 -0
  42. package/dist/app-router/index.d.ts +6 -0
  43. package/dist/app-router/index.d.ts.map +1 -0
  44. package/dist/app-router/index.js +7 -0
  45. package/dist/app-router/index.js.map +1 -0
  46. package/dist/app-router/providers/AppContentProvider.d.ts +13 -0
  47. package/dist/app-router/providers/AppContentProvider.d.ts.map +1 -0
  48. package/dist/app-router/providers/AppContentProvider.js +12 -0
  49. package/dist/app-router/providers/AppContentProvider.js.map +1 -0
  50. package/dist/app-router/providers/PageContentProvider.d.ts +15 -0
  51. package/dist/app-router/providers/PageContentProvider.d.ts.map +1 -0
  52. package/dist/app-router/providers/PageContentProvider.js +12 -0
  53. package/dist/app-router/providers/PageContentProvider.js.map +1 -0
  54. package/dist/app-router/providers/index.d.ts +3 -0
  55. package/dist/app-router/providers/index.d.ts.map +1 -0
  56. package/dist/app-router/providers/index.js +4 -0
  57. package/dist/app-router/providers/index.js.map +1 -0
  58. package/dist/app-router/server.d.ts +12 -0
  59. package/dist/app-router/server.d.ts.map +1 -0
  60. package/dist/app-router/server.js +10 -0
  61. package/dist/app-router/server.js.map +1 -0
  62. package/dist/app-router/tenant/app-content.d.ts +57 -0
  63. package/dist/app-router/tenant/app-content.d.ts.map +1 -0
  64. package/dist/app-router/tenant/app-content.js +5 -0
  65. package/dist/app-router/tenant/app-content.js.map +1 -0
  66. package/dist/app-router/tenant/branding.d.ts +12 -0
  67. package/dist/app-router/tenant/branding.d.ts.map +1 -0
  68. package/dist/app-router/tenant/branding.js +62 -0
  69. package/dist/app-router/tenant/branding.js.map +1 -0
  70. package/dist/app-router/tenant/content.d.ts +16 -0
  71. package/dist/app-router/tenant/content.d.ts.map +1 -0
  72. package/dist/app-router/tenant/content.js +44 -0
  73. package/dist/app-router/tenant/content.js.map +1 -0
  74. package/dist/app-router/tenant/layout.d.ts +11 -0
  75. package/dist/app-router/tenant/layout.d.ts.map +1 -0
  76. package/dist/app-router/tenant/layout.js +17 -0
  77. package/dist/app-router/tenant/layout.js.map +1 -0
  78. package/dist/app-router/tenant/metadata.d.ts +9 -0
  79. package/dist/app-router/tenant/metadata.d.ts.map +1 -0
  80. package/dist/app-router/tenant/metadata.js +19 -0
  81. package/dist/app-router/tenant/metadata.js.map +1 -0
  82. package/dist/app-router/tenant/server-texts.d.ts +7 -0
  83. package/dist/app-router/tenant/server-texts.d.ts.map +1 -0
  84. package/dist/app-router/tenant/server-texts.js +25 -0
  85. package/dist/app-router/tenant/server-texts.js.map +1 -0
  86. package/dist/app-router/utils.d.ts +3 -0
  87. package/dist/app-router/utils.d.ts.map +1 -0
  88. package/dist/app-router/utils.js +11 -0
  89. package/dist/app-router/utils.js.map +1 -0
  90. package/dist/app-text.d.ts +3 -0
  91. package/dist/app-text.d.ts.map +1 -0
  92. package/dist/app-text.js +14 -0
  93. package/dist/app-text.js.map +1 -0
  94. package/dist/component-texts.d.ts +2 -0
  95. package/dist/component-texts.d.ts.map +1 -0
  96. package/dist/component-texts.js +14 -0
  97. package/dist/component-texts.js.map +1 -0
  98. package/dist/components/ContentEmptyState/index.d.ts +7 -0
  99. package/dist/components/ContentEmptyState/index.d.ts.map +1 -0
  100. package/dist/components/ContentEmptyState/index.js +17 -0
  101. package/dist/components/ContentEmptyState/index.js.map +1 -0
  102. package/dist/components/ContentEmptyState/styles.d.ts +4 -0
  103. package/dist/components/ContentEmptyState/styles.d.ts.map +1 -0
  104. package/dist/components/ContentEmptyState/styles.js +21 -0
  105. package/dist/components/ContentEmptyState/styles.js.map +1 -0
  106. package/dist/components/OrganizationSchema.d.ts +7 -0
  107. package/dist/components/OrganizationSchema.d.ts.map +1 -0
  108. package/dist/components/OrganizationSchema.js +32 -0
  109. package/dist/components/OrganizationSchema.js.map +1 -0
  110. package/dist/data/fetch.d.ts +11 -0
  111. package/dist/data/fetch.d.ts.map +1 -0
  112. package/dist/data/fetch.js +29 -0
  113. package/dist/data/fetch.js.map +1 -0
  114. package/dist/edit-mode/Drawer.d.ts +12 -0
  115. package/dist/edit-mode/Drawer.d.ts.map +1 -0
  116. package/dist/edit-mode/Drawer.js +134 -0
  117. package/dist/edit-mode/Drawer.js.map +1 -0
  118. package/dist/edit-mode/EditMode.d.ts +3 -0
  119. package/dist/edit-mode/EditMode.d.ts.map +1 -0
  120. package/dist/edit-mode/EditMode.js +41 -0
  121. package/dist/edit-mode/EditMode.js.map +1 -0
  122. package/dist/edit-mode/client.d.ts +8 -0
  123. package/dist/edit-mode/client.d.ts.map +1 -0
  124. package/dist/edit-mode/client.js +18 -0
  125. package/dist/edit-mode/client.js.map +1 -0
  126. package/dist/edit-mode/drawer/MissingSection.d.ts +5 -0
  127. package/dist/edit-mode/drawer/MissingSection.d.ts.map +1 -0
  128. package/dist/edit-mode/drawer/MissingSection.js +13 -0
  129. package/dist/edit-mode/drawer/MissingSection.js.map +1 -0
  130. package/dist/edit-mode/drawer-helpers.d.ts +5 -0
  131. package/dist/edit-mode/drawer-helpers.d.ts.map +1 -0
  132. package/dist/edit-mode/drawer-helpers.js +33 -0
  133. package/dist/edit-mode/drawer-helpers.js.map +1 -0
  134. package/dist/edit-mode/editModeState.d.ts +10 -0
  135. package/dist/edit-mode/editModeState.d.ts.map +1 -0
  136. package/dist/edit-mode/editModeState.js +65 -0
  137. package/dist/edit-mode/editModeState.js.map +1 -0
  138. package/dist/edit-mode/field-styles.d.ts +20 -0
  139. package/dist/edit-mode/field-styles.d.ts.map +1 -0
  140. package/dist/edit-mode/field-styles.js +200 -0
  141. package/dist/edit-mode/field-styles.js.map +1 -0
  142. package/dist/edit-mode/fields/BlockField.d.ts +5 -0
  143. package/dist/edit-mode/fields/BlockField.d.ts.map +1 -0
  144. package/dist/edit-mode/fields/BlockField.js +32 -0
  145. package/dist/edit-mode/fields/BlockField.js.map +1 -0
  146. package/dist/edit-mode/fields/FieldEditor.d.ts +5 -0
  147. package/dist/edit-mode/fields/FieldEditor.d.ts.map +1 -0
  148. package/dist/edit-mode/fields/FieldEditor.js +39 -0
  149. package/dist/edit-mode/fields/FieldEditor.js.map +1 -0
  150. package/dist/edit-mode/fields/GalleryField.d.ts +5 -0
  151. package/dist/edit-mode/fields/GalleryField.d.ts.map +1 -0
  152. package/dist/edit-mode/fields/GalleryField.js +41 -0
  153. package/dist/edit-mode/fields/GalleryField.js.map +1 -0
  154. package/dist/edit-mode/fields/ImageField.d.ts +5 -0
  155. package/dist/edit-mode/fields/ImageField.d.ts.map +1 -0
  156. package/dist/edit-mode/fields/ImageField.js +41 -0
  157. package/dist/edit-mode/fields/ImageField.js.map +1 -0
  158. package/dist/edit-mode/fields/LinkField.d.ts +5 -0
  159. package/dist/edit-mode/fields/LinkField.d.ts.map +1 -0
  160. package/dist/edit-mode/fields/LinkField.js +25 -0
  161. package/dist/edit-mode/fields/LinkField.js.map +1 -0
  162. package/dist/edit-mode/fields/MediaField.d.ts +5 -0
  163. package/dist/edit-mode/fields/MediaField.d.ts.map +1 -0
  164. package/dist/edit-mode/fields/MediaField.js +33 -0
  165. package/dist/edit-mode/fields/MediaField.js.map +1 -0
  166. package/dist/edit-mode/fields/SurfaceAddItem.d.ts +5 -0
  167. package/dist/edit-mode/fields/SurfaceAddItem.d.ts.map +1 -0
  168. package/dist/edit-mode/fields/SurfaceAddItem.js +27 -0
  169. package/dist/edit-mode/fields/SurfaceAddItem.js.map +1 -0
  170. package/dist/edit-mode/fields/SurfaceItemControls.d.ts +8 -0
  171. package/dist/edit-mode/fields/SurfaceItemControls.d.ts.map +1 -0
  172. package/dist/edit-mode/fields/SurfaceItemControls.js +40 -0
  173. package/dist/edit-mode/fields/SurfaceItemControls.js.map +1 -0
  174. package/dist/edit-mode/fields/SurfaceLinkField.d.ts +5 -0
  175. package/dist/edit-mode/fields/SurfaceLinkField.d.ts.map +1 -0
  176. package/dist/edit-mode/fields/SurfaceLinkField.js +28 -0
  177. package/dist/edit-mode/fields/SurfaceLinkField.js.map +1 -0
  178. package/dist/edit-mode/fields/TextField.d.ts +5 -0
  179. package/dist/edit-mode/fields/TextField.d.ts.map +1 -0
  180. package/dist/edit-mode/fields/TextField.js +42 -0
  181. package/dist/edit-mode/fields/TextField.js.map +1 -0
  182. package/dist/edit-mode/fields/VideoField.d.ts +5 -0
  183. package/dist/edit-mode/fields/VideoField.d.ts.map +1 -0
  184. package/dist/edit-mode/fields/VideoField.js +21 -0
  185. package/dist/edit-mode/fields/VideoField.js.map +1 -0
  186. package/dist/edit-mode/fields/VisibilityField.d.ts +5 -0
  187. package/dist/edit-mode/fields/VisibilityField.d.ts.map +1 -0
  188. package/dist/edit-mode/fields/VisibilityField.js +26 -0
  189. package/dist/edit-mode/fields/VisibilityField.js.map +1 -0
  190. package/dist/edit-mode/fields/YoutubeField.d.ts +5 -0
  191. package/dist/edit-mode/fields/YoutubeField.d.ts.map +1 -0
  192. package/dist/edit-mode/fields/YoutubeField.js +21 -0
  193. package/dist/edit-mode/fields/YoutubeField.js.map +1 -0
  194. package/dist/edit-mode/fields/shared.d.ts +27 -0
  195. package/dist/edit-mode/fields/shared.d.ts.map +1 -0
  196. package/dist/edit-mode/fields/shared.js +55 -0
  197. package/dist/edit-mode/fields/shared.js.map +1 -0
  198. package/dist/edit-mode/fields-from-content.d.ts +12 -0
  199. package/dist/edit-mode/fields-from-content.d.ts.map +1 -0
  200. package/dist/edit-mode/fields-from-content.js +42 -0
  201. package/dist/edit-mode/fields-from-content.js.map +1 -0
  202. package/dist/edit-mode/image-url.d.ts +4 -0
  203. package/dist/edit-mode/image-url.d.ts.map +1 -0
  204. package/dist/edit-mode/image-url.js +7 -0
  205. package/dist/edit-mode/image-url.js.map +1 -0
  206. package/dist/edit-mode/index.d.ts +4 -0
  207. package/dist/edit-mode/index.d.ts.map +1 -0
  208. package/dist/edit-mode/index.js +3 -0
  209. package/dist/edit-mode/index.js.map +1 -0
  210. package/dist/edit-mode/missing-keys.d.ts +8 -0
  211. package/dist/edit-mode/missing-keys.d.ts.map +1 -0
  212. package/dist/edit-mode/missing-keys.js +33 -0
  213. package/dist/edit-mode/missing-keys.js.map +1 -0
  214. package/dist/edit-mode/overlay/InlineBlockEditor.d.ts +9 -0
  215. package/dist/edit-mode/overlay/InlineBlockEditor.d.ts.map +1 -0
  216. package/dist/edit-mode/overlay/InlineBlockEditor.js +98 -0
  217. package/dist/edit-mode/overlay/InlineBlockEditor.js.map +1 -0
  218. package/dist/edit-mode/overlay/InlineText.d.ts +10 -0
  219. package/dist/edit-mode/overlay/InlineText.d.ts.map +1 -0
  220. package/dist/edit-mode/overlay/InlineText.js +190 -0
  221. package/dist/edit-mode/overlay/InlineText.js.map +1 -0
  222. package/dist/edit-mode/overlay/Overlay.d.ts +13 -0
  223. package/dist/edit-mode/overlay/Overlay.d.ts.map +1 -0
  224. package/dist/edit-mode/overlay/Overlay.js +186 -0
  225. package/dist/edit-mode/overlay/Overlay.js.map +1 -0
  226. package/dist/edit-mode/overlay/Popover.d.ts +10 -0
  227. package/dist/edit-mode/overlay/Popover.d.ts.map +1 -0
  228. package/dist/edit-mode/overlay/Popover.js +58 -0
  229. package/dist/edit-mode/overlay/Popover.js.map +1 -0
  230. package/dist/edit-mode/overlay/block-match.d.ts +15 -0
  231. package/dist/edit-mode/overlay/block-match.d.ts.map +1 -0
  232. package/dist/edit-mode/overlay/block-match.js +124 -0
  233. package/dist/edit-mode/overlay/block-match.js.map +1 -0
  234. package/dist/edit-mode/overlay/dom.d.ts +4 -0
  235. package/dist/edit-mode/overlay/dom.d.ts.map +1 -0
  236. package/dist/edit-mode/overlay/dom.js +13 -0
  237. package/dist/edit-mode/overlay/dom.js.map +1 -0
  238. package/dist/edit-mode/overlay/geometry.d.ts +16 -0
  239. package/dist/edit-mode/overlay/geometry.d.ts.map +1 -0
  240. package/dist/edit-mode/overlay/geometry.js +58 -0
  241. package/dist/edit-mode/overlay/geometry.js.map +1 -0
  242. package/dist/edit-mode/overlay/match.d.ts +29 -0
  243. package/dist/edit-mode/overlay/match.d.ts.map +1 -0
  244. package/dist/edit-mode/overlay/match.js +140 -0
  245. package/dist/edit-mode/overlay/match.js.map +1 -0
  246. package/dist/edit-mode/overlay/stega-scan.d.ts +8 -0
  247. package/dist/edit-mode/overlay/stega-scan.d.ts.map +1 -0
  248. package/dist/edit-mode/overlay/stega-scan.js +51 -0
  249. package/dist/edit-mode/overlay/stega-scan.js.map +1 -0
  250. package/dist/edit-mode/overlay/styles.d.ts +18 -0
  251. package/dist/edit-mode/overlay/styles.d.ts.map +1 -0
  252. package/dist/edit-mode/overlay/styles.js +187 -0
  253. package/dist/edit-mode/overlay/styles.js.map +1 -0
  254. package/dist/edit-mode/overlay/useOverlayScan.d.ts +3 -0
  255. package/dist/edit-mode/overlay/useOverlayScan.d.ts.map +1 -0
  256. package/dist/edit-mode/overlay/useOverlayScan.js +70 -0
  257. package/dist/edit-mode/overlay/useOverlayScan.js.map +1 -0
  258. package/dist/edit-mode/overlay/wildcard.d.ts +8 -0
  259. package/dist/edit-mode/overlay/wildcard.d.ts.map +1 -0
  260. package/dist/edit-mode/overlay/wildcard.js +55 -0
  261. package/dist/edit-mode/overlay/wildcard.js.map +1 -0
  262. package/dist/edit-mode/refresh.d.ts +4 -0
  263. package/dist/edit-mode/refresh.d.ts.map +1 -0
  264. package/dist/edit-mode/refresh.js +11 -0
  265. package/dist/edit-mode/refresh.js.map +1 -0
  266. package/dist/edit-mode/save-media.d.ts +10 -0
  267. package/dist/edit-mode/save-media.d.ts.map +1 -0
  268. package/dist/edit-mode/save-media.js +49 -0
  269. package/dist/edit-mode/save-media.js.map +1 -0
  270. package/dist/edit-mode/save.d.ts +22 -0
  271. package/dist/edit-mode/save.d.ts.map +1 -0
  272. package/dist/edit-mode/save.js +47 -0
  273. package/dist/edit-mode/save.js.map +1 -0
  274. package/dist/edit-mode/section-fields.d.ts +4 -0
  275. package/dist/edit-mode/section-fields.d.ts.map +1 -0
  276. package/dist/edit-mode/section-fields.js +80 -0
  277. package/dist/edit-mode/section-fields.js.map +1 -0
  278. package/dist/edit-mode/stega.d.ts +9 -0
  279. package/dist/edit-mode/stega.d.ts.map +1 -0
  280. package/dist/edit-mode/stega.js +97 -0
  281. package/dist/edit-mode/stega.js.map +1 -0
  282. package/dist/edit-mode/store/content.d.ts +3 -0
  283. package/dist/edit-mode/store/content.d.ts.map +1 -0
  284. package/dist/edit-mode/store/content.js +44 -0
  285. package/dist/edit-mode/store/content.js.map +1 -0
  286. package/dist/edit-mode/store/types.d.ts +23 -0
  287. package/dist/edit-mode/store/types.d.ts.map +1 -0
  288. package/dist/edit-mode/store/types.js +2 -0
  289. package/dist/edit-mode/store/types.js.map +1 -0
  290. package/dist/edit-mode/styles.d.ts +17 -0
  291. package/dist/edit-mode/styles.d.ts.map +1 -0
  292. package/dist/edit-mode/styles.js +125 -0
  293. package/dist/edit-mode/styles.js.map +1 -0
  294. package/dist/edit-mode/surface-ops.d.ts +22 -0
  295. package/dist/edit-mode/surface-ops.d.ts.map +1 -0
  296. package/dist/edit-mode/surface-ops.js +43 -0
  297. package/dist/edit-mode/surface-ops.js.map +1 -0
  298. package/dist/edit-mode/surfaces.d.ts +32 -0
  299. package/dist/edit-mode/surfaces.d.ts.map +1 -0
  300. package/dist/edit-mode/surfaces.js +106 -0
  301. package/dist/edit-mode/surfaces.js.map +1 -0
  302. package/dist/edit-mode/types.d.ts +55 -0
  303. package/dist/edit-mode/types.d.ts.map +1 -0
  304. package/dist/edit-mode/types.js +2 -0
  305. package/dist/edit-mode/types.js.map +1 -0
  306. package/dist/edit-mode/useArmed.d.ts +4 -0
  307. package/dist/edit-mode/useArmed.d.ts.map +1 -0
  308. package/dist/edit-mode/useArmed.js +28 -0
  309. package/dist/edit-mode/useArmed.js.map +1 -0
  310. package/dist/editor/BlockChrome.d.ts +5 -0
  311. package/dist/editor/BlockChrome.d.ts.map +1 -0
  312. package/dist/editor/BlockChrome.js +60 -0
  313. package/dist/editor/BlockChrome.js.map +1 -0
  314. package/dist/editor/BlockChrome.styled.d.ts +15 -0
  315. package/dist/editor/BlockChrome.styled.d.ts.map +1 -0
  316. package/dist/editor/BlockChrome.styled.js +188 -0
  317. package/dist/editor/BlockChrome.styled.js.map +1 -0
  318. package/dist/editor/BlockObject.styled.d.ts +10 -0
  319. package/dist/editor/BlockObject.styled.d.ts.map +1 -0
  320. package/dist/editor/BlockObject.styled.js +106 -0
  321. package/dist/editor/BlockObject.styled.js.map +1 -0
  322. package/dist/editor/BlockObjectEditor.d.ts +10 -0
  323. package/dist/editor/BlockObjectEditor.d.ts.map +1 -0
  324. package/dist/editor/BlockObjectEditor.js +55 -0
  325. package/dist/editor/BlockObjectEditor.js.map +1 -0
  326. package/dist/editor/DockPortal.d.ts +5 -0
  327. package/dist/editor/DockPortal.d.ts.map +1 -0
  328. package/dist/editor/DockPortal.js +16 -0
  329. package/dist/editor/DockPortal.js.map +1 -0
  330. package/dist/editor/EditableSurface.d.ts +4 -0
  331. package/dist/editor/EditableSurface.d.ts.map +1 -0
  332. package/dist/editor/EditableSurface.js +85 -0
  333. package/dist/editor/EditableSurface.js.map +1 -0
  334. package/dist/editor/EditableSurface.styled.d.ts +2 -0
  335. package/dist/editor/EditableSurface.styled.d.ts.map +1 -0
  336. package/dist/editor/EditableSurface.styled.js +30 -0
  337. package/dist/editor/EditableSurface.styled.js.map +1 -0
  338. package/dist/editor/EmptyStatePicker.d.ts +2 -0
  339. package/dist/editor/EmptyStatePicker.d.ts.map +1 -0
  340. package/dist/editor/EmptyStatePicker.js +22 -0
  341. package/dist/editor/EmptyStatePicker.js.map +1 -0
  342. package/dist/editor/EmptyStatePicker.styled.d.ts +6 -0
  343. package/dist/editor/EmptyStatePicker.styled.d.ts.map +1 -0
  344. package/dist/editor/EmptyStatePicker.styled.js +59 -0
  345. package/dist/editor/EmptyStatePicker.styled.js.map +1 -0
  346. package/dist/editor/LinkGalleryEditors.d.ts +14 -0
  347. package/dist/editor/LinkGalleryEditors.d.ts.map +1 -0
  348. package/dist/editor/LinkGalleryEditors.js +25 -0
  349. package/dist/editor/LinkGalleryEditors.js.map +1 -0
  350. package/dist/editor/MediaBlockEditors.d.ts +19 -0
  351. package/dist/editor/MediaBlockEditors.d.ts.map +1 -0
  352. package/dist/editor/MediaBlockEditors.js +91 -0
  353. package/dist/editor/MediaBlockEditors.js.map +1 -0
  354. package/dist/editor/MediaBlockEditors.styled.d.ts +3 -0
  355. package/dist/editor/MediaBlockEditors.styled.d.ts.map +1 -0
  356. package/dist/editor/MediaBlockEditors.styled.js +23 -0
  357. package/dist/editor/MediaBlockEditors.styled.js.map +1 -0
  358. package/dist/editor/TableBlockEditor.d.ts +8 -0
  359. package/dist/editor/TableBlockEditor.d.ts.map +1 -0
  360. package/dist/editor/TableBlockEditor.js +71 -0
  361. package/dist/editor/TableBlockEditor.js.map +1 -0
  362. package/dist/editor/TableBlockEditor.styled.d.ts +8 -0
  363. package/dist/editor/TableBlockEditor.styled.d.ts.map +1 -0
  364. package/dist/editor/TableBlockEditor.styled.js +98 -0
  365. package/dist/editor/TableBlockEditor.styled.js.map +1 -0
  366. package/dist/editor/Toolbar.d.ts +6 -0
  367. package/dist/editor/Toolbar.d.ts.map +1 -0
  368. package/dist/editor/Toolbar.js +56 -0
  369. package/dist/editor/Toolbar.js.map +1 -0
  370. package/dist/editor/Toolbar.styled.d.ts +7 -0
  371. package/dist/editor/Toolbar.styled.d.ts.map +1 -0
  372. package/dist/editor/Toolbar.styled.js +114 -0
  373. package/dist/editor/Toolbar.styled.js.map +1 -0
  374. package/dist/editor/blocks.d.ts +34 -0
  375. package/dist/editor/blocks.d.ts.map +1 -0
  376. package/dist/editor/blocks.js +163 -0
  377. package/dist/editor/blocks.js.map +1 -0
  378. package/dist/editor/deps.d.ts +18 -0
  379. package/dist/editor/deps.d.ts.map +1 -0
  380. package/dist/editor/deps.js +54 -0
  381. package/dist/editor/deps.js.map +1 -0
  382. package/dist/editor/index.d.ts +19 -0
  383. package/dist/editor/index.d.ts.map +1 -0
  384. package/dist/editor/index.js +35 -0
  385. package/dist/editor/index.js.map +1 -0
  386. package/dist/editor/insertOptions.d.ts +15 -0
  387. package/dist/editor/insertOptions.d.ts.map +1 -0
  388. package/dist/editor/insertOptions.js +194 -0
  389. package/dist/editor/insertOptions.js.map +1 -0
  390. package/dist/editor/rename.d.ts +7 -0
  391. package/dist/editor/rename.d.ts.map +1 -0
  392. package/dist/editor/rename.js +45 -0
  393. package/dist/editor/rename.js.map +1 -0
  394. package/dist/editor/styles.d.ts +5 -0
  395. package/dist/editor/styles.d.ts.map +1 -0
  396. package/dist/editor/styles.js +154 -0
  397. package/dist/editor/styles.js.map +1 -0
  398. package/dist/editor/textSchema.d.ts +2 -0
  399. package/dist/editor/textSchema.d.ts.map +1 -0
  400. package/dist/editor/textSchema.js +120 -0
  401. package/dist/editor/textSchema.js.map +1 -0
  402. package/dist/index.d.ts +11 -0
  403. package/dist/index.d.ts.map +1 -0
  404. package/dist/index.js +8 -0
  405. package/dist/index.js.map +1 -0
  406. package/dist/placeholders.d.ts +22 -0
  407. package/dist/placeholders.d.ts.map +1 -0
  408. package/dist/placeholders.js +26 -0
  409. package/dist/placeholders.js.map +1 -0
  410. package/dist/providers/AppContentProvider.d.ts +16 -0
  411. package/dist/providers/AppContentProvider.d.ts.map +1 -0
  412. package/dist/providers/AppContentProvider.js +18 -0
  413. package/dist/providers/AppContentProvider.js.map +1 -0
  414. package/dist/providers/PageContentProvider.d.ts +41 -0
  415. package/dist/providers/PageContentProvider.d.ts.map +1 -0
  416. package/dist/providers/PageContentProvider.js +139 -0
  417. package/dist/providers/PageContentProvider.js.map +1 -0
  418. package/dist/providers/index.d.ts +3 -0
  419. package/dist/providers/index.d.ts.map +1 -0
  420. package/dist/providers/index.js +3 -0
  421. package/dist/providers/index.js.map +1 -0
  422. package/dist/providers/merge-content.d.ts +17 -0
  423. package/dist/providers/merge-content.d.ts.map +1 -0
  424. package/dist/providers/merge-content.js +65 -0
  425. package/dist/providers/merge-content.js.map +1 -0
  426. package/dist/providers/separate-components.d.ts +27 -0
  427. package/dist/providers/separate-components.d.ts.map +1 -0
  428. package/dist/providers/separate-components.js +42 -0
  429. package/dist/providers/separate-components.js.map +1 -0
  430. package/dist/providers/tenant-tokens.d.ts +5 -0
  431. package/dist/providers/tenant-tokens.d.ts.map +1 -0
  432. package/dist/providers/tenant-tokens.js +19 -0
  433. package/dist/providers/tenant-tokens.js.map +1 -0
  434. package/dist/server/client.d.ts +4 -0
  435. package/dist/server/client.d.ts.map +1 -0
  436. package/dist/server/client.js +13 -0
  437. package/dist/server/client.js.map +1 -0
  438. package/dist/server/clients.d.ts +5 -0
  439. package/dist/server/clients.d.ts.map +1 -0
  440. package/dist/server/clients.js +9 -0
  441. package/dist/server/clients.js.map +1 -0
  442. package/dist/server/content-api.d.ts +8 -0
  443. package/dist/server/content-api.d.ts.map +1 -0
  444. package/dist/server/content-api.js +32 -0
  445. package/dist/server/content-api.js.map +1 -0
  446. package/dist/server/errors.d.ts +17 -0
  447. package/dist/server/errors.d.ts.map +1 -0
  448. package/dist/server/errors.js +24 -0
  449. package/dist/server/errors.js.map +1 -0
  450. package/dist/server/layers.d.ts +11 -0
  451. package/dist/server/layers.d.ts.map +1 -0
  452. package/dist/server/layers.js +11 -0
  453. package/dist/server/layers.js.map +1 -0
  454. package/dist/server/merge-layers.d.ts +8 -0
  455. package/dist/server/merge-layers.d.ts.map +1 -0
  456. package/dist/server/merge-layers.js +27 -0
  457. package/dist/server/merge-layers.js.map +1 -0
  458. package/dist/server/organization.d.ts +4 -0
  459. package/dist/server/organization.d.ts.map +1 -0
  460. package/dist/server/organization.js +17 -0
  461. package/dist/server/organization.js.map +1 -0
  462. package/dist/types/index.d.ts +97 -0
  463. package/dist/types/index.d.ts.map +1 -0
  464. package/dist/types/index.js +2 -0
  465. package/dist/types/index.js.map +1 -0
  466. package/dist/utils/collect-app-texts.d.ts +14 -0
  467. package/dist/utils/collect-app-texts.d.ts.map +1 -0
  468. package/dist/utils/collect-app-texts.js +13 -0
  469. package/dist/utils/collect-app-texts.js.map +1 -0
  470. package/dist/utils/has-any-content.d.ts +8 -0
  471. package/dist/utils/has-any-content.d.ts.map +1 -0
  472. package/dist/utils/has-any-content.js +4 -0
  473. package/dist/utils/has-any-content.js.map +1 -0
  474. package/dist/utils/rename-sanity-fields.d.ts +9 -0
  475. package/dist/utils/rename-sanity-fields.d.ts.map +1 -0
  476. package/dist/utils/rename-sanity-fields.js +34 -0
  477. package/dist/utils/rename-sanity-fields.js.map +1 -0
  478. package/dist/utils.d.ts +6 -0
  479. package/dist/utils.d.ts.map +1 -0
  480. package/dist/utils.js +49 -0
  481. package/dist/utils.js.map +1 -0
  482. package/package.json +80 -3
  483. package/README.md +0 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SurfaceItemControls.js","sourceRoot":"","sources":["../../../src/edit-mode/fields/SurfaceItemControls.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { EditableField } from "../types";
2
+ export declare function SurfaceLinkField({ field }: {
3
+ field: EditableField;
4
+ }): any;
5
+ //# sourceMappingURL=SurfaceLinkField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SurfaceLinkField.d.ts","sourceRoot":"","sources":["../../../src/edit-mode/fields/SurfaceLinkField.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAKzC,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,aAAa,CAAA;CAAE,OA0CnE"}
@@ -0,0 +1,28 @@
1
+ "use client";
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useState } from "react";
4
+ import { usePageContent } from "../../providers/PageContentProvider";
5
+ import { textOrFallback } from "../../admin-form-labels";
6
+ import { saveSurfaceFields } from "../surface-ops";
7
+ import { Input, InputLabel } from "../styles";
8
+ import { SaveControls, useEditActions, useSaver } from "./shared";
9
+ export function SurfaceLinkField({ field }) {
10
+ const { getText } = usePageContent();
11
+ const { client, target, refresh } = useEditActions();
12
+ const [text, setText] = useState(() => field.linkText ?? "");
13
+ const [url, setUrl] = useState(() => field.linkUrl ?? "");
14
+ const { saving, saved, error, run } = useSaver();
15
+ const location = field.surface;
16
+ const urlField = field.linkExternal ? "url" : "path";
17
+ const onSave = () => run(async () => {
18
+ if (!location)
19
+ return;
20
+ await saveSurfaceFields(client, location, target, {
21
+ text,
22
+ [urlField]: url,
23
+ });
24
+ refresh();
25
+ });
26
+ return (_jsxs(_Fragment, { children: [_jsx(InputLabel, { children: textOrFallback(getText, "editModeLinkText", "Tekst") }), _jsx(Input, { value: text, onChange: (e) => setText(e.target.value) }), _jsx(InputLabel, { children: textOrFallback(getText, "editModeMenuTarget", "Side") }), _jsx(Input, { value: url, onChange: (e) => setUrl(e.target.value), placeholder: field.linkExternal ? "https://…" : "/side" }), _jsx(SaveControls, { saving: saving, saved: saved, error: error, onSave: onSave })] }));
27
+ }
28
+ //# sourceMappingURL=SurfaceLinkField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SurfaceLinkField.js","sourceRoot":"","sources":["../../../src/edit-mode/fields/SurfaceLinkField.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAmB,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAElE,MAAM,UAAU,gBAAgB,CAAC,EAAE,KAAK,EAA4B;IAClE,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IACrD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC7D,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAC1D,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;IAEjD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAsC,CAAC;IAC9D,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAErD,MAAM,MAAM,GAAG,GAAG,EAAE,CAClB,GAAG,CAAC,KAAK,IAAI,EAAE;QACb,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,MAAM,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE;YAChD,IAAI;YACJ,CAAC,QAAQ,CAAC,EAAE,GAAG;SAChB,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEL,OAAO,CACL,8BACE,KAAC,UAAU,cACR,cAAc,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,GAC1C,EACb,KAAC,KAAK,IAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAI,EAChE,KAAC,UAAU,cACR,cAAc,CAAC,OAAO,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAC3C,EACb,KAAC,KAAK,IACJ,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACvC,WAAW,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,GACvD,EACF,KAAC,YAAY,IACX,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,GACd,IACD,CACJ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { EditableField } from "../types";
2
+ export declare function TextField({ field }: {
3
+ field: EditableField;
4
+ }): any;
5
+ //# sourceMappingURL=TextField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../src/edit-mode/fields/TextField.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAUzC,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,aAAa,CAAA;CAAE,OAyD5D"}
@@ -0,0 +1,42 @@
1
+ "use client";
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useState } from "react";
4
+ import { usePageContent } from "../../providers/PageContentProvider";
5
+ import { textOrFallback } from "../../admin-form-labels";
6
+ import { saveText } from "../save";
7
+ import { saveSurfaceValue } from "../surface-ops";
8
+ import { stripStega } from "../stega";
9
+ import { FieldHint, TextArea } from "../styles";
10
+ import { SaveControls, useAutoGrow, useEditActions, useSaver } from "./shared";
11
+ const HAS_MARKER = /\{\{?[^{}]+\}?\}/;
12
+ const PLACEHOLDER_PREFIX = "Placeholder for ";
13
+ export function TextField({ field }) {
14
+ const { getText } = usePageContent();
15
+ const { client, target, setOverride, refresh } = useEditActions();
16
+ const surface = field.surface;
17
+ const [value, setValue] = useState(() => {
18
+ if (surface)
19
+ return field.surfaceText ?? "";
20
+ const current = stripStega(getText(field.key));
21
+ if (field.missing && current.startsWith(PLACEHOLDER_PREFIX))
22
+ return "";
23
+ return current;
24
+ });
25
+ const { saving, saved, error, run } = useSaver();
26
+ const ref = useAutoGrow(value);
27
+ const onSave = () => run(async () => {
28
+ if (field.missing && !stripStega(value).trim())
29
+ return;
30
+ if (surface && field.surface?.field) {
31
+ await saveSurfaceValue(client, surface, target, field.surface.field, stripStega(value));
32
+ refresh();
33
+ return;
34
+ }
35
+ const override = await saveText(client, field, target, value);
36
+ setOverride(field.key, override);
37
+ refresh();
38
+ return override;
39
+ });
40
+ return (_jsxs(_Fragment, { children: [_jsx(TextArea, { ref: ref, value: value, onChange: (e) => setValue(e.target.value) }), HAS_MARKER.test(value) && (_jsx(FieldHint, { children: textOrFallback(getText, "editModeInterpolationHint", "Markører som {navn} fylles inn automatisk.") })), _jsx(SaveControls, { saving: saving, saved: saved, error: error, onSave: onSave })] }));
41
+ }
42
+ //# sourceMappingURL=TextField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextField.js","sourceRoot":"","sources":["../../../src/edit-mode/fields/TextField.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { EditableField } from "../types";
2
+ export declare function VideoField({ field }: {
3
+ field: EditableField;
4
+ }): any;
5
+ //# sourceMappingURL=VideoField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VideoField.d.ts","sourceRoot":"","sources":["../../../src/edit-mode/fields/VideoField.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAKzC,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,aAAa,CAAA;CAAE,OAoC7D"}
@@ -0,0 +1,21 @@
1
+ "use client";
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useState } from "react";
4
+ import { usePageContent } from "../../providers/PageContentProvider";
5
+ import { textOrFallback } from "../../admin-form-labels";
6
+ import { filenameFromUrl, saveVideo } from "../save-media";
7
+ import { Input, InputLabel, VideoNote } from "../styles";
8
+ import { SaveControls, useEditActions, useSaver } from "./shared";
9
+ export function VideoField({ field }) {
10
+ const { getComponent, getText } = usePageContent();
11
+ const { client, target, refresh } = useEditActions();
12
+ const current = getComponent(field.key);
13
+ const [url, setUrl] = useState("");
14
+ const { saving, saved, error, run } = useSaver();
15
+ const onSave = () => run(async () => {
16
+ await saveVideo(client, field, target, url, filenameFromUrl(url));
17
+ refresh();
18
+ });
19
+ return (_jsxs(_Fragment, { children: [current?.asset?.filename && (_jsx(VideoNote, { children: current.asset.filename })), _jsx(InputLabel, { children: textOrFallback(getText, "editModeVideoUrl", "Video-URL") }), _jsx(Input, { value: url, onChange: (e) => setUrl(e.target.value), placeholder: "https://\u2026" }), _jsx(SaveControls, { saving: saving, saved: saved, error: error, disabled: !url, onSave: onSave })] }));
20
+ }
21
+ //# sourceMappingURL=VideoField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VideoField.js","sourceRoot":"","sources":["../../../src/edit-mode/fields/VideoField.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAElE,MAAM,UAAU,UAAU,CAAC,EAAE,KAAK,EAA4B;IAC5D,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IACnD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IACrD,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CACS,CAAC;IAChD,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;IAEjD,MAAM,MAAM,GAAG,GAAG,EAAE,CAClB,GAAG,CAAC,KAAK,IAAI,EAAE;QACb,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEL,OAAO,CACL,8BACG,OAAO,EAAE,KAAK,EAAE,QAAQ,IAAI,CAC3B,KAAC,SAAS,cAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAa,CAChD,EACD,KAAC,UAAU,cACR,cAAc,CAAC,OAAO,EAAE,kBAAkB,EAAE,WAAW,CAAC,GAC9C,EACb,KAAC,KAAK,IACJ,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACvC,WAAW,EAAC,gBAAW,GACvB,EACF,KAAC,YAAY,IACX,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,GAAG,EACd,MAAM,EAAE,MAAM,GACd,IACD,CACJ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { EditableField } from "../types";
2
+ export declare function VisibilityField({ field }: {
3
+ field: EditableField;
4
+ }): any;
5
+ //# sourceMappingURL=VisibilityField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VisibilityField.d.ts","sourceRoot":"","sources":["../../../src/edit-mode/fields/VisibilityField.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAKzC,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,aAAa,CAAA;CAAE,OAsDlE"}
@@ -0,0 +1,26 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { useState } from "react";
4
+ import { usePageContent } from "../../providers/PageContentProvider";
5
+ import { textOrFallback } from "../../admin-form-labels";
6
+ import { saveSurfaceValue } from "../surface-ops";
7
+ import { InlineError, TypeToggleButton, TypeToggleRow } from "../styles";
8
+ import { useEditActions, useSaver } from "./shared";
9
+ export function VisibilityField({ field }) {
10
+ const { getText } = usePageContent();
11
+ const { client, target, refresh } = useEditActions();
12
+ const [internal, setInternal] = useState(() => !!field.surfaceBool);
13
+ const { saving, error, run } = useSaver();
14
+ const location = field.surface;
15
+ const set = (next) => {
16
+ if (next === internal || !location || !field.surface?.field)
17
+ return;
18
+ setInternal(next);
19
+ run(async () => {
20
+ await saveSurfaceValue(client, location, target, field.surface.field, next);
21
+ refresh();
22
+ });
23
+ };
24
+ return (_jsxs(_Fragment, { children: [_jsxs(TypeToggleRow, { children: [_jsx(TypeToggleButton, { type: "button", "$active": !internal, disabled: saving, onClick: () => set(false), children: textOrFallback(getText, "editModeVisibilityPublic", "Synlig for alle") }), _jsx(TypeToggleButton, { type: "button", "$active": internal, disabled: saving, onClick: () => set(true), children: textOrFallback(getText, "editModeVisibilityInternal", "Kun innlogget") })] }), error && _jsx(InlineError, { role: "alert", children: error })] }));
25
+ }
26
+ //# sourceMappingURL=VisibilityField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VisibilityField.js","sourceRoot":"","sources":["../../../src/edit-mode/fields/VisibilityField.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpD,MAAM,UAAU,eAAe,CAAC,EAAE,KAAK,EAA4B;IACjE,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IACrD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACpE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;IAE1C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAsC,CAAC;IAE9D,MAAM,GAAG,GAAG,CAAC,IAAa,EAAE,EAAE;QAC5B,IAAI,IAAI,KAAK,QAAQ,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK;YAAE,OAAO;QACpE,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,GAAG,CAAC,KAAK,IAAI,EAAE;YACb,MAAM,gBAAgB,CACpB,MAAM,EACN,QAAQ,EACR,MAAM,EACN,KAAK,CAAC,OAAQ,CAAC,KAAe,EAC9B,IAAI,CACL,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CACL,8BACE,MAAC,aAAa,eACZ,KAAC,gBAAgB,IACf,IAAI,EAAC,QAAQ,aACJ,CAAC,QAAQ,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,YAExB,cAAc,CACb,OAAO,EACP,0BAA0B,EAC1B,iBAAiB,CAClB,GACgB,EACnB,KAAC,gBAAgB,IACf,IAAI,EAAC,QAAQ,aACJ,QAAQ,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,YAEvB,cAAc,CACb,OAAO,EACP,4BAA4B,EAC5B,eAAe,CAChB,GACgB,IACL,EACf,KAAK,IAAI,KAAC,WAAW,IAAC,IAAI,EAAC,OAAO,YAAE,KAAK,GAAe,IACxD,CACJ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { EditableField } from "../types";
2
+ export declare function YoutubeField({ field }: {
3
+ field: EditableField;
4
+ }): any;
5
+ //# sourceMappingURL=YoutubeField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YoutubeField.d.ts","sourceRoot":"","sources":["../../../src/edit-mode/fields/YoutubeField.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAKzC,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,aAAa,CAAA;CAAE,OA+B/D"}
@@ -0,0 +1,21 @@
1
+ "use client";
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useState } from "react";
4
+ import { usePageContent } from "../../providers/PageContentProvider";
5
+ import { textOrFallback } from "../../admin-form-labels";
6
+ import { saveYoutube } from "../save-media";
7
+ import { Input, InputLabel } from "../styles";
8
+ import { SaveControls, useEditActions, useSaver } from "./shared";
9
+ export function YoutubeField({ field }) {
10
+ const { getComponent, getText } = usePageContent();
11
+ const { client, target, refresh } = useEditActions();
12
+ const current = getComponent(field.key);
13
+ const [url, setUrl] = useState(() => current?.url ?? "");
14
+ const { saving, saved, error, run } = useSaver();
15
+ const onSave = () => run(async () => {
16
+ await saveYoutube(client, field, target, url);
17
+ refresh();
18
+ });
19
+ return (_jsxs(_Fragment, { children: [_jsx(InputLabel, { children: textOrFallback(getText, "editModeYoutubeUrl", "YouTube-URL") }), _jsx(Input, { value: url, onChange: (e) => setUrl(e.target.value), placeholder: "https://www.youtube.com/watch?v=\u2026" }), _jsx(SaveControls, { saving: saving, saved: saved, error: error, onSave: onSave })] }));
20
+ }
21
+ //# sourceMappingURL=YoutubeField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YoutubeField.js","sourceRoot":"","sources":["../../../src/edit-mode/fields/YoutubeField.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAElE,MAAM,UAAU,YAAY,CAAC,EAAE,KAAK,EAA4B;IAC9D,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IACnD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IACrD,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAiC,CAAC;IACxE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;IAEjD,MAAM,MAAM,GAAG,GAAG,EAAE,CAClB,GAAG,CAAC,KAAK,IAAI,EAAE;QACb,MAAM,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9C,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEL,OAAO,CACL,8BACE,KAAC,UAAU,cACR,cAAc,CAAC,OAAO,EAAE,oBAAoB,EAAE,aAAa,CAAC,GAClD,EACb,KAAC,KAAK,IACJ,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACvC,WAAW,EAAC,wCAAmC,GAC/C,EACF,KAAC,YAAY,IACX,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,GACd,IACD,CACJ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { SetOverride } from "../types";
2
+ import { SaveTarget } from "../save";
3
+ import { EditClient } from "../store/types";
4
+ export interface EditActions {
5
+ client: EditClient;
6
+ target: SaveTarget;
7
+ docKeys: Record<string, string | undefined>;
8
+ setOverride: SetOverride;
9
+ refresh: () => void;
10
+ }
11
+ export declare const EditActionsProvider: any;
12
+ export declare function useEditActions(): EditActions;
13
+ export declare function useSaver(): {
14
+ saving: any;
15
+ error: any;
16
+ saved: any;
17
+ run: (fn: () => Promise<unknown>) => Promise<void>;
18
+ };
19
+ export declare function useAutoGrow<T extends HTMLTextAreaElement>(value: string): any;
20
+ export declare function SaveControls({ saving, saved, error, disabled, onSave, }: {
21
+ saving: boolean;
22
+ saved: boolean;
23
+ error: string | null;
24
+ disabled?: boolean;
25
+ onSave: () => void;
26
+ }): any;
27
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/edit-mode/fields/shared.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAS5C,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC5C,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAID,eAAO,MAAM,mBAAmB,KAA8B,CAAC;AAE/D,wBAAgB,cAAc,IAAI,WAAW,CAM5C;AAED,wBAAgB,QAAQ;;;;cAMC,MAAM,OAAO,CAAC,OAAO,CAAC;EAmB9C;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS,mBAAmB,EAAE,KAAK,EAAE,MAAM,OASvE;AAED,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,KAAK,EACL,KAAK,EACL,QAAQ,EACR,MAAM,GACP,EAAE;IACD,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB,OAgBA"}
@@ -0,0 +1,55 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { createContext, useContext, useEffect, useRef, useState } from "react";
4
+ import { usePageContent } from "../../providers/PageContentProvider";
5
+ import { textOrFallback } from "../../admin-form-labels";
6
+ import { InlineError, SavedHint, SaveButton, SaveRow, Spinner, } from "../styles";
7
+ const EditActionsContext = createContext(null);
8
+ export const EditActionsProvider = EditActionsContext.Provider;
9
+ export function useEditActions() {
10
+ const actions = useContext(EditActionsContext);
11
+ if (!actions) {
12
+ throw new Error("useEditActions må brukes innenfor redigeringspanelet");
13
+ }
14
+ return actions;
15
+ }
16
+ export function useSaver() {
17
+ const { getText } = usePageContent();
18
+ const [saving, setSaving] = useState(false);
19
+ const [error, setError] = useState(null);
20
+ const [saved, setSaved] = useState(false);
21
+ const run = async (fn) => {
22
+ setSaving(true);
23
+ setError(null);
24
+ setSaved(false);
25
+ try {
26
+ await fn();
27
+ setSaved(true);
28
+ }
29
+ catch (e) {
30
+ setError(e instanceof Error
31
+ ? e.message
32
+ : textOrFallback(getText, "editModeSaveFailed", "Lagring feilet"));
33
+ }
34
+ finally {
35
+ setSaving(false);
36
+ }
37
+ };
38
+ return { saving, error, saved, run };
39
+ }
40
+ export function useAutoGrow(value) {
41
+ const ref = useRef(null);
42
+ useEffect(() => {
43
+ const el = ref.current;
44
+ if (!el)
45
+ return;
46
+ el.style.height = "auto";
47
+ el.style.height = `${el.scrollHeight}px`;
48
+ }, [value]);
49
+ return ref;
50
+ }
51
+ export function SaveControls({ saving, saved, error, disabled, onSave, }) {
52
+ const { getText } = usePageContent();
53
+ return (_jsxs(SaveRow, { children: [_jsxs(SaveButton, { type: "button", onClick: onSave, disabled: saving || disabled, children: [saving && _jsx(Spinner, {}), textOrFallback(getText, "editModeSave", "Lagre")] }), saved && !saving && !error && (_jsx(SavedHint, { children: textOrFallback(getText, "editModeSaved", "Lagret") })), error && _jsx(InlineError, { role: "alert", children: error })] }));
54
+ }
55
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/edit-mode/fields/shared.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { EditableField } from "./types";
2
+ type ComponentLike = {
3
+ key: string;
4
+ sanityType: string;
5
+ system?: boolean;
6
+ } | null;
7
+ export declare function buildEditableFields(components: (ComponentLike | undefined)[] | null | undefined, owners: Map<string, {
8
+ sanityId: string;
9
+ sanityType: string;
10
+ }>, mainPageSanityId: string | undefined): EditableField[];
11
+ export {};
12
+ //# sourceMappingURL=fields-from-content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields-from-content.d.ts","sourceRoot":"","sources":["../../src/edit-mode/fields-from-content.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA6B,MAAM,SAAS,CAAC;AAanE,KAAK,aAAa,GAAG;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GAAG,IAAI,CAAC;AAaT,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,CAAC,aAAa,GAAG,SAAS,CAAC,EAAE,GAAG,IAAI,GAAG,SAAS,EAC5D,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,EAC7D,gBAAgB,EAAE,MAAM,GAAG,SAAS,GACnC,aAAa,EAAE,CAqBjB"}
@@ -0,0 +1,42 @@
1
+ const EDITABLE_KINDS = new Set([
2
+ "component.text",
3
+ "component.link",
4
+ "component.block",
5
+ "component.image",
6
+ "component.media",
7
+ "component.youtube",
8
+ "component.video",
9
+ "component.gallery",
10
+ ]);
11
+ function resolveOwner(document, mainPageSanityId) {
12
+ if (document?.sanityType === "app")
13
+ return "app";
14
+ if (document?.sanityId && document.sanityId === mainPageSanityId) {
15
+ return "main-page";
16
+ }
17
+ return "other";
18
+ }
19
+ export function buildEditableFields(components, owners, mainPageSanityId) {
20
+ const fields = [];
21
+ const seen = new Set();
22
+ for (const component of components ?? []) {
23
+ if (!component)
24
+ continue;
25
+ const kind = component.sanityType;
26
+ if (!EDITABLE_KINDS.has(kind))
27
+ continue;
28
+ if (seen.has(component.key))
29
+ continue;
30
+ seen.add(component.key);
31
+ const document = owners.get(component.key);
32
+ fields.push({
33
+ key: component.key,
34
+ kind,
35
+ owner: resolveOwner(document, mainPageSanityId),
36
+ ownerId: document?.sanityId,
37
+ system: component.system === true ? true : undefined,
38
+ });
39
+ }
40
+ return fields;
41
+ }
42
+ //# sourceMappingURL=fields-from-content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields-from-content.js","sourceRoot":"","sources":["../../src/edit-mode/fields-from-content.ts"],"names":[],"mappings":"AAEA,MAAM,cAAc,GAAG,IAAI,GAAG,CAAgB;IAC5C,gBAAgB;IAChB,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,mBAAmB;IACnB,iBAAiB;IACjB,mBAAmB;CACpB,CAAC,CAAC;AAQH,SAAS,YAAY,CACnB,QAA8D,EAC9D,gBAAoC;IAEpC,IAAI,QAAQ,EAAE,UAAU,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACjD,IAAI,QAAQ,EAAE,QAAQ,IAAI,QAAQ,CAAC,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QACjE,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,UAA4D,EAC5D,MAA6D,EAC7D,gBAAoC;IAEpC,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,KAAK,MAAM,SAAS,IAAI,UAAU,IAAI,EAAE,EAAE,CAAC;QACzC,IAAI,CAAC,SAAS;YAAE,SAAS;QACzB,MAAM,IAAI,GAAG,SAAS,CAAC,UAA2B,CAAC;QACnD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QACxC,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC;YAAE,SAAS;QACtC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC;YACV,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,IAAI;YACJ,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE,gBAAgB,CAAC;YAC/C,OAAO,EAAE,QAAQ,EAAE,QAAQ;YAC3B,MAAM,EAAE,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;SACrD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function getSanityImageUrl(url: string, { width }: {
2
+ width: number;
3
+ }): string;
4
+ //# sourceMappingURL=image-url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-url.d.ts","sourceRoot":"","sources":["../../src/edit-mode/image-url.ts"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAC3B,MAAM,CAIR"}
@@ -0,0 +1,7 @@
1
+ export function getSanityImageUrl(url, { width }) {
2
+ if (!url || !url.includes("cdn.sanity.io"))
3
+ return url;
4
+ const separator = url.includes("?") ? "&" : "?";
5
+ return `${url}${separator}w=${width}&auto=format`;
6
+ }
7
+ //# sourceMappingURL=image-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-url.js","sourceRoot":"","sources":["../../src/edit-mode/image-url.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,iBAAiB,CAC/B,GAAW,EACX,EAAE,KAAK,EAAqB;IAE5B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC;QAAE,OAAO,GAAG,CAAC;IACvD,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAChD,OAAO,GAAG,GAAG,GAAG,SAAS,KAAK,KAAK,cAAc,CAAC;AACpD,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { EditMode } from "./EditMode";
2
+ export { buildEditableFields } from "./fields-from-content";
3
+ export type { EditableField, EditOverride, EditOverrides, SetOverride, } from "./types";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/edit-mode/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EACV,aAAa,EACb,YAAY,EACZ,aAAa,EACb,WAAW,GACZ,MAAM,SAAS,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { EditMode } from "./EditMode";
2
+ export { buildEditableFields } from "./fields-from-content";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/edit-mode/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { EditableField } from "./types";
2
+ export interface MissingTextKeys {
3
+ record: (_key: string) => void;
4
+ fields: EditableField[];
5
+ sync: (_isResolved: (_key: string) => boolean) => void;
6
+ }
7
+ export declare function useMissingTextKeys(armed: boolean): MissingTextKeys;
8
+ //# sourceMappingURL=missing-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"missing-keys.d.ts","sourceRoot":"","sources":["../../src/edit-mode/missing-keys.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAMxC,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,KAAK,IAAI,CAAC;CACxD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAoClE"}
@@ -0,0 +1,33 @@
1
+ "use client";
2
+ import { useCallback, useMemo, useRef, useState } from "react";
3
+ function sameKeys(a, b) {
4
+ return a.length === b.length && a.every((key, index) => key === b[index]);
5
+ }
6
+ export function useMissingTextKeys(armed) {
7
+ const padRef = useRef(new Set());
8
+ const [keys, setKeys] = useState([]);
9
+ const record = useCallback((key) => {
10
+ padRef.current.add(key);
11
+ }, []);
12
+ const sync = useCallback((isResolved) => {
13
+ if (!armed) {
14
+ padRef.current.clear();
15
+ setKeys((prev) => (prev.length ? [] : prev));
16
+ return;
17
+ }
18
+ padRef.current.forEach((key) => {
19
+ if (isResolved(key))
20
+ padRef.current.delete(key);
21
+ });
22
+ const next = Array.from(padRef.current).sort();
23
+ setKeys((prev) => (sameKeys(prev, next) ? prev : next));
24
+ }, [armed]);
25
+ const fields = useMemo(() => keys.map((key) => ({
26
+ key,
27
+ kind: "component.text",
28
+ owner: "main-page",
29
+ missing: true,
30
+ })), [keys]);
31
+ return { record, fields, sync };
32
+ }
33
+ //# sourceMappingURL=missing-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"missing-keys.js","sourceRoot":"","sources":["../../src/edit-mode/missing-keys.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAG/D,SAAS,QAAQ,CAAC,CAAW,EAAE,CAAW;IACxC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5E,CAAC;AAQD,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAc,IAAI,GAAG,EAAE,CAAC,CAAC;IAC9C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IAE/C,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,GAAW,EAAE,EAAE;QACzC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,IAAI,GAAG,WAAW,CACtB,CAAC,UAAqC,EAAE,EAAE;QACxC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvB,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QACD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7B,IAAI,UAAU,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC,EACD,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CACH,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAiB,EAAE,CAAC,CAAC;QAChC,GAAG;QACH,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,IAAI;KACd,CAAC,CAAC,EACL,CAAC,IAAI,CAAC,CACP,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAClC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { EditableField } from "../types";
2
+ import { EditActions } from "../fields/shared";
3
+ export declare function InlineBlockEditor({ elements, field, actions, onClose, }: {
4
+ elements: HTMLElement[];
5
+ field: EditableField;
6
+ actions: EditActions;
7
+ onClose: () => void;
8
+ }): any;
9
+ //# sourceMappingURL=InlineBlockEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InlineBlockEditor.d.ts","sourceRoot":"","sources":["../../../src/edit-mode/overlay/InlineBlockEditor.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAI/C,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,KAAK,EACL,OAAO,EACP,OAAO,GACR,EAAE;IACD,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,aAAa,CAAC;IACrB,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,OAkIA"}
@@ -0,0 +1,98 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { useLayoutEffect, useRef, useState } from "react";
4
+ import { createPortal } from "react-dom";
5
+ import { usePageContent } from "../../providers/PageContentProvider";
6
+ import { textOrFallback } from "../../admin-form-labels";
7
+ import { PortableBlockEditor } from "../../editor";
8
+ import { renameSanityToUnderscore, renameUnderscoreToSanity, } from "../../editor/rename";
9
+ import { saveBlock } from "../save";
10
+ import { saveSurfaceValue } from "../surface-ops";
11
+ import { stripStegaBlocks } from "../stega";
12
+ import { InlineError, SaveButton, Spinner } from "../styles";
13
+ import { CancelButton, InlineEditorFrame } from "./styles";
14
+ export function InlineBlockEditor({ elements, field, actions, onClose, }) {
15
+ const { getBlock, getText } = usePageContent();
16
+ const [blocks, setBlocks] = useState(() => renameUnderscoreToSanity(stripStegaBlocks(field.surface ? (field.surfaceBlock ?? []) : getBlock(field.key))));
17
+ const [saving, setSaving] = useState(false);
18
+ const [error, setError] = useState(null);
19
+ const [host] = useState(() => typeof document === "undefined" ? null : document.createElement("div"));
20
+ const blocksRef = useRef(blocks);
21
+ blocksRef.current = blocks;
22
+ const restore = useRef(() => { });
23
+ const cancelRef = useRef(() => { });
24
+ useLayoutEffect(() => {
25
+ if (!host)
26
+ return;
27
+ const first = elements[0];
28
+ const parent = first?.parentNode;
29
+ if (!parent) {
30
+ onClose();
31
+ return;
32
+ }
33
+ host.setAttribute("data-editmode-ui", "");
34
+ parent.insertBefore(host, first);
35
+ const previous = elements.map((element) => element.style.display);
36
+ elements.forEach((element) => {
37
+ element.style.display = "none";
38
+ });
39
+ let done = false;
40
+ restore.current = () => {
41
+ if (done)
42
+ return;
43
+ done = true;
44
+ elements.forEach((element, index) => {
45
+ element.style.display = previous[index];
46
+ });
47
+ host.remove();
48
+ };
49
+ const onKeyDown = (event) => {
50
+ if (event.key === "Escape") {
51
+ event.preventDefault();
52
+ cancelRef.current();
53
+ }
54
+ };
55
+ document.addEventListener("keydown", onKeyDown, true);
56
+ return () => {
57
+ document.removeEventListener("keydown", onKeyDown, true);
58
+ restore.current();
59
+ };
60
+ // eslint-disable-next-line react-hooks/exhaustive-deps
61
+ }, [host]);
62
+ const cancel = () => {
63
+ restore.current();
64
+ onClose();
65
+ };
66
+ cancelRef.current = cancel;
67
+ const onSave = async () => {
68
+ setSaving(true);
69
+ setError(null);
70
+ try {
71
+ const native = renameSanityToUnderscore(blocksRef.current);
72
+ const surface = field.surface;
73
+ if (surface && field.surface?.field) {
74
+ await saveSurfaceValue(actions.client, surface, actions.target, field.surface.field, native);
75
+ restore.current();
76
+ actions.refresh();
77
+ onClose();
78
+ return;
79
+ }
80
+ const override = await saveBlock(actions.client, field, actions.target, native);
81
+ restore.current();
82
+ actions.setOverride(field.key, override);
83
+ actions.refresh();
84
+ onClose();
85
+ }
86
+ catch (e) {
87
+ setError(e instanceof Error
88
+ ? e.message
89
+ : textOrFallback(getText, "editModeSaveFailed", "Lagring feilet"));
90
+ setSaving(false);
91
+ }
92
+ };
93
+ if (!host)
94
+ return null;
95
+ const actionButtons = (_jsxs(_Fragment, { children: [_jsxs(SaveButton, { type: "button", onClick: onSave, disabled: saving, children: [saving && _jsx(Spinner, {}), textOrFallback(getText, "editModeSave", "Lagre")] }), _jsx(CancelButton, { type: "button", onClick: cancel, children: textOrFallback(getText, "editModeCancel", "Avbryt") }), error && _jsx(InlineError, { role: "alert", children: error })] }));
96
+ return createPortal(_jsx(InlineEditorFrame, { "data-editmode-ui": true, children: _jsx(PortableBlockEditor, { blocks: blocks, onChange: setBlocks, assetClient: actions.client.assets, actionButtons: actionButtons }) }), host);
97
+ }
98
+ //# sourceMappingURL=InlineBlockEditor.js.map