datocms-plugin-sdk 2.1.0 → 2.1.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.
@@ -7,7 +7,7 @@ var icon_1 = require("../icon");
7
7
  function isContentAreaSidebarItem(value) {
8
8
  return ((0, guardUtils_js_1.isRecord)(value) &&
9
9
  (0, guardUtils_js_1.isString)(value.label) &&
10
- (0, icon_1.isIcon)(value.icon) &&
10
+ (0, icon_1.isIconWithEmoji)(value.icon) &&
11
11
  (0, guardUtils_js_1.isRecord)(value.pointsTo) &&
12
12
  (0, guardUtils_js_1.isString)(value.pointsTo.pageId) &&
13
13
  ((0, guardUtils_js_1.isNullish)(value.placement) || (0, guardUtils_js_1.isPlacement)(value.placement)) &&
@@ -1 +1 @@
1
- {"version":3,"file":"contentAreaSidebarItems.js","sourceRoot":"","sources":["../../../src/hooks/contentAreaSidebarItems.ts"],"names":[],"mappings":";;AA2DA,4DAYC;AAED,8FAIC;AA5ED,kDAO0B;AAC1B,gCAAuC;AAkDvC,SAAgB,wBAAwB,CACtC,KAAc;IAEd,OAAO,CACL,IAAA,wBAAQ,EAAC,KAAK,CAAC;QACf,IAAA,wBAAQ,EAAC,KAAK,CAAC,KAAK,CAAC;QACrB,IAAA,aAAM,EAAC,KAAK,CAAC,IAAI,CAAC;QAClB,IAAA,wBAAQ,EAAC,KAAK,CAAC,QAAQ,CAAC;QACxB,IAAA,wBAAQ,EAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC/B,CAAC,IAAA,yBAAS,EAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAA,2BAAW,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC5D,CAAC,IAAA,yBAAS,EAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAA,wBAAQ,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAChD,CAAC;AACJ,CAAC;AAED,SAAgB,yCAAyC,CACvD,KAAc;IAEd,OAAO,IAAA,uBAAO,EAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"contentAreaSidebarItems.js","sourceRoot":"","sources":["../../../src/hooks/contentAreaSidebarItems.ts"],"names":[],"mappings":";;AA2DA,4DAYC;AAED,8FAIC;AA5ED,kDAO0B;AAC1B,gCAAyD;AAkDzD,SAAgB,wBAAwB,CACtC,KAAc;IAEd,OAAO,CACL,IAAA,wBAAQ,EAAC,KAAK,CAAC;QACf,IAAA,wBAAQ,EAAC,KAAK,CAAC,KAAK,CAAC;QACrB,IAAA,sBAAe,EAAC,KAAK,CAAC,IAAI,CAAC;QAC3B,IAAA,wBAAQ,EAAC,KAAK,CAAC,QAAQ,CAAC;QACxB,IAAA,wBAAQ,EAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC/B,CAAC,IAAA,yBAAS,EAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAA,2BAAW,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC5D,CAAC,IAAA,yBAAS,EAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAA,wBAAQ,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAChD,CAAC;AACJ,CAAC;AAED,SAAgB,yCAAyC,CACvD,KAAc;IAEd,OAAO,IAAA,uBAAO,EAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;AAClD,CAAC"}
package/dist/cjs/icon.js CHANGED
@@ -3,9 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isIcon = isIcon;
4
4
  exports.isSvgDefinition = isSvgDefinition;
5
5
  exports.isEmojiDefinition = isEmojiDefinition;
6
+ exports.isIconWithEmoji = isIconWithEmoji;
6
7
  var guardUtils_js_1 = require("./guardUtils.js");
7
8
  function isIcon(value) {
8
- return (0, guardUtils_js_1.isString)(value) || isSvgDefinition(value) || isEmojiDefinition(value);
9
+ return (0, guardUtils_js_1.isString)(value) || isSvgDefinition(value);
9
10
  }
10
11
  function isSvgDefinition(value) {
11
12
  return ((0, guardUtils_js_1.isRecord)(value) &&
@@ -16,4 +17,7 @@ function isSvgDefinition(value) {
16
17
  function isEmojiDefinition(value) {
17
18
  return (0, guardUtils_js_1.isRecord)(value) && value.type === 'emoji' && (0, guardUtils_js_1.isEmoji)(value.emoji);
18
19
  }
20
+ function isIconWithEmoji(value) {
21
+ return isIcon(value) || isEmojiDefinition(value);
22
+ }
19
23
  //# sourceMappingURL=icon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"icon.js","sourceRoot":"","sources":["../../src/icon.ts"],"names":[],"mappings":";;AAIA,wBAEC;AAwCD,0CAOC;AAuBD,8CAEC;AA9ED,iDAA8D;AAI9D,SAAgB,MAAM,CAAC,KAAc;IACnC,OAAO,IAAA,wBAAQ,EAAC,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC/E,CAAC;AAwCD,SAAgB,eAAe,CAAC,KAAc;IAC5C,OAAO,CACL,IAAA,wBAAQ,EAAC,KAAK,CAAC;QACf,KAAK,CAAC,IAAI,KAAK,KAAK;QACpB,IAAA,wBAAQ,EAAC,KAAK,CAAC,OAAO,CAAC;QACvB,IAAA,wBAAQ,EAAC,KAAK,CAAC,OAAO,CAAC,CACxB,CAAC;AACJ,CAAC;AAuBD,SAAgB,iBAAiB,CAAC,KAAc;IAC9C,OAAO,IAAA,wBAAQ,EAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,IAAA,uBAAO,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC"}
1
+ {"version":3,"file":"icon.js","sourceRoot":"","sources":["../../src/icon.ts"],"names":[],"mappings":";;AAIA,wBAEC;AAwCD,0CAOC;AAuBD,8CAEC;AAQD,0CAEC;AAxFD,iDAA8D;AAI9D,SAAgB,MAAM,CAAC,KAAc;IACnC,OAAO,IAAA,wBAAQ,EAAC,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AACnD,CAAC;AAwCD,SAAgB,eAAe,CAAC,KAAc;IAC5C,OAAO,CACL,IAAA,wBAAQ,EAAC,KAAK,CAAC;QACf,KAAK,CAAC,IAAI,KAAK,KAAK;QACpB,IAAA,wBAAQ,EAAC,KAAK,CAAC,OAAO,CAAC;QACvB,IAAA,wBAAQ,EAAC,KAAK,CAAC,OAAO,CAAC,CACxB,CAAC;AACJ,CAAC;AAuBD,SAAgB,iBAAiB,CAAC,KAAc;IAC9C,OAAO,IAAA,wBAAQ,EAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,IAAA,uBAAO,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC;AAQD,SAAgB,eAAe,CAAC,KAAc;IAC5C,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACnD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { Ctx } from '../ctx/base';
2
- import { Icon } from '../icon';
2
+ import { IconWithEmoji } from '../icon';
3
3
  export type ContentAreaSidebarItemsHook = {
4
4
  /**
5
5
  * Use this function to declare new items in the content area sidebar
@@ -19,11 +19,11 @@ export type ContentAreaSidebarItem = {
19
19
  label: string;
20
20
  /**
21
21
  * Icon to be shown alongside the label. Can be a FontAwesome icon name (ie.
22
- * `"address-book"`) or a custom SVG definition. To maintain visual
22
+ * `"address-book"`), a custom SVG definition, or an emoji. To maintain visual
23
23
  * consistency with the rest of the interface, try to use FontAwesome icons
24
24
  * whenever possible.
25
25
  */
26
- icon: Icon;
26
+ icon: IconWithEmoji;
27
27
  /** ID of the page linked to the item */
28
28
  pointsTo: {
29
29
  pageId: string;
@@ -1,9 +1,9 @@
1
1
  import { isArray, isNullish, isNumber, isPlacement, isRecord, isString, } from '../guardUtils.js';
2
- import { isIcon } from '../icon';
2
+ import { isIconWithEmoji } from '../icon';
3
3
  export function isContentAreaSidebarItem(value) {
4
4
  return (isRecord(value) &&
5
5
  isString(value.label) &&
6
- isIcon(value.icon) &&
6
+ isIconWithEmoji(value.icon) &&
7
7
  isRecord(value.pointsTo) &&
8
8
  isString(value.pointsTo.pageId) &&
9
9
  (isNullish(value.placement) || isPlacement(value.placement)) &&
@@ -1 +1 @@
1
- {"version":3,"file":"contentAreaSidebarItems.js","sourceRoot":"","sources":["../../../src/hooks/contentAreaSidebarItems.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EACP,SAAS,EACT,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAQ,MAAM,EAAE,MAAM,SAAS,CAAC;AAkDvC,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;AAED,MAAM,UAAU,yCAAyC,CACvD,KAAc;IAEd,OAAO,OAAO,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"contentAreaSidebarItems.js","sourceRoot":"","sources":["../../../src/hooks/contentAreaSidebarItems.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EACP,SAAS,EACT,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAiB,eAAe,EAAE,MAAM,SAAS,CAAC;AAkDzD,MAAM,UAAU,wBAAwB,CACtC,KAAc;IAEd,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;QACrB,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC;QAC3B,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;AAED,MAAM,UAAU,yCAAyC,CACvD,KAAc;IAEd,OAAO,OAAO,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;AAClD,CAAC"}
@@ -1,4 +1,4 @@
1
- export type Icon = AwesomeFontIconIdentifier | SvgDefinition | EmojiDefinition;
1
+ export type Icon = AwesomeFontIconIdentifier | SvgDefinition;
2
2
  export declare function isIcon(value: unknown): value is Icon;
3
3
  /**
4
4
  * Defines a custom SVG icon for use in DatoCMS plugins.
@@ -56,6 +56,12 @@ export type EmojiDefinition = {
56
56
  emoji: string;
57
57
  };
58
58
  export declare function isEmojiDefinition(value: unknown): value is EmojiDefinition;
59
+ /**
60
+ * Extended icon type that includes emoji support in addition to Font Awesome and SVG icons.
61
+ * This type is specifically used for content area sidebar items where emoji icons are supported.
62
+ */
63
+ export type IconWithEmoji = Icon | EmojiDefinition;
64
+ export declare function isIconWithEmoji(value: unknown): value is IconWithEmoji;
59
65
  /**
60
66
  * Font Awesome icon identifier for use in DatoCMS plugins.
61
67
  *
package/dist/esm/icon.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { isEmoji, isRecord, isString } from './guardUtils.js';
2
2
  export function isIcon(value) {
3
- return isString(value) || isSvgDefinition(value) || isEmojiDefinition(value);
3
+ return isString(value) || isSvgDefinition(value);
4
4
  }
5
5
  export function isSvgDefinition(value) {
6
6
  return (isRecord(value) &&
@@ -11,4 +11,7 @@ export function isSvgDefinition(value) {
11
11
  export function isEmojiDefinition(value) {
12
12
  return isRecord(value) && value.type === 'emoji' && isEmoji(value.emoji);
13
13
  }
14
+ export function isIconWithEmoji(value) {
15
+ return isIcon(value) || isEmojiDefinition(value);
16
+ }
14
17
  //# sourceMappingURL=icon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"icon.js","sourceRoot":"","sources":["../../src/icon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAI9D,MAAM,UAAU,MAAM,CAAC,KAAc;IACnC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC/E,CAAC;AAwCD,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,KAAK,CAAC,IAAI,KAAK,KAAK;QACpB,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;QACvB,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CACxB,CAAC;AACJ,CAAC;AAuBD,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC"}
1
+ {"version":3,"file":"icon.js","sourceRoot":"","sources":["../../src/icon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAI9D,MAAM,UAAU,MAAM,CAAC,KAAc;IACnC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AACnD,CAAC;AAwCD,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,KAAK,CAAC,IAAI,KAAK,KAAK;QACpB,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;QACvB,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CACxB,CAAC;AACJ,CAAC;AAuBD,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC;AAQD,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACnD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { Ctx } from '../ctx/base';
2
- import { Icon } from '../icon';
2
+ import { IconWithEmoji } from '../icon';
3
3
  export type ContentAreaSidebarItemsHook = {
4
4
  /**
5
5
  * Use this function to declare new items in the content area sidebar
@@ -19,11 +19,11 @@ export type ContentAreaSidebarItem = {
19
19
  label: string;
20
20
  /**
21
21
  * Icon to be shown alongside the label. Can be a FontAwesome icon name (ie.
22
- * `"address-book"`) or a custom SVG definition. To maintain visual
22
+ * `"address-book"`), a custom SVG definition, or an emoji. To maintain visual
23
23
  * consistency with the rest of the interface, try to use FontAwesome icons
24
24
  * whenever possible.
25
25
  */
26
- icon: Icon;
26
+ icon: IconWithEmoji;
27
27
  /** ID of the page linked to the item */
28
28
  pointsTo: {
29
29
  pageId: string;
@@ -1,4 +1,4 @@
1
- export type Icon = AwesomeFontIconIdentifier | SvgDefinition | EmojiDefinition;
1
+ export type Icon = AwesomeFontIconIdentifier | SvgDefinition;
2
2
  export declare function isIcon(value: unknown): value is Icon;
3
3
  /**
4
4
  * Defines a custom SVG icon for use in DatoCMS plugins.
@@ -56,6 +56,12 @@ export type EmojiDefinition = {
56
56
  emoji: string;
57
57
  };
58
58
  export declare function isEmojiDefinition(value: unknown): value is EmojiDefinition;
59
+ /**
60
+ * Extended icon type that includes emoji support in addition to Font Awesome and SVG icons.
61
+ * This type is specifically used for content area sidebar items where emoji icons are supported.
62
+ */
63
+ export type IconWithEmoji = Icon | EmojiDefinition;
64
+ export declare function isIconWithEmoji(value: unknown): value is IconWithEmoji;
59
65
  /**
60
66
  * Font Awesome icon identifier for use in DatoCMS plugins.
61
67
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "datocms-plugin-sdk",
3
- "version": "2.1.0",
3
+ "version": "2.1.1",
4
4
  "description": "DatoCMS Plugin SDK",
5
5
  "keywords": [
6
6
  "datocms",
@@ -46,5 +46,5 @@
46
46
  "glob": "^11.0.0",
47
47
  "typescript": "^5.6.2"
48
48
  },
49
- "gitHead": "42fea5d307d19f45233586a41f3aad273f58a577"
49
+ "gitHead": "a8fcf4b05fe22e331b2fd95303793088aa15fedf"
50
50
  }
@@ -7,7 +7,7 @@ import {
7
7
  isRecord,
8
8
  isString,
9
9
  } from '../guardUtils.js';
10
- import { Icon, isIcon } from '../icon';
10
+ import { IconWithEmoji, isIconWithEmoji } from '../icon';
11
11
 
12
12
  export type ContentAreaSidebarItemsHook = {
13
13
  /**
@@ -32,11 +32,11 @@ export type ContentAreaSidebarItem = {
32
32
  label: string;
33
33
  /**
34
34
  * Icon to be shown alongside the label. Can be a FontAwesome icon name (ie.
35
- * `"address-book"`) or a custom SVG definition. To maintain visual
35
+ * `"address-book"`), a custom SVG definition, or an emoji. To maintain visual
36
36
  * consistency with the rest of the interface, try to use FontAwesome icons
37
37
  * whenever possible.
38
38
  */
39
- icon: Icon;
39
+ icon: IconWithEmoji;
40
40
  /** ID of the page linked to the item */
41
41
  pointsTo: {
42
42
  pageId: string;
@@ -63,7 +63,7 @@ export function isContentAreaSidebarItem(
63
63
  return (
64
64
  isRecord(value) &&
65
65
  isString(value.label) &&
66
- isIcon(value.icon) &&
66
+ isIconWithEmoji(value.icon) &&
67
67
  isRecord(value.pointsTo) &&
68
68
  isString(value.pointsTo.pageId) &&
69
69
  (isNullish(value.placement) || isPlacement(value.placement)) &&
package/src/icon.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { isEmoji, isRecord, isString } from './guardUtils.js';
2
2
 
3
- export type Icon = AwesomeFontIconIdentifier | SvgDefinition | EmojiDefinition;
3
+ export type Icon = AwesomeFontIconIdentifier | SvgDefinition;
4
4
 
5
5
  export function isIcon(value: unknown): value is Icon {
6
- return isString(value) || isSvgDefinition(value) || isEmojiDefinition(value);
6
+ return isString(value) || isSvgDefinition(value);
7
7
  }
8
8
 
9
9
  /**
@@ -78,6 +78,16 @@ export function isEmojiDefinition(value: unknown): value is EmojiDefinition {
78
78
  return isRecord(value) && value.type === 'emoji' && isEmoji(value.emoji);
79
79
  }
80
80
 
81
+ /**
82
+ * Extended icon type that includes emoji support in addition to Font Awesome and SVG icons.
83
+ * This type is specifically used for content area sidebar items where emoji icons are supported.
84
+ */
85
+ export type IconWithEmoji = Icon | EmojiDefinition;
86
+
87
+ export function isIconWithEmoji(value: unknown): value is IconWithEmoji {
88
+ return isIcon(value) || isEmojiDefinition(value);
89
+ }
90
+
81
91
  /**
82
92
  * Font Awesome icon identifier for use in DatoCMS plugins.
83
93
  *