datocms-plugin-sdk 2.0.3 → 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 (138) 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/renderItemCollectionOutlet.js.map +1 -1
  30. package/dist/cjs/hooks/uploadSidebarPanels.js +17 -0
  31. package/dist/cjs/hooks/uploadSidebarPanels.js.map +1 -1
  32. package/dist/cjs/hooks/uploadSidebars.js +15 -0
  33. package/dist/cjs/hooks/uploadSidebars.js.map +1 -1
  34. package/dist/cjs/icon.js +9 -0
  35. package/dist/cjs/icon.js.map +1 -1
  36. package/dist/cjs/manifest.js +30 -20
  37. package/dist/cjs/manifest.js.map +1 -1
  38. package/dist/cjs/shared.js +25 -0
  39. package/dist/cjs/shared.js.map +1 -1
  40. package/dist/esm/guardUtils.d.ts +7 -0
  41. package/dist/esm/guardUtils.js +24 -0
  42. package/dist/esm/guardUtils.js.map +1 -0
  43. package/dist/esm/hooks/assetSources.d.ts +11 -1
  44. package/dist/esm/hooks/assetSources.js +24 -1
  45. package/dist/esm/hooks/assetSources.js.map +1 -1
  46. package/dist/esm/hooks/buildItemPresentationInfo.d.ts +11 -0
  47. package/dist/esm/hooks/buildItemPresentationInfo.js +12 -1
  48. package/dist/esm/hooks/buildItemPresentationInfo.js.map +1 -1
  49. package/dist/esm/hooks/contentAreaSidebarItems.d.ts +11 -0
  50. package/dist/esm/hooks/contentAreaSidebarItems.js +16 -1
  51. package/dist/esm/hooks/contentAreaSidebarItems.js.map +1 -1
  52. package/dist/esm/hooks/customBlockStylesForStructuredTextField.d.ts +11 -1
  53. package/dist/esm/hooks/customBlockStylesForStructuredTextField.js +13 -1
  54. package/dist/esm/hooks/customBlockStylesForStructuredTextField.js.map +1 -1
  55. package/dist/esm/hooks/customMarksForStructuredTextField.d.ts +11 -1
  56. package/dist/esm/hooks/customMarksForStructuredTextField.js +17 -1
  57. package/dist/esm/hooks/customMarksForStructuredTextField.js.map +1 -1
  58. package/dist/esm/hooks/initialLocationQueryForItemSelector.d.ts +11 -0
  59. package/dist/esm/hooks/initialLocationQueryForItemSelector.js +11 -1
  60. package/dist/esm/hooks/initialLocationQueryForItemSelector.js.map +1 -1
  61. package/dist/esm/hooks/itemCollectionOutlets.d.ts +11 -1
  62. package/dist/esm/hooks/itemCollectionOutlets.js +12 -1
  63. package/dist/esm/hooks/itemCollectionOutlets.js.map +1 -1
  64. package/dist/esm/hooks/itemFormOutlets.d.ts +11 -0
  65. package/dist/esm/hooks/itemFormOutlets.js +12 -1
  66. package/dist/esm/hooks/itemFormOutlets.js.map +1 -1
  67. package/dist/esm/hooks/itemFormSidebarPanels.d.ts +12 -0
  68. package/dist/esm/hooks/itemFormSidebarPanels.js +16 -1
  69. package/dist/esm/hooks/itemFormSidebarPanels.js.map +1 -1
  70. package/dist/esm/hooks/itemFormSidebars.d.ts +12 -0
  71. package/dist/esm/hooks/itemFormSidebars.js +14 -1
  72. package/dist/esm/hooks/itemFormSidebars.js.map +1 -1
  73. package/dist/esm/hooks/mainNavigationTabs.d.ts +11 -1
  74. package/dist/esm/hooks/mainNavigationTabs.js +16 -1
  75. package/dist/esm/hooks/mainNavigationTabs.js.map +1 -1
  76. package/dist/esm/hooks/manualFieldExtensions.d.ts +12 -0
  77. package/dist/esm/hooks/manualFieldExtensions.js +24 -1
  78. package/dist/esm/hooks/manualFieldExtensions.js.map +1 -1
  79. package/dist/esm/hooks/overrideFieldExtensions.d.ts +20 -0
  80. package/dist/esm/hooks/overrideFieldExtensions.js +43 -1
  81. package/dist/esm/hooks/overrideFieldExtensions.js.map +1 -1
  82. package/dist/esm/hooks/renderItemCollectionOutlet.d.ts +6 -1
  83. package/dist/esm/hooks/renderItemCollectionOutlet.js.map +1 -1
  84. package/dist/esm/hooks/uploadSidebarPanels.d.ts +12 -0
  85. package/dist/esm/hooks/uploadSidebarPanels.js +16 -1
  86. package/dist/esm/hooks/uploadSidebarPanels.js.map +1 -1
  87. package/dist/esm/hooks/uploadSidebars.d.ts +12 -0
  88. package/dist/esm/hooks/uploadSidebars.js +14 -1
  89. package/dist/esm/hooks/uploadSidebars.js.map +1 -1
  90. package/dist/esm/icon.d.ts +1 -0
  91. package/dist/esm/icon.js +8 -1
  92. package/dist/esm/icon.js.map +1 -1
  93. package/dist/esm/manifest.js +30 -20
  94. package/dist/esm/manifest.js.map +1 -1
  95. package/dist/esm/shared.d.ts +12 -0
  96. package/dist/esm/shared.js +23 -1
  97. package/dist/esm/shared.js.map +1 -1
  98. package/dist/types/guardUtils.d.ts +7 -0
  99. package/dist/types/hooks/assetSources.d.ts +11 -1
  100. package/dist/types/hooks/buildItemPresentationInfo.d.ts +11 -0
  101. package/dist/types/hooks/contentAreaSidebarItems.d.ts +11 -0
  102. package/dist/types/hooks/customBlockStylesForStructuredTextField.d.ts +11 -1
  103. package/dist/types/hooks/customMarksForStructuredTextField.d.ts +11 -1
  104. package/dist/types/hooks/initialLocationQueryForItemSelector.d.ts +11 -0
  105. package/dist/types/hooks/itemCollectionOutlets.d.ts +11 -1
  106. package/dist/types/hooks/itemFormOutlets.d.ts +11 -0
  107. package/dist/types/hooks/itemFormSidebarPanels.d.ts +12 -0
  108. package/dist/types/hooks/itemFormSidebars.d.ts +12 -0
  109. package/dist/types/hooks/mainNavigationTabs.d.ts +11 -1
  110. package/dist/types/hooks/manualFieldExtensions.d.ts +12 -0
  111. package/dist/types/hooks/overrideFieldExtensions.d.ts +20 -0
  112. package/dist/types/hooks/renderItemCollectionOutlet.d.ts +6 -1
  113. package/dist/types/hooks/uploadSidebarPanels.d.ts +12 -0
  114. package/dist/types/hooks/uploadSidebars.d.ts +12 -0
  115. package/dist/types/icon.d.ts +1 -0
  116. package/dist/types/shared.d.ts +12 -0
  117. package/manifest.json +30 -20
  118. package/package.json +2 -2
  119. package/src/guardUtils.ts +34 -0
  120. package/src/hooks/assetSources.ts +32 -2
  121. package/src/hooks/buildItemPresentationInfo.ts +22 -0
  122. package/src/hooks/contentAreaSidebarItems.ts +32 -1
  123. package/src/hooks/customBlockStylesForStructuredTextField.ts +23 -1
  124. package/src/hooks/customMarksForStructuredTextField.ts +33 -2
  125. package/src/hooks/initialLocationQueryForItemSelector.ts +21 -1
  126. package/src/hooks/itemCollectionOutlets.ts +22 -1
  127. package/src/hooks/itemFormOutlets.ts +20 -0
  128. package/src/hooks/itemFormSidebarPanels.ts +34 -0
  129. package/src/hooks/itemFormSidebars.ts +23 -0
  130. package/src/hooks/mainNavigationTabs.ts +32 -2
  131. package/src/hooks/manualFieldExtensions.ts +42 -0
  132. package/src/hooks/overrideFieldExtensions.ts +64 -0
  133. package/src/hooks/renderItemCollectionOutlet.ts +6 -1
  134. package/src/hooks/uploadSidebarPanels.ts +34 -0
  135. package/src/hooks/uploadSidebars.ts +23 -0
  136. package/src/icon.ts +12 -0
  137. package/src/manifest.ts +31 -20
  138. package/src/shared.ts +48 -1
@@ -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 value is a ContentAreaSidebarItem.
5
+ * @param value - The value to check.
6
+ * @returns True if the value is a ContentAreaSidebarItem, false otherwise.
7
+ */
8
+ export function isContentAreaSidebarItem(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=contentAreaSidebarItems.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contentAreaSidebarItems.js","sourceRoot":"","sources":["../../../src/hooks/contentAreaSidebarItems.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"contentAreaSidebarItems.js","sourceRoot":"","sources":["../../../src/hooks/contentAreaSidebarItems.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;AAkDvC;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,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"}
@@ -15,7 +15,11 @@ export type CustomBlockStylesForStructuredTextFieldHook = {
15
15
  export type CustomBlockStylesForStructuredTextFieldCtx = Ctx<{
16
16
  itemType: ItemType;
17
17
  }>;
18
- /** An object expressing a custom block style for a Structured Text field */
18
+ /**
19
+ * An object expressing a custom block style for a Structured Text field
20
+ *
21
+ * @see {isStructuredTextCustomBlockStyle}
22
+ */
19
23
  export type StructuredTextCustomBlockStyle = {
20
24
  /** ID of custom block style */
21
25
  id: string;
@@ -33,4 +37,10 @@ export type StructuredTextCustomBlockStyle = {
33
37
  */
34
38
  rank?: number;
35
39
  };
40
+ /**
41
+ * Checks if the given value is a StructuredTextCustomBlockStyle.
42
+ * @param value - The value to check.
43
+ * @returns True if the value is a StructuredTextCustomBlockStyle, otherwise false.
44
+ */
45
+ export declare function isStructuredTextCustomBlockStyle(value: unknown): value is StructuredTextCustomBlockStyle;
36
46
  export {};
@@ -1,2 +1,14 @@
1
- export {};
1
+ import { isNullish, isNumber, isRecord, isString } from '../guardUtils.js';
2
+ /**
3
+ * Checks if the given value is a StructuredTextCustomBlockStyle.
4
+ * @param value - The value to check.
5
+ * @returns True if the value is a StructuredTextCustomBlockStyle, otherwise false.
6
+ */
7
+ export function isStructuredTextCustomBlockStyle(value) {
8
+ return (isRecord(value) &&
9
+ isString(value.id) &&
10
+ isString(value.label) &&
11
+ isString(value.node) &&
12
+ (isNullish(value.rank) || isNumber(value.rank)));
13
+ }
2
14
  //# sourceMappingURL=customBlockStylesForStructuredTextField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"customBlockStylesForStructuredTextField.js","sourceRoot":"","sources":["../../../src/hooks/customBlockStylesForStructuredTextField.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"customBlockStylesForStructuredTextField.js","sourceRoot":"","sources":["../../../src/hooks/customBlockStylesForStructuredTextField.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AA6C3E;;;;GAIG;AACH,MAAM,UAAU,gCAAgC,CAC9C,KAAc;IAEd,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAClB,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;QACrB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;QACpB,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAChD,CAAC;AACJ,CAAC"}
@@ -15,7 +15,11 @@ export type CustomMarksForStructuredTextFieldHook = {
15
15
  export type CustomMarksForStructuredTextFieldCtx = Ctx<{
16
16
  itemType: ItemType;
17
17
  }>;
18
- /** An object expressing a custom mark for a Structured Text field */
18
+ /**
19
+ * An object expressing a custom mark for a Structured Text field
20
+ *
21
+ * @see {isStructuredTextCustomMark}
22
+ */
19
23
  export type StructuredTextCustomMark = {
20
24
  /** ID of mark */
21
25
  id: string;
@@ -54,4 +58,10 @@ export type StructuredTextCustomMarkPlacement = [
54
58
  'before' | 'after',
55
59
  'strong' | 'emphasis' | 'underline' | 'code' | 'highlight' | 'strikethrough'
56
60
  ];
61
+ /**
62
+ * Checks if the given value is a StructuredTextCustomMark.
63
+ * @param value The value to check.
64
+ * @returns True if the value is a StructuredTextCustomMark, false otherwise.
65
+ */
66
+ export declare function isStructuredTextCustomMark(value: unknown): value is StructuredTextCustomMark;
57
67
  export {};
@@ -1,2 +1,18 @@
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 StructuredTextCustomMark.
5
+ * @param value The value to check.
6
+ * @returns True if the value is a StructuredTextCustomMark, false otherwise.
7
+ */
8
+ export function isStructuredTextCustomMark(value) {
9
+ return (isRecord(value) &&
10
+ isString(value.id) &&
11
+ isString(value.label) &&
12
+ isIcon(value.icon) &&
13
+ (isNullish(value.placement) || isPlacement(value.placement)) &&
14
+ (isNullish(value.rank) || isNumber(value.rank)) &&
15
+ (isNullish(value.keyboardShortcut) || isString(value.keyboardShortcut)) &&
16
+ isRecord(value.appliedStyle));
17
+ }
2
18
  //# sourceMappingURL=customMarksForStructuredTextField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"customMarksForStructuredTextField.js","sourceRoot":"","sources":["../../../src/hooks/customMarksForStructuredTextField.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"customMarksForStructuredTextField.js","sourceRoot":"","sources":["../../../src/hooks/customMarksForStructuredTextField.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,SAAS,EACT,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAQ,MAAM,EAAE,MAAM,SAAS,CAAC;AAmEvC;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAc;IAEd,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAClB,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;QACrB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;QAClB,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,gBAAgB,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACvE,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAC7B,CAAC;AACJ,CAAC"}
@@ -13,6 +13,11 @@ export type InitialLocationQueryForItemSelectorHook = {
13
13
  initialLocationQueryForItemSelector: (openerField: Field, itemType: ItemType, ctx: InitialLocationQueryForItemSelectorCtx) => MaybePromise<InitialLocationQueryForItemSelector | undefined>;
14
14
  };
15
15
  export type InitialLocationQueryForItemSelectorCtx = Ctx;
16
+ /**
17
+ * An object expressing which filters should be applied to the record selector
18
+ *
19
+ * @see {isInitialLocationQueryForItemSelector}
20
+ */
16
21
  export type InitialLocationQueryForItemSelector = {
17
22
  locationQuery: ItemListLocationQuery;
18
23
  /**
@@ -24,4 +29,10 @@ export type InitialLocationQueryForItemSelector = {
24
29
  */
25
30
  rank?: number;
26
31
  };
32
+ /**
33
+ * Type guard for InitialLocationQueryForItemSelector
34
+ * @param value - The value to check
35
+ * @returns True if value is of type InitialLocationQueryForItemSelector, false otherwise
36
+ */
37
+ export declare function isInitialLocationQueryForItemSelector(value: unknown): value is InitialLocationQueryForItemSelector;
27
38
  export {};
@@ -1,2 +1,12 @@
1
- export {};
1
+ import { isNullish, isNumber, isRecord } from '../guardUtils.js';
2
+ /**
3
+ * Type guard for InitialLocationQueryForItemSelector
4
+ * @param value - The value to check
5
+ * @returns True if value is of type InitialLocationQueryForItemSelector, false otherwise
6
+ */
7
+ export function isInitialLocationQueryForItemSelector(value) {
8
+ return (isRecord(value) &&
9
+ isRecord(value.locationQuery) &&
10
+ (isNullish(value.rank) || isNumber(value.rank)));
11
+ }
2
12
  //# sourceMappingURL=initialLocationQueryForItemSelector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"initialLocationQueryForItemSelector.js","sourceRoot":"","sources":["../../../src/hooks/initialLocationQueryForItemSelector.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"initialLocationQueryForItemSelector.js","sourceRoot":"","sources":["../../../src/hooks/initialLocationQueryForItemSelector.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAuCjE;;;;GAIG;AACH,MAAM,UAAU,qCAAqC,CACnD,KAAc;IAEd,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC;QAC7B,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAChD,CAAC;AACJ,CAAC"}
@@ -11,7 +11,11 @@ export type ItemCollectionOutletsHook = {
11
11
  itemCollectionOutlets: (itemType: ItemType, ctx: ItemCollectionOutletsCtx) => ItemCollectionOutlet[];
12
12
  };
13
13
  export type ItemCollectionOutletsCtx = Ctx;
14
- /** An outlet to be shown at the top of a record's collection page */
14
+ /**
15
+ * An object expressing an outlet to be shown at the top of a record's collection page
16
+ *
17
+ * @see {isItemCollectionOutlet}
18
+ */
15
19
  export type ItemCollectionOutlet = {
16
20
  /**
17
21
  * ID of the outlet. Will be the first argument for the `renderItemCollectionOutlet`
@@ -28,4 +32,10 @@ export type ItemCollectionOutlet = {
28
32
  /** The initial height to set for the iframe that will render the outlet */
29
33
  initialHeight?: number;
30
34
  };
35
+ /**
36
+ * Checks if the given value is an ItemCollectionOutlet.
37
+ * @param value - The value to check.
38
+ * @returns True if the value is an ItemCollectionOutlet, false otherwise.
39
+ */
40
+ export declare function isItemCollectionOutlet(value: unknown): value is ItemCollectionOutlet;
31
41
  export {};
@@ -1,2 +1,13 @@
1
- export {};
1
+ import { isNullish, isNumber, isRecord, isString } from '../guardUtils.js';
2
+ /**
3
+ * Checks if the given value is an ItemCollectionOutlet.
4
+ * @param value - The value to check.
5
+ * @returns True if the value is an ItemCollectionOutlet, false otherwise.
6
+ */
7
+ export function isItemCollectionOutlet(value) {
8
+ return (isRecord(value) &&
9
+ isString(value.id) &&
10
+ (isNullish(value.rank) || isNumber(value.rank)) &&
11
+ (isNullish(value.initialHeight) || isNumber(value.initialHeight)));
12
+ }
2
13
  //# sourceMappingURL=itemCollectionOutlets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"itemCollectionOutlets.js","sourceRoot":"","sources":["../../../src/hooks/itemCollectionOutlets.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"itemCollectionOutlets.js","sourceRoot":"","sources":["../../../src/hooks/itemCollectionOutlets.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAyC3E;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAc;IAEd,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAClB,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,11 @@ export type ItemFormOutletsHook = {
11
11
  itemFormOutlets: (itemType: ItemType, ctx: ItemFormOutletsCtx) => ItemFormOutlet[];
12
12
  };
13
13
  export type ItemFormOutletsCtx = Ctx;
14
+ /**
15
+ * An object expressing an outlet to be shown at the top of a record's editing page
16
+ *
17
+ * @see {isItemFormOutlet}
18
+ */
14
19
  export type ItemFormOutlet = {
15
20
  /**
16
21
  * ID of the outlet. Will be the first argument for the `renderItemFormOutlet`
@@ -27,4 +32,10 @@ export type ItemFormOutlet = {
27
32
  /** The initial height to set for the iframe that will render the outlet */
28
33
  initialHeight?: number;
29
34
  };
35
+ /**
36
+ * Checks if the given value is an ItemFormOutlet.
37
+ * @param value - The value to check.
38
+ * @returns True if the value is an ItemFormOutlet, false otherwise.
39
+ */
40
+ export declare function isItemFormOutlet(value: unknown): value is ItemFormOutlet;
30
41
  export {};
@@ -1,2 +1,13 @@
1
- export {};
1
+ import { isNullish, isNumber, isRecord, isString } from '../guardUtils.js';
2
+ /**
3
+ * Checks if the given value is an ItemFormOutlet.
4
+ * @param value - The value to check.
5
+ * @returns True if the value is an ItemFormOutlet, false otherwise.
6
+ */
7
+ export function isItemFormOutlet(value) {
8
+ return (isRecord(value) &&
9
+ isString(value.id) &&
10
+ (isNullish(value.rank) || isNumber(value.rank)) &&
11
+ (isNullish(value.initialHeight) || isNumber(value.initialHeight)));
12
+ }
2
13
  //# sourceMappingURL=itemFormOutlets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"itemFormOutlets.js","sourceRoot":"","sources":["../../../src/hooks/itemFormOutlets.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"itemFormOutlets.js","sourceRoot":"","sources":["../../../src/hooks/itemFormOutlets.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAyC3E;;;;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,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"}
@@ -12,6 +12,12 @@ export type ItemFormSidebarPanelsHook = {
12
12
  itemFormSidebarPanels: (itemType: ItemType, ctx: ItemFormSidebarPanelsCtx) => ItemFormSidebarPanel[];
13
13
  };
14
14
  export type ItemFormSidebarPanelsCtx = Ctx;
15
+ /**
16
+ * An object expressing a sidebar panel to be shown when the user
17
+ * edits records of a particular model
18
+ *
19
+ * @see {isItemFormSidebarPanel}
20
+ */
15
21
  export type ItemFormSidebarPanel = {
16
22
  /**
17
23
  * ID of the panel. Will be the first argument for the
@@ -45,4 +51,10 @@ export type ItemFormSidebarPanel = {
45
51
  /** The initial height to set for the iframe that will render the sidebar panel */
46
52
  initialHeight?: number;
47
53
  };
54
+ /**
55
+ * Checks if the given value is an ItemFormSidebarPanel.
56
+ * @param value - The value to check.
57
+ * @returns True if the value is an ItemFormSidebarPanel, false otherwise.
58
+ */
59
+ export declare function isItemFormSidebarPanel(value: unknown): value is ItemFormSidebarPanel;
48
60
  export {};
@@ -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"}
@@ -1,8 +1,10 @@
1
+ import type { SchemaTypes } from '@datocms/cma-client';
1
2
  import { SelfResizingPluginFrameCtx } from '../ctx/pluginFrame';
3
+ type ItemType = SchemaTypes.ItemType;
2
4
  export type RenderItemCollectionOutletHook = {
3
5
  /**
4
6
  * This function will be called when the plugin needs to render an outlet
5
- * defined by the `itemFormOutlets()` hook.
7
+ * defined by the `itemCollectionOutlets()` hook.
6
8
  *
7
9
  * @tag outlets
8
10
  */
@@ -11,5 +13,8 @@ export type RenderItemCollectionOutletHook = {
11
13
  export type RenderItemCollectionOutletCtx = SelfResizingPluginFrameCtx<'renderItemCollectionOutlet', {
12
14
  /** The ID of the outlet that needs to be rendered */
13
15
  itemCollectionOutletId: string;
16
+ /** The model for which the outlet is being rendered */
17
+ itemType: ItemType;
14
18
  }>;
15
19
  export declare const renderItemCollectionOutletBootstrapper: import("../utils").Bootstrapper<"renderItemCollectionOutlet">;
20
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"renderItemCollectionOutlet.js","sourceRoot":"","sources":["../../../src/hooks/renderItemCollectionOutlet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,+BAA+B,EAAE,MAAM,UAAU,CAAC;AAuB3D,MAAM,CAAC,IAAM,sCAAsC,GACjD,+BAA+B,CAC7B,4BAA4B,EAC5B,UAAC,aAAa,EAAE,GAAG;IACjB,IAAI,CAAC,aAAa,CAAC,0BAA0B,EAAE,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,aAAa,CAAC,0BAA0B,CAAC,GAAG,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;AAC5E,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"renderItemCollectionOutlet.js","sourceRoot":"","sources":["../../../src/hooks/renderItemCollectionOutlet.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,+BAA+B,EAAE,MAAM,UAAU,CAAC;AA2B3D,MAAM,CAAC,IAAM,sCAAsC,GACjD,+BAA+B,CAC7B,4BAA4B,EAC5B,UAAC,aAAa,EAAE,GAAG;IACjB,IAAI,CAAC,aAAa,CAAC,0BAA0B,EAAE,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,aAAa,CAAC,0BAA0B,CAAC,GAAG,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;AAC5E,CAAC,CACF,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"}