@atlaskit/editor-common 71.0.3 → 72.0.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/CHANGELOG.md +78 -0
- package/dist/cjs/analytics/types/enums.js +20 -1
- package/dist/cjs/i18n/index.js +13 -5
- package/dist/cjs/i18n/languages.js +42 -0
- package/dist/cjs/keymaps/index.js +56 -6
- package/dist/cjs/styles/index.js +8 -2
- package/dist/cjs/styles/shared/annotation.js +9 -14
- package/dist/cjs/styles/shared/block-marks.js +1 -1
- package/dist/cjs/styles/shared/blockquote.js +1 -3
- package/dist/cjs/styles/shared/code-block.js +13 -16
- package/dist/cjs/styles/shared/code-mark.js +2 -4
- package/dist/cjs/styles/shared/lists.js +55 -4
- package/dist/cjs/styles/shared/panel.js +29 -39
- package/dist/cjs/styles/shared/rule.js +2 -4
- package/dist/cjs/styles/shared/shadow.js +1 -1
- package/dist/cjs/styles/shared/table.js +24 -26
- package/dist/cjs/types/next-editor-plugin.js +5 -0
- package/dist/cjs/ui/Caption/index.js +2 -4
- package/dist/cjs/ui/DropList/index.js +5 -7
- package/dist/cjs/ui/Emoji/index.js +11 -2
- package/dist/cjs/ui/Expand/index.js +17 -19
- package/dist/cjs/ui/Messages/index.js +3 -5
- package/dist/cjs/ui/Popup/index.js +72 -2
- package/dist/cjs/ui/Popup/utils.js +13 -6
- package/dist/cjs/ui/UnsupportedBlock/index.js +3 -5
- package/dist/cjs/ui/UnsupportedInline/index.js +3 -5
- package/dist/cjs/ui-color/ColorPalette/Palettes/paletteMessagesTokenModeNames.js +138 -0
- package/dist/cjs/ui-color/ColorPalette/index.js +20 -2
- package/dist/cjs/ui-menu/DropdownMenu/index.js +12 -12
- package/dist/cjs/ui-menu/ToolbarButton/index.js +3 -1
- package/dist/cjs/utils/analytics.js +1 -38
- package/dist/cjs/utils/builder.js +44 -0
- package/dist/cjs/utils/compareNodes.js +86 -33
- package/dist/cjs/utils/index.js +47 -1
- package/dist/cjs/utils/list.js +47 -0
- package/dist/cjs/utils/plugin-state-factory.js +9 -9
- package/dist/cjs/utils/referentiality.js +281 -2
- package/dist/cjs/utils/track-unsupported-content.js +19 -20
- package/dist/cjs/utils/validate-using-spec.js +8 -2
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/analytics/types/enums.js +20 -1
- package/dist/es2019/i18n/index.js +4 -3
- package/dist/es2019/i18n/languages.js +34 -0
- package/dist/es2019/keymaps/index.js +48 -2
- package/dist/es2019/styles/index.js +1 -1
- package/dist/es2019/styles/shared/annotation.js +9 -13
- package/dist/es2019/styles/shared/block-marks.js +8 -1
- package/dist/es2019/styles/shared/blockquote.js +1 -2
- package/dist/es2019/styles/shared/code-block.js +18 -18
- package/dist/es2019/styles/shared/code-mark.js +2 -3
- package/dist/es2019/styles/shared/lists.js +44 -2
- package/dist/es2019/styles/shared/panel.js +29 -37
- package/dist/es2019/styles/shared/rule.js +2 -3
- package/dist/es2019/styles/shared/shadow.js +20 -6
- package/dist/es2019/styles/shared/table.js +24 -26
- package/dist/es2019/types/next-editor-plugin.js +1 -0
- package/dist/es2019/ui/Caption/index.js +2 -3
- package/dist/es2019/ui/DropList/index.js +5 -6
- package/dist/es2019/ui/Emoji/index.js +11 -2
- package/dist/es2019/ui/Expand/index.js +17 -18
- package/dist/es2019/ui/Messages/index.js +3 -4
- package/dist/es2019/ui/Popup/index.js +68 -2
- package/dist/es2019/ui/Popup/utils.js +13 -6
- package/dist/es2019/ui/UnsupportedBlock/index.js +3 -4
- package/dist/es2019/ui/UnsupportedInline/index.js +3 -4
- package/dist/es2019/ui-color/ColorPalette/Palettes/paletteMessagesTokenModeNames.js +120 -0
- package/dist/es2019/ui-color/ColorPalette/index.js +29 -13
- package/dist/es2019/ui-menu/DropdownMenu/index.js +13 -12
- package/dist/es2019/ui-menu/ToolbarButton/index.js +3 -1
- package/dist/es2019/utils/analytics.js +0 -33
- package/dist/es2019/utils/builder.js +16 -0
- package/dist/es2019/utils/compareNodes.js +79 -28
- package/dist/es2019/utils/index.js +4 -2
- package/dist/es2019/utils/list.js +31 -0
- package/dist/es2019/utils/plugin-state-factory.js +9 -9
- package/dist/es2019/utils/referentiality.js +240 -0
- package/dist/es2019/utils/track-unsupported-content.js +20 -16
- package/dist/es2019/utils/validate-using-spec.js +8 -2
- package/dist/es2019/version.json +1 -1
- package/dist/esm/analytics/types/enums.js +20 -1
- package/dist/esm/i18n/index.js +4 -3
- package/dist/esm/i18n/languages.js +34 -0
- package/dist/esm/keymaps/index.js +49 -2
- package/dist/esm/styles/index.js +1 -1
- package/dist/esm/styles/shared/annotation.js +9 -13
- package/dist/esm/styles/shared/block-marks.js +1 -1
- package/dist/esm/styles/shared/blockquote.js +1 -2
- package/dist/esm/styles/shared/code-block.js +13 -15
- package/dist/esm/styles/shared/code-mark.js +2 -3
- package/dist/esm/styles/shared/lists.js +49 -2
- package/dist/esm/styles/shared/panel.js +29 -37
- package/dist/esm/styles/shared/rule.js +2 -3
- package/dist/esm/styles/shared/shadow.js +1 -2
- package/dist/esm/styles/shared/table.js +24 -26
- package/dist/esm/types/next-editor-plugin.js +1 -0
- package/dist/esm/ui/Caption/index.js +2 -3
- package/dist/esm/ui/DropList/index.js +5 -6
- package/dist/esm/ui/Emoji/index.js +11 -2
- package/dist/esm/ui/Expand/index.js +17 -18
- package/dist/esm/ui/Messages/index.js +3 -4
- package/dist/esm/ui/Popup/index.js +73 -2
- package/dist/esm/ui/Popup/utils.js +13 -6
- package/dist/esm/ui/UnsupportedBlock/index.js +2 -3
- package/dist/esm/ui/UnsupportedInline/index.js +2 -3
- package/dist/esm/ui-color/ColorPalette/Palettes/paletteMessagesTokenModeNames.js +124 -0
- package/dist/esm/ui-color/ColorPalette/index.js +19 -3
- package/dist/esm/ui-menu/DropdownMenu/index.js +12 -11
- package/dist/esm/ui-menu/ToolbarButton/index.js +3 -1
- package/dist/esm/utils/analytics.js +0 -33
- package/dist/esm/utils/builder.js +30 -0
- package/dist/esm/utils/compareNodes.js +83 -32
- package/dist/esm/utils/index.js +4 -2
- package/dist/esm/utils/list.js +31 -0
- package/dist/esm/utils/plugin-state-factory.js +9 -9
- package/dist/esm/utils/referentiality.js +269 -0
- package/dist/esm/utils/track-unsupported-content.js +19 -20
- package/dist/esm/utils/validate-using-spec.js +8 -2
- package/dist/esm/version.json +1 -1
- package/dist/types/analytics/types/enums.d.ts +23 -4
- package/dist/types/collab/types.d.ts +1 -1
- package/dist/types/i18n/index.d.ts +4 -3
- package/dist/types/i18n/languages.d.ts +35 -0
- package/dist/types/keymaps/index.d.ts +1 -0
- package/dist/types/styles/index.d.ts +1 -1
- package/dist/types/styles/shared/lists.d.ts +3 -1
- package/dist/types/types/collab.d.ts +1 -1
- package/dist/types/types/copy-button.d.ts +4 -0
- package/dist/types/types/feature-flags.d.ts +30 -25
- package/dist/types/types/floating-toolbar.d.ts +26 -1
- package/dist/types/types/index.d.ts +2 -1
- package/dist/types/types/next-editor-plugin.d.ts +61 -0
- package/dist/types/ui/Emoji/index.d.ts +2 -0
- package/dist/types/ui/Popup/index.d.ts +19 -0
- package/dist/types/ui/Popup/utils.d.ts +3 -3
- package/dist/types/ui-color/ColorPalette/Palettes/paletteMessagesTokenModeNames.d.ts +214 -0
- package/dist/types/ui-color/ColorPalette/index.d.ts +7 -0
- package/dist/types/ui-menu/DropdownMenu/types.d.ts +1 -0
- package/dist/types/ui-menu/ToolbarButton/index.d.ts +3 -1
- package/dist/types/utils/analytics.d.ts +1 -21
- package/dist/types/utils/builder.d.ts +8 -0
- package/dist/types/utils/compareNodes.d.ts +16 -0
- package/dist/types/utils/index.d.ts +3 -1
- package/dist/types/utils/list.d.ts +10 -0
- package/dist/types/utils/plugin-state-factory.d.ts +1 -1
- package/dist/types/utils/referentiality.d.ts +4 -0
- package/dist/types/utils/track-unsupported-content.d.ts +14 -2
- package/package.json +15 -12
- package/report.api.md +1 -1
|
@@ -34,7 +34,7 @@ function isTextNode(elem) {
|
|
|
34
34
|
*/
|
|
35
35
|
|
|
36
36
|
|
|
37
|
-
function getVerticalPlacement(target, boundariesElement, fitHeight, alignY, forcePlacement) {
|
|
37
|
+
function getVerticalPlacement(target, boundariesElement, fitHeight, alignY, forcePlacement, preventOverflow) {
|
|
38
38
|
if (forcePlacement && alignY) {
|
|
39
39
|
return alignY;
|
|
40
40
|
}
|
|
@@ -56,7 +56,13 @@ function getVerticalPlacement(target, boundariesElement, fitHeight, alignY, forc
|
|
|
56
56
|
targetHeight = _target$getBoundingCl.height;
|
|
57
57
|
|
|
58
58
|
var spaceAbove = targetTop - (boundariesTop - boundariesElement.scrollTop);
|
|
59
|
-
var spaceBelow = boundariesTop + boundariesHeight - (targetTop + targetHeight);
|
|
59
|
+
var spaceBelow = boundariesTop + boundariesHeight - (targetTop + targetHeight); // Force vertical placement to bottom if the space above doesn't accomodate the fitHeight
|
|
60
|
+
|
|
61
|
+
if (preventOverflow) {
|
|
62
|
+
if (spaceAbove <= fitHeight) {
|
|
63
|
+
return 'bottom';
|
|
64
|
+
}
|
|
65
|
+
}
|
|
60
66
|
|
|
61
67
|
if (spaceBelow >= fitHeight || spaceBelow >= spaceAbove) {
|
|
62
68
|
return 'bottom';
|
|
@@ -69,8 +75,9 @@ function getVerticalPlacement(target, boundariesElement, fitHeight, alignY, forc
|
|
|
69
75
|
*/
|
|
70
76
|
|
|
71
77
|
|
|
72
|
-
function getHorizontalPlacement(target, boundariesElement, fitWidth, alignX, forcePlacement) {
|
|
73
|
-
|
|
78
|
+
function getHorizontalPlacement(target, boundariesElement, fitWidth, alignX, forcePlacement, preventOverflow) {
|
|
79
|
+
// force placement unless preventOverflow is enabled
|
|
80
|
+
if (forcePlacement && alignX && !preventOverflow) {
|
|
74
81
|
return alignX;
|
|
75
82
|
}
|
|
76
83
|
|
|
@@ -102,8 +109,8 @@ function getHorizontalPlacement(target, boundariesElement, fitWidth, alignX, for
|
|
|
102
109
|
return 'right';
|
|
103
110
|
}
|
|
104
111
|
|
|
105
|
-
function calculatePlacement(target, boundariesElement, fitWidth, fitHeight, alignX, alignY, forcePlacement) {
|
|
106
|
-
return [getVerticalPlacement(target, boundariesElement, fitHeight, alignY, forcePlacement), getHorizontalPlacement(target, boundariesElement, fitWidth, alignX, forcePlacement)];
|
|
112
|
+
function calculatePlacement(target, boundariesElement, fitWidth, fitHeight, alignX, alignY, forcePlacement, preventOverflow) {
|
|
113
|
+
return [getVerticalPlacement(target, boundariesElement, fitHeight, alignY, forcePlacement, preventOverflow), getHorizontalPlacement(target, boundariesElement, fitWidth, alignX, forcePlacement, preventOverflow)];
|
|
107
114
|
}
|
|
108
115
|
|
|
109
116
|
var calculateHorizontalPlacement = function calculateHorizontalPlacement(_ref) {
|
|
@@ -25,13 +25,11 @@ var _colors = require("@atlaskit/theme/colors");
|
|
|
25
25
|
|
|
26
26
|
var _constants = require("@atlaskit/theme/constants");
|
|
27
27
|
|
|
28
|
-
var _tokens = require("@atlaskit/tokens");
|
|
29
|
-
|
|
30
28
|
var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
|
|
31
29
|
|
|
32
|
-
var
|
|
30
|
+
var _analytics = require("../../analytics");
|
|
33
31
|
|
|
34
|
-
var
|
|
32
|
+
var _unsupportedContent = require("../../messages/unsupportedContent");
|
|
35
33
|
|
|
36
34
|
var _trackUnsupportedContent = require("../../utils/track-unsupported-content");
|
|
37
35
|
|
|
@@ -43,7 +41,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
43
41
|
|
|
44
42
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
45
43
|
|
|
46
|
-
var blockNodeStyle = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n background: ", ";\n border: 1px dashed ", ";\n border-radius: ", "px;\n box-sizing: border-box;\n cursor: default;\n display: flex;\n font-size: ", ";\n margin: 10px 0;\n min-height: 24px;\n padding: 10px;\n text-align: center;\n vertical-align: text-bottom;\n min-width: 120px;\n align-items: center;\n justify-content: center;\n"])), (
|
|
44
|
+
var blockNodeStyle = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n background: ", ";\n border: 1px dashed ", ";\n border-radius: ", "px;\n box-sizing: border-box;\n cursor: default;\n display: flex;\n font-size: ", ";\n margin: 10px 0;\n min-height: 24px;\n padding: 10px;\n text-align: center;\n vertical-align: text-bottom;\n min-width: 120px;\n align-items: center;\n justify-content: center;\n"])), "var(--ds-background-disabled, ".concat(_colors.N30, ")"), "var(--ds-border-disabled, ".concat(_colors.N50, ")"), (0, _constants.borderRadius)(), (0, _editorSharedStyles.relativeFontSizeToBase16)((0, _constants.fontSize)()));
|
|
47
45
|
|
|
48
46
|
var UnsupportedBlockNode = function UnsupportedBlockNode(_ref) {
|
|
49
47
|
var node = _ref.node,
|
|
@@ -25,13 +25,11 @@ var _colors = require("@atlaskit/theme/colors");
|
|
|
25
25
|
|
|
26
26
|
var _constants = require("@atlaskit/theme/constants");
|
|
27
27
|
|
|
28
|
-
var _tokens = require("@atlaskit/tokens");
|
|
29
|
-
|
|
30
28
|
var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
|
|
31
29
|
|
|
32
|
-
var
|
|
30
|
+
var _analytics = require("../../analytics");
|
|
33
31
|
|
|
34
|
-
var
|
|
32
|
+
var _unsupportedContent = require("../../messages/unsupportedContent");
|
|
35
33
|
|
|
36
34
|
var _trackUnsupportedContent = require("../../utils/track-unsupported-content");
|
|
37
35
|
|
|
@@ -43,7 +41,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
43
41
|
|
|
44
42
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
45
43
|
|
|
46
|
-
var inlineNodeStyle = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n align-items: center;\n background: ", ";\n border: 1px dashed ", ";\n border-radius: ", "px;\n box-sizing: border-box;\n cursor: default;\n display: inline-flex;\n font-size: ", ";\n margin: 0 2px;\n min-height: 24px;\n padding: 0 10px;\n vertical-align: middle;\n white-space: nowrap;\n"])), (
|
|
44
|
+
var inlineNodeStyle = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n align-items: center;\n background: ", ";\n border: 1px dashed ", ";\n border-radius: ", "px;\n box-sizing: border-box;\n cursor: default;\n display: inline-flex;\n font-size: ", ";\n margin: 0 2px;\n min-height: 24px;\n padding: 0 10px;\n vertical-align: middle;\n white-space: nowrap;\n"])), "var(--ds-background-disabled, ".concat(_colors.N30, ")"), "var(--ds-border-disabled, ".concat(_colors.N50, ")"), (0, _constants.borderRadius)(), (0, _editorSharedStyles.relativeFontSizeToBase16)((0, _constants.fontSize)()));
|
|
47
45
|
|
|
48
46
|
var UnsupportedInlineNode = function UnsupportedInlineNode(_ref) {
|
|
49
47
|
var node = _ref.node,
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.newLightPalette = exports.newDarkPalette = void 0;
|
|
9
|
+
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
var _reactIntlNext = require("react-intl-next");
|
|
13
|
+
|
|
14
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
15
|
+
|
|
16
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
17
|
+
|
|
18
|
+
// These messages are only to be used when useSomewhatSemanticTextColorNames feature flag is true.
|
|
19
|
+
// They are used only in Jira and are part of work for https://product-fabric.atlassian.net/wiki/spaces/EUXQ/pages/3365994869/EXTERNAL+MAKE+PP+COMMIT-5058+Enable+dark+mode+usage+of+text+colors+in+UGC+and+non+custom+panels+in+Jira
|
|
20
|
+
var newLightPalette = (0, _reactIntlNext.defineMessages)({
|
|
21
|
+
'#FFFFFF': {
|
|
22
|
+
id: 'fabric.theme.white',
|
|
23
|
+
defaultMessage: 'White',
|
|
24
|
+
description: 'Name of a color'
|
|
25
|
+
},
|
|
26
|
+
'#B3D4FF': {
|
|
27
|
+
id: 'fabric.theme.subtle-blue',
|
|
28
|
+
defaultMessage: 'Subtle blue',
|
|
29
|
+
description: 'Name of a color'
|
|
30
|
+
},
|
|
31
|
+
'#B3F5FF': {
|
|
32
|
+
id: 'fabric.theme.subtle-teal',
|
|
33
|
+
defaultMessage: 'Subtle teal',
|
|
34
|
+
description: 'Name of a color'
|
|
35
|
+
},
|
|
36
|
+
'#ABF5D1': {
|
|
37
|
+
id: 'fabric.theme.subtle-green',
|
|
38
|
+
defaultMessage: 'Subtle green',
|
|
39
|
+
description: 'Name of a color'
|
|
40
|
+
},
|
|
41
|
+
'#FFF0B3': {
|
|
42
|
+
id: 'fabric.theme.subtle-yellow',
|
|
43
|
+
defaultMessage: 'Subtle yellow',
|
|
44
|
+
description: 'Name of a color'
|
|
45
|
+
},
|
|
46
|
+
'#FFBDAD': {
|
|
47
|
+
id: 'fabric.theme.subtle-red',
|
|
48
|
+
defaultMessage: 'Subtle red',
|
|
49
|
+
description: 'Name of a color'
|
|
50
|
+
},
|
|
51
|
+
'#EAE6FF': {
|
|
52
|
+
id: 'fabric.theme.subtle-purple',
|
|
53
|
+
defaultMessage: 'Subtle purple',
|
|
54
|
+
description: 'Name of a color'
|
|
55
|
+
},
|
|
56
|
+
'#97A0AF': {
|
|
57
|
+
id: 'fabric.theme.gray',
|
|
58
|
+
defaultMessage: 'Gray',
|
|
59
|
+
description: 'Name of a color'
|
|
60
|
+
},
|
|
61
|
+
'#4C9AFF': {
|
|
62
|
+
id: 'fabric.theme.blue',
|
|
63
|
+
defaultMessage: 'Blue',
|
|
64
|
+
description: 'Name of a color'
|
|
65
|
+
},
|
|
66
|
+
'#00B8D9': {
|
|
67
|
+
id: 'fabric.theme.teal',
|
|
68
|
+
defaultMessage: 'Teal',
|
|
69
|
+
description: 'Name of a color'
|
|
70
|
+
},
|
|
71
|
+
'#36B37E': {
|
|
72
|
+
id: 'fabric.theme.green',
|
|
73
|
+
defaultMessage: 'Green',
|
|
74
|
+
description: 'Name of a color'
|
|
75
|
+
},
|
|
76
|
+
'#FFC400': {
|
|
77
|
+
id: 'fabric.theme.yellow',
|
|
78
|
+
defaultMessage: 'Yellow',
|
|
79
|
+
description: 'Name of a color'
|
|
80
|
+
},
|
|
81
|
+
'#FF5630': {
|
|
82
|
+
id: 'fabric.theme.red',
|
|
83
|
+
defaultMessage: 'Red',
|
|
84
|
+
description: 'Name of a color'
|
|
85
|
+
},
|
|
86
|
+
'#FF991F': {
|
|
87
|
+
id: 'fabric.theme.bold-orange',
|
|
88
|
+
defaultMessage: 'Bold orange',
|
|
89
|
+
description: 'Name of a color.'
|
|
90
|
+
},
|
|
91
|
+
'#6554C0': {
|
|
92
|
+
id: 'fabric.theme.purple',
|
|
93
|
+
defaultMessage: 'Purple',
|
|
94
|
+
description: 'Name of a color'
|
|
95
|
+
},
|
|
96
|
+
'#0747A6': {
|
|
97
|
+
id: 'fabric.theme.bold-blue',
|
|
98
|
+
defaultMessage: 'Bold blue',
|
|
99
|
+
description: 'Name of a color'
|
|
100
|
+
},
|
|
101
|
+
'#008DA6': {
|
|
102
|
+
id: 'fabric.theme.bold-teal',
|
|
103
|
+
defaultMessage: 'Bold teal',
|
|
104
|
+
description: 'Name of a color'
|
|
105
|
+
},
|
|
106
|
+
'#006644': {
|
|
107
|
+
id: 'fabric.theme.bold-green',
|
|
108
|
+
defaultMessage: 'Bold green',
|
|
109
|
+
description: 'Name of a color'
|
|
110
|
+
},
|
|
111
|
+
'#BF2600': {
|
|
112
|
+
id: 'fabric.theme.bold-red',
|
|
113
|
+
defaultMessage: 'Bold red',
|
|
114
|
+
description: 'Name of a color'
|
|
115
|
+
},
|
|
116
|
+
'#403294': {
|
|
117
|
+
id: 'fabric.theme.bold-purple',
|
|
118
|
+
defaultMessage: 'Bold purple',
|
|
119
|
+
description: 'Name of a color'
|
|
120
|
+
},
|
|
121
|
+
'#172B4D': {
|
|
122
|
+
id: 'fabric.theme.default',
|
|
123
|
+
defaultMessage: 'Default',
|
|
124
|
+
description: 'Name of a color'
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
exports.newLightPalette = newLightPalette;
|
|
128
|
+
var darkModeWhite = (0, _reactIntlNext.defineMessages)({
|
|
129
|
+
'#FFFFFF': {
|
|
130
|
+
id: 'fabric.theme.dark-gray',
|
|
131
|
+
defaultMessage: 'Dark gray',
|
|
132
|
+
description: 'Name of a color'
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
var newDarkPalette = _objectSpread(_objectSpread({}, newLightPalette), darkModeWhite);
|
|
137
|
+
|
|
138
|
+
exports.newDarkPalette = newDarkPalette;
|
|
@@ -21,6 +21,10 @@ var _tokens = require("@atlaskit/tokens");
|
|
|
21
21
|
|
|
22
22
|
var _Color = _interopRequireDefault(require("./Color"));
|
|
23
23
|
|
|
24
|
+
var _getColorMessage = _interopRequireDefault(require("./Palettes/getColorMessage"));
|
|
25
|
+
|
|
26
|
+
var _paletteMessagesTokenModeNames = require("./Palettes/paletteMessagesTokenModeNames");
|
|
27
|
+
|
|
24
28
|
var _styles = require("./styles");
|
|
25
29
|
|
|
26
30
|
/** @jsx jsx */
|
|
@@ -46,7 +50,7 @@ function getCheckMarkColor(color, textPalette) {
|
|
|
46
50
|
// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
|
|
47
51
|
|
|
48
52
|
|
|
49
|
-
return contrastColor === _colors.N0 ? (
|
|
53
|
+
return contrastColor === _colors.N0 ? "var(--ds-icon-inverse, ".concat(_colors.N0, ")") : "var(--ds-icon, ".concat(_colors.N500, ")");
|
|
50
54
|
}
|
|
51
55
|
|
|
52
56
|
var ColorPalette = function ColorPalette(props) {
|
|
@@ -58,7 +62,10 @@ var ColorPalette = function ColorPalette(props) {
|
|
|
58
62
|
className = props.className,
|
|
59
63
|
formatMessage = props.intl.formatMessage,
|
|
60
64
|
_props$textPalette = props.textPalette,
|
|
61
|
-
textPalette = _props$textPalette === void 0 ? false : _props$textPalette
|
|
65
|
+
textPalette = _props$textPalette === void 0 ? false : _props$textPalette,
|
|
66
|
+
_props$useSomewhatSem = props.useSomewhatSemanticTextColorNames,
|
|
67
|
+
useSomewhatSemanticTextColorNames = _props$useSomewhatSem === void 0 ? false : _props$useSomewhatSem;
|
|
68
|
+
var tokenTheme = (0, _tokens.useThemeObserver)();
|
|
62
69
|
|
|
63
70
|
var colorsPerRow = _react.default.useMemo(function () {
|
|
64
71
|
return palette.reduce(function (resultArray, item, index) {
|
|
@@ -81,6 +88,17 @@ var ColorPalette = function ColorPalette(props) {
|
|
|
81
88
|
label = _ref.label,
|
|
82
89
|
border = _ref.border,
|
|
83
90
|
message = _ref.message;
|
|
91
|
+
|
|
92
|
+
if (textPalette === true && useSomewhatSemanticTextColorNames) {
|
|
93
|
+
if (tokenTheme === 'dark') {
|
|
94
|
+
message = (0, _getColorMessage.default)(_paletteMessagesTokenModeNames.newDarkPalette, value.toUpperCase());
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
if (tokenTheme === 'light') {
|
|
98
|
+
message = (0, _getColorMessage.default)(_paletteMessagesTokenModeNames.newLightPalette, value.toUpperCase());
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
84
102
|
return (0, _react2.jsx)(_Color.default, {
|
|
85
103
|
key: value,
|
|
86
104
|
value: value,
|
|
@@ -41,8 +41,6 @@ var _colors = require("@atlaskit/theme/colors");
|
|
|
41
41
|
|
|
42
42
|
var _components = require("@atlaskit/theme/components");
|
|
43
43
|
|
|
44
|
-
var _tokens = require("@atlaskit/tokens");
|
|
45
|
-
|
|
46
44
|
var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
|
|
47
45
|
|
|
48
46
|
var _uiReact = require("../../ui-react");
|
|
@@ -66,7 +64,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
66
64
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
67
65
|
|
|
68
66
|
var wrapper = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n /* tooltip in ToolbarButton is display:block */\n & > div > div {\n display: flex;\n }\n"])));
|
|
69
|
-
var focusedMenuItemStyle = (0, _react2.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n box-shadow: inset 0px 0px 0px 2px ", ";\n outline: none;\n"])), (
|
|
67
|
+
var focusedMenuItemStyle = (0, _react2.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n box-shadow: inset 0px 0px 0px 2px ", ";\n outline: none;\n"])), "var(--ds-border-focused, ".concat(_colors.B100, ")"));
|
|
70
68
|
|
|
71
69
|
var buttonStyles = function buttonStyles(isActive) {
|
|
72
70
|
return function (theme) {
|
|
@@ -74,20 +72,20 @@ var buttonStyles = function buttonStyles(isActive) {
|
|
|
74
72
|
/**
|
|
75
73
|
* Hack for item to imitate old dropdown-menu selected styles
|
|
76
74
|
*/
|
|
77
|
-
return (0, _react2.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n > span,\n > span:hover,\n > span:active {\n background: ", ";\n color: ", ";\n }\n :focus > span[aria-disabled='false'] {\n ", ";\n }\n :focus-visible,\n :focus-visible > span[aria-disabled='false'] {\n outline: none;\n }\n "])), (
|
|
75
|
+
return (0, _react2.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n > span,\n > span:hover,\n > span:active {\n background: ", ";\n color: ", ";\n }\n :focus > span[aria-disabled='false'] {\n ", ";\n }\n :focus-visible,\n :focus-visible > span[aria-disabled='false'] {\n outline: none;\n }\n "])), "var(--ds-background-selected, #6c798f)", "var(--ds-text, #fff)", focusedMenuItemStyle);
|
|
78
76
|
} else {
|
|
79
77
|
return (0, _react2.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n > span:hover[aria-disabled='false'] {\n color: ", ";\n background-color: ", ";\n }\n > span:active[aria-disabled='false'] {\n background-color: ", ";\n }\n > span[aria-disabled='true'] {\n color: ", ";\n }\n :focus > span[aria-disabled='false'] {\n ", ";\n }\n :focus-visible,\n :focus-visible > span[aria-disabled='false'] {\n outline: none;\n }\n "])), (0, _components.themed)({
|
|
80
|
-
light: (
|
|
81
|
-
dark: (
|
|
78
|
+
light: "var(--ds-text, ".concat(_colors.N900, ")"),
|
|
79
|
+
dark: "var(--ds-text, ".concat(_colors.DN600, ")")
|
|
82
80
|
})(theme), (0, _components.themed)({
|
|
83
|
-
light: (
|
|
84
|
-
dark: (
|
|
81
|
+
light: "var(--ds-background-neutral-subtle-hovered, rgb(244, 245, 247))",
|
|
82
|
+
dark: "var(--ds-background-neutral-subtle-hovered, rgb(59, 71, 92))"
|
|
85
83
|
})(theme), (0, _components.themed)({
|
|
86
|
-
light: (
|
|
87
|
-
dark: (
|
|
84
|
+
light: "var(--ds-background-neutral-subtle-pressed, rgb(179, 212, 255))",
|
|
85
|
+
dark: "var(--ds-background-neutral-subtle-pressed, rgb(179, 212, 255))"
|
|
88
86
|
})(theme), (0, _components.themed)({
|
|
89
|
-
light: (
|
|
90
|
-
dark: (
|
|
87
|
+
light: "var(--ds-text-disabled, ".concat(_colors.N70, ")"),
|
|
88
|
+
dark: "var(--ds-text-disabled, ".concat(_colors.DN80, ")")
|
|
91
89
|
})(theme), focusedMenuItemStyle); // The deafut focus-visible style is removed to ensure consistency across browsers
|
|
92
90
|
}
|
|
93
91
|
};
|
|
@@ -272,6 +270,7 @@ function DropdownMenuItem(_ref) {
|
|
|
272
270
|
}, (0, _react2.jsx)(_menu.CustomItem, {
|
|
273
271
|
item: item,
|
|
274
272
|
key: (_item$key2 = item.key) !== null && _item$key2 !== void 0 ? _item$key2 : String(item.content),
|
|
273
|
+
testId: "dropdown-item__".concat(String(item.content)),
|
|
275
274
|
role: shouldUseDefaultRole ? 'button' : 'menuitem',
|
|
276
275
|
iconBefore: item.elemBefore,
|
|
277
276
|
iconAfter: item.elemAfter,
|
|
@@ -283,6 +282,7 @@ function DropdownMenuItem(_ref) {
|
|
|
283
282
|
},
|
|
284
283
|
"aria-label": item['aria-label'] || String(item.content),
|
|
285
284
|
"aria-pressed": shouldUseDefaultRole ? item.isActive : undefined,
|
|
285
|
+
"aria-keyshortcuts": item['aria-keyshortcuts'],
|
|
286
286
|
onMouseDown: function onMouseDown(e) {
|
|
287
287
|
e.preventDefault();
|
|
288
288
|
},
|
|
@@ -61,6 +61,7 @@ var ToolbarButton = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
61
61
|
ariaHasPopup = props['aria-haspopup'],
|
|
62
62
|
ariaExpanded = props['aria-expanded'],
|
|
63
63
|
ariaPressed = props['aria-pressed'],
|
|
64
|
+
ariaKeyShortcuts = props['aria-keyshortcuts'],
|
|
64
65
|
onClick = props.onClick,
|
|
65
66
|
onItemClick = props.onItemClick;
|
|
66
67
|
var handleClick = (0, _react.useCallback)(function (event, analyticsEvent) {
|
|
@@ -106,7 +107,8 @@ var ToolbarButton = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
106
107
|
"aria-expanded": ariaExpanded,
|
|
107
108
|
"aria-haspopup": ariaHasPopup,
|
|
108
109
|
"aria-label": ariaLabel,
|
|
109
|
-
"aria-pressed": ariaPressed
|
|
110
|
+
"aria-pressed": ariaPressed,
|
|
111
|
+
"aria-keyshortcuts": ariaKeyShortcuts
|
|
110
112
|
}, children);
|
|
111
113
|
|
|
112
114
|
if (!title) {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.SEVERITY =
|
|
6
|
+
exports.SEVERITY = void 0;
|
|
7
7
|
Object.defineProperty(exports, "UNSUPPORTED_CONTENT_LEVEL_SEVERITY", {
|
|
8
8
|
enumerable: true,
|
|
9
9
|
get: function get() {
|
|
@@ -71,42 +71,5 @@ exports.SEVERITY = SEVERITY;
|
|
|
71
71
|
SEVERITY["BLOCKING"] = "blocking";
|
|
72
72
|
})(SEVERITY || (exports.SEVERITY = SEVERITY = {}));
|
|
73
73
|
|
|
74
|
-
var EVENT_TYPE;
|
|
75
|
-
exports.EVENT_TYPE = EVENT_TYPE;
|
|
76
|
-
|
|
77
|
-
(function (EVENT_TYPE) {
|
|
78
|
-
EVENT_TYPE["TRACK"] = "track";
|
|
79
|
-
EVENT_TYPE["UI"] = "ui";
|
|
80
|
-
})(EVENT_TYPE || (exports.EVENT_TYPE = EVENT_TYPE = {}));
|
|
81
|
-
|
|
82
|
-
var ACTION;
|
|
83
|
-
exports.ACTION = ACTION;
|
|
84
|
-
|
|
85
|
-
(function (ACTION) {
|
|
86
|
-
ACTION["UNSUPPORTED_CONTENT_ENCOUNTERED"] = "unsupportedContentEncountered";
|
|
87
|
-
ACTION["UNSUPPORTED_TOOLTIP_VIEWED"] = "viewed";
|
|
88
|
-
})(ACTION || (exports.ACTION = ACTION = {}));
|
|
89
|
-
|
|
90
|
-
var ACTION_SUBJECT;
|
|
91
|
-
exports.ACTION_SUBJECT = ACTION_SUBJECT;
|
|
92
|
-
|
|
93
|
-
(function (ACTION_SUBJECT) {
|
|
94
|
-
ACTION_SUBJECT["DOCUMENT"] = "document";
|
|
95
|
-
ACTION_SUBJECT["TOOLTIP"] = "tooltip";
|
|
96
|
-
})(ACTION_SUBJECT || (exports.ACTION_SUBJECT = ACTION_SUBJECT = {}));
|
|
97
|
-
|
|
98
|
-
var ACTION_SUBJECT_ID;
|
|
99
|
-
exports.ACTION_SUBJECT_ID = ACTION_SUBJECT_ID;
|
|
100
|
-
|
|
101
|
-
(function (ACTION_SUBJECT_ID) {
|
|
102
|
-
ACTION_SUBJECT_ID["UNSUPPORTED_BLOCK"] = "unsupportedBlock";
|
|
103
|
-
ACTION_SUBJECT_ID["UNSUPPORTED_INLINE"] = "unsupportedInline";
|
|
104
|
-
ACTION_SUBJECT_ID["UNSUPPORTED_MARK"] = "unsupportedMark";
|
|
105
|
-
ACTION_SUBJECT_ID["UNSUPPORTED_ERROR"] = "unsupportedUnhandled";
|
|
106
|
-
ACTION_SUBJECT_ID["UNSUPPORTED_NODE_ATTRIBUTE"] = "unsupportedNodeAttribute";
|
|
107
|
-
ACTION_SUBJECT_ID["ON_UNSUPPORTED_INLINE"] = "onUnsupportedInline";
|
|
108
|
-
ACTION_SUBJECT_ID["ON_UNSUPPORTED_BLOCK"] = "onUnsupportedBlock";
|
|
109
|
-
})(ACTION_SUBJECT_ID || (exports.ACTION_SUBJECT_ID = ACTION_SUBJECT_ID = {}));
|
|
110
|
-
|
|
111
74
|
var analyticsEventKey = 'EDITOR_ANALYTICS_EVENT';
|
|
112
75
|
exports.analyticsEventKey = analyticsEventKey;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.Builder = void 0;
|
|
9
|
+
|
|
10
|
+
var _construct2 = _interopRequireDefault(require("@babel/runtime/helpers/construct"));
|
|
11
|
+
|
|
12
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
+
|
|
14
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
+
|
|
16
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
+
|
|
18
|
+
var Builder = /*#__PURE__*/function () {
|
|
19
|
+
function Builder() {
|
|
20
|
+
(0, _classCallCheck2.default)(this, Builder);
|
|
21
|
+
|
|
22
|
+
for (var _len = arguments.length, more = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
23
|
+
more[_key] = arguments[_key];
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
this.data = [].concat(more) || [];
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
(0, _createClass2.default)(Builder, [{
|
|
30
|
+
key: "add",
|
|
31
|
+
value: function add(nextOrTuple) {
|
|
32
|
+
return (0, _construct2.default)(Builder, [
|
|
33
|
+
/**
|
|
34
|
+
* re-cast this to NewPlugin as we've done all the type
|
|
35
|
+
* safety, dependency checking, narrowing, during
|
|
36
|
+
* `SafePresetCheck & VerifyPluginDependencies`
|
|
37
|
+
*/
|
|
38
|
+
nextOrTuple].concat((0, _toConsumableArray2.default)(this.data)));
|
|
39
|
+
}
|
|
40
|
+
}]);
|
|
41
|
+
return Builder;
|
|
42
|
+
}();
|
|
43
|
+
|
|
44
|
+
exports.Builder = Builder;
|
|
@@ -5,13 +5,15 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.createCompareNodes = void 0;
|
|
8
|
+
exports.createCompareNodes = exports.ContentType = void 0;
|
|
9
|
+
exports.extractMetaFromTextNode = extractMetaFromTextNode;
|
|
9
10
|
|
|
10
11
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
12
|
|
|
12
13
|
var _types = require("../types");
|
|
13
14
|
|
|
14
15
|
var ContentType;
|
|
16
|
+
exports.ContentType = ContentType;
|
|
15
17
|
|
|
16
18
|
(function (ContentType) {
|
|
17
19
|
ContentType[ContentType["NUMBER"] = 0] = "NUMBER";
|
|
@@ -20,7 +22,7 @@ var ContentType;
|
|
|
20
22
|
ContentType[ContentType["DATE"] = 15] = "DATE";
|
|
21
23
|
ContentType[ContentType["STATUS"] = 20] = "STATUS";
|
|
22
24
|
ContentType[ContentType["LINK"] = 25] = "LINK";
|
|
23
|
-
})(ContentType || (ContentType = {}));
|
|
25
|
+
})(ContentType || (exports.ContentType = ContentType = {}));
|
|
24
26
|
|
|
25
27
|
function getLinkMark(node) {
|
|
26
28
|
var _node$marks$filter = node.marks.filter(function (mark) {
|
|
@@ -30,6 +32,83 @@ function getLinkMark(node) {
|
|
|
30
32
|
linkMark = _node$marks$filter2[0];
|
|
31
33
|
|
|
32
34
|
return linkMark || null;
|
|
35
|
+
} // Source: https://stackoverflow.com/questions/12004808/does-javascript-take-local-decimal-separators-into-account
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
function parseLocaleNumber(stringNumber) {
|
|
39
|
+
if (stringNumber.trim() === '') {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
var locale = window.navigator.language;
|
|
44
|
+
var thousandSeparator = Intl.NumberFormat(locale).format(11111).replace(/(?:[0-9\xB2\xB3\xB9\xBC-\xBE\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u09F4-\u09F9\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0B72-\u0B77\u0BE6-\u0BF2\u0C66-\u0C6F\u0C78-\u0C7E\u0CE6-\u0CEF\u0D58-\u0D5E\u0D66-\u0D78\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F33\u1040-\u1049\u1090-\u1099\u1369-\u137C\u16EE-\u16F0\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1946-\u194F\u19D0-\u19DA\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\u2070\u2074-\u2079\u2080-\u2089\u2150-\u2182\u2185-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2CFD\u3007\u3021-\u3029\u3038-\u303A\u3192-\u3195\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\uA620-\uA629\uA6E6-\uA6EF\uA830-\uA835\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]|\uD800[\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDEE1-\uDEFB\uDF20-\uDF23\uDF41\uDF4A\uDFD1-\uDFD5]|\uD801[\uDCA0-\uDCA9]|\uD802[\uDC58-\uDC5F\uDC79-\uDC7F\uDCA7-\uDCAF\uDCFB-\uDCFF\uDD16-\uDD1B\uDDBC\uDDBD\uDDC0-\uDDCF\uDDD2-\uDDFF\uDE40-\uDE48\uDE7D\uDE7E\uDE9D-\uDE9F\uDEEB-\uDEEF\uDF58-\uDF5F\uDF78-\uDF7F\uDFA9-\uDFAF]|\uD803[\uDCFA-\uDCFF\uDD30-\uDD39\uDE60-\uDE7E\uDF1D-\uDF26\uDF51-\uDF54\uDFC5-\uDFCB]|\uD804[\uDC52-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDDE1-\uDDF4\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF3B]|\uD806[\uDCE0-\uDCF2\uDD50-\uDD59]|\uD807[\uDC50-\uDC6C\uDD50-\uDD59\uDDA0-\uDDA9\uDFC0-\uDFD4]|\uD809[\uDC00-\uDC6E]|\uD81A[\uDE60-\uDE69\uDEC0-\uDEC9\uDF50-\uDF59\uDF5B-\uDF61]|\uD81B[\uDE80-\uDE96]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDFCE-\uDFFF]|\uD838[\uDD40-\uDD49\uDEF0-\uDEF9]|\uD83A[\uDCC7-\uDCCF\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9])/g, '');
|
|
45
|
+
var decimalSeparator = Intl.NumberFormat(locale).format(1.1).replace(/(?:[0-9\xB2\xB3\xB9\xBC-\xBE\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u09F4-\u09F9\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0B72-\u0B77\u0BE6-\u0BF2\u0C66-\u0C6F\u0C78-\u0C7E\u0CE6-\u0CEF\u0D58-\u0D5E\u0D66-\u0D78\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F33\u1040-\u1049\u1090-\u1099\u1369-\u137C\u16EE-\u16F0\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1946-\u194F\u19D0-\u19DA\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\u2070\u2074-\u2079\u2080-\u2089\u2150-\u2182\u2185-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2CFD\u3007\u3021-\u3029\u3038-\u303A\u3192-\u3195\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\uA620-\uA629\uA6E6-\uA6EF\uA830-\uA835\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]|\uD800[\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDEE1-\uDEFB\uDF20-\uDF23\uDF41\uDF4A\uDFD1-\uDFD5]|\uD801[\uDCA0-\uDCA9]|\uD802[\uDC58-\uDC5F\uDC79-\uDC7F\uDCA7-\uDCAF\uDCFB-\uDCFF\uDD16-\uDD1B\uDDBC\uDDBD\uDDC0-\uDDCF\uDDD2-\uDDFF\uDE40-\uDE48\uDE7D\uDE7E\uDE9D-\uDE9F\uDEEB-\uDEEF\uDF58-\uDF5F\uDF78-\uDF7F\uDFA9-\uDFAF]|\uD803[\uDCFA-\uDCFF\uDD30-\uDD39\uDE60-\uDE7E\uDF1D-\uDF26\uDF51-\uDF54\uDFC5-\uDFCB]|\uD804[\uDC52-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDDE1-\uDDF4\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF3B]|\uD806[\uDCE0-\uDCF2\uDD50-\uDD59]|\uD807[\uDC50-\uDC6C\uDD50-\uDD59\uDDA0-\uDDA9\uDFC0-\uDFD4]|\uD809[\uDC00-\uDC6E]|\uD81A[\uDE60-\uDE69\uDEC0-\uDEC9\uDF50-\uDF59\uDF5B-\uDF61]|\uD81B[\uDE80-\uDE96]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDFCE-\uDFFF]|\uD838[\uDD40-\uDD49\uDEF0-\uDEF9]|\uD83A[\uDCC7-\uDCCF\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9])/g, '');
|
|
46
|
+
var maybeANumber = Number(stringNumber.replace(new RegExp('\\' + thousandSeparator, 'g'), '').replace(new RegExp('\\' + decimalSeparator), '.'));
|
|
47
|
+
var isANumber = !Number.isNaN(maybeANumber);
|
|
48
|
+
|
|
49
|
+
if (!isANumber) {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return maybeANumber;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function extractFirstWordFromString(text) {
|
|
57
|
+
// Firefox is the only browser that doesn't support it
|
|
58
|
+
if (!Intl || !Intl.Segmenter) {
|
|
59
|
+
// If the Segment API is not available
|
|
60
|
+
// let's fallback to a dumb way to extract the first word.
|
|
61
|
+
// However, this method doesn't cover some languages like Japanase
|
|
62
|
+
var firstEmptySpace = text.indexOf(' ');
|
|
63
|
+
var firstWord = firstEmptySpace !== -1 ? text.substring(0, firstEmptySpace) : text;
|
|
64
|
+
return firstWord;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
var languageSegment = new Intl.Segmenter(window.navigator.language, {
|
|
68
|
+
granularity: 'word'
|
|
69
|
+
});
|
|
70
|
+
var segmentsIterator = languageSegment.segment(text);
|
|
71
|
+
|
|
72
|
+
if (!segmentsIterator) {
|
|
73
|
+
return text;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
var segmentsArray = Array.from(segmentsIterator);
|
|
77
|
+
|
|
78
|
+
if (segmentsArray.length === 0) {
|
|
79
|
+
return text;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
return segmentsArray[0].segment;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
function extractMetaFromTextNode(textNode) {
|
|
86
|
+
// treat as a link if contain a link
|
|
87
|
+
var linkMark = getLinkMark(textNode);
|
|
88
|
+
|
|
89
|
+
if (linkMark) {
|
|
90
|
+
var value = textNode.text || '';
|
|
91
|
+
return {
|
|
92
|
+
type: ContentType.LINK,
|
|
93
|
+
value: value
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
var text = textNode.text || '';
|
|
98
|
+
var firstWord = extractFirstWordFromString(text);
|
|
99
|
+
var maybeANumber = parseLocaleNumber(firstWord);
|
|
100
|
+
|
|
101
|
+
if (maybeANumber !== null) {
|
|
102
|
+
return {
|
|
103
|
+
type: ContentType.NUMBER,
|
|
104
|
+
value: maybeANumber
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
return {
|
|
109
|
+
type: ContentType.TEXT,
|
|
110
|
+
value: firstWord
|
|
111
|
+
};
|
|
33
112
|
}
|
|
34
113
|
|
|
35
114
|
function getMetaFromNode(node, options) {
|
|
@@ -78,41 +157,15 @@ function getMetaFromNode(node, options) {
|
|
|
78
157
|
|
|
79
158
|
case 'text':
|
|
80
159
|
{
|
|
81
|
-
|
|
82
|
-
var linkMark = getLinkMark(firstChild);
|
|
83
|
-
|
|
84
|
-
if (linkMark) {
|
|
85
|
-
var value = firstChild.text || '';
|
|
86
|
-
return {
|
|
87
|
-
type: ContentType.LINK,
|
|
88
|
-
value: value
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
var text = firstChild.text || '';
|
|
93
|
-
var firstEmptySpace = text.indexOf(' ');
|
|
94
|
-
var firstWord = firstEmptySpace !== -1 ? text.substring(0, firstEmptySpace) : text;
|
|
95
|
-
var maybeANumber = Number.parseFloat(firstWord);
|
|
96
|
-
|
|
97
|
-
if (!Number.isNaN(maybeANumber)) {
|
|
98
|
-
return {
|
|
99
|
-
type: ContentType.NUMBER,
|
|
100
|
-
value: maybeANumber
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
return {
|
|
105
|
-
type: ContentType.TEXT,
|
|
106
|
-
value: firstWord
|
|
107
|
-
};
|
|
160
|
+
return extractMetaFromTextNode(firstChild);
|
|
108
161
|
}
|
|
109
162
|
|
|
110
163
|
case 'status':
|
|
111
164
|
{
|
|
112
|
-
var
|
|
165
|
+
var text = firstChild.attrs.text;
|
|
113
166
|
return {
|
|
114
167
|
type: ContentType.STATUS,
|
|
115
|
-
value:
|
|
168
|
+
value: text
|
|
116
169
|
};
|
|
117
170
|
}
|
|
118
171
|
|
|
@@ -128,11 +181,11 @@ function getMetaFromNode(node, options) {
|
|
|
128
181
|
case 'mention':
|
|
129
182
|
{
|
|
130
183
|
// TODO: Check what should be the fallback when mention does not have a text
|
|
131
|
-
var
|
|
184
|
+
var _text = firstChild.attrs.text || '';
|
|
132
185
|
|
|
133
186
|
return {
|
|
134
187
|
type: ContentType.MENTION,
|
|
135
|
-
value:
|
|
188
|
+
value: _text.toLowerCase()
|
|
136
189
|
};
|
|
137
190
|
}
|
|
138
191
|
|