datocms-plugin-sdk 2.0.4 → 2.0.5

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 (131) hide show
  1. package/dist/cjs/guardUtils.js +33 -0
  2. package/dist/cjs/guardUtils.js.map +1 -0
  3. package/dist/cjs/hooks/assetSources.js +25 -0
  4. package/dist/cjs/hooks/assetSources.js.map +1 -1
  5. package/dist/cjs/hooks/buildItemPresentationInfo.js +13 -0
  6. package/dist/cjs/hooks/buildItemPresentationInfo.js.map +1 -1
  7. package/dist/cjs/hooks/contentAreaSidebarItems.js +17 -0
  8. package/dist/cjs/hooks/contentAreaSidebarItems.js.map +1 -1
  9. package/dist/cjs/hooks/customBlockStylesForStructuredTextField.js +14 -0
  10. package/dist/cjs/hooks/customBlockStylesForStructuredTextField.js.map +1 -1
  11. package/dist/cjs/hooks/customMarksForStructuredTextField.js +18 -0
  12. package/dist/cjs/hooks/customMarksForStructuredTextField.js.map +1 -1
  13. package/dist/cjs/hooks/initialLocationQueryForItemSelector.js +12 -0
  14. package/dist/cjs/hooks/initialLocationQueryForItemSelector.js.map +1 -1
  15. package/dist/cjs/hooks/itemCollectionOutlets.js +13 -0
  16. package/dist/cjs/hooks/itemCollectionOutlets.js.map +1 -1
  17. package/dist/cjs/hooks/itemFormOutlets.js +13 -0
  18. package/dist/cjs/hooks/itemFormOutlets.js.map +1 -1
  19. package/dist/cjs/hooks/itemFormSidebarPanels.js +17 -0
  20. package/dist/cjs/hooks/itemFormSidebarPanels.js.map +1 -1
  21. package/dist/cjs/hooks/itemFormSidebars.js +15 -0
  22. package/dist/cjs/hooks/itemFormSidebars.js.map +1 -1
  23. package/dist/cjs/hooks/mainNavigationTabs.js +17 -0
  24. package/dist/cjs/hooks/mainNavigationTabs.js.map +1 -1
  25. package/dist/cjs/hooks/manualFieldExtensions.js +25 -0
  26. package/dist/cjs/hooks/manualFieldExtensions.js.map +1 -1
  27. package/dist/cjs/hooks/overrideFieldExtensions.js +46 -0
  28. package/dist/cjs/hooks/overrideFieldExtensions.js.map +1 -1
  29. package/dist/cjs/hooks/uploadSidebarPanels.js +17 -0
  30. package/dist/cjs/hooks/uploadSidebarPanels.js.map +1 -1
  31. package/dist/cjs/hooks/uploadSidebars.js +15 -0
  32. package/dist/cjs/hooks/uploadSidebars.js.map +1 -1
  33. package/dist/cjs/icon.js +9 -0
  34. package/dist/cjs/icon.js.map +1 -1
  35. package/dist/cjs/manifest.js +17 -17
  36. package/dist/cjs/shared.js +25 -0
  37. package/dist/cjs/shared.js.map +1 -1
  38. package/dist/esm/guardUtils.d.ts +7 -0
  39. package/dist/esm/guardUtils.js +24 -0
  40. package/dist/esm/guardUtils.js.map +1 -0
  41. package/dist/esm/hooks/assetSources.d.ts +11 -1
  42. package/dist/esm/hooks/assetSources.js +24 -1
  43. package/dist/esm/hooks/assetSources.js.map +1 -1
  44. package/dist/esm/hooks/buildItemPresentationInfo.d.ts +11 -0
  45. package/dist/esm/hooks/buildItemPresentationInfo.js +12 -1
  46. package/dist/esm/hooks/buildItemPresentationInfo.js.map +1 -1
  47. package/dist/esm/hooks/contentAreaSidebarItems.d.ts +11 -0
  48. package/dist/esm/hooks/contentAreaSidebarItems.js +16 -1
  49. package/dist/esm/hooks/contentAreaSidebarItems.js.map +1 -1
  50. package/dist/esm/hooks/customBlockStylesForStructuredTextField.d.ts +11 -1
  51. package/dist/esm/hooks/customBlockStylesForStructuredTextField.js +13 -1
  52. package/dist/esm/hooks/customBlockStylesForStructuredTextField.js.map +1 -1
  53. package/dist/esm/hooks/customMarksForStructuredTextField.d.ts +11 -1
  54. package/dist/esm/hooks/customMarksForStructuredTextField.js +17 -1
  55. package/dist/esm/hooks/customMarksForStructuredTextField.js.map +1 -1
  56. package/dist/esm/hooks/initialLocationQueryForItemSelector.d.ts +11 -0
  57. package/dist/esm/hooks/initialLocationQueryForItemSelector.js +11 -1
  58. package/dist/esm/hooks/initialLocationQueryForItemSelector.js.map +1 -1
  59. package/dist/esm/hooks/itemCollectionOutlets.d.ts +11 -1
  60. package/dist/esm/hooks/itemCollectionOutlets.js +12 -1
  61. package/dist/esm/hooks/itemCollectionOutlets.js.map +1 -1
  62. package/dist/esm/hooks/itemFormOutlets.d.ts +11 -0
  63. package/dist/esm/hooks/itemFormOutlets.js +12 -1
  64. package/dist/esm/hooks/itemFormOutlets.js.map +1 -1
  65. package/dist/esm/hooks/itemFormSidebarPanels.d.ts +12 -0
  66. package/dist/esm/hooks/itemFormSidebarPanels.js +16 -1
  67. package/dist/esm/hooks/itemFormSidebarPanels.js.map +1 -1
  68. package/dist/esm/hooks/itemFormSidebars.d.ts +12 -0
  69. package/dist/esm/hooks/itemFormSidebars.js +14 -1
  70. package/dist/esm/hooks/itemFormSidebars.js.map +1 -1
  71. package/dist/esm/hooks/mainNavigationTabs.d.ts +11 -1
  72. package/dist/esm/hooks/mainNavigationTabs.js +16 -1
  73. package/dist/esm/hooks/mainNavigationTabs.js.map +1 -1
  74. package/dist/esm/hooks/manualFieldExtensions.d.ts +12 -0
  75. package/dist/esm/hooks/manualFieldExtensions.js +24 -1
  76. package/dist/esm/hooks/manualFieldExtensions.js.map +1 -1
  77. package/dist/esm/hooks/overrideFieldExtensions.d.ts +20 -0
  78. package/dist/esm/hooks/overrideFieldExtensions.js +43 -1
  79. package/dist/esm/hooks/overrideFieldExtensions.js.map +1 -1
  80. package/dist/esm/hooks/uploadSidebarPanels.d.ts +12 -0
  81. package/dist/esm/hooks/uploadSidebarPanels.js +16 -1
  82. package/dist/esm/hooks/uploadSidebarPanels.js.map +1 -1
  83. package/dist/esm/hooks/uploadSidebars.d.ts +12 -0
  84. package/dist/esm/hooks/uploadSidebars.js +14 -1
  85. package/dist/esm/hooks/uploadSidebars.js.map +1 -1
  86. package/dist/esm/icon.d.ts +1 -0
  87. package/dist/esm/icon.js +8 -1
  88. package/dist/esm/icon.js.map +1 -1
  89. package/dist/esm/manifest.js +17 -17
  90. package/dist/esm/shared.d.ts +12 -0
  91. package/dist/esm/shared.js +23 -1
  92. package/dist/esm/shared.js.map +1 -1
  93. package/dist/types/guardUtils.d.ts +7 -0
  94. package/dist/types/hooks/assetSources.d.ts +11 -1
  95. package/dist/types/hooks/buildItemPresentationInfo.d.ts +11 -0
  96. package/dist/types/hooks/contentAreaSidebarItems.d.ts +11 -0
  97. package/dist/types/hooks/customBlockStylesForStructuredTextField.d.ts +11 -1
  98. package/dist/types/hooks/customMarksForStructuredTextField.d.ts +11 -1
  99. package/dist/types/hooks/initialLocationQueryForItemSelector.d.ts +11 -0
  100. package/dist/types/hooks/itemCollectionOutlets.d.ts +11 -1
  101. package/dist/types/hooks/itemFormOutlets.d.ts +11 -0
  102. package/dist/types/hooks/itemFormSidebarPanels.d.ts +12 -0
  103. package/dist/types/hooks/itemFormSidebars.d.ts +12 -0
  104. package/dist/types/hooks/mainNavigationTabs.d.ts +11 -1
  105. package/dist/types/hooks/manualFieldExtensions.d.ts +12 -0
  106. package/dist/types/hooks/overrideFieldExtensions.d.ts +20 -0
  107. package/dist/types/hooks/uploadSidebarPanels.d.ts +12 -0
  108. package/dist/types/hooks/uploadSidebars.d.ts +12 -0
  109. package/dist/types/icon.d.ts +1 -0
  110. package/dist/types/shared.d.ts +12 -0
  111. package/manifest.json +17 -17
  112. package/package.json +2 -2
  113. package/src/guardUtils.ts +34 -0
  114. package/src/hooks/assetSources.ts +32 -2
  115. package/src/hooks/buildItemPresentationInfo.ts +22 -0
  116. package/src/hooks/contentAreaSidebarItems.ts +32 -1
  117. package/src/hooks/customBlockStylesForStructuredTextField.ts +23 -1
  118. package/src/hooks/customMarksForStructuredTextField.ts +33 -2
  119. package/src/hooks/initialLocationQueryForItemSelector.ts +21 -1
  120. package/src/hooks/itemCollectionOutlets.ts +22 -1
  121. package/src/hooks/itemFormOutlets.ts +20 -0
  122. package/src/hooks/itemFormSidebarPanels.ts +34 -0
  123. package/src/hooks/itemFormSidebars.ts +23 -0
  124. package/src/hooks/mainNavigationTabs.ts +32 -2
  125. package/src/hooks/manualFieldExtensions.ts +42 -0
  126. package/src/hooks/overrideFieldExtensions.ts +64 -0
  127. package/src/hooks/uploadSidebarPanels.ts +34 -0
  128. package/src/hooks/uploadSidebars.ts +23 -0
  129. package/src/icon.ts +12 -0
  130. package/src/manifest.ts +17 -17
  131. package/src/shared.ts +48 -1
@@ -1,2 +1,17 @@
1
- export {};
1
+ import { isBoolean, isNullish, isNumber, isPlacement, isRecord, isString, } from '../guardUtils.js';
2
+ /**
3
+ * Checks if the given value is an ItemFormSidebarPanel.
4
+ * @param value - The value to check.
5
+ * @returns True if the value is an ItemFormSidebarPanel, false otherwise.
6
+ */
7
+ export function isItemFormSidebarPanel(value) {
8
+ return (isRecord(value) &&
9
+ isString(value.id) &&
10
+ isString(value.label) &&
11
+ (isNullish(value.parameters) || isRecord(value.parameters)) &&
12
+ (isNullish(value.startOpen) || isBoolean(value.startOpen)) &&
13
+ (isNullish(value.placement) || isPlacement(value.placement)) &&
14
+ (isNullish(value.rank) || isNumber(value.rank)) &&
15
+ (isNullish(value.initialHeight) || isNumber(value.initialHeight)));
16
+ }
2
17
  //# sourceMappingURL=itemFormSidebarPanels.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"itemFormSidebarPanels.js","sourceRoot":"","sources":["../../../src/hooks/itemFormSidebarPanels.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"itemFormSidebarPanels.js","sourceRoot":"","sources":["../../../src/hooks/itemFormSidebarPanels.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,SAAS,EACT,SAAS,EACT,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,GACT,MAAM,kBAAkB,CAAC;AA4D1B;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAc;IAEd,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAClB,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;QACrB,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC3D,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC5D,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAClE,CAAC;AACJ,CAAC"}
@@ -11,6 +11,12 @@ export type ItemFormSidebarsHook = {
11
11
  itemFormSidebars: (itemType: ItemType, ctx: ItemFormSidebarsCtx) => ItemFormSidebar[];
12
12
  };
13
13
  export type ItemFormSidebarsCtx = Ctx;
14
+ /**
15
+ * An object expressing a sidebar to be shown when the user edits
16
+ * records of a particular model
17
+ *
18
+ * @see {isItemFormSidebar}
19
+ */
14
20
  export type ItemFormSidebar = {
15
21
  /**
16
22
  * ID of the sidebar. Will be the first argument for the
@@ -35,4 +41,10 @@ export type ItemFormSidebar = {
35
41
  /** The preferred width for the sidebar */
36
42
  preferredWidth?: number;
37
43
  };
44
+ /**
45
+ * Type guard to check if the value is an ItemFormSidebar.
46
+ * @param value - The value to check.
47
+ * @returns true if the value is an ItemFormSidebar, false otherwise.
48
+ */
49
+ export declare function isItemFormSidebar(value: unknown): value is ItemFormSidebar;
38
50
  export {};
@@ -1,2 +1,15 @@
1
- export {};
1
+ import { isNullish, isNumber, isRecord, isString } from '../guardUtils.js';
2
+ /**
3
+ * Type guard to check if the value is an ItemFormSidebar.
4
+ * @param value - The value to check.
5
+ * @returns true if the value is an ItemFormSidebar, false otherwise.
6
+ */
7
+ export function isItemFormSidebar(value) {
8
+ return (isRecord(value) &&
9
+ isString(value.id) &&
10
+ isString(value.label) &&
11
+ (isNullish(value.parameters) || isRecord(value.parameters)) &&
12
+ (isNullish(value.rank) || isNumber(value.rank)) &&
13
+ (isNullish(value.preferredWidth) || isNumber(value.preferredWidth)));
14
+ }
2
15
  //# sourceMappingURL=itemFormSidebars.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"itemFormSidebars.js","sourceRoot":"","sources":["../../../src/hooks/itemFormSidebars.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"itemFormSidebars.js","sourceRoot":"","sources":["../../../src/hooks/itemFormSidebars.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAkD3E;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAClB,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;QACrB,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC3D,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CACpE,CAAC;AACJ,CAAC"}
@@ -10,7 +10,11 @@ export type MainNavigationTabsHook = {
10
10
  mainNavigationTabs: (ctx: MainNavigationTabsCtx) => MainNavigationTab[];
11
11
  };
12
12
  export type MainNavigationTabsCtx = Ctx;
13
- /** A tab to be displayed in the top-bar of the UI */
13
+ /**
14
+ * An object expressing a tab to be displayed in the top-bar of the UI
15
+ *
16
+ * @see {isMainNavigationTab}
17
+ */
14
18
  export type MainNavigationTab = {
15
19
  /** Label to be shown. Must be unique. */
16
20
  label: string;
@@ -42,3 +46,9 @@ export type MainNavigationTab = {
42
46
  */
43
47
  rank?: number;
44
48
  };
49
+ /**
50
+ * Checks if the given value is a MainNavigationTab.
51
+ * @param value The value to check.
52
+ * @returns True if the value is a MainNavigationTab, false otherwise.
53
+ */
54
+ export declare function isMainNavigationTab(value: unknown): value is MainNavigationTab;
@@ -1,2 +1,17 @@
1
- export {};
1
+ import { isNullish, isNumber, isPlacement, isRecord, isString, } from '../guardUtils.js';
2
+ import { isIcon } from '../icon';
3
+ /**
4
+ * Checks if the given value is a MainNavigationTab.
5
+ * @param value The value to check.
6
+ * @returns True if the value is a MainNavigationTab, false otherwise.
7
+ */
8
+ export function isMainNavigationTab(value) {
9
+ return (isRecord(value) &&
10
+ isString(value.label) &&
11
+ isIcon(value.icon) &&
12
+ isRecord(value.pointsTo) &&
13
+ isString(value.pointsTo.pageId) &&
14
+ (isNullish(value.placement) || isPlacement(value.placement)) &&
15
+ (isNullish(value.rank) || isNumber(value.rank)));
16
+ }
2
17
  //# sourceMappingURL=mainNavigationTabs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mainNavigationTabs.js","sourceRoot":"","sources":["../../../src/hooks/mainNavigationTabs.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"mainNavigationTabs.js","sourceRoot":"","sources":["../../../src/hooks/mainNavigationTabs.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAQ,MAAM,EAAE,MAAM,SAAS,CAAC;AAmDvC;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAc;IAEd,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;QACrB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;QAClB,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QACxB,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC/B,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC5D,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAChD,CAAC;AACJ,CAAC"}
@@ -9,6 +9,12 @@ export type ManualFieldExtensionsHook = {
9
9
  manualFieldExtensions: (ctx: ManualFieldExtensionsCtx) => ManualFieldExtension[];
10
10
  };
11
11
  export type ManualFieldExtensionsCtx = Ctx;
12
+ /**
13
+ * An object expressing a field extension that users will be able
14
+ * to install manually in some field
15
+ *
16
+ * @see {isManualFieldExtension}
17
+ */
12
18
  export type ManualFieldExtension = {
13
19
  /**
14
20
  * ID of field extension. Will be the first argument for the
@@ -57,3 +63,9 @@ export type ManualFieldExtension = {
57
63
  */
58
64
  export type FieldExtensionType = 'editor' | 'addon';
59
65
  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';
66
+ /**
67
+ * Checks if the provided value is a ManualFieldExtension.
68
+ * @param value - The value to check.
69
+ * @returns True if the value is a ManualFieldExtension, otherwise false.
70
+ */
71
+ export declare function isManualFieldExtension(value: unknown): value is ManualFieldExtension;
@@ -1,2 +1,25 @@
1
- export {};
1
+ import { isArray, isBoolean, isNullish, isNumber, isRecord, isString, } from '../guardUtils.js';
2
+ /**
3
+ * Checks if the provided value is a ManualFieldExtension.
4
+ * @param value - The value to check.
5
+ * @returns True if the value is a ManualFieldExtension, otherwise false.
6
+ */
7
+ export function isManualFieldExtension(value) {
8
+ return (isRecord(value) &&
9
+ isString(value.id) &&
10
+ isString(value.name) &&
11
+ isString(value.type) &&
12
+ ['editor', 'addon'].includes(value.type) &&
13
+ (isNullish(value.asSidebarPanel) ||
14
+ isBoolean(value.asSidebarPanel) ||
15
+ (isRecord(value.asSidebarPanel) &&
16
+ isBoolean(value.asSidebarPanel.startOpen))) &&
17
+ ((isString(value.fieldTypes) && value.fieldTypes === 'all') ||
18
+ isArray(value.fieldTypes, isString)) &&
19
+ (isNullish(value.configurable) ||
20
+ isBoolean(value.configurable) ||
21
+ (isRecord(value.configurable) &&
22
+ isNumber(value.configurable.initialHeight))) &&
23
+ (isNullish(value.initialHeight) || isNumber(value.initialHeight)));
24
+ }
2
25
  //# sourceMappingURL=manualFieldExtensions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manualFieldExtensions.js","sourceRoot":"","sources":["../../../src/hooks/manualFieldExtensions.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"manualFieldExtensions.js","sourceRoot":"","sources":["../../../src/hooks/manualFieldExtensions.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EACP,SAAS,EACT,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAyF1B;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAc;IAEd,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAClB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;QACpB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;QACpB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;QACxC,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC;YAC9B,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC;YAC/B,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC;gBAC7B,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC;YACzD,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACtC,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC;YAC5B,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC;YAC7B,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;gBAC3B,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC;QAChD,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAClE,CAAC;AACJ,CAAC"}
@@ -18,6 +18,8 @@ export type OverrideFieldExtensionsCtx = Ctx<{
18
18
  /**
19
19
  * An object expressing some field extensions you want to force on a particular
20
20
  * field
21
+ *
22
+ * @see {isFieldExtensionOverride}
21
23
  */
22
24
  export type FieldExtensionOverride = {
23
25
  /** Force a field editor/sidebar extension on a field */
@@ -85,4 +87,22 @@ export type AddonOverride = {
85
87
  */
86
88
  initialHeight?: number;
87
89
  };
90
+ /**
91
+ * Checks if the value is a FieldExtensionOverride.
92
+ * @param value The value to check.
93
+ * @returns True if the value is a FieldExtensionOverride, false otherwise.
94
+ */
95
+ export declare function isFieldExtensionOverride(value: unknown): value is FieldExtensionOverride;
96
+ /**
97
+ * Checks if the value is an EditorOverride.
98
+ * @param value The value to check.
99
+ * @returns True if the value is an EditorOverride, false otherwise.
100
+ */
101
+ export declare function isEditorOverride(value: unknown): value is EditorOverride;
102
+ /**
103
+ * Checks if the value is an AddonOverride.
104
+ * @param value The value to check.
105
+ * @returns True if the value is an AddonOverride, false otherwise.
106
+ */
107
+ export declare function isAddonOverride(value: unknown): value is AddonOverride;
88
108
  export {};
@@ -1,2 +1,44 @@
1
- export {};
1
+ import { isArray, isBoolean, isNullish, isNumber, isPlacement, isRecord, isString, } from '../guardUtils.js';
2
+ /**
3
+ * Checks if the value is a FieldExtensionOverride.
4
+ * @param value The value to check.
5
+ * @returns True if the value is a FieldExtensionOverride, false otherwise.
6
+ */
7
+ export function isFieldExtensionOverride(value) {
8
+ return (isNullish(value) ||
9
+ (isRecord(value) &&
10
+ (isNullish(value.editor) || isEditorOverride(value.editor)) &&
11
+ (isNullish(value.addons) || isArray(value.addons, isAddonOverride))));
12
+ }
13
+ /**
14
+ * Checks if the value is an EditorOverride.
15
+ * @param value The value to check.
16
+ * @returns True if the value is an EditorOverride, false otherwise.
17
+ */
18
+ export function isEditorOverride(value) {
19
+ return (isRecord(value) &&
20
+ isString(value.id) &&
21
+ (isNullish(value.asSidebarPanel) ||
22
+ isBoolean(value.asSidebarPanel) ||
23
+ (isRecord(value.asSidebarPanel) &&
24
+ (isNullish(value.asSidebarPanel.startOpen) ||
25
+ isBoolean(value.asSidebarPanel.startOpen)) &&
26
+ (isNullish(value.asSidebarPanel.placement) ||
27
+ isPlacement(value.asSidebarPanel.placement)))) &&
28
+ (isNullish(value.parameters) || isRecord(value.parameters)) &&
29
+ (isNullish(value.rank) || isNumber(value.rank)) &&
30
+ (isNullish(value.initialHeight) || isNumber(value.initialHeight)));
31
+ }
32
+ /**
33
+ * Checks if the value is an AddonOverride.
34
+ * @param value The value to check.
35
+ * @returns True if the value is an AddonOverride, false otherwise.
36
+ */
37
+ export function isAddonOverride(value) {
38
+ return (isRecord(value) &&
39
+ isString(value.id) &&
40
+ (isNullish(value.parameters) || isRecord(value.parameters)) &&
41
+ (isNullish(value.rank) || isNumber(value.rank)) &&
42
+ (isNullish(value.initialHeight) || isNumber(value.initialHeight)));
43
+ }
2
44
  //# sourceMappingURL=overrideFieldExtensions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"overrideFieldExtensions.js","sourceRoot":"","sources":["../../../src/hooks/overrideFieldExtensions.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"overrideFieldExtensions.js","sourceRoot":"","sources":["../../../src/hooks/overrideFieldExtensions.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,OAAO,EACP,SAAS,EACT,SAAS,EACT,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAiG1B;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAAc;IAEd,OAAO,CACL,SAAS,CAAC,KAAK,CAAC;QAChB,CAAC,QAAQ,CAAC,KAAK,CAAC;YACd,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3D,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CACvE,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAClB,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC;YAC9B,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC;YAC/B,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC;gBAC7B,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC;oBACxC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;gBAC5C,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC;oBACxC,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC3D,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAClE,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAClB,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC3D,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAClE,CAAC;AACJ,CAAC"}
@@ -9,6 +9,12 @@ export type UploadSidebarPanelsHook = {
9
9
  uploadSidebarPanels: (ctx: UploadSidebarPanelsCtx) => UploadSidebarPanel[];
10
10
  };
11
11
  export type UploadSidebarPanelsCtx = Ctx;
12
+ /**
13
+ * An object expressing a sidebar panel to be shown when the user
14
+ * opens up an asset in the Media Area
15
+ *
16
+ * @see {isUploadSidebarPanel}
17
+ */
12
18
  export type UploadSidebarPanel = {
13
19
  /**
14
20
  * ID of the panel. Will be the first argument for the
@@ -46,3 +52,9 @@ export type UploadSidebarPanelPlacement = [
46
52
  'before' | 'after',
47
53
  ('defaultMetadata' | 'categorization' | 'creator' | 'videoTracks' | 'links' | 'replace')
48
54
  ];
55
+ /**
56
+ * Type guard for UploadSidebarPanel
57
+ * @param value - The value to check
58
+ * @returns True if the value is an UploadSidebarPanel
59
+ */
60
+ export declare function isUploadSidebarPanel(value: unknown): value is UploadSidebarPanel;
@@ -1,2 +1,17 @@
1
- export {};
1
+ import { isBoolean, isNullish, isNumber, isPlacement, isRecord, isString, } from '../guardUtils.js';
2
+ /**
3
+ * Type guard for UploadSidebarPanel
4
+ * @param value - The value to check
5
+ * @returns True if the value is an UploadSidebarPanel
6
+ */
7
+ export function isUploadSidebarPanel(value) {
8
+ return (isRecord(value) &&
9
+ isString(value.id) &&
10
+ isString(value.label) &&
11
+ (isNullish(value.parameters) || isRecord(value.parameters)) &&
12
+ (isNullish(value.startOpen) || isBoolean(value.startOpen)) &&
13
+ (isNullish(value.placement) || isPlacement(value.placement)) &&
14
+ (isNullish(value.rank) || isNumber(value.rank)) &&
15
+ (isNullish(value.initialHeight) || isNumber(value.initialHeight)));
16
+ }
2
17
  //# sourceMappingURL=uploadSidebarPanels.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uploadSidebarPanels.js","sourceRoot":"","sources":["../../../src/hooks/uploadSidebarPanels.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"uploadSidebarPanels.js","sourceRoot":"","sources":["../../../src/hooks/uploadSidebarPanels.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,SAAS,EACT,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAkE1B;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAc;IAEd,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAClB,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;QACrB,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC3D,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC5D,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAClE,CAAC;AACJ,CAAC"}
@@ -9,6 +9,12 @@ export type UploadSidebarsHook = {
9
9
  uploadSidebars: (ctx: UploadSidebarsCtx) => UploadSidebar[];
10
10
  };
11
11
  export type UploadSidebarsCtx = Ctx;
12
+ /**
13
+ * An object expressing a sidebar to be shown when the user opens
14
+ * up an asset in the Media Area
15
+ *
16
+ * @see {isUploadSidebar}
17
+ */
12
18
  export type UploadSidebar = {
13
19
  /**
14
20
  * ID of the sidebar. Will be the first argument for the
@@ -33,3 +39,9 @@ export type UploadSidebar = {
33
39
  /** The preferred width for the sidebar */
34
40
  preferredWidth?: number;
35
41
  };
42
+ /**
43
+ * Checks if the provided value is an UploadSidebar.
44
+ * @param value - The value to check.
45
+ * @returns True if the value is an UploadSidebar, otherwise false.
46
+ */
47
+ export declare function isUploadSidebar(value: unknown): value is UploadSidebar;
@@ -1,2 +1,15 @@
1
- export {};
1
+ import { isNullish, isNumber, isRecord, isString } from '../guardUtils.js';
2
+ /**
3
+ * Checks if the provided value is an UploadSidebar.
4
+ * @param value - The value to check.
5
+ * @returns True if the value is an UploadSidebar, otherwise false.
6
+ */
7
+ export function isUploadSidebar(value) {
8
+ return (isRecord(value) &&
9
+ isString(value.id) &&
10
+ isString(value.label) &&
11
+ (isNullish(value.parameters) || isRecord(value.parameters)) &&
12
+ (isNullish(value.rank) || isNumber(value.rank)) &&
13
+ (isNullish(value.preferredWidth) || isNumber(value.preferredWidth)));
14
+ }
2
15
  //# sourceMappingURL=uploadSidebars.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uploadSidebars.js","sourceRoot":"","sources":["../../../src/hooks/uploadSidebars.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"uploadSidebars.js","sourceRoot":"","sources":["../../../src/hooks/uploadSidebars.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AA6C3E;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAClB,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;QACrB,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC3D,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CACpE,CAAC;AACJ,CAAC"}