datocms-plugin-sdk 1.1.1 → 2.0.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 (393) hide show
  1. package/dist/cjs/connect.js +75 -214
  2. package/dist/cjs/connect.js.map +1 -1
  3. package/dist/cjs/{types.js → ctx/base.js} +1 -1
  4. package/dist/cjs/ctx/base.js.map +1 -0
  5. package/dist/cjs/ctx/commonExtras/field.js +3 -0
  6. package/dist/cjs/ctx/commonExtras/field.js.map +1 -0
  7. package/dist/cjs/ctx/commonExtras/itemForm.js +3 -0
  8. package/dist/cjs/ctx/commonExtras/itemForm.js.map +1 -0
  9. package/dist/cjs/ctx/commonExtras/sizing.js +3 -0
  10. package/dist/cjs/ctx/commonExtras/sizing.js.map +1 -0
  11. package/dist/cjs/ctx/pluginFrame.js +3 -0
  12. package/dist/cjs/ctx/pluginFrame.js.map +1 -0
  13. package/dist/cjs/hooks/assetSources.js +3 -0
  14. package/dist/cjs/hooks/assetSources.js.map +1 -0
  15. package/dist/cjs/hooks/buildItemPresentationInfo.js +3 -0
  16. package/dist/cjs/hooks/buildItemPresentationInfo.js.map +1 -0
  17. package/dist/cjs/hooks/contentAreaSidebarItems.js +3 -0
  18. package/dist/cjs/hooks/contentAreaSidebarItems.js.map +1 -0
  19. package/dist/cjs/hooks/customBlockStylesForStructuredTextField.js +3 -0
  20. package/dist/cjs/hooks/customBlockStylesForStructuredTextField.js.map +1 -0
  21. package/dist/cjs/hooks/customMarksForStructuredTextField.js +3 -0
  22. package/dist/cjs/hooks/customMarksForStructuredTextField.js.map +1 -0
  23. package/dist/cjs/hooks/executeFieldDropdownAction.js +3 -0
  24. package/dist/cjs/hooks/executeFieldDropdownAction.js.map +1 -0
  25. package/dist/cjs/hooks/executeItemFormDropdownAction.js +3 -0
  26. package/dist/cjs/hooks/executeItemFormDropdownAction.js.map +1 -0
  27. package/dist/cjs/hooks/executeItemsDropdownAction.js +3 -0
  28. package/dist/cjs/hooks/executeItemsDropdownAction.js.map +1 -0
  29. package/dist/cjs/hooks/executeUploadsDropdownAction.js +3 -0
  30. package/dist/cjs/hooks/executeUploadsDropdownAction.js.map +1 -0
  31. package/dist/cjs/hooks/fieldDropdownActions.js +3 -0
  32. package/dist/cjs/hooks/fieldDropdownActions.js.map +1 -0
  33. package/dist/cjs/hooks/initialLocationQueryForItemSelector.js +3 -0
  34. package/dist/cjs/hooks/initialLocationQueryForItemSelector.js.map +1 -0
  35. package/dist/cjs/hooks/itemCollectionOutlets.js +3 -0
  36. package/dist/cjs/hooks/itemCollectionOutlets.js.map +1 -0
  37. package/dist/cjs/hooks/itemFormDropdownActions.js +3 -0
  38. package/dist/cjs/hooks/itemFormDropdownActions.js.map +1 -0
  39. package/dist/cjs/hooks/itemFormOutlets.js +3 -0
  40. package/dist/cjs/hooks/itemFormOutlets.js.map +1 -0
  41. package/dist/cjs/hooks/itemFormSidebarPanels.js +3 -0
  42. package/dist/cjs/hooks/itemFormSidebarPanels.js.map +1 -0
  43. package/dist/cjs/hooks/itemFormSidebars.js +3 -0
  44. package/dist/cjs/hooks/itemFormSidebars.js.map +1 -0
  45. package/dist/cjs/hooks/itemsDropdownActions.js +3 -0
  46. package/dist/cjs/hooks/itemsDropdownActions.js.map +1 -0
  47. package/dist/cjs/hooks/mainNavigationTabs.js +3 -0
  48. package/dist/cjs/hooks/mainNavigationTabs.js.map +1 -0
  49. package/dist/cjs/hooks/manualFieldExtensions.js +3 -0
  50. package/dist/cjs/hooks/manualFieldExtensions.js.map +1 -0
  51. package/dist/cjs/hooks/onBeforeItemUpsert.js +3 -0
  52. package/dist/cjs/hooks/onBeforeItemUpsert.js.map +1 -0
  53. package/dist/cjs/hooks/onBeforeItemsDestroy.js +3 -0
  54. package/dist/cjs/hooks/onBeforeItemsDestroy.js.map +1 -0
  55. package/dist/cjs/hooks/onBeforeItemsPublish.js +3 -0
  56. package/dist/cjs/hooks/onBeforeItemsPublish.js.map +1 -0
  57. package/dist/cjs/hooks/onBeforeItemsUnpublish.js +3 -0
  58. package/dist/cjs/hooks/onBeforeItemsUnpublish.js.map +1 -0
  59. package/dist/cjs/hooks/onBoot.js +3 -0
  60. package/dist/cjs/hooks/onBoot.js.map +1 -0
  61. package/dist/cjs/hooks/overrideFieldExtensions.js +3 -0
  62. package/dist/cjs/hooks/overrideFieldExtensions.js.map +1 -0
  63. package/dist/cjs/hooks/renderAssetSource.js +11 -0
  64. package/dist/cjs/hooks/renderAssetSource.js.map +1 -0
  65. package/dist/cjs/hooks/renderConfigScreen.js +11 -0
  66. package/dist/cjs/hooks/renderConfigScreen.js.map +1 -0
  67. package/dist/cjs/hooks/renderFieldExtension.js +11 -0
  68. package/dist/cjs/hooks/renderFieldExtension.js.map +1 -0
  69. package/dist/cjs/hooks/renderItemCollectionOutlet.js +11 -0
  70. package/dist/cjs/hooks/renderItemCollectionOutlet.js.map +1 -0
  71. package/dist/cjs/hooks/renderItemFormOutlet.js +11 -0
  72. package/dist/cjs/hooks/renderItemFormOutlet.js.map +1 -0
  73. package/dist/cjs/hooks/renderItemFormSidebar.js +11 -0
  74. package/dist/cjs/hooks/renderItemFormSidebar.js.map +1 -0
  75. package/dist/cjs/hooks/renderItemFormSidebarPanel.js +11 -0
  76. package/dist/cjs/hooks/renderItemFormSidebarPanel.js.map +1 -0
  77. package/dist/cjs/hooks/renderManualFieldExtensionConfigScreen.js +11 -0
  78. package/dist/cjs/hooks/renderManualFieldExtensionConfigScreen.js.map +1 -0
  79. package/dist/cjs/hooks/renderModal.js +11 -0
  80. package/dist/cjs/hooks/renderModal.js.map +1 -0
  81. package/dist/cjs/hooks/renderPage.js +11 -0
  82. package/dist/cjs/hooks/renderPage.js.map +1 -0
  83. package/dist/cjs/hooks/renderUploadSidebar.js +11 -0
  84. package/dist/cjs/hooks/renderUploadSidebar.js.map +1 -0
  85. package/dist/cjs/hooks/renderUploadSidebarPanel.js +11 -0
  86. package/dist/cjs/hooks/renderUploadSidebarPanel.js.map +1 -0
  87. package/dist/cjs/hooks/settingsAreaSidebarItemGroups.js +3 -0
  88. package/dist/cjs/hooks/settingsAreaSidebarItemGroups.js.map +1 -0
  89. package/dist/cjs/hooks/uploadSidebarPanels.js +3 -0
  90. package/dist/cjs/hooks/uploadSidebarPanels.js.map +1 -0
  91. package/dist/cjs/hooks/uploadSidebars.js +3 -0
  92. package/dist/cjs/hooks/uploadSidebars.js.map +1 -0
  93. package/dist/cjs/hooks/uploadsDropdownActions.js +3 -0
  94. package/dist/cjs/hooks/uploadsDropdownActions.js.map +1 -0
  95. package/dist/cjs/hooks/validateManualFieldExtensionParameters.js +3 -0
  96. package/dist/cjs/hooks/validateManualFieldExtensionParameters.js.map +1 -0
  97. package/dist/cjs/icon.js +3 -0
  98. package/dist/cjs/icon.js.map +1 -0
  99. package/dist/cjs/index.js +46 -1
  100. package/dist/cjs/index.js.map +1 -1
  101. package/dist/cjs/manifest.js +3172 -0
  102. package/dist/cjs/manifest.js.map +1 -0
  103. package/dist/cjs/manifestTypes.js +3 -0
  104. package/dist/cjs/manifestTypes.js.map +1 -0
  105. package/dist/cjs/shared.js +3 -0
  106. package/dist/cjs/shared.js.map +1 -0
  107. package/dist/cjs/utils.js +136 -0
  108. package/dist/cjs/utils.js.map +1 -0
  109. package/dist/esm/connect.d.ts +44 -244
  110. package/dist/esm/connect.js +74 -212
  111. package/dist/esm/connect.js.map +1 -1
  112. package/dist/esm/ctx/base.d.ts +684 -0
  113. package/dist/esm/ctx/base.js +2 -0
  114. package/dist/esm/ctx/base.js.map +1 -0
  115. package/dist/esm/ctx/commonExtras/field.d.ts +29 -0
  116. package/dist/esm/ctx/commonExtras/field.js +2 -0
  117. package/dist/esm/ctx/commonExtras/field.js.map +1 -0
  118. package/dist/esm/ctx/commonExtras/itemForm.d.ts +148 -0
  119. package/dist/esm/ctx/commonExtras/itemForm.js +2 -0
  120. package/dist/esm/ctx/commonExtras/itemForm.js.map +1 -0
  121. package/dist/esm/ctx/commonExtras/sizing.d.ts +23 -0
  122. package/dist/esm/ctx/commonExtras/sizing.js +2 -0
  123. package/dist/esm/ctx/commonExtras/sizing.js.map +1 -0
  124. package/dist/esm/ctx/pluginFrame.d.ts +12 -0
  125. package/dist/esm/ctx/pluginFrame.js +2 -0
  126. package/dist/esm/ctx/pluginFrame.js.map +1 -0
  127. package/dist/esm/hooks/assetSources.d.ts +42 -0
  128. package/dist/esm/hooks/assetSources.js +2 -0
  129. package/dist/esm/hooks/assetSources.js.map +1 -0
  130. package/dist/esm/hooks/buildItemPresentationInfo.d.ts +29 -0
  131. package/dist/esm/hooks/buildItemPresentationInfo.js +2 -0
  132. package/dist/esm/hooks/buildItemPresentationInfo.js.map +1 -0
  133. package/dist/esm/hooks/contentAreaSidebarItems.d.ts +40 -0
  134. package/dist/esm/hooks/contentAreaSidebarItems.js +2 -0
  135. package/dist/esm/hooks/contentAreaSidebarItems.js.map +1 -0
  136. package/dist/esm/hooks/customBlockStylesForStructuredTextField.d.ts +36 -0
  137. package/dist/esm/hooks/customBlockStylesForStructuredTextField.js +2 -0
  138. package/dist/esm/hooks/customBlockStylesForStructuredTextField.js.map +1 -0
  139. package/dist/esm/hooks/customMarksForStructuredTextField.d.ts +57 -0
  140. package/dist/esm/hooks/customMarksForStructuredTextField.js +2 -0
  141. package/dist/esm/hooks/customMarksForStructuredTextField.js.map +1 -0
  142. package/dist/esm/hooks/executeFieldDropdownAction.d.ts +17 -0
  143. package/dist/esm/hooks/executeFieldDropdownAction.js +2 -0
  144. package/dist/esm/hooks/executeFieldDropdownAction.js.map +1 -0
  145. package/dist/esm/hooks/executeItemFormDropdownAction.d.ts +16 -0
  146. package/dist/esm/hooks/executeItemFormDropdownAction.js +2 -0
  147. package/dist/esm/hooks/executeItemFormDropdownAction.js.map +1 -0
  148. package/dist/esm/hooks/executeItemsDropdownAction.d.ts +20 -0
  149. package/dist/esm/hooks/executeItemsDropdownAction.js +2 -0
  150. package/dist/esm/hooks/executeItemsDropdownAction.js.map +1 -0
  151. package/dist/esm/hooks/executeUploadsDropdownAction.d.ts +20 -0
  152. package/dist/esm/hooks/executeUploadsDropdownAction.js +2 -0
  153. package/dist/esm/hooks/executeUploadsDropdownAction.js.map +1 -0
  154. package/dist/esm/hooks/fieldDropdownActions.d.ts +20 -0
  155. package/dist/esm/hooks/fieldDropdownActions.js +2 -0
  156. package/dist/esm/hooks/fieldDropdownActions.js.map +1 -0
  157. package/dist/esm/hooks/initialLocationQueryForItemSelector.d.ts +27 -0
  158. package/dist/esm/hooks/initialLocationQueryForItemSelector.js +2 -0
  159. package/dist/esm/hooks/initialLocationQueryForItemSelector.js.map +1 -0
  160. package/dist/esm/hooks/itemCollectionOutlets.d.ts +31 -0
  161. package/dist/esm/hooks/itemCollectionOutlets.js +2 -0
  162. package/dist/esm/hooks/itemCollectionOutlets.js.map +1 -0
  163. package/dist/esm/hooks/itemFormDropdownActions.d.ts +20 -0
  164. package/dist/esm/hooks/itemFormDropdownActions.js +2 -0
  165. package/dist/esm/hooks/itemFormDropdownActions.js.map +1 -0
  166. package/dist/esm/hooks/itemFormOutlets.d.ts +30 -0
  167. package/dist/esm/hooks/itemFormOutlets.js +2 -0
  168. package/dist/esm/hooks/itemFormOutlets.js.map +1 -0
  169. package/dist/esm/hooks/itemFormSidebarPanels.d.ts +48 -0
  170. package/dist/esm/hooks/itemFormSidebarPanels.js +2 -0
  171. package/dist/esm/hooks/itemFormSidebarPanels.js.map +1 -0
  172. package/dist/esm/hooks/itemFormSidebars.d.ts +38 -0
  173. package/dist/esm/hooks/itemFormSidebars.js +2 -0
  174. package/dist/esm/hooks/itemFormSidebars.js.map +1 -0
  175. package/dist/esm/hooks/itemsDropdownActions.d.ts +23 -0
  176. package/dist/esm/hooks/itemsDropdownActions.js +2 -0
  177. package/dist/esm/hooks/itemsDropdownActions.js.map +1 -0
  178. package/dist/esm/hooks/mainNavigationTabs.d.ts +44 -0
  179. package/dist/esm/hooks/mainNavigationTabs.js +2 -0
  180. package/dist/esm/hooks/mainNavigationTabs.js.map +1 -0
  181. package/dist/esm/hooks/manualFieldExtensions.d.ts +59 -0
  182. package/dist/esm/hooks/manualFieldExtensions.js +2 -0
  183. package/dist/esm/hooks/manualFieldExtensions.js.map +1 -0
  184. package/dist/esm/hooks/onBeforeItemUpsert.d.ts +16 -0
  185. package/dist/esm/hooks/onBeforeItemUpsert.js +2 -0
  186. package/dist/esm/hooks/onBeforeItemUpsert.js.map +1 -0
  187. package/dist/esm/hooks/onBeforeItemsDestroy.d.ts +15 -0
  188. package/dist/esm/hooks/onBeforeItemsDestroy.js +2 -0
  189. package/dist/esm/hooks/onBeforeItemsDestroy.js.map +1 -0
  190. package/dist/esm/hooks/onBeforeItemsPublish.d.ts +15 -0
  191. package/dist/esm/hooks/onBeforeItemsPublish.js +2 -0
  192. package/dist/esm/hooks/onBeforeItemsPublish.js.map +1 -0
  193. package/dist/esm/hooks/onBeforeItemsUnpublish.d.ts +15 -0
  194. package/dist/esm/hooks/onBeforeItemsUnpublish.js +2 -0
  195. package/dist/esm/hooks/onBeforeItemsUnpublish.js.map +1 -0
  196. package/dist/esm/hooks/onBoot.d.ts +11 -0
  197. package/dist/esm/hooks/onBoot.js +2 -0
  198. package/dist/esm/hooks/onBoot.js.map +1 -0
  199. package/dist/esm/hooks/overrideFieldExtensions.d.ts +88 -0
  200. package/dist/esm/hooks/overrideFieldExtensions.js +2 -0
  201. package/dist/esm/hooks/overrideFieldExtensions.js.map +1 -0
  202. package/dist/esm/hooks/renderAssetSource.d.ts +98 -0
  203. package/dist/esm/hooks/renderAssetSource.js +8 -0
  204. package/dist/esm/hooks/renderAssetSource.js.map +1 -0
  205. package/dist/esm/hooks/renderConfigScreen.d.ts +12 -0
  206. package/dist/esm/hooks/renderConfigScreen.js +8 -0
  207. package/dist/esm/hooks/renderConfigScreen.js.map +1 -0
  208. package/dist/esm/hooks/renderFieldExtension.d.ts +20 -0
  209. package/dist/esm/hooks/renderFieldExtension.js +8 -0
  210. package/dist/esm/hooks/renderFieldExtension.js.map +1 -0
  211. package/dist/esm/hooks/renderItemCollectionOutlet.d.ts +15 -0
  212. package/dist/esm/hooks/renderItemCollectionOutlet.js +8 -0
  213. package/dist/esm/hooks/renderItemCollectionOutlet.js.map +1 -0
  214. package/dist/esm/hooks/renderItemFormOutlet.d.ts +16 -0
  215. package/dist/esm/hooks/renderItemFormOutlet.js +8 -0
  216. package/dist/esm/hooks/renderItemFormOutlet.js.map +1 -0
  217. package/dist/esm/hooks/renderItemFormSidebar.d.ts +21 -0
  218. package/dist/esm/hooks/renderItemFormSidebar.js +8 -0
  219. package/dist/esm/hooks/renderItemFormSidebar.js.map +1 -0
  220. package/dist/esm/hooks/renderItemFormSidebarPanel.d.ts +21 -0
  221. package/dist/esm/hooks/renderItemFormSidebarPanel.js +8 -0
  222. package/dist/esm/hooks/renderItemFormSidebarPanel.js.map +1 -0
  223. package/dist/esm/hooks/renderManualFieldExtensionConfigScreen.d.ts +55 -0
  224. package/dist/esm/hooks/renderManualFieldExtensionConfigScreen.js +8 -0
  225. package/dist/esm/hooks/renderManualFieldExtensionConfigScreen.js.map +1 -0
  226. package/dist/esm/hooks/renderModal.d.ts +37 -0
  227. package/dist/esm/hooks/renderModal.js +8 -0
  228. package/dist/esm/hooks/renderModal.js.map +1 -0
  229. package/dist/esm/hooks/renderPage.d.ts +16 -0
  230. package/dist/esm/hooks/renderPage.js +8 -0
  231. package/dist/esm/hooks/renderPage.js.map +1 -0
  232. package/dist/esm/hooks/renderUploadSidebar.d.ts +25 -0
  233. package/dist/esm/hooks/renderUploadSidebar.js +8 -0
  234. package/dist/esm/hooks/renderUploadSidebar.js.map +1 -0
  235. package/dist/esm/hooks/renderUploadSidebarPanel.d.ts +25 -0
  236. package/dist/esm/hooks/renderUploadSidebarPanel.js +8 -0
  237. package/dist/esm/hooks/renderUploadSidebarPanel.js.map +1 -0
  238. package/dist/esm/hooks/settingsAreaSidebarItemGroups.d.ts +53 -0
  239. package/dist/esm/hooks/settingsAreaSidebarItemGroups.js +2 -0
  240. package/dist/esm/hooks/settingsAreaSidebarItemGroups.js.map +1 -0
  241. package/dist/esm/hooks/uploadSidebarPanels.d.ts +48 -0
  242. package/dist/esm/hooks/uploadSidebarPanels.js +2 -0
  243. package/dist/esm/hooks/uploadSidebarPanels.js.map +1 -0
  244. package/dist/esm/hooks/uploadSidebars.d.ts +35 -0
  245. package/dist/esm/hooks/uploadSidebars.js +2 -0
  246. package/dist/esm/hooks/uploadSidebars.js.map +1 -0
  247. package/dist/esm/hooks/uploadsDropdownActions.d.ts +19 -0
  248. package/dist/esm/hooks/uploadsDropdownActions.js +2 -0
  249. package/dist/esm/hooks/uploadsDropdownActions.js.map +1 -0
  250. package/dist/esm/hooks/validateManualFieldExtensionParameters.d.ts +9 -0
  251. package/dist/esm/hooks/validateManualFieldExtensionParameters.js +2 -0
  252. package/dist/esm/hooks/validateManualFieldExtensionParameters.js.map +1 -0
  253. package/dist/esm/icon.d.ts +6 -0
  254. package/dist/esm/icon.js +2 -0
  255. package/dist/esm/icon.js.map +1 -0
  256. package/dist/esm/index.d.ts +57 -12
  257. package/dist/esm/index.js +46 -1
  258. package/dist/esm/index.js.map +1 -1
  259. package/dist/esm/manifest.d.ts +2 -0
  260. package/dist/esm/manifest.js +3169 -0
  261. package/dist/esm/manifest.js.map +1 -0
  262. package/dist/esm/manifestTypes.d.ts +146 -0
  263. package/dist/esm/manifestTypes.js +2 -0
  264. package/dist/esm/manifestTypes.js.map +1 -0
  265. package/dist/esm/shared.d.ts +56 -0
  266. package/dist/esm/shared.js +2 -0
  267. package/dist/esm/shared.js.map +1 -0
  268. package/dist/esm/utils.d.ts +31 -0
  269. package/dist/esm/utils.js +129 -0
  270. package/dist/esm/utils.js.map +1 -0
  271. package/dist/types/connect.d.ts +44 -244
  272. package/dist/types/ctx/base.d.ts +684 -0
  273. package/dist/types/ctx/commonExtras/field.d.ts +29 -0
  274. package/dist/types/ctx/commonExtras/itemForm.d.ts +148 -0
  275. package/dist/types/ctx/commonExtras/sizing.d.ts +23 -0
  276. package/dist/types/ctx/pluginFrame.d.ts +12 -0
  277. package/dist/types/hooks/assetSources.d.ts +42 -0
  278. package/dist/types/hooks/buildItemPresentationInfo.d.ts +29 -0
  279. package/dist/types/hooks/contentAreaSidebarItems.d.ts +40 -0
  280. package/dist/types/hooks/customBlockStylesForStructuredTextField.d.ts +36 -0
  281. package/dist/types/hooks/customMarksForStructuredTextField.d.ts +57 -0
  282. package/dist/types/hooks/executeFieldDropdownAction.d.ts +17 -0
  283. package/dist/types/hooks/executeItemFormDropdownAction.d.ts +16 -0
  284. package/dist/types/hooks/executeItemsDropdownAction.d.ts +20 -0
  285. package/dist/types/hooks/executeUploadsDropdownAction.d.ts +20 -0
  286. package/dist/types/hooks/fieldDropdownActions.d.ts +20 -0
  287. package/dist/types/hooks/initialLocationQueryForItemSelector.d.ts +27 -0
  288. package/dist/types/hooks/itemCollectionOutlets.d.ts +31 -0
  289. package/dist/types/hooks/itemFormDropdownActions.d.ts +20 -0
  290. package/dist/types/hooks/itemFormOutlets.d.ts +30 -0
  291. package/dist/types/hooks/itemFormSidebarPanels.d.ts +48 -0
  292. package/dist/types/hooks/itemFormSidebars.d.ts +38 -0
  293. package/dist/types/hooks/itemsDropdownActions.d.ts +23 -0
  294. package/dist/types/hooks/mainNavigationTabs.d.ts +44 -0
  295. package/dist/types/hooks/manualFieldExtensions.d.ts +59 -0
  296. package/dist/types/hooks/onBeforeItemUpsert.d.ts +16 -0
  297. package/dist/types/hooks/onBeforeItemsDestroy.d.ts +15 -0
  298. package/dist/types/hooks/onBeforeItemsPublish.d.ts +15 -0
  299. package/dist/types/hooks/onBeforeItemsUnpublish.d.ts +15 -0
  300. package/dist/types/hooks/onBoot.d.ts +11 -0
  301. package/dist/types/hooks/overrideFieldExtensions.d.ts +88 -0
  302. package/dist/types/hooks/renderAssetSource.d.ts +98 -0
  303. package/dist/types/hooks/renderConfigScreen.d.ts +12 -0
  304. package/dist/types/hooks/renderFieldExtension.d.ts +20 -0
  305. package/dist/types/hooks/renderItemCollectionOutlet.d.ts +15 -0
  306. package/dist/types/hooks/renderItemFormOutlet.d.ts +16 -0
  307. package/dist/types/hooks/renderItemFormSidebar.d.ts +21 -0
  308. package/dist/types/hooks/renderItemFormSidebarPanel.d.ts +21 -0
  309. package/dist/types/hooks/renderManualFieldExtensionConfigScreen.d.ts +55 -0
  310. package/dist/types/hooks/renderModal.d.ts +37 -0
  311. package/dist/types/hooks/renderPage.d.ts +16 -0
  312. package/dist/types/hooks/renderUploadSidebar.d.ts +25 -0
  313. package/dist/types/hooks/renderUploadSidebarPanel.d.ts +25 -0
  314. package/dist/types/hooks/settingsAreaSidebarItemGroups.d.ts +53 -0
  315. package/dist/types/hooks/uploadSidebarPanels.d.ts +48 -0
  316. package/dist/types/hooks/uploadSidebars.d.ts +35 -0
  317. package/dist/types/hooks/uploadsDropdownActions.d.ts +19 -0
  318. package/dist/types/hooks/validateManualFieldExtensionParameters.d.ts +9 -0
  319. package/dist/types/icon.d.ts +6 -0
  320. package/dist/types/index.d.ts +57 -12
  321. package/dist/types/manifest.d.ts +2 -0
  322. package/dist/types/manifestTypes.d.ts +146 -0
  323. package/dist/types/shared.d.ts +56 -0
  324. package/dist/types/utils.d.ts +31 -0
  325. package/manifest.json +3168 -0
  326. package/package.json +7 -6
  327. package/src/connect.ts +207 -709
  328. package/src/ctx/base.ts +746 -0
  329. package/src/ctx/commonExtras/field.ts +27 -0
  330. package/src/ctx/commonExtras/itemForm.ts +155 -0
  331. package/src/ctx/commonExtras/sizing.ts +27 -0
  332. package/src/ctx/pluginFrame.ts +39 -0
  333. package/src/hooks/assetSources.ts +45 -0
  334. package/src/hooks/buildItemPresentationInfo.ts +35 -0
  335. package/src/hooks/contentAreaSidebarItems.ts +45 -0
  336. package/src/hooks/customBlockStylesForStructuredTextField.ts +42 -0
  337. package/src/hooks/customMarksForStructuredTextField.ts +64 -0
  338. package/src/hooks/executeFieldDropdownAction.ts +28 -0
  339. package/src/hooks/executeItemFormDropdownAction.ts +26 -0
  340. package/src/hooks/executeItemsDropdownAction.ts +24 -0
  341. package/src/hooks/executeUploadsDropdownAction.ts +24 -0
  342. package/src/hooks/fieldDropdownActions.ts +27 -0
  343. package/src/hooks/initialLocationQueryForItemSelector.ts +35 -0
  344. package/src/hooks/itemCollectionOutlets.ts +37 -0
  345. package/src/hooks/itemFormDropdownActions.ts +27 -0
  346. package/src/hooks/itemFormOutlets.ts +36 -0
  347. package/src/hooks/itemFormSidebarPanels.ts +54 -0
  348. package/src/hooks/itemFormSidebars.ts +44 -0
  349. package/src/hooks/itemsDropdownActions.ts +28 -0
  350. package/src/hooks/mainNavigationTabs.ts +47 -0
  351. package/src/hooks/manualFieldExtensions.ts +82 -0
  352. package/src/hooks/onBeforeItemUpsert.ts +21 -0
  353. package/src/hooks/onBeforeItemsDestroy.ts +20 -0
  354. package/src/hooks/onBeforeItemsPublish.ts +20 -0
  355. package/src/hooks/onBeforeItemsUnpublish.ts +20 -0
  356. package/src/hooks/onBoot.ts +13 -0
  357. package/src/hooks/overrideFieldExtensions.ts +95 -0
  358. package/src/hooks/renderAssetSource.ts +119 -0
  359. package/src/hooks/renderConfigScreen.ts +27 -0
  360. package/src/hooks/renderFieldExtension.ts +46 -0
  361. package/src/hooks/renderItemCollectionOutlet.ts +35 -0
  362. package/src/hooks/renderItemFormOutlet.ts +40 -0
  363. package/src/hooks/renderItemFormSidebar.ts +45 -0
  364. package/src/hooks/renderItemFormSidebarPanel.ts +46 -0
  365. package/src/hooks/renderManualFieldExtensionConfigScreen.ts +83 -0
  366. package/src/hooks/renderModal.ts +54 -0
  367. package/src/hooks/renderPage.ts +33 -0
  368. package/src/hooks/renderUploadSidebar.ts +44 -0
  369. package/src/hooks/renderUploadSidebarPanel.ts +47 -0
  370. package/src/hooks/settingsAreaSidebarItemGroups.ts +59 -0
  371. package/src/hooks/uploadSidebarPanels.ts +59 -0
  372. package/src/hooks/uploadSidebars.ts +38 -0
  373. package/src/hooks/uploadsDropdownActions.ts +22 -0
  374. package/src/hooks/validateManualFieldExtensionParameters.ts +12 -0
  375. package/src/{types.ts → icon.ts} +0 -1739
  376. package/src/index.ts +49 -4
  377. package/src/manifest.ts +3375 -0
  378. package/src/manifestTypes.ts +153 -0
  379. package/src/shared.ts +67 -0
  380. package/src/utils.ts +253 -0
  381. package/dist/cjs/guards.js +0 -19
  382. package/dist/cjs/guards.js.map +0 -1
  383. package/dist/cjs/types.js.map +0 -1
  384. package/dist/esm/guards.d.ts +0 -37
  385. package/dist/esm/guards.js +0 -16
  386. package/dist/esm/guards.js.map +0 -1
  387. package/dist/esm/types.d.ts +0 -1569
  388. package/dist/esm/types.js +0 -2
  389. package/dist/esm/types.js.map +0 -1
  390. package/dist/types/guards.d.ts +0 -37
  391. package/dist/types/types.d.ts +0 -1569
  392. package/src/guards.ts +0 -51
  393. package/types.json +0 -37437
@@ -0,0 +1,27 @@
1
+ import type { SchemaTypes } from '@datocms/cma-client';
2
+ import { Ctx, ItemListLocationQuery } from '../ctx/base';
3
+ import { MaybePromise } from '../utils';
4
+ type Field = SchemaTypes.Field;
5
+ type ItemType = SchemaTypes.ItemType;
6
+ export type InitialLocationQueryForItemSelectorHook = {
7
+ /**
8
+ * Use this function to customize the initial filters when opening a record
9
+ * selector via a "Single link" or "Multiple links" field
10
+ *
11
+ * @tag locationQuery
12
+ */
13
+ initialLocationQueryForItemSelector: (openerField: Field, itemType: ItemType, ctx: InitialLocationQueryForItemSelectorCtx) => MaybePromise<InitialLocationQueryForItemSelector | undefined>;
14
+ };
15
+ export type InitialLocationQueryForItemSelectorCtx = Ctx;
16
+ export type InitialLocationQueryForItemSelector = {
17
+ locationQuery: ItemListLocationQuery;
18
+ /**
19
+ * If different plugins implement the `initialLocationQueryForItemSelector`
20
+ * hook, the one with the lowest `rank` will be used. If you want to specify
21
+ * an explicit value for `rank`, make sure to offer a way for final users to
22
+ * customize it inside the plugin's settings form, otherwise the hardcoded
23
+ * value you choose might clash with the one of another plugin!
24
+ */
25
+ rank?: number;
26
+ };
27
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=initialLocationQueryForItemSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initialLocationQueryForItemSelector.js","sourceRoot":"","sources":["../../../src/hooks/initialLocationQueryForItemSelector.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ import type { SchemaTypes } from '@datocms/cma-client';
2
+ import { Ctx } from '../ctx/base';
3
+ type ItemType = SchemaTypes.ItemType;
4
+ export type ItemCollectionOutletsHook = {
5
+ /**
6
+ * Use this function to declare custom outlets to be shown at the top of a
7
+ * collection of records of a particular model
8
+ *
9
+ * @tag outlets
10
+ */
11
+ itemCollectionOutlets: (itemType: ItemType, ctx: ItemCollectionOutletsCtx) => ItemCollectionOutlet[];
12
+ };
13
+ export type ItemCollectionOutletsCtx = Ctx;
14
+ /** An outlet to be shown at the top of a record's collection page */
15
+ export type ItemCollectionOutlet = {
16
+ /**
17
+ * ID of the outlet. Will be the first argument for the `renderItemCollectionOutlet`
18
+ * function
19
+ */
20
+ id: string;
21
+ /**
22
+ * Multiple outlets will be sorted by ascending `rank`. If you want to specify
23
+ * an explicit value for `rank`, make sure to offer a way for final users to
24
+ * customize it inside the plugin's settings form, otherwise the hardcoded
25
+ * value you choose might clash with the one of another plugin!
26
+ */
27
+ rank?: number;
28
+ /** The initial height to set for the iframe that will render the outlet */
29
+ initialHeight?: number;
30
+ };
31
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=itemCollectionOutlets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"itemCollectionOutlets.js","sourceRoot":"","sources":["../../../src/hooks/itemCollectionOutlets.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ import type { SchemaTypes } from '@datocms/cma-client';
2
+ import { Ctx } from '../ctx/base';
3
+ import { ItemFormAdditionalProperties } from '../ctx/commonExtras/itemForm';
4
+ import { DropdownAction, DropdownActionGroup } from '../shared';
5
+ type ItemType = SchemaTypes.ItemType;
6
+ export type ItemFormDropdownActionsHook = {
7
+ /**
8
+ * Use this function to define custom actions (or groups of actions) to be
9
+ * displayed at when editing a particular record.
10
+ *
11
+ * The `executeItemFormDropdownAction()` hook will be triggered once the user
12
+ * clicks on one of the defined actions.
13
+ *
14
+ * @tag dropdownActions
15
+ */
16
+ itemFormDropdownActions: (itemType: ItemType, ctx: ItemFormDropdownActionsCtx) => Array<DropdownAction | DropdownActionGroup>;
17
+ };
18
+ export type ItemFormDropdownActionsCtx = ItemFormDropdownActionsProperties;
19
+ export type ItemFormDropdownActionsProperties = Ctx<ItemFormAdditionalProperties>;
20
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=itemFormDropdownActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"itemFormDropdownActions.js","sourceRoot":"","sources":["../../../src/hooks/itemFormDropdownActions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,30 @@
1
+ import type { SchemaTypes } from '@datocms/cma-client';
2
+ import { Ctx } from '../ctx/base';
3
+ type ItemType = SchemaTypes.ItemType;
4
+ export type ItemFormOutletsHook = {
5
+ /**
6
+ * Use this function to declare custom outlets to be shown at the top of the
7
+ * record's editing page
8
+ *
9
+ * @tag outlets
10
+ */
11
+ itemFormOutlets: (itemType: ItemType, ctx: ItemFormOutletsCtx) => ItemFormOutlet[];
12
+ };
13
+ export type ItemFormOutletsCtx = Ctx;
14
+ export type ItemFormOutlet = {
15
+ /**
16
+ * ID of the outlet. Will be the first argument for the `renderItemFormOutlet`
17
+ * function
18
+ */
19
+ id: string;
20
+ /**
21
+ * Multiple outlets will be sorted by ascending `rank`. If you want to specify
22
+ * an explicit value for `rank`, make sure to offer a way for final users to
23
+ * customize it inside the plugin's settings form, otherwise the hardcoded
24
+ * value you choose might clash with the one of another plugin!
25
+ */
26
+ rank?: number;
27
+ /** The initial height to set for the iframe that will render the outlet */
28
+ initialHeight?: number;
29
+ };
30
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=itemFormOutlets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"itemFormOutlets.js","sourceRoot":"","sources":["../../../src/hooks/itemFormOutlets.ts"],"names":[],"mappings":""}
@@ -0,0 +1,48 @@
1
+ import type { SchemaTypes } from '@datocms/cma-client';
2
+ import { Ctx } from '../ctx/base';
3
+ import { ItemFormSidebarPanelPlacement } from '../shared';
4
+ type ItemType = SchemaTypes.ItemType;
5
+ export type ItemFormSidebarPanelsHook = {
6
+ /**
7
+ * Use this function to declare new sidebar panels to be shown when the user
8
+ * edits records of a particular model
9
+ *
10
+ * @tag sidebarPanels
11
+ */
12
+ itemFormSidebarPanels: (itemType: ItemType, ctx: ItemFormSidebarPanelsCtx) => ItemFormSidebarPanel[];
13
+ };
14
+ export type ItemFormSidebarPanelsCtx = Ctx;
15
+ export type ItemFormSidebarPanel = {
16
+ /**
17
+ * ID of the panel. Will be the first argument for the
18
+ * `renderItemFormSidebarPanel` function
19
+ */
20
+ id: string;
21
+ /** Label to be shown on the collapsible sidebar panel handle */
22
+ label: string;
23
+ /**
24
+ * An arbitrary configuration object that will be passed as the `parameters`
25
+ * property of the second argument of the `renderItemFormSidebarPanel`
26
+ * function
27
+ */
28
+ parameters?: Record<string, unknown>;
29
+ /** Whether the sidebar panel will start open or collapsed */
30
+ startOpen?: boolean;
31
+ /**
32
+ * Expresses where you want the item to be placed inside the sidebar. If not
33
+ * specified, the item will be placed after the standard panels provided by
34
+ * DatoCMS itself.
35
+ */
36
+ placement?: ItemFormSidebarPanelPlacement;
37
+ /**
38
+ * If multiple sidebar panels specify the same `placement`, they will be
39
+ * sorted by ascending `rank`. If you want to specify an explicit value for
40
+ * `rank`, make sure to offer a way for final users to customize it inside the
41
+ * plugin's settings form, otherwise the hardcoded value you choose might
42
+ * clash with the one of another plugin!
43
+ */
44
+ rank?: number;
45
+ /** The initial height to set for the iframe that will render the sidebar panel */
46
+ initialHeight?: number;
47
+ };
48
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=itemFormSidebarPanels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"itemFormSidebarPanels.js","sourceRoot":"","sources":["../../../src/hooks/itemFormSidebarPanels.ts"],"names":[],"mappings":""}
@@ -0,0 +1,38 @@
1
+ import type { SchemaTypes } from '@datocms/cma-client';
2
+ import { Ctx } from '../ctx/base';
3
+ type ItemType = SchemaTypes.ItemType;
4
+ export type ItemFormSidebarsHook = {
5
+ /**
6
+ * Use this function to declare new sidebar to be shown when the user edits
7
+ * records of a particular model
8
+ *
9
+ * @tag sidebarPanels
10
+ */
11
+ itemFormSidebars: (itemType: ItemType, ctx: ItemFormSidebarsCtx) => ItemFormSidebar[];
12
+ };
13
+ export type ItemFormSidebarsCtx = Ctx;
14
+ export type ItemFormSidebar = {
15
+ /**
16
+ * ID of the sidebar. Will be the first argument for the
17
+ * `renderItemFormSidebar` function
18
+ */
19
+ id: string;
20
+ /** Label to be shown on the collapsible sidebar handle */
21
+ label: string;
22
+ /**
23
+ * An arbitrary configuration object that will be passed as the `parameters`
24
+ * property of the second argument of the `renderItemFormSidebar` function
25
+ */
26
+ parameters?: Record<string, unknown>;
27
+ /**
28
+ * If multiple sidebars specify the same `placement`, they will be sorted by
29
+ * ascending `rank`. If you want to specify an explicit value for `rank`, make
30
+ * sure to offer a way for final users to customize it inside the plugin's
31
+ * settings form, otherwise the hardcoded value you choose might clash with
32
+ * the one of another plugin!
33
+ */
34
+ rank?: number;
35
+ /** The preferred width for the sidebar */
36
+ preferredWidth?: number;
37
+ };
38
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=itemFormSidebars.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"itemFormSidebars.js","sourceRoot":"","sources":["../../../src/hooks/itemFormSidebars.ts"],"names":[],"mappings":""}
@@ -0,0 +1,23 @@
1
+ import type { SchemaTypes } from '@datocms/cma-client';
2
+ import { Ctx } from '../ctx/base';
3
+ import { DropdownAction, DropdownActionGroup } from '../shared';
4
+ type ItemType = SchemaTypes.ItemType;
5
+ export type ItemsDropdownActionsHook = {
6
+ /**
7
+ * This function lets you set up custom actions (or groups of actions) that
8
+ * show up when the user:
9
+ *
10
+ * * selects multiple records in the collection view for batch operations, or
11
+ * * starts editing a specific record.
12
+ *
13
+ * The `executeItemsDropdownAction()` hook will be triggered once the user
14
+ * clicks on one of the defined actions.
15
+ *
16
+ * @tag dropdownActions
17
+ */
18
+ itemsDropdownActions: (itemType: ItemType, ctx: ItemDropdownActionsCtx) => Array<DropdownAction | DropdownActionGroup>;
19
+ };
20
+ export type ItemDropdownActionsCtx = Ctx<{
21
+ itemType: ItemType;
22
+ }>;
23
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=itemsDropdownActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"itemsDropdownActions.js","sourceRoot":"","sources":["../../../src/hooks/itemsDropdownActions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,44 @@
1
+ import { Ctx } from '../ctx/base';
2
+ import { Icon } from '../icon';
3
+ export type MainNavigationTabsHook = {
4
+ /**
5
+ * Use this function to declare new tabs you want to add in the top-bar of the
6
+ * UI
7
+ *
8
+ * @tag pages
9
+ */
10
+ mainNavigationTabs: (ctx: MainNavigationTabsCtx) => MainNavigationTab[];
11
+ };
12
+ export type MainNavigationTabsCtx = Ctx;
13
+ /** A tab to be displayed in the top-bar of the UI */
14
+ export type MainNavigationTab = {
15
+ /** Label to be shown. Must be unique. */
16
+ label: string;
17
+ /**
18
+ * Icon to be shown alongside the label. Can be a FontAwesome icon name (ie.
19
+ * `"address-book"`) or a custom SVG definition. To maintain visual
20
+ * consistency with the rest of the interface, try to use FontAwesome icons
21
+ * whenever possible.
22
+ */
23
+ icon: Icon;
24
+ /** ID of the page linked to the tab */
25
+ pointsTo: {
26
+ pageId: string;
27
+ };
28
+ /**
29
+ * Expresses where you want to place the tab in the top-bar. If not specified,
30
+ * the tab will be placed after the standard tabs provided by DatoCMS itself.
31
+ */
32
+ placement?: [
33
+ 'before' | 'after',
34
+ 'content' | 'media' | 'schema' | 'configuration' | 'cdaPlayground'
35
+ ];
36
+ /**
37
+ * If different plugins specify the same `placement` for their tabs, they will
38
+ * be displayed by ascending `rank`. If you want to specify an explicit value
39
+ * for `rank`, make sure to offer a way for final users to customize it inside
40
+ * the plugin's settings form, otherwise the hardcoded value you choose might
41
+ * clash with the one of another plugin!
42
+ */
43
+ rank?: number;
44
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mainNavigationTabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mainNavigationTabs.js","sourceRoot":"","sources":["../../../src/hooks/mainNavigationTabs.ts"],"names":[],"mappings":""}
@@ -0,0 +1,59 @@
1
+ import { Ctx } from '../ctx/base';
2
+ export type ManualFieldExtensionsHook = {
3
+ /**
4
+ * Use this function to declare new field extensions that users will be able
5
+ * to install manually in some field
6
+ *
7
+ * @tag manualFieldExtensions
8
+ */
9
+ manualFieldExtensions: (ctx: ManualFieldExtensionsCtx) => ManualFieldExtension[];
10
+ };
11
+ export type ManualFieldExtensionsCtx = Ctx;
12
+ export type ManualFieldExtension = {
13
+ /**
14
+ * ID of field extension. Will be the first argument for the
15
+ * `renderFieldExtension` function
16
+ */
17
+ id: string;
18
+ /** Name to be shown when editing fields */
19
+ name: string;
20
+ /**
21
+ * Type of field extension. An `editor` extension replaces the default field
22
+ * editor that DatoCMS provides, while an `addon` extension is placed
23
+ * underneath the field editor to provide additional info/behaviour. You can
24
+ * setup multiple field addons for every field.
25
+ */
26
+ type: FieldExtensionType;
27
+ /**
28
+ * For `editor` extensions: moves the field to the sidebar of the record
29
+ * editing page, mimicking a sidebar panel
30
+ */
31
+ asSidebarPanel?: boolean | {
32
+ startOpen: boolean;
33
+ };
34
+ /**
35
+ * The type of fields that the field extension in compatible with. You can use
36
+ * the shortcut `all` to target all types of fields
37
+ */
38
+ fieldTypes: 'all' | FieldType[];
39
+ /**
40
+ * Whether this field extension needs some configuration options before being
41
+ * installed in a field or not. Will trigger the
42
+ * `renderManualFieldExtensionConfigScreen` and
43
+ * `validateManualFieldExtensionParameters` methods
44
+ */
45
+ configurable?: boolean | {
46
+ initialHeight: number;
47
+ };
48
+ /**
49
+ * The initial height to set for the iframe that will render the field
50
+ * extension
51
+ */
52
+ initialHeight?: number;
53
+ };
54
+ /**
55
+ * The sidebar in the Content Area presents a number of user-defined menu-items.
56
+ * This object represents a new item to be added in the sidebar.
57
+ */
58
+ export type FieldExtensionType = 'editor' | 'addon';
59
+ export type FieldType = 'boolean' | 'color' | 'date_time' | 'date' | 'file' | 'float' | 'gallery' | 'integer' | 'json' | 'lat_lon' | 'link' | 'links' | 'rich_text' | 'seo' | 'slug' | 'string' | 'structured_text' | 'text' | 'video';
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=manualFieldExtensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manualFieldExtensions.js","sourceRoot":"","sources":["../../../src/hooks/manualFieldExtensions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import type { SchemaTypes } from '@datocms/cma-client';
2
+ import { Ctx } from '../ctx/base';
3
+ import { MaybePromise } from '../utils';
4
+ type ItemUpdateSchema = SchemaTypes.ItemUpdateSchema;
5
+ type ItemCreateSchema = SchemaTypes.ItemCreateSchema;
6
+ export type OnBeforeItemUpsertHook = {
7
+ /**
8
+ * This function will be called before saving a new version of a record. You
9
+ * can stop the action by returning `false`
10
+ *
11
+ * @tag beforeHooks
12
+ */
13
+ onBeforeItemUpsert: (createOrUpdateItemPayload: ItemUpdateSchema | ItemCreateSchema, ctx: OnBeforeItemUpsertCtx) => MaybePromise<boolean>;
14
+ };
15
+ export type OnBeforeItemUpsertCtx = Ctx;
16
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=onBeforeItemUpsert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onBeforeItemUpsert.js","sourceRoot":"","sources":["../../../src/hooks/onBeforeItemUpsert.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import type { SchemaTypes } from '@datocms/cma-client';
2
+ import { Ctx } from '../ctx/base';
3
+ import { MaybePromise } from '../utils';
4
+ type Item = SchemaTypes.Item;
5
+ export type OnBeforeItemsDestroyHook = {
6
+ /**
7
+ * This function will be called before destroying records. You can stop the
8
+ * action by returning `false`
9
+ *
10
+ * @tag beforeHooks
11
+ */
12
+ onBeforeItemsDestroy: (items: Item[], ctx: OnBeforeItemsDestroyCtx) => MaybePromise<boolean>;
13
+ };
14
+ export type OnBeforeItemsDestroyCtx = Ctx;
15
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=onBeforeItemsDestroy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onBeforeItemsDestroy.js","sourceRoot":"","sources":["../../../src/hooks/onBeforeItemsDestroy.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import type { SchemaTypes } from '@datocms/cma-client';
2
+ import { Ctx } from '../ctx/base';
3
+ import { MaybePromise } from '../utils';
4
+ type Item = SchemaTypes.Item;
5
+ export type OnBeforeItemsPublishHook = {
6
+ /**
7
+ * This function will be called before publishing records. You can stop the
8
+ * action by returning `false`
9
+ *
10
+ * @tag beforeHooks
11
+ */
12
+ onBeforeItemsPublish: (items: Item[], ctx: OnBeforeItemsPublishCtx) => MaybePromise<boolean>;
13
+ };
14
+ export type OnBeforeItemsPublishCtx = Ctx;
15
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=onBeforeItemsPublish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onBeforeItemsPublish.js","sourceRoot":"","sources":["../../../src/hooks/onBeforeItemsPublish.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import type { SchemaTypes } from '@datocms/cma-client';
2
+ import { Ctx } from '../ctx/base';
3
+ import { MaybePromise } from '../utils';
4
+ type Item = SchemaTypes.Item;
5
+ export type OnBeforeItemsUnpublishHook = {
6
+ /**
7
+ * This function will be called before unpublishing records. You can stop the
8
+ * action by returning `false`
9
+ *
10
+ * @tag beforeHooks
11
+ */
12
+ onBeforeItemsUnpublish: (items: Item[], ctx: OnBeforeItemsUnpublishCtx) => MaybePromise<boolean>;
13
+ };
14
+ export type OnBeforeItemsUnpublishCtx = Ctx;
15
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=onBeforeItemsUnpublish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onBeforeItemsUnpublish.js","sourceRoot":"","sources":["../../../src/hooks/onBeforeItemsUnpublish.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { ImposedSizePluginFrameCtx } from '../ctx/pluginFrame';
2
+ export type OnBootHook = {
3
+ /**
4
+ * This function will be called once at boot time and can be used to perform
5
+ * ie. some initial integrity checks on the configuration.
6
+ *
7
+ * @tag boot
8
+ */
9
+ onBoot: (ctx: OnBootCtx) => void;
10
+ };
11
+ export type OnBootCtx = ImposedSizePluginFrameCtx<'onBoot'>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=onBoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onBoot.js","sourceRoot":"","sources":["../../../src/hooks/onBoot.ts"],"names":[],"mappings":""}
@@ -0,0 +1,88 @@
1
+ import type { SchemaTypes } from '@datocms/cma-client';
2
+ import { Ctx } from '../ctx/base';
3
+ import { ItemFormSidebarPanelPlacement } from '../shared';
4
+ type Field = SchemaTypes.Field;
5
+ type ItemType = SchemaTypes.ItemType;
6
+ export type OverrideFieldExtensionsHook = {
7
+ /**
8
+ * Use this function to automatically force one or more field extensions to a
9
+ * particular field
10
+ *
11
+ * @tag forcedFieldExtensions
12
+ */
13
+ overrideFieldExtensions: (field: Field, ctx: OverrideFieldExtensionsCtx) => FieldExtensionOverride | undefined;
14
+ };
15
+ export type OverrideFieldExtensionsCtx = Ctx<{
16
+ itemType: ItemType;
17
+ }>;
18
+ /**
19
+ * An object expressing some field extensions you want to force on a particular
20
+ * field
21
+ */
22
+ export type FieldExtensionOverride = {
23
+ /** Force a field editor/sidebar extension on a field */
24
+ editor?: EditorOverride;
25
+ /** One or more field sidebar extensions to forcefully add to a field */
26
+ addons?: AddonOverride[];
27
+ };
28
+ /** A field editor/sidebar forced on a field */
29
+ export type EditorOverride = {
30
+ /**
31
+ * ID of field extension. Will be the first argument for the
32
+ * `renderFieldExtension` function
33
+ */
34
+ id: string;
35
+ /**
36
+ * Moves the field to the sidebar of the record editing page, mimicking a
37
+ * sidebar panel
38
+ */
39
+ asSidebarPanel?: boolean | {
40
+ startOpen?: boolean;
41
+ placement?: ItemFormSidebarPanelPlacement;
42
+ };
43
+ /**
44
+ * An arbitrary configuration object that will be passed as the `parameters`
45
+ * property of the second argument of the `renderFieldExtension` function
46
+ */
47
+ parameters?: Record<string, unknown>;
48
+ /**
49
+ * If multiple plugins override a field, the one with the lowest `rank` will
50
+ * win. If you want to specify an explicit value for `rank`, make sure to
51
+ * offer a way for final users to customize it inside the plugin's settings
52
+ * form, otherwise the hardcoded value you choose might clash with the one of
53
+ * another plugin!
54
+ */
55
+ rank?: number;
56
+ /**
57
+ * The initial height to set for the iframe that will render the field
58
+ * extension
59
+ */
60
+ initialHeight?: number;
61
+ };
62
+ /** A field addon extension forced on a field */
63
+ export type AddonOverride = {
64
+ /**
65
+ * ID of field extension. Will be the first argument for the
66
+ * `renderFieldExtension` function
67
+ */
68
+ id: string;
69
+ /**
70
+ * An arbitrary configuration object that will be passed as the `parameters`
71
+ * property of the second argument of the `renderFieldExtension` function
72
+ */
73
+ parameters?: Record<string, unknown>;
74
+ /**
75
+ * If multiple addons are present for a field, they will be sorted by
76
+ * ascending `rank`. If you want to specify an explicit value for `rank`, make
77
+ * sure to offer a way for final users to customize it inside the plugin's
78
+ * settings form, otherwise the hardcoded value you choose might clash with
79
+ * the one of another plugin!
80
+ */
81
+ rank?: number;
82
+ /**
83
+ * The initial height to set for the iframe that will render the field
84
+ * extension
85
+ */
86
+ initialHeight?: number;
87
+ };
88
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=overrideFieldExtensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overrideFieldExtensions.js","sourceRoot":"","sources":["../../../src/hooks/overrideFieldExtensions.ts"],"names":[],"mappings":""}