pds-dev-kit-web-test 0.3.67 → 0.3.69
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/src/common/services/i18n/resources/en.json +2 -1
- package/dist/src/common/services/i18n/resources/es.json +2 -1
- package/dist/src/common/services/i18n/resources/fil.json +2 -1
- package/dist/src/common/services/i18n/resources/index.d.ts +7 -0
- package/dist/src/common/services/i18n/resources/ja.json +2 -1
- package/dist/src/common/services/i18n/resources/ko.json +2 -1
- package/dist/src/common/services/i18n/resources/zh-cn.json +2 -1
- package/dist/src/common/services/i18n/resources/zh-tw.json +2 -1
- package/dist/src/desktop/components/DesktopAlertDialog/DesktopAlertDialog.js +12 -19
- package/dist/src/desktop/components/TextButton/TextButton.d.ts +2 -3
- package/dist/src/desktop/components/TextButton/TextButton.js +2 -2
- package/dist/src/sub/DynamicLayout/pagesPreviewMock.d.ts +418 -4
- package/dist/src/sub/DynamicLayout/pagesPreviewMock.js +601 -10
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/ComponentBlockMatcher.js +3 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Embed/Embed.d.ts +5 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Embed/Embed.js +48 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Embed/EmbedIframe.d.ts +8 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Embed/EmbedIframe.js +45 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Embed/IframeDenied.d.ts +3 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Embed/IframeDenied.js +21 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Embed/constant.d.ts +1 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Embed/constant.js +4 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Embed/types.d.ts +6 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Embed/types.js +2 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/types.d.ts +3 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/types.d.ts +11 -4
- package/dist/src/sub/DynamicLayout/sections/CustomSection/types.js +1 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parseProperties.d.ts +2 -2
- package/dist/src/sub/DynamicLayout/sections/CustomSection/util/types.d.ts +11 -1
- package/package.json +1 -1
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
18
|
+
var react_1 = require("react");
|
|
19
|
+
var DynamicLayout_1 = require("../../../../../../../DynamicLayout");
|
|
20
|
+
var hooks_1 = require("../../../../hooks");
|
|
21
|
+
var util_1 = require("../../../../util");
|
|
22
|
+
var S_CB_AnimationObserverBox_1 = require("../components/S_CB_AnimationObserverBox");
|
|
23
|
+
var S_CB_BoxWithShadow_1 = require("../components/S_CB_BoxWithShadow");
|
|
24
|
+
var constant_1 = require("./constant");
|
|
25
|
+
var EmbedIframe_1 = __importDefault(require("./EmbedIframe"));
|
|
26
|
+
var IframeDenied_1 = __importDefault(require("./IframeDenied"));
|
|
27
|
+
function Embed(props) {
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
29
|
+
var _a = (0, react_1.useContext)(DynamicLayout_1.dynamicLayoutContext), device = _a.device, mode = _a.mode;
|
|
30
|
+
var CB_EFFECT_PROP_ENTANIM = props.CB_EFFECT_PROP_ENTANIM, index = props.index;
|
|
31
|
+
var CB_CONTENT_PROP_CODEBLOCK_SPEC_CODE = props.CB_CONTENT_PROP_CODEBLOCK.CB_CONTENT_PROP_CODEBLOCK_SPEC_CODE, CB_STYLE_PROP_SHADOW = props.CB_STYLE_PROP_SHADOW;
|
|
32
|
+
var _b = (0, util_1.parseProperties)(props, device), style = _b.style, hoverStyle = _b.hoverStyle, layout = _b.layout, effect = _b.effect;
|
|
33
|
+
var cbRef = (0, react_1.useRef)(null);
|
|
34
|
+
var entry = (0, hooks_1.useIntersectionObserver)(cbRef, { threshold: 0.2, freezeOnceVisible: false }, [
|
|
35
|
+
index
|
|
36
|
+
]);
|
|
37
|
+
var isVisible = !!(entry === null || entry === void 0 ? void 0 : entry.isIntersecting);
|
|
38
|
+
var effectCssProperties = isVisible ? effect : {};
|
|
39
|
+
var editModeStyle = mode === 'EDIT' ? { pointerEvents: 'none' } : {};
|
|
40
|
+
var isNoneEffectType = device === 'DESKTOP'
|
|
41
|
+
? CB_EFFECT_PROP_ENTANIM.CB_EFFECT_PROP_ENTANIM_SPEC_TYPE === 'NONE'
|
|
42
|
+
: CB_EFFECT_PROP_ENTANIM['CB_EFFECT_PROP_ENTANIM_SPEC_TYPE:MOBILE'] === 'NONE';
|
|
43
|
+
var hasEffect = !isNoneEffectType;
|
|
44
|
+
var effectVisibleStyle = hasEffect ? { opacity: isVisible ? 1 : 0 } : {};
|
|
45
|
+
var iframeAllowed = window.location.hostname !== constant_1.EMBED_DENIED_HOST;
|
|
46
|
+
return ((0, jsx_runtime_1.jsx)(S_CB_AnimationObserverBox_1.S_CB_AnimationObserverBox, __assign({ ref: hasEffect ? cbRef : null, effectVisibleStyle: effectVisibleStyle }, { children: (0, jsx_runtime_1.jsx)(S_CB_BoxWithShadow_1.S_CB_BoxWithShadow, __assign({ className: "cb-layout-box", normalStyle: __assign(__assign(__assign(__assign({}, style), layout), effectCssProperties), editModeStyle), hoverStyle: hoverStyle, cbStylePropsShadowSpecs: CB_STYLE_PROP_SHADOW, device: device }, { children: iframeAllowed ? ((0, jsx_runtime_1.jsx)(EmbedIframe_1.default, { embedCode: CB_CONTENT_PROP_CODEBLOCK_SPEC_CODE, style: layout })) : ((0, jsx_runtime_1.jsx)(IframeDenied_1.default, {})) })) })));
|
|
47
|
+
}
|
|
48
|
+
exports.default = Embed;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
+
return cooked;
|
|
5
|
+
};
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
11
|
+
var react_1 = require("react");
|
|
12
|
+
var styled_components_1 = __importDefault(require("styled-components"));
|
|
13
|
+
var EmbedIframe = function (_a) {
|
|
14
|
+
var embedCode = _a.embedCode, style = _a.style;
|
|
15
|
+
var iframeRef = (0, react_1.useRef)(null);
|
|
16
|
+
var embedHtml = (0, react_1.useMemo)(function () {
|
|
17
|
+
return getHtmlCode(embedCode, style);
|
|
18
|
+
}, [embedCode, style]);
|
|
19
|
+
(0, react_1.useLayoutEffect)(function () {
|
|
20
|
+
var _a;
|
|
21
|
+
if (!iframeRef.current) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
var iframeDoc = iframeRef.current.contentDocument || ((_a = iframeRef.current.contentWindow) === null || _a === void 0 ? void 0 : _a.document);
|
|
25
|
+
if (!iframeDoc || !embedHtml) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
iframeDoc.open();
|
|
29
|
+
iframeDoc.write(embedHtml);
|
|
30
|
+
iframeDoc.close();
|
|
31
|
+
}, [embedHtml]);
|
|
32
|
+
return ((0, jsx_runtime_1.jsx)(S_Iframe, { ref: iframeRef, title: "cb-embed", allow: "accelerometer; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; clipboard-write;", sandbox: "allow-forms allow-modals allow-same-origin allow-popups allow-presentation allow-scripts allow-downloads allow-pointer-lock" }));
|
|
33
|
+
};
|
|
34
|
+
var S_Iframe = styled_components_1.default.iframe(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n border: none;\n display: block;\n height: 100%;\n width: 100%;\n"], ["\n border: none;\n display: block;\n height: 100%;\n width: 100%;\n"])));
|
|
35
|
+
function getHtmlCode(code, style) {
|
|
36
|
+
var styleString = Object.entries(style).reduce(function (styleStr, _a) {
|
|
37
|
+
var prop = _a[0], value = _a[1];
|
|
38
|
+
var kebabProp = prop.replace(/([a-z0])([A-Z])/g, '$1-$2').toLowerCase();
|
|
39
|
+
return "".concat(styleStr).concat(kebabProp, ": ").concat(value, ";");
|
|
40
|
+
}, '');
|
|
41
|
+
var html = "\n <!DOCTYPE html>\n <html lang=\"en\">\n <head>\n <base href=\"https://example.com/\">\n <meta charset=\"UTF-8\">\n <style>\n html, body {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 100%;\n ".concat(styleString, "\n }\n\n body > div { \n flex-grow: 1;\n width: 100%;\n }\n </style>\n </head>\n <body>\n ").concat(code, "\n </body>\n </html>\n ");
|
|
42
|
+
return html;
|
|
43
|
+
}
|
|
44
|
+
exports.default = EmbedIframe;
|
|
45
|
+
var templateObject_1;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
+
return cooked;
|
|
5
|
+
};
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
11
|
+
require("react");
|
|
12
|
+
var react_i18next_1 = require("react-i18next");
|
|
13
|
+
var components_1 = require("../../../../../../../DynamicLayout/components");
|
|
14
|
+
var styled_components_1 = __importDefault(require("styled-components"));
|
|
15
|
+
function IframeDenied() {
|
|
16
|
+
var t = (0, react_i18next_1.useTranslation)().t;
|
|
17
|
+
return ((0, jsx_runtime_1.jsx)(S_Denied, { children: (0, jsx_runtime_1.jsx)(components_1.D_TextLabel, { text: t('str_key_user_scene_x00001pages_notconnectdomain_embedcb_hide_info'), styleTheme: "caption1Regular", colorTheme: "sysTextSecondary", textAlign: "center" }) }));
|
|
18
|
+
}
|
|
19
|
+
var S_Denied = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n align-items: center;\n background-color: #dddddd;\n display: flex;\n height: 100%;\n justify-content: center;\n width: 100%;\n"], ["\n align-items: center;\n background-color: #dddddd;\n display: flex;\n height: 100%;\n justify-content: center;\n width: 100%;\n"])));
|
|
20
|
+
exports.default = IframeDenied;
|
|
21
|
+
var templateObject_1;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const EMBED_DENIED_HOST = "app.publr.co";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { DefaultBrightTheme } from '../../../../../../../DynamicLayout/sections/CustomSection/util/types';
|
|
2
|
+
export type TwitterPropsKeys = keyof CB_TWITTER_STYLE_PROPS;
|
|
3
|
+
export type CB_TWITTER_STYLE_PROPS = {
|
|
4
|
+
CB_STYLE_PROP_TWITTER_SPEC_THEME: DefaultBrightTheme;
|
|
5
|
+
'CB_STYLE_PROP_TWITTER_SPEC_THEME:MOBILE': DefaultBrightTheme | undefined;
|
|
6
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { CB_BTN_PROPERTIES_TYPE, CB_DIVIDER_PROPERTIES_TYPE, CB_IMG_PROPERTIES_TYPE, CB_RICHTEXT_PROPERTIES_TYPE, CB_TEXT_PROPERTIES_TYPE, CB_TWITTER_PROPERTIES_TYPE, CB_YOUTUBE_PROPERTIES_TYPE } from './util/types';
|
|
1
|
+
import type { CB_BTN_PROPERTIES_TYPE, CB_DIVIDER_PROPERTIES_TYPE, CB_EMBED_PROPERTIES_TYPE, CB_IMG_PROPERTIES_TYPE, CB_RICHTEXT_PROPERTIES_TYPE, CB_TEXT_PROPERTIES_TYPE, CB_TWITTER_PROPERTIES_TYPE, CB_YOUTUBE_PROPERTIES_TYPE } from './util/types';
|
|
2
2
|
export type CB_TYPES = 'GENERAL';
|
|
3
|
-
export type ComponentBlock = CB_TEXT_TYPE | CB_BTN_TYPE | CB_RICHTEXT | CB_DIVIDER | CB_IMG | CB_YOUTUBE | CB_TWITTER;
|
|
3
|
+
export type ComponentBlock = CB_TEXT_TYPE | CB_BTN_TYPE | CB_RICHTEXT | CB_DIVIDER | CB_IMG | CB_YOUTUBE | CB_TWITTER | CB_IFRAME;
|
|
4
4
|
type GeneralCustomSectionType = {
|
|
5
5
|
id: number;
|
|
6
6
|
type: 'GENERAL';
|
|
@@ -17,7 +17,7 @@ export type GroupCustomSectionType = {
|
|
|
17
17
|
queryableDefinitionPreset: string;
|
|
18
18
|
dynamicLayoutSectionId: number;
|
|
19
19
|
};
|
|
20
|
-
export type AllCBProperties = CB_TEXT_PROPERTIES_TYPE | CB_BTN_PROPERTIES_TYPE | CB_RICHTEXT_PROPERTIES_TYPE | CB_RICHTEXT_PROPERTIES_TYPE | CB_DIVIDER_PROPERTIES_TYPE | CB_YOUTUBE_PROPERTIES_TYPE | CB_IMG_PROPERTIES_TYPE | CB_TWITTER_PROPERTIES_TYPE;
|
|
20
|
+
export type AllCBProperties = CB_TEXT_PROPERTIES_TYPE | CB_BTN_PROPERTIES_TYPE | CB_RICHTEXT_PROPERTIES_TYPE | CB_RICHTEXT_PROPERTIES_TYPE | CB_DIVIDER_PROPERTIES_TYPE | CB_YOUTUBE_PROPERTIES_TYPE | CB_IMG_PROPERTIES_TYPE | CB_TWITTER_PROPERTIES_TYPE | CB_EMBED_PROPERTIES_TYPE;
|
|
21
21
|
export type CB_TEXT_TYPE = GeneralCustomSectionType & {
|
|
22
22
|
componentBlockCode: CB_ALL_CODES.CB_TEXT;
|
|
23
23
|
jsonProperties: {
|
|
@@ -60,6 +60,12 @@ export type CB_TWITTER = GeneralCustomSectionType & {
|
|
|
60
60
|
data: CB_TWITTER_PROPERTIES_TYPE;
|
|
61
61
|
};
|
|
62
62
|
};
|
|
63
|
+
export type CB_IFRAME = GeneralCustomSectionType & {
|
|
64
|
+
componentBlockCode: CB_ALL_CODES.CB_EMBED;
|
|
65
|
+
jsonProperties: {
|
|
66
|
+
data: CB_TWITTER_PROPERTIES_TYPE;
|
|
67
|
+
};
|
|
68
|
+
};
|
|
63
69
|
export declare enum CB_ALL_CODES {
|
|
64
70
|
CB_TEXT = "CB_TEXT",
|
|
65
71
|
CB_BTN = "CB_BTN",
|
|
@@ -67,6 +73,7 @@ export declare enum CB_ALL_CODES {
|
|
|
67
73
|
CB_DIVIDER = "CB_DIVIDER",
|
|
68
74
|
CB_IMG = "CB_IMG",
|
|
69
75
|
CB_YOUTUBE = "CB_YOUTUBE",
|
|
70
|
-
CB_TWITTER = "CB_TWITTER"
|
|
76
|
+
CB_TWITTER = "CB_TWITTER",
|
|
77
|
+
CB_EMBED = "CB_EMBED"
|
|
71
78
|
}
|
|
72
79
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CB_LAYOUT_PROP_KEYS } from './layoutPropParsers/types';
|
|
2
2
|
import { CB_STYLE_PROP_KEYS } from './stylePropParsers/types';
|
|
3
|
-
import type { Device, ParserResult, CB_TEXT_PROPERTIES_TYPE, CB_BTN_PROPERTIES_TYPE, CB_IMG_PROPERTIES_TYPE, CB_TWITTER_PROPERTIES_TYPE, CB_DIVIDER_PROPERTIES_TYPE, CB_YOUTUBE_PROPERTIES_TYPE, CB_RICHTEXT_PROPERTIES_TYPE } from './types';
|
|
3
|
+
import type { Device, ParserResult, CB_TEXT_PROPERTIES_TYPE, CB_BTN_PROPERTIES_TYPE, CB_IMG_PROPERTIES_TYPE, CB_TWITTER_PROPERTIES_TYPE, CB_DIVIDER_PROPERTIES_TYPE, CB_YOUTUBE_PROPERTIES_TYPE, CB_RICHTEXT_PROPERTIES_TYPE, CB_EMBED_PROPERTIES_TYPE } from './types';
|
|
4
4
|
export type specTypes = CB_LAYOUT_PROP_KEYS | CB_STYLE_PROP_KEYS;
|
|
5
|
-
export default function parseProperties(properties: CB_TEXT_PROPERTIES_TYPE | CB_BTN_PROPERTIES_TYPE | CB_IMG_PROPERTIES_TYPE | CB_TWITTER_PROPERTIES_TYPE | CB_DIVIDER_PROPERTIES_TYPE | CB_YOUTUBE_PROPERTIES_TYPE | CB_RICHTEXT_PROPERTIES_TYPE, device: Device): ParserResult;
|
|
5
|
+
export default function parseProperties(properties: CB_TEXT_PROPERTIES_TYPE | CB_BTN_PROPERTIES_TYPE | CB_IMG_PROPERTIES_TYPE | CB_TWITTER_PROPERTIES_TYPE | CB_DIVIDER_PROPERTIES_TYPE | CB_YOUTUBE_PROPERTIES_TYPE | CB_RICHTEXT_PROPERTIES_TYPE | CB_EMBED_PROPERTIES_TYPE, device: Device): ParserResult;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { CB_BTNTEXT_STYLE_PROPS, CB_STYLE_PROP_BTNCOLOR_SPECS } from '../components/ComponentBlock/componentBlocks/Button/btnTypes';
|
|
2
2
|
import type { CB_STYLE_PROP_TEXT_SPECS } from '../components/ComponentBlock/componentBlocks/Text/types';
|
|
3
3
|
import type { CB_TWITTER_STYLE_PROPS } from '../components/ComponentBlock/componentBlocks/Twitter/types';
|
|
4
|
-
import type { CB_CONTENT_PROP_CLINK, CB_CONTENT_PROP_IMAGE, CB_CONTENT_PROP_TEXT, CB_CONTENT_PROP_TWITTER } from '../components/ComponentBlock/componentBlocks/types';
|
|
4
|
+
import type { CB_CONTENT_PROP_CLINK, CB_CONTENT_PROP_CODEBLOCK, CB_CONTENT_PROP_IMAGE, CB_CONTENT_PROP_TEXT, CB_CONTENT_PROP_TWITTER } from '../components/ComponentBlock/componentBlocks/types';
|
|
5
5
|
import type { CB_CONTENT_PROP_YOUTUBE_TYPE, CB_STYLE_PROP_BGCOLOR_SPECS } from '../components/ComponentBlock/componentBlocks/Youtube/types';
|
|
6
6
|
import type { CB_CONTENT_PROP_VISIBILITY_SPECS } from './contentPropParsers/parseContentVisibility';
|
|
7
7
|
import type { CB_EFFECT_PROP_ENTANIM_SPECS } from './effectPropParsers/parseEffectPropEntAnim';
|
|
@@ -82,6 +82,16 @@ export type CB_TWITTER_PROPERTIES_TYPE = CB_GENERAL_PROPERTIES_TYPE & {
|
|
|
82
82
|
CB_LAYOUT_PROP_PADDING: CB_LAYOUT_PROP_PADDING_SPECS;
|
|
83
83
|
CB_EFFECT_PROP_ENTANIM: CB_EFFECT_PROP_ENTANIM_SPECS;
|
|
84
84
|
};
|
|
85
|
+
export type CB_EMBED_PROPERTIES_TYPE = CB_GENERAL_PROPERTIES_TYPE & {
|
|
86
|
+
CB_CONTENT_PROP_CODEBLOCK: CB_CONTENT_PROP_CODEBLOCK;
|
|
87
|
+
CB_CONTENT_PROP_VISIBILITY: CB_CONTENT_PROP_VISIBILITY_SPECS;
|
|
88
|
+
CB_STYLE_PROP_SHADOW: CB_STYLE_PROP_SHADOW_SPECS;
|
|
89
|
+
CB_STYLE_PROP_BGCOLOR: CB_STYLE_PROP_BGCOLOR_SPECS;
|
|
90
|
+
CB_STYLE_PROP_OPACITY: CB_STYLE_PROP_TEXT_OPACITY_SPECS;
|
|
91
|
+
CB_LAYOUT_PROP_PADDING: CB_LAYOUT_PROP_PADDING_SPECS;
|
|
92
|
+
CB_LAYOUT_PROP_ARRANGE: CB_LAYOUT_PROP_ARRANGE_SPECS;
|
|
93
|
+
CB_EFFECT_PROP_ENTANIM: CB_EFFECT_PROP_ENTANIM_SPECS;
|
|
94
|
+
};
|
|
85
95
|
export type CB_RICHTEXT_PROPERTIES_TYPE = CB_GENERAL_PROPERTIES_TYPE & {
|
|
86
96
|
CB_CONTENT_PROP_TEXTEDIT: {
|
|
87
97
|
CB_CONTENT_PROP_TEXTEDIT_SPEC_EDITOR: string;
|