@sanity/document-internationalization 0.1.0 → 0.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/CHANGELOG.md
CHANGED
|
@@ -1,29 +1,24 @@
|
|
|
1
1
|
# CHANGELOG
|
|
2
2
|
|
|
3
|
-
## v0.
|
|
4
|
-
|
|
5
|
-
**The `getDocumentNodeViewsForSchemaType` function has been removed as it is not required anymore**
|
|
6
|
-
* The language selector has been updated to better align with the official language-filter plugin for field level translations. This does mean it is not required to implement `getDefaultDocumentNode` any more as the new UI does not require a custom desk structure but rather integrates with the studio natively.
|
|
3
|
+
## v0.1.1
|
|
4
|
+
* [#32](https://github.com/sanity-io/document-internationalization/issues/32) Fixes default and custom flag implementations
|
|
7
5
|
|
|
8
|
-
## v0.
|
|
9
|
-
|
|
6
|
+
## v0.1.0
|
|
7
|
+
This is the first stable release for the official document internationalization plugin. A few things have changed since the original plugin. For a migration guide please see [this guide](docs/coming-from-sanity-plugin-intl-input.md).
|
|
10
8
|
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
**Breaking Changes**
|
|
10
|
+
- Object level translations are not supported by this plugin anymore. If your project requires this please use the [@sanity/language-filter](https://www.npmjs.com/package/@sanity/language-filter) plugin.
|
|
11
|
+
- `delimiter` is now the default ID structure as opposed to `subpath`. If you are using the legacy plugin with no `idStructure` specified you will need to make sure to configure it explicitly in this version. Coming from the old version you will need to set it to `subpath` to keep your current structure.
|
|
12
|
+
- It is not possible anymore to override the UI messages using plugin configuration.
|
|
13
|
+
- The language configuration has been updated to use an `id` field instead of `name`. This change was made to align with the `@sanity/language-filter` plugin. You will need to update your language configuration if you are coming from the old plugin.
|
|
14
|
+
- The `hard` reference behavior configuration has been renamed to `strong` to be more consistent with Sanity itself.
|
|
15
|
+
- The `__i18n_refs` field will now be a simple array of rerences as opposed to an array of custom objects. They are keyed by their language code for easier querying.
|
|
13
16
|
|
|
14
|
-
|
|
15
|
-
|
|
17
|
+
**Fixes**
|
|
18
|
+
- Fixed issue with `fixIdStructureMismatchDocuments` maintenance function
|
|
19
|
+
- Fixed a bug with the `fixBaseLanguageMismatch` method as it was not considering the field name configuration
|
|
20
|
+
- [#124](https://github.com/LiamMartens/sanity-plugin-intl-input/issues/124) Updates an internal import to support the minor bump from `@sanity/desk-tool@2.28.0`
|
|
16
21
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
* Added additional GROQ examples
|
|
21
|
-
* Added a slug uniqueness validator for document level translations (`import { isSlugUnique } from '@sanity/document-internationalization/lib/validators`)
|
|
22
|
-
* Fixed issue with `fixIdStructureMismatchDocuments` maintenance function
|
|
23
|
-
* `delimiter` is now the default ID structure
|
|
24
|
-
* Added maintenance function to add base document ref to translated documents
|
|
25
|
-
* Removed the option for overriding UI messages
|
|
26
|
-
* Updated language configuration to use "id" field instead of "name"
|
|
27
|
-
* Updated studio parts to use new plugin name
|
|
28
|
-
* Renamed "hard" to "strong" for configuring the reference behavior
|
|
29
|
-
* The references from the base document to the translated ones will now receive the language code as their key
|
|
22
|
+
**Other Changes**
|
|
23
|
+
- Added a slug uniqueness validator for document level translations (`import { isSlugUnique } from '@sanity/document-internationalization/lib/validators`)
|
|
24
|
+
- A maintenance function was created to add base document refs to translated documents
|
|
@@ -8,6 +8,7 @@ var ui = require('@sanity/ui');
|
|
|
8
8
|
var icons = require('@sanity/icons');
|
|
9
9
|
var _taggedTemplateLiteral = require('@babel/runtime/helpers/taggedTemplateLiteral');
|
|
10
10
|
var styled = require('styled-components');
|
|
11
|
+
var customFlagComponents = require('part:@sanity/document-internationalization/ui/flags?');
|
|
11
12
|
var config = require('config:@sanity/document-internationalization');
|
|
12
13
|
var schemas = require('part:@sanity/base/schema');
|
|
13
14
|
var client = require('part:@sanity/base/client');
|
|
@@ -27,11 +28,30 @@ var RouterContext = require('@sanity/state-router/lib/RouterContext');
|
|
|
27
28
|
|
|
28
29
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
29
30
|
|
|
31
|
+
function _interopNamespace(e) {
|
|
32
|
+
if (e && e.__esModule) return e;
|
|
33
|
+
var n = Object.create(null);
|
|
34
|
+
if (e) {
|
|
35
|
+
Object.keys(e).forEach(function (k) {
|
|
36
|
+
if (k !== 'default') {
|
|
37
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
38
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
39
|
+
enumerable: true,
|
|
40
|
+
get: function () { return e[k]; }
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
n["default"] = e;
|
|
46
|
+
return Object.freeze(n);
|
|
47
|
+
}
|
|
48
|
+
|
|
30
49
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
31
50
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
32
51
|
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
33
52
|
var _taggedTemplateLiteral__default = /*#__PURE__*/_interopDefaultLegacy(_taggedTemplateLiteral);
|
|
34
53
|
var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
|
|
54
|
+
var customFlagComponents__namespace = /*#__PURE__*/_interopNamespace(customFlagComponents);
|
|
35
55
|
var config__default = /*#__PURE__*/_interopDefaultLegacy(config);
|
|
36
56
|
var schemas__default = /*#__PURE__*/_interopDefaultLegacy(schemas);
|
|
37
57
|
var client__default = /*#__PURE__*/_interopDefaultLegacy(client);
|
|
@@ -1156,17 +1176,29 @@ var getFlagCode = function getFlagCode() {
|
|
|
1156
1176
|
var _templateObject$2;
|
|
1157
1177
|
var FlagImageContainer = styled__default["default"].span(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteral__default["default"](["\n display: block;\n padding: 1px;\n font-size: 19px;\n margin: 0px -0.05em 0px -0.1em;\n\n & img {\n display: block;\n }\n"])));
|
|
1158
1178
|
var SingleFlag = function SingleFlag(_ref) {
|
|
1159
|
-
var _emoji;
|
|
1160
|
-
|
|
1161
1179
|
var code = _ref.code,
|
|
1180
|
+
langCulture = _ref.langCulture,
|
|
1162
1181
|
className = _ref.className;
|
|
1163
1182
|
var flagEmoji = React.useMemo(function () {
|
|
1164
1183
|
return code && getFlag(code);
|
|
1165
1184
|
}, [code]);
|
|
1185
|
+
var CustomFlagComponent = React.useMemo(function () {
|
|
1186
|
+
if (langCulture && customFlagComponents__namespace) {
|
|
1187
|
+
var exportedName = langCulture.replace(/[^a-zA-Z0-9_]/g, '_');
|
|
1188
|
+
|
|
1189
|
+
if (exportedName in customFlagComponents__namespace) {
|
|
1190
|
+
return customFlagComponents__namespace[exportedName];
|
|
1191
|
+
}
|
|
1192
|
+
}
|
|
1193
|
+
|
|
1194
|
+
return null;
|
|
1195
|
+
}, [langCulture]);
|
|
1166
1196
|
return /*#__PURE__*/React__default["default"].createElement(FlagImageContainer, {
|
|
1167
1197
|
"aria-label": code,
|
|
1168
1198
|
className: className
|
|
1169
|
-
},
|
|
1199
|
+
}, CustomFlagComponent && code ? /*#__PURE__*/React__default["default"].createElement(CustomFlagComponent, {
|
|
1200
|
+
code: code
|
|
1201
|
+
}) : emoji(flagEmoji) || '🏳️🌈');
|
|
1170
1202
|
};
|
|
1171
1203
|
|
|
1172
1204
|
var getSchema = function getSchema(name) {
|
|
@@ -1619,15 +1651,16 @@ var LanguageSelectListItem = function LanguageSelectListItem(_ref6) {
|
|
|
1619
1651
|
return getBaseIdFromId(currentDocumentId);
|
|
1620
1652
|
}, [currentDocumentId]);
|
|
1621
1653
|
var flagCode = React__default["default"].useMemo(function () {
|
|
1622
|
-
return language.id.split(
|
|
1654
|
+
return language.id.split(/[_-]/).pop();
|
|
1623
1655
|
}, [language.id]);
|
|
1624
1656
|
var FlagIcon = React__default["default"].useMemo(function () {
|
|
1625
1657
|
return function FlagIconComponent(props) {
|
|
1626
1658
|
return /*#__PURE__*/React__default["default"].createElement(SingleFlag, _extends__default["default"]({
|
|
1627
|
-
code: flagCode
|
|
1659
|
+
code: flagCode,
|
|
1660
|
+
langCulture: language.id
|
|
1628
1661
|
}, props));
|
|
1629
1662
|
};
|
|
1630
|
-
}, [flagCode]);
|
|
1663
|
+
}, [flagCode, language]);
|
|
1631
1664
|
var translatedId = React__default["default"].useMemo(function () {
|
|
1632
1665
|
return language.id === (baseLanguage === null || baseLanguage === void 0 ? void 0 : baseLanguage.id) ? baseId : buildDocId(baseId, language.id);
|
|
1633
1666
|
}, [baseId, language.id, baseLanguage]);
|
|
@@ -1833,7 +1866,7 @@ var LanguageSelect = function LanguageSelect(_ref) {
|
|
|
1833
1866
|
});
|
|
1834
1867
|
}, [languages, currentLanguageCode]);
|
|
1835
1868
|
var currentLanguageFlagCode = React__default["default"].useMemo(function () {
|
|
1836
|
-
return currentLanguageCode === null || currentLanguageCode === void 0 ? void 0 : currentLanguageCode.split(
|
|
1869
|
+
return currentLanguageCode === null || currentLanguageCode === void 0 ? void 0 : currentLanguageCode.split(/[-_]/).pop();
|
|
1837
1870
|
}, [currentLanguageCode]);
|
|
1838
1871
|
var editStateIds = React__default["default"].useMemo(function () {
|
|
1839
1872
|
var baseId = getBaseIdFromId(document._id);
|
|
@@ -1907,7 +1940,8 @@ var LanguageSelect = function LanguageSelect(_ref) {
|
|
|
1907
1940
|
button: /*#__PURE__*/React__default["default"].createElement(ui.Button, {
|
|
1908
1941
|
mode: "bleed",
|
|
1909
1942
|
icon: /*#__PURE__*/React__default["default"].createElement(SingleFlag, {
|
|
1910
|
-
code: currentLanguageFlagCode
|
|
1943
|
+
code: currentLanguageFlagCode,
|
|
1944
|
+
langCulture: currentLanguageCode
|
|
1911
1945
|
}),
|
|
1912
1946
|
iconRight: icons.ChevronDownIcon,
|
|
1913
1947
|
padding: 3,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../node_modules/just-safe-get/index.mjs","../../node_modules/string-replace-to-array/string-replace-to-array.js","../../node_modules/react-easy-emoji/lib/replaceEmoji.js","../../node_modules/react-easy-emoji/lib/makeTwemojiRenderer.js","../../node_modules/react-easy-emoji/index.js","../../node_modules/@cprecioso/country-flag-emoji/dist/index.mjs","../../src/constants/SupportedEmojiFlagCodes.ts","../../src/constants/LanguageCultures.ts","../../src/constants/I18nPrefix.ts","../../src/constants/I18nDelimiter.ts","../../src/constants/ReferenceBehavior.ts","../../src/constants/IdStructure.ts","../../src/constants/UiMessages.ts","../../src/utils/getFlag.ts","../../src/language-select/components/SingleFlag/SingleFlag.tsx","../../src/utils/getSchema.ts","../../src/utils/getConfig.ts","../../src/utils/buildDocId.ts","../../src/utils/normalizeLanguageList.ts","../../src/utils/getBaseLanguage.ts","../../src/utils/getSanityClient.ts","../../src/utils/getLanguagesFromOption.ts","../../src/utils/getLanguageFromId.ts","../../src/utils/getBaseIdFromId.ts","../../src/language-select/hooks/useLanguages.ts","../../src/language-select/hooks/useManyObservables.ts","../../src/language-select/hooks/useManyEditStates.ts","../../src/utils/baseToTop.ts","../../src/language-select/components/LanguageSelect/LanguageSelectLabel.tsx","../../node_modules/just-omit/index.mjs","../../src/language-select/components/SplitPaneIcon/SplitPaneIcon.tsx","../../src/language-select/components/LanguageSelect/LanguageSelectContext.ts","../../src/language-select/components/LanguageSelect/LanguageSelectListItem.tsx","../../src/language-select/components/LanguageSelect/LanguageSelectList.tsx","../../src/language-select/components/LanguageSelect/LanguageSelect.tsx","../../src/language-select/index.tsx"],"sourcesContent":["var objectSafeGet = get;\n\n/*\n const obj = {a: {aa: {aaa: 2}}, b: 4};\n\n get(obj, 'a.aa.aaa'); // 2\n get(obj, ['a', 'aa', 'aaa']); // 2\n\n get(obj, 'b.bb.bbb'); // undefined\n get(obj, ['b', 'bb', 'bbb']); // undefined\n\n get(obj.a, 'aa.aaa'); // 2\n get(obj.a, ['aa', 'aaa']); // 2\n\n get(obj.b, 'bb.bbb'); // undefined\n get(obj.b, ['bb', 'bbb']); // undefined\n\n get(obj.b, 'bb.bbb', 42); // 42\n get(obj.b, ['bb', 'bbb'], 42); // 42\n\n get(null, 'a'); // undefined\n get(undefined, ['a']); // undefined\n\n get(null, 'a', 42); // 42\n get(undefined, ['a'], 42); // 42\n\n const obj = {a: {}};\n const sym = Symbol();\n obj.a[sym] = 4;\n get(obj.a, sym); // 4\n*/\n\nfunction get(obj, propsArg, defaultValue) {\n if (!obj) {\n return defaultValue;\n }\n var props, prop;\n if (Array.isArray(propsArg)) {\n props = propsArg.slice(0);\n }\n if (typeof propsArg == 'string') {\n props = propsArg.split('.');\n }\n if (typeof propsArg == 'symbol') {\n props = [propsArg];\n }\n if (!Array.isArray(props)) {\n throw new Error('props arg must be an array, a string or a symbol');\n }\n while (props.length) {\n prop = props.shift();\n if (!obj) {\n return defaultValue;\n }\n obj = obj[prop];\n if (obj === undefined) {\n return defaultValue;\n }\n }\n return obj;\n}\n\nexport {objectSafeGet as default};\n","// Inspiration: https://github.com/facebook/react/issues/3386\n\nfunction replace (string, regexpOrSubstr, newValueOrFn, globalOffset) {\n\tif (typeof string !== 'string') throw new Error('First param must be a string')\n\tif (typeof regexpOrSubstr !== 'string' && !(regexpOrSubstr instanceof RegExp)) throw new Error('Second param must be a string pattern or a regular expression')\n\n\tvar fn = (typeof regexpOrSubstr === 'string') ? replaceUsingString : replaceUsingRegexp\n\n\treturn fn(string, regexpOrSubstr, newValueOrFn, globalOffset)\n}\n\nfunction replaceUsingString (string, patternString, newValueOrFn, globalOffset) {\n\tvar index = string.indexOf(patternString)\n\n\tif (index >= 0) {\n\t\tvar arr = []\n\t\tvar endIndex = index + patternString.length\n\n\t\tif (index > 0) {\n\t\t\tarr.push(string.substring(0, index))\n\t\t}\n\n\t\tarr.push(\n\t\t\t(typeof newValueOrFn === 'function') ?\n\t\t\t\tnewValueOrFn(\n\t\t\t\t\tstring.substring(index, endIndex),\n\t\t\t\t\tindex + globalOffset,\n\t\t\t\t\tstring\n\t\t\t\t) :\n\t\t\t\tnewValueOrFn\n\t\t)\n\n\t\tif (endIndex < string.length) {\n\t\t\tarr.push(string.substring(endIndex))\n\t\t}\n\n\t\treturn arr\n\t} else {\n\t\treturn [string]\n\t}\n}\n\nfunction replaceUsingRegexp (string, regexp, newValueOrFn, globalOffset) {\n\tvar output = []\n\n\tvar replacerIsFn = (typeof newValueOrFn === 'function')\n\n\tvar storedLastIndex = regexp.lastIndex\n\tregexp.lastIndex = 0\n\n\tvar result\n\tvar lastIndex = 0\n\twhile (result = regexp.exec(string)) {\n\t\tvar index = result.index\n\n\t\tif (result[0] === '') {\n\t\t\t// When the regexp is an empty string\n\t\t\t// we still want to advance our cursor to the next item.\n\t\t\t// This is the behavior of String.replace.\n\t\t\tregexp.lastIndex++\n\t\t}\n\n\t\tif (index !== lastIndex) {\n\t\t\toutput.push(string.substring(lastIndex, index))\n\t\t}\n\n\t\tvar match = result[0]\n\t\tlastIndex = index + match.length\n\t\t\n\t\tvar out = replacerIsFn ?\n\t\t\tnewValueOrFn.apply(this, result.concat(index + globalOffset, result.input)) :\n\t\t\tnewValueOrFn\n\t\toutput.push(out)\n\n\t\tif (!regexp.global) {\n\t\t\tbreak\n\t\t}\n\t}\n\n\tif (lastIndex < string.length) {\n\t\toutput.push(string.substring(lastIndex))\n\t}\n\n\tregexp.lastIndex = storedLastIndex\n\treturn output\n}\n\nmodule.exports = function stringReplaceToArray (stringOrArray, regexpOrSubstr, newSubStrOrFn) {\n\tif (typeof stringOrArray === 'string') {\n\t\treturn replace(stringOrArray, regexpOrSubstr, newSubStrOrFn, 0)\n\t} else if (!Array.isArray(stringOrArray) || !stringOrArray[0]) {\n\t\tthrow new TypeError('First argument must be an array or non-empty string')\n\t} else {\n\t\tvar len = stringOrArray.length\n\t\tvar output = []\n\t\tvar globalOffset = 0\n\t\tfor (var i = 0; i < len; ++i) {\n\t\t\tvar arrayItem = stringOrArray[i]\n\t\t\tif (typeof arrayItem === 'string') {\n\t\t\t\toutput.push.apply(output, replace(arrayItem, regexpOrSubstr, newSubStrOrFn, globalOffset))\n\t\t\t\tglobalOffset += arrayItem.length\n\t\t\t} else {\n\t\t\t\toutput.push(arrayItem)\n\t\t\t}\n\t\t}\n\t\treturn output\n\t}\n}","var replaceStringToArray = require('string-replace-to-array')\n\n// This is based off of https://github.com/twitter/twemoji/blob/gh-pages/2/twemoji.js\n//\n// Ideally we'd use twemoji instead of replicating its logic.\n// The reason we can't is that we need to run our own replace.\n//\n// We could use it for most things (by essentially running twemoji.parse for each\n// regex match, and reading the code from the callback), but the one thing we'd always need\n// to copy and paste into this file is the regex since we need it to run the replace.\n//\n// Another option is to fork twemoji and expose a method in it that could help us, then\n// ask them to pull it in.\n//\n\n// RegExp based on emoji's official Unicode standards\n// http://www.unicode.org/Public/UNIDATA/EmojiSources.txt\nvar re = /(?:\\ud83d\\udc68\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffc-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc68\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udffe]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffc-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffe]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d[\\udc68\\udc69]|\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d[\\udc68\\udc69]|\\ud83e\\uddd1\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1|\\ud83d\\udc6b\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc6c\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc6d\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc8f\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc91\\ud83c[\\udffb-\\udfff]|\\ud83d[\\udc6b-\\udc6d\\udc8f\\udc91])|(?:\\ud83d[\\udc68\\udc69]|\\ud83e\\uddd1)(?:\\ud83c[\\udffb-\\udfff])?\\u200d(?:\\u2695\\ufe0f|\\u2696\\ufe0f|\\u2708\\ufe0f|\\ud83c[\\udf3e\\udf73\\udf7c\\udf84\\udf93\\udfa4\\udfa8\\udfeb\\udfed]|\\ud83d[\\udcbb\\udcbc\\udd27\\udd2c\\ude80\\ude92]|\\ud83e[\\uddaf-\\uddb3\\uddbc\\uddbd])|(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75]|\\u26f9)((?:\\ud83c[\\udffb-\\udfff]|\\ufe0f)\\u200d[\\u2640\\u2642]\\ufe0f)|(?:\\ud83c[\\udfc3\\udfc4\\udfca]|\\ud83d[\\udc6e\\udc70\\udc71\\udc73\\udc77\\udc81\\udc82\\udc86\\udc87\\ude45-\\ude47\\ude4b\\ude4d\\ude4e\\udea3\\udeb4-\\udeb6]|\\ud83e[\\udd26\\udd35\\udd37-\\udd39\\udd3d\\udd3e\\uddb8\\uddb9\\uddcd-\\uddcf\\uddd4\\uddd6-\\udddd])(?:\\ud83c[\\udffb-\\udfff])?\\u200d[\\u2640\\u2642]\\ufe0f|(?:\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83c\\udff3\\ufe0f\\u200d\\u26a7\\ufe0f|\\ud83c\\udff3\\ufe0f\\u200d\\ud83c\\udf08|\\ud83d\\ude36\\u200d\\ud83c\\udf2b\\ufe0f|\\u2764\\ufe0f\\u200d\\ud83d\\udd25|\\u2764\\ufe0f\\u200d\\ud83e\\ude79|\\ud83c\\udff4\\u200d\\u2620\\ufe0f|\\ud83d\\udc15\\u200d\\ud83e\\uddba|\\ud83d\\udc3b\\u200d\\u2744\\ufe0f|\\ud83d\\udc41\\u200d\\ud83d\\udde8|\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc6f\\u200d\\u2640\\ufe0f|\\ud83d\\udc6f\\u200d\\u2642\\ufe0f|\\ud83d\\ude2e\\u200d\\ud83d\\udca8|\\ud83d\\ude35\\u200d\\ud83d\\udcab|\\ud83e\\udd3c\\u200d\\u2640\\ufe0f|\\ud83e\\udd3c\\u200d\\u2642\\ufe0f|\\ud83e\\uddde\\u200d\\u2640\\ufe0f|\\ud83e\\uddde\\u200d\\u2642\\ufe0f|\\ud83e\\udddf\\u200d\\u2640\\ufe0f|\\ud83e\\udddf\\u200d\\u2642\\ufe0f|\\ud83d\\udc08\\u200d\\u2b1b)|[#*0-9]\\ufe0f?\\u20e3|(?:[©®\\u2122\\u265f]\\ufe0f)|(?:\\ud83c[\\udc04\\udd70\\udd71\\udd7e\\udd7f\\ude02\\ude1a\\ude2f\\ude37\\udf21\\udf24-\\udf2c\\udf36\\udf7d\\udf96\\udf97\\udf99-\\udf9b\\udf9e\\udf9f\\udfcd\\udfce\\udfd4-\\udfdf\\udff3\\udff5\\udff7]|\\ud83d[\\udc3f\\udc41\\udcfd\\udd49\\udd4a\\udd6f\\udd70\\udd73\\udd76-\\udd79\\udd87\\udd8a-\\udd8d\\udda5\\udda8\\uddb1\\uddb2\\uddbc\\uddc2-\\uddc4\\uddd1-\\uddd3\\udddc-\\uddde\\udde1\\udde3\\udde8\\uddef\\uddf3\\uddfa\\udecb\\udecd-\\udecf\\udee0-\\udee5\\udee9\\udef0\\udef3]|[\\u203c\\u2049\\u2139\\u2194-\\u2199\\u21a9\\u21aa\\u231a\\u231b\\u2328\\u23cf\\u23ed-\\u23ef\\u23f1\\u23f2\\u23f8-\\u23fa\\u24c2\\u25aa\\u25ab\\u25b6\\u25c0\\u25fb-\\u25fe\\u2600-\\u2604\\u260e\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262a\\u262e\\u262f\\u2638-\\u263a\\u2640\\u2642\\u2648-\\u2653\\u2660\\u2663\\u2665\\u2666\\u2668\\u267b\\u267f\\u2692-\\u2697\\u2699\\u269b\\u269c\\u26a0\\u26a1\\u26a7\\u26aa\\u26ab\\u26b0\\u26b1\\u26bd\\u26be\\u26c4\\u26c5\\u26c8\\u26cf\\u26d1\\u26d3\\u26d4\\u26e9\\u26ea\\u26f0-\\u26f5\\u26f8\\u26fa\\u26fd\\u2702\\u2708\\u2709\\u270f\\u2712\\u2714\\u2716\\u271d\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u2764\\u27a1\\u2934\\u2935\\u2b05-\\u2b07\\u2b1b\\u2b1c\\u2b50\\u2b55\\u3030\\u303d\\u3297\\u3299])(?:\\ufe0f|(?!\\ufe0e))|(?:(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75\\udd90]|[\\u261d\\u26f7\\u26f9\\u270c\\u270d])(?:\\ufe0f|(?!\\ufe0e))|(?:\\ud83c[\\udf85\\udfc2-\\udfc4\\udfc7\\udfca]|\\ud83d[\\udc42\\udc43\\udc46-\\udc50\\udc66-\\udc69\\udc6e\\udc70-\\udc78\\udc7c\\udc81-\\udc83\\udc85-\\udc87\\udcaa\\udd7a\\udd95\\udd96\\ude45-\\ude47\\ude4b-\\ude4f\\udea3\\udeb4-\\udeb6\\udec0\\udecc]|\\ud83e[\\udd0c\\udd0f\\udd18-\\udd1c\\udd1e\\udd1f\\udd26\\udd30-\\udd39\\udd3d\\udd3e\\udd77\\uddb5\\uddb6\\uddb8\\uddb9\\uddbb\\uddcd-\\uddcf\\uddd1-\\udddd]|[\\u270a\\u270b]))(?:\\ud83c[\\udffb-\\udfff])?|(?:\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc65\\udb40\\udc6e\\udb40\\udc67\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc73\\udb40\\udc63\\udb40\\udc74\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc77\\udb40\\udc6c\\udb40\\udc73\\udb40\\udc7f|\\ud83c\\udde6\\ud83c[\\udde8-\\uddec\\uddee\\uddf1\\uddf2\\uddf4\\uddf6-\\uddfa\\uddfc\\uddfd\\uddff]|\\ud83c\\udde7\\ud83c[\\udde6\\udde7\\udde9-\\uddef\\uddf1-\\uddf4\\uddf6-\\uddf9\\uddfb\\uddfc\\uddfe\\uddff]|\\ud83c\\udde8\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\uddee\\uddf0-\\uddf5\\uddf7\\uddfa-\\uddff]|\\ud83c\\udde9\\ud83c[\\uddea\\uddec\\uddef\\uddf0\\uddf2\\uddf4\\uddff]|\\ud83c\\uddea\\ud83c[\\udde6\\udde8\\uddea\\uddec\\udded\\uddf7-\\uddfa]|\\ud83c\\uddeb\\ud83c[\\uddee-\\uddf0\\uddf2\\uddf4\\uddf7]|\\ud83c\\uddec\\ud83c[\\udde6\\udde7\\udde9-\\uddee\\uddf1-\\uddf3\\uddf5-\\uddfa\\uddfc\\uddfe]|\\ud83c\\udded\\ud83c[\\uddf0\\uddf2\\uddf3\\uddf7\\uddf9\\uddfa]|\\ud83c\\uddee\\ud83c[\\udde8-\\uddea\\uddf1-\\uddf4\\uddf6-\\uddf9]|\\ud83c\\uddef\\ud83c[\\uddea\\uddf2\\uddf4\\uddf5]|\\ud83c\\uddf0\\ud83c[\\uddea\\uddec-\\uddee\\uddf2\\uddf3\\uddf5\\uddf7\\uddfc\\uddfe\\uddff]|\\ud83c\\uddf1\\ud83c[\\udde6-\\udde8\\uddee\\uddf0\\uddf7-\\uddfb\\uddfe]|\\ud83c\\uddf2\\ud83c[\\udde6\\udde8-\\udded\\uddf0-\\uddff]|\\ud83c\\uddf3\\ud83c[\\udde6\\udde8\\uddea-\\uddec\\uddee\\uddf1\\uddf4\\uddf5\\uddf7\\uddfa\\uddff]|\\ud83c\\uddf4\\ud83c\\uddf2|\\ud83c\\uddf5\\ud83c[\\udde6\\uddea-\\udded\\uddf0-\\uddf3\\uddf7-\\uddf9\\uddfc\\uddfe]|\\ud83c\\uddf6\\ud83c\\udde6|\\ud83c\\uddf7\\ud83c[\\uddea\\uddf4\\uddf8\\uddfa\\uddfc]|\\ud83c\\uddf8\\ud83c[\\udde6-\\uddea\\uddec-\\uddf4\\uddf7-\\uddf9\\uddfb\\uddfd-\\uddff]|\\ud83c\\uddf9\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\udded\\uddef-\\uddf4\\uddf7\\uddf9\\uddfb\\uddfc\\uddff]|\\ud83c\\uddfa\\ud83c[\\udde6\\uddec\\uddf2\\uddf3\\uddf8\\uddfe\\uddff]|\\ud83c\\uddfb\\ud83c[\\udde6\\udde8\\uddea\\uddec\\uddee\\uddf3\\uddfa]|\\ud83c\\uddfc\\ud83c[\\uddeb\\uddf8]|\\ud83c\\uddfd\\ud83c\\uddf0|\\ud83c\\uddfe\\ud83c[\\uddea\\uddf9]|\\ud83c\\uddff\\ud83c[\\udde6\\uddf2\\uddfc]|\\ud83c[\\udccf\\udd8e\\udd91-\\udd9a\\udde6-\\uddff\\ude01\\ude32-\\ude36\\ude38-\\ude3a\\ude50\\ude51\\udf00-\\udf20\\udf2d-\\udf35\\udf37-\\udf7c\\udf7e-\\udf84\\udf86-\\udf93\\udfa0-\\udfc1\\udfc5\\udfc6\\udfc8\\udfc9\\udfcf-\\udfd3\\udfe0-\\udff0\\udff4\\udff8-\\udfff]|\\ud83d[\\udc00-\\udc3e\\udc40\\udc44\\udc45\\udc51-\\udc65\\udc6a\\udc6f\\udc79-\\udc7b\\udc7d-\\udc80\\udc84\\udc88-\\udc8e\\udc90\\udc92-\\udca9\\udcab-\\udcfc\\udcff-\\udd3d\\udd4b-\\udd4e\\udd50-\\udd67\\udda4\\uddfb-\\ude44\\ude48-\\ude4a\\ude80-\\udea2\\udea4-\\udeb3\\udeb7-\\udebf\\udec1-\\udec5\\uded0-\\uded2\\uded5-\\uded7\\udeeb\\udeec\\udef4-\\udefc\\udfe0-\\udfeb]|\\ud83e[\\udd0d\\udd0e\\udd10-\\udd17\\udd1d\\udd20-\\udd25\\udd27-\\udd2f\\udd3a\\udd3c\\udd3f-\\udd45\\udd47-\\udd76\\udd78\\udd7a-\\uddb4\\uddb7\\uddba\\uddbc-\\uddcb\\uddd0\\uddde-\\uddff\\ude70-\\ude74\\ude78-\\ude7a\\ude80-\\ude86\\ude90-\\udea8\\udeb0-\\udeb6\\udec0-\\udec2\\uded0-\\uded6]|[\\u23e9-\\u23ec\\u23f0\\u23f3\\u267e\\u26ce\\u2705\\u2728\\u274c\\u274e\\u2753-\\u2755\\u2795-\\u2797\\u27b0\\u27bf\\ue50a])|\\ufe0f/g\n\nfunction toCodePoint(unicodeSurrogates, sep) {\n var\n\t\tr = [],\n\t\tc = 0,\n\t\tp = 0,\n\t\ti = 0\n\t\t\n\twhile (i < unicodeSurrogates.length) {\n\t\tc = unicodeSurrogates.charCodeAt(i++)\n\t\tif (p) {\n\t\t\tr.push((0x10000 + ((p - 0xD800) << 10) + (c - 0xDC00)).toString(16))\n\t\t\tp = 0\n\t\t} else if (0xD800 <= c && c <= 0xDBFF) {\n\t\t\tp = c\n\t\t} else {\n\t\t\tr.push(c.toString(16))\n\t\t}\n\t}\n\treturn r.join(sep || '-')\n}\n\n// avoid runtime RegExp creation for not so smart,\n// not JIT based, and old browsers / engines\nvar UFE0Fg = /\\uFE0F/g\n\n// avoid using a string literal like '\\u200D' here because minifiers expand it inline\nvar U200D = String.fromCharCode(0x200D)\n\n/**\n* Used to both remove the possible variant\n* and to convert utf16 into code points.\n* If there is a zero-width-joiner (U+200D), leave the variants in.\n* @param string the raw text of the emoji match\n*/\nfunction grabTheRightIcon(rawText) {\n\t// if variant is present as \\uFE0F\n\treturn toCodePoint(rawText.indexOf(U200D) < 0 ?\n\t\trawText.replace(UFE0Fg, '') :\n\t\trawText\n\t);\n}\n\nmodule.exports = function replaceEmoji (string, render) {\n\t// Note: the latest regex added an empty matching group, so we ignore it.\n\treturn replaceStringToArray(string, re, function emojiReplacer (match, _, offset) {\n\t\tvar icon = grabTheRightIcon(match)\n\t\treturn render(icon, match, offset)\n\t})\n}\n","var createElement = require('react').createElement\n\nvar pageProtocol = (typeof location === 'undefined') ? '' : ((location.protocol === 'https:') ? 'https:' : 'http:')\n\nvar emojiStyle = {\n\theight: '1em',\n\twidth: '1em',\n\tmargin: '0 .05em 0 .1em',\n\tverticalAlign: '-0.1em'\n}\n\n// Accept protocol with or without a colon\nfunction normalizeProtocol(protocol) {\n\tif (protocol && protocol.length > 0 && protocol.charAt(protocol.length - 1) !== ':') {\n\t\treturn protocol + ':'\n\t}\n\treturn protocol\n}\n\nmodule.exports = function makeTwemojiRenderer(options) {\n\toptions = merge({\n\t\tprotocol: pageProtocol,\n\t\tbaseUrl: '//twemoji.maxcdn.com/2/',\n\t\tsize: '72x72',\n\t\text: '.png',\n\t\tprops: null\n\t}, options)\n\n\treturn function renderTwemoji (icon, match, offset) {\n\t\tvar src = ''\n\t\tif (options.baseUrl.indexOf('http') !== 0) {\n\t\t\tsrc += normalizeProtocol(options.protocol)\n\t\t}\n\n\t\tsrc += options.baseUrl + options.size + '/' + icon + options.ext\n\n\t\treturn createElement(\n\t\t\t'img',\n\t\t\tmerge({\n\t\t\t\tkey: offset,\n\t\t\t\talt: match,\n\t\t\t\tdraggable: false,\n\t\t\t\tsrc: src,\n\t\t\t\tstyle: emojiStyle\n\t\t\t}, options.props)\n\t\t)\n\t}\n}\n\nfunction merge() {\n\tvar out = {}, len = arguments.length\n\tfor(var i = 0; i < len; ++i) {\n\t\tvar source = arguments[i]\n\t\tif (source) {\n\t\t\tfor (var key in source) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(source, key)) {\n\t\t\t\t\tout[key] = source[key]\n\t\t\t\t}\n\t\t\t}\n\t\t}\n }\n return out\n}","var replaceEmoji = require('./lib/replaceEmoji'),\n\tmakeTwemojiRenderer = require('./lib/makeTwemojiRenderer')\n\nmodule.exports = function reactEasyEmoji (element, optionsOrFn) {\n\tvar render = (typeof optionsOrFn === 'function') ? optionsOrFn : makeTwemojiRenderer(optionsOrFn)\n\treturn replaceEmoji(element, render)\n}","/*\n These magic numbers are charCode math, where we take advantage of the offset\n between any two uppercase leters (e.g. A - C = 2) being the same as the one\n between the emoji flag variant of those letters (e.g. (emoji A) - (emoji C) = 2).\n*/\nconst FLAG_LETTER_EMOJI_FIRST_CODEPOINT = 55356; // \"🇦\".charCodeAt(0)\nconst UPPERCASE_AND_FLAG_LETTER_EMOJI_SECOND_CODEPOINT_OFFSET = 56741; // \"🇦\".charCodeAt(1) - \"A\".charCodeAt(0)\nconst getEmojiFlag = (countryCode) => {\n countryCode = countryCode.toUpperCase();\n /* Emoji flags are made from combination of two emoji sequences of two codepoints each. */\n return String.fromCharCode(FLAG_LETTER_EMOJI_FIRST_CODEPOINT, UPPERCASE_AND_FLAG_LETTER_EMOJI_SECOND_CODEPOINT_OFFSET +\n countryCode.charCodeAt(0), FLAG_LETTER_EMOJI_FIRST_CODEPOINT, UPPERCASE_AND_FLAG_LETTER_EMOJI_SECOND_CODEPOINT_OFFSET +\n countryCode.charCodeAt(1));\n};\nconst getCountryCode = (flagEmoji) => {\n return String.fromCharCode(flagEmoji.charCodeAt(1) -\n UPPERCASE_AND_FLAG_LETTER_EMOJI_SECOND_CODEPOINT_OFFSET, flagEmoji.charCodeAt(3) -\n UPPERCASE_AND_FLAG_LETTER_EMOJI_SECOND_CODEPOINT_OFFSET);\n};\n\nexport { getCountryCode, getEmojiFlag };\n","export const SupportedEmojiFlagCodes = [\n 'AD',\n 'AE',\n 'AF',\n 'AG',\n 'AI',\n 'AL',\n 'AM',\n 'AO',\n 'AQ',\n 'AR',\n 'AS',\n 'AT',\n 'AU',\n 'AW',\n 'AX',\n 'AZ',\n 'BA',\n 'BB',\n 'BD',\n 'BE',\n 'BF',\n 'BG',\n 'BH',\n 'BI',\n 'BJ',\n 'BL',\n 'BM',\n 'BN',\n 'BO',\n 'BQ',\n 'BR',\n 'BS',\n 'BT',\n 'BV',\n 'BW',\n 'BY',\n 'BZ',\n 'CA',\n 'CC',\n 'CD',\n 'CF',\n 'CG',\n 'CH',\n 'CI',\n 'CK',\n 'CL',\n 'CM',\n 'CN',\n 'CO',\n 'CR',\n 'CU',\n 'CV',\n 'CW',\n 'CX',\n 'CY',\n 'CZ',\n 'DE',\n 'DJ',\n 'DK',\n 'DM',\n 'DO',\n 'DZ',\n 'EC',\n 'EE',\n 'EG',\n 'EH',\n 'ER',\n 'ES',\n 'ET',\n 'FI',\n 'FJ',\n 'FK',\n 'FM',\n 'FO',\n 'FR',\n 'GA',\n 'GB',\n 'GD',\n 'GE',\n 'GF',\n 'GG',\n 'GH',\n 'GI',\n 'GL',\n 'GM',\n 'GN',\n 'GP',\n 'GQ',\n 'GR',\n 'GS',\n 'GT',\n 'GU',\n 'GW',\n 'GY',\n 'HK',\n 'HM',\n 'HN',\n 'HR',\n 'HT',\n 'HU',\n 'ID',\n 'IE',\n 'IL',\n 'IM',\n 'IN',\n 'IO',\n 'IQ',\n 'IR',\n 'IS',\n 'IT',\n 'JE',\n 'JM',\n 'JO',\n 'JP',\n 'KE',\n 'KG',\n 'KH',\n 'KI',\n 'KM',\n 'KN',\n 'KP',\n 'KR',\n 'KW',\n 'KY',\n 'KZ',\n 'LA',\n 'LB',\n 'LC',\n 'LI',\n 'LK',\n 'LR',\n 'LS',\n 'LT',\n 'LU',\n 'LV',\n 'LY',\n 'MA',\n 'MC',\n 'MD',\n 'ME',\n 'MF',\n 'MG',\n 'MH',\n 'MK',\n 'ML',\n 'MM',\n 'MN',\n 'MO',\n 'MP',\n 'MQ',\n 'MR',\n 'MS',\n 'MT',\n 'MU',\n 'MV',\n 'MW',\n 'MX',\n 'MY',\n 'MZ',\n 'NA',\n 'NC',\n 'NE',\n 'NF',\n 'NG',\n 'NI',\n 'NL',\n 'NO',\n 'NP',\n 'NR',\n 'NU',\n 'NZ',\n 'OM',\n 'PA',\n 'PE',\n 'PF',\n 'PG',\n 'PH',\n 'PK',\n 'PL',\n 'PM',\n 'PN',\n 'PR',\n 'PS',\n 'PT',\n 'PW',\n 'PY',\n 'QA',\n 'RE',\n 'RO',\n 'RS',\n 'RU',\n 'RW',\n 'SA',\n 'SB',\n 'SC',\n 'SD',\n 'SE',\n 'SG',\n 'SH',\n 'SI',\n 'SJ',\n 'SK',\n 'SL',\n 'SM',\n 'SN',\n 'SO',\n 'SR',\n 'SS',\n 'ST',\n 'SV',\n 'SX',\n 'SY',\n 'SZ',\n 'TC',\n 'TD',\n 'TF',\n 'TG',\n 'TH',\n 'TJ',\n 'TK',\n 'TL',\n 'TM',\n 'TN',\n 'TO',\n 'TR',\n 'TT',\n 'TV',\n 'TW',\n 'TZ',\n 'UA',\n 'UG',\n 'UM',\n 'US',\n 'UY',\n 'UZ',\n 'VA',\n 'VC',\n 'VE',\n 'VG',\n 'VI',\n 'VN',\n 'VU',\n 'WF',\n 'WS',\n 'YE',\n 'YT',\n 'ZA',\n 'ZM',\n 'ZW',\n]\n","export const LanguageCultures = [\n {\n value: 'af',\n title: 'Afrikaans',\n },\n {\n value: 'af-ZA',\n title: 'Afrikaans (South Africa)',\n },\n {\n value: 'ar',\n title: 'Arabic',\n },\n {\n value: 'ar-AE',\n title: 'Arabic (U.A.E.)',\n },\n {\n value: 'ar-BH',\n title: 'Arabic (Bahrain)',\n },\n {\n value: 'ar-DZ',\n title: 'Arabic (Algeria)',\n },\n {\n value: 'ar-EG',\n title: 'Arabic (Egypt)',\n },\n {\n value: 'ar-IQ',\n title: 'Arabic (Iraq)',\n },\n {\n value: 'ar-JO',\n title: 'Arabic (Jordan)',\n },\n {\n value: 'ar-KW',\n title: 'Arabic (Kuwait)',\n },\n {\n value: 'ar-LB',\n title: 'Arabic (Lebanon)',\n },\n {\n value: 'ar-LY',\n title: 'Arabic (Libya)',\n },\n {\n value: 'ar-MA',\n title: 'Arabic (Morocco)',\n },\n {\n value: 'ar-OM',\n title: 'Arabic (Oman)',\n },\n {\n value: 'ar-QA',\n title: 'Arabic (Qatar)',\n },\n {\n value: 'ar-SA',\n title: 'Arabic (Saudi Arabia)',\n },\n {\n value: 'ar-SY',\n title: 'Arabic (Syria)',\n },\n {\n value: 'ar-TN',\n title: 'Arabic (Tunisia)',\n },\n {\n value: 'ar-YE',\n title: 'Arabic (Yemen)',\n },\n {\n value: 'az',\n title: 'Azeri',\n },\n {\n value: 'az-Cyrl-AZ',\n title: 'Azeri (Cyrillic, Azerbaijan)',\n },\n {\n value: 'az-Latn-AZ',\n title: 'Azeri (Latin, Azerbaijan)',\n },\n {\n value: 'be',\n title: 'Belarusian',\n },\n {\n value: 'be-BY',\n title: 'Belarusian (Belarus)',\n },\n {\n value: 'bg',\n title: 'Bulgarian',\n },\n {\n value: 'bg-BG',\n title: 'Bulgarian (Bulgaria)',\n },\n {\n value: 'bs-Latn-BA',\n title: 'Bosnian (Bosnia and Herzegovina)',\n },\n {\n value: 'ca',\n title: 'Catalan',\n },\n {\n value: 'ca-ES',\n title: 'Catalan (Catalan)',\n },\n {\n value: 'cs',\n title: 'Czech',\n },\n {\n value: 'cs-CZ',\n title: 'Czech (Czech Republic)',\n },\n {\n value: 'cy-GB',\n title: 'Welsh (United Kingdom)',\n },\n {\n value: 'da',\n title: 'Danish',\n },\n {\n value: 'da-DK',\n title: 'Danish (Denmark)',\n },\n {\n value: 'de',\n title: 'German',\n },\n {\n value: 'de-AT',\n title: 'German (Austria)',\n },\n {\n value: 'de-DE',\n title: 'German (Germany)',\n },\n {\n value: 'de-CH',\n title: 'German (Switzerland)',\n },\n {\n value: 'de-LI',\n title: 'German (Liechtenstein)',\n },\n {\n value: 'de-LU',\n title: 'German (Luxembourg)',\n },\n {\n value: 'dv',\n title: 'Divehi',\n },\n {\n value: 'dv-MV',\n title: 'Divehi (Maldives)',\n },\n {\n value: 'el',\n title: 'Greek',\n },\n {\n value: 'el-GR',\n title: 'Greek (Greece)',\n },\n {\n value: 'en',\n title: 'English',\n },\n {\n value: 'en-029',\n title: 'English (Caribbean)',\n },\n {\n value: 'en-AU',\n title: 'English (Australia)',\n },\n {\n value: 'en-BZ',\n title: 'English (Belize)',\n },\n {\n value: 'en-CA',\n title: 'English (Canada)',\n },\n {\n value: 'en-GB',\n title: 'English (United Kingdom)',\n },\n {\n value: 'en-IE',\n title: 'English (Ireland)',\n },\n {\n value: 'en-JM',\n title: 'English (Jamaica)',\n },\n {\n value: 'en-NZ',\n title: 'English (New Zealand)',\n },\n {\n value: 'en-PH',\n title: 'English (Republic of the Philippines)',\n },\n {\n value: 'en-TT',\n title: 'English (Trinidad and Tobago)',\n },\n {\n value: 'en-US',\n title: 'English (United States)',\n },\n {\n value: 'en-ZA',\n title: 'English (South Africa)',\n },\n {\n value: 'en-ZW',\n title: 'English (Zimbabwe)',\n },\n {\n value: 'es',\n title: 'Spanish',\n },\n {\n value: 'es-AR',\n title: 'Spanish (Argentina)',\n },\n {\n value: 'es-BO',\n title: 'Spanish (Bolivia)',\n },\n {\n value: 'es-CL',\n title: 'Spanish (Chile)',\n },\n {\n value: 'es-CO',\n title: 'Spanish (Colombia)',\n },\n {\n value: 'es-CR',\n title: 'Spanish (Costa Rica)',\n },\n {\n value: 'es-DO',\n title: 'Spanish (Dominican Republic)',\n },\n {\n value: 'es-EC',\n title: 'Spanish (Ecuador)',\n },\n {\n value: 'es-ES',\n title: 'Spanish (Spain)',\n },\n {\n value: 'es-GT',\n title: 'Spanish (Guatemala)',\n },\n {\n value: 'es-HN',\n title: 'Spanish (Honduras)',\n },\n {\n value: 'es-MX',\n title: 'Spanish (Mexico)',\n },\n {\n value: 'es-NI',\n title: 'Spanish (Nicaragua)',\n },\n {\n value: 'es-PA',\n title: 'Spanish (Panama)',\n },\n {\n value: 'es-PE',\n title: 'Spanish (Peru)',\n },\n {\n value: 'es-PR',\n title: 'Spanish (Puerto Rico)',\n },\n {\n value: 'es-PY',\n title: 'Spanish (Paraguay)',\n },\n {\n value: 'es-SV',\n title: 'Spanish (El Salvador)',\n },\n {\n value: 'es-UY',\n title: 'Spanish (Uruguay)',\n },\n {\n value: 'es-VE',\n title: 'Spanish (Venezuela)',\n },\n {\n value: 'et',\n title: 'Estonian',\n },\n {\n value: 'et-EE',\n title: 'Estonian (Estonia)',\n },\n {\n value: 'eu',\n title: 'Basque',\n },\n {\n value: 'eu-ES',\n title: 'Basque (Basque)',\n },\n {\n value: 'fa',\n title: 'Persian',\n },\n {\n value: 'fa-IR',\n title: 'Persian (Iran)',\n },\n {\n value: 'fi',\n title: 'Finnish',\n },\n {\n value: 'fi-FI',\n title: 'Finnish (Finland)',\n },\n {\n value: 'fo',\n title: 'Faroese',\n },\n {\n value: 'fo-FO',\n title: 'Faroese (Faroe Islands)',\n },\n {\n value: 'fr',\n title: 'French',\n },\n {\n value: 'fr-BE',\n title: 'French (Belgium)',\n },\n {\n value: 'fr-CA',\n title: 'French (Canada)',\n },\n {\n value: 'fr-FR',\n title: 'French (France)',\n },\n {\n value: 'fr-CH',\n title: 'French (Switzerland)',\n },\n {\n value: 'fr-LU',\n title: 'French (Luxembourg)',\n },\n {\n value: 'fr-MC',\n title: 'French (Principality of Monaco)',\n },\n {\n value: 'gl',\n title: 'Galician',\n },\n {\n value: 'gl-ES',\n title: 'Galician (Galician)',\n },\n {\n value: 'gu',\n title: 'Gujarati',\n },\n {\n value: 'gu-IN',\n title: 'Gujarati (India)',\n },\n {\n value: 'he',\n title: 'Hebrew',\n },\n {\n value: 'he-IL',\n title: 'Hebrew (Israel)',\n },\n {\n value: 'hi',\n title: 'Hindi',\n },\n {\n value: 'hi-IN',\n title: 'Hindi (India)',\n },\n {\n value: 'hr',\n title: 'Croatian',\n },\n {\n value: 'hr-BA',\n title: 'Croatian (Bosnia and Herzegovina)',\n },\n {\n value: 'hr-HR',\n title: 'Croatian (Croatia)',\n },\n {\n value: 'hu',\n title: 'Hungarian',\n },\n {\n value: 'hu-HU',\n title: 'Hungarian (Hungary)',\n },\n {\n value: 'hy',\n title: 'Armenian',\n },\n {\n value: 'hy-AM',\n title: 'Armenian (Armenia)',\n },\n {\n value: 'id',\n title: 'Indonesian',\n },\n {\n value: 'id-ID',\n title: 'Indonesian (Indonesia)',\n },\n {\n value: 'is',\n title: 'Icelandic',\n },\n {\n value: 'is-IS',\n title: 'Icelandic (Iceland)',\n },\n {\n value: 'it',\n title: 'Italian',\n },\n {\n value: 'it-CH',\n title: 'Italian (Switzerland)',\n },\n {\n value: 'it-IT',\n title: 'Italian (Italy)',\n },\n {\n value: 'ja',\n title: 'Japanese',\n },\n {\n value: 'ja-JP',\n title: 'Japanese (Japan)',\n },\n {\n value: 'ka',\n title: 'Georgian',\n },\n {\n value: 'ka-GE',\n title: 'Georgian (Georgia)',\n },\n {\n value: 'kk',\n title: 'Kazakh',\n },\n {\n value: 'kk-KZ',\n title: 'Kazakh (Kazakhstan)',\n },\n {\n value: 'kn',\n title: 'Kannada',\n },\n {\n value: 'kn-IN',\n title: 'Kannada (India)',\n },\n {\n value: 'ko',\n title: 'Korean',\n },\n {\n value: 'kok',\n title: 'Konkani',\n },\n {\n value: 'kok-IN',\n title: 'Konkani (India)',\n },\n {\n value: 'ko-KR',\n title: 'Korean (Korea)',\n },\n {\n value: 'ky',\n title: 'Kyrgyz',\n },\n {\n value: 'ky-KG',\n title: 'Kyrgyz (Kyrgyzstan)',\n },\n {\n value: 'lt',\n title: 'Lithuanian',\n },\n {\n value: 'lt-LT',\n title: 'Lithuanian (Lithuania)',\n },\n {\n value: 'lv',\n title: 'Latvian',\n },\n {\n value: 'lv-LV',\n title: 'Latvian (Latvia)',\n },\n {\n value: 'mi-NZ',\n title: 'Maori (New Zealand)',\n },\n {\n value: 'mk',\n title: 'Macedonian',\n },\n {\n value: 'mk-MK',\n title: 'Macedonian (Former Yugoslav Republic of Macedonia)',\n },\n {\n value: 'mn',\n title: 'Mongolian',\n },\n {\n value: 'mn-MN',\n title: 'Mongolian (Cyrillic, Mongolia)',\n },\n {\n value: 'mr',\n title: 'Marathi',\n },\n {\n value: 'mr-IN',\n title: 'Marathi (India)',\n },\n {\n value: 'ms',\n title: 'Malay',\n },\n {\n value: 'ms-BN',\n title: 'Malay (Brunei Darussalam)',\n },\n {\n value: 'ms-MY',\n title: 'Malay (Malaysia)',\n },\n {\n value: 'mt-MT',\n title: 'Maltese (Malta)',\n },\n {\n value: 'nb-NO',\n title: 'Norwegian, Bokmal (Norway)',\n },\n {\n value: 'nl',\n title: 'Dutch',\n },\n {\n value: 'nl-BE',\n title: 'Dutch (Belgium)',\n },\n {\n value: 'nl-NL',\n title: 'Dutch (Netherlands)',\n },\n {\n value: 'nn-NO',\n title: 'Norwegian, Nynorsk (Norway)',\n },\n {\n value: 'no',\n title: 'Norwegian',\n },\n {\n value: 'ns-ZA',\n title: 'Northern Sotho (South Africa)',\n },\n {\n value: 'pa',\n title: 'Punjabi',\n },\n {\n value: 'pa-IN',\n title: 'Punjabi (India)',\n },\n {\n value: 'pl',\n title: 'Polish',\n },\n {\n value: 'pl-PL',\n title: 'Polish (Poland)',\n },\n {\n value: 'pt',\n title: 'Portuguese',\n },\n {\n value: 'pt-BR',\n title: 'Portuguese (Brazil)',\n },\n {\n value: 'pt-PT',\n title: 'Portuguese (Portugal)',\n },\n {\n value: 'quz-BO',\n title: 'Quechua (Bolivia)',\n },\n {\n value: 'quz-EC',\n title: 'Quechua (Ecuador)',\n },\n {\n value: 'quz-PE',\n title: 'Quechua (Peru)',\n },\n {\n value: 'ro',\n title: 'Romanian',\n },\n {\n value: 'ro-RO',\n title: 'Romanian (Romania)',\n },\n {\n value: 'ru',\n title: 'Russian',\n },\n {\n value: 'ru-RU',\n title: 'Russian (Russia)',\n },\n {\n value: 'sa',\n title: 'Sanskrit',\n },\n {\n value: 'sa-IN',\n title: 'Sanskrit (India)',\n },\n {\n value: 'se-FI',\n title: 'Sami (Northern) (Finland)',\n },\n {\n value: 'se-NO',\n title: 'Sami (Northern) (Norway)',\n },\n {\n value: 'se-SE',\n title: 'Sami (Northern) (Sweden)',\n },\n {\n value: 'sk',\n title: 'Slovak',\n },\n {\n value: 'sk-SK',\n title: 'Slovak (Slovakia)',\n },\n {\n value: 'sl',\n title: 'Slovenian',\n },\n {\n value: 'sl-SI',\n title: 'Slovenian (Slovenia)',\n },\n {\n value: 'sma-NO',\n title: 'Sami (Southern) (Norway)',\n },\n {\n value: 'sma-SE',\n title: 'Sami (Southern) (Sweden)',\n },\n {\n value: 'smj-NO',\n title: 'Sami (Lule) (Norway)',\n },\n {\n value: 'smj-SE',\n title: 'Sami (Lule) (Sweden)',\n },\n {\n value: 'smn-FI',\n title: 'Sami (Inari) (Finland)',\n },\n {\n value: 'sms-FI',\n title: 'Sami (Skolt) (Finland)',\n },\n {\n value: 'sq',\n title: 'Albanian',\n },\n {\n value: 'sq-AL',\n title: 'Albanian (Albania)',\n },\n {\n value: 'sr',\n title: 'Serbian',\n },\n {\n value: 'sr-Cyrl-BA',\n title: 'Serbian (Cyrillic) (Bosnia and Herzegovina)',\n },\n {\n value: 'sr-Cyrl-CS',\n title: 'Serbian (Cyrillic, Serbia)',\n },\n {\n value: 'sr-Latn-BA',\n title: 'Serbian (Latin) (Bosnia and Herzegovina)',\n },\n {\n value: 'sr-Latn-CS',\n title: 'Serbian (Latin, Serbia)',\n },\n {\n value: 'sv',\n title: 'Swedish',\n },\n {\n value: 'sv-FI',\n title: 'Swedish (Finland)',\n },\n {\n value: 'sv-SE',\n title: 'Swedish (Sweden)',\n },\n {\n value: 'sw',\n title: 'Kiswahili',\n },\n {\n value: 'sw-KE',\n title: 'Kiswahili (Kenya)',\n },\n {\n value: 'syr',\n title: 'Syriac',\n },\n {\n value: 'syr-SY',\n title: 'Syriac (Syria)',\n },\n {\n value: 'ta',\n title: 'Tamil',\n },\n {\n value: 'ta-IN',\n title: 'Tamil (India)',\n },\n {\n value: 'te',\n title: 'Telugu',\n },\n {\n value: 'te-IN',\n title: 'Telugu (India)',\n },\n {\n value: 'th',\n title: 'Thai',\n },\n {\n value: 'th-TH',\n title: 'Thai (Thailand)',\n },\n {\n value: 'tn-ZA',\n title: 'Tswana (South Africa)',\n },\n {\n value: 'tr',\n title: 'Turkish',\n },\n {\n value: 'tr-TR',\n title: 'Turkish (Turkey)',\n },\n {\n value: 'tt',\n title: 'Tatar',\n },\n {\n value: 'tt-RU',\n title: 'Tatar (Russia)',\n },\n {\n value: 'uk',\n title: 'Ukrainian',\n },\n {\n value: 'uk-UA',\n title: 'Ukrainian (Ukraine)',\n },\n {\n value: 'ur',\n title: 'Urdu',\n },\n {\n value: 'ur-PK',\n title: 'Urdu (Islamic Republic of Pakistan)',\n },\n {\n value: 'uz',\n title: 'Uzbek',\n },\n {\n value: 'uz-Cyrl-UZ',\n title: 'Uzbek (Cyrillic, Uzbekistan)',\n },\n {\n value: 'uz-Latn-UZ',\n title: 'Uzbek (Latin, Uzbekistan)',\n },\n {\n value: 'vi',\n title: 'Vietnamese',\n },\n {\n value: 'vi-VN',\n title: 'Vietnamese (Vietnam)',\n },\n {\n value: 'xh-ZA',\n title: 'Xhosa (South Africa)',\n },\n {\n value: 'zh-CN',\n title: \"Chinese (People's Republic of China)\",\n },\n {\n value: 'zh-HK',\n title: 'Chinese (Hong Kong S.A.R.)',\n },\n {\n value: 'zh-CHS',\n title: 'Chinese (Simplified)',\n },\n {\n value: 'zh-CHT',\n title: 'Chinese (Traditional)',\n },\n {\n value: 'zh-MO',\n title: 'Chinese (Macao S.A.R.)',\n },\n {\n value: 'zh-SG',\n title: 'Chinese (Singapore)',\n },\n {\n value: 'zh-TW',\n title: 'Chinese (Taiwan)',\n },\n {\n value: 'zu-ZA',\n title: 'Zulu (South Africa)',\n },\n]\n","export const I18nPrefix = 'i18n'\n","export const I18nDelimiter = '__i18n_'\n","export enum ReferenceBehavior {\n STRONG = 'strong',\n WEAK = 'weak',\n DISABLED = 'disabled',\n}\n","export enum IdStructure {\n SUBPATH = 'subpath',\n DELIMITER = 'delimiter',\n}\n","export const UiMessages = {\n publishing: 'Publishing...',\n publish: 'Publish',\n updatingIntlFields: 'Updating i18n fields',\n intlFieldsUpdated: 'I18n fields updated',\n baseDocumentCopied: 'Base document copied',\n translationCreatedToast: {\n title: (name: string): string => `Translation created: ${name}`,\n description: (name: string): string =>\n `The content from ‘${name}’ is copied into the new document translation.`,\n },\n loading: 'Loading languages...',\n draft: 'Draft',\n missingTranslations:\n 'Following languages are missing some translations compared to the base language',\n base: 'Base Translation',\n missing: 'Missing',\n deleteAll: {\n buttonTitle: 'Delete (incl. translations)',\n deleting: 'Deleting...',\n },\n duplicateAll: {\n buttonTitle: 'Duplicate (incl. translations)',\n duplicating: 'Duplicating...',\n },\n translationsMaintenance: {\n title: 'Translation Maintenance',\n selectSchemaPlaceholder: 'Select schema type',\n idStructureMismatch: 'document(s) with mismatched ID structures',\n missingLanguageField: 'document(s) are missing the language field',\n missingDocumentRefs: 'document(s) have missing translation references',\n missingBaseDocumentRefs: 'document(s) have missing base document references',\n orphanDocuments: 'orphaned translation document(s)',\n referenceBehaviorMismatch: 'document(s) with mismatched reference behaviors',\n baseLanguageMismatch: 'base document(s) with mismatched language field',\n fix: 'Fix',\n },\n errors: {\n baseDocumentNotPublished:\n 'It looks like you have not published your base translation yet. When using strong references it is required to publish the base document before publishing any translated entries',\n },\n languageSelect: {\n placeholder: 'Switch language',\n listLabels: {\n existing: 'Select document translations',\n missing: 'Create new document translations',\n },\n },\n}\n","import {getEmojiFlag} from '@cprecioso/country-flag-emoji'\nimport {SupportedEmojiFlagCodes} from '../constants'\n\n// Get flag from a valid country code\nexport const getFlag = (code = ``): string => {\n if (!code) {\n return ``\n }\n\n const flagCode = getFlagCode(code)\n\n if (!SupportedEmojiFlagCodes.includes(flagCode.toUpperCase())) {\n return ``\n }\n\n const emoji = getEmojiFlag(flagCode)\n\n return emoji\n}\n\n// Convert some language codes to country codes\nexport const getFlagCode = (code = ``): string => {\n if (!code) {\n return ``\n }\n\n switch (code.toLocaleLowerCase()) {\n case `en`:\n return `gb`\n\n default:\n return code\n }\n}\n","import React, {useMemo} from 'react'\nimport emoji from 'react-easy-emoji'\nimport styled from 'styled-components'\nimport {getFlag} from '../../../utils/getFlag'\n\ntype Props = {\n className?: string\n code?: string\n}\n\nconst FlagImageContainer = styled.span`\n display: block;\n padding: 1px;\n font-size: 19px;\n margin: 0px -0.05em 0px -0.1em;\n\n & img {\n display: block;\n }\n`\n\nexport const SingleFlag: React.FunctionComponent<Props> = ({code, className}) => {\n const flagEmoji = useMemo(() => code && getFlag(code), [code])\n\n return (\n <FlagImageContainer aria-label={code} className={className}>\n {emoji(flagEmoji) ?? '🏳️🌈'}\n </FlagImageContainer>\n )\n}\n","import schemas from 'part:@sanity/base/schema'\nimport {TSchema} from '../types'\n\nexport const getSchema = <T = any>(name: string): TSchema<T> => {\n return schemas._original.types.find((s) => s.name === name)\n}\n","import config from 'config:@sanity/document-internationalization'\nimport {Ti18nSchema, Ti18nConfig} from '../types'\nimport {IdStructure, ReferenceBehavior} from '../constants'\nimport {getSchema} from './getSchema'\n\nconst getI18nConfigFromType = (type?: string | Ti18nSchema) => {\n let i18nconfig: Ti18nConfig = {}\n\n if (type) {\n if (typeof type === 'string') {\n const schema = getSchema<Ti18nSchema>(type)\n if (schema && typeof schema.i18n !== 'boolean') {\n i18nconfig = schema.i18n\n }\n } else if (typeof type.i18n !== 'boolean') {\n i18nconfig = type.i18n\n }\n }\n\n return i18nconfig\n}\n\nexport function getConfig(type?: string | Ti18nSchema): Required<{\n [K in keyof Ti18nConfig]: Required<Ti18nConfig[K]>\n}> & {\n withTranslationsMaintenance: boolean\n} {\n const schemaConfig = getI18nConfigFromType(type)\n const cfg = config\n\n return {\n base: schemaConfig?.base || cfg?.base || '',\n idStructure: cfg.idStructure || IdStructure.DELIMITER,\n referenceBehavior: cfg.referenceBehavior || ReferenceBehavior.STRONG,\n withTranslationsMaintenance: cfg?.withTranslationsMaintenance === true,\n fieldNames: {\n lang: schemaConfig?.fieldNames?.lang || cfg?.fieldNames?.lang || '__i18n_lang',\n references:\n schemaConfig?.fieldNames?.references || cfg?.fieldNames?.references || '__i18n_refs',\n baseReference:\n schemaConfig?.fieldNames?.baseReference || cfg?.fieldNames?.baseReference || '__i18n_base',\n },\n languages: schemaConfig?.languages || cfg?.languages || [],\n }\n}\n","import {I18nDelimiter, I18nPrefix, IdStructure} from '../constants'\nimport {getConfig} from './getConfig'\n\nexport const buildDocId = (id: string, lang: string | null) => {\n const config = getConfig()\n if (config.idStructure === IdStructure.DELIMITER) return `${id}${I18nDelimiter}${lang || '*'}`\n return `${I18nPrefix}.${id}.${lang || '*'}`\n}\n","import {ILanguageObject} from '../types'\nimport {LanguageCultures} from '../constants'\n\ntype LanguageConfigObject =\n | ILanguageObject\n | (Omit<ILanguageObject, 'id'> & {\n name: string\n })\n\nexport const normalizeLanguageList = (languages: (string | LanguageConfigObject)[]) =>\n languages.map<ILanguageObject>((l) => {\n if (typeof l === 'string') {\n const langCult = LanguageCultures.find((x) => x.value === l)\n if (langCult) return {title: langCult.title, id: l}\n return {title: l, id: l}\n }\n\n if ('name' in l) {\n console.warn(\n `The \"name\" field in your language configuration is deprecated, please replace it with \"id\".`\n )\n return {title: l.title, id: l.name}\n }\n\n return {title: l.title, id: l.id}\n })\n","import {ILanguageObject} from '../types'\n\nexport const getBaseLanguage = (langs: ILanguageObject[], base?: string) => {\n if (base) return langs.find((l) => l.id === base) || null\n return langs.length > 0 ? langs[0] : null\n}\n","import client from 'part:@sanity/base/client'\nexport const getSanityClient = (): import('@sanity/client').SanityClient =>\n client.withConfig({apiVersion: `2021-10-01`})\n","import get from 'just-safe-get'\nimport languagesLoaderFn from 'part:@sanity/document-internationalization/languages/loader?'\nimport type {SanityDocument} from '@sanity/client'\nimport {ILanguageObject, TLanguagesOption} from '../types'\nimport {normalizeLanguageList} from './normalizeLanguageList'\nimport {getSanityClient} from './getSanityClient'\n\nexport const getLanguagesFromOption = async <D extends SanityDocument>(\n langs: TLanguagesOption,\n document?: D | null\n): Promise<ILanguageObject[]> => {\n const languages = normalizeLanguageList(\n await (async () => {\n if (Array.isArray(langs)) return langs\n const r = await getSanityClient().fetch(langs.query)\n const value = langs.value\n\n if (typeof value === 'string') return r.map((l) => get(l, value))\n return r.map((l) => {\n // @deprecated\n if ('name' in value) {\n return {\n name: get(l, value.name),\n title: get(l, value.title),\n }\n }\n\n return {\n id: get(l, value.id),\n title: get(l, value.title),\n }\n })\n })()\n )\n if (languagesLoaderFn) {\n const possiblePromise = languagesLoaderFn(languages, document)\n return possiblePromise\n }\n return languages\n}\n","import {I18nPrefix, I18nDelimiter} from '../constants'\n\nexport const getLanguageFromId = (id: string) => {\n // subpath\n const rx = new RegExp(`${I18nPrefix}\\\\.[^.]+\\\\.([^.]+)`)\n const match = id.match(rx)\n if (match && match.length === 2) return match[1]\n\n // delimiter\n const split = id.split(I18nDelimiter)\n if (split.length > 1) return split[1]\n return null\n}\n","import {I18nPrefix, I18nDelimiter} from '../constants'\n\nexport const getBaseIdFromId = (id: string): string => {\n const nonDraftId = id.replace(/^drafts\\./, '')\n\n // subpath\n const rx = new RegExp(`${I18nPrefix}\\\\.([^.]+)\\\\.[^.]+`)\n const match = nonDraftId.match(rx)\n if (match && match.length === 2) return match[1]\n\n // delimiter\n const split = nonDraftId.split(I18nDelimiter)\n if (split.length > 0) return split[0]\n\n return nonDraftId\n}\n","import {SanityDocument} from '@sanity/client'\nimport {useEditState} from '@sanity/react-hooks'\nimport shouldReloadFn from 'part:@sanity/document-internationalization/languages/should-reload?'\nimport {useCallback, useEffect, useMemo, useState} from 'react'\nimport {ILanguageObject} from '../../types'\nimport {getConfig, getLanguagesFromOption} from '../../utils'\n\nexport function useLanguages(document: SanityDocument): [boolean, ILanguageObject[]] {\n const config = useMemo(() => getConfig(document._type), [document._type])\n const {draft, published} = useEditState(document._id.replace(/^drafts\\./, ''), document._type)\n const [pending, setPending] = useState(false)\n const [languages, setLanguages] = useState<ILanguageObject[]>([])\n\n const loadOrReloadLanguages = useCallback(async () => {\n const shouldReload =\n languages.length === 0 || (shouldReloadFn && shouldReloadFn(draft ?? published))\n if (shouldReload) {\n setPending(true)\n const languageObjects = await getLanguagesFromOption(config.languages, draft ?? published)\n setLanguages(languageObjects)\n setPending(false)\n }\n }, [draft, published, config, languages])\n\n useEffect(() => {\n loadOrReloadLanguages()\n }, [draft, published, languages, config, loadOrReloadLanguages])\n\n return [pending, languages]\n}\n","import {useLayoutEffect, useEffect, useRef, useState} from 'react'\nimport type {Observable, Subscription} from 'rxjs'\n\nconst useIsomorphicEffect = typeof window === 'undefined' ? useEffect : useLayoutEffect\n\nexport function useManyObservables<T>(observables: Observable<T>[]): (T | null)[] {\n const subscriptions = useRef<Subscription[]>([])\n const isInitial = useRef(true)\n const [value, setState] = useState(() => {\n const isSync = observables.map(() => true)\n const syncValues = observables.map(() => null) as (T | null)[]\n subscriptions.current = observables.map((observable, index) =>\n observable.subscribe((nextVal) => {\n syncValues[index] = nextVal\n if (!isSync[index]) {\n setState([...syncValues])\n }\n isSync[index] = false\n })\n )\n return syncValues\n })\n\n useIsomorphicEffect(() => {\n // when the observable changes after initial (possibly sync render)\n if (!isInitial.current) {\n subscriptions.current = observables.map((observable, index) =>\n observable.subscribe((nextVal) => {\n value[index] = nextVal\n setState([...value])\n })\n )\n }\n isInitial.current = false\n\n return () => {\n subscriptions.current.forEach((sub) => {\n sub.unsubscribe()\n })\n subscriptions.current = []\n }\n }, [observables])\n\n return value\n}\n","import {useEditState} from '@sanity/react-hooks/dist/dts'\nimport documentStore from 'part:@sanity/base/datastore/document'\nimport {useMemo} from 'react'\nimport type {Observable} from 'rxjs'\nimport {useManyObservables} from './useManyObservables'\n\nexport function useManyEditStates(documentIds: string[], documentType: string) {\n const observables = useMemo(\n () =>\n documentIds.map((id) => documentStore.pair.editState(id, documentType)) as Observable<\n ReturnType<typeof useEditState>\n >[],\n [documentIds, documentType]\n )\n return useManyObservables(observables)\n}\n","import type {IExtendedLanguageObject} from '../types'\n\nexport const baseToTop = (a: IExtendedLanguageObject, b: IExtendedLanguageObject): number => {\n return Number(a.isBase ?? 0) - Number(b.isBase ?? 0)\n}\n","import React from 'react'\nimport {Box, Text} from '@sanity/ui'\n\nexport const LanguageSelectLabel: React.FC = ({children}) => {\n return (\n <Box padding={2}>\n <Text muted size={1}>\n {children}\n </Text>\n </Box>\n )\n}\n","var objectOmit = omit;\n\n/*\n var obj = {a: 3, b: 5, c: 9};\n omit(obj, ['a', 'c']); // {b: 5}\n omit(obj, a, c); // {b: 5}\n omit(obj, ['a', 'b', 'd']); // {c: 9}\n omit(obj, ['a', 'a']); // {b: 5, c: 9}\n*/\n\nfunction omit(obj, remove) {\n var result = {};\n if (typeof remove === 'string') {\n remove = [].slice.call(arguments, 1);\n }\n for (var prop in obj) {\n if (!obj.hasOwnProperty || obj.hasOwnProperty(prop)) {\n if (remove.indexOf(prop) === -1) {\n result[prop] = obj[prop];\n }\n }\n }\n return result;\n}\n\nexport {objectOmit as default};\n","import React, {forwardRef} from 'react'\n\nexport const SplitPaneIcon = forwardRef(function UndoIcon(\n props: React.SVGProps<SVGSVGElement>,\n ref: React.Ref<SVGSVGElement>\n) {\n return (\n <svg\n data-sanity-icon=\"splitPane\"\n width=\"1em\"\n height=\"1em\"\n viewBox=\"0 0 25 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n ref={ref}\n {...props}\n >\n <path\n d=\"M10.5 5.5V19.5M13 12.5H15.5M18 12.5H15.5M15.5 12.5V15M15.5 12.5V10M4.5 5.5H20.5V19.5H4.5V5.5Z\"\n stroke=\"currentColor\"\n strokeWidth={1.2}\n />\n </svg>\n )\n})\n","import {createContext} from 'react'\nimport {ILanguageObject} from '../../../types'\n\ntype ContextValue = {\n currentDocumentId: string | null\n currentDocumentType: string | null\n baseLanguage: ILanguageObject | null\n currentLanguage: ILanguageObject | null\n}\n\nexport const LanguageSelectContext = createContext<ContextValue>({\n currentDocumentId: null,\n currentDocumentType: null,\n baseLanguage: null,\n currentLanguage: null,\n})\n","import React from 'react'\nimport omit from 'just-omit'\nimport {hues} from '@sanity/color'\nimport {Text, Button, Badge, Flex, useToast, MenuItem} from '@sanity/ui'\nimport {AddIcon, SpinnerIcon} from '@sanity/icons'\nimport styled, {css, keyframes} from 'styled-components'\nimport {usePaneRouter} from '@sanity/desk-tool'\nimport {RouterContext} from '@sanity/state-router/lib/RouterContext'\nimport {useEditState} from '@sanity/react-hooks'\nimport {SingleFlag} from '../SingleFlag'\nimport type {IExtendedLanguageObject} from '../../../types'\nimport {UiMessages} from '../../../constants'\nimport {buildDocId, getBaseIdFromId, getConfig, getSanityClient} from '../../../utils'\nimport {SplitPaneIcon} from '../SplitPaneIcon'\nimport {LanguageSelectContext} from './LanguageSelectContext'\n\ntype Props = {\n status: 'draft' | 'published' | 'missing'\n language: IExtendedLanguageObject\n}\n\nconst rotate = keyframes`\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n`\n\nconst ListItemSpinner = styled(SpinnerIcon)`\n animation: ${rotate} 500ms linear infinite;\n`\n\nconst ListItemBadge = styled(Text)`\n margin-left: ${({theme}) => `${theme.sanity.space[2]}px`};\n margin-right: 35px;\n margin-top: 1px;\n\n & > span {\n display: inline-block;\n vertical-align: middle;\n }\n`\n\nconst ListItemSplitButton = styled(Button)`\n display: none;\n flex-shrink: 0;\n margin-left: 4px;\n\n & svg {\n display: block;\n color: ${hues.gray[700].hex};\n }\n\n ${({theme}) => css`\n @media (min-width: ${theme.sanity.media[1] / 16}em) {\n display: block;\n }\n `}\n`\n\nconst MenuItemButton: React.ComponentProps<typeof MenuItem>['as'] = (props) => (\n <button type=\"button\" {...props} />\n)\n\nconst MenuItemSelectedButton = styled.button`\n color: ${({theme}) => theme.sanity.color.button.default.primary.enabled.fg};\n background-color: ${({theme}) => theme.sanity.color.button.default.primary.enabled.bg};\n\n span {\n color: ${({theme}) => theme.sanity.color.button.default.primary.enabled.fg};\n }\n`\n\nexport const LanguageSelectListItem: React.FC<Props> = ({status, language}) => {\n const toast = useToast()\n const {currentDocumentId, currentDocumentType, baseLanguage} =\n React.useContext(LanguageSelectContext)\n\n if (!currentDocumentId || !currentDocumentType) {\n throw new Error('No document in view')\n }\n\n const routerContext = React.useContext(RouterContext)\n const {routerPanesState, groupIndex, replaceCurrent} = usePaneRouter()\n const [pending, setPending] = React.useState(false)\n const config = React.useMemo(() => getConfig(currentDocumentType), [currentDocumentType])\n const baseId = React.useMemo(() => getBaseIdFromId(currentDocumentId), [currentDocumentId])\n const flagCode = React.useMemo(() => language.id.split('-').pop(), [language.id])\n const FlagIcon = React.useMemo(\n () =>\n function FlagIconComponent(props: React.ComponentType<typeof SingleFlag>) {\n return <SingleFlag code={flagCode} {...props} />\n },\n [flagCode]\n )\n const translatedId = React.useMemo(\n () => (language.id === baseLanguage?.id ? baseId : buildDocId(baseId, language.id)),\n [baseId, language.id, baseLanguage]\n )\n const baseDocumentEditState = useEditState(baseId, currentDocumentType)\n const baseTranslationBadgeLabel = React.useMemo(() => {\n if (language.isBase) {\n if (language.title.length >= 20) {\n return UiMessages.base.split(' ')[0]\n }\n return UiMessages.base\n }\n return null\n }, [language])\n\n const openDocumentInCurrentPane = React.useCallback(\n (id: string, type: string) => {\n replaceCurrent({\n id,\n params: {type},\n })\n },\n [replaceCurrent]\n )\n\n const openDocumentInSidePane = React.useCallback(\n (id: string, type: string) => {\n const panes = [...routerPanesState]\n panes.splice(groupIndex + 1, 0, [\n {\n id: id,\n params: {type},\n },\n ])\n\n const href = routerContext.resolvePathFromState({panes})\n routerContext.navigateUrl(href)\n },\n [routerContext, routerPanesState, groupIndex]\n )\n\n const handleCreateClick = React.useCallback(async () => {\n try {\n setPending(true)\n const baseDocument = baseDocumentEditState.draft || baseDocumentEditState.published\n const langFieldName = config.fieldNames.lang\n await getSanityClient().createIfNotExists({\n ...(baseDocument ? omit(baseDocument, [config.fieldNames.references]) : {}),\n _id: `drafts.${translatedId}`,\n _type: currentDocumentType,\n [langFieldName]: language.id,\n })\n toast.push({\n closable: true,\n status: 'success',\n title: UiMessages.translationCreatedToast.title(language.title),\n description: baseLanguage\n ? UiMessages.translationCreatedToast.description(baseLanguage.title)\n : undefined,\n })\n openDocumentInCurrentPane(translatedId, currentDocumentType)\n } catch (err) {\n toast.push({\n closable: true,\n status: 'error',\n title: err.toString(),\n })\n } finally {\n setPending(false)\n }\n }, [\n toast,\n language.id,\n language.title,\n baseLanguage,\n translatedId,\n currentDocumentType,\n config.fieldNames.lang,\n config.fieldNames.references,\n openDocumentInCurrentPane,\n baseDocumentEditState.draft,\n baseDocumentEditState.published,\n ])\n\n const handleOpenClick = React.useCallback(() => {\n openDocumentInCurrentPane(translatedId, currentDocumentType)\n }, [openDocumentInCurrentPane, translatedId, currentDocumentType])\n\n const handleOpenInSidePaneClick = React.useCallback(() => {\n openDocumentInSidePane(translatedId, currentDocumentType)\n }, [openDocumentInSidePane, translatedId, currentDocumentType])\n\n if (status === 'missing') {\n return (\n <MenuItem\n as={MenuItemButton}\n data-as=\"button\"\n disabled={pending}\n icon={pending ? ListItemSpinner : AddIcon}\n text={language.title}\n onClick={handleCreateClick}\n />\n )\n }\n\n return (\n <Flex>\n <MenuItem\n as={language.isCurrentLanguage ? MenuItemSelectedButton : MenuItemButton}\n data-as=\"button\"\n data-selected={language.isCurrentLanguage}\n selected={language.isCurrentLanguage}\n icon={FlagIcon}\n iconRight={\n !!baseTranslationBadgeLabel && (\n <ListItemBadge>\n <Badge>{baseTranslationBadgeLabel}</Badge>\n </ListItemBadge>\n )\n }\n text={language.title}\n onClick={handleOpenClick}\n />\n {!language.isCurrentLanguage && (\n <ListItemSplitButton\n type=\"button\"\n tone=\"default\"\n mode=\"bleed\"\n padding={2}\n onClick={handleOpenInSidePaneClick}\n >\n <SplitPaneIcon width={19} height={19} />\n </ListItemSplitButton>\n )}\n </Flex>\n )\n}\n","import React from 'react'\nimport styled from 'styled-components'\nimport {Box, Grid} from '@sanity/ui'\nimport {IExtendedLanguageObject} from '../../../types'\nimport {UiMessages} from '../../../constants'\nimport {baseToTop} from '../../../utils/baseToTop'\nimport {LanguageSelectLabel} from './LanguageSelectLabel'\nimport {LanguageSelectListItem} from './LanguageSelectListItem'\n\ntype Props = {\n draftLanguageObjects: IExtendedLanguageObject[]\n publishedLanguageObjects: IExtendedLanguageObject[]\n missingLanguageObjects: IExtendedLanguageObject[]\n}\n\nconst Divider = styled(Box)`\n border-bottom: 1px solid var(--card-shadow-outline-color);\n`\n\nexport const LanguageSelectList: React.FC<Props> = ({\n draftLanguageObjects,\n publishedLanguageObjects,\n missingLanguageObjects,\n}) => {\n const showDivider = React.useMemo(\n () =>\n Boolean(\n !!(draftLanguageObjects.length || publishedLanguageObjects.length) &&\n missingLanguageObjects.length\n ),\n [draftLanguageObjects, publishedLanguageObjects, missingLanguageObjects]\n )\n\n const existingLanguageObjects = React.useMemo(() => {\n return [\n ...draftLanguageObjects.map((lang) => ({\n ...lang,\n status: 'draft' as const,\n })),\n ...publishedLanguageObjects.map((lang) => ({\n ...lang,\n status: 'published' as const,\n })),\n ]\n .sort(baseToTop)\n .reverse()\n }, [draftLanguageObjects, publishedLanguageObjects])\n\n return (\n <Box>\n {!!existingLanguageObjects.length && (\n <Box>\n <LanguageSelectLabel>{UiMessages.languageSelect.listLabels.existing}</LanguageSelectLabel>\n <Grid columns={1} gap={1}>\n {existingLanguageObjects.map((language) => (\n <LanguageSelectListItem\n key={language.id}\n status={language.status}\n language={language}\n />\n ))}\n </Grid>\n </Box>\n )}\n\n {showDivider && <Divider marginY={1} />}\n\n {!!missingLanguageObjects.length && (\n <Box>\n <LanguageSelectLabel>{UiMessages.languageSelect.listLabels.missing}</LanguageSelectLabel>\n <Grid columns={1} gap={1}>\n {missingLanguageObjects.map((language) => (\n <LanguageSelectListItem key={language.id} status=\"missing\" language={language} />\n ))}\n </Grid>\n </Box>\n )}\n </Box>\n )\n}\n","import React from 'react'\nimport get from 'just-safe-get'\nimport {Button, Menu, MenuButton, PopoverProps} from '@sanity/ui'\nimport type {SchemaType} from '@sanity/types'\nimport type {SanityDocument} from '@sanity/client'\nimport {ChevronDownIcon} from '@sanity/icons'\nimport {SingleFlag} from '../SingleFlag'\nimport {\n buildDocId,\n getBaseIdFromId,\n getBaseLanguage,\n getConfig,\n getLanguageFromId,\n} from '../../../utils'\nimport {useLanguages, useManyEditStates} from '../../hooks'\nimport {UiMessages} from '../../../constants'\nimport {IExtendedLanguageObject} from '../../../types'\nimport {LanguageSelectList} from './LanguageSelectList'\nimport {LanguageSelectContext} from './LanguageSelectContext'\n\ntype Props = {\n schemaType: SchemaType\n document: SanityDocument\n}\n\nconst POPOVER_PROPS: PopoverProps = {\n constrainSize: true,\n placement: 'bottom',\n portal: true,\n}\n\nexport const LanguageSelect: React.FC<Props> = ({schemaType, document}) => {\n const config = React.useMemo(() => getConfig(schemaType.name), [schemaType.name])\n const [pending, languages] = useLanguages(document)\n\n const baseLanguage = React.useMemo(\n () => getBaseLanguage(languages, config.base),\n [languages, config.base]\n )\n const currentLanguageCode = React.useMemo(\n () => getLanguageFromId(document._id) || (baseLanguage ? baseLanguage.id : null),\n [document._id, baseLanguage]\n )\n const currentLanguageObject = React.useMemo(\n () => languages.find((lang) => lang.id === currentLanguageCode),\n [languages, currentLanguageCode]\n )\n const currentLanguageFlagCode = React.useMemo(\n () => currentLanguageCode?.split('-').pop(),\n [currentLanguageCode]\n )\n const editStateIds = React.useMemo(() => {\n const baseId = getBaseIdFromId(document._id)\n return languages.map((lang) => (lang === baseLanguage ? baseId : buildDocId(baseId, lang.id)))\n }, [baseLanguage, languages, document._id])\n const editStates = useManyEditStates(editStateIds, document._type)\n\n const languagesObjects = React.useMemo(() => {\n const editStatePerLanguage = new Map<string, typeof editStates[number]>()\n editStates.forEach((state) => {\n const doc = state?.draft ?? state?.published\n const lang = get(doc ?? {}, config.fieldNames.lang) as string | undefined\n const isBase = doc && doc._id.replace(/^drafts\\./, '') === getBaseIdFromId(doc._id)\n if (lang) {\n editStatePerLanguage.set(lang, state)\n } else if (isBase && baseLanguage?.id) {\n editStatePerLanguage.set(baseLanguage.id, state)\n }\n })\n\n const draftLanguageObjects: IExtendedLanguageObject[] = []\n const publishedLanguageObjects: IExtendedLanguageObject[] = []\n const missingLanguageObjects: IExtendedLanguageObject[] = []\n\n languages.forEach((lang, index) => {\n const extendedObject = {\n ...lang,\n isBase: baseLanguage ? lang.id === baseLanguage.id : index === 0,\n isCurrentLanguage: lang.id === currentLanguageCode,\n }\n const editState = editStatePerLanguage.get(lang.id)\n if (editState?.published) {\n publishedLanguageObjects.push(extendedObject)\n } else if (editState?.draft) {\n draftLanguageObjects.push(extendedObject)\n } else {\n missingLanguageObjects.push(extendedObject)\n }\n })\n\n return {\n draftLanguageObjects,\n publishedLanguageObjects,\n missingLanguageObjects,\n }\n }, [config, languages, baseLanguage, editStates, currentLanguageCode])\n\n if (!currentLanguageObject || !currentLanguageCode || pending || languages.length === 0) {\n return (\n <Button\n disabled\n mode=\"bleed\"\n padding={3}\n loading={pending}\n iconRight={ChevronDownIcon}\n text={UiMessages.languageSelect.placeholder}\n />\n )\n }\n\n return (\n <LanguageSelectContext.Provider\n value={{\n baseLanguage,\n currentLanguage: currentLanguageObject,\n currentDocumentType: document._type,\n currentDocumentId: document._id,\n }}\n >\n <MenuButton\n id=\"document-internationalization/language-select\"\n popover={POPOVER_PROPS}\n button={\n <Button\n mode=\"bleed\"\n icon={<SingleFlag code={currentLanguageFlagCode} />}\n iconRight={ChevronDownIcon}\n padding={3}\n title={currentLanguageObject.title ?? currentLanguageObject.id}\n text={currentLanguageObject.title ?? currentLanguageObject.id}\n />\n }\n menu={\n <Menu>\n <LanguageSelectList {...languagesObjects} />\n </Menu>\n }\n />\n </LanguageSelectContext.Provider>\n )\n}\n","import React from 'react'\nimport {DocumentPaneContext} from '@sanity/desk-tool/lib/panes/document/DocumentPaneContext'\nimport type {SchemaType} from '@sanity/types'\nimport {LanguageSelect} from './components'\n\ntype Props = {\n schemaType?: SchemaType\n}\n\nconst LanguageSelectContainer: React.FC<Props> = ({schemaType}) => {\n const documentContext = React.useContext(DocumentPaneContext)\n\n if (schemaType && documentContext.displayed?._id) {\n return <LanguageSelect schemaType={schemaType} document={documentContext.displayed} />\n }\n\n return null\n}\n\nexport default LanguageSelectContainer\n"],"names":["replaceEmoji","replaceStringToArray","require$$0","makeTwemojiRenderer","SupportedEmojiFlagCodes","LanguageCultures","value","title","I18nPrefix","I18nDelimiter","ReferenceBehavior","IdStructure","UiMessages","publishing","publish","updatingIntlFields","intlFieldsUpdated","baseDocumentCopied","translationCreatedToast","name","description","loading","draft","missingTranslations","base","missing","deleteAll","buttonTitle","deleting","duplicateAll","duplicating","translationsMaintenance","selectSchemaPlaceholder","idStructureMismatch","missingLanguageField","missingDocumentRefs","missingBaseDocumentRefs","orphanDocuments","referenceBehaviorMismatch","baseLanguageMismatch","fix","errors","baseDocumentNotPublished","languageSelect","placeholder","listLabels","existing","getFlag","code","flagCode","getFlagCode","includes","toUpperCase","emoji","getEmojiFlag","toLocaleLowerCase","FlagImageContainer","styled","span","_templateObject","_taggedTemplateLiteral","SingleFlag","className","flagEmoji","useMemo","React","getSchema","schemas","_original","types","find","s","getI18nConfigFromType","type","i18nconfig","schema","i18n","getConfig","schemaConfig","cfg","config","idStructure","DELIMITER","referenceBehavior","STRONG","withTranslationsMaintenance","fieldNames","lang","references","baseReference","languages","buildDocId","id","normalizeLanguageList","map","l","langCult","x","console","warn","getBaseLanguage","langs","length","getSanityClient","client","withConfig","apiVersion","getLanguagesFromOption","_asyncToGenerator","_regeneratorRuntime","document","Array","isArray","fetch","query","r","get","languagesLoaderFn","possiblePromise","getLanguageFromId","rx","RegExp","match","split","getBaseIdFromId","nonDraftId","replace","useLanguages","_type","useEditState","_id","published","useState","_slicedToArray","pending","setPending","setLanguages","loadOrReloadLanguages","useCallback","shouldReload","shouldReloadFn","languageObjects","useEffect","useIsomorphicEffect","window","useLayoutEffect","useManyObservables","observables","subscriptions","useRef","isInitial","isSync","syncValues","current","observable","index","subscribe","nextVal","setState","forEach","sub","unsubscribe","useManyEditStates","documentIds","documentType","documentStore","pair","editState","baseToTop","a","b","Number","isBase","LanguageSelectLabel","children","Box","Text","SplitPaneIcon","forwardRef","UndoIcon","props","ref","_extends","LanguageSelectContext","createContext","currentDocumentId","currentDocumentType","baseLanguage","currentLanguage","rotate","keyframes","ListItemSpinner","SpinnerIcon","ListItemBadge","theme","sanity","space","ListItemSplitButton","Button","hues","gray","hex","css","media","MenuItemButton","MenuItemSelectedButton","button","color","primary","enabled","fg","bg","LanguageSelectListItem","status","language","toast","useToast","useContext","Error","routerContext","RouterContext","usePaneRouter","routerPanesState","groupIndex","replaceCurrent","baseId","pop","FlagIcon","FlagIconComponent","translatedId","baseDocumentEditState","baseTranslationBadgeLabel","openDocumentInCurrentPane","params","openDocumentInSidePane","panes","splice","href","resolvePathFromState","navigateUrl","handleCreateClick","baseDocument","langFieldName","createIfNotExists","omit","_defineProperty","push","closable","undefined","toString","handleOpenClick","handleOpenInSidePaneClick","MenuItem","AddIcon","Flex","isCurrentLanguage","Badge","Divider","LanguageSelectList","draftLanguageObjects","publishedLanguageObjects","missingLanguageObjects","showDivider","Boolean","existingLanguageObjects","_objectSpread","sort","reverse","Grid","POPOVER_PROPS","constrainSize","placement","portal","LanguageSelect","schemaType","currentLanguageCode","currentLanguageObject","currentLanguageFlagCode","editStateIds","editStates","languagesObjects","editStatePerLanguage","Map","state","doc","set","extendedObject","ChevronDownIcon","MenuButton","Menu","LanguageSelectContainer","documentContext","DocumentPaneContext","displayed"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../node_modules/just-safe-get/index.mjs","../../node_modules/string-replace-to-array/string-replace-to-array.js","../../node_modules/react-easy-emoji/lib/replaceEmoji.js","../../node_modules/react-easy-emoji/lib/makeTwemojiRenderer.js","../../node_modules/react-easy-emoji/index.js","../../node_modules/@cprecioso/country-flag-emoji/dist/index.mjs","../../src/constants/SupportedEmojiFlagCodes.ts","../../src/constants/LanguageCultures.ts","../../src/constants/I18nPrefix.ts","../../src/constants/I18nDelimiter.ts","../../src/constants/ReferenceBehavior.ts","../../src/constants/IdStructure.ts","../../src/constants/UiMessages.ts","../../src/utils/getFlag.ts","../../src/language-select/components/SingleFlag/SingleFlag.tsx","../../src/utils/getSchema.ts","../../src/utils/getConfig.ts","../../src/utils/buildDocId.ts","../../src/utils/normalizeLanguageList.ts","../../src/utils/getBaseLanguage.ts","../../src/utils/getSanityClient.ts","../../src/utils/getLanguagesFromOption.ts","../../src/utils/getLanguageFromId.ts","../../src/utils/getBaseIdFromId.ts","../../src/language-select/hooks/useLanguages.ts","../../src/language-select/hooks/useManyObservables.ts","../../src/language-select/hooks/useManyEditStates.ts","../../src/utils/baseToTop.ts","../../src/language-select/components/LanguageSelect/LanguageSelectLabel.tsx","../../node_modules/just-omit/index.mjs","../../src/language-select/components/SplitPaneIcon/SplitPaneIcon.tsx","../../src/language-select/components/LanguageSelect/LanguageSelectContext.ts","../../src/language-select/components/LanguageSelect/LanguageSelectListItem.tsx","../../src/language-select/components/LanguageSelect/LanguageSelectList.tsx","../../src/language-select/components/LanguageSelect/LanguageSelect.tsx","../../src/language-select/index.tsx"],"sourcesContent":["var objectSafeGet = get;\n\n/*\n const obj = {a: {aa: {aaa: 2}}, b: 4};\n\n get(obj, 'a.aa.aaa'); // 2\n get(obj, ['a', 'aa', 'aaa']); // 2\n\n get(obj, 'b.bb.bbb'); // undefined\n get(obj, ['b', 'bb', 'bbb']); // undefined\n\n get(obj.a, 'aa.aaa'); // 2\n get(obj.a, ['aa', 'aaa']); // 2\n\n get(obj.b, 'bb.bbb'); // undefined\n get(obj.b, ['bb', 'bbb']); // undefined\n\n get(obj.b, 'bb.bbb', 42); // 42\n get(obj.b, ['bb', 'bbb'], 42); // 42\n\n get(null, 'a'); // undefined\n get(undefined, ['a']); // undefined\n\n get(null, 'a', 42); // 42\n get(undefined, ['a'], 42); // 42\n\n const obj = {a: {}};\n const sym = Symbol();\n obj.a[sym] = 4;\n get(obj.a, sym); // 4\n*/\n\nfunction get(obj, propsArg, defaultValue) {\n if (!obj) {\n return defaultValue;\n }\n var props, prop;\n if (Array.isArray(propsArg)) {\n props = propsArg.slice(0);\n }\n if (typeof propsArg == 'string') {\n props = propsArg.split('.');\n }\n if (typeof propsArg == 'symbol') {\n props = [propsArg];\n }\n if (!Array.isArray(props)) {\n throw new Error('props arg must be an array, a string or a symbol');\n }\n while (props.length) {\n prop = props.shift();\n if (!obj) {\n return defaultValue;\n }\n obj = obj[prop];\n if (obj === undefined) {\n return defaultValue;\n }\n }\n return obj;\n}\n\nexport {objectSafeGet as default};\n","// Inspiration: https://github.com/facebook/react/issues/3386\n\nfunction replace (string, regexpOrSubstr, newValueOrFn, globalOffset) {\n\tif (typeof string !== 'string') throw new Error('First param must be a string')\n\tif (typeof regexpOrSubstr !== 'string' && !(regexpOrSubstr instanceof RegExp)) throw new Error('Second param must be a string pattern or a regular expression')\n\n\tvar fn = (typeof regexpOrSubstr === 'string') ? replaceUsingString : replaceUsingRegexp\n\n\treturn fn(string, regexpOrSubstr, newValueOrFn, globalOffset)\n}\n\nfunction replaceUsingString (string, patternString, newValueOrFn, globalOffset) {\n\tvar index = string.indexOf(patternString)\n\n\tif (index >= 0) {\n\t\tvar arr = []\n\t\tvar endIndex = index + patternString.length\n\n\t\tif (index > 0) {\n\t\t\tarr.push(string.substring(0, index))\n\t\t}\n\n\t\tarr.push(\n\t\t\t(typeof newValueOrFn === 'function') ?\n\t\t\t\tnewValueOrFn(\n\t\t\t\t\tstring.substring(index, endIndex),\n\t\t\t\t\tindex + globalOffset,\n\t\t\t\t\tstring\n\t\t\t\t) :\n\t\t\t\tnewValueOrFn\n\t\t)\n\n\t\tif (endIndex < string.length) {\n\t\t\tarr.push(string.substring(endIndex))\n\t\t}\n\n\t\treturn arr\n\t} else {\n\t\treturn [string]\n\t}\n}\n\nfunction replaceUsingRegexp (string, regexp, newValueOrFn, globalOffset) {\n\tvar output = []\n\n\tvar replacerIsFn = (typeof newValueOrFn === 'function')\n\n\tvar storedLastIndex = regexp.lastIndex\n\tregexp.lastIndex = 0\n\n\tvar result\n\tvar lastIndex = 0\n\twhile (result = regexp.exec(string)) {\n\t\tvar index = result.index\n\n\t\tif (result[0] === '') {\n\t\t\t// When the regexp is an empty string\n\t\t\t// we still want to advance our cursor to the next item.\n\t\t\t// This is the behavior of String.replace.\n\t\t\tregexp.lastIndex++\n\t\t}\n\n\t\tif (index !== lastIndex) {\n\t\t\toutput.push(string.substring(lastIndex, index))\n\t\t}\n\n\t\tvar match = result[0]\n\t\tlastIndex = index + match.length\n\t\t\n\t\tvar out = replacerIsFn ?\n\t\t\tnewValueOrFn.apply(this, result.concat(index + globalOffset, result.input)) :\n\t\t\tnewValueOrFn\n\t\toutput.push(out)\n\n\t\tif (!regexp.global) {\n\t\t\tbreak\n\t\t}\n\t}\n\n\tif (lastIndex < string.length) {\n\t\toutput.push(string.substring(lastIndex))\n\t}\n\n\tregexp.lastIndex = storedLastIndex\n\treturn output\n}\n\nmodule.exports = function stringReplaceToArray (stringOrArray, regexpOrSubstr, newSubStrOrFn) {\n\tif (typeof stringOrArray === 'string') {\n\t\treturn replace(stringOrArray, regexpOrSubstr, newSubStrOrFn, 0)\n\t} else if (!Array.isArray(stringOrArray) || !stringOrArray[0]) {\n\t\tthrow new TypeError('First argument must be an array or non-empty string')\n\t} else {\n\t\tvar len = stringOrArray.length\n\t\tvar output = []\n\t\tvar globalOffset = 0\n\t\tfor (var i = 0; i < len; ++i) {\n\t\t\tvar arrayItem = stringOrArray[i]\n\t\t\tif (typeof arrayItem === 'string') {\n\t\t\t\toutput.push.apply(output, replace(arrayItem, regexpOrSubstr, newSubStrOrFn, globalOffset))\n\t\t\t\tglobalOffset += arrayItem.length\n\t\t\t} else {\n\t\t\t\toutput.push(arrayItem)\n\t\t\t}\n\t\t}\n\t\treturn output\n\t}\n}","var replaceStringToArray = require('string-replace-to-array')\n\n// This is based off of https://github.com/twitter/twemoji/blob/gh-pages/2/twemoji.js\n//\n// Ideally we'd use twemoji instead of replicating its logic.\n// The reason we can't is that we need to run our own replace.\n//\n// We could use it for most things (by essentially running twemoji.parse for each\n// regex match, and reading the code from the callback), but the one thing we'd always need\n// to copy and paste into this file is the regex since we need it to run the replace.\n//\n// Another option is to fork twemoji and expose a method in it that could help us, then\n// ask them to pull it in.\n//\n\n// RegExp based on emoji's official Unicode standards\n// http://www.unicode.org/Public/UNIDATA/EmojiSources.txt\nvar re = /(?:\\ud83d\\udc68\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffc-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc68\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udffe]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffc-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffe]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d[\\udc68\\udc69]|\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d[\\udc68\\udc69]|\\ud83e\\uddd1\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1|\\ud83d\\udc6b\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc6c\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc6d\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc8f\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc91\\ud83c[\\udffb-\\udfff]|\\ud83d[\\udc6b-\\udc6d\\udc8f\\udc91])|(?:\\ud83d[\\udc68\\udc69]|\\ud83e\\uddd1)(?:\\ud83c[\\udffb-\\udfff])?\\u200d(?:\\u2695\\ufe0f|\\u2696\\ufe0f|\\u2708\\ufe0f|\\ud83c[\\udf3e\\udf73\\udf7c\\udf84\\udf93\\udfa4\\udfa8\\udfeb\\udfed]|\\ud83d[\\udcbb\\udcbc\\udd27\\udd2c\\ude80\\ude92]|\\ud83e[\\uddaf-\\uddb3\\uddbc\\uddbd])|(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75]|\\u26f9)((?:\\ud83c[\\udffb-\\udfff]|\\ufe0f)\\u200d[\\u2640\\u2642]\\ufe0f)|(?:\\ud83c[\\udfc3\\udfc4\\udfca]|\\ud83d[\\udc6e\\udc70\\udc71\\udc73\\udc77\\udc81\\udc82\\udc86\\udc87\\ude45-\\ude47\\ude4b\\ude4d\\ude4e\\udea3\\udeb4-\\udeb6]|\\ud83e[\\udd26\\udd35\\udd37-\\udd39\\udd3d\\udd3e\\uddb8\\uddb9\\uddcd-\\uddcf\\uddd4\\uddd6-\\udddd])(?:\\ud83c[\\udffb-\\udfff])?\\u200d[\\u2640\\u2642]\\ufe0f|(?:\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83c\\udff3\\ufe0f\\u200d\\u26a7\\ufe0f|\\ud83c\\udff3\\ufe0f\\u200d\\ud83c\\udf08|\\ud83d\\ude36\\u200d\\ud83c\\udf2b\\ufe0f|\\u2764\\ufe0f\\u200d\\ud83d\\udd25|\\u2764\\ufe0f\\u200d\\ud83e\\ude79|\\ud83c\\udff4\\u200d\\u2620\\ufe0f|\\ud83d\\udc15\\u200d\\ud83e\\uddba|\\ud83d\\udc3b\\u200d\\u2744\\ufe0f|\\ud83d\\udc41\\u200d\\ud83d\\udde8|\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc6f\\u200d\\u2640\\ufe0f|\\ud83d\\udc6f\\u200d\\u2642\\ufe0f|\\ud83d\\ude2e\\u200d\\ud83d\\udca8|\\ud83d\\ude35\\u200d\\ud83d\\udcab|\\ud83e\\udd3c\\u200d\\u2640\\ufe0f|\\ud83e\\udd3c\\u200d\\u2642\\ufe0f|\\ud83e\\uddde\\u200d\\u2640\\ufe0f|\\ud83e\\uddde\\u200d\\u2642\\ufe0f|\\ud83e\\udddf\\u200d\\u2640\\ufe0f|\\ud83e\\udddf\\u200d\\u2642\\ufe0f|\\ud83d\\udc08\\u200d\\u2b1b)|[#*0-9]\\ufe0f?\\u20e3|(?:[©®\\u2122\\u265f]\\ufe0f)|(?:\\ud83c[\\udc04\\udd70\\udd71\\udd7e\\udd7f\\ude02\\ude1a\\ude2f\\ude37\\udf21\\udf24-\\udf2c\\udf36\\udf7d\\udf96\\udf97\\udf99-\\udf9b\\udf9e\\udf9f\\udfcd\\udfce\\udfd4-\\udfdf\\udff3\\udff5\\udff7]|\\ud83d[\\udc3f\\udc41\\udcfd\\udd49\\udd4a\\udd6f\\udd70\\udd73\\udd76-\\udd79\\udd87\\udd8a-\\udd8d\\udda5\\udda8\\uddb1\\uddb2\\uddbc\\uddc2-\\uddc4\\uddd1-\\uddd3\\udddc-\\uddde\\udde1\\udde3\\udde8\\uddef\\uddf3\\uddfa\\udecb\\udecd-\\udecf\\udee0-\\udee5\\udee9\\udef0\\udef3]|[\\u203c\\u2049\\u2139\\u2194-\\u2199\\u21a9\\u21aa\\u231a\\u231b\\u2328\\u23cf\\u23ed-\\u23ef\\u23f1\\u23f2\\u23f8-\\u23fa\\u24c2\\u25aa\\u25ab\\u25b6\\u25c0\\u25fb-\\u25fe\\u2600-\\u2604\\u260e\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262a\\u262e\\u262f\\u2638-\\u263a\\u2640\\u2642\\u2648-\\u2653\\u2660\\u2663\\u2665\\u2666\\u2668\\u267b\\u267f\\u2692-\\u2697\\u2699\\u269b\\u269c\\u26a0\\u26a1\\u26a7\\u26aa\\u26ab\\u26b0\\u26b1\\u26bd\\u26be\\u26c4\\u26c5\\u26c8\\u26cf\\u26d1\\u26d3\\u26d4\\u26e9\\u26ea\\u26f0-\\u26f5\\u26f8\\u26fa\\u26fd\\u2702\\u2708\\u2709\\u270f\\u2712\\u2714\\u2716\\u271d\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u2764\\u27a1\\u2934\\u2935\\u2b05-\\u2b07\\u2b1b\\u2b1c\\u2b50\\u2b55\\u3030\\u303d\\u3297\\u3299])(?:\\ufe0f|(?!\\ufe0e))|(?:(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75\\udd90]|[\\u261d\\u26f7\\u26f9\\u270c\\u270d])(?:\\ufe0f|(?!\\ufe0e))|(?:\\ud83c[\\udf85\\udfc2-\\udfc4\\udfc7\\udfca]|\\ud83d[\\udc42\\udc43\\udc46-\\udc50\\udc66-\\udc69\\udc6e\\udc70-\\udc78\\udc7c\\udc81-\\udc83\\udc85-\\udc87\\udcaa\\udd7a\\udd95\\udd96\\ude45-\\ude47\\ude4b-\\ude4f\\udea3\\udeb4-\\udeb6\\udec0\\udecc]|\\ud83e[\\udd0c\\udd0f\\udd18-\\udd1c\\udd1e\\udd1f\\udd26\\udd30-\\udd39\\udd3d\\udd3e\\udd77\\uddb5\\uddb6\\uddb8\\uddb9\\uddbb\\uddcd-\\uddcf\\uddd1-\\udddd]|[\\u270a\\u270b]))(?:\\ud83c[\\udffb-\\udfff])?|(?:\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc65\\udb40\\udc6e\\udb40\\udc67\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc73\\udb40\\udc63\\udb40\\udc74\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc77\\udb40\\udc6c\\udb40\\udc73\\udb40\\udc7f|\\ud83c\\udde6\\ud83c[\\udde8-\\uddec\\uddee\\uddf1\\uddf2\\uddf4\\uddf6-\\uddfa\\uddfc\\uddfd\\uddff]|\\ud83c\\udde7\\ud83c[\\udde6\\udde7\\udde9-\\uddef\\uddf1-\\uddf4\\uddf6-\\uddf9\\uddfb\\uddfc\\uddfe\\uddff]|\\ud83c\\udde8\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\uddee\\uddf0-\\uddf5\\uddf7\\uddfa-\\uddff]|\\ud83c\\udde9\\ud83c[\\uddea\\uddec\\uddef\\uddf0\\uddf2\\uddf4\\uddff]|\\ud83c\\uddea\\ud83c[\\udde6\\udde8\\uddea\\uddec\\udded\\uddf7-\\uddfa]|\\ud83c\\uddeb\\ud83c[\\uddee-\\uddf0\\uddf2\\uddf4\\uddf7]|\\ud83c\\uddec\\ud83c[\\udde6\\udde7\\udde9-\\uddee\\uddf1-\\uddf3\\uddf5-\\uddfa\\uddfc\\uddfe]|\\ud83c\\udded\\ud83c[\\uddf0\\uddf2\\uddf3\\uddf7\\uddf9\\uddfa]|\\ud83c\\uddee\\ud83c[\\udde8-\\uddea\\uddf1-\\uddf4\\uddf6-\\uddf9]|\\ud83c\\uddef\\ud83c[\\uddea\\uddf2\\uddf4\\uddf5]|\\ud83c\\uddf0\\ud83c[\\uddea\\uddec-\\uddee\\uddf2\\uddf3\\uddf5\\uddf7\\uddfc\\uddfe\\uddff]|\\ud83c\\uddf1\\ud83c[\\udde6-\\udde8\\uddee\\uddf0\\uddf7-\\uddfb\\uddfe]|\\ud83c\\uddf2\\ud83c[\\udde6\\udde8-\\udded\\uddf0-\\uddff]|\\ud83c\\uddf3\\ud83c[\\udde6\\udde8\\uddea-\\uddec\\uddee\\uddf1\\uddf4\\uddf5\\uddf7\\uddfa\\uddff]|\\ud83c\\uddf4\\ud83c\\uddf2|\\ud83c\\uddf5\\ud83c[\\udde6\\uddea-\\udded\\uddf0-\\uddf3\\uddf7-\\uddf9\\uddfc\\uddfe]|\\ud83c\\uddf6\\ud83c\\udde6|\\ud83c\\uddf7\\ud83c[\\uddea\\uddf4\\uddf8\\uddfa\\uddfc]|\\ud83c\\uddf8\\ud83c[\\udde6-\\uddea\\uddec-\\uddf4\\uddf7-\\uddf9\\uddfb\\uddfd-\\uddff]|\\ud83c\\uddf9\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\udded\\uddef-\\uddf4\\uddf7\\uddf9\\uddfb\\uddfc\\uddff]|\\ud83c\\uddfa\\ud83c[\\udde6\\uddec\\uddf2\\uddf3\\uddf8\\uddfe\\uddff]|\\ud83c\\uddfb\\ud83c[\\udde6\\udde8\\uddea\\uddec\\uddee\\uddf3\\uddfa]|\\ud83c\\uddfc\\ud83c[\\uddeb\\uddf8]|\\ud83c\\uddfd\\ud83c\\uddf0|\\ud83c\\uddfe\\ud83c[\\uddea\\uddf9]|\\ud83c\\uddff\\ud83c[\\udde6\\uddf2\\uddfc]|\\ud83c[\\udccf\\udd8e\\udd91-\\udd9a\\udde6-\\uddff\\ude01\\ude32-\\ude36\\ude38-\\ude3a\\ude50\\ude51\\udf00-\\udf20\\udf2d-\\udf35\\udf37-\\udf7c\\udf7e-\\udf84\\udf86-\\udf93\\udfa0-\\udfc1\\udfc5\\udfc6\\udfc8\\udfc9\\udfcf-\\udfd3\\udfe0-\\udff0\\udff4\\udff8-\\udfff]|\\ud83d[\\udc00-\\udc3e\\udc40\\udc44\\udc45\\udc51-\\udc65\\udc6a\\udc6f\\udc79-\\udc7b\\udc7d-\\udc80\\udc84\\udc88-\\udc8e\\udc90\\udc92-\\udca9\\udcab-\\udcfc\\udcff-\\udd3d\\udd4b-\\udd4e\\udd50-\\udd67\\udda4\\uddfb-\\ude44\\ude48-\\ude4a\\ude80-\\udea2\\udea4-\\udeb3\\udeb7-\\udebf\\udec1-\\udec5\\uded0-\\uded2\\uded5-\\uded7\\udeeb\\udeec\\udef4-\\udefc\\udfe0-\\udfeb]|\\ud83e[\\udd0d\\udd0e\\udd10-\\udd17\\udd1d\\udd20-\\udd25\\udd27-\\udd2f\\udd3a\\udd3c\\udd3f-\\udd45\\udd47-\\udd76\\udd78\\udd7a-\\uddb4\\uddb7\\uddba\\uddbc-\\uddcb\\uddd0\\uddde-\\uddff\\ude70-\\ude74\\ude78-\\ude7a\\ude80-\\ude86\\ude90-\\udea8\\udeb0-\\udeb6\\udec0-\\udec2\\uded0-\\uded6]|[\\u23e9-\\u23ec\\u23f0\\u23f3\\u267e\\u26ce\\u2705\\u2728\\u274c\\u274e\\u2753-\\u2755\\u2795-\\u2797\\u27b0\\u27bf\\ue50a])|\\ufe0f/g\n\nfunction toCodePoint(unicodeSurrogates, sep) {\n var\n\t\tr = [],\n\t\tc = 0,\n\t\tp = 0,\n\t\ti = 0\n\t\t\n\twhile (i < unicodeSurrogates.length) {\n\t\tc = unicodeSurrogates.charCodeAt(i++)\n\t\tif (p) {\n\t\t\tr.push((0x10000 + ((p - 0xD800) << 10) + (c - 0xDC00)).toString(16))\n\t\t\tp = 0\n\t\t} else if (0xD800 <= c && c <= 0xDBFF) {\n\t\t\tp = c\n\t\t} else {\n\t\t\tr.push(c.toString(16))\n\t\t}\n\t}\n\treturn r.join(sep || '-')\n}\n\n// avoid runtime RegExp creation for not so smart,\n// not JIT based, and old browsers / engines\nvar UFE0Fg = /\\uFE0F/g\n\n// avoid using a string literal like '\\u200D' here because minifiers expand it inline\nvar U200D = String.fromCharCode(0x200D)\n\n/**\n* Used to both remove the possible variant\n* and to convert utf16 into code points.\n* If there is a zero-width-joiner (U+200D), leave the variants in.\n* @param string the raw text of the emoji match\n*/\nfunction grabTheRightIcon(rawText) {\n\t// if variant is present as \\uFE0F\n\treturn toCodePoint(rawText.indexOf(U200D) < 0 ?\n\t\trawText.replace(UFE0Fg, '') :\n\t\trawText\n\t);\n}\n\nmodule.exports = function replaceEmoji (string, render) {\n\t// Note: the latest regex added an empty matching group, so we ignore it.\n\treturn replaceStringToArray(string, re, function emojiReplacer (match, _, offset) {\n\t\tvar icon = grabTheRightIcon(match)\n\t\treturn render(icon, match, offset)\n\t})\n}\n","var createElement = require('react').createElement\n\nvar pageProtocol = (typeof location === 'undefined') ? '' : ((location.protocol === 'https:') ? 'https:' : 'http:')\n\nvar emojiStyle = {\n\theight: '1em',\n\twidth: '1em',\n\tmargin: '0 .05em 0 .1em',\n\tverticalAlign: '-0.1em'\n}\n\n// Accept protocol with or without a colon\nfunction normalizeProtocol(protocol) {\n\tif (protocol && protocol.length > 0 && protocol.charAt(protocol.length - 1) !== ':') {\n\t\treturn protocol + ':'\n\t}\n\treturn protocol\n}\n\nmodule.exports = function makeTwemojiRenderer(options) {\n\toptions = merge({\n\t\tprotocol: pageProtocol,\n\t\tbaseUrl: '//twemoji.maxcdn.com/2/',\n\t\tsize: '72x72',\n\t\text: '.png',\n\t\tprops: null\n\t}, options)\n\n\treturn function renderTwemoji (icon, match, offset) {\n\t\tvar src = ''\n\t\tif (options.baseUrl.indexOf('http') !== 0) {\n\t\t\tsrc += normalizeProtocol(options.protocol)\n\t\t}\n\n\t\tsrc += options.baseUrl + options.size + '/' + icon + options.ext\n\n\t\treturn createElement(\n\t\t\t'img',\n\t\t\tmerge({\n\t\t\t\tkey: offset,\n\t\t\t\talt: match,\n\t\t\t\tdraggable: false,\n\t\t\t\tsrc: src,\n\t\t\t\tstyle: emojiStyle\n\t\t\t}, options.props)\n\t\t)\n\t}\n}\n\nfunction merge() {\n\tvar out = {}, len = arguments.length\n\tfor(var i = 0; i < len; ++i) {\n\t\tvar source = arguments[i]\n\t\tif (source) {\n\t\t\tfor (var key in source) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(source, key)) {\n\t\t\t\t\tout[key] = source[key]\n\t\t\t\t}\n\t\t\t}\n\t\t}\n }\n return out\n}","var replaceEmoji = require('./lib/replaceEmoji'),\n\tmakeTwemojiRenderer = require('./lib/makeTwemojiRenderer')\n\nmodule.exports = function reactEasyEmoji (element, optionsOrFn) {\n\tvar render = (typeof optionsOrFn === 'function') ? optionsOrFn : makeTwemojiRenderer(optionsOrFn)\n\treturn replaceEmoji(element, render)\n}","/*\n These magic numbers are charCode math, where we take advantage of the offset\n between any two uppercase leters (e.g. A - C = 2) being the same as the one\n between the emoji flag variant of those letters (e.g. (emoji A) - (emoji C) = 2).\n*/\nconst FLAG_LETTER_EMOJI_FIRST_CODEPOINT = 55356; // \"🇦\".charCodeAt(0)\nconst UPPERCASE_AND_FLAG_LETTER_EMOJI_SECOND_CODEPOINT_OFFSET = 56741; // \"🇦\".charCodeAt(1) - \"A\".charCodeAt(0)\nconst getEmojiFlag = (countryCode) => {\n countryCode = countryCode.toUpperCase();\n /* Emoji flags are made from combination of two emoji sequences of two codepoints each. */\n return String.fromCharCode(FLAG_LETTER_EMOJI_FIRST_CODEPOINT, UPPERCASE_AND_FLAG_LETTER_EMOJI_SECOND_CODEPOINT_OFFSET +\n countryCode.charCodeAt(0), FLAG_LETTER_EMOJI_FIRST_CODEPOINT, UPPERCASE_AND_FLAG_LETTER_EMOJI_SECOND_CODEPOINT_OFFSET +\n countryCode.charCodeAt(1));\n};\nconst getCountryCode = (flagEmoji) => {\n return String.fromCharCode(flagEmoji.charCodeAt(1) -\n UPPERCASE_AND_FLAG_LETTER_EMOJI_SECOND_CODEPOINT_OFFSET, flagEmoji.charCodeAt(3) -\n UPPERCASE_AND_FLAG_LETTER_EMOJI_SECOND_CODEPOINT_OFFSET);\n};\n\nexport { getCountryCode, getEmojiFlag };\n","export const SupportedEmojiFlagCodes = [\n 'AD',\n 'AE',\n 'AF',\n 'AG',\n 'AI',\n 'AL',\n 'AM',\n 'AO',\n 'AQ',\n 'AR',\n 'AS',\n 'AT',\n 'AU',\n 'AW',\n 'AX',\n 'AZ',\n 'BA',\n 'BB',\n 'BD',\n 'BE',\n 'BF',\n 'BG',\n 'BH',\n 'BI',\n 'BJ',\n 'BL',\n 'BM',\n 'BN',\n 'BO',\n 'BQ',\n 'BR',\n 'BS',\n 'BT',\n 'BV',\n 'BW',\n 'BY',\n 'BZ',\n 'CA',\n 'CC',\n 'CD',\n 'CF',\n 'CG',\n 'CH',\n 'CI',\n 'CK',\n 'CL',\n 'CM',\n 'CN',\n 'CO',\n 'CR',\n 'CU',\n 'CV',\n 'CW',\n 'CX',\n 'CY',\n 'CZ',\n 'DE',\n 'DJ',\n 'DK',\n 'DM',\n 'DO',\n 'DZ',\n 'EC',\n 'EE',\n 'EG',\n 'EH',\n 'ER',\n 'ES',\n 'ET',\n 'FI',\n 'FJ',\n 'FK',\n 'FM',\n 'FO',\n 'FR',\n 'GA',\n 'GB',\n 'GD',\n 'GE',\n 'GF',\n 'GG',\n 'GH',\n 'GI',\n 'GL',\n 'GM',\n 'GN',\n 'GP',\n 'GQ',\n 'GR',\n 'GS',\n 'GT',\n 'GU',\n 'GW',\n 'GY',\n 'HK',\n 'HM',\n 'HN',\n 'HR',\n 'HT',\n 'HU',\n 'ID',\n 'IE',\n 'IL',\n 'IM',\n 'IN',\n 'IO',\n 'IQ',\n 'IR',\n 'IS',\n 'IT',\n 'JE',\n 'JM',\n 'JO',\n 'JP',\n 'KE',\n 'KG',\n 'KH',\n 'KI',\n 'KM',\n 'KN',\n 'KP',\n 'KR',\n 'KW',\n 'KY',\n 'KZ',\n 'LA',\n 'LB',\n 'LC',\n 'LI',\n 'LK',\n 'LR',\n 'LS',\n 'LT',\n 'LU',\n 'LV',\n 'LY',\n 'MA',\n 'MC',\n 'MD',\n 'ME',\n 'MF',\n 'MG',\n 'MH',\n 'MK',\n 'ML',\n 'MM',\n 'MN',\n 'MO',\n 'MP',\n 'MQ',\n 'MR',\n 'MS',\n 'MT',\n 'MU',\n 'MV',\n 'MW',\n 'MX',\n 'MY',\n 'MZ',\n 'NA',\n 'NC',\n 'NE',\n 'NF',\n 'NG',\n 'NI',\n 'NL',\n 'NO',\n 'NP',\n 'NR',\n 'NU',\n 'NZ',\n 'OM',\n 'PA',\n 'PE',\n 'PF',\n 'PG',\n 'PH',\n 'PK',\n 'PL',\n 'PM',\n 'PN',\n 'PR',\n 'PS',\n 'PT',\n 'PW',\n 'PY',\n 'QA',\n 'RE',\n 'RO',\n 'RS',\n 'RU',\n 'RW',\n 'SA',\n 'SB',\n 'SC',\n 'SD',\n 'SE',\n 'SG',\n 'SH',\n 'SI',\n 'SJ',\n 'SK',\n 'SL',\n 'SM',\n 'SN',\n 'SO',\n 'SR',\n 'SS',\n 'ST',\n 'SV',\n 'SX',\n 'SY',\n 'SZ',\n 'TC',\n 'TD',\n 'TF',\n 'TG',\n 'TH',\n 'TJ',\n 'TK',\n 'TL',\n 'TM',\n 'TN',\n 'TO',\n 'TR',\n 'TT',\n 'TV',\n 'TW',\n 'TZ',\n 'UA',\n 'UG',\n 'UM',\n 'US',\n 'UY',\n 'UZ',\n 'VA',\n 'VC',\n 'VE',\n 'VG',\n 'VI',\n 'VN',\n 'VU',\n 'WF',\n 'WS',\n 'YE',\n 'YT',\n 'ZA',\n 'ZM',\n 'ZW',\n]\n","export const LanguageCultures = [\n {\n value: 'af',\n title: 'Afrikaans',\n },\n {\n value: 'af-ZA',\n title: 'Afrikaans (South Africa)',\n },\n {\n value: 'ar',\n title: 'Arabic',\n },\n {\n value: 'ar-AE',\n title: 'Arabic (U.A.E.)',\n },\n {\n value: 'ar-BH',\n title: 'Arabic (Bahrain)',\n },\n {\n value: 'ar-DZ',\n title: 'Arabic (Algeria)',\n },\n {\n value: 'ar-EG',\n title: 'Arabic (Egypt)',\n },\n {\n value: 'ar-IQ',\n title: 'Arabic (Iraq)',\n },\n {\n value: 'ar-JO',\n title: 'Arabic (Jordan)',\n },\n {\n value: 'ar-KW',\n title: 'Arabic (Kuwait)',\n },\n {\n value: 'ar-LB',\n title: 'Arabic (Lebanon)',\n },\n {\n value: 'ar-LY',\n title: 'Arabic (Libya)',\n },\n {\n value: 'ar-MA',\n title: 'Arabic (Morocco)',\n },\n {\n value: 'ar-OM',\n title: 'Arabic (Oman)',\n },\n {\n value: 'ar-QA',\n title: 'Arabic (Qatar)',\n },\n {\n value: 'ar-SA',\n title: 'Arabic (Saudi Arabia)',\n },\n {\n value: 'ar-SY',\n title: 'Arabic (Syria)',\n },\n {\n value: 'ar-TN',\n title: 'Arabic (Tunisia)',\n },\n {\n value: 'ar-YE',\n title: 'Arabic (Yemen)',\n },\n {\n value: 'az',\n title: 'Azeri',\n },\n {\n value: 'az-Cyrl-AZ',\n title: 'Azeri (Cyrillic, Azerbaijan)',\n },\n {\n value: 'az-Latn-AZ',\n title: 'Azeri (Latin, Azerbaijan)',\n },\n {\n value: 'be',\n title: 'Belarusian',\n },\n {\n value: 'be-BY',\n title: 'Belarusian (Belarus)',\n },\n {\n value: 'bg',\n title: 'Bulgarian',\n },\n {\n value: 'bg-BG',\n title: 'Bulgarian (Bulgaria)',\n },\n {\n value: 'bs-Latn-BA',\n title: 'Bosnian (Bosnia and Herzegovina)',\n },\n {\n value: 'ca',\n title: 'Catalan',\n },\n {\n value: 'ca-ES',\n title: 'Catalan (Catalan)',\n },\n {\n value: 'cs',\n title: 'Czech',\n },\n {\n value: 'cs-CZ',\n title: 'Czech (Czech Republic)',\n },\n {\n value: 'cy-GB',\n title: 'Welsh (United Kingdom)',\n },\n {\n value: 'da',\n title: 'Danish',\n },\n {\n value: 'da-DK',\n title: 'Danish (Denmark)',\n },\n {\n value: 'de',\n title: 'German',\n },\n {\n value: 'de-AT',\n title: 'German (Austria)',\n },\n {\n value: 'de-DE',\n title: 'German (Germany)',\n },\n {\n value: 'de-CH',\n title: 'German (Switzerland)',\n },\n {\n value: 'de-LI',\n title: 'German (Liechtenstein)',\n },\n {\n value: 'de-LU',\n title: 'German (Luxembourg)',\n },\n {\n value: 'dv',\n title: 'Divehi',\n },\n {\n value: 'dv-MV',\n title: 'Divehi (Maldives)',\n },\n {\n value: 'el',\n title: 'Greek',\n },\n {\n value: 'el-GR',\n title: 'Greek (Greece)',\n },\n {\n value: 'en',\n title: 'English',\n },\n {\n value: 'en-029',\n title: 'English (Caribbean)',\n },\n {\n value: 'en-AU',\n title: 'English (Australia)',\n },\n {\n value: 'en-BZ',\n title: 'English (Belize)',\n },\n {\n value: 'en-CA',\n title: 'English (Canada)',\n },\n {\n value: 'en-GB',\n title: 'English (United Kingdom)',\n },\n {\n value: 'en-IE',\n title: 'English (Ireland)',\n },\n {\n value: 'en-JM',\n title: 'English (Jamaica)',\n },\n {\n value: 'en-NZ',\n title: 'English (New Zealand)',\n },\n {\n value: 'en-PH',\n title: 'English (Republic of the Philippines)',\n },\n {\n value: 'en-TT',\n title: 'English (Trinidad and Tobago)',\n },\n {\n value: 'en-US',\n title: 'English (United States)',\n },\n {\n value: 'en-ZA',\n title: 'English (South Africa)',\n },\n {\n value: 'en-ZW',\n title: 'English (Zimbabwe)',\n },\n {\n value: 'es',\n title: 'Spanish',\n },\n {\n value: 'es-AR',\n title: 'Spanish (Argentina)',\n },\n {\n value: 'es-BO',\n title: 'Spanish (Bolivia)',\n },\n {\n value: 'es-CL',\n title: 'Spanish (Chile)',\n },\n {\n value: 'es-CO',\n title: 'Spanish (Colombia)',\n },\n {\n value: 'es-CR',\n title: 'Spanish (Costa Rica)',\n },\n {\n value: 'es-DO',\n title: 'Spanish (Dominican Republic)',\n },\n {\n value: 'es-EC',\n title: 'Spanish (Ecuador)',\n },\n {\n value: 'es-ES',\n title: 'Spanish (Spain)',\n },\n {\n value: 'es-GT',\n title: 'Spanish (Guatemala)',\n },\n {\n value: 'es-HN',\n title: 'Spanish (Honduras)',\n },\n {\n value: 'es-MX',\n title: 'Spanish (Mexico)',\n },\n {\n value: 'es-NI',\n title: 'Spanish (Nicaragua)',\n },\n {\n value: 'es-PA',\n title: 'Spanish (Panama)',\n },\n {\n value: 'es-PE',\n title: 'Spanish (Peru)',\n },\n {\n value: 'es-PR',\n title: 'Spanish (Puerto Rico)',\n },\n {\n value: 'es-PY',\n title: 'Spanish (Paraguay)',\n },\n {\n value: 'es-SV',\n title: 'Spanish (El Salvador)',\n },\n {\n value: 'es-UY',\n title: 'Spanish (Uruguay)',\n },\n {\n value: 'es-VE',\n title: 'Spanish (Venezuela)',\n },\n {\n value: 'et',\n title: 'Estonian',\n },\n {\n value: 'et-EE',\n title: 'Estonian (Estonia)',\n },\n {\n value: 'eu',\n title: 'Basque',\n },\n {\n value: 'eu-ES',\n title: 'Basque (Basque)',\n },\n {\n value: 'fa',\n title: 'Persian',\n },\n {\n value: 'fa-IR',\n title: 'Persian (Iran)',\n },\n {\n value: 'fi',\n title: 'Finnish',\n },\n {\n value: 'fi-FI',\n title: 'Finnish (Finland)',\n },\n {\n value: 'fo',\n title: 'Faroese',\n },\n {\n value: 'fo-FO',\n title: 'Faroese (Faroe Islands)',\n },\n {\n value: 'fr',\n title: 'French',\n },\n {\n value: 'fr-BE',\n title: 'French (Belgium)',\n },\n {\n value: 'fr-CA',\n title: 'French (Canada)',\n },\n {\n value: 'fr-FR',\n title: 'French (France)',\n },\n {\n value: 'fr-CH',\n title: 'French (Switzerland)',\n },\n {\n value: 'fr-LU',\n title: 'French (Luxembourg)',\n },\n {\n value: 'fr-MC',\n title: 'French (Principality of Monaco)',\n },\n {\n value: 'gl',\n title: 'Galician',\n },\n {\n value: 'gl-ES',\n title: 'Galician (Galician)',\n },\n {\n value: 'gu',\n title: 'Gujarati',\n },\n {\n value: 'gu-IN',\n title: 'Gujarati (India)',\n },\n {\n value: 'he',\n title: 'Hebrew',\n },\n {\n value: 'he-IL',\n title: 'Hebrew (Israel)',\n },\n {\n value: 'hi',\n title: 'Hindi',\n },\n {\n value: 'hi-IN',\n title: 'Hindi (India)',\n },\n {\n value: 'hr',\n title: 'Croatian',\n },\n {\n value: 'hr-BA',\n title: 'Croatian (Bosnia and Herzegovina)',\n },\n {\n value: 'hr-HR',\n title: 'Croatian (Croatia)',\n },\n {\n value: 'hu',\n title: 'Hungarian',\n },\n {\n value: 'hu-HU',\n title: 'Hungarian (Hungary)',\n },\n {\n value: 'hy',\n title: 'Armenian',\n },\n {\n value: 'hy-AM',\n title: 'Armenian (Armenia)',\n },\n {\n value: 'id',\n title: 'Indonesian',\n },\n {\n value: 'id-ID',\n title: 'Indonesian (Indonesia)',\n },\n {\n value: 'is',\n title: 'Icelandic',\n },\n {\n value: 'is-IS',\n title: 'Icelandic (Iceland)',\n },\n {\n value: 'it',\n title: 'Italian',\n },\n {\n value: 'it-CH',\n title: 'Italian (Switzerland)',\n },\n {\n value: 'it-IT',\n title: 'Italian (Italy)',\n },\n {\n value: 'ja',\n title: 'Japanese',\n },\n {\n value: 'ja-JP',\n title: 'Japanese (Japan)',\n },\n {\n value: 'ka',\n title: 'Georgian',\n },\n {\n value: 'ka-GE',\n title: 'Georgian (Georgia)',\n },\n {\n value: 'kk',\n title: 'Kazakh',\n },\n {\n value: 'kk-KZ',\n title: 'Kazakh (Kazakhstan)',\n },\n {\n value: 'kn',\n title: 'Kannada',\n },\n {\n value: 'kn-IN',\n title: 'Kannada (India)',\n },\n {\n value: 'ko',\n title: 'Korean',\n },\n {\n value: 'kok',\n title: 'Konkani',\n },\n {\n value: 'kok-IN',\n title: 'Konkani (India)',\n },\n {\n value: 'ko-KR',\n title: 'Korean (Korea)',\n },\n {\n value: 'ky',\n title: 'Kyrgyz',\n },\n {\n value: 'ky-KG',\n title: 'Kyrgyz (Kyrgyzstan)',\n },\n {\n value: 'lt',\n title: 'Lithuanian',\n },\n {\n value: 'lt-LT',\n title: 'Lithuanian (Lithuania)',\n },\n {\n value: 'lv',\n title: 'Latvian',\n },\n {\n value: 'lv-LV',\n title: 'Latvian (Latvia)',\n },\n {\n value: 'mi-NZ',\n title: 'Maori (New Zealand)',\n },\n {\n value: 'mk',\n title: 'Macedonian',\n },\n {\n value: 'mk-MK',\n title: 'Macedonian (Former Yugoslav Republic of Macedonia)',\n },\n {\n value: 'mn',\n title: 'Mongolian',\n },\n {\n value: 'mn-MN',\n title: 'Mongolian (Cyrillic, Mongolia)',\n },\n {\n value: 'mr',\n title: 'Marathi',\n },\n {\n value: 'mr-IN',\n title: 'Marathi (India)',\n },\n {\n value: 'ms',\n title: 'Malay',\n },\n {\n value: 'ms-BN',\n title: 'Malay (Brunei Darussalam)',\n },\n {\n value: 'ms-MY',\n title: 'Malay (Malaysia)',\n },\n {\n value: 'mt-MT',\n title: 'Maltese (Malta)',\n },\n {\n value: 'nb-NO',\n title: 'Norwegian, Bokmal (Norway)',\n },\n {\n value: 'nl',\n title: 'Dutch',\n },\n {\n value: 'nl-BE',\n title: 'Dutch (Belgium)',\n },\n {\n value: 'nl-NL',\n title: 'Dutch (Netherlands)',\n },\n {\n value: 'nn-NO',\n title: 'Norwegian, Nynorsk (Norway)',\n },\n {\n value: 'no',\n title: 'Norwegian',\n },\n {\n value: 'ns-ZA',\n title: 'Northern Sotho (South Africa)',\n },\n {\n value: 'pa',\n title: 'Punjabi',\n },\n {\n value: 'pa-IN',\n title: 'Punjabi (India)',\n },\n {\n value: 'pl',\n title: 'Polish',\n },\n {\n value: 'pl-PL',\n title: 'Polish (Poland)',\n },\n {\n value: 'pt',\n title: 'Portuguese',\n },\n {\n value: 'pt-BR',\n title: 'Portuguese (Brazil)',\n },\n {\n value: 'pt-PT',\n title: 'Portuguese (Portugal)',\n },\n {\n value: 'quz-BO',\n title: 'Quechua (Bolivia)',\n },\n {\n value: 'quz-EC',\n title: 'Quechua (Ecuador)',\n },\n {\n value: 'quz-PE',\n title: 'Quechua (Peru)',\n },\n {\n value: 'ro',\n title: 'Romanian',\n },\n {\n value: 'ro-RO',\n title: 'Romanian (Romania)',\n },\n {\n value: 'ru',\n title: 'Russian',\n },\n {\n value: 'ru-RU',\n title: 'Russian (Russia)',\n },\n {\n value: 'sa',\n title: 'Sanskrit',\n },\n {\n value: 'sa-IN',\n title: 'Sanskrit (India)',\n },\n {\n value: 'se-FI',\n title: 'Sami (Northern) (Finland)',\n },\n {\n value: 'se-NO',\n title: 'Sami (Northern) (Norway)',\n },\n {\n value: 'se-SE',\n title: 'Sami (Northern) (Sweden)',\n },\n {\n value: 'sk',\n title: 'Slovak',\n },\n {\n value: 'sk-SK',\n title: 'Slovak (Slovakia)',\n },\n {\n value: 'sl',\n title: 'Slovenian',\n },\n {\n value: 'sl-SI',\n title: 'Slovenian (Slovenia)',\n },\n {\n value: 'sma-NO',\n title: 'Sami (Southern) (Norway)',\n },\n {\n value: 'sma-SE',\n title: 'Sami (Southern) (Sweden)',\n },\n {\n value: 'smj-NO',\n title: 'Sami (Lule) (Norway)',\n },\n {\n value: 'smj-SE',\n title: 'Sami (Lule) (Sweden)',\n },\n {\n value: 'smn-FI',\n title: 'Sami (Inari) (Finland)',\n },\n {\n value: 'sms-FI',\n title: 'Sami (Skolt) (Finland)',\n },\n {\n value: 'sq',\n title: 'Albanian',\n },\n {\n value: 'sq-AL',\n title: 'Albanian (Albania)',\n },\n {\n value: 'sr',\n title: 'Serbian',\n },\n {\n value: 'sr-Cyrl-BA',\n title: 'Serbian (Cyrillic) (Bosnia and Herzegovina)',\n },\n {\n value: 'sr-Cyrl-CS',\n title: 'Serbian (Cyrillic, Serbia)',\n },\n {\n value: 'sr-Latn-BA',\n title: 'Serbian (Latin) (Bosnia and Herzegovina)',\n },\n {\n value: 'sr-Latn-CS',\n title: 'Serbian (Latin, Serbia)',\n },\n {\n value: 'sv',\n title: 'Swedish',\n },\n {\n value: 'sv-FI',\n title: 'Swedish (Finland)',\n },\n {\n value: 'sv-SE',\n title: 'Swedish (Sweden)',\n },\n {\n value: 'sw',\n title: 'Kiswahili',\n },\n {\n value: 'sw-KE',\n title: 'Kiswahili (Kenya)',\n },\n {\n value: 'syr',\n title: 'Syriac',\n },\n {\n value: 'syr-SY',\n title: 'Syriac (Syria)',\n },\n {\n value: 'ta',\n title: 'Tamil',\n },\n {\n value: 'ta-IN',\n title: 'Tamil (India)',\n },\n {\n value: 'te',\n title: 'Telugu',\n },\n {\n value: 'te-IN',\n title: 'Telugu (India)',\n },\n {\n value: 'th',\n title: 'Thai',\n },\n {\n value: 'th-TH',\n title: 'Thai (Thailand)',\n },\n {\n value: 'tn-ZA',\n title: 'Tswana (South Africa)',\n },\n {\n value: 'tr',\n title: 'Turkish',\n },\n {\n value: 'tr-TR',\n title: 'Turkish (Turkey)',\n },\n {\n value: 'tt',\n title: 'Tatar',\n },\n {\n value: 'tt-RU',\n title: 'Tatar (Russia)',\n },\n {\n value: 'uk',\n title: 'Ukrainian',\n },\n {\n value: 'uk-UA',\n title: 'Ukrainian (Ukraine)',\n },\n {\n value: 'ur',\n title: 'Urdu',\n },\n {\n value: 'ur-PK',\n title: 'Urdu (Islamic Republic of Pakistan)',\n },\n {\n value: 'uz',\n title: 'Uzbek',\n },\n {\n value: 'uz-Cyrl-UZ',\n title: 'Uzbek (Cyrillic, Uzbekistan)',\n },\n {\n value: 'uz-Latn-UZ',\n title: 'Uzbek (Latin, Uzbekistan)',\n },\n {\n value: 'vi',\n title: 'Vietnamese',\n },\n {\n value: 'vi-VN',\n title: 'Vietnamese (Vietnam)',\n },\n {\n value: 'xh-ZA',\n title: 'Xhosa (South Africa)',\n },\n {\n value: 'zh-CN',\n title: \"Chinese (People's Republic of China)\",\n },\n {\n value: 'zh-HK',\n title: 'Chinese (Hong Kong S.A.R.)',\n },\n {\n value: 'zh-CHS',\n title: 'Chinese (Simplified)',\n },\n {\n value: 'zh-CHT',\n title: 'Chinese (Traditional)',\n },\n {\n value: 'zh-MO',\n title: 'Chinese (Macao S.A.R.)',\n },\n {\n value: 'zh-SG',\n title: 'Chinese (Singapore)',\n },\n {\n value: 'zh-TW',\n title: 'Chinese (Taiwan)',\n },\n {\n value: 'zu-ZA',\n title: 'Zulu (South Africa)',\n },\n]\n","export const I18nPrefix = 'i18n'\n","export const I18nDelimiter = '__i18n_'\n","export enum ReferenceBehavior {\n STRONG = 'strong',\n WEAK = 'weak',\n DISABLED = 'disabled',\n}\n","export enum IdStructure {\n SUBPATH = 'subpath',\n DELIMITER = 'delimiter',\n}\n","export const UiMessages = {\n publishing: 'Publishing...',\n publish: 'Publish',\n updatingIntlFields: 'Updating i18n fields',\n intlFieldsUpdated: 'I18n fields updated',\n baseDocumentCopied: 'Base document copied',\n translationCreatedToast: {\n title: (name: string): string => `Translation created: ${name}`,\n description: (name: string): string =>\n `The content from ‘${name}’ is copied into the new document translation.`,\n },\n loading: 'Loading languages...',\n draft: 'Draft',\n missingTranslations:\n 'Following languages are missing some translations compared to the base language',\n base: 'Base Translation',\n missing: 'Missing',\n deleteAll: {\n buttonTitle: 'Delete (incl. translations)',\n deleting: 'Deleting...',\n },\n duplicateAll: {\n buttonTitle: 'Duplicate (incl. translations)',\n duplicating: 'Duplicating...',\n },\n translationsMaintenance: {\n title: 'Translation Maintenance',\n selectSchemaPlaceholder: 'Select schema type',\n idStructureMismatch: 'document(s) with mismatched ID structures',\n missingLanguageField: 'document(s) are missing the language field',\n missingDocumentRefs: 'document(s) have missing translation references',\n missingBaseDocumentRefs: 'document(s) have missing base document references',\n orphanDocuments: 'orphaned translation document(s)',\n referenceBehaviorMismatch: 'document(s) with mismatched reference behaviors',\n baseLanguageMismatch: 'base document(s) with mismatched language field',\n fix: 'Fix',\n },\n errors: {\n baseDocumentNotPublished:\n 'It looks like you have not published your base translation yet. When using strong references it is required to publish the base document before publishing any translated entries',\n },\n languageSelect: {\n placeholder: 'Switch language',\n listLabels: {\n existing: 'Select document translations',\n missing: 'Create new document translations',\n },\n },\n}\n","import {getEmojiFlag} from '@cprecioso/country-flag-emoji'\nimport {SupportedEmojiFlagCodes} from '../constants'\n\n// Get flag from a valid country code\nexport const getFlag = (code = ``): string => {\n if (!code) {\n return ``\n }\n\n const flagCode = getFlagCode(code)\n\n if (!SupportedEmojiFlagCodes.includes(flagCode.toUpperCase())) {\n return ``\n }\n\n const emoji = getEmojiFlag(flagCode)\n\n return emoji\n}\n\n// Convert some language codes to country codes\nexport const getFlagCode = (code = ``): string => {\n if (!code) {\n return ``\n }\n\n switch (code.toLocaleLowerCase()) {\n case `en`:\n return `gb`\n\n default:\n return code\n }\n}\n","import React, {useMemo} from 'react'\nimport emoji from 'react-easy-emoji'\nimport styled from 'styled-components'\nimport * as customFlagComponents from 'part:@sanity/document-internationalization/ui/flags?'\nimport {getFlag} from '../../../utils/getFlag'\n\ntype Props = {\n className?: string\n code?: string\n langCulture?: string\n}\n\nconst FlagImageContainer = styled.span`\n display: block;\n padding: 1px;\n font-size: 19px;\n margin: 0px -0.05em 0px -0.1em;\n\n & img {\n display: block;\n }\n`\n\nexport const SingleFlag: React.FunctionComponent<Props> = ({code, langCulture, className}) => {\n const flagEmoji = useMemo(() => code && getFlag(code), [code])\n const CustomFlagComponent = useMemo(() => {\n if (langCulture && customFlagComponents) {\n const exportedName = langCulture.replace(/[^a-zA-Z0-9_]/g, '_')\n if (exportedName in customFlagComponents) {\n return customFlagComponents[exportedName]\n }\n }\n return null\n }, [langCulture])\n\n return (\n <FlagImageContainer aria-label={code} className={className}>\n {CustomFlagComponent && code ? <CustomFlagComponent code={code} /> : emoji(flagEmoji) || '🏳️🌈'}\n </FlagImageContainer>\n )\n}\n","import schemas from 'part:@sanity/base/schema'\nimport {TSchema} from '../types'\n\nexport const getSchema = <T = any>(name: string): TSchema<T> => {\n return schemas._original.types.find((s) => s.name === name)\n}\n","import config from 'config:@sanity/document-internationalization'\nimport {Ti18nSchema, Ti18nConfig} from '../types'\nimport {IdStructure, ReferenceBehavior} from '../constants'\nimport {getSchema} from './getSchema'\n\nconst getI18nConfigFromType = (type?: string | Ti18nSchema) => {\n let i18nconfig: Ti18nConfig = {}\n\n if (type) {\n if (typeof type === 'string') {\n const schema = getSchema<Ti18nSchema>(type)\n if (schema && typeof schema.i18n !== 'boolean') {\n i18nconfig = schema.i18n\n }\n } else if (typeof type.i18n !== 'boolean') {\n i18nconfig = type.i18n\n }\n }\n\n return i18nconfig\n}\n\nexport function getConfig(type?: string | Ti18nSchema): Required<{\n [K in keyof Ti18nConfig]: Required<Ti18nConfig[K]>\n}> & {\n withTranslationsMaintenance: boolean\n} {\n const schemaConfig = getI18nConfigFromType(type)\n const cfg = config\n\n return {\n base: schemaConfig?.base || cfg?.base || '',\n idStructure: cfg.idStructure || IdStructure.DELIMITER,\n referenceBehavior: cfg.referenceBehavior || ReferenceBehavior.STRONG,\n withTranslationsMaintenance: cfg?.withTranslationsMaintenance === true,\n fieldNames: {\n lang: schemaConfig?.fieldNames?.lang || cfg?.fieldNames?.lang || '__i18n_lang',\n references:\n schemaConfig?.fieldNames?.references || cfg?.fieldNames?.references || '__i18n_refs',\n baseReference:\n schemaConfig?.fieldNames?.baseReference || cfg?.fieldNames?.baseReference || '__i18n_base',\n },\n languages: schemaConfig?.languages || cfg?.languages || [],\n }\n}\n","import {I18nDelimiter, I18nPrefix, IdStructure} from '../constants'\nimport {getConfig} from './getConfig'\n\nexport const buildDocId = (id: string, lang: string | null) => {\n const config = getConfig()\n if (config.idStructure === IdStructure.DELIMITER) return `${id}${I18nDelimiter}${lang || '*'}`\n return `${I18nPrefix}.${id}.${lang || '*'}`\n}\n","import {ILanguageObject} from '../types'\nimport {LanguageCultures} from '../constants'\n\ntype LanguageConfigObject =\n | ILanguageObject\n | (Omit<ILanguageObject, 'id'> & {\n name: string\n })\n\nexport const normalizeLanguageList = (languages: (string | LanguageConfigObject)[]) =>\n languages.map<ILanguageObject>((l) => {\n if (typeof l === 'string') {\n const langCult = LanguageCultures.find((x) => x.value === l)\n if (langCult) return {title: langCult.title, id: l}\n return {title: l, id: l}\n }\n\n if ('name' in l) {\n console.warn(\n `The \"name\" field in your language configuration is deprecated, please replace it with \"id\".`\n )\n return {title: l.title, id: l.name}\n }\n\n return {title: l.title, id: l.id}\n })\n","import {ILanguageObject} from '../types'\n\nexport const getBaseLanguage = (langs: ILanguageObject[], base?: string) => {\n if (base) return langs.find((l) => l.id === base) || null\n return langs.length > 0 ? langs[0] : null\n}\n","import client from 'part:@sanity/base/client'\nexport const getSanityClient = (): import('@sanity/client').SanityClient =>\n client.withConfig({apiVersion: `2021-10-01`})\n","import get from 'just-safe-get'\nimport languagesLoaderFn from 'part:@sanity/document-internationalization/languages/loader?'\nimport type {SanityDocument} from '@sanity/client'\nimport {ILanguageObject, TLanguagesOption} from '../types'\nimport {normalizeLanguageList} from './normalizeLanguageList'\nimport {getSanityClient} from './getSanityClient'\n\nexport const getLanguagesFromOption = async <D extends SanityDocument>(\n langs: TLanguagesOption,\n document?: D | null\n): Promise<ILanguageObject[]> => {\n const languages = normalizeLanguageList(\n await (async () => {\n if (Array.isArray(langs)) return langs\n const r = await getSanityClient().fetch(langs.query)\n const value = langs.value\n\n if (typeof value === 'string') return r.map((l) => get(l, value))\n return r.map((l) => {\n // @deprecated\n if ('name' in value) {\n return {\n name: get(l, value.name),\n title: get(l, value.title),\n }\n }\n\n return {\n id: get(l, value.id),\n title: get(l, value.title),\n }\n })\n })()\n )\n if (languagesLoaderFn) {\n const possiblePromise = languagesLoaderFn(languages, document)\n return possiblePromise\n }\n return languages\n}\n","import {I18nPrefix, I18nDelimiter} from '../constants'\n\nexport const getLanguageFromId = (id: string) => {\n // subpath\n const rx = new RegExp(`${I18nPrefix}\\\\.[^.]+\\\\.([^.]+)`)\n const match = id.match(rx)\n if (match && match.length === 2) return match[1]\n\n // delimiter\n const split = id.split(I18nDelimiter)\n if (split.length > 1) return split[1]\n return null\n}\n","import {I18nPrefix, I18nDelimiter} from '../constants'\n\nexport const getBaseIdFromId = (id: string): string => {\n const nonDraftId = id.replace(/^drafts\\./, '')\n\n // subpath\n const rx = new RegExp(`${I18nPrefix}\\\\.([^.]+)\\\\.[^.]+`)\n const match = nonDraftId.match(rx)\n if (match && match.length === 2) return match[1]\n\n // delimiter\n const split = nonDraftId.split(I18nDelimiter)\n if (split.length > 0) return split[0]\n\n return nonDraftId\n}\n","import {SanityDocument} from '@sanity/client'\nimport {useEditState} from '@sanity/react-hooks'\nimport shouldReloadFn from 'part:@sanity/document-internationalization/languages/should-reload?'\nimport {useCallback, useEffect, useMemo, useState} from 'react'\nimport {ILanguageObject} from '../../types'\nimport {getConfig, getLanguagesFromOption} from '../../utils'\n\nexport function useLanguages(document: SanityDocument): [boolean, ILanguageObject[]] {\n const config = useMemo(() => getConfig(document._type), [document._type])\n const {draft, published} = useEditState(document._id.replace(/^drafts\\./, ''), document._type)\n const [pending, setPending] = useState(false)\n const [languages, setLanguages] = useState<ILanguageObject[]>([])\n\n const loadOrReloadLanguages = useCallback(async () => {\n const shouldReload =\n languages.length === 0 || (shouldReloadFn && shouldReloadFn(draft ?? published))\n if (shouldReload) {\n setPending(true)\n const languageObjects = await getLanguagesFromOption(config.languages, draft ?? published)\n setLanguages(languageObjects)\n setPending(false)\n }\n }, [draft, published, config, languages])\n\n useEffect(() => {\n loadOrReloadLanguages()\n }, [draft, published, languages, config, loadOrReloadLanguages])\n\n return [pending, languages]\n}\n","import {useLayoutEffect, useEffect, useRef, useState} from 'react'\nimport type {Observable, Subscription} from 'rxjs'\n\nconst useIsomorphicEffect = typeof window === 'undefined' ? useEffect : useLayoutEffect\n\nexport function useManyObservables<T>(observables: Observable<T>[]): (T | null)[] {\n const subscriptions = useRef<Subscription[]>([])\n const isInitial = useRef(true)\n const [value, setState] = useState(() => {\n const isSync = observables.map(() => true)\n const syncValues = observables.map(() => null) as (T | null)[]\n subscriptions.current = observables.map((observable, index) =>\n observable.subscribe((nextVal) => {\n syncValues[index] = nextVal\n if (!isSync[index]) {\n setState([...syncValues])\n }\n isSync[index] = false\n })\n )\n return syncValues\n })\n\n useIsomorphicEffect(() => {\n // when the observable changes after initial (possibly sync render)\n if (!isInitial.current) {\n subscriptions.current = observables.map((observable, index) =>\n observable.subscribe((nextVal) => {\n value[index] = nextVal\n setState([...value])\n })\n )\n }\n isInitial.current = false\n\n return () => {\n subscriptions.current.forEach((sub) => {\n sub.unsubscribe()\n })\n subscriptions.current = []\n }\n }, [observables])\n\n return value\n}\n","import {useEditState} from '@sanity/react-hooks/dist/dts'\nimport documentStore from 'part:@sanity/base/datastore/document'\nimport {useMemo} from 'react'\nimport type {Observable} from 'rxjs'\nimport {useManyObservables} from './useManyObservables'\n\nexport function useManyEditStates(documentIds: string[], documentType: string) {\n const observables = useMemo(\n () =>\n documentIds.map((id) => documentStore.pair.editState(id, documentType)) as Observable<\n ReturnType<typeof useEditState>\n >[],\n [documentIds, documentType]\n )\n return useManyObservables(observables)\n}\n","import type {IExtendedLanguageObject} from '../types'\n\nexport const baseToTop = (a: IExtendedLanguageObject, b: IExtendedLanguageObject): number => {\n return Number(a.isBase ?? 0) - Number(b.isBase ?? 0)\n}\n","import React from 'react'\nimport {Box, Text} from '@sanity/ui'\n\nexport const LanguageSelectLabel: React.FC = ({children}) => {\n return (\n <Box padding={2}>\n <Text muted size={1}>\n {children}\n </Text>\n </Box>\n )\n}\n","var objectOmit = omit;\n\n/*\n var obj = {a: 3, b: 5, c: 9};\n omit(obj, ['a', 'c']); // {b: 5}\n omit(obj, a, c); // {b: 5}\n omit(obj, ['a', 'b', 'd']); // {c: 9}\n omit(obj, ['a', 'a']); // {b: 5, c: 9}\n*/\n\nfunction omit(obj, remove) {\n var result = {};\n if (typeof remove === 'string') {\n remove = [].slice.call(arguments, 1);\n }\n for (var prop in obj) {\n if (!obj.hasOwnProperty || obj.hasOwnProperty(prop)) {\n if (remove.indexOf(prop) === -1) {\n result[prop] = obj[prop];\n }\n }\n }\n return result;\n}\n\nexport {objectOmit as default};\n","import React, {forwardRef} from 'react'\n\nexport const SplitPaneIcon = forwardRef(function UndoIcon(\n props: React.SVGProps<SVGSVGElement>,\n ref: React.Ref<SVGSVGElement>\n) {\n return (\n <svg\n data-sanity-icon=\"splitPane\"\n width=\"1em\"\n height=\"1em\"\n viewBox=\"0 0 25 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n ref={ref}\n {...props}\n >\n <path\n d=\"M10.5 5.5V19.5M13 12.5H15.5M18 12.5H15.5M15.5 12.5V15M15.5 12.5V10M4.5 5.5H20.5V19.5H4.5V5.5Z\"\n stroke=\"currentColor\"\n strokeWidth={1.2}\n />\n </svg>\n )\n})\n","import {createContext} from 'react'\nimport {ILanguageObject} from '../../../types'\n\ntype ContextValue = {\n currentDocumentId: string | null\n currentDocumentType: string | null\n baseLanguage: ILanguageObject | null\n currentLanguage: ILanguageObject | null\n}\n\nexport const LanguageSelectContext = createContext<ContextValue>({\n currentDocumentId: null,\n currentDocumentType: null,\n baseLanguage: null,\n currentLanguage: null,\n})\n","import React from 'react'\nimport omit from 'just-omit'\nimport {hues} from '@sanity/color'\nimport {Text, Button, Badge, Flex, useToast, MenuItem} from '@sanity/ui'\nimport {AddIcon, SpinnerIcon} from '@sanity/icons'\nimport styled, {css, keyframes} from 'styled-components'\nimport {usePaneRouter} from '@sanity/desk-tool'\nimport {RouterContext} from '@sanity/state-router/lib/RouterContext'\nimport {useEditState} from '@sanity/react-hooks'\nimport {SingleFlag} from '../SingleFlag'\nimport type {IExtendedLanguageObject} from '../../../types'\nimport {UiMessages} from '../../../constants'\nimport {buildDocId, getBaseIdFromId, getConfig, getSanityClient} from '../../../utils'\nimport {SplitPaneIcon} from '../SplitPaneIcon'\nimport {LanguageSelectContext} from './LanguageSelectContext'\n\ntype Props = {\n status: 'draft' | 'published' | 'missing'\n language: IExtendedLanguageObject\n}\n\nconst rotate = keyframes`\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n`\n\nconst ListItemSpinner = styled(SpinnerIcon)`\n animation: ${rotate} 500ms linear infinite;\n`\n\nconst ListItemBadge = styled(Text)`\n margin-left: ${({theme}) => `${theme.sanity.space[2]}px`};\n margin-right: 35px;\n margin-top: 1px;\n\n & > span {\n display: inline-block;\n vertical-align: middle;\n }\n`\n\nconst ListItemSplitButton = styled(Button)`\n display: none;\n flex-shrink: 0;\n margin-left: 4px;\n\n & svg {\n display: block;\n color: ${hues.gray[700].hex};\n }\n\n ${({theme}) => css`\n @media (min-width: ${theme.sanity.media[1] / 16}em) {\n display: block;\n }\n `}\n`\n\nconst MenuItemButton: React.ComponentProps<typeof MenuItem>['as'] = (props) => (\n <button type=\"button\" {...props} />\n)\n\nconst MenuItemSelectedButton = styled.button`\n color: ${({theme}) => theme.sanity.color.button.default.primary.enabled.fg};\n background-color: ${({theme}) => theme.sanity.color.button.default.primary.enabled.bg};\n\n span {\n color: ${({theme}) => theme.sanity.color.button.default.primary.enabled.fg};\n }\n`\n\nexport const LanguageSelectListItem: React.FC<Props> = ({status, language}) => {\n const toast = useToast()\n const {currentDocumentId, currentDocumentType, baseLanguage} =\n React.useContext(LanguageSelectContext)\n\n if (!currentDocumentId || !currentDocumentType) {\n throw new Error('No document in view')\n }\n\n const routerContext = React.useContext(RouterContext)\n const {routerPanesState, groupIndex, replaceCurrent} = usePaneRouter()\n const [pending, setPending] = React.useState(false)\n const config = React.useMemo(() => getConfig(currentDocumentType), [currentDocumentType])\n const baseId = React.useMemo(() => getBaseIdFromId(currentDocumentId), [currentDocumentId])\n const flagCode = React.useMemo(() => language.id.split(/[_-]/).pop(), [language.id])\n const FlagIcon = React.useMemo(\n () =>\n function FlagIconComponent(props: React.ComponentType<typeof SingleFlag>) {\n return <SingleFlag code={flagCode} langCulture={language.id} {...props} />\n },\n [flagCode, language]\n )\n const translatedId = React.useMemo(\n () => (language.id === baseLanguage?.id ? baseId : buildDocId(baseId, language.id)),\n [baseId, language.id, baseLanguage]\n )\n const baseDocumentEditState = useEditState(baseId, currentDocumentType)\n const baseTranslationBadgeLabel = React.useMemo(() => {\n if (language.isBase) {\n if (language.title.length >= 20) {\n return UiMessages.base.split(' ')[0]\n }\n return UiMessages.base\n }\n return null\n }, [language])\n\n const openDocumentInCurrentPane = React.useCallback(\n (id: string, type: string) => {\n replaceCurrent({\n id,\n params: {type},\n })\n },\n [replaceCurrent]\n )\n\n const openDocumentInSidePane = React.useCallback(\n (id: string, type: string) => {\n const panes = [...routerPanesState]\n panes.splice(groupIndex + 1, 0, [\n {\n id: id,\n params: {type},\n },\n ])\n\n const href = routerContext.resolvePathFromState({panes})\n routerContext.navigateUrl(href)\n },\n [routerContext, routerPanesState, groupIndex]\n )\n\n const handleCreateClick = React.useCallback(async () => {\n try {\n setPending(true)\n const baseDocument = baseDocumentEditState.draft || baseDocumentEditState.published\n const langFieldName = config.fieldNames.lang\n await getSanityClient().createIfNotExists({\n ...(baseDocument ? omit(baseDocument, [config.fieldNames.references]) : {}),\n _id: `drafts.${translatedId}`,\n _type: currentDocumentType,\n [langFieldName]: language.id,\n })\n toast.push({\n closable: true,\n status: 'success',\n title: UiMessages.translationCreatedToast.title(language.title),\n description: baseLanguage\n ? UiMessages.translationCreatedToast.description(baseLanguage.title)\n : undefined,\n })\n openDocumentInCurrentPane(translatedId, currentDocumentType)\n } catch (err) {\n toast.push({\n closable: true,\n status: 'error',\n title: err.toString(),\n })\n } finally {\n setPending(false)\n }\n }, [\n toast,\n language.id,\n language.title,\n baseLanguage,\n translatedId,\n currentDocumentType,\n config.fieldNames.lang,\n config.fieldNames.references,\n openDocumentInCurrentPane,\n baseDocumentEditState.draft,\n baseDocumentEditState.published,\n ])\n\n const handleOpenClick = React.useCallback(() => {\n openDocumentInCurrentPane(translatedId, currentDocumentType)\n }, [openDocumentInCurrentPane, translatedId, currentDocumentType])\n\n const handleOpenInSidePaneClick = React.useCallback(() => {\n openDocumentInSidePane(translatedId, currentDocumentType)\n }, [openDocumentInSidePane, translatedId, currentDocumentType])\n\n if (status === 'missing') {\n return (\n <MenuItem\n as={MenuItemButton}\n data-as=\"button\"\n disabled={pending}\n icon={pending ? ListItemSpinner : AddIcon}\n text={language.title}\n onClick={handleCreateClick}\n />\n )\n }\n\n return (\n <Flex>\n <MenuItem\n as={language.isCurrentLanguage ? MenuItemSelectedButton : MenuItemButton}\n data-as=\"button\"\n data-selected={language.isCurrentLanguage}\n selected={language.isCurrentLanguage}\n icon={FlagIcon}\n iconRight={\n !!baseTranslationBadgeLabel && (\n <ListItemBadge>\n <Badge>{baseTranslationBadgeLabel}</Badge>\n </ListItemBadge>\n )\n }\n text={language.title}\n onClick={handleOpenClick}\n />\n {!language.isCurrentLanguage && (\n <ListItemSplitButton\n type=\"button\"\n tone=\"default\"\n mode=\"bleed\"\n padding={2}\n onClick={handleOpenInSidePaneClick}\n >\n <SplitPaneIcon width={19} height={19} />\n </ListItemSplitButton>\n )}\n </Flex>\n )\n}\n","import React from 'react'\nimport styled from 'styled-components'\nimport {Box, Grid} from '@sanity/ui'\nimport {IExtendedLanguageObject} from '../../../types'\nimport {UiMessages} from '../../../constants'\nimport {baseToTop} from '../../../utils/baseToTop'\nimport {LanguageSelectLabel} from './LanguageSelectLabel'\nimport {LanguageSelectListItem} from './LanguageSelectListItem'\n\ntype Props = {\n draftLanguageObjects: IExtendedLanguageObject[]\n publishedLanguageObjects: IExtendedLanguageObject[]\n missingLanguageObjects: IExtendedLanguageObject[]\n}\n\nconst Divider = styled(Box)`\n border-bottom: 1px solid var(--card-shadow-outline-color);\n`\n\nexport const LanguageSelectList: React.FC<Props> = ({\n draftLanguageObjects,\n publishedLanguageObjects,\n missingLanguageObjects,\n}) => {\n const showDivider = React.useMemo(\n () =>\n Boolean(\n !!(draftLanguageObjects.length || publishedLanguageObjects.length) &&\n missingLanguageObjects.length\n ),\n [draftLanguageObjects, publishedLanguageObjects, missingLanguageObjects]\n )\n\n const existingLanguageObjects = React.useMemo(() => {\n return [\n ...draftLanguageObjects.map((lang) => ({\n ...lang,\n status: 'draft' as const,\n })),\n ...publishedLanguageObjects.map((lang) => ({\n ...lang,\n status: 'published' as const,\n })),\n ]\n .sort(baseToTop)\n .reverse()\n }, [draftLanguageObjects, publishedLanguageObjects])\n\n return (\n <Box>\n {!!existingLanguageObjects.length && (\n <Box>\n <LanguageSelectLabel>{UiMessages.languageSelect.listLabels.existing}</LanguageSelectLabel>\n <Grid columns={1} gap={1}>\n {existingLanguageObjects.map((language) => (\n <LanguageSelectListItem\n key={language.id}\n status={language.status}\n language={language}\n />\n ))}\n </Grid>\n </Box>\n )}\n\n {showDivider && <Divider marginY={1} />}\n\n {!!missingLanguageObjects.length && (\n <Box>\n <LanguageSelectLabel>{UiMessages.languageSelect.listLabels.missing}</LanguageSelectLabel>\n <Grid columns={1} gap={1}>\n {missingLanguageObjects.map((language) => (\n <LanguageSelectListItem key={language.id} status=\"missing\" language={language} />\n ))}\n </Grid>\n </Box>\n )}\n </Box>\n )\n}\n","import React from 'react'\nimport get from 'just-safe-get'\nimport {Button, Menu, MenuButton, PopoverProps} from '@sanity/ui'\nimport type {SchemaType} from '@sanity/types'\nimport type {SanityDocument} from '@sanity/client'\nimport {ChevronDownIcon} from '@sanity/icons'\nimport {SingleFlag} from '../SingleFlag'\nimport {\n buildDocId,\n getBaseIdFromId,\n getBaseLanguage,\n getConfig,\n getLanguageFromId,\n} from '../../../utils'\nimport {useLanguages, useManyEditStates} from '../../hooks'\nimport {UiMessages} from '../../../constants'\nimport {IExtendedLanguageObject} from '../../../types'\nimport {LanguageSelectList} from './LanguageSelectList'\nimport {LanguageSelectContext} from './LanguageSelectContext'\n\ntype Props = {\n schemaType: SchemaType\n document: SanityDocument\n}\n\nconst POPOVER_PROPS: PopoverProps = {\n constrainSize: true,\n placement: 'bottom',\n portal: true,\n}\n\nexport const LanguageSelect: React.FC<Props> = ({schemaType, document}) => {\n const config = React.useMemo(() => getConfig(schemaType.name), [schemaType.name])\n const [pending, languages] = useLanguages(document)\n\n const baseLanguage = React.useMemo(\n () => getBaseLanguage(languages, config.base),\n [languages, config.base]\n )\n const currentLanguageCode = React.useMemo(\n () => getLanguageFromId(document._id) || (baseLanguage ? baseLanguage.id : null),\n [document._id, baseLanguage]\n )\n const currentLanguageObject = React.useMemo(\n () => languages.find((lang) => lang.id === currentLanguageCode),\n [languages, currentLanguageCode]\n )\n const currentLanguageFlagCode = React.useMemo(\n () => currentLanguageCode?.split(/[-_]/).pop(),\n [currentLanguageCode]\n )\n const editStateIds = React.useMemo(() => {\n const baseId = getBaseIdFromId(document._id)\n return languages.map((lang) => (lang === baseLanguage ? baseId : buildDocId(baseId, lang.id)))\n }, [baseLanguage, languages, document._id])\n const editStates = useManyEditStates(editStateIds, document._type)\n\n const languagesObjects = React.useMemo(() => {\n const editStatePerLanguage = new Map<string, typeof editStates[number]>()\n editStates.forEach((state) => {\n const doc = state?.draft ?? state?.published\n const lang = get(doc ?? {}, config.fieldNames.lang) as string | undefined\n const isBase = doc && doc._id.replace(/^drafts\\./, '') === getBaseIdFromId(doc._id)\n if (lang) {\n editStatePerLanguage.set(lang, state)\n } else if (isBase && baseLanguage?.id) {\n editStatePerLanguage.set(baseLanguage.id, state)\n }\n })\n\n const draftLanguageObjects: IExtendedLanguageObject[] = []\n const publishedLanguageObjects: IExtendedLanguageObject[] = []\n const missingLanguageObjects: IExtendedLanguageObject[] = []\n\n languages.forEach((lang, index) => {\n const extendedObject = {\n ...lang,\n isBase: baseLanguage ? lang.id === baseLanguage.id : index === 0,\n isCurrentLanguage: lang.id === currentLanguageCode,\n }\n const editState = editStatePerLanguage.get(lang.id)\n if (editState?.published) {\n publishedLanguageObjects.push(extendedObject)\n } else if (editState?.draft) {\n draftLanguageObjects.push(extendedObject)\n } else {\n missingLanguageObjects.push(extendedObject)\n }\n })\n\n return {\n draftLanguageObjects,\n publishedLanguageObjects,\n missingLanguageObjects,\n }\n }, [config, languages, baseLanguage, editStates, currentLanguageCode])\n\n if (!currentLanguageObject || !currentLanguageCode || pending || languages.length === 0) {\n return (\n <Button\n disabled\n mode=\"bleed\"\n padding={3}\n loading={pending}\n iconRight={ChevronDownIcon}\n text={UiMessages.languageSelect.placeholder}\n />\n )\n }\n\n return (\n <LanguageSelectContext.Provider\n value={{\n baseLanguage,\n currentLanguage: currentLanguageObject,\n currentDocumentType: document._type,\n currentDocumentId: document._id,\n }}\n >\n <MenuButton\n id=\"document-internationalization/language-select\"\n popover={POPOVER_PROPS}\n button={\n <Button\n mode=\"bleed\"\n icon={<SingleFlag code={currentLanguageFlagCode} langCulture={currentLanguageCode} />}\n iconRight={ChevronDownIcon}\n padding={3}\n title={currentLanguageObject.title ?? currentLanguageObject.id}\n text={currentLanguageObject.title ?? currentLanguageObject.id}\n />\n }\n menu={\n <Menu>\n <LanguageSelectList {...languagesObjects} />\n </Menu>\n }\n />\n </LanguageSelectContext.Provider>\n )\n}\n","import React from 'react'\nimport {DocumentPaneContext} from '@sanity/desk-tool/lib/panes/document/DocumentPaneContext'\nimport type {SchemaType} from '@sanity/types'\nimport {LanguageSelect} from './components'\n\ntype Props = {\n schemaType?: SchemaType\n}\n\nconst LanguageSelectContainer: React.FC<Props> = ({schemaType}) => {\n const documentContext = React.useContext(DocumentPaneContext)\n\n if (schemaType && documentContext.displayed?._id) {\n return <LanguageSelect schemaType={schemaType} document={documentContext.displayed} />\n }\n\n return null\n}\n\nexport default LanguageSelectContainer\n"],"names":["replaceEmoji","replaceStringToArray","require$$0","makeTwemojiRenderer","SupportedEmojiFlagCodes","LanguageCultures","value","title","I18nPrefix","I18nDelimiter","ReferenceBehavior","IdStructure","UiMessages","publishing","publish","updatingIntlFields","intlFieldsUpdated","baseDocumentCopied","translationCreatedToast","name","description","loading","draft","missingTranslations","base","missing","deleteAll","buttonTitle","deleting","duplicateAll","duplicating","translationsMaintenance","selectSchemaPlaceholder","idStructureMismatch","missingLanguageField","missingDocumentRefs","missingBaseDocumentRefs","orphanDocuments","referenceBehaviorMismatch","baseLanguageMismatch","fix","errors","baseDocumentNotPublished","languageSelect","placeholder","listLabels","existing","getFlag","code","flagCode","getFlagCode","includes","toUpperCase","emoji","getEmojiFlag","toLocaleLowerCase","FlagImageContainer","styled","span","_templateObject","_taggedTemplateLiteral","SingleFlag","langCulture","className","flagEmoji","useMemo","CustomFlagComponent","customFlagComponents","exportedName","replace","React","getSchema","schemas","_original","types","find","s","getI18nConfigFromType","type","i18nconfig","schema","i18n","getConfig","schemaConfig","cfg","config","idStructure","DELIMITER","referenceBehavior","STRONG","withTranslationsMaintenance","fieldNames","lang","references","baseReference","languages","buildDocId","id","normalizeLanguageList","map","l","langCult","x","console","warn","getBaseLanguage","langs","length","getSanityClient","client","withConfig","apiVersion","getLanguagesFromOption","_asyncToGenerator","_regeneratorRuntime","document","Array","isArray","fetch","query","r","get","languagesLoaderFn","possiblePromise","getLanguageFromId","rx","RegExp","match","split","getBaseIdFromId","nonDraftId","useLanguages","_type","useEditState","_id","published","useState","_slicedToArray","pending","setPending","setLanguages","loadOrReloadLanguages","useCallback","shouldReload","shouldReloadFn","languageObjects","useEffect","useIsomorphicEffect","window","useLayoutEffect","useManyObservables","observables","subscriptions","useRef","isInitial","isSync","syncValues","current","observable","index","subscribe","nextVal","setState","forEach","sub","unsubscribe","useManyEditStates","documentIds","documentType","documentStore","pair","editState","baseToTop","a","b","Number","isBase","LanguageSelectLabel","children","Box","Text","SplitPaneIcon","forwardRef","UndoIcon","props","ref","_extends","LanguageSelectContext","createContext","currentDocumentId","currentDocumentType","baseLanguage","currentLanguage","rotate","keyframes","ListItemSpinner","SpinnerIcon","ListItemBadge","theme","sanity","space","ListItemSplitButton","Button","hues","gray","hex","css","media","MenuItemButton","MenuItemSelectedButton","button","color","primary","enabled","fg","bg","LanguageSelectListItem","status","language","toast","useToast","useContext","Error","routerContext","RouterContext","usePaneRouter","routerPanesState","groupIndex","replaceCurrent","baseId","pop","FlagIcon","FlagIconComponent","translatedId","baseDocumentEditState","baseTranslationBadgeLabel","openDocumentInCurrentPane","params","openDocumentInSidePane","panes","splice","href","resolvePathFromState","navigateUrl","handleCreateClick","baseDocument","langFieldName","createIfNotExists","omit","_defineProperty","push","closable","undefined","toString","handleOpenClick","handleOpenInSidePaneClick","MenuItem","AddIcon","Flex","isCurrentLanguage","Badge","Divider","LanguageSelectList","draftLanguageObjects","publishedLanguageObjects","missingLanguageObjects","showDivider","Boolean","existingLanguageObjects","_objectSpread","sort","reverse","Grid","POPOVER_PROPS","constrainSize","placement","portal","LanguageSelect","schemaType","currentLanguageCode","currentLanguageObject","currentLanguageFlagCode","editStateIds","editStates","languagesObjects","editStatePerLanguage","Map","state","doc","set","extendedObject","ChevronDownIcon","MenuButton","Menu","LanguageSelectContainer","documentContext","DocumentPaneContext","displayed"],"mappings":"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"}
|