datocms-plugin-sdk 2.1.0-alpha.2 → 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.
- package/dist/cjs/hooks/contentAreaSidebarItems.js +1 -1
- package/dist/cjs/hooks/contentAreaSidebarItems.js.map +1 -1
- package/dist/cjs/icon.js +5 -1
- package/dist/cjs/icon.js.map +1 -1
- package/dist/esm/hooks/contentAreaSidebarItems.d.ts +3 -3
- package/dist/esm/hooks/contentAreaSidebarItems.js +2 -2
- package/dist/esm/hooks/contentAreaSidebarItems.js.map +1 -1
- package/dist/esm/icon.d.ts +7 -1
- package/dist/esm/icon.js +4 -1
- package/dist/esm/icon.js.map +1 -1
- package/dist/types/hooks/contentAreaSidebarItems.d.ts +3 -3
- package/dist/types/icon.d.ts +7 -1
- package/package.json +3 -3
- package/src/hooks/contentAreaSidebarItems.ts +4 -4
- package/src/icon.ts +12 -2
|
@@ -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.
|
|
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,
|
|
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)
|
|
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
|
package/dist/cjs/icon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon.js","sourceRoot":"","sources":["../../src/icon.ts"],"names":[],"mappings":";;AAIA,wBAEC;AAwCD,0CAOC;AAuBD,8CAEC;
|
|
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 {
|
|
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"`)
|
|
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:
|
|
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 {
|
|
2
|
+
import { isIconWithEmoji } from '../icon';
|
|
3
3
|
export function isContentAreaSidebarItem(value) {
|
|
4
4
|
return (isRecord(value) &&
|
|
5
5
|
isString(value.label) &&
|
|
6
|
-
|
|
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,
|
|
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"}
|
package/dist/esm/icon.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type Icon = AwesomeFontIconIdentifier | SvgDefinition
|
|
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)
|
|
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
|
package/dist/esm/icon.js.map
CHANGED
|
@@ -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,
|
|
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 {
|
|
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"`)
|
|
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:
|
|
26
|
+
icon: IconWithEmoji;
|
|
27
27
|
/** ID of the page linked to the item */
|
|
28
28
|
pointsTo: {
|
|
29
29
|
pageId: string;
|
package/dist/types/icon.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type Icon = AwesomeFontIconIdentifier | SvgDefinition
|
|
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.
|
|
3
|
+
"version": "2.1.1",
|
|
4
4
|
"description": "DatoCMS Plugin SDK",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"datocms",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"url": "https://github.com/datocms/plugins-sdk/issues"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@datocms/cma-client": "
|
|
39
|
+
"@datocms/cma-client": "*",
|
|
40
40
|
"@types/react": "^17.0.3",
|
|
41
41
|
"datocms-structured-text-utils": "^2.0.0",
|
|
42
42
|
"emoji-regex-xs": "*",
|
|
@@ -46,5 +46,5 @@
|
|
|
46
46
|
"glob": "^11.0.0",
|
|
47
47
|
"typescript": "^5.6.2"
|
|
48
48
|
},
|
|
49
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "a8fcf4b05fe22e331b2fd95303793088aa15fedf"
|
|
50
50
|
}
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
isRecord,
|
|
8
8
|
isString,
|
|
9
9
|
} from '../guardUtils.js';
|
|
10
|
-
import {
|
|
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"`)
|
|
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:
|
|
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
|
-
|
|
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
|
|
3
|
+
export type Icon = AwesomeFontIconIdentifier | SvgDefinition;
|
|
4
4
|
|
|
5
5
|
export function isIcon(value: unknown): value is Icon {
|
|
6
|
-
return isString(value) || isSvgDefinition(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
|
*
|