@panneau/core 3.0.300 → 4.0.0
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/es/contexts.js +85 -352
- package/es/hooks.js +77 -55
- package/es/index.js +54 -45
- package/es/types/core.d.ts +133 -0
- package/es/types/form.d.ts +58 -0
- package/es/types/index.d.ts +39 -0
- package/es/types/panneau.d.ts +50 -0
- package/es/types/resource.d.ts +93 -0
- package/es/utils.js +71 -67
- package/lib/contexts.js +1406 -0
- package/lib/hooks.js +1337 -0
- package/lib/index.js +1019 -0
- package/lib/utils.js +789 -0
- package/package.json +20 -9
package/lib/index.js
ADDED
|
@@ -0,0 +1,1019 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
4
|
+
var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
5
|
+
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
6
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
8
|
+
var ReactIs = require('react-is');
|
|
9
|
+
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
10
|
+
var isArray = require('lodash-es/isArray');
|
|
11
|
+
var uniqBy = require('lodash-es/uniqBy');
|
|
12
|
+
var _callSuper = require('@babel/runtime/helpers/callSuper');
|
|
13
|
+
var _inherits = require('@babel/runtime/helpers/inherits');
|
|
14
|
+
var EventEmitter = require('wolfy87-eventemitter');
|
|
15
|
+
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
16
|
+
var isObject = require('lodash-es/isObject');
|
|
17
|
+
var uniq = require('lodash-es/uniq');
|
|
18
|
+
var tracking = require('@folklore/tracking');
|
|
19
|
+
var PropTypes$1 = require('prop-types');
|
|
20
|
+
|
|
21
|
+
var message = PropTypes$1.shape({
|
|
22
|
+
id: PropTypes$1.string.isRequired,
|
|
23
|
+
defaultMessage: PropTypes$1.string
|
|
24
|
+
});
|
|
25
|
+
var label = PropTypes$1.oneOfType([message, PropTypes$1.node]);
|
|
26
|
+
var statusCode = PropTypes$1.oneOfType([PropTypes$1.number, PropTypes$1.string]);
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Core
|
|
30
|
+
*/
|
|
31
|
+
var menuItem = PropTypes$1.shape({
|
|
32
|
+
id: PropTypes$1.oneOfType([PropTypes$1.number, PropTypes$1.string]),
|
|
33
|
+
label: label,
|
|
34
|
+
url: PropTypes$1.string,
|
|
35
|
+
external: PropTypes$1.bool,
|
|
36
|
+
active: PropTypes$1.bool
|
|
37
|
+
});
|
|
38
|
+
var menuItems = PropTypes$1.arrayOf(menuItem);
|
|
39
|
+
var button = PropTypes$1.shape({
|
|
40
|
+
id: PropTypes$1.string,
|
|
41
|
+
label: label,
|
|
42
|
+
onClick: PropTypes$1.func
|
|
43
|
+
});
|
|
44
|
+
var buttons = PropTypes$1.arrayOf(button);
|
|
45
|
+
var buttonTheme = PropTypes$1.oneOf(['primary', 'secondary', 'success', 'danger', 'warning', 'info', 'light', 'dark', null]);
|
|
46
|
+
var buttonSize = PropTypes$1.oneOf(['lg', 'md', 'sm', null]);
|
|
47
|
+
var buttonType = PropTypes$1.oneOf(['button', 'submit']);
|
|
48
|
+
var dropdownAlign = PropTypes$1.oneOf(['start', 'end']);
|
|
49
|
+
var controlSize = PropTypes$1.oneOf(['lg', 'sm', null]);
|
|
50
|
+
var formStatus = PropTypes$1.oneOf(['loading', 'success', 'error', null]);
|
|
51
|
+
var fieldOption = PropTypes$1.shape({
|
|
52
|
+
value: PropTypes$1.string,
|
|
53
|
+
label: PropTypes$1.string
|
|
54
|
+
});
|
|
55
|
+
var fieldOptions = PropTypes$1.arrayOf(fieldOption);
|
|
56
|
+
var toggle = PropTypes$1.shape({
|
|
57
|
+
key: PropTypes$1.string,
|
|
58
|
+
label: PropTypes$1.string
|
|
59
|
+
});
|
|
60
|
+
var toggles = PropTypes$1.arrayOf(toggle);
|
|
61
|
+
var tableColumn = PropTypes$1.oneOfType([PropTypes$1.string, PropTypes$1.shape({
|
|
62
|
+
id: PropTypes$1.string,
|
|
63
|
+
component: PropTypes$1.string,
|
|
64
|
+
path: PropTypes$1.string,
|
|
65
|
+
field: PropTypes$1.string,
|
|
66
|
+
columnClassName: PropTypes$1.string
|
|
67
|
+
})]);
|
|
68
|
+
var tableColumns = PropTypes$1.arrayOf(tableColumn);
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Panneau Definitions
|
|
72
|
+
*/
|
|
73
|
+
var routes = PropTypes$1.shape({
|
|
74
|
+
'resources.index': PropTypes$1.string.isRequired,
|
|
75
|
+
'resources.create': PropTypes$1.string.isRequired,
|
|
76
|
+
'resources.store': PropTypes$1.string.isRequired,
|
|
77
|
+
'resources.show': PropTypes$1.string.isRequired,
|
|
78
|
+
'resources.edit': PropTypes$1.string.isRequired,
|
|
79
|
+
'resources.update': PropTypes$1.string.isRequired,
|
|
80
|
+
'resources.delete': PropTypes$1.string.isRequired,
|
|
81
|
+
'resources.destroy': PropTypes$1.string.isRequired,
|
|
82
|
+
'resources.duplicate': PropTypes$1.string.isRequired,
|
|
83
|
+
'resources.clone': PropTypes$1.string.isRequired,
|
|
84
|
+
'resources.restore': PropTypes$1.string.isRequired
|
|
85
|
+
});
|
|
86
|
+
var intl = PropTypes$1.shape({
|
|
87
|
+
locale: PropTypes$1.string,
|
|
88
|
+
messages: PropTypes$1.objectOf(PropTypes$1.string),
|
|
89
|
+
values: PropTypes$1.objectOf(PropTypes$1.string)
|
|
90
|
+
});
|
|
91
|
+
var page = PropTypes$1.shape({
|
|
92
|
+
component: PropTypes$1.string.isRequired
|
|
93
|
+
});
|
|
94
|
+
var pages = PropTypes$1.objectOf(page);
|
|
95
|
+
var field = PropTypes$1.shape({
|
|
96
|
+
name: PropTypes$1.string,
|
|
97
|
+
// Not required on localized fields
|
|
98
|
+
type: PropTypes$1.string,
|
|
99
|
+
component: PropTypes$1.string,
|
|
100
|
+
label: PropTypes$1.node
|
|
101
|
+
});
|
|
102
|
+
var fields = PropTypes$1.arrayOf(field);
|
|
103
|
+
var form = PropTypes$1.shape({
|
|
104
|
+
// type: PropTypes.string.isRequired,
|
|
105
|
+
title: PropTypes$1.isRequired,
|
|
106
|
+
fields: fields
|
|
107
|
+
});
|
|
108
|
+
var forms = PropTypes$1.arrayOf(form);
|
|
109
|
+
var resource = PropTypes$1.shape({
|
|
110
|
+
id: PropTypes$1.string.isRequired,
|
|
111
|
+
name: PropTypes$1.string.isRequired,
|
|
112
|
+
intl: intl,
|
|
113
|
+
fields: fields,
|
|
114
|
+
forms: PropTypes$1.shape({}),
|
|
115
|
+
shows_in_navbar: PropTypes$1.bool
|
|
116
|
+
});
|
|
117
|
+
var resources = PropTypes$1.arrayOf(resource);
|
|
118
|
+
var panneauDefinition = PropTypes$1.shape({
|
|
119
|
+
name: PropTypes$1.string,
|
|
120
|
+
resources: resources,
|
|
121
|
+
routes: routes,
|
|
122
|
+
pages: pages,
|
|
123
|
+
intl: intl
|
|
124
|
+
// intl,
|
|
125
|
+
});
|
|
126
|
+
var definition = PropTypes$1.shape({
|
|
127
|
+
name: PropTypes$1.string
|
|
128
|
+
// resources,
|
|
129
|
+
// routes,
|
|
130
|
+
// intl,
|
|
131
|
+
});
|
|
132
|
+
var item = PropTypes$1.shape({
|
|
133
|
+
id: PropTypes$1.string.isRequired
|
|
134
|
+
});
|
|
135
|
+
var items = PropTypes$1.arrayOf(item);
|
|
136
|
+
var user = PropTypes$1.shape({
|
|
137
|
+
id: PropTypes$1.oneOfType([PropTypes$1.number, PropTypes$1.string])
|
|
138
|
+
});
|
|
139
|
+
var users = PropTypes$1.arrayOf(user);
|
|
140
|
+
var selectOption = PropTypes$1.oneOfType([PropTypes$1.string, PropTypes$1.number, PropTypes$1.shape({
|
|
141
|
+
value: PropTypes$1.any,
|
|
142
|
+
// eslint-disable-line
|
|
143
|
+
label: label
|
|
144
|
+
}), PropTypes$1.object]);
|
|
145
|
+
var selectOptions = PropTypes$1.arrayOf(selectOption);
|
|
146
|
+
var feedback = PropTypes$1.oneOf(['valid', 'invalid', 'loading', null]);
|
|
147
|
+
var formError = PropTypes$1.shape({
|
|
148
|
+
message: PropTypes$1.string
|
|
149
|
+
});
|
|
150
|
+
var formErrors = PropTypes$1.arrayOf(formError);
|
|
151
|
+
var uppy = PropTypes$1.shape({
|
|
152
|
+
tus: PropTypes$1.object
|
|
153
|
+
}); // eslint-disable-line
|
|
154
|
+
|
|
155
|
+
var triggerUpdate = PropTypes$1.string;
|
|
156
|
+
var breadcrumb = PropTypes$1.shape({
|
|
157
|
+
url: PropTypes$1.string
|
|
158
|
+
});
|
|
159
|
+
var breadcrumbs = PropTypes$1.arrayOf(breadcrumb);
|
|
160
|
+
var font = PropTypes$1.shape({
|
|
161
|
+
// url: PropTypes.string,
|
|
162
|
+
});
|
|
163
|
+
var fonts = PropTypes$1.arrayOf(font);
|
|
164
|
+
var trackingVariables = PropTypes$1.shape({});
|
|
165
|
+
var modal = PropTypes$1.shape({
|
|
166
|
+
name: PropTypes$1.string
|
|
167
|
+
});
|
|
168
|
+
var modals = PropTypes$1.arrayOf(modal);
|
|
169
|
+
var filter = PropTypes$1.shape({
|
|
170
|
+
id: PropTypes$1.string,
|
|
171
|
+
component: PropTypes$1.string
|
|
172
|
+
});
|
|
173
|
+
var filters = PropTypes$1.arrayOf(filter);
|
|
174
|
+
var media = PropTypes$1.shape({
|
|
175
|
+
id: PropTypes$1.string.isRequired,
|
|
176
|
+
name: PropTypes$1.string.isRequired,
|
|
177
|
+
type: PropTypes$1.string.isRequired,
|
|
178
|
+
thumbnail_url: PropTypes$1.string
|
|
179
|
+
});
|
|
180
|
+
var medias = PropTypes$1.arrayOf(media);
|
|
181
|
+
var preview = PropTypes$1.shape({
|
|
182
|
+
id: PropTypes$1.string
|
|
183
|
+
});
|
|
184
|
+
var previews = PropTypes$1.arrayOf(preview);
|
|
185
|
+
|
|
186
|
+
var PropTypes = /*#__PURE__*/Object.freeze({
|
|
187
|
+
__proto__: null,
|
|
188
|
+
breadcrumb: breadcrumb,
|
|
189
|
+
breadcrumbs: breadcrumbs,
|
|
190
|
+
button: button,
|
|
191
|
+
buttonSize: buttonSize,
|
|
192
|
+
buttonTheme: buttonTheme,
|
|
193
|
+
buttonType: buttonType,
|
|
194
|
+
buttons: buttons,
|
|
195
|
+
controlSize: controlSize,
|
|
196
|
+
definition: definition,
|
|
197
|
+
dropdownAlign: dropdownAlign,
|
|
198
|
+
feedback: feedback,
|
|
199
|
+
field: field,
|
|
200
|
+
fieldOption: fieldOption,
|
|
201
|
+
fieldOptions: fieldOptions,
|
|
202
|
+
fields: fields,
|
|
203
|
+
filter: filter,
|
|
204
|
+
filters: filters,
|
|
205
|
+
font: font,
|
|
206
|
+
fonts: fonts,
|
|
207
|
+
form: form,
|
|
208
|
+
formError: formError,
|
|
209
|
+
formErrors: formErrors,
|
|
210
|
+
formStatus: formStatus,
|
|
211
|
+
forms: forms,
|
|
212
|
+
intl: intl,
|
|
213
|
+
item: item,
|
|
214
|
+
items: items,
|
|
215
|
+
label: label,
|
|
216
|
+
media: media,
|
|
217
|
+
medias: medias,
|
|
218
|
+
menuItem: menuItem,
|
|
219
|
+
menuItems: menuItems,
|
|
220
|
+
message: message,
|
|
221
|
+
modal: modal,
|
|
222
|
+
modals: modals,
|
|
223
|
+
page: page,
|
|
224
|
+
pages: pages,
|
|
225
|
+
panneauDefinition: panneauDefinition,
|
|
226
|
+
preview: preview,
|
|
227
|
+
previews: previews,
|
|
228
|
+
resource: resource,
|
|
229
|
+
resources: resources,
|
|
230
|
+
routes: routes,
|
|
231
|
+
selectOption: selectOption,
|
|
232
|
+
selectOptions: selectOptions,
|
|
233
|
+
statusCode: statusCode,
|
|
234
|
+
tableColumn: tableColumn,
|
|
235
|
+
tableColumns: tableColumns,
|
|
236
|
+
toggle: toggle,
|
|
237
|
+
toggles: toggles,
|
|
238
|
+
trackingVariables: trackingVariables,
|
|
239
|
+
triggerUpdate: triggerUpdate,
|
|
240
|
+
uppy: uppy,
|
|
241
|
+
user: user,
|
|
242
|
+
users: users
|
|
243
|
+
});
|
|
244
|
+
|
|
245
|
+
// Regexps involved with splitting words in various case formats.
|
|
246
|
+
var SPLIT_LOWER_UPPER_RE = /((?:[0-9a-z\xB5\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0296-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0560-\u0588\u10D0-\u10FA\u10FD-\u10FF\u13F8-\u13FD\u1C80-\u1C88\u1C8A\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6\u1FC7\u1FD0-\u1FD3\u1FD6\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6\u1FF7\u210A\u210E\u210F\u2113\u212F\u2134\u2139\u213C\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5F\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7AF\uA7B5\uA7B7\uA7B9\uA7BB\uA7BD\uA7BF\uA7C1\uA7C3\uA7C8\uA7CA\uA7CD\uA7CF\uA7D1\uA7D3\uA7D5\uA7D7\uA7D9\uA7DB\uA7F6\uA7FA\uAB30-\uAB5A\uAB60-\uAB68\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A]|\uD801[\uDC28-\uDC4F\uDCD8-\uDCFB\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC]|\uD803[\uDCC0-\uDCF2\uDD70-\uDD85]|\uD806[\uDCC0-\uDCDF]|\uD81B[\uDE60-\uDE7F\uDEBB-\uDED3]|\uD835[\uDC1A-\uDC33\uDC4E-\uDC54\uDC56-\uDC67\uDC82-\uDC9B\uDCB6-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDCEA-\uDD03\uDD1E-\uDD37\uDD52-\uDD6B\uDD86-\uDD9F\uDDBA-\uDDD3\uDDEE-\uDE07\uDE22-\uDE3B\uDE56-\uDE6F\uDE8A-\uDEA5\uDEC2-\uDEDA\uDEDC-\uDEE1\uDEFC-\uDF14\uDF16-\uDF1B\uDF36-\uDF4E\uDF50-\uDF55\uDF70-\uDF88\uDF8A-\uDF8F\uDFAA-\uDFC2\uDFC4-\uDFC9\uDFCB]|\uD837[\uDF00-\uDF09\uDF0B-\uDF1E\uDF25-\uDF2A]|\uD83A[\uDD22-\uDD43]))((?:[A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1C89\u1C90-\u1CBA\u1CBD-\u1CBF\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E\u213F\u2145\u2183\u2C00-\u2C2F\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uA7B8\uA7BA\uA7BC\uA7BE\uA7C0\uA7C2\uA7C4-\uA7C7\uA7C9\uA7CB\uA7CC\uA7CE\uA7D0\uA7D2\uA7D4\uA7D6\uA7D8\uA7DA\uA7DC\uA7F5\uFF21-\uFF3A]|\uD801[\uDC00-\uDC27\uDCB0-\uDCD3\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95]|\uD803[\uDC80-\uDCB2\uDD50-\uDD65]|\uD806[\uDCA0-\uDCBF]|\uD81B[\uDE40-\uDE5F\uDEA0-\uDEB8]|\uD835[\uDC00-\uDC19\uDC34-\uDC4D\uDC68-\uDC81\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB5\uDCD0-\uDCE9\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD38\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD6C-\uDD85\uDDA0-\uDDB9\uDDD4-\uDDED\uDE08-\uDE21\uDE3C-\uDE55\uDE70-\uDE89\uDEA8-\uDEC0\uDEE2-\uDEFA\uDF1C-\uDF34\uDF56-\uDF6E\uDF90-\uDFA8\uDFCA]|\uD83A[\uDD00-\uDD21]))/g;
|
|
247
|
+
var SPLIT_UPPER_UPPER_RE = /((?:[A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1C89\u1C90-\u1CBA\u1CBD-\u1CBF\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E\u213F\u2145\u2183\u2C00-\u2C2F\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uA7B8\uA7BA\uA7BC\uA7BE\uA7C0\uA7C2\uA7C4-\uA7C7\uA7C9\uA7CB\uA7CC\uA7CE\uA7D0\uA7D2\uA7D4\uA7D6\uA7D8\uA7DA\uA7DC\uA7F5\uFF21-\uFF3A]|\uD801[\uDC00-\uDC27\uDCB0-\uDCD3\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95]|\uD803[\uDC80-\uDCB2\uDD50-\uDD65]|\uD806[\uDCA0-\uDCBF]|\uD81B[\uDE40-\uDE5F\uDEA0-\uDEB8]|\uD835[\uDC00-\uDC19\uDC34-\uDC4D\uDC68-\uDC81\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB5\uDCD0-\uDCE9\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD38\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD6C-\uDD85\uDDA0-\uDDB9\uDDD4-\uDDED\uDE08-\uDE21\uDE3C-\uDE55\uDE70-\uDE89\uDEA8-\uDEC0\uDEE2-\uDEFA\uDF1C-\uDF34\uDF56-\uDF6E\uDF90-\uDFA8\uDFCA]|\uD83A[\uDD00-\uDD21]))((?:[A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1C89\u1C90-\u1CBA\u1CBD-\u1CBF\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E\u213F\u2145\u2183\u2C00-\u2C2F\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uA7B8\uA7BA\uA7BC\uA7BE\uA7C0\uA7C2\uA7C4-\uA7C7\uA7C9\uA7CB\uA7CC\uA7CE\uA7D0\uA7D2\uA7D4\uA7D6\uA7D8\uA7DA\uA7DC\uA7F5\uFF21-\uFF3A]|\uD801[\uDC00-\uDC27\uDCB0-\uDCD3\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95]|\uD803[\uDC80-\uDCB2\uDD50-\uDD65]|\uD806[\uDCA0-\uDCBF]|\uD81B[\uDE40-\uDE5F\uDEA0-\uDEB8]|\uD835[\uDC00-\uDC19\uDC34-\uDC4D\uDC68-\uDC81\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB5\uDCD0-\uDCE9\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD38\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD6C-\uDD85\uDDA0-\uDDB9\uDDD4-\uDDED\uDE08-\uDE21\uDE3C-\uDE55\uDE70-\uDE89\uDEA8-\uDEC0\uDEE2-\uDEFA\uDF1C-\uDF34\uDF56-\uDF6E\uDF90-\uDFA8\uDFCA]|\uD83A[\uDD00-\uDD21])(?:[a-z\xB5\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0296-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0560-\u0588\u10D0-\u10FA\u10FD-\u10FF\u13F8-\u13FD\u1C80-\u1C88\u1C8A\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6\u1FC7\u1FD0-\u1FD3\u1FD6\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6\u1FF7\u210A\u210E\u210F\u2113\u212F\u2134\u2139\u213C\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5F\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7AF\uA7B5\uA7B7\uA7B9\uA7BB\uA7BD\uA7BF\uA7C1\uA7C3\uA7C8\uA7CA\uA7CD\uA7CF\uA7D1\uA7D3\uA7D5\uA7D7\uA7D9\uA7DB\uA7F6\uA7FA\uAB30-\uAB5A\uAB60-\uAB68\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A]|\uD801[\uDC28-\uDC4F\uDCD8-\uDCFB\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC]|\uD803[\uDCC0-\uDCF2\uDD70-\uDD85]|\uD806[\uDCC0-\uDCDF]|\uD81B[\uDE60-\uDE7F\uDEBB-\uDED3]|\uD835[\uDC1A-\uDC33\uDC4E-\uDC54\uDC56-\uDC67\uDC82-\uDC9B\uDCB6-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDCEA-\uDD03\uDD1E-\uDD37\uDD52-\uDD6B\uDD86-\uDD9F\uDDBA-\uDDD3\uDDEE-\uDE07\uDE22-\uDE3B\uDE56-\uDE6F\uDE8A-\uDEA5\uDEC2-\uDEDA\uDEDC-\uDEE1\uDEFC-\uDF14\uDF16-\uDF1B\uDF36-\uDF4E\uDF50-\uDF55\uDF70-\uDF88\uDF8A-\uDF8F\uDFAA-\uDFC2\uDFC4-\uDFC9\uDFCB]|\uD837[\uDF00-\uDF09\uDF0B-\uDF1E\uDF25-\uDF2A]|\uD83A[\uDD22-\uDD43]))/g;
|
|
248
|
+
// Used to iterate over the initial split result and separate numbers.
|
|
249
|
+
var SPLIT_SEPARATE_NUMBER_RE = /([0-9])(?:[a-z\xB5\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0296-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0560-\u0588\u10D0-\u10FA\u10FD-\u10FF\u13F8-\u13FD\u1C80-\u1C88\u1C8A\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6\u1FC7\u1FD0-\u1FD3\u1FD6\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6\u1FF7\u210A\u210E\u210F\u2113\u212F\u2134\u2139\u213C\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5F\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7AF\uA7B5\uA7B7\uA7B9\uA7BB\uA7BD\uA7BF\uA7C1\uA7C3\uA7C8\uA7CA\uA7CD\uA7CF\uA7D1\uA7D3\uA7D5\uA7D7\uA7D9\uA7DB\uA7F6\uA7FA\uAB30-\uAB5A\uAB60-\uAB68\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A]|\uD801[\uDC28-\uDC4F\uDCD8-\uDCFB\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC]|\uD803[\uDCC0-\uDCF2\uDD70-\uDD85]|\uD806[\uDCC0-\uDCDF]|\uD81B[\uDE60-\uDE7F\uDEBB-\uDED3]|\uD835[\uDC1A-\uDC33\uDC4E-\uDC54\uDC56-\uDC67\uDC82-\uDC9B\uDCB6-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDCEA-\uDD03\uDD1E-\uDD37\uDD52-\uDD6B\uDD86-\uDD9F\uDDBA-\uDDD3\uDDEE-\uDE07\uDE22-\uDE3B\uDE56-\uDE6F\uDE8A-\uDEA5\uDEC2-\uDEDA\uDEDC-\uDEE1\uDEFC-\uDF14\uDF16-\uDF1B\uDF36-\uDF4E\uDF50-\uDF55\uDF70-\uDF88\uDF8A-\uDF8F\uDFAA-\uDFC2\uDFC4-\uDFC9\uDFCB]|\uD837[\uDF00-\uDF09\uDF0B-\uDF1E\uDF25-\uDF2A]|\uD83A[\uDD22-\uDD43])|((?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088F\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5C\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDC-\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD40-\uDD59\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC7\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDB0-\uDDDB\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDEA0-\uDEB8\uDEBB-\uDED3\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3\uDFF2\uDFF3]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDEC0-\uDEDE\uDEE0-\uDEE2\uDEE4\uDEE5\uDEE7-\uDEED\uDEF0-\uDEF4\uDEFE\uDEFF\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79]))[0-9]/;
|
|
250
|
+
// Regexp involved with stripping non-word characters from the result.
|
|
251
|
+
var DEFAULT_STRIP_REGEXP = /(?:(?![0-9A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0345\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088F\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5C\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDC-\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uD800-\uDFFF\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC])[^]|\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEFF\uDF20-\uDF2C\uDF41\uDF4A-\uDF4F\uDF76-\uDF7F\uDF9E\uDF9F\uDFC4-\uDFC7\uDFD0-\uDFFF]|\uD801[\uDC9E-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDD6F\uDD7B\uDD8B\uDD93\uDD96\uDDA2\uDDB2\uDDBA\uDDBD-\uDDBF\uDDF4-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDF7F\uDF86\uDFB1\uDFBB-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56-\uDC5F\uDC77-\uDC7F\uDC9F-\uDCDF\uDCF3\uDCF6-\uDCFF\uDD16-\uDD1F\uDD3A-\uDD3F\uDD5A-\uDD7F\uDDB8-\uDDBD\uDDC0-\uDDFF\uDE01-\uDE0F\uDE14\uDE18\uDE36-\uDE5F\uDE7D-\uDE7F\uDE9D-\uDEBF\uDEC8\uDEE5-\uDEFF\uDF36-\uDF3F\uDF56-\uDF5F\uDF73-\uDF7F\uDF92-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCFF\uDD24-\uDD49\uDD66-\uDD6E\uDD86-\uDE7F\uDEAA-\uDEAF\uDEB2-\uDEC1\uDEC8-\uDEFF\uDF1D-\uDF26\uDF28-\uDF2F\uDF46-\uDF6F\uDF82-\uDFAF\uDFC5-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC00-\uDC02\uDC38-\uDC70\uDC73\uDC74\uDC76-\uDC82\uDCB0-\uDCCF\uDCE9-\uDD02\uDD27-\uDD43\uDD45\uDD46\uDD48-\uDD4F\uDD73-\uDD75\uDD77-\uDD82\uDDB3-\uDDC0\uDDC5-\uDDD9\uDDDB\uDDDD-\uDDFF\uDE12\uDE2C-\uDE3E\uDE41-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEA9-\uDEAF\uDEDF-\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A-\uDF3C\uDF3E-\uDF4F\uDF51-\uDF5C\uDF62-\uDF7F\uDF8A\uDF8C\uDF8D\uDF8F\uDFB6\uDFB8-\uDFD0\uDFD2\uDFD4-\uDFFF]|\uD805[\uDC35-\uDC46\uDC4B-\uDC5E\uDC62-\uDC7F\uDCB0-\uDCC3\uDCC6\uDCC8-\uDD7F\uDDAF-\uDDD7\uDDDC-\uDDFF\uDE30-\uDE43\uDE45-\uDE7F\uDEAB-\uDEB7\uDEB9-\uDEFF\uDF1B-\uDF3F\uDF47-\uDFFF]|\uD806[\uDC2C-\uDC9F\uDCE0-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD30-\uDD3E\uDD40\uDD42-\uDD9F\uDDA8\uDDA9\uDDD1-\uDDE0\uDDE2\uDDE4-\uDDFF\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE4F\uDE51-\uDE5B\uDE8A-\uDE9C\uDE9E-\uDEAF\uDEF9-\uDFBF\uDFE1-\uDFFF]|\uD807[\uDC09\uDC2F-\uDC3F\uDC41-\uDC71\uDC90-\uDCFF\uDD07\uDD0A\uDD31-\uDD45\uDD47-\uDD5F\uDD66\uDD69\uDD8A-\uDD97\uDD99-\uDDAF\uDDDC-\uDEDF\uDEF3-\uDF01\uDF03\uDF11\uDF34-\uDFAF\uDFB1-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC00-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD812-\uD817\uD819\uD824-\uD82A\uD82D\uD82E\uD830-\uD834\uD836\uD83C-\uD83F\uD87C\uD87D\uD87F\uD88E-\uDBFF][\uDC00-\uDFFF]|\uD80B[\uDC00-\uDF8F\uDFF1-\uDFFF]|\uD80D[\uDC30-\uDC40\uDC47-\uDC5F]|\uD810[\uDFFB-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD818[\uDC00-\uDCFF\uDD1E-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F-\uDE6F\uDEBF-\uDECF\uDEEE-\uDEFF\uDF30-\uDF3F\uDF44-\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDD3F\uDD6D-\uDE3F\uDE80-\uDE9F\uDEB9\uDEBA\uDED4-\uDEFF\uDF4B-\uDF4F\uDF51-\uDF92\uDFA0-\uDFDF\uDFE2\uDFE4-\uDFF1\uDFF4-\uDFFF]|\uD823[\uDCD6-\uDCFE\uDD1F-\uDD7F\uDDF3-\uDFFF]|\uD82B[\uDC00-\uDFEF\uDFF4\uDFFC\uDFFF]|\uD82C[\uDD23-\uDD31\uDD33-\uDD4F\uDD53\uDD54\uDD56-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3\uDFCC-\uDFFF]|\uD837[\uDC00-\uDEFF\uDF1F-\uDF24\uDF2B-\uDFFF]|\uD838[\uDC00-\uDC2F\uDC6E-\uDCFF\uDD2D-\uDD36\uDD3E-\uDD4D\uDD4F-\uDE8F\uDEAE-\uDEBF\uDEEC-\uDFFF]|\uD839[\uDC00-\uDCCF\uDCEC-\uDDCF\uDDEE\uDDEF\uDDF1-\uDEBF\uDEDF\uDEE3\uDEE6\uDEEE\uDEEF\uDEF5-\uDEFD\uDF00-\uDFDF\uDFE7\uDFEC\uDFEF\uDFFF]|\uD83A[\uDCC5-\uDCFF\uDD44-\uDD4A\uDD4C-\uDFFF]|\uD83B[\uDC00-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDFFF]|\uD869[\uDEE0-\uDEFF]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEAE\uDEAF]|\uD87A[\uDFE1-\uDFEF]|\uD87B[\uDE5E-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDF4F]|\uD88D[\uDC7A-\uDFFF])+/gi;
|
|
252
|
+
// The replacement value for splits.
|
|
253
|
+
var SPLIT_REPLACE_VALUE = "$1\0$2";
|
|
254
|
+
// The default characters to keep after transforming case.
|
|
255
|
+
var DEFAULT_PREFIX_SUFFIX_CHARACTERS = "";
|
|
256
|
+
/**
|
|
257
|
+
* Split any cased input strings into an array of words.
|
|
258
|
+
*/
|
|
259
|
+
function split(value) {
|
|
260
|
+
var result = value.trim();
|
|
261
|
+
result = result.replace(SPLIT_LOWER_UPPER_RE, SPLIT_REPLACE_VALUE).replace(SPLIT_UPPER_UPPER_RE, SPLIT_REPLACE_VALUE);
|
|
262
|
+
result = result.replace(DEFAULT_STRIP_REGEXP, "\0");
|
|
263
|
+
var start = 0;
|
|
264
|
+
var end = result.length;
|
|
265
|
+
// Trim the delimiter from around the output string.
|
|
266
|
+
while (result.charAt(start) === "\0") start++;
|
|
267
|
+
if (start === end) return [];
|
|
268
|
+
while (result.charAt(end - 1) === "\0") end--;
|
|
269
|
+
return result.slice(start, end).split(/\0/g);
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Split the input string into an array of words, separating numbers.
|
|
273
|
+
*/
|
|
274
|
+
function splitSeparateNumbers(value) {
|
|
275
|
+
var words = split(value);
|
|
276
|
+
for (var i = 0; i < words.length; i++) {
|
|
277
|
+
var word = words[i];
|
|
278
|
+
var match = SPLIT_SEPARATE_NUMBER_RE.exec(word);
|
|
279
|
+
if (match) {
|
|
280
|
+
var _match$;
|
|
281
|
+
var offset = match.index + ((_match$ = match[1]) !== null && _match$ !== void 0 ? _match$ : match[2]).length;
|
|
282
|
+
words.splice(i, 1, word.slice(0, offset), word.slice(offset));
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
return words;
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Convert a string to pascal case (`FooBar`).
|
|
289
|
+
*/
|
|
290
|
+
function pascalCase(input, options) {
|
|
291
|
+
var _options$delimiter3;
|
|
292
|
+
var _splitPrefixSuffix5 = splitPrefixSuffix(input, options),
|
|
293
|
+
_splitPrefixSuffix6 = _slicedToArray(_splitPrefixSuffix5, 3),
|
|
294
|
+
prefix = _splitPrefixSuffix6[0],
|
|
295
|
+
words = _splitPrefixSuffix6[1],
|
|
296
|
+
suffix = _splitPrefixSuffix6[2];
|
|
297
|
+
var lower = lowerFactory(void 0 );
|
|
298
|
+
var upper = upperFactory(void 0 );
|
|
299
|
+
var transform = pascalCaseTransformFactory(lower, upper);
|
|
300
|
+
return prefix + words.map(transform).join((_options$delimiter3 = void 0 ) !== null && _options$delimiter3 !== void 0 ? _options$delimiter3 : "") + suffix;
|
|
301
|
+
}
|
|
302
|
+
function lowerFactory(locale) {
|
|
303
|
+
return function (input) {
|
|
304
|
+
return input.toLocaleLowerCase(locale);
|
|
305
|
+
};
|
|
306
|
+
}
|
|
307
|
+
function upperFactory(locale) {
|
|
308
|
+
return function (input) {
|
|
309
|
+
return input.toLocaleUpperCase(locale);
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
function pascalCaseTransformFactory(lower, upper) {
|
|
313
|
+
return function (word, index) {
|
|
314
|
+
var char0 = word[0];
|
|
315
|
+
var initial = index > 0 && char0 >= "0" && char0 <= "9" ? "_" + char0 : upper(char0);
|
|
316
|
+
return initial + lower(word.slice(1));
|
|
317
|
+
};
|
|
318
|
+
}
|
|
319
|
+
function splitPrefixSuffix(input) {
|
|
320
|
+
var _options$split, _options$prefixCharac, _options$suffixCharac;
|
|
321
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
322
|
+
var splitFn = (_options$split = options.split) !== null && _options$split !== void 0 ? _options$split : options.separateNumbers ? splitSeparateNumbers : split;
|
|
323
|
+
var prefixCharacters = (_options$prefixCharac = options.prefixCharacters) !== null && _options$prefixCharac !== void 0 ? _options$prefixCharac : DEFAULT_PREFIX_SUFFIX_CHARACTERS;
|
|
324
|
+
var suffixCharacters = (_options$suffixCharac = options.suffixCharacters) !== null && _options$suffixCharac !== void 0 ? _options$suffixCharac : DEFAULT_PREFIX_SUFFIX_CHARACTERS;
|
|
325
|
+
var prefixIndex = 0;
|
|
326
|
+
var suffixIndex = input.length;
|
|
327
|
+
while (prefixIndex < input.length) {
|
|
328
|
+
var _char = input.charAt(prefixIndex);
|
|
329
|
+
if (!prefixCharacters.includes(_char)) break;
|
|
330
|
+
prefixIndex++;
|
|
331
|
+
}
|
|
332
|
+
while (suffixIndex > prefixIndex) {
|
|
333
|
+
var index = suffixIndex - 1;
|
|
334
|
+
var _char2 = input.charAt(index);
|
|
335
|
+
if (!suffixCharacters.includes(_char2)) break;
|
|
336
|
+
suffixIndex = index;
|
|
337
|
+
}
|
|
338
|
+
return [input.slice(0, prefixIndex), splitFn(input.slice(prefixIndex, suffixIndex)), input.slice(suffixIndex)];
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
var _flattenComponents = function flattenComponents(components) {
|
|
342
|
+
var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
343
|
+
if (components === null) {
|
|
344
|
+
return null;
|
|
345
|
+
}
|
|
346
|
+
return Object.keys(components).reduce(function (newMap, key) {
|
|
347
|
+
return ReactIs.isValidElementType(components[key]) ? _objectSpread(_objectSpread({}, newMap), {}, _defineProperty({}, prefix !== null ? "".concat(prefix, ".").concat(key) : key, components[key])) : _objectSpread(_objectSpread({}, newMap), _flattenComponents(components[key], key));
|
|
348
|
+
}, {});
|
|
349
|
+
};
|
|
350
|
+
|
|
351
|
+
var getComponentFromName = function getComponentFromName() {
|
|
352
|
+
var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
353
|
+
var components = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
354
|
+
var defaultComponent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
355
|
+
if (components === null || name === null) {
|
|
356
|
+
return defaultComponent;
|
|
357
|
+
}
|
|
358
|
+
var pascalName = pascalCase(name);
|
|
359
|
+
var component = components[pascalName] || components[name] || defaultComponent;
|
|
360
|
+
if (!component) {
|
|
361
|
+
console.warn('Could not find component from name', name, pascalName, components);
|
|
362
|
+
}
|
|
363
|
+
return component;
|
|
364
|
+
};
|
|
365
|
+
|
|
366
|
+
var ComponentsManager = /*#__PURE__*/function () {
|
|
367
|
+
function ComponentsManager() {
|
|
368
|
+
var components = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
369
|
+
_classCallCheck(this, ComponentsManager);
|
|
370
|
+
_defineProperty(this, "components", void 0);
|
|
371
|
+
this.components = _flattenComponents(components);
|
|
372
|
+
}
|
|
373
|
+
return _createClass(ComponentsManager, [{
|
|
374
|
+
key: "addComponent",
|
|
375
|
+
value: function addComponent(name, component) {
|
|
376
|
+
var namespace = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
377
|
+
return this.addComponents(_defineProperty({}, name, component), namespace);
|
|
378
|
+
}
|
|
379
|
+
}, {
|
|
380
|
+
key: "addComponents",
|
|
381
|
+
value: function addComponents(components) {
|
|
382
|
+
var namespace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
383
|
+
var newComponents = namespace !== null ? Object.keys(components).reduce(function (componentsMaps, name) {
|
|
384
|
+
return _objectSpread(_objectSpread({}, componentsMaps), {}, _defineProperty({}, "".concat(namespace, ".").concat(name), components[name]));
|
|
385
|
+
}, {}) : components;
|
|
386
|
+
this.components = _objectSpread(_objectSpread({}, this.components), newComponents);
|
|
387
|
+
return this;
|
|
388
|
+
}
|
|
389
|
+
}, {
|
|
390
|
+
key: "merge",
|
|
391
|
+
value: function merge(manager) {
|
|
392
|
+
var namespace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
393
|
+
return this.addComponents(manager.getComponents(), namespace);
|
|
394
|
+
}
|
|
395
|
+
}, {
|
|
396
|
+
key: "addNamespace",
|
|
397
|
+
value: function addNamespace(namespace) {
|
|
398
|
+
var _this = this;
|
|
399
|
+
if (namespace === null) {
|
|
400
|
+
return this;
|
|
401
|
+
}
|
|
402
|
+
this.components = Object.keys(this.components).reduce(function (componentsMap, name) {
|
|
403
|
+
return _objectSpread(_objectSpread({}, componentsMap), {}, _defineProperty({}, "".concat(namespace, ".").concat(name), _this.components[name]));
|
|
404
|
+
}, {});
|
|
405
|
+
return this;
|
|
406
|
+
}
|
|
407
|
+
}, {
|
|
408
|
+
key: "getComponent",
|
|
409
|
+
value: function getComponent(name) {
|
|
410
|
+
var namespace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
411
|
+
var components = this.getComponents(namespace);
|
|
412
|
+
return getComponentFromName(name, components);
|
|
413
|
+
}
|
|
414
|
+
}, {
|
|
415
|
+
key: "getComponents",
|
|
416
|
+
value: function getComponents() {
|
|
417
|
+
var _this2 = this;
|
|
418
|
+
var namespace = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
419
|
+
return namespace !== null ? Object.keys(this.components || {}).reduce(function (componentsMap, name) {
|
|
420
|
+
var pattern = new RegExp("^".concat(namespace, "\\.(.*)$"));
|
|
421
|
+
var matches = pattern.exec(name);
|
|
422
|
+
return matches !== null ? _objectSpread(_objectSpread({}, componentsMap), {}, _defineProperty({}, matches[1], _this2.components[name])) : componentsMap;
|
|
423
|
+
}, null) : this.components;
|
|
424
|
+
}
|
|
425
|
+
}, {
|
|
426
|
+
key: "hasComponent",
|
|
427
|
+
value: function hasComponent(name) {
|
|
428
|
+
var namespace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
429
|
+
return this.components !== null && typeof this.components[namespace !== null ? "".concat(namespace, ".").concat(name) : name] !== 'undefined';
|
|
430
|
+
}
|
|
431
|
+
}]);
|
|
432
|
+
}();
|
|
433
|
+
|
|
434
|
+
var DefinitionsManager = /*#__PURE__*/function () {
|
|
435
|
+
function DefinitionsManager() {
|
|
436
|
+
var definitions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
437
|
+
_classCallCheck(this, DefinitionsManager);
|
|
438
|
+
_defineProperty(this, "definitions", void 0);
|
|
439
|
+
this.definitions = definitions || [];
|
|
440
|
+
}
|
|
441
|
+
return _createClass(DefinitionsManager, [{
|
|
442
|
+
key: "addDefinition",
|
|
443
|
+
value: function addDefinition(definition) {
|
|
444
|
+
this.addDefinitions(isArray(definition) ? definition : [definition]);
|
|
445
|
+
return this;
|
|
446
|
+
}
|
|
447
|
+
}, {
|
|
448
|
+
key: "addDefinitions",
|
|
449
|
+
value: function addDefinitions(definitions) {
|
|
450
|
+
this.definitions = uniqBy([].concat(_toConsumableArray(definitions), _toConsumableArray(this.definitions)), function (it) {
|
|
451
|
+
return it.id;
|
|
452
|
+
});
|
|
453
|
+
return this;
|
|
454
|
+
}
|
|
455
|
+
}, {
|
|
456
|
+
key: "merge",
|
|
457
|
+
value: function merge(manager) {
|
|
458
|
+
return this.addDefinitions(manager.getDefinitions());
|
|
459
|
+
}
|
|
460
|
+
}, {
|
|
461
|
+
key: "getDefinition",
|
|
462
|
+
value: function getDefinition(id) {
|
|
463
|
+
if (id === null) {
|
|
464
|
+
return null;
|
|
465
|
+
}
|
|
466
|
+
return this.definitions.find(function (it) {
|
|
467
|
+
return it.id === id;
|
|
468
|
+
}) || null;
|
|
469
|
+
}
|
|
470
|
+
}, {
|
|
471
|
+
key: "getDefinitions",
|
|
472
|
+
value: function getDefinitions() {
|
|
473
|
+
return this.definitions;
|
|
474
|
+
}
|
|
475
|
+
}, {
|
|
476
|
+
key: "hasDefinition",
|
|
477
|
+
value: function hasDefinition(id) {
|
|
478
|
+
return this.getDefinition(id) !== null;
|
|
479
|
+
}
|
|
480
|
+
}, {
|
|
481
|
+
key: "getComponent",
|
|
482
|
+
value: function getComponent(id) {
|
|
483
|
+
var _ref = this.getDefinition(id) || {},
|
|
484
|
+
_ref$component = _ref.component,
|
|
485
|
+
component = _ref$component === void 0 ? null : _ref$component;
|
|
486
|
+
return component;
|
|
487
|
+
}
|
|
488
|
+
}, {
|
|
489
|
+
key: "getComponents",
|
|
490
|
+
value: function getComponents() {
|
|
491
|
+
return this.definitions.reduce(function (allComponents, _ref2) {
|
|
492
|
+
var id = _ref2.id,
|
|
493
|
+
_ref2$component = _ref2.component,
|
|
494
|
+
component = _ref2$component === void 0 ? null : _ref2$component;
|
|
495
|
+
return component !== null ? _objectSpread(_objectSpread({}, allComponents), {}, _defineProperty({}, id, component)) : allComponents;
|
|
496
|
+
}, {});
|
|
497
|
+
}
|
|
498
|
+
}]);
|
|
499
|
+
}();
|
|
500
|
+
|
|
501
|
+
var EventsManager = /*#__PURE__*/function (_EventEmitter) {
|
|
502
|
+
function EventsManager(element) {
|
|
503
|
+
var _this;
|
|
504
|
+
_classCallCheck(this, EventsManager);
|
|
505
|
+
_this = _callSuper(this, EventsManager);
|
|
506
|
+
_defineProperty(_this, "element", void 0);
|
|
507
|
+
_defineProperty(_this, "events", void 0);
|
|
508
|
+
_defineProperty(_this, "listeners", void 0);
|
|
509
|
+
_this.element = element;
|
|
510
|
+
_this.events = {};
|
|
511
|
+
_this.listeners = {};
|
|
512
|
+
return _this;
|
|
513
|
+
}
|
|
514
|
+
_inherits(EventsManager, _EventEmitter);
|
|
515
|
+
return _createClass(EventsManager, [{
|
|
516
|
+
key: "subscribe",
|
|
517
|
+
value: function subscribe(event, callback) {
|
|
518
|
+
this.on(event, callback);
|
|
519
|
+
this.events = _objectSpread(_objectSpread({}, this.events), {}, _defineProperty({}, event, [].concat(_toConsumableArray(this.events[event] || []), [callback])));
|
|
520
|
+
if (this.events[event].length === 1) {
|
|
521
|
+
this.addEventListener(event);
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
}, {
|
|
525
|
+
key: "unsubscribe",
|
|
526
|
+
value: function unsubscribe(event, callback) {
|
|
527
|
+
var _this2 = this;
|
|
528
|
+
this.off(event, callback);
|
|
529
|
+
this.events = Object.keys(this.events).reduce(function (newEvents, eventName) {
|
|
530
|
+
if (eventName !== event) {
|
|
531
|
+
return _objectSpread(_objectSpread({}, newEvents), {}, _defineProperty({}, eventName, _this2.events[eventName]));
|
|
532
|
+
}
|
|
533
|
+
var newListeners = _this2.events[eventName].filter(function (listener) {
|
|
534
|
+
return listener !== callback;
|
|
535
|
+
});
|
|
536
|
+
return newListeners.length > 0 ? _objectSpread(_objectSpread({}, newEvents), {}, _defineProperty({}, eventName, newListeners)) : newEvents;
|
|
537
|
+
}, {});
|
|
538
|
+
if (typeof this.events[event] === 'undefined') {
|
|
539
|
+
this.removeEventListener(event);
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
}, {
|
|
543
|
+
key: "addEventListener",
|
|
544
|
+
value: function addEventListener(event) {
|
|
545
|
+
var _this3 = this;
|
|
546
|
+
if (typeof this.listeners[event] === 'undefined') {
|
|
547
|
+
this.listeners[event] = function () {
|
|
548
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
549
|
+
args[_key] = arguments[_key];
|
|
550
|
+
}
|
|
551
|
+
return _this3.emit.apply(_this3, [event].concat(args));
|
|
552
|
+
};
|
|
553
|
+
}
|
|
554
|
+
this.element.addEventListener(event, this.listeners[event]);
|
|
555
|
+
}
|
|
556
|
+
}, {
|
|
557
|
+
key: "removeEventListener",
|
|
558
|
+
value: function removeEventListener(event) {
|
|
559
|
+
this.element.removeEventListener(event, this.listeners[event]);
|
|
560
|
+
}
|
|
561
|
+
}]);
|
|
562
|
+
}(EventEmitter);
|
|
563
|
+
|
|
564
|
+
var FieldsManager = /*#__PURE__*/function (_DefinitionsManager) {
|
|
565
|
+
function FieldsManager() {
|
|
566
|
+
_classCallCheck(this, FieldsManager);
|
|
567
|
+
return _callSuper(this, FieldsManager, arguments);
|
|
568
|
+
}
|
|
569
|
+
_inherits(FieldsManager, _DefinitionsManager);
|
|
570
|
+
return _createClass(FieldsManager);
|
|
571
|
+
}(DefinitionsManager);
|
|
572
|
+
|
|
573
|
+
var _excluded$2 = ["fonts"];
|
|
574
|
+
var FontsParser = /*#__PURE__*/function () {
|
|
575
|
+
function FontsParser(_ref) {
|
|
576
|
+
var fieldsManager = _ref.fieldsManager,
|
|
577
|
+
screensManager = _ref.screensManager;
|
|
578
|
+
_classCallCheck(this, FontsParser);
|
|
579
|
+
_defineProperty(this, "fieldsManager", void 0);
|
|
580
|
+
_defineProperty(this, "screensManager", void 0);
|
|
581
|
+
this.fieldsManager = fieldsManager;
|
|
582
|
+
this.screensManager = screensManager;
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
// Extract fonts
|
|
586
|
+
return _createClass(FontsParser, [{
|
|
587
|
+
key: "parse",
|
|
588
|
+
value: function parse(story) {
|
|
589
|
+
var _this = this;
|
|
590
|
+
if (story === null) {
|
|
591
|
+
return story;
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
// Extract fonts from screen
|
|
595
|
+
var _ref2 = story || {},
|
|
596
|
+
_ref2$theme = _ref2.theme,
|
|
597
|
+
theme = _ref2$theme === void 0 ? null : _ref2$theme,
|
|
598
|
+
_ref2$components = _ref2.components,
|
|
599
|
+
components = _ref2$components === void 0 ? [] : _ref2$components;
|
|
600
|
+
var fonts = uniq(components.reduce(function (currentFonts, screen) {
|
|
601
|
+
var type = screen.type;
|
|
602
|
+
var _ref3 = _this.screensManager.getDefinition(type) || {},
|
|
603
|
+
_ref3$fields = _ref3.fields,
|
|
604
|
+
fields = _ref3$fields === void 0 ? [] : _ref3$fields;
|
|
605
|
+
var fieldsPattern = _this.getFieldsPattern(fields);
|
|
606
|
+
var newFonts = FontsParser.extractFontsWithPaths(screen, fieldsPattern);
|
|
607
|
+
return newFonts.length > 0 ? [].concat(_toConsumableArray(currentFonts), _toConsumableArray(newFonts)) : currentFonts;
|
|
608
|
+
}, []), 'name');
|
|
609
|
+
|
|
610
|
+
// Extract fonts from theme
|
|
611
|
+
if (theme !== null) {
|
|
612
|
+
var _ref4 = this.parse(theme),
|
|
613
|
+
_ref4$fonts = _ref4.fonts,
|
|
614
|
+
themeFonts = _ref4$fonts === void 0 ? [] : _ref4$fonts,
|
|
615
|
+
newTheme = _objectWithoutProperties(_ref4, _excluded$2);
|
|
616
|
+
return fonts.length > 0 || themeFonts.length > 0 ? _objectSpread(_objectSpread({}, story), {}, {
|
|
617
|
+
theme: newTheme,
|
|
618
|
+
fonts: uniq([].concat(_toConsumableArray(themeFonts), _toConsumableArray(fonts)), 'name')
|
|
619
|
+
}) : story;
|
|
620
|
+
}
|
|
621
|
+
return fonts.length > 0 ? _objectSpread(_objectSpread({}, story), {}, {
|
|
622
|
+
fonts: fonts
|
|
623
|
+
}) : story;
|
|
624
|
+
}
|
|
625
|
+
}, {
|
|
626
|
+
key: "getFieldsPattern",
|
|
627
|
+
value: function getFieldsPattern(fields) {
|
|
628
|
+
var _this2 = this;
|
|
629
|
+
var namePrefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
630
|
+
return fields.reduce(function (patterns, field) {
|
|
631
|
+
var _field$name = field.name,
|
|
632
|
+
name = _field$name === void 0 ? null : _field$name,
|
|
633
|
+
_field$type = field.type,
|
|
634
|
+
type = _field$type === void 0 ? null : _field$type;
|
|
635
|
+
var path = [namePrefix, name].filter(function (it) {
|
|
636
|
+
return it !== null;
|
|
637
|
+
}).join('\\.');
|
|
638
|
+
var fieldDefinition = _objectSpread(_objectSpread({}, type !== null ? _this2.fieldsManager.getDefinition(type) : null), field);
|
|
639
|
+
|
|
640
|
+
// also check settings fields
|
|
641
|
+
var _fieldDefinition$fiel = fieldDefinition.fields,
|
|
642
|
+
subFields = _fieldDefinition$fiel === void 0 ? [] : _fieldDefinition$fiel,
|
|
643
|
+
_fieldDefinition$item = fieldDefinition.itemsField,
|
|
644
|
+
itemsField = _fieldDefinition$item === void 0 ? null : _fieldDefinition$item,
|
|
645
|
+
_fieldDefinition$sett = fieldDefinition.settings,
|
|
646
|
+
settings = _fieldDefinition$sett === void 0 ? [] : _fieldDefinition$sett;
|
|
647
|
+
return [].concat(_toConsumableArray(patterns), _toConsumableArray(FontsParser.fieldIsFontFamily(fieldDefinition) ? [new RegExp("^".concat(path, "$"))] : []), _toConsumableArray(_this2.getFieldsPattern(subFields, path)), _toConsumableArray(_this2.getFieldsPattern(settings, path)), _toConsumableArray(itemsField !== null ? _this2.getFieldsPattern([itemsField], "".concat(path, "\\.[0-9]+")) : []));
|
|
648
|
+
}, []);
|
|
649
|
+
}
|
|
650
|
+
}], [{
|
|
651
|
+
key: "fieldIsFontFamily",
|
|
652
|
+
value: function fieldIsFontFamily(_ref5) {
|
|
653
|
+
var _ref5$id = _ref5.id,
|
|
654
|
+
id = _ref5$id === void 0 ? null : _ref5$id;
|
|
655
|
+
return id === 'font-family';
|
|
656
|
+
}
|
|
657
|
+
}, {
|
|
658
|
+
key: "valueIsFont",
|
|
659
|
+
value: function valueIsFont(_ref6) {
|
|
660
|
+
var _ref6$type = _ref6.type,
|
|
661
|
+
type = _ref6$type === void 0 ? null : _ref6$type;
|
|
662
|
+
return type === 'custom' || type === 'google';
|
|
663
|
+
}
|
|
664
|
+
}, {
|
|
665
|
+
key: "extractFontsWithPaths",
|
|
666
|
+
value: function extractFontsWithPaths(data, patterns) {
|
|
667
|
+
var keyPrefix = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
668
|
+
var dataIsArray = isArray(data);
|
|
669
|
+
var keys = dataIsArray ? _toConsumableArray(data.keys()) : Object.keys(data);
|
|
670
|
+
return keys.reduce(function (currentFonts, key) {
|
|
671
|
+
var path = [keyPrefix, key].filter(function (it) {
|
|
672
|
+
return it !== null;
|
|
673
|
+
}).join('.');
|
|
674
|
+
var patternMatch = patterns.reduce(function (found, pattern) {
|
|
675
|
+
return found || pattern.test(path);
|
|
676
|
+
}, false);
|
|
677
|
+
var value = data[key];
|
|
678
|
+
var font = null;
|
|
679
|
+
var subFonts = null;
|
|
680
|
+
if (patternMatch && isObject(value) && FontsParser.valueIsFont(value)) {
|
|
681
|
+
font = value;
|
|
682
|
+
} else if (isObject(value) || isArray(value)) {
|
|
683
|
+
subFonts = FontsParser.extractFontsWithPaths(value, patterns, path);
|
|
684
|
+
}
|
|
685
|
+
return subFonts !== null || font !== null ? [].concat(_toConsumableArray(currentFonts), _toConsumableArray(subFonts || []), _toConsumableArray(font !== null ? [font] : [])) : currentFonts;
|
|
686
|
+
}, []);
|
|
687
|
+
}
|
|
688
|
+
}]);
|
|
689
|
+
}();
|
|
690
|
+
|
|
691
|
+
var FormsManager = /*#__PURE__*/function (_ComponentsManager) {
|
|
692
|
+
function FormsManager() {
|
|
693
|
+
_classCallCheck(this, FormsManager);
|
|
694
|
+
return _callSuper(this, FormsManager, arguments);
|
|
695
|
+
}
|
|
696
|
+
_inherits(FormsManager, _ComponentsManager);
|
|
697
|
+
return _createClass(FormsManager);
|
|
698
|
+
}(ComponentsManager);
|
|
699
|
+
|
|
700
|
+
var _excluded$1 = ["medias"];
|
|
701
|
+
var MediasParser = /*#__PURE__*/function () {
|
|
702
|
+
function MediasParser(_ref) {
|
|
703
|
+
var fieldsManager = _ref.fieldsManager,
|
|
704
|
+
screensManager = _ref.screensManager;
|
|
705
|
+
_classCallCheck(this, MediasParser);
|
|
706
|
+
_defineProperty(this, "fieldsManager", void 0);
|
|
707
|
+
_defineProperty(this, "screensManager", void 0);
|
|
708
|
+
this.fieldsManager = fieldsManager;
|
|
709
|
+
this.screensManager = screensManager;
|
|
710
|
+
}
|
|
711
|
+
|
|
712
|
+
// Convert medias object to path
|
|
713
|
+
return _createClass(MediasParser, [{
|
|
714
|
+
key: "toPath",
|
|
715
|
+
value: function toPath(story) {
|
|
716
|
+
var _this = this;
|
|
717
|
+
if (story === null) {
|
|
718
|
+
return story;
|
|
719
|
+
}
|
|
720
|
+
var _ref2 = story || {},
|
|
721
|
+
_ref2$theme = _ref2.theme,
|
|
722
|
+
theme = _ref2$theme === void 0 ? null : _ref2$theme,
|
|
723
|
+
_ref2$components = _ref2.components,
|
|
724
|
+
components = _ref2$components === void 0 ? [] : _ref2$components;
|
|
725
|
+
var _components$reduce = components.reduce(function (_ref3, screen) {
|
|
726
|
+
var previousComponents = _ref3.components,
|
|
727
|
+
currentMedias = _ref3.medias;
|
|
728
|
+
var type = screen.type;
|
|
729
|
+
var _ref4 = _this.screensManager.getDefinition(type) || {},
|
|
730
|
+
_ref4$fields = _ref4.fields,
|
|
731
|
+
fields = _ref4$fields === void 0 ? [] : _ref4$fields;
|
|
732
|
+
var fieldsPattern = _this.getMediaFieldsPattern(fields);
|
|
733
|
+
var _MediasParser$replace = MediasParser.replaceMediasWithPaths(screen, fieldsPattern),
|
|
734
|
+
newScreen = _MediasParser$replace.data,
|
|
735
|
+
newMedias = _MediasParser$replace.medias;
|
|
736
|
+
return {
|
|
737
|
+
components: [].concat(_toConsumableArray(previousComponents), [newScreen]),
|
|
738
|
+
medias: _objectSpread(_objectSpread({}, currentMedias), newMedias)
|
|
739
|
+
};
|
|
740
|
+
}, {
|
|
741
|
+
components: [],
|
|
742
|
+
medias: null
|
|
743
|
+
}),
|
|
744
|
+
newComponents = _components$reduce.components,
|
|
745
|
+
medias = _components$reduce.medias;
|
|
746
|
+
if (theme !== null) {
|
|
747
|
+
var _ref5 = this.toPath(theme),
|
|
748
|
+
themeMedias = _ref5.medias,
|
|
749
|
+
newTheme = _objectWithoutProperties(_ref5, _excluded$1);
|
|
750
|
+
return medias !== null || themeMedias !== null ? _objectSpread(_objectSpread({}, story), {}, {
|
|
751
|
+
theme: newTheme,
|
|
752
|
+
components: newComponents,
|
|
753
|
+
medias: _objectSpread(_objectSpread({}, themeMedias), medias)
|
|
754
|
+
}) : story;
|
|
755
|
+
}
|
|
756
|
+
return medias !== null ? _objectSpread(_objectSpread({}, story), {}, {
|
|
757
|
+
components: newComponents,
|
|
758
|
+
medias: medias
|
|
759
|
+
}) : story;
|
|
760
|
+
}
|
|
761
|
+
|
|
762
|
+
// Convert path to medias object
|
|
763
|
+
}, {
|
|
764
|
+
key: "fromPath",
|
|
765
|
+
value: function fromPath(story) {
|
|
766
|
+
var _this2 = this;
|
|
767
|
+
var defaultMedias = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
768
|
+
if (story === null) {
|
|
769
|
+
return story;
|
|
770
|
+
}
|
|
771
|
+
var _ref6 = story || {},
|
|
772
|
+
_ref6$theme = _ref6.theme,
|
|
773
|
+
theme = _ref6$theme === void 0 ? null : _ref6$theme,
|
|
774
|
+
_ref6$components = _ref6.components,
|
|
775
|
+
components = _ref6$components === void 0 ? [] : _ref6$components,
|
|
776
|
+
_ref6$medias = _ref6.medias,
|
|
777
|
+
medias = _ref6$medias === void 0 ? defaultMedias : _ref6$medias;
|
|
778
|
+
if (medias === null && theme === null) {
|
|
779
|
+
return story;
|
|
780
|
+
}
|
|
781
|
+
|
|
782
|
+
// Replace path with medias objects
|
|
783
|
+
var newComponents = medias !== null ? components.map(function (screen) {
|
|
784
|
+
var type = screen.type;
|
|
785
|
+
var _ref7 = _this2.screensManager.getDefinition(type) || {},
|
|
786
|
+
_ref7$fields = _ref7.fields,
|
|
787
|
+
fields = _ref7$fields === void 0 ? [] : _ref7$fields;
|
|
788
|
+
var fieldsPattern = _this2.getMediaFieldsPattern(fields);
|
|
789
|
+
return MediasParser.replacePathsWithMedias(screen, medias, fieldsPattern);
|
|
790
|
+
}) : components;
|
|
791
|
+
|
|
792
|
+
// Replace path with medias object in theme
|
|
793
|
+
if (theme !== null) {
|
|
794
|
+
var newTheme = this.fromPath(theme, medias);
|
|
795
|
+
return newTheme !== theme || newComponents !== components ? _objectSpread(_objectSpread({}, story), {}, {
|
|
796
|
+
theme: newTheme,
|
|
797
|
+
components: newComponents
|
|
798
|
+
}) : story;
|
|
799
|
+
}
|
|
800
|
+
return newComponents !== components ? _objectSpread(_objectSpread({}, story), {}, {
|
|
801
|
+
components: newComponents
|
|
802
|
+
}) : story;
|
|
803
|
+
}
|
|
804
|
+
}, {
|
|
805
|
+
key: "getMediaFieldsPattern",
|
|
806
|
+
value: function getMediaFieldsPattern(fields) {
|
|
807
|
+
var _this3 = this;
|
|
808
|
+
var namePrefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
809
|
+
return fields.reduce(function (patterns, field) {
|
|
810
|
+
var _field$name = field.name,
|
|
811
|
+
name = _field$name === void 0 ? null : _field$name,
|
|
812
|
+
_field$type = field.type,
|
|
813
|
+
type = _field$type === void 0 ? null : _field$type;
|
|
814
|
+
var path = [namePrefix, name].filter(function (it) {
|
|
815
|
+
return it !== null;
|
|
816
|
+
}).join('\\.');
|
|
817
|
+
var fieldDefinition = _objectSpread(_objectSpread({}, type !== null ? _this3.fieldsManager.getDefinition(type) : null), field);
|
|
818
|
+
|
|
819
|
+
// also check settings fields
|
|
820
|
+
var _fieldDefinition$fiel = fieldDefinition.fields,
|
|
821
|
+
subFields = _fieldDefinition$fiel === void 0 ? [] : _fieldDefinition$fiel,
|
|
822
|
+
_fieldDefinition$item = fieldDefinition.itemsField,
|
|
823
|
+
itemsField = _fieldDefinition$item === void 0 ? null : _fieldDefinition$item,
|
|
824
|
+
_fieldDefinition$sett = fieldDefinition.settings,
|
|
825
|
+
settings = _fieldDefinition$sett === void 0 ? [] : _fieldDefinition$sett;
|
|
826
|
+
return [].concat(_toConsumableArray(patterns), _toConsumableArray(MediasParser.fieldIsMedia(fieldDefinition) ? [new RegExp("^".concat(path, "$"))] : []), _toConsumableArray(MediasParser.fieldIsFontFamily(fieldDefinition) ? [new RegExp("^".concat(path, "\\.media$"))] : []), _toConsumableArray(_this3.getMediaFieldsPattern(subFields, path)), _toConsumableArray(_this3.getMediaFieldsPattern(settings, path)), _toConsumableArray(itemsField !== null ? _this3.getMediaFieldsPattern([itemsField], "".concat(path, "\\.[0-9]+")) : []));
|
|
827
|
+
}, []);
|
|
828
|
+
}
|
|
829
|
+
}], [{
|
|
830
|
+
key: "fieldIsMedia",
|
|
831
|
+
value: function fieldIsMedia(_ref8) {
|
|
832
|
+
var _ref8$media = _ref8.media,
|
|
833
|
+
media = _ref8$media === void 0 ? false : _ref8$media;
|
|
834
|
+
return media;
|
|
835
|
+
}
|
|
836
|
+
}, {
|
|
837
|
+
key: "fieldIsFontFamily",
|
|
838
|
+
value: function fieldIsFontFamily(_ref9) {
|
|
839
|
+
var _ref9$id = _ref9.id,
|
|
840
|
+
id = _ref9$id === void 0 ? null : _ref9$id;
|
|
841
|
+
return id === 'font-family';
|
|
842
|
+
}
|
|
843
|
+
}, {
|
|
844
|
+
key: "replacePathsWithMedias",
|
|
845
|
+
value: function replacePathsWithMedias(data, medias, patterns) {
|
|
846
|
+
var keyPrefix = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
|
847
|
+
var dataIsArray = isArray(data);
|
|
848
|
+
var keys = dataIsArray ? _toConsumableArray(data.keys()) : Object.keys(data);
|
|
849
|
+
return keys.reduce(function (newData, key) {
|
|
850
|
+
var path = [keyPrefix, key].filter(function (it) {
|
|
851
|
+
return it !== null;
|
|
852
|
+
}).join('.');
|
|
853
|
+
var patternMatch = patterns.reduce(function (found, pattern) {
|
|
854
|
+
return found || pattern.test(path);
|
|
855
|
+
}, false);
|
|
856
|
+
var value = data[key];
|
|
857
|
+
var newValue;
|
|
858
|
+
if (patternMatch) {
|
|
859
|
+
newValue = isObject(value) ? value : medias[value] || null;
|
|
860
|
+
} else {
|
|
861
|
+
newValue = isObject(value) || isArray(value) ? MediasParser.replacePathsWithMedias(value, medias, patterns, path) : value;
|
|
862
|
+
}
|
|
863
|
+
return dataIsArray ? [].concat(_toConsumableArray(newData), [newValue]) : _objectSpread(_objectSpread({}, newData), {}, _defineProperty({}, key, newValue));
|
|
864
|
+
}, dataIsArray ? [] : {});
|
|
865
|
+
}
|
|
866
|
+
}, {
|
|
867
|
+
key: "getMediaPath",
|
|
868
|
+
value: function getMediaPath(_ref0) {
|
|
869
|
+
var _ref0$id = _ref0.id,
|
|
870
|
+
id = _ref0$id === void 0 ? null : _ref0$id;
|
|
871
|
+
return id !== null ? "media://".concat(id) : null;
|
|
872
|
+
}
|
|
873
|
+
}, {
|
|
874
|
+
key: "replaceMediasWithPaths",
|
|
875
|
+
value: function replaceMediasWithPaths(data, patterns) {
|
|
876
|
+
var medias = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
877
|
+
var keyPrefix = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
|
878
|
+
var dataIsArray = isArray(data);
|
|
879
|
+
var keys = dataIsArray ? _toConsumableArray(data.keys()) : Object.keys(data);
|
|
880
|
+
return keys.reduce(function (_ref1, key) {
|
|
881
|
+
var currentData = _ref1.data,
|
|
882
|
+
currentMedias = _ref1.medias;
|
|
883
|
+
var path = [keyPrefix, key].filter(function (it) {
|
|
884
|
+
return it !== null;
|
|
885
|
+
}).join('.');
|
|
886
|
+
var patternMatch = patterns.reduce(function (found, pattern) {
|
|
887
|
+
return found || pattern.test(path);
|
|
888
|
+
}, false);
|
|
889
|
+
var value = data[key];
|
|
890
|
+
var newValue;
|
|
891
|
+
var media = null;
|
|
892
|
+
var subMedias = null;
|
|
893
|
+
if (patternMatch && isObject(value)) {
|
|
894
|
+
var mediaPath = MediasParser.getMediaPath(value);
|
|
895
|
+
newValue = mediaPath !== null ? mediaPath : value;
|
|
896
|
+
media = mediaPath !== null ? value : null;
|
|
897
|
+
} else if (isObject(value) || isArray(value)) {
|
|
898
|
+
var subReturn = MediasParser.replaceMediasWithPaths(value, patterns, medias, path);
|
|
899
|
+
newValue = subReturn.data;
|
|
900
|
+
subMedias = subReturn.medias;
|
|
901
|
+
} else {
|
|
902
|
+
newValue = value;
|
|
903
|
+
}
|
|
904
|
+
return {
|
|
905
|
+
data: dataIsArray ? [].concat(_toConsumableArray(currentData || []), [newValue]) : _objectSpread(_objectSpread({}, currentData), {}, _defineProperty({}, key, newValue)),
|
|
906
|
+
medias: media !== null ? _objectSpread(_objectSpread(_objectSpread({}, currentMedias), subMedias), {}, _defineProperty({}, newValue, media)) : _objectSpread(_objectSpread({}, currentMedias), subMedias)
|
|
907
|
+
};
|
|
908
|
+
}, {
|
|
909
|
+
data: null,
|
|
910
|
+
medias: medias
|
|
911
|
+
});
|
|
912
|
+
}
|
|
913
|
+
}]);
|
|
914
|
+
}();
|
|
915
|
+
|
|
916
|
+
var _excluded = ["value"],
|
|
917
|
+
_excluded2 = ["value"];
|
|
918
|
+
var Tracking = /*#__PURE__*/function (_BaseTracking) {
|
|
919
|
+
function Tracking() {
|
|
920
|
+
var _this;
|
|
921
|
+
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
922
|
+
_classCallCheck(this, Tracking);
|
|
923
|
+
_this = _callSuper(this, Tracking, [opts]);
|
|
924
|
+
_defineProperty(_this, "variables", void 0);
|
|
925
|
+
var _this$options$variabl = _this.options.variables,
|
|
926
|
+
variables = _this$options$variabl === void 0 ? null : _this$options$variabl;
|
|
927
|
+
_this.variables = null;
|
|
928
|
+
if (variables !== null) {
|
|
929
|
+
_this.setVariables(variables);
|
|
930
|
+
}
|
|
931
|
+
return _this;
|
|
932
|
+
}
|
|
933
|
+
_inherits(Tracking, _BaseTracking);
|
|
934
|
+
return _createClass(Tracking, [{
|
|
935
|
+
key: "setVariables",
|
|
936
|
+
value: function setVariables(variables) {
|
|
937
|
+
this.variables = variables;
|
|
938
|
+
if (variables !== null) {
|
|
939
|
+
this.push(variables);
|
|
940
|
+
}
|
|
941
|
+
}
|
|
942
|
+
}, {
|
|
943
|
+
key: "getVariables",
|
|
944
|
+
value: function getVariables() {
|
|
945
|
+
return this.variables;
|
|
946
|
+
}
|
|
947
|
+
}, {
|
|
948
|
+
key: "trackScreenView",
|
|
949
|
+
value: function trackScreenView(screen, screenIndex) {
|
|
950
|
+
var _ref = screen || {},
|
|
951
|
+
_ref$id = _ref.id,
|
|
952
|
+
screenId = _ref$id === void 0 ? null : _ref$id,
|
|
953
|
+
_ref$type = _ref.type,
|
|
954
|
+
screenType = _ref$type === void 0 ? null : _ref$type;
|
|
955
|
+
var data = {
|
|
956
|
+
event: 'screenView',
|
|
957
|
+
screenId: screenId,
|
|
958
|
+
screenType: screenType,
|
|
959
|
+
screenIndex: screenIndex
|
|
960
|
+
};
|
|
961
|
+
this.push(data);
|
|
962
|
+
}
|
|
963
|
+
}, {
|
|
964
|
+
key: "trackEvent",
|
|
965
|
+
value: function trackEvent(category, action, label) {
|
|
966
|
+
var _ref2 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {},
|
|
967
|
+
_ref2$value = _ref2.value,
|
|
968
|
+
value = _ref2$value === void 0 ? null : _ref2$value,
|
|
969
|
+
opts = _objectWithoutProperties(_ref2, _excluded);
|
|
970
|
+
var data = _objectSpread(_objectSpread({}, opts), {}, {
|
|
971
|
+
event: 'eventInteraction',
|
|
972
|
+
eventCategory: category,
|
|
973
|
+
eventAction: action,
|
|
974
|
+
eventLabel: label,
|
|
975
|
+
eventValue: value
|
|
976
|
+
});
|
|
977
|
+
this.push(data);
|
|
978
|
+
}
|
|
979
|
+
}, {
|
|
980
|
+
key: "trackMedia",
|
|
981
|
+
value: function trackMedia(type, media, action) {
|
|
982
|
+
var _ref3 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {},
|
|
983
|
+
_ref3$value = _ref3.value,
|
|
984
|
+
value = _ref3$value === void 0 ? null : _ref3$value,
|
|
985
|
+
opts = _objectWithoutProperties(_ref3, _excluded2);
|
|
986
|
+
var _ref4 = media || {},
|
|
987
|
+
_ref4$id = _ref4.id,
|
|
988
|
+
mediaId = _ref4$id === void 0 ? null : _ref4$id,
|
|
989
|
+
_ref4$name = _ref4.name,
|
|
990
|
+
name = _ref4$name === void 0 ? null : _ref4$name,
|
|
991
|
+
_ref4$duration = _ref4.duration,
|
|
992
|
+
duration = _ref4$duration === void 0 ? null : _ref4$duration,
|
|
993
|
+
_ref4$currentTime = _ref4.currentTime,
|
|
994
|
+
currentTime = _ref4$currentTime === void 0 ? null : _ref4$currentTime;
|
|
995
|
+
var label = name;
|
|
996
|
+
var data = _objectSpread(_objectSpread({}, opts), {}, {
|
|
997
|
+
event: 'eventInteraction',
|
|
998
|
+
eventCategory: type,
|
|
999
|
+
eventAction: action,
|
|
1000
|
+
eventLabel: label,
|
|
1001
|
+
eventValue: value,
|
|
1002
|
+
mediaId: mediaId,
|
|
1003
|
+
mediaCurrentTime: currentTime !== null ? Math.round(currentTime) : null,
|
|
1004
|
+
mediaProgress: currentTime !== null && duration !== null && duration > 0 ? Math.round(currentTime / duration * 100) : null
|
|
1005
|
+
});
|
|
1006
|
+
this.push(data);
|
|
1007
|
+
}
|
|
1008
|
+
}]);
|
|
1009
|
+
}(tracking.Tracking);
|
|
1010
|
+
|
|
1011
|
+
exports.ComponentsManager = ComponentsManager;
|
|
1012
|
+
exports.DefinitionsManager = DefinitionsManager;
|
|
1013
|
+
exports.EventsManager = EventsManager;
|
|
1014
|
+
exports.FieldsManager = FieldsManager;
|
|
1015
|
+
exports.FontsParser = FontsParser;
|
|
1016
|
+
exports.FormsManager = FormsManager;
|
|
1017
|
+
exports.MediasParser = MediasParser;
|
|
1018
|
+
exports.PropTypes = PropTypes;
|
|
1019
|
+
exports.Tracking = Tracking;
|