botframework-webchat-fluent-theme 4.17.0-main.20240416.4ff01ae → 4.17.0-main.20240416.e3f5401
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/botframework-webchat-fluent-theme.development.js +2065 -357
- package/dist/botframework-webchat-fluent-theme.development.js.map +1 -1
- package/dist/botframework-webchat-fluent-theme.production.min.js +3 -1
- package/dist/botframework-webchat-fluent-theme.production.min.js.map +1 -1
- package/dist/index.js +632 -333
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +516 -217
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -4
- package/src/components/Theme.tsx +65 -4
- package/src/components/dropZone/index.tsx +31 -6
- package/src/components/sendbox/AddAttachmentButton.tsx +17 -5
- package/src/components/sendbox/Attachments.tsx +12 -3
- package/src/components/sendbox/ErrorMessage.tsx +13 -2
- package/src/components/sendbox/TelephoneKeypadToolbarButton.tsx +1 -1
- package/src/components/sendbox/TextArea.tsx +70 -9
- package/src/components/sendbox/Toolbar.tsx +55 -4
- package/src/components/sendbox/index.tsx +69 -9
- package/src/components/suggestedActions/SuggestedAction.tsx +43 -3
- package/src/components/suggestedActions/index.tsx +29 -6
- package/src/components/telephoneKeypad/private/Button.tsx +67 -5
- package/src/components/telephoneKeypad/private/TelephoneKeypad.tsx +35 -4
- package/src/index.ts +0 -3
- package/src/private/useStyleToEmotionObject.ts +32 -0
- package/src/styles/index.ts +15 -0
- package/src/tsconfig.json +1 -2
- package/dist/botframework-webchat-fluent-theme.development.css.map +0 -1
- package/dist/botframework-webchat-fluent-theme.production.min.css.map +0 -1
- package/dist/index.css.map +0 -1
- package/src/components/Theme.module.css +0 -60
- package/src/components/dropZone/index.module.css +0 -23
- package/src/components/sendbox/AddAttachmentButton.module.css +0 -10
- package/src/components/sendbox/Attachments.module.css +0 -7
- package/src/components/sendbox/ErrorMessage.module.css +0 -9
- package/src/components/sendbox/TextArea.module.css +0 -61
- package/src/components/sendbox/Toolbar.module.css +0 -49
- package/src/components/sendbox/index.module.css +0 -58
- package/src/components/suggestedActions/SuggestedAction.module.css +0 -34
- package/src/components/suggestedActions/index.module.css +0 -23
- package/src/components/telephoneKeypad/private/Button.module.css +0 -62
- package/src/components/telephoneKeypad/private/TelephoneKeypad.module.css +0 -30
- package/src/env.d.ts +0 -7
- package/src/styles/injectStyle.ts +0 -9
- package/src/styles/useStyles.ts +0 -19
- package/src/styles.ts +0 -4
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
var __commonJS = (cb, mod) => function __require() {
|
|
10
10
|
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
11
11
|
};
|
|
12
|
-
var __copyProps = (to,
|
|
13
|
-
if (
|
|
14
|
-
for (let key of __getOwnPropNames(
|
|
12
|
+
var __copyProps = (to, from2, except, desc) => {
|
|
13
|
+
if (from2 && typeof from2 === "object" || typeof from2 === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from2))
|
|
15
15
|
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () =>
|
|
16
|
+
__defProp(to, key, { get: () => from2[key], enumerable: !(desc = __getOwnPropDesc(from2, key)) || desc.enumerable });
|
|
17
17
|
}
|
|
18
18
|
return to;
|
|
19
19
|
};
|
|
@@ -320,22 +320,22 @@
|
|
|
320
320
|
"use strict";
|
|
321
321
|
var global2 = require_global();
|
|
322
322
|
var userAgent = require_engine_user_agent();
|
|
323
|
-
var
|
|
323
|
+
var process2 = global2.process;
|
|
324
324
|
var Deno = global2.Deno;
|
|
325
|
-
var versions =
|
|
325
|
+
var versions = process2 && process2.versions || Deno && Deno.version;
|
|
326
326
|
var v8 = versions && versions.v8;
|
|
327
|
-
var
|
|
327
|
+
var match2;
|
|
328
328
|
var version;
|
|
329
329
|
if (v8) {
|
|
330
|
-
|
|
331
|
-
version =
|
|
330
|
+
match2 = v8.split(".");
|
|
331
|
+
version = match2[0] > 0 && match2[0] < 4 ? 1 : +(match2[0] + match2[1]);
|
|
332
332
|
}
|
|
333
333
|
if (!version && userAgent) {
|
|
334
|
-
|
|
335
|
-
if (!
|
|
336
|
-
|
|
337
|
-
if (
|
|
338
|
-
version = +
|
|
334
|
+
match2 = userAgent.match(/Edge\/(\d+)/);
|
|
335
|
+
if (!match2 || match2[1] >= 74) {
|
|
336
|
+
match2 = userAgent.match(/Chrome\/(\d+)/);
|
|
337
|
+
if (match2)
|
|
338
|
+
version = +match2[1];
|
|
339
339
|
}
|
|
340
340
|
}
|
|
341
341
|
module.exports = version;
|
|
@@ -917,9 +917,9 @@
|
|
|
917
917
|
var toIntegerOrInfinity = require_to_integer_or_infinity();
|
|
918
918
|
var max = Math.max;
|
|
919
919
|
var min = Math.min;
|
|
920
|
-
module.exports = function(index,
|
|
920
|
+
module.exports = function(index, length2) {
|
|
921
921
|
var integer = toIntegerOrInfinity(index);
|
|
922
|
-
return integer < 0 ? max(integer +
|
|
922
|
+
return integer < 0 ? max(integer + length2, 0) : min(integer, length2);
|
|
923
923
|
};
|
|
924
924
|
}
|
|
925
925
|
});
|
|
@@ -958,19 +958,19 @@
|
|
|
958
958
|
var createMethod = function(IS_INCLUDES) {
|
|
959
959
|
return function($this, el, fromIndex) {
|
|
960
960
|
var O = toIndexedObject($this);
|
|
961
|
-
var
|
|
962
|
-
if (
|
|
961
|
+
var length2 = lengthOfArrayLike(O);
|
|
962
|
+
if (length2 === 0)
|
|
963
963
|
return !IS_INCLUDES && -1;
|
|
964
|
-
var index = toAbsoluteIndex(fromIndex,
|
|
964
|
+
var index = toAbsoluteIndex(fromIndex, length2);
|
|
965
965
|
var value;
|
|
966
966
|
if (IS_INCLUDES && el !== el)
|
|
967
|
-
while (
|
|
967
|
+
while (length2 > index) {
|
|
968
968
|
value = O[index++];
|
|
969
969
|
if (value !== value)
|
|
970
970
|
return true;
|
|
971
971
|
}
|
|
972
972
|
else
|
|
973
|
-
for (;
|
|
973
|
+
for (; length2 > index; index++) {
|
|
974
974
|
if ((IS_INCLUDES || index in O) && O[index] === el)
|
|
975
975
|
return IS_INCLUDES || index || 0;
|
|
976
976
|
}
|
|
@@ -1064,10 +1064,10 @@
|
|
|
1064
1064
|
anObject(O);
|
|
1065
1065
|
var props = toIndexedObject(Properties);
|
|
1066
1066
|
var keys = objectKeys(Properties);
|
|
1067
|
-
var
|
|
1067
|
+
var length2 = keys.length;
|
|
1068
1068
|
var index = 0;
|
|
1069
1069
|
var key;
|
|
1070
|
-
while (
|
|
1070
|
+
while (length2 > index)
|
|
1071
1071
|
definePropertyModule.f(O, key = keys[index++], props[key]);
|
|
1072
1072
|
return O;
|
|
1073
1073
|
};
|
|
@@ -1144,9 +1144,9 @@
|
|
|
1144
1144
|
} catch (error) {
|
|
1145
1145
|
}
|
|
1146
1146
|
NullProtoObject = typeof document != "undefined" ? document.domain && activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame() : NullProtoObjectViaActiveX(activeXDocument);
|
|
1147
|
-
var
|
|
1148
|
-
while (
|
|
1149
|
-
delete NullProtoObject[PROTOTYPE][enumBugKeys[
|
|
1147
|
+
var length2 = enumBugKeys.length;
|
|
1148
|
+
while (length2--)
|
|
1149
|
+
delete NullProtoObject[PROTOTYPE][enumBugKeys[length2]];
|
|
1150
1150
|
return NullProtoObject();
|
|
1151
1151
|
};
|
|
1152
1152
|
hiddenKeys[IE_PROTO] = true;
|
|
@@ -1266,6 +1266,15 @@
|
|
|
1266
1266
|
}
|
|
1267
1267
|
});
|
|
1268
1268
|
|
|
1269
|
+
// src/external.umd/botframework-webchat-api.ts
|
|
1270
|
+
var require_botframework_webchat_api = __commonJS({
|
|
1271
|
+
"src/external.umd/botframework-webchat-api.ts"(exports, module) {
|
|
1272
|
+
module.exports = {
|
|
1273
|
+
hooks: globalThis.WebChat.hooks
|
|
1274
|
+
};
|
|
1275
|
+
}
|
|
1276
|
+
});
|
|
1277
|
+
|
|
1269
1278
|
// node_modules/inject-meta-tag/lib/esmodules/injectMetaTag.js
|
|
1270
1279
|
function injectMeta(name, content) {
|
|
1271
1280
|
try {
|
|
@@ -1282,8 +1291,8 @@
|
|
|
1282
1291
|
}
|
|
1283
1292
|
|
|
1284
1293
|
// src/private/FluentThemeProvider.tsx
|
|
1285
|
-
var
|
|
1286
|
-
var
|
|
1294
|
+
var import_botframework_webchat_component5 = __toESM(require_botframework_webchat_component());
|
|
1295
|
+
var import_react28 = __toESM(require_react());
|
|
1287
1296
|
|
|
1288
1297
|
// src/components/telephoneKeypad/Provider.tsx
|
|
1289
1298
|
var import_react2 = __toESM(require_react());
|
|
@@ -1315,10 +1324,10 @@
|
|
|
1315
1324
|
var Provider_default = Provider;
|
|
1316
1325
|
|
|
1317
1326
|
// src/components/telephoneKeypad/Surrogate.tsx
|
|
1318
|
-
var
|
|
1327
|
+
var import_react9 = __toESM(require_react());
|
|
1319
1328
|
|
|
1320
1329
|
// src/components/telephoneKeypad/private/TelephoneKeypad.tsx
|
|
1321
|
-
var
|
|
1330
|
+
var import_react8 = __toESM(require_react());
|
|
1322
1331
|
|
|
1323
1332
|
// node_modules/use-ref-from/lib/esmodules/useRefFrom.js
|
|
1324
1333
|
var import_create = __toESM(require_create3());
|
|
@@ -1338,68 +1347,1518 @@
|
|
|
1338
1347
|
return readOnlyRef;
|
|
1339
1348
|
}
|
|
1340
1349
|
|
|
1341
|
-
// src/
|
|
1350
|
+
// src/styles/index.ts
|
|
1342
1351
|
var import_react5 = __toESM(require_react());
|
|
1343
1352
|
|
|
1344
|
-
//
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1353
|
+
// node_modules/@emotion/sheet/dist/emotion-sheet.esm.js
|
|
1354
|
+
function sheetForTag(tag) {
|
|
1355
|
+
if (tag.sheet) {
|
|
1356
|
+
return tag.sheet;
|
|
1357
|
+
}
|
|
1358
|
+
for (var i = 0; i < document.styleSheets.length; i++) {
|
|
1359
|
+
if (document.styleSheets[i].ownerNode === tag) {
|
|
1360
|
+
return document.styleSheets[i];
|
|
1361
|
+
}
|
|
1362
|
+
}
|
|
1363
|
+
}
|
|
1364
|
+
function createStyleElement(options) {
|
|
1365
|
+
var tag = document.createElement("style");
|
|
1366
|
+
tag.setAttribute("data-emotion", options.key);
|
|
1367
|
+
if (options.nonce !== void 0) {
|
|
1368
|
+
tag.setAttribute("nonce", options.nonce);
|
|
1369
|
+
}
|
|
1370
|
+
tag.appendChild(document.createTextNode(""));
|
|
1371
|
+
tag.setAttribute("data-s", "");
|
|
1372
|
+
return tag;
|
|
1373
|
+
}
|
|
1374
|
+
var StyleSheet = /* @__PURE__ */ function() {
|
|
1375
|
+
function StyleSheet2(options) {
|
|
1376
|
+
var _this = this;
|
|
1377
|
+
this._insertTag = function(tag) {
|
|
1378
|
+
var before;
|
|
1379
|
+
if (_this.tags.length === 0) {
|
|
1380
|
+
if (_this.insertionPoint) {
|
|
1381
|
+
before = _this.insertionPoint.nextSibling;
|
|
1382
|
+
} else if (_this.prepend) {
|
|
1383
|
+
before = _this.container.firstChild;
|
|
1384
|
+
} else {
|
|
1385
|
+
before = _this.before;
|
|
1386
|
+
}
|
|
1387
|
+
} else {
|
|
1388
|
+
before = _this.tags[_this.tags.length - 1].nextSibling;
|
|
1389
|
+
}
|
|
1390
|
+
_this.container.insertBefore(tag, before);
|
|
1391
|
+
_this.tags.push(tag);
|
|
1392
|
+
};
|
|
1393
|
+
this.isSpeedy = options.speedy === void 0 ? false : options.speedy;
|
|
1394
|
+
this.tags = [];
|
|
1395
|
+
this.ctr = 0;
|
|
1396
|
+
this.nonce = options.nonce;
|
|
1397
|
+
this.key = options.key;
|
|
1398
|
+
this.container = options.container;
|
|
1399
|
+
this.prepend = options.prepend;
|
|
1400
|
+
this.insertionPoint = options.insertionPoint;
|
|
1401
|
+
this.before = null;
|
|
1402
|
+
}
|
|
1403
|
+
var _proto = StyleSheet2.prototype;
|
|
1404
|
+
_proto.hydrate = function hydrate(nodes) {
|
|
1405
|
+
nodes.forEach(this._insertTag);
|
|
1406
|
+
};
|
|
1407
|
+
_proto.insert = function insert(rule) {
|
|
1408
|
+
if (this.ctr % (this.isSpeedy ? 65e3 : 1) === 0) {
|
|
1409
|
+
this._insertTag(createStyleElement(this));
|
|
1410
|
+
}
|
|
1411
|
+
var tag = this.tags[this.tags.length - 1];
|
|
1412
|
+
if (true) {
|
|
1413
|
+
var isImportRule3 = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;
|
|
1414
|
+
if (isImportRule3 && this._alreadyInsertedOrderInsensitiveRule) {
|
|
1415
|
+
console.error("You're attempting to insert the following rule:\n" + rule + "\n\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.");
|
|
1416
|
+
}
|
|
1417
|
+
this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule3;
|
|
1418
|
+
}
|
|
1419
|
+
if (this.isSpeedy) {
|
|
1420
|
+
var sheet = sheetForTag(tag);
|
|
1421
|
+
try {
|
|
1422
|
+
sheet.insertRule(rule, sheet.cssRules.length);
|
|
1423
|
+
} catch (e) {
|
|
1424
|
+
if (!/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {
|
|
1425
|
+
console.error('There was a problem inserting the following rule: "' + rule + '"', e);
|
|
1426
|
+
}
|
|
1427
|
+
}
|
|
1428
|
+
} else {
|
|
1429
|
+
tag.appendChild(document.createTextNode(rule));
|
|
1430
|
+
}
|
|
1431
|
+
this.ctr++;
|
|
1432
|
+
};
|
|
1433
|
+
_proto.flush = function flush() {
|
|
1434
|
+
this.tags.forEach(function(tag) {
|
|
1435
|
+
return tag.parentNode && tag.parentNode.removeChild(tag);
|
|
1436
|
+
});
|
|
1437
|
+
this.tags = [];
|
|
1438
|
+
this.ctr = 0;
|
|
1439
|
+
if (true) {
|
|
1440
|
+
this._alreadyInsertedOrderInsensitiveRule = false;
|
|
1441
|
+
}
|
|
1442
|
+
};
|
|
1443
|
+
return StyleSheet2;
|
|
1444
|
+
}();
|
|
1445
|
+
|
|
1446
|
+
// node_modules/stylis/src/Enum.js
|
|
1447
|
+
var MS = "-ms-";
|
|
1448
|
+
var MOZ = "-moz-";
|
|
1449
|
+
var WEBKIT = "-webkit-";
|
|
1450
|
+
var COMMENT = "comm";
|
|
1451
|
+
var RULESET = "rule";
|
|
1452
|
+
var DECLARATION = "decl";
|
|
1453
|
+
var IMPORT = "@import";
|
|
1454
|
+
var KEYFRAMES = "@keyframes";
|
|
1455
|
+
var LAYER = "@layer";
|
|
1456
|
+
|
|
1457
|
+
// node_modules/stylis/src/Utility.js
|
|
1458
|
+
var abs = Math.abs;
|
|
1459
|
+
var from = String.fromCharCode;
|
|
1460
|
+
var assign = Object.assign;
|
|
1461
|
+
function hash(value, length2) {
|
|
1462
|
+
return charat(value, 0) ^ 45 ? (((length2 << 2 ^ charat(value, 0)) << 2 ^ charat(value, 1)) << 2 ^ charat(value, 2)) << 2 ^ charat(value, 3) : 0;
|
|
1463
|
+
}
|
|
1464
|
+
function trim(value) {
|
|
1465
|
+
return value.trim();
|
|
1466
|
+
}
|
|
1467
|
+
function match(value, pattern) {
|
|
1468
|
+
return (value = pattern.exec(value)) ? value[0] : value;
|
|
1469
|
+
}
|
|
1470
|
+
function replace(value, pattern, replacement) {
|
|
1471
|
+
return value.replace(pattern, replacement);
|
|
1472
|
+
}
|
|
1473
|
+
function indexof(value, search) {
|
|
1474
|
+
return value.indexOf(search);
|
|
1475
|
+
}
|
|
1476
|
+
function charat(value, index) {
|
|
1477
|
+
return value.charCodeAt(index) | 0;
|
|
1478
|
+
}
|
|
1479
|
+
function substr(value, begin, end) {
|
|
1480
|
+
return value.slice(begin, end);
|
|
1481
|
+
}
|
|
1482
|
+
function strlen(value) {
|
|
1483
|
+
return value.length;
|
|
1484
|
+
}
|
|
1485
|
+
function sizeof(value) {
|
|
1486
|
+
return value.length;
|
|
1487
|
+
}
|
|
1488
|
+
function append(value, array) {
|
|
1489
|
+
return array.push(value), value;
|
|
1490
|
+
}
|
|
1491
|
+
function combine(array, callback) {
|
|
1492
|
+
return array.map(callback).join("");
|
|
1493
|
+
}
|
|
1494
|
+
|
|
1495
|
+
// node_modules/stylis/src/Tokenizer.js
|
|
1496
|
+
var line = 1;
|
|
1497
|
+
var column = 1;
|
|
1498
|
+
var length = 0;
|
|
1499
|
+
var position = 0;
|
|
1500
|
+
var character = 0;
|
|
1501
|
+
var characters = "";
|
|
1502
|
+
function node(value, root, parent, type, props, children, length2) {
|
|
1503
|
+
return { value, root, parent, type, props, children, line, column, length: length2, return: "" };
|
|
1504
|
+
}
|
|
1505
|
+
function copy(root, props) {
|
|
1506
|
+
return assign(node("", null, null, "", null, null, 0), root, { length: -root.length }, props);
|
|
1507
|
+
}
|
|
1508
|
+
function char() {
|
|
1509
|
+
return character;
|
|
1510
|
+
}
|
|
1511
|
+
function prev() {
|
|
1512
|
+
character = position > 0 ? charat(characters, --position) : 0;
|
|
1513
|
+
if (column--, character === 10)
|
|
1514
|
+
column = 1, line--;
|
|
1515
|
+
return character;
|
|
1516
|
+
}
|
|
1517
|
+
function next() {
|
|
1518
|
+
character = position < length ? charat(characters, position++) : 0;
|
|
1519
|
+
if (column++, character === 10)
|
|
1520
|
+
column = 1, line++;
|
|
1521
|
+
return character;
|
|
1522
|
+
}
|
|
1523
|
+
function peek() {
|
|
1524
|
+
return charat(characters, position);
|
|
1525
|
+
}
|
|
1526
|
+
function caret() {
|
|
1527
|
+
return position;
|
|
1528
|
+
}
|
|
1529
|
+
function slice(begin, end) {
|
|
1530
|
+
return substr(characters, begin, end);
|
|
1531
|
+
}
|
|
1532
|
+
function token(type) {
|
|
1533
|
+
switch (type) {
|
|
1534
|
+
case 0:
|
|
1535
|
+
case 9:
|
|
1536
|
+
case 10:
|
|
1537
|
+
case 13:
|
|
1538
|
+
case 32:
|
|
1539
|
+
return 5;
|
|
1540
|
+
case 33:
|
|
1541
|
+
case 43:
|
|
1542
|
+
case 44:
|
|
1543
|
+
case 47:
|
|
1544
|
+
case 62:
|
|
1545
|
+
case 64:
|
|
1546
|
+
case 126:
|
|
1547
|
+
case 59:
|
|
1548
|
+
case 123:
|
|
1549
|
+
case 125:
|
|
1550
|
+
return 4;
|
|
1551
|
+
case 58:
|
|
1552
|
+
return 3;
|
|
1553
|
+
case 34:
|
|
1554
|
+
case 39:
|
|
1555
|
+
case 40:
|
|
1556
|
+
case 91:
|
|
1557
|
+
return 2;
|
|
1558
|
+
case 41:
|
|
1559
|
+
case 93:
|
|
1560
|
+
return 1;
|
|
1561
|
+
}
|
|
1562
|
+
return 0;
|
|
1563
|
+
}
|
|
1564
|
+
function alloc(value) {
|
|
1565
|
+
return line = column = 1, length = strlen(characters = value), position = 0, [];
|
|
1566
|
+
}
|
|
1567
|
+
function dealloc(value) {
|
|
1568
|
+
return characters = "", value;
|
|
1569
|
+
}
|
|
1570
|
+
function delimit(type) {
|
|
1571
|
+
return trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)));
|
|
1572
|
+
}
|
|
1573
|
+
function whitespace(type) {
|
|
1574
|
+
while (character = peek())
|
|
1575
|
+
if (character < 33)
|
|
1576
|
+
next();
|
|
1577
|
+
else
|
|
1578
|
+
break;
|
|
1579
|
+
return token(type) > 2 || token(character) > 3 ? "" : " ";
|
|
1580
|
+
}
|
|
1581
|
+
function escaping(index, count) {
|
|
1582
|
+
while (--count && next())
|
|
1583
|
+
if (character < 48 || character > 102 || character > 57 && character < 65 || character > 70 && character < 97)
|
|
1584
|
+
break;
|
|
1585
|
+
return slice(index, caret() + (count < 6 && peek() == 32 && next() == 32));
|
|
1586
|
+
}
|
|
1587
|
+
function delimiter(type) {
|
|
1588
|
+
while (next())
|
|
1589
|
+
switch (character) {
|
|
1590
|
+
case type:
|
|
1591
|
+
return position;
|
|
1592
|
+
case 34:
|
|
1593
|
+
case 39:
|
|
1594
|
+
if (type !== 34 && type !== 39)
|
|
1595
|
+
delimiter(character);
|
|
1596
|
+
break;
|
|
1597
|
+
case 40:
|
|
1598
|
+
if (type === 41)
|
|
1599
|
+
delimiter(type);
|
|
1600
|
+
break;
|
|
1601
|
+
case 92:
|
|
1602
|
+
next();
|
|
1603
|
+
break;
|
|
1604
|
+
}
|
|
1605
|
+
return position;
|
|
1606
|
+
}
|
|
1607
|
+
function commenter(type, index) {
|
|
1608
|
+
while (next())
|
|
1609
|
+
if (type + character === 47 + 10)
|
|
1610
|
+
break;
|
|
1611
|
+
else if (type + character === 42 + 42 && peek() === 47)
|
|
1612
|
+
break;
|
|
1613
|
+
return "/*" + slice(index, position - 1) + "*" + from(type === 47 ? type : next());
|
|
1614
|
+
}
|
|
1615
|
+
function identifier(index) {
|
|
1616
|
+
while (!token(peek()))
|
|
1617
|
+
next();
|
|
1618
|
+
return slice(index, position);
|
|
1619
|
+
}
|
|
1620
|
+
|
|
1621
|
+
// node_modules/stylis/src/Parser.js
|
|
1622
|
+
function compile(value) {
|
|
1623
|
+
return dealloc(parse("", null, null, null, [""], value = alloc(value), 0, [0], value));
|
|
1624
|
+
}
|
|
1625
|
+
function parse(value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {
|
|
1626
|
+
var index = 0;
|
|
1627
|
+
var offset = 0;
|
|
1628
|
+
var length2 = pseudo;
|
|
1629
|
+
var atrule = 0;
|
|
1630
|
+
var property = 0;
|
|
1631
|
+
var previous = 0;
|
|
1632
|
+
var variable = 1;
|
|
1633
|
+
var scanning = 1;
|
|
1634
|
+
var ampersand = 1;
|
|
1635
|
+
var character2 = 0;
|
|
1636
|
+
var type = "";
|
|
1637
|
+
var props = rules;
|
|
1638
|
+
var children = rulesets;
|
|
1639
|
+
var reference = rule;
|
|
1640
|
+
var characters2 = type;
|
|
1641
|
+
while (scanning)
|
|
1642
|
+
switch (previous = character2, character2 = next()) {
|
|
1643
|
+
case 40:
|
|
1644
|
+
if (previous != 108 && charat(characters2, length2 - 1) == 58) {
|
|
1645
|
+
if (indexof(characters2 += replace(delimit(character2), "&", "&\f"), "&\f") != -1)
|
|
1646
|
+
ampersand = -1;
|
|
1647
|
+
break;
|
|
1648
|
+
}
|
|
1649
|
+
case 34:
|
|
1650
|
+
case 39:
|
|
1651
|
+
case 91:
|
|
1652
|
+
characters2 += delimit(character2);
|
|
1653
|
+
break;
|
|
1654
|
+
case 9:
|
|
1655
|
+
case 10:
|
|
1656
|
+
case 13:
|
|
1657
|
+
case 32:
|
|
1658
|
+
characters2 += whitespace(previous);
|
|
1659
|
+
break;
|
|
1660
|
+
case 92:
|
|
1661
|
+
characters2 += escaping(caret() - 1, 7);
|
|
1662
|
+
continue;
|
|
1663
|
+
case 47:
|
|
1664
|
+
switch (peek()) {
|
|
1665
|
+
case 42:
|
|
1666
|
+
case 47:
|
|
1667
|
+
append(comment(commenter(next(), caret()), root, parent), declarations);
|
|
1668
|
+
break;
|
|
1669
|
+
default:
|
|
1670
|
+
characters2 += "/";
|
|
1671
|
+
}
|
|
1672
|
+
break;
|
|
1673
|
+
case 123 * variable:
|
|
1674
|
+
points[index++] = strlen(characters2) * ampersand;
|
|
1675
|
+
case 125 * variable:
|
|
1676
|
+
case 59:
|
|
1677
|
+
case 0:
|
|
1678
|
+
switch (character2) {
|
|
1679
|
+
case 0:
|
|
1680
|
+
case 125:
|
|
1681
|
+
scanning = 0;
|
|
1682
|
+
case 59 + offset:
|
|
1683
|
+
if (ampersand == -1)
|
|
1684
|
+
characters2 = replace(characters2, /\f/g, "");
|
|
1685
|
+
if (property > 0 && strlen(characters2) - length2)
|
|
1686
|
+
append(property > 32 ? declaration(characters2 + ";", rule, parent, length2 - 1) : declaration(replace(characters2, " ", "") + ";", rule, parent, length2 - 2), declarations);
|
|
1687
|
+
break;
|
|
1688
|
+
case 59:
|
|
1689
|
+
characters2 += ";";
|
|
1690
|
+
default:
|
|
1691
|
+
append(reference = ruleset(characters2, root, parent, index, offset, rules, points, type, props = [], children = [], length2), rulesets);
|
|
1692
|
+
if (character2 === 123)
|
|
1693
|
+
if (offset === 0)
|
|
1694
|
+
parse(characters2, root, reference, reference, props, rulesets, length2, points, children);
|
|
1695
|
+
else
|
|
1696
|
+
switch (atrule === 99 && charat(characters2, 3) === 110 ? 100 : atrule) {
|
|
1697
|
+
case 100:
|
|
1698
|
+
case 108:
|
|
1699
|
+
case 109:
|
|
1700
|
+
case 115:
|
|
1701
|
+
parse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length2), children), rules, children, length2, points, rule ? props : children);
|
|
1702
|
+
break;
|
|
1703
|
+
default:
|
|
1704
|
+
parse(characters2, reference, reference, reference, [""], children, 0, points, children);
|
|
1705
|
+
}
|
|
1706
|
+
}
|
|
1707
|
+
index = offset = property = 0, variable = ampersand = 1, type = characters2 = "", length2 = pseudo;
|
|
1708
|
+
break;
|
|
1709
|
+
case 58:
|
|
1710
|
+
length2 = 1 + strlen(characters2), property = previous;
|
|
1711
|
+
default:
|
|
1712
|
+
if (variable < 1) {
|
|
1713
|
+
if (character2 == 123)
|
|
1714
|
+
--variable;
|
|
1715
|
+
else if (character2 == 125 && variable++ == 0 && prev() == 125)
|
|
1716
|
+
continue;
|
|
1717
|
+
}
|
|
1718
|
+
switch (characters2 += from(character2), character2 * variable) {
|
|
1719
|
+
case 38:
|
|
1720
|
+
ampersand = offset > 0 ? 1 : (characters2 += "\f", -1);
|
|
1721
|
+
break;
|
|
1722
|
+
case 44:
|
|
1723
|
+
points[index++] = (strlen(characters2) - 1) * ampersand, ampersand = 1;
|
|
1724
|
+
break;
|
|
1725
|
+
case 64:
|
|
1726
|
+
if (peek() === 45)
|
|
1727
|
+
characters2 += delimit(next());
|
|
1728
|
+
atrule = peek(), offset = length2 = strlen(type = characters2 += identifier(caret())), character2++;
|
|
1729
|
+
break;
|
|
1730
|
+
case 45:
|
|
1731
|
+
if (previous === 45 && strlen(characters2) == 2)
|
|
1732
|
+
variable = 0;
|
|
1733
|
+
}
|
|
1734
|
+
}
|
|
1735
|
+
return rulesets;
|
|
1736
|
+
}
|
|
1737
|
+
function ruleset(value, root, parent, index, offset, rules, points, type, props, children, length2) {
|
|
1738
|
+
var post = offset - 1;
|
|
1739
|
+
var rule = offset === 0 ? rules : [""];
|
|
1740
|
+
var size = sizeof(rule);
|
|
1741
|
+
for (var i = 0, j = 0, k = 0; i < index; ++i)
|
|
1742
|
+
for (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)
|
|
1743
|
+
if (z = trim(j > 0 ? rule[x] + " " + y : replace(y, /&\f/g, rule[x])))
|
|
1744
|
+
props[k++] = z;
|
|
1745
|
+
return node(value, root, parent, offset === 0 ? RULESET : type, props, children, length2);
|
|
1746
|
+
}
|
|
1747
|
+
function comment(value, root, parent) {
|
|
1748
|
+
return node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0);
|
|
1749
|
+
}
|
|
1750
|
+
function declaration(value, root, parent, length2) {
|
|
1751
|
+
return node(value, root, parent, DECLARATION, substr(value, 0, length2), substr(value, length2 + 1, -1), length2);
|
|
1752
|
+
}
|
|
1753
|
+
|
|
1754
|
+
// node_modules/stylis/src/Serializer.js
|
|
1755
|
+
function serialize(children, callback) {
|
|
1756
|
+
var output = "";
|
|
1757
|
+
var length2 = sizeof(children);
|
|
1758
|
+
for (var i = 0; i < length2; i++)
|
|
1759
|
+
output += callback(children[i], i, children, callback) || "";
|
|
1760
|
+
return output;
|
|
1761
|
+
}
|
|
1762
|
+
function stringify(element, index, children, callback) {
|
|
1763
|
+
switch (element.type) {
|
|
1764
|
+
case LAYER:
|
|
1765
|
+
if (element.children.length)
|
|
1766
|
+
break;
|
|
1767
|
+
case IMPORT:
|
|
1768
|
+
case DECLARATION:
|
|
1769
|
+
return element.return = element.return || element.value;
|
|
1770
|
+
case COMMENT:
|
|
1771
|
+
return "";
|
|
1772
|
+
case KEYFRAMES:
|
|
1773
|
+
return element.return = element.value + "{" + serialize(element.children, callback) + "}";
|
|
1774
|
+
case RULESET:
|
|
1775
|
+
element.value = element.props.join(",");
|
|
1776
|
+
}
|
|
1777
|
+
return strlen(children = serialize(element.children, callback)) ? element.return = element.value + "{" + children + "}" : "";
|
|
1778
|
+
}
|
|
1779
|
+
|
|
1780
|
+
// node_modules/stylis/src/Middleware.js
|
|
1781
|
+
function middleware(collection) {
|
|
1782
|
+
var length2 = sizeof(collection);
|
|
1783
|
+
return function(element, index, children, callback) {
|
|
1784
|
+
var output = "";
|
|
1785
|
+
for (var i = 0; i < length2; i++)
|
|
1786
|
+
output += collection[i](element, index, children, callback) || "";
|
|
1787
|
+
return output;
|
|
1788
|
+
};
|
|
1789
|
+
}
|
|
1790
|
+
|
|
1791
|
+
// node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js
|
|
1792
|
+
var weakMemoize = function weakMemoize2(func) {
|
|
1793
|
+
var cache = /* @__PURE__ */ new WeakMap();
|
|
1794
|
+
return function(arg) {
|
|
1795
|
+
if (cache.has(arg)) {
|
|
1796
|
+
return cache.get(arg);
|
|
1797
|
+
}
|
|
1798
|
+
var ret = func(arg);
|
|
1799
|
+
cache.set(arg, ret);
|
|
1800
|
+
return ret;
|
|
1801
|
+
};
|
|
1802
|
+
};
|
|
1803
|
+
|
|
1804
|
+
// node_modules/@emotion/memoize/dist/emotion-memoize.esm.js
|
|
1805
|
+
function memoize(fn) {
|
|
1806
|
+
var cache = /* @__PURE__ */ Object.create(null);
|
|
1807
|
+
return function(arg) {
|
|
1808
|
+
if (cache[arg] === void 0)
|
|
1809
|
+
cache[arg] = fn(arg);
|
|
1810
|
+
return cache[arg];
|
|
1811
|
+
};
|
|
1812
|
+
}
|
|
1813
|
+
|
|
1814
|
+
// node_modules/@emotion/cache/dist/emotion-cache.esm.js
|
|
1815
|
+
var identifierWithPointTracking = function identifierWithPointTracking2(begin, points, index) {
|
|
1816
|
+
var previous = 0;
|
|
1817
|
+
var character2 = 0;
|
|
1818
|
+
while (true) {
|
|
1819
|
+
previous = character2;
|
|
1820
|
+
character2 = peek();
|
|
1821
|
+
if (previous === 38 && character2 === 12) {
|
|
1822
|
+
points[index] = 1;
|
|
1823
|
+
}
|
|
1824
|
+
if (token(character2)) {
|
|
1825
|
+
break;
|
|
1826
|
+
}
|
|
1827
|
+
next();
|
|
1828
|
+
}
|
|
1829
|
+
return slice(begin, position);
|
|
1830
|
+
};
|
|
1831
|
+
var toRules = function toRules2(parsed, points) {
|
|
1832
|
+
var index = -1;
|
|
1833
|
+
var character2 = 44;
|
|
1834
|
+
do {
|
|
1835
|
+
switch (token(character2)) {
|
|
1836
|
+
case 0:
|
|
1837
|
+
if (character2 === 38 && peek() === 12) {
|
|
1838
|
+
points[index] = 1;
|
|
1839
|
+
}
|
|
1840
|
+
parsed[index] += identifierWithPointTracking(position - 1, points, index);
|
|
1841
|
+
break;
|
|
1842
|
+
case 2:
|
|
1843
|
+
parsed[index] += delimit(character2);
|
|
1844
|
+
break;
|
|
1845
|
+
case 4:
|
|
1846
|
+
if (character2 === 44) {
|
|
1847
|
+
parsed[++index] = peek() === 58 ? "&\f" : "";
|
|
1848
|
+
points[index] = parsed[index].length;
|
|
1849
|
+
break;
|
|
1850
|
+
}
|
|
1851
|
+
default:
|
|
1852
|
+
parsed[index] += from(character2);
|
|
1853
|
+
}
|
|
1854
|
+
} while (character2 = next());
|
|
1855
|
+
return parsed;
|
|
1856
|
+
};
|
|
1857
|
+
var getRules = function getRules2(value, points) {
|
|
1858
|
+
return dealloc(toRules(alloc(value), points));
|
|
1859
|
+
};
|
|
1860
|
+
var fixedElements = /* @__PURE__ */ new WeakMap();
|
|
1861
|
+
var compat = function compat2(element) {
|
|
1862
|
+
if (element.type !== "rule" || !element.parent || // positive .length indicates that this rule contains pseudo
|
|
1863
|
+
// negative .length indicates that this rule has been already prefixed
|
|
1864
|
+
element.length < 1) {
|
|
1865
|
+
return;
|
|
1866
|
+
}
|
|
1867
|
+
var value = element.value, parent = element.parent;
|
|
1868
|
+
var isImplicitRule = element.column === parent.column && element.line === parent.line;
|
|
1869
|
+
while (parent.type !== "rule") {
|
|
1870
|
+
parent = parent.parent;
|
|
1871
|
+
if (!parent)
|
|
1872
|
+
return;
|
|
1873
|
+
}
|
|
1874
|
+
if (element.props.length === 1 && value.charCodeAt(0) !== 58 && !fixedElements.get(parent)) {
|
|
1875
|
+
return;
|
|
1876
|
+
}
|
|
1877
|
+
if (isImplicitRule) {
|
|
1878
|
+
return;
|
|
1879
|
+
}
|
|
1880
|
+
fixedElements.set(element, true);
|
|
1881
|
+
var points = [];
|
|
1882
|
+
var rules = getRules(value, points);
|
|
1883
|
+
var parentRules = parent.props;
|
|
1884
|
+
for (var i = 0, k = 0; i < rules.length; i++) {
|
|
1885
|
+
for (var j = 0; j < parentRules.length; j++, k++) {
|
|
1886
|
+
element.props[k] = points[i] ? rules[i].replace(/&\f/g, parentRules[j]) : parentRules[j] + " " + rules[i];
|
|
1887
|
+
}
|
|
1888
|
+
}
|
|
1889
|
+
};
|
|
1890
|
+
var removeLabel = function removeLabel2(element) {
|
|
1891
|
+
if (element.type === "decl") {
|
|
1892
|
+
var value = element.value;
|
|
1893
|
+
if (
|
|
1894
|
+
// charcode for l
|
|
1895
|
+
value.charCodeAt(0) === 108 && // charcode for b
|
|
1896
|
+
value.charCodeAt(2) === 98
|
|
1897
|
+
) {
|
|
1898
|
+
element["return"] = "";
|
|
1899
|
+
element.value = "";
|
|
1900
|
+
}
|
|
1901
|
+
}
|
|
1902
|
+
};
|
|
1903
|
+
var ignoreFlag = "emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason";
|
|
1904
|
+
var isIgnoringComment = function isIgnoringComment2(element) {
|
|
1905
|
+
return element.type === "comm" && element.children.indexOf(ignoreFlag) > -1;
|
|
1906
|
+
};
|
|
1907
|
+
var createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm2(cache) {
|
|
1908
|
+
return function(element, index, children) {
|
|
1909
|
+
if (element.type !== "rule" || cache.compat)
|
|
1910
|
+
return;
|
|
1911
|
+
var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);
|
|
1912
|
+
if (unsafePseudoClasses) {
|
|
1913
|
+
var isNested = !!element.parent;
|
|
1914
|
+
var commentContainer = isNested ? element.parent.children : (
|
|
1915
|
+
// global rule at the root level
|
|
1916
|
+
children
|
|
1917
|
+
);
|
|
1918
|
+
for (var i = commentContainer.length - 1; i >= 0; i--) {
|
|
1919
|
+
var node2 = commentContainer[i];
|
|
1920
|
+
if (node2.line < element.line) {
|
|
1921
|
+
break;
|
|
1922
|
+
}
|
|
1923
|
+
if (node2.column < element.column) {
|
|
1924
|
+
if (isIgnoringComment(node2)) {
|
|
1925
|
+
return;
|
|
1926
|
+
}
|
|
1927
|
+
break;
|
|
1928
|
+
}
|
|
1929
|
+
}
|
|
1930
|
+
unsafePseudoClasses.forEach(function(unsafePseudoClass) {
|
|
1931
|
+
console.error('The pseudo class "' + unsafePseudoClass + '" is potentially unsafe when doing server-side rendering. Try changing it to "' + unsafePseudoClass.split("-child")[0] + '-of-type".');
|
|
1932
|
+
});
|
|
1933
|
+
}
|
|
1934
|
+
};
|
|
1935
|
+
};
|
|
1936
|
+
var isImportRule = function isImportRule2(element) {
|
|
1937
|
+
return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;
|
|
1938
|
+
};
|
|
1939
|
+
var isPrependedWithRegularRules = function isPrependedWithRegularRules2(index, children) {
|
|
1940
|
+
for (var i = index - 1; i >= 0; i--) {
|
|
1941
|
+
if (!isImportRule(children[i])) {
|
|
1942
|
+
return true;
|
|
1943
|
+
}
|
|
1944
|
+
}
|
|
1945
|
+
return false;
|
|
1946
|
+
};
|
|
1947
|
+
var nullifyElement = function nullifyElement2(element) {
|
|
1948
|
+
element.type = "";
|
|
1949
|
+
element.value = "";
|
|
1950
|
+
element["return"] = "";
|
|
1951
|
+
element.children = "";
|
|
1952
|
+
element.props = "";
|
|
1953
|
+
};
|
|
1954
|
+
var incorrectImportAlarm = function incorrectImportAlarm2(element, index, children) {
|
|
1955
|
+
if (!isImportRule(element)) {
|
|
1956
|
+
return;
|
|
1957
|
+
}
|
|
1958
|
+
if (element.parent) {
|
|
1959
|
+
console.error("`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.");
|
|
1960
|
+
nullifyElement(element);
|
|
1961
|
+
} else if (isPrependedWithRegularRules(index, children)) {
|
|
1962
|
+
console.error("`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.");
|
|
1963
|
+
nullifyElement(element);
|
|
1964
|
+
}
|
|
1965
|
+
};
|
|
1966
|
+
function prefix(value, length2) {
|
|
1967
|
+
switch (hash(value, length2)) {
|
|
1968
|
+
case 5103:
|
|
1969
|
+
return WEBKIT + "print-" + value + value;
|
|
1970
|
+
case 5737:
|
|
1971
|
+
case 4201:
|
|
1972
|
+
case 3177:
|
|
1973
|
+
case 3433:
|
|
1974
|
+
case 1641:
|
|
1975
|
+
case 4457:
|
|
1976
|
+
case 2921:
|
|
1977
|
+
case 5572:
|
|
1978
|
+
case 6356:
|
|
1979
|
+
case 5844:
|
|
1980
|
+
case 3191:
|
|
1981
|
+
case 6645:
|
|
1982
|
+
case 3005:
|
|
1983
|
+
case 6391:
|
|
1984
|
+
case 5879:
|
|
1985
|
+
case 5623:
|
|
1986
|
+
case 6135:
|
|
1987
|
+
case 4599:
|
|
1988
|
+
case 4855:
|
|
1989
|
+
case 4215:
|
|
1990
|
+
case 6389:
|
|
1991
|
+
case 5109:
|
|
1992
|
+
case 5365:
|
|
1993
|
+
case 5621:
|
|
1994
|
+
case 3829:
|
|
1995
|
+
return WEBKIT + value + value;
|
|
1996
|
+
case 5349:
|
|
1997
|
+
case 4246:
|
|
1998
|
+
case 4810:
|
|
1999
|
+
case 6968:
|
|
2000
|
+
case 2756:
|
|
2001
|
+
return WEBKIT + value + MOZ + value + MS + value + value;
|
|
2002
|
+
case 6828:
|
|
2003
|
+
case 4268:
|
|
2004
|
+
return WEBKIT + value + MS + value + value;
|
|
2005
|
+
case 6165:
|
|
2006
|
+
return WEBKIT + value + MS + "flex-" + value + value;
|
|
2007
|
+
case 5187:
|
|
2008
|
+
return WEBKIT + value + replace(value, /(\w+).+(:[^]+)/, WEBKIT + "box-$1$2" + MS + "flex-$1$2") + value;
|
|
2009
|
+
case 5443:
|
|
2010
|
+
return WEBKIT + value + MS + "flex-item-" + replace(value, /flex-|-self/, "") + value;
|
|
2011
|
+
case 4675:
|
|
2012
|
+
return WEBKIT + value + MS + "flex-line-pack" + replace(value, /align-content|flex-|-self/, "") + value;
|
|
2013
|
+
case 5548:
|
|
2014
|
+
return WEBKIT + value + MS + replace(value, "shrink", "negative") + value;
|
|
2015
|
+
case 5292:
|
|
2016
|
+
return WEBKIT + value + MS + replace(value, "basis", "preferred-size") + value;
|
|
2017
|
+
case 6060:
|
|
2018
|
+
return WEBKIT + "box-" + replace(value, "-grow", "") + WEBKIT + value + MS + replace(value, "grow", "positive") + value;
|
|
2019
|
+
case 4554:
|
|
2020
|
+
return WEBKIT + replace(value, /([^-])(transform)/g, "$1" + WEBKIT + "$2") + value;
|
|
2021
|
+
case 6187:
|
|
2022
|
+
return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + "$1"), /(image-set)/, WEBKIT + "$1"), value, "") + value;
|
|
2023
|
+
case 5495:
|
|
2024
|
+
case 3959:
|
|
2025
|
+
return replace(value, /(image-set\([^]*)/, WEBKIT + "$1$`$1");
|
|
2026
|
+
case 4968:
|
|
2027
|
+
return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + "box-pack:$3" + MS + "flex-pack:$3"), /s.+-b[^;]+/, "justify") + WEBKIT + value + value;
|
|
2028
|
+
case 4095:
|
|
2029
|
+
case 3583:
|
|
2030
|
+
case 4068:
|
|
2031
|
+
case 2532:
|
|
2032
|
+
return replace(value, /(.+)-inline(.+)/, WEBKIT + "$1$2") + value;
|
|
2033
|
+
case 8116:
|
|
2034
|
+
case 7059:
|
|
2035
|
+
case 5753:
|
|
2036
|
+
case 5535:
|
|
2037
|
+
case 5445:
|
|
2038
|
+
case 5701:
|
|
2039
|
+
case 4933:
|
|
2040
|
+
case 4677:
|
|
2041
|
+
case 5533:
|
|
2042
|
+
case 5789:
|
|
2043
|
+
case 5021:
|
|
2044
|
+
case 4765:
|
|
2045
|
+
if (strlen(value) - 1 - length2 > 6)
|
|
2046
|
+
switch (charat(value, length2 + 1)) {
|
|
2047
|
+
case 109:
|
|
2048
|
+
if (charat(value, length2 + 4) !== 45)
|
|
2049
|
+
break;
|
|
2050
|
+
case 102:
|
|
2051
|
+
return replace(value, /(.+:)(.+)-([^]+)/, "$1" + WEBKIT + "$2-$3$1" + MOZ + (charat(value, length2 + 3) == 108 ? "$3" : "$2-$3")) + value;
|
|
2052
|
+
case 115:
|
|
2053
|
+
return ~indexof(value, "stretch") ? prefix(replace(value, "stretch", "fill-available"), length2) + value : value;
|
|
2054
|
+
}
|
|
2055
|
+
break;
|
|
2056
|
+
case 4949:
|
|
2057
|
+
if (charat(value, length2 + 1) !== 115)
|
|
2058
|
+
break;
|
|
2059
|
+
case 6444:
|
|
2060
|
+
switch (charat(value, strlen(value) - 3 - (~indexof(value, "!important") && 10))) {
|
|
2061
|
+
case 107:
|
|
2062
|
+
return replace(value, ":", ":" + WEBKIT) + value;
|
|
2063
|
+
case 101:
|
|
2064
|
+
return replace(value, /(.+:)([^;!]+)(;|!.+)?/, "$1" + WEBKIT + (charat(value, 14) === 45 ? "inline-" : "") + "box$3$1" + WEBKIT + "$2$3$1" + MS + "$2box$3") + value;
|
|
2065
|
+
}
|
|
2066
|
+
break;
|
|
2067
|
+
case 5936:
|
|
2068
|
+
switch (charat(value, length2 + 11)) {
|
|
2069
|
+
case 114:
|
|
2070
|
+
return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "tb") + value;
|
|
2071
|
+
case 108:
|
|
2072
|
+
return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "tb-rl") + value;
|
|
2073
|
+
case 45:
|
|
2074
|
+
return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "lr") + value;
|
|
2075
|
+
}
|
|
2076
|
+
return WEBKIT + value + MS + value + value;
|
|
2077
|
+
}
|
|
2078
|
+
return value;
|
|
2079
|
+
}
|
|
2080
|
+
var prefixer = function prefixer2(element, index, children, callback) {
|
|
2081
|
+
if (element.length > -1) {
|
|
2082
|
+
if (!element["return"])
|
|
2083
|
+
switch (element.type) {
|
|
2084
|
+
case DECLARATION:
|
|
2085
|
+
element["return"] = prefix(element.value, element.length);
|
|
2086
|
+
break;
|
|
2087
|
+
case KEYFRAMES:
|
|
2088
|
+
return serialize([copy(element, {
|
|
2089
|
+
value: replace(element.value, "@", "@" + WEBKIT)
|
|
2090
|
+
})], callback);
|
|
2091
|
+
case RULESET:
|
|
2092
|
+
if (element.length)
|
|
2093
|
+
return combine(element.props, function(value) {
|
|
2094
|
+
switch (match(value, /(::plac\w+|:read-\w+)/)) {
|
|
2095
|
+
case ":read-only":
|
|
2096
|
+
case ":read-write":
|
|
2097
|
+
return serialize([copy(element, {
|
|
2098
|
+
props: [replace(value, /:(read-\w+)/, ":" + MOZ + "$1")]
|
|
2099
|
+
})], callback);
|
|
2100
|
+
case "::placeholder":
|
|
2101
|
+
return serialize([copy(element, {
|
|
2102
|
+
props: [replace(value, /:(plac\w+)/, ":" + WEBKIT + "input-$1")]
|
|
2103
|
+
}), copy(element, {
|
|
2104
|
+
props: [replace(value, /:(plac\w+)/, ":" + MOZ + "$1")]
|
|
2105
|
+
}), copy(element, {
|
|
2106
|
+
props: [replace(value, /:(plac\w+)/, MS + "input-$1")]
|
|
2107
|
+
})], callback);
|
|
2108
|
+
}
|
|
2109
|
+
return "";
|
|
2110
|
+
});
|
|
2111
|
+
}
|
|
2112
|
+
}
|
|
2113
|
+
};
|
|
2114
|
+
var isBrowser = typeof document !== "undefined";
|
|
2115
|
+
var getServerStylisCache = isBrowser ? void 0 : weakMemoize(function() {
|
|
2116
|
+
return memoize(function() {
|
|
2117
|
+
var cache = {};
|
|
2118
|
+
return function(name) {
|
|
2119
|
+
return cache[name];
|
|
2120
|
+
};
|
|
2121
|
+
});
|
|
2122
|
+
});
|
|
2123
|
+
var defaultStylisPlugins = [prefixer];
|
|
2124
|
+
var createCache = function createCache2(options) {
|
|
2125
|
+
var key = options.key;
|
|
2126
|
+
if (!key) {
|
|
2127
|
+
throw new Error("You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\nIf multiple caches share the same key they might \"fight\" for each other's style elements.");
|
|
2128
|
+
}
|
|
2129
|
+
if (isBrowser && key === "css") {
|
|
2130
|
+
var ssrStyles = document.querySelectorAll("style[data-emotion]:not([data-s])");
|
|
2131
|
+
Array.prototype.forEach.call(ssrStyles, function(node2) {
|
|
2132
|
+
var dataEmotionAttribute = node2.getAttribute("data-emotion");
|
|
2133
|
+
if (dataEmotionAttribute.indexOf(" ") === -1) {
|
|
2134
|
+
return;
|
|
2135
|
+
}
|
|
2136
|
+
document.head.appendChild(node2);
|
|
2137
|
+
node2.setAttribute("data-s", "");
|
|
2138
|
+
});
|
|
2139
|
+
}
|
|
2140
|
+
var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;
|
|
2141
|
+
if (true) {
|
|
2142
|
+
if (/[^a-z-]/.test(key)) {
|
|
2143
|
+
throw new Error('Emotion key must only contain lower case alphabetical characters and - but "' + key + '" was passed');
|
|
2144
|
+
}
|
|
2145
|
+
}
|
|
2146
|
+
var inserted = {};
|
|
2147
|
+
var container;
|
|
2148
|
+
var nodesToHydrate = [];
|
|
2149
|
+
if (isBrowser) {
|
|
2150
|
+
container = options.container || document.head;
|
|
2151
|
+
Array.prototype.forEach.call(
|
|
2152
|
+
// this means we will ignore elements which don't have a space in them which
|
|
2153
|
+
// means that the style elements we're looking at are only Emotion 11 server-rendered style elements
|
|
2154
|
+
document.querySelectorAll('style[data-emotion^="' + key + ' "]'),
|
|
2155
|
+
function(node2) {
|
|
2156
|
+
var attrib = node2.getAttribute("data-emotion").split(" ");
|
|
2157
|
+
for (var i = 1; i < attrib.length; i++) {
|
|
2158
|
+
inserted[attrib[i]] = true;
|
|
2159
|
+
}
|
|
2160
|
+
nodesToHydrate.push(node2);
|
|
2161
|
+
}
|
|
2162
|
+
);
|
|
2163
|
+
}
|
|
2164
|
+
var _insert;
|
|
2165
|
+
var omnipresentPlugins = [compat, removeLabel];
|
|
2166
|
+
if (true) {
|
|
2167
|
+
omnipresentPlugins.push(createUnsafeSelectorsAlarm({
|
|
2168
|
+
get compat() {
|
|
2169
|
+
return cache.compat;
|
|
2170
|
+
}
|
|
2171
|
+
}), incorrectImportAlarm);
|
|
2172
|
+
}
|
|
2173
|
+
if (isBrowser) {
|
|
2174
|
+
var currentSheet;
|
|
2175
|
+
var finalizingPlugins = [stringify, true ? function(element) {
|
|
2176
|
+
if (!element.root) {
|
|
2177
|
+
if (element["return"]) {
|
|
2178
|
+
currentSheet.insert(element["return"]);
|
|
2179
|
+
} else if (element.value && element.type !== COMMENT) {
|
|
2180
|
+
currentSheet.insert(element.value + "{}");
|
|
2181
|
+
}
|
|
2182
|
+
}
|
|
2183
|
+
} : rulesheet(function(rule) {
|
|
2184
|
+
currentSheet.insert(rule);
|
|
2185
|
+
})];
|
|
2186
|
+
var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));
|
|
2187
|
+
var stylis = function stylis2(styles13) {
|
|
2188
|
+
return serialize(compile(styles13), serializer);
|
|
2189
|
+
};
|
|
2190
|
+
_insert = function insert(selector, serialized, sheet, shouldCache) {
|
|
2191
|
+
currentSheet = sheet;
|
|
2192
|
+
if (serialized.map !== void 0) {
|
|
2193
|
+
currentSheet = {
|
|
2194
|
+
insert: function insert2(rule) {
|
|
2195
|
+
sheet.insert(rule + serialized.map);
|
|
2196
|
+
}
|
|
2197
|
+
};
|
|
2198
|
+
}
|
|
2199
|
+
stylis(selector ? selector + "{" + serialized.styles + "}" : serialized.styles);
|
|
2200
|
+
if (shouldCache) {
|
|
2201
|
+
cache.inserted[serialized.name] = true;
|
|
2202
|
+
}
|
|
2203
|
+
};
|
|
2204
|
+
} else {
|
|
2205
|
+
var _finalizingPlugins = [stringify];
|
|
2206
|
+
var _serializer = middleware(omnipresentPlugins.concat(stylisPlugins, _finalizingPlugins));
|
|
2207
|
+
var _stylis = function _stylis2(styles13) {
|
|
2208
|
+
return serialize(compile(styles13), _serializer);
|
|
2209
|
+
};
|
|
2210
|
+
var serverStylisCache = getServerStylisCache(stylisPlugins)(key);
|
|
2211
|
+
var getRules3 = function getRules4(selector, serialized) {
|
|
2212
|
+
var name = serialized.name;
|
|
2213
|
+
if (serverStylisCache[name] === void 0) {
|
|
2214
|
+
serverStylisCache[name] = _stylis(selector ? selector + "{" + serialized.styles + "}" : serialized.styles);
|
|
2215
|
+
}
|
|
2216
|
+
return serverStylisCache[name];
|
|
2217
|
+
};
|
|
2218
|
+
_insert = function _insert2(selector, serialized, sheet, shouldCache) {
|
|
2219
|
+
var name = serialized.name;
|
|
2220
|
+
var rules = getRules3(selector, serialized);
|
|
2221
|
+
if (cache.compat === void 0) {
|
|
2222
|
+
if (shouldCache) {
|
|
2223
|
+
cache.inserted[name] = true;
|
|
2224
|
+
}
|
|
2225
|
+
if (serialized.map !== void 0) {
|
|
2226
|
+
return rules + serialized.map;
|
|
2227
|
+
}
|
|
2228
|
+
return rules;
|
|
2229
|
+
} else {
|
|
2230
|
+
if (shouldCache) {
|
|
2231
|
+
cache.inserted[name] = rules;
|
|
2232
|
+
} else {
|
|
2233
|
+
return rules;
|
|
2234
|
+
}
|
|
2235
|
+
}
|
|
2236
|
+
};
|
|
2237
|
+
}
|
|
2238
|
+
var cache = {
|
|
2239
|
+
key,
|
|
2240
|
+
sheet: new StyleSheet({
|
|
2241
|
+
key,
|
|
2242
|
+
container,
|
|
2243
|
+
nonce: options.nonce,
|
|
2244
|
+
speedy: options.speedy,
|
|
2245
|
+
prepend: options.prepend,
|
|
2246
|
+
insertionPoint: options.insertionPoint
|
|
2247
|
+
}),
|
|
2248
|
+
nonce: options.nonce,
|
|
2249
|
+
inserted,
|
|
2250
|
+
registered: {},
|
|
2251
|
+
insert: _insert
|
|
2252
|
+
};
|
|
2253
|
+
cache.sheet.hydrate(nodesToHydrate);
|
|
2254
|
+
return cache;
|
|
2255
|
+
};
|
|
2256
|
+
|
|
2257
|
+
// node_modules/@emotion/hash/dist/emotion-hash.esm.js
|
|
2258
|
+
function murmur2(str) {
|
|
2259
|
+
var h = 0;
|
|
2260
|
+
var k, i = 0, len = str.length;
|
|
2261
|
+
for (; len >= 4; ++i, len -= 4) {
|
|
2262
|
+
k = str.charCodeAt(i) & 255 | (str.charCodeAt(++i) & 255) << 8 | (str.charCodeAt(++i) & 255) << 16 | (str.charCodeAt(++i) & 255) << 24;
|
|
2263
|
+
k = /* Math.imul(k, m): */
|
|
2264
|
+
(k & 65535) * 1540483477 + ((k >>> 16) * 59797 << 16);
|
|
2265
|
+
k ^= /* k >>> r: */
|
|
2266
|
+
k >>> 24;
|
|
2267
|
+
h = /* Math.imul(k, m): */
|
|
2268
|
+
(k & 65535) * 1540483477 + ((k >>> 16) * 59797 << 16) ^ /* Math.imul(h, m): */
|
|
2269
|
+
(h & 65535) * 1540483477 + ((h >>> 16) * 59797 << 16);
|
|
2270
|
+
}
|
|
2271
|
+
switch (len) {
|
|
2272
|
+
case 3:
|
|
2273
|
+
h ^= (str.charCodeAt(i + 2) & 255) << 16;
|
|
2274
|
+
case 2:
|
|
2275
|
+
h ^= (str.charCodeAt(i + 1) & 255) << 8;
|
|
2276
|
+
case 1:
|
|
2277
|
+
h ^= str.charCodeAt(i) & 255;
|
|
2278
|
+
h = /* Math.imul(h, m): */
|
|
2279
|
+
(h & 65535) * 1540483477 + ((h >>> 16) * 59797 << 16);
|
|
2280
|
+
}
|
|
2281
|
+
h ^= h >>> 13;
|
|
2282
|
+
h = /* Math.imul(h, m): */
|
|
2283
|
+
(h & 65535) * 1540483477 + ((h >>> 16) * 59797 << 16);
|
|
2284
|
+
return ((h ^ h >>> 15) >>> 0).toString(36);
|
|
2285
|
+
}
|
|
2286
|
+
|
|
2287
|
+
// node_modules/@emotion/unitless/dist/emotion-unitless.esm.js
|
|
2288
|
+
var unitlessKeys = {
|
|
2289
|
+
animationIterationCount: 1,
|
|
2290
|
+
aspectRatio: 1,
|
|
2291
|
+
borderImageOutset: 1,
|
|
2292
|
+
borderImageSlice: 1,
|
|
2293
|
+
borderImageWidth: 1,
|
|
2294
|
+
boxFlex: 1,
|
|
2295
|
+
boxFlexGroup: 1,
|
|
2296
|
+
boxOrdinalGroup: 1,
|
|
2297
|
+
columnCount: 1,
|
|
2298
|
+
columns: 1,
|
|
2299
|
+
flex: 1,
|
|
2300
|
+
flexGrow: 1,
|
|
2301
|
+
flexPositive: 1,
|
|
2302
|
+
flexShrink: 1,
|
|
2303
|
+
flexNegative: 1,
|
|
2304
|
+
flexOrder: 1,
|
|
2305
|
+
gridRow: 1,
|
|
2306
|
+
gridRowEnd: 1,
|
|
2307
|
+
gridRowSpan: 1,
|
|
2308
|
+
gridRowStart: 1,
|
|
2309
|
+
gridColumn: 1,
|
|
2310
|
+
gridColumnEnd: 1,
|
|
2311
|
+
gridColumnSpan: 1,
|
|
2312
|
+
gridColumnStart: 1,
|
|
2313
|
+
msGridRow: 1,
|
|
2314
|
+
msGridRowSpan: 1,
|
|
2315
|
+
msGridColumn: 1,
|
|
2316
|
+
msGridColumnSpan: 1,
|
|
2317
|
+
fontWeight: 1,
|
|
2318
|
+
lineHeight: 1,
|
|
2319
|
+
opacity: 1,
|
|
2320
|
+
order: 1,
|
|
2321
|
+
orphans: 1,
|
|
2322
|
+
tabSize: 1,
|
|
2323
|
+
widows: 1,
|
|
2324
|
+
zIndex: 1,
|
|
2325
|
+
zoom: 1,
|
|
2326
|
+
WebkitLineClamp: 1,
|
|
2327
|
+
// SVG-related properties
|
|
2328
|
+
fillOpacity: 1,
|
|
2329
|
+
floodOpacity: 1,
|
|
2330
|
+
stopOpacity: 1,
|
|
2331
|
+
strokeDasharray: 1,
|
|
2332
|
+
strokeDashoffset: 1,
|
|
2333
|
+
strokeMiterlimit: 1,
|
|
2334
|
+
strokeOpacity: 1,
|
|
2335
|
+
strokeWidth: 1
|
|
2336
|
+
};
|
|
2337
|
+
|
|
2338
|
+
// node_modules/@emotion/serialize/dist/emotion-serialize.esm.js
|
|
2339
|
+
var ILLEGAL_ESCAPE_SEQUENCE_ERROR = `You have illegal escape sequence in your template literal, most likely inside content's property value.
|
|
2340
|
+
Because you write your CSS inside a JavaScript string you actually have to do double escaping, so for example "content: '\\00d7';" should become "content: '\\\\00d7';".
|
|
2341
|
+
You can read more about this here:
|
|
2342
|
+
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences`;
|
|
2343
|
+
var UNDEFINED_AS_OBJECT_KEY_ERROR = "You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).";
|
|
2344
|
+
var hyphenateRegex = /[A-Z]|^ms/g;
|
|
2345
|
+
var animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;
|
|
2346
|
+
var isCustomProperty = function isCustomProperty2(property) {
|
|
2347
|
+
return property.charCodeAt(1) === 45;
|
|
2348
|
+
};
|
|
2349
|
+
var isProcessableValue = function isProcessableValue2(value) {
|
|
2350
|
+
return value != null && typeof value !== "boolean";
|
|
2351
|
+
};
|
|
2352
|
+
var processStyleName = /* @__PURE__ */ memoize(function(styleName) {
|
|
2353
|
+
return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, "-$&").toLowerCase();
|
|
2354
|
+
});
|
|
2355
|
+
var processStyleValue = function processStyleValue2(key, value) {
|
|
2356
|
+
switch (key) {
|
|
2357
|
+
case "animation":
|
|
2358
|
+
case "animationName": {
|
|
2359
|
+
if (typeof value === "string") {
|
|
2360
|
+
return value.replace(animationRegex, function(match2, p1, p2) {
|
|
2361
|
+
cursor = {
|
|
2362
|
+
name: p1,
|
|
2363
|
+
styles: p2,
|
|
2364
|
+
next: cursor
|
|
2365
|
+
};
|
|
2366
|
+
return p1;
|
|
2367
|
+
});
|
|
2368
|
+
}
|
|
2369
|
+
}
|
|
2370
|
+
}
|
|
2371
|
+
if (unitlessKeys[key] !== 1 && !isCustomProperty(key) && typeof value === "number" && value !== 0) {
|
|
2372
|
+
return value + "px";
|
|
2373
|
+
}
|
|
2374
|
+
return value;
|
|
2375
|
+
};
|
|
2376
|
+
if (true) {
|
|
2377
|
+
contentValuePattern = /(var|attr|counters?|url|element|(((repeating-)?(linear|radial))|conic)-gradient)\(|(no-)?(open|close)-quote/;
|
|
2378
|
+
contentValues = ["normal", "none", "initial", "inherit", "unset"];
|
|
2379
|
+
oldProcessStyleValue = processStyleValue;
|
|
2380
|
+
msPattern = /^-ms-/;
|
|
2381
|
+
hyphenPattern = /-(.)/g;
|
|
2382
|
+
hyphenatedCache = {};
|
|
2383
|
+
processStyleValue = function processStyleValue3(key, value) {
|
|
2384
|
+
if (key === "content") {
|
|
2385
|
+
if (typeof value !== "string" || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '"' && value.charAt(0) !== "'")) {
|
|
2386
|
+
throw new Error("You seem to be using a value for 'content' without quotes, try replacing it with `content: '\"" + value + "\"'`");
|
|
2387
|
+
}
|
|
2388
|
+
}
|
|
2389
|
+
var processed = oldProcessStyleValue(key, value);
|
|
2390
|
+
if (processed !== "" && !isCustomProperty(key) && key.indexOf("-") !== -1 && hyphenatedCache[key] === void 0) {
|
|
2391
|
+
hyphenatedCache[key] = true;
|
|
2392
|
+
console.error("Using kebab-case for css properties in objects is not supported. Did you mean " + key.replace(msPattern, "ms-").replace(hyphenPattern, function(str, _char) {
|
|
2393
|
+
return _char.toUpperCase();
|
|
2394
|
+
}) + "?");
|
|
2395
|
+
}
|
|
2396
|
+
return processed;
|
|
2397
|
+
};
|
|
2398
|
+
}
|
|
2399
|
+
var contentValuePattern;
|
|
2400
|
+
var contentValues;
|
|
2401
|
+
var oldProcessStyleValue;
|
|
2402
|
+
var msPattern;
|
|
2403
|
+
var hyphenPattern;
|
|
2404
|
+
var hyphenatedCache;
|
|
2405
|
+
var noComponentSelectorMessage = "Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";
|
|
2406
|
+
function handleInterpolation(mergedProps, registered, interpolation) {
|
|
2407
|
+
if (interpolation == null) {
|
|
2408
|
+
return "";
|
|
2409
|
+
}
|
|
2410
|
+
if (interpolation.__emotion_styles !== void 0) {
|
|
2411
|
+
if (interpolation.toString() === "NO_COMPONENT_SELECTOR") {
|
|
2412
|
+
throw new Error(noComponentSelectorMessage);
|
|
2413
|
+
}
|
|
2414
|
+
return interpolation;
|
|
2415
|
+
}
|
|
2416
|
+
switch (typeof interpolation) {
|
|
2417
|
+
case "boolean": {
|
|
2418
|
+
return "";
|
|
2419
|
+
}
|
|
2420
|
+
case "object": {
|
|
2421
|
+
if (interpolation.anim === 1) {
|
|
2422
|
+
cursor = {
|
|
2423
|
+
name: interpolation.name,
|
|
2424
|
+
styles: interpolation.styles,
|
|
2425
|
+
next: cursor
|
|
2426
|
+
};
|
|
2427
|
+
return interpolation.name;
|
|
2428
|
+
}
|
|
2429
|
+
if (interpolation.styles !== void 0) {
|
|
2430
|
+
var next2 = interpolation.next;
|
|
2431
|
+
if (next2 !== void 0) {
|
|
2432
|
+
while (next2 !== void 0) {
|
|
2433
|
+
cursor = {
|
|
2434
|
+
name: next2.name,
|
|
2435
|
+
styles: next2.styles,
|
|
2436
|
+
next: cursor
|
|
2437
|
+
};
|
|
2438
|
+
next2 = next2.next;
|
|
2439
|
+
}
|
|
2440
|
+
}
|
|
2441
|
+
var styles13 = interpolation.styles + ";";
|
|
2442
|
+
if (interpolation.map !== void 0) {
|
|
2443
|
+
styles13 += interpolation.map;
|
|
2444
|
+
}
|
|
2445
|
+
return styles13;
|
|
2446
|
+
}
|
|
2447
|
+
return createStringFromObject(mergedProps, registered, interpolation);
|
|
2448
|
+
}
|
|
2449
|
+
case "function": {
|
|
2450
|
+
if (mergedProps !== void 0) {
|
|
2451
|
+
var previousCursor = cursor;
|
|
2452
|
+
var result = interpolation(mergedProps);
|
|
2453
|
+
cursor = previousCursor;
|
|
2454
|
+
return handleInterpolation(mergedProps, registered, result);
|
|
2455
|
+
} else if (true) {
|
|
2456
|
+
console.error("Functions that are interpolated in css calls will be stringified.\nIf you want to have a css call based on props, create a function that returns a css call like this\nlet dynamicStyle = (props) => css`color: ${props.color}`\nIt can be called directly with props or interpolated in a styled call like this\nlet SomeComponent = styled('div')`${dynamicStyle}`");
|
|
2457
|
+
}
|
|
2458
|
+
break;
|
|
2459
|
+
}
|
|
2460
|
+
case "string":
|
|
2461
|
+
if (true) {
|
|
2462
|
+
var matched = [];
|
|
2463
|
+
var replaced = interpolation.replace(animationRegex, function(match2, p1, p2) {
|
|
2464
|
+
var fakeVarName = "animation" + matched.length;
|
|
2465
|
+
matched.push("const " + fakeVarName + " = keyframes`" + p2.replace(/^@keyframes animation-\w+/, "") + "`");
|
|
2466
|
+
return "${" + fakeVarName + "}";
|
|
2467
|
+
});
|
|
2468
|
+
if (matched.length) {
|
|
2469
|
+
console.error("`keyframes` output got interpolated into plain string, please wrap it with `css`.\n\nInstead of doing this:\n\n" + [].concat(matched, ["`" + replaced + "`"]).join("\n") + "\n\nYou should wrap it with `css` like this:\n\n" + ("css`" + replaced + "`"));
|
|
2470
|
+
}
|
|
2471
|
+
}
|
|
2472
|
+
break;
|
|
2473
|
+
}
|
|
2474
|
+
if (registered == null) {
|
|
2475
|
+
return interpolation;
|
|
2476
|
+
}
|
|
2477
|
+
var cached = registered[interpolation];
|
|
2478
|
+
return cached !== void 0 ? cached : interpolation;
|
|
2479
|
+
}
|
|
2480
|
+
function createStringFromObject(mergedProps, registered, obj) {
|
|
2481
|
+
var string = "";
|
|
2482
|
+
if (Array.isArray(obj)) {
|
|
2483
|
+
for (var i = 0; i < obj.length; i++) {
|
|
2484
|
+
string += handleInterpolation(mergedProps, registered, obj[i]) + ";";
|
|
2485
|
+
}
|
|
2486
|
+
} else {
|
|
2487
|
+
for (var _key in obj) {
|
|
2488
|
+
var value = obj[_key];
|
|
2489
|
+
if (typeof value !== "object") {
|
|
2490
|
+
if (registered != null && registered[value] !== void 0) {
|
|
2491
|
+
string += _key + "{" + registered[value] + "}";
|
|
2492
|
+
} else if (isProcessableValue(value)) {
|
|
2493
|
+
string += processStyleName(_key) + ":" + processStyleValue(_key, value) + ";";
|
|
2494
|
+
}
|
|
2495
|
+
} else {
|
|
2496
|
+
if (_key === "NO_COMPONENT_SELECTOR" && true) {
|
|
2497
|
+
throw new Error(noComponentSelectorMessage);
|
|
2498
|
+
}
|
|
2499
|
+
if (Array.isArray(value) && typeof value[0] === "string" && (registered == null || registered[value[0]] === void 0)) {
|
|
2500
|
+
for (var _i = 0; _i < value.length; _i++) {
|
|
2501
|
+
if (isProcessableValue(value[_i])) {
|
|
2502
|
+
string += processStyleName(_key) + ":" + processStyleValue(_key, value[_i]) + ";";
|
|
2503
|
+
}
|
|
2504
|
+
}
|
|
2505
|
+
} else {
|
|
2506
|
+
var interpolated = handleInterpolation(mergedProps, registered, value);
|
|
2507
|
+
switch (_key) {
|
|
2508
|
+
case "animation":
|
|
2509
|
+
case "animationName": {
|
|
2510
|
+
string += processStyleName(_key) + ":" + interpolated + ";";
|
|
2511
|
+
break;
|
|
2512
|
+
}
|
|
2513
|
+
default: {
|
|
2514
|
+
if (_key === "undefined") {
|
|
2515
|
+
console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);
|
|
2516
|
+
}
|
|
2517
|
+
string += _key + "{" + interpolated + "}";
|
|
2518
|
+
}
|
|
2519
|
+
}
|
|
2520
|
+
}
|
|
2521
|
+
}
|
|
2522
|
+
}
|
|
2523
|
+
}
|
|
2524
|
+
return string;
|
|
2525
|
+
}
|
|
2526
|
+
var labelPattern = /label:\s*([^\s;\n{]+)\s*(;|$)/g;
|
|
2527
|
+
var sourceMapPattern;
|
|
2528
|
+
if (true) {
|
|
2529
|
+
sourceMapPattern = /\/\*#\ssourceMappingURL=data:application\/json;\S+\s+\*\//g;
|
|
2530
|
+
}
|
|
2531
|
+
var cursor;
|
|
2532
|
+
var serializeStyles = function serializeStyles2(args, registered, mergedProps) {
|
|
2533
|
+
if (args.length === 1 && typeof args[0] === "object" && args[0] !== null && args[0].styles !== void 0) {
|
|
2534
|
+
return args[0];
|
|
2535
|
+
}
|
|
2536
|
+
var stringMode = true;
|
|
2537
|
+
var styles13 = "";
|
|
2538
|
+
cursor = void 0;
|
|
2539
|
+
var strings = args[0];
|
|
2540
|
+
if (strings == null || strings.raw === void 0) {
|
|
2541
|
+
stringMode = false;
|
|
2542
|
+
styles13 += handleInterpolation(mergedProps, registered, strings);
|
|
2543
|
+
} else {
|
|
2544
|
+
if (strings[0] === void 0) {
|
|
2545
|
+
console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);
|
|
2546
|
+
}
|
|
2547
|
+
styles13 += strings[0];
|
|
2548
|
+
}
|
|
2549
|
+
for (var i = 1; i < args.length; i++) {
|
|
2550
|
+
styles13 += handleInterpolation(mergedProps, registered, args[i]);
|
|
2551
|
+
if (stringMode) {
|
|
2552
|
+
if (strings[i] === void 0) {
|
|
2553
|
+
console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);
|
|
2554
|
+
}
|
|
2555
|
+
styles13 += strings[i];
|
|
2556
|
+
}
|
|
2557
|
+
}
|
|
2558
|
+
var sourceMap;
|
|
2559
|
+
if (true) {
|
|
2560
|
+
styles13 = styles13.replace(sourceMapPattern, function(match3) {
|
|
2561
|
+
sourceMap = match3;
|
|
2562
|
+
return "";
|
|
2563
|
+
});
|
|
2564
|
+
}
|
|
2565
|
+
labelPattern.lastIndex = 0;
|
|
2566
|
+
var identifierName = "";
|
|
2567
|
+
var match2;
|
|
2568
|
+
while ((match2 = labelPattern.exec(styles13)) !== null) {
|
|
2569
|
+
identifierName += "-" + // $FlowFixMe we know it's not null
|
|
2570
|
+
match2[1];
|
|
2571
|
+
}
|
|
2572
|
+
var name = murmur2(styles13) + identifierName;
|
|
2573
|
+
if (true) {
|
|
2574
|
+
return {
|
|
2575
|
+
name,
|
|
2576
|
+
styles: styles13,
|
|
2577
|
+
map: sourceMap,
|
|
2578
|
+
next: cursor,
|
|
2579
|
+
toString: function toString() {
|
|
2580
|
+
return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).";
|
|
2581
|
+
}
|
|
2582
|
+
};
|
|
2583
|
+
}
|
|
2584
|
+
return {
|
|
2585
|
+
name,
|
|
2586
|
+
styles: styles13,
|
|
2587
|
+
next: cursor
|
|
2588
|
+
};
|
|
2589
|
+
};
|
|
2590
|
+
|
|
2591
|
+
// node_modules/@emotion/utils/dist/emotion-utils.esm.js
|
|
2592
|
+
var isBrowser2 = typeof document !== "undefined";
|
|
2593
|
+
function getRegisteredStyles(registered, registeredStyles, classNames) {
|
|
2594
|
+
var rawClassName = "";
|
|
2595
|
+
classNames.split(" ").forEach(function(className) {
|
|
2596
|
+
if (registered[className] !== void 0) {
|
|
2597
|
+
registeredStyles.push(registered[className] + ";");
|
|
2598
|
+
} else {
|
|
2599
|
+
rawClassName += className + " ";
|
|
2600
|
+
}
|
|
2601
|
+
});
|
|
2602
|
+
return rawClassName;
|
|
2603
|
+
}
|
|
2604
|
+
var registerStyles = function registerStyles2(cache, serialized, isStringTag) {
|
|
2605
|
+
var className = cache.key + "-" + serialized.name;
|
|
2606
|
+
if (
|
|
2607
|
+
// we only need to add the styles to the registered cache if the
|
|
2608
|
+
// class name could be used further down
|
|
2609
|
+
// the tree but if it's a string tag, we know it won't
|
|
2610
|
+
// so we don't have to add it to registered cache.
|
|
2611
|
+
// this improves memory usage since we can avoid storing the whole style string
|
|
2612
|
+
(isStringTag === false || // we need to always store it if we're in compat mode and
|
|
2613
|
+
// in node since emotion-server relies on whether a style is in
|
|
2614
|
+
// the registered cache to know whether a style is global or not
|
|
2615
|
+
// also, note that this check will be dead code eliminated in the browser
|
|
2616
|
+
isBrowser2 === false && cache.compat !== void 0) && cache.registered[className] === void 0
|
|
2617
|
+
) {
|
|
2618
|
+
cache.registered[className] = serialized.styles;
|
|
2619
|
+
}
|
|
2620
|
+
};
|
|
2621
|
+
var insertStyles = function insertStyles2(cache, serialized, isStringTag) {
|
|
2622
|
+
registerStyles(cache, serialized, isStringTag);
|
|
2623
|
+
var className = cache.key + "-" + serialized.name;
|
|
2624
|
+
if (cache.inserted[serialized.name] === void 0) {
|
|
2625
|
+
var stylesForSSR = "";
|
|
2626
|
+
var current = serialized;
|
|
2627
|
+
do {
|
|
2628
|
+
var maybeStyles = cache.insert(serialized === current ? "." + className : "", current, cache.sheet, true);
|
|
2629
|
+
if (!isBrowser2 && maybeStyles !== void 0) {
|
|
2630
|
+
stylesForSSR += maybeStyles;
|
|
2631
|
+
}
|
|
2632
|
+
current = current.next;
|
|
2633
|
+
} while (current !== void 0);
|
|
2634
|
+
if (!isBrowser2 && stylesForSSR.length !== 0) {
|
|
2635
|
+
return stylesForSSR;
|
|
2636
|
+
}
|
|
2637
|
+
}
|
|
1350
2638
|
};
|
|
1351
2639
|
|
|
1352
|
-
//
|
|
1353
|
-
var injectedStyles = "/* src/components/telephoneKeypad/private/Button.module.css */\n.webchat-fluent .Button_telephone-keypad__button {\n -webkit-user-select: none;\n align-items: center;\n appearance: none;\n background-color: White;\n border-radius: 100%;\n border: solid 1px var(--webchat-colorNeutralStroke1);\n color: var(--webchat-colorGray200);\n font-weight: var(--webchat-fontWeightSemibold);\n cursor: pointer;\n display: flex;\n flex-direction: column;\n height: 60px;\n opacity: 0.7;\n padding: 0;\n position: relative;\n touch-action: none;\n user-select: none;\n width: 60px;\n}\n.webchat-fluent .Button_telephone-keypad__button:hover {\n background-color: var(--webchat-colorGray30);\n}\n.webchat-fluent .Button_telephone-keypad__button__ruby {\n color: var(--webchat-colorGray190);\n font-size: 10px;\n}\n.webchat-fluent .Button_telephone-keypad__button__text {\n font-size: 24px;\n margin-top: 8px;\n}\n.webchat-fluent .Button_telephone-keypad--horizontal .Button_telephone-keypad__button {\n height: 32px;\n justify-content: center;\n margin: 8px 4px;\n width: 32px;\n}\n.webchat-fluent .Button_telephone-keypad--horizontal .Button_telephone-keypad__button__ruby {\n display: none;\n}\n.webchat-fluent .Button_telephone-keypad--horizontal .Button_telephone-keypad__button__text {\n font-size: 20px;\n margin-top: 0;\n}\n\n/* src/components/telephoneKeypad/private/TelephoneKeypad.module.css */\n.webchat-fluent .TelephoneKeypad_telephone-keypad {\n align-items: center;\n background: var(--webchat-colorNeutralBackground1);\n border: none;\n border-radius: var(--webchat-borderRadiusXLarge);\n display: flex;\n flex-direction: column;\n font-family: var(--webchat-fontFamilyBase);\n justify-content: center;\n}\n.webchat-fluent .TelephoneKeypad_telephone-keypad__box {\n box-sizing: border-box;\n display: grid;\n gap: 16px;\n grid-template-columns: repeat(3, 1fr);\n grid-template-rows: repeat(4, 1fr);\n justify-items: center;\n padding: 16px;\n width: 100%;\n}\n\n/* src/components/Theme.module.css */\n.webchat-fluent.Theme_theme {\n display: contents;\n --webchat-colorNeutralForeground1: var(--colorNeutralForeground1, #242424);\n --webchat-colorNeutralForeground2: var(--colorNeutralForeground2, #424242);\n --webchat-colorNeutralForeground4: var(--colorNeutralForeground4, #707070);\n --webchat-colorNeutralForegroundDisabled: var(--colorNeutralForegroundDisabled, #bdbdbd);\n --webchat-colorNeutralBackground1: var(--colorNeutralBackground1, #ffffff);\n --webchat-colorNeutralBackground4: var(--colorNeutralBackground4, #f0f0f0);\n --webchat-colorNeutralBackground5: var(--colorNeutralBackground5, #ebebeb);\n --webchat-colorSubtleBackgroundHover: var(--colorSubtleBackgroundHover, #f5f5f5);\n --webchat-colorSubtleBackgroundPressed: var(--colorSubtleBackgroundPressed, #e0e0e0);\n --webchat-colorNeutralStroke1: var(--colorNeutralStroke1, #d1d1d1);\n --webchat-colorNeutralStroke2: var(--colorNeutralStroke2, #e0e0e0);\n --webchat-colorNeutralStroke1Selected: var(--colorNeutralStroke1Selected, #bdbdbd);\n --webchat-colorBrandStroke2: var(--colorBrandStroke2, #9edcf7);\n --webchat-colorBrandForeground2Hover: var(--colorBrandForeground2Hover, #015a7a);\n --webchat-colorBrandForeground2Pressed: var(--colorBrandForeground2Pressed, #01384d);\n --webchat-colorBrandBackground2Hover: var(--colorBrandBackground2Hover, #bee7fa);\n --webchat-colorBrandBackground2Pressed: var(--colorBrandBackground2Pressed, #7fd2f5);\n --webchat-colorCompoundBrandForeground1: var(--colorCompoundBrandForeground1, #077fab);\n --webchat-colorCompoundBrandForeground1Hover: var(--colorCompoundBrandForeground1Hover, #02729c);\n --webchat-colorCompoundBrandForeground1Pressed: var(--colorCompoundBrandForeground1Pressed, #01678c);\n --webchat-colorStatusDangerForeground1: var(--colorStatusDangerForeground1, #b10e1c);\n --webchat-colorGray30: var(--colorGray30, #edebe9);\n --webchat-colorGray160: var(--colorGray160, #323130);\n --webchat-colorGray190: var(--colorGray190, #201f1e);\n --webchat-colorGray200: var(--colorGray200, #1b1a19);\n --webchat-borderRadiusSmall: var(--borderRadiusSmall, 2px);\n --webchat-borderRadiusLarge: var(--borderRadiusLarge, 6px);\n --webchat-borderRadiusXLarge: var(--borderRadiusXLarge, 8px);\n --webchat-shadow16: var(--shadow16, 0 6.4px 14.4px 0 rgba(0, 0, 0, 0.132), 0 1.2px 3.6px 0 rgba(0, 0, 0, 0.108));\n --webchat-spacingHorizontalMNudge: var(--spacingHorizontalMNudge, 10px);\n --webchat-fontFamilyBase: var(--fontFamilyBase, \"Segoe UI\", \"Segoe UI Web (West European)\", -apple-system, BlinkMacSystemFont, Roboto, \"Helvetica Neue\", sans-serif);\n --webchat-fontFamilyNumeric: var(--fontFamilyNumeric, Bahnschrift, \"Segoe UI\", \"Segoe UI Web (West European)\", -apple-system, BlinkMacSystemFont, Roboto, \"Helvetica Neue\", sans-serif);\n --webchat-fontWeightSemibold: var(--fontWeightSemibold, 600);\n}\n\n/* src/components/dropZone/index.module.css */\n.webchat-fluent .dropZone_sendbox__attachment-drop-zone {\n background-color: var(--webchat-colorNeutralBackground4);\n border-radius: inherit;\n cursor: copy;\n display: grid;\n gap: 8px;\n inset: 0;\n place-content: center;\n place-items: center;\n position: absolute;\n}\n.webchat-fluent .dropZone_sendbox__attachment-drop-zone--droppable {\n background-color: #e00;\n color: White;\n}\n.webchat-fluent .dropZone_sendbox__attachment-drop-zone-icon {\n height: 36px;\n pointer-events: none;\n width: 36px;\n}\n\n/* src/components/suggestedActions/SuggestedAction.module.css */\n.webchat-fluent .SuggestedAction_suggested-action {\n align-items: center;\n background: transparent;\n border-radius: 8px;\n border: 1px solid var(--webchat-colorBrandStroke2);\n cursor: pointer;\n display: flex;\n font-size: 12px;\n gap: 4px;\n padding: 4px 8px 4px;\n text-align: start;\n transition: all .15s ease-out;\n}\n@media (hover: hover) {\n .webchat-fluent .SuggestedAction_suggested-action:not([aria-disabled=true]):hover {\n background-color: var(--webchat-colorBrandBackground2Hover);\n color: var(--webchat-colorBrandForeground2Hover);\n }\n}\n.webchat-fluent .SuggestedAction_suggested-action:not([aria-disabled=true]):active {\n background-color: var(--webchat-colorBrandBackground2Pressed);\n color: var(--webchat-colorBrandForeground2Pressed);\n}\n.webchat-fluent .SuggestedAction_suggested-action[aria-disabled=true] {\n color: var(--webchat-colorNeutralForegroundDisabled);\n cursor: not-allowed;\n}\n.webchat-fluent .SuggestedAction_suggested-action__image {\n font-size: 12px;\n height: 1em;\n width: 1em;\n}\n\n/* src/components/suggestedActions/index.module.css */\n.webchat-fluent .suggestedActions_suggested-actions {\n align-items: flex-end;\n align-self: flex-end;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.webchat-fluent .suggestedActions_suggested-actions:not(:empty) {\n padding-block-end: 8px;\n padding-inline-start: 4px;\n}\n.webchat-fluent .suggestedActions_suggested-actions.suggestedActions_suggested-actions--flow {\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: flex-end;\n}\n.webchat-fluent .suggestedActions_suggested-actions.suggestedActions_suggested-actions--stacked {\n flex-direction: column;\n}\n\n/* src/components/sendbox/Toolbar.module.css */\n.webchat-fluent .Toolbar_sendbox__toolbar {\n display: flex;\n gap: 4px;\n margin-inline-start: auto;\n}\n.webchat-fluent .Toolbar_sendbox__toolbar-button {\n align-items: center;\n appearance: none;\n aspect-ratio: 1;\n background: transparent;\n border-radius: var(--webchat-borderRadiusSmall);\n border: none;\n cursor: pointer;\n display: flex;\n justify-content: center;\n padding: 3px;\n width: 32px;\n}\n.webchat-fluent .Toolbar_sendbox__toolbar-button > svg {\n font-size: 20px;\n pointer-events: none;\n}\n@media (hover: hover) {\n .webchat-fluent .Toolbar_sendbox__toolbar-button:not([aria-disabled=true]):hover {\n background-color: var(--webchat-colorSubtleBackgroundHover);\n color: var(--webchat-colorCompoundBrandForeground1Hover);\n }\n}\n.webchat-fluent .Toolbar_sendbox__toolbar-button:not([aria-disabled=true]):active {\n background-color: var(--webchat-colorSubtleBackgroundPressed);\n color: var(--webchat-colorCompoundBrandForeground1Pressed);\n}\n.webchat-fluent .Toolbar_sendbox__toolbar-button[aria-disabled=true] {\n color: var(--webchat-colorNeutralForegroundDisabled);\n cursor: not-allowed;\n}\n.webchat-fluent .Toolbar_sendbox__toolbar-separator {\n align-self: center;\n border-inline-end: 1px solid var(--webchat-colorNeutralStroke2);\n height: 28px;\n}\n.webchat-fluent .Toolbar_sendbox__toolbar-separator:is(:first-child, :last-child, :only-child) {\n display: none;\n}\n\n/* src/components/sendbox/AddAttachmentButton.module.css */\n.webchat-fluent .AddAttachmentButton_sendbox__add-attachment {\n display: grid;\n}\n.webchat-fluent .AddAttachmentButton_sendbox__add-attachment-input {\n font-size: 0;\n height: 0;\n opacity: 0;\n width: 0;\n}\n\n/* src/components/sendbox/Attachments.module.css */\n.webchat-fluent .Attachments_sendbox__attachment {\n border-radius: var(--webchat-borderRadiusLarge);\n border: 1px solid var(--webchat-colorNeutralStroke1);\n cursor: default;\n padding: 6px 8px;\n width: fit-content;\n}\n\n/* src/components/sendbox/ErrorMessage.module.css */\n.webchat-fluent .ErrorMessage_sendbox__error-message {\n color: transparent;\n font-size: 0;\n height: 0;\n left: 0;\n position: absolute;\n top: 0;\n width: 0;\n}\n\n/* src/components/sendbox/TextArea.module.css */\n.webchat-fluent .TextArea_sendbox__text-area {\n display: grid;\n grid-template-areas: \"main\";\n max-height: 200px;\n overflow: hidden;\n}\n.webchat-fluent .TextArea_sendbox__text-area--hidden {\n height: 0;\n visibility: collapse;\n}\n.webchat-fluent .TextArea_sendbox__text-area-shared {\n border: none;\n font: inherit;\n grid-area: main;\n outline: inherit;\n overflow-wrap: anywhere;\n resize: inherit;\n scrollbar-gutter: stable;\n}\n.webchat-fluent .TextArea_sendbox__text-area-doppelganger {\n overflow: hidden;\n visibility: hidden;\n white-space: pre-wrap;\n}\n.webchat-fluent .TextArea_sendbox__text-area-input {\n height: 100%;\n padding: 0;\n}\n.webchat-fluent .TextArea_sendbox__text-area-input--scroll {\n scrollbar-color: unset;\n scrollbar-width: unset;\n -moz-scrollbar-color: var(--webchat-colorNeutralBackground5) var(--webchat-colorNeutralForeground2);\n -moz-scrollbar-width: thin;\n}\n.webchat-fluent .TextArea_sendbox__text-area-input--scroll::-webkit-scrollbar {\n width: 8px;\n}\n.webchat-fluent .TextArea_sendbox__text-area-input--scroll::-webkit-scrollbar-track {\n background-color: var(--webchat-colorNeutralBackground5);\n border-radius: 16px;\n}\n.webchat-fluent .TextArea_sendbox__text-area-input--scroll::-webkit-scrollbar-thumb {\n background-color: var(--webchat-colorNeutralForeground2);\n border-radius: 16px;\n}\n.webchat-fluent .TextArea_sendbox__text-area-input--scroll::-webkit-scrollbar-corner {\n background-color: var(--webchat-colorNeutralBackground5);\n}\n\n/* src/components/sendbox/index.module.css */\n.webchat-fluent .sendbox_sendbox {\n color: var(--webchat-colorNeutralForeground1);\n font-family: var(--webchat-fontFamilyBase);\n padding: 0 10px 10px;\n text-rendering: optimizeLegibility;\n}\n.webchat-fluent .sendbox_sendbox__sendbox {\n background-color: var(--webchat-colorNeutralBackground1);\n border-radius: var(--webchat-borderRadiusLarge);\n border: 1px solid var(--webchat-colorNeutralStroke1);\n display: grid;\n font-family: var(--webchat-fontFamilyBase);\n font-size: 14px;\n gap: 6px;\n line-height: 20px;\n padding: 8px;\n position: relative;\n}\n.webchat-fluent .sendbox_sendbox__sendbox:focus-within {\n border-color: var(--webchat-colorNeutralStroke1Selected);\n box-shadow: inset 0 -6px 0 -3px var(--webchat-colorCompoundBrandForeground1Hover);\n}\n.webchat-fluent .sendbox_sendbox__sendbox-text {\n background-color: transparent;\n border: none;\n flex: auto;\n font-family: var(--webchat-fontFamilyBase);\n font-size: 14px;\n line-height: 20px;\n outline: none;\n padding: 4px 4px 0;\n resize: none;\n}\n.webchat-fluent .sendbox_sendbox__sendbox-controls {\n align-items: center;\n display: flex;\n padding-inline-start: 4px;\n}\n.webchat-fluent .sendbox_sendbox__text-counter {\n color: var(--webchat-colorNeutralForeground4);\n cursor: default;\n font-family: var(--webchat-fontFamilyNumeric);\n font-size: 10px;\n line-height: 14px;\n}\n.webchat-fluent .sendbox_sendbox__text-counter--error {\n color: var(--webchat-colorStatusDangerForeground1);\n}\n";
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
2640
|
+
// node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.esm.js
|
|
2641
|
+
function insertWithoutScoping(cache, serialized) {
|
|
2642
|
+
if (cache.inserted[serialized.name] === void 0) {
|
|
2643
|
+
return cache.insert("", serialized, cache.sheet, true);
|
|
2644
|
+
}
|
|
2645
|
+
}
|
|
2646
|
+
function merge(registered, css, className) {
|
|
2647
|
+
var registeredStyles = [];
|
|
2648
|
+
var rawClassName = getRegisteredStyles(registered, registeredStyles, className);
|
|
2649
|
+
if (registeredStyles.length < 2) {
|
|
2650
|
+
return className;
|
|
1359
2651
|
}
|
|
2652
|
+
return rawClassName + css(registeredStyles);
|
|
1360
2653
|
}
|
|
2654
|
+
var createEmotion = function createEmotion2(options) {
|
|
2655
|
+
var cache = createCache(options);
|
|
2656
|
+
cache.sheet.speedy = function(value) {
|
|
2657
|
+
if (this.ctr !== 0) {
|
|
2658
|
+
throw new Error("speedy must be changed before any rules are inserted");
|
|
2659
|
+
}
|
|
2660
|
+
this.isSpeedy = value;
|
|
2661
|
+
};
|
|
2662
|
+
cache.compat = true;
|
|
2663
|
+
var css = function css2() {
|
|
2664
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
2665
|
+
args[_key] = arguments[_key];
|
|
2666
|
+
}
|
|
2667
|
+
var serialized = serializeStyles(args, cache.registered, void 0);
|
|
2668
|
+
insertStyles(cache, serialized, false);
|
|
2669
|
+
return cache.key + "-" + serialized.name;
|
|
2670
|
+
};
|
|
2671
|
+
var keyframes = function keyframes2() {
|
|
2672
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
2673
|
+
args[_key2] = arguments[_key2];
|
|
2674
|
+
}
|
|
2675
|
+
var serialized = serializeStyles(args, cache.registered);
|
|
2676
|
+
var animation = "animation-" + serialized.name;
|
|
2677
|
+
insertWithoutScoping(cache, {
|
|
2678
|
+
name: serialized.name,
|
|
2679
|
+
styles: "@keyframes " + animation + "{" + serialized.styles + "}"
|
|
2680
|
+
});
|
|
2681
|
+
return animation;
|
|
2682
|
+
};
|
|
2683
|
+
var injectGlobal = function injectGlobal2() {
|
|
2684
|
+
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
|
2685
|
+
args[_key3] = arguments[_key3];
|
|
2686
|
+
}
|
|
2687
|
+
var serialized = serializeStyles(args, cache.registered);
|
|
2688
|
+
insertWithoutScoping(cache, serialized);
|
|
2689
|
+
};
|
|
2690
|
+
var cx7 = function cx8() {
|
|
2691
|
+
for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
|
2692
|
+
args[_key4] = arguments[_key4];
|
|
2693
|
+
}
|
|
2694
|
+
return merge(cache.registered, css, classnames(args));
|
|
2695
|
+
};
|
|
2696
|
+
return {
|
|
2697
|
+
css,
|
|
2698
|
+
cx: cx7,
|
|
2699
|
+
injectGlobal,
|
|
2700
|
+
keyframes,
|
|
2701
|
+
hydrate: function hydrate(ids) {
|
|
2702
|
+
ids.forEach(function(key) {
|
|
2703
|
+
cache.inserted[key] = true;
|
|
2704
|
+
});
|
|
2705
|
+
},
|
|
2706
|
+
flush: function flush() {
|
|
2707
|
+
cache.registered = {};
|
|
2708
|
+
cache.inserted = {};
|
|
2709
|
+
cache.sheet.flush();
|
|
2710
|
+
},
|
|
2711
|
+
// $FlowFixMe
|
|
2712
|
+
sheet: cache.sheet,
|
|
2713
|
+
cache,
|
|
2714
|
+
getRegisteredStyles: getRegisteredStyles.bind(null, cache.registered),
|
|
2715
|
+
merge: merge.bind(null, cache.registered, css)
|
|
2716
|
+
};
|
|
2717
|
+
};
|
|
2718
|
+
var classnames = function classnames2(args) {
|
|
2719
|
+
var cls = "";
|
|
2720
|
+
for (var i = 0; i < args.length; i++) {
|
|
2721
|
+
var arg = args[i];
|
|
2722
|
+
if (arg == null)
|
|
2723
|
+
continue;
|
|
2724
|
+
var toAdd = void 0;
|
|
2725
|
+
switch (typeof arg) {
|
|
2726
|
+
case "boolean":
|
|
2727
|
+
break;
|
|
2728
|
+
case "object": {
|
|
2729
|
+
if (Array.isArray(arg)) {
|
|
2730
|
+
toAdd = classnames2(arg);
|
|
2731
|
+
} else {
|
|
2732
|
+
toAdd = "";
|
|
2733
|
+
for (var k in arg) {
|
|
2734
|
+
if (arg[k] && k) {
|
|
2735
|
+
toAdd && (toAdd += " ");
|
|
2736
|
+
toAdd += k;
|
|
2737
|
+
}
|
|
2738
|
+
}
|
|
2739
|
+
}
|
|
2740
|
+
break;
|
|
2741
|
+
}
|
|
2742
|
+
default: {
|
|
2743
|
+
toAdd = arg;
|
|
2744
|
+
}
|
|
2745
|
+
}
|
|
2746
|
+
if (toAdd) {
|
|
2747
|
+
cls && (cls += " ");
|
|
2748
|
+
cls += toAdd;
|
|
2749
|
+
}
|
|
2750
|
+
}
|
|
2751
|
+
return cls;
|
|
2752
|
+
};
|
|
1361
2753
|
|
|
1362
|
-
// src/
|
|
2754
|
+
// src/private/useStyleToEmotionObject.ts
|
|
1363
2755
|
var import_react4 = __toESM(require_react());
|
|
1364
|
-
|
|
1365
|
-
|
|
2756
|
+
var { random } = Math;
|
|
2757
|
+
var emotionPool = {};
|
|
2758
|
+
var nonce = "";
|
|
2759
|
+
function createCSSKey() {
|
|
2760
|
+
return random().toString(26).substr(2, 5).replace(/\d/gu, (value) => String.fromCharCode(value.charCodeAt(0) + 65));
|
|
2761
|
+
}
|
|
2762
|
+
function useStyleToEmotionObject() {
|
|
2763
|
+
return (0, import_react4.useMemo)(() => {
|
|
2764
|
+
const emotion = (
|
|
2765
|
+
// Prefix "id-" to prevent object injection attack.
|
|
2766
|
+
emotionPool[`id-${nonce}`] || (emotionPool[`id-${nonce}`] = createEmotion({ key: `webchat--css-${createCSSKey()}`, nonce }))
|
|
2767
|
+
);
|
|
2768
|
+
return (style) => emotion.css(style);
|
|
2769
|
+
}, []);
|
|
2770
|
+
}
|
|
2771
|
+
|
|
2772
|
+
// src/styles/index.ts
|
|
2773
|
+
function useStyles(styles13) {
|
|
2774
|
+
const getClassName = useStyleToEmotionObject();
|
|
2775
|
+
return (0, import_react5.useMemo)(
|
|
1366
2776
|
() => Object.freeze(
|
|
1367
|
-
Object.fromEntries(
|
|
1368
|
-
Object.entries(styles).map(([baseClassName, resultClassName]) => [
|
|
1369
|
-
baseClassName,
|
|
1370
|
-
`${baseClassName} ${resultClassName}`
|
|
1371
|
-
])
|
|
1372
|
-
)
|
|
2777
|
+
Object.fromEntries(Object.entries(styles13).map(([cls, style]) => [cls, `${cls} ${getClassName(style)}`]))
|
|
1373
2778
|
),
|
|
1374
|
-
[
|
|
2779
|
+
[styles13, getClassName]
|
|
1375
2780
|
);
|
|
1376
2781
|
}
|
|
1377
|
-
var useStyles_default = useStyles;
|
|
1378
2782
|
|
|
1379
2783
|
// src/components/telephoneKeypad/private/Button.tsx
|
|
1380
|
-
var
|
|
2784
|
+
var import_react6 = __toESM(require_react());
|
|
2785
|
+
var styles = {
|
|
2786
|
+
"webchat__telephone-keypad__button": {
|
|
2787
|
+
"-webkit-user-select": "none",
|
|
2788
|
+
alignItems: "center",
|
|
2789
|
+
appearance: "none",
|
|
2790
|
+
// backgroundColor: isDarkTheme() || isHighContrastTheme() ? black : white,
|
|
2791
|
+
backgroundColor: "White",
|
|
2792
|
+
borderRadius: "100%",
|
|
2793
|
+
// Whitelabel styles
|
|
2794
|
+
// border: `solid 1px ${isHighContrastTheme() ? white : isDarkTheme() ? gray160 : gray40}`,
|
|
2795
|
+
// color: 'inherit',
|
|
2796
|
+
border: "solid 1px var(--webchat-colorNeutralStroke1)",
|
|
2797
|
+
color: "var(--webchat-colorGray200)",
|
|
2798
|
+
fontWeight: "var(--webchat-fontWeightSemibold)",
|
|
2799
|
+
cursor: "pointer",
|
|
2800
|
+
display: "flex",
|
|
2801
|
+
flexDirection: "column",
|
|
2802
|
+
height: 60,
|
|
2803
|
+
opacity: 0.7,
|
|
2804
|
+
padding: 0,
|
|
2805
|
+
position: "relative",
|
|
2806
|
+
touchAction: "none",
|
|
2807
|
+
userSelect: "none",
|
|
2808
|
+
width: 60,
|
|
2809
|
+
"&:hover": {
|
|
2810
|
+
// backgroundColor: isHighContrastTheme() ? gray210 : isDarkTheme() ? gray150 : gray30
|
|
2811
|
+
backgroundColor: "var(--webchat-colorGray30)"
|
|
2812
|
+
}
|
|
2813
|
+
},
|
|
2814
|
+
"webchat__telephone-keypad__button__ruby": {
|
|
2815
|
+
// color: isHighContrastTheme() ? white : isDarkTheme() ? gray40 : gray160,
|
|
2816
|
+
color: "var(--webchat-colorGray190)",
|
|
2817
|
+
fontSize: 10
|
|
2818
|
+
},
|
|
2819
|
+
"webchat__telephone-keypad__button__text": {
|
|
2820
|
+
fontSize: 24,
|
|
2821
|
+
marginTop: 8
|
|
2822
|
+
},
|
|
2823
|
+
"webchat__telephone-keypad--horizontal": {
|
|
2824
|
+
"& .webchat__telephone-keypad__button": {
|
|
2825
|
+
height: 32,
|
|
2826
|
+
width: 32,
|
|
2827
|
+
margin: "8px 4px",
|
|
2828
|
+
justifyContent: "center"
|
|
2829
|
+
},
|
|
2830
|
+
"webchat__telephone-keypad__button__ruby": {
|
|
2831
|
+
display: "none"
|
|
2832
|
+
},
|
|
2833
|
+
"& .webchat__telephone-keypad__button__text": {
|
|
2834
|
+
fontSize: 20,
|
|
2835
|
+
marginTop: 0
|
|
2836
|
+
}
|
|
2837
|
+
}
|
|
2838
|
+
};
|
|
2839
|
+
var Button = (0, import_react6.memo)(
|
|
1381
2840
|
// As we are all TypeScript, internal components do not need propTypes.
|
|
1382
2841
|
// eslint-disable-next-line react/prop-types
|
|
1383
|
-
(0,
|
|
1384
|
-
const classNames =
|
|
2842
|
+
(0, import_react6.forwardRef)(({ button, "data-testid": dataTestId, onClick, ruby }, ref) => {
|
|
2843
|
+
const classNames = useStyles(styles);
|
|
1385
2844
|
const onClickRef = useRefFrom(onClick);
|
|
1386
|
-
const handleClick = (0,
|
|
1387
|
-
return /* @__PURE__ */
|
|
2845
|
+
const handleClick = (0, import_react6.useCallback)(() => onClickRef.current?.(), [onClickRef]);
|
|
2846
|
+
return /* @__PURE__ */ import_react6.default.createElement(
|
|
1388
2847
|
"button",
|
|
1389
2848
|
{
|
|
1390
|
-
className: classNames["
|
|
2849
|
+
className: classNames["webchat__telephone-keypad__button"],
|
|
1391
2850
|
"data-testid": dataTestId,
|
|
1392
2851
|
onClick: handleClick,
|
|
1393
2852
|
ref,
|
|
1394
2853
|
type: "button"
|
|
1395
2854
|
},
|
|
1396
|
-
/* @__PURE__ */
|
|
1397
|
-
!!ruby && /* @__PURE__ */
|
|
2855
|
+
/* @__PURE__ */ import_react6.default.createElement("span", { className: classNames["webchat__telephone-keypad__button__text"] }, button === "star" ? "\u2217" : button === "pound" ? "#" : button),
|
|
2856
|
+
!!ruby && /* @__PURE__ */ import_react6.default.createElement("ruby", { className: classNames["webchat__telephone-keypad__button__ruby"] }, ruby)
|
|
1398
2857
|
);
|
|
1399
2858
|
})
|
|
1400
2859
|
);
|
|
1401
2860
|
Button.displayName = "TelephoneKeypad.Button";
|
|
1402
|
-
var
|
|
2861
|
+
var Button_default = Button;
|
|
1403
2862
|
|
|
1404
2863
|
// src/testIds.ts
|
|
1405
2864
|
var testIds = {
|
|
@@ -1424,48 +2883,71 @@
|
|
|
1424
2883
|
var testIds_default = testIds;
|
|
1425
2884
|
|
|
1426
2885
|
// src/components/telephoneKeypad/useShown.ts
|
|
1427
|
-
var
|
|
2886
|
+
var import_react7 = __toESM(require_react());
|
|
1428
2887
|
function useShown() {
|
|
1429
|
-
const { setShown, shown } = (0,
|
|
1430
|
-
return (0,
|
|
2888
|
+
const { setShown, shown } = (0, import_react7.useContext)(Context_default);
|
|
2889
|
+
return (0, import_react7.useMemo)(() => Object.freeze([shown, setShown]), [shown, setShown]);
|
|
1431
2890
|
}
|
|
1432
2891
|
|
|
1433
|
-
// src/components/telephoneKeypad/private/TelephoneKeypad.module.css
|
|
1434
|
-
var TelephoneKeypad_default = {
|
|
1435
|
-
"telephone-keypad": "TelephoneKeypad_telephone-keypad",
|
|
1436
|
-
"telephone-keypad__box": "TelephoneKeypad_telephone-keypad__box"
|
|
1437
|
-
};
|
|
1438
|
-
|
|
1439
2892
|
// src/components/telephoneKeypad/private/TelephoneKeypad.tsx
|
|
1440
|
-
var
|
|
2893
|
+
var styles2 = {
|
|
2894
|
+
"webchat__telephone-keypad": {
|
|
2895
|
+
/* Commented out whitelabel styles for now. */
|
|
2896
|
+
// background: getHighContrastDarkThemeColor(highContrastColor: black, darkThemeColor: gray190, string, defaultColor: gray10),
|
|
2897
|
+
// borderRadius: '8px 8px 0px 0px',
|
|
2898
|
+
// boxShadow: '-3px 0px 7px 0px rgba(0, 0, 0, 0.13), -0.6px 0px 1.8px 0px rgba(0, 0, 0, 0.10)',
|
|
2899
|
+
alignItems: "center",
|
|
2900
|
+
background: "var(--webchat-colorNeutralBackground1)",
|
|
2901
|
+
// border: isHighContrastTheme() ? `1px solid ${white}` : 'none',
|
|
2902
|
+
border: "none",
|
|
2903
|
+
borderRadius: "var(--webchat-borderRadiusXLarge)",
|
|
2904
|
+
// boxShadow: 'var(--shadow16)',
|
|
2905
|
+
display: "flex",
|
|
2906
|
+
flexDirection: "column",
|
|
2907
|
+
fontFamily: "var(--webchat-fontFamilyBase)",
|
|
2908
|
+
justifyContent: "center"
|
|
2909
|
+
// margin: 'var(--spacingHorizontalMNudge)'
|
|
2910
|
+
},
|
|
2911
|
+
"webchat__telephone-keypad__box": {
|
|
2912
|
+
boxSizing: "border-box",
|
|
2913
|
+
display: "grid",
|
|
2914
|
+
gap: "16px",
|
|
2915
|
+
gridTemplateColumns: "repeat(3, 1fr)",
|
|
2916
|
+
gridTemplateRows: "repeat(4, 1fr)",
|
|
2917
|
+
justifyItems: "center",
|
|
2918
|
+
padding: "16px",
|
|
2919
|
+
width: "100%"
|
|
2920
|
+
}
|
|
2921
|
+
};
|
|
2922
|
+
var Orientation = (0, import_react8.memo)(
|
|
1441
2923
|
({ children, isHorizontal }) => {
|
|
1442
|
-
const classNames =
|
|
2924
|
+
const classNames = useStyles(styles2);
|
|
1443
2925
|
return isHorizontal ? (
|
|
1444
2926
|
// <HorizontalDialPadController>{children}</HorizontalDialPadController>
|
|
1445
2927
|
false
|
|
1446
|
-
) : /* @__PURE__ */
|
|
2928
|
+
) : /* @__PURE__ */ import_react8.default.createElement("div", { className: classNames["webchat__telephone-keypad__box"] }, children);
|
|
1447
2929
|
}
|
|
1448
2930
|
);
|
|
1449
2931
|
Orientation.displayName = "TelephoneKeypad:Orientation";
|
|
1450
|
-
var TelephoneKeypad = (0,
|
|
2932
|
+
var TelephoneKeypad = (0, import_react8.memo)(({ autoFocus, onButtonClick, isHorizontal }) => {
|
|
1451
2933
|
const autoFocusRef = useRefFrom(autoFocus);
|
|
1452
|
-
const classNames =
|
|
1453
|
-
const firstButtonRef = (0,
|
|
2934
|
+
const classNames = useStyles(styles2);
|
|
2935
|
+
const firstButtonRef = (0, import_react8.useRef)(null);
|
|
1454
2936
|
const onButtonClickRef = useRefFrom(onButtonClick);
|
|
1455
2937
|
const [, setShown] = useShown();
|
|
1456
|
-
const handleButton1Click = (0,
|
|
1457
|
-
const handleButton2Click = (0,
|
|
1458
|
-
const handleButton3Click = (0,
|
|
1459
|
-
const handleButton4Click = (0,
|
|
1460
|
-
const handleButton5Click = (0,
|
|
1461
|
-
const handleButton6Click = (0,
|
|
1462
|
-
const handleButton7Click = (0,
|
|
1463
|
-
const handleButton8Click = (0,
|
|
1464
|
-
const handleButton9Click = (0,
|
|
1465
|
-
const handleButton0Click = (0,
|
|
1466
|
-
const handleButtonStarClick = (0,
|
|
1467
|
-
const handleButtonPoundClick = (0,
|
|
1468
|
-
const handleKeyDown = (0,
|
|
2938
|
+
const handleButton1Click = (0, import_react8.useCallback)(() => onButtonClickRef.current?.("1"), [onButtonClickRef]);
|
|
2939
|
+
const handleButton2Click = (0, import_react8.useCallback)(() => onButtonClickRef.current?.("2"), [onButtonClickRef]);
|
|
2940
|
+
const handleButton3Click = (0, import_react8.useCallback)(() => onButtonClickRef.current?.("3"), [onButtonClickRef]);
|
|
2941
|
+
const handleButton4Click = (0, import_react8.useCallback)(() => onButtonClickRef.current?.("4"), [onButtonClickRef]);
|
|
2942
|
+
const handleButton5Click = (0, import_react8.useCallback)(() => onButtonClickRef.current?.("5"), [onButtonClickRef]);
|
|
2943
|
+
const handleButton6Click = (0, import_react8.useCallback)(() => onButtonClickRef.current?.("6"), [onButtonClickRef]);
|
|
2944
|
+
const handleButton7Click = (0, import_react8.useCallback)(() => onButtonClickRef.current?.("7"), [onButtonClickRef]);
|
|
2945
|
+
const handleButton8Click = (0, import_react8.useCallback)(() => onButtonClickRef.current?.("8"), [onButtonClickRef]);
|
|
2946
|
+
const handleButton9Click = (0, import_react8.useCallback)(() => onButtonClickRef.current?.("9"), [onButtonClickRef]);
|
|
2947
|
+
const handleButton0Click = (0, import_react8.useCallback)(() => onButtonClickRef.current?.("0"), [onButtonClickRef]);
|
|
2948
|
+
const handleButtonStarClick = (0, import_react8.useCallback)(() => onButtonClickRef.current?.("star"), [onButtonClickRef]);
|
|
2949
|
+
const handleButtonPoundClick = (0, import_react8.useCallback)(() => onButtonClickRef.current?.("pound"), [onButtonClickRef]);
|
|
2950
|
+
const handleKeyDown = (0, import_react8.useCallback)(
|
|
1469
2951
|
(event) => {
|
|
1470
2952
|
if (event.key === "Escape") {
|
|
1471
2953
|
setShown(false);
|
|
@@ -1473,83 +2955,83 @@
|
|
|
1473
2955
|
},
|
|
1474
2956
|
[setShown]
|
|
1475
2957
|
);
|
|
1476
|
-
(0,
|
|
2958
|
+
(0, import_react8.useEffect)(() => {
|
|
1477
2959
|
autoFocusRef.current && firstButtonRef.current?.focus();
|
|
1478
2960
|
}, [autoFocusRef, firstButtonRef]);
|
|
1479
|
-
return /* @__PURE__ */
|
|
1480
|
-
|
|
2961
|
+
return /* @__PURE__ */ import_react8.default.createElement("div", { className: classNames["webchat__telephone-keypad"], onKeyDown: handleKeyDown }, /* @__PURE__ */ import_react8.default.createElement(Orientation, { isHorizontal }, /* @__PURE__ */ import_react8.default.createElement(
|
|
2962
|
+
Button_default,
|
|
1481
2963
|
{
|
|
1482
2964
|
button: "1",
|
|
1483
2965
|
"data-testid": testIds_default.sendBoxTelephoneKeypadButton1,
|
|
1484
2966
|
onClick: handleButton1Click,
|
|
1485
2967
|
ref: firstButtonRef
|
|
1486
2968
|
}
|
|
1487
|
-
), /* @__PURE__ */
|
|
1488
|
-
|
|
2969
|
+
), /* @__PURE__ */ import_react8.default.createElement(
|
|
2970
|
+
Button_default,
|
|
1489
2971
|
{
|
|
1490
2972
|
button: "2",
|
|
1491
2973
|
"data-testid": testIds_default.sendBoxTelephoneKeypadButton2,
|
|
1492
2974
|
onClick: handleButton2Click,
|
|
1493
2975
|
ruby: "ABC"
|
|
1494
2976
|
}
|
|
1495
|
-
), /* @__PURE__ */
|
|
1496
|
-
|
|
2977
|
+
), /* @__PURE__ */ import_react8.default.createElement(
|
|
2978
|
+
Button_default,
|
|
1497
2979
|
{
|
|
1498
2980
|
button: "3",
|
|
1499
2981
|
"data-testid": testIds_default.sendBoxTelephoneKeypadButton3,
|
|
1500
2982
|
onClick: handleButton3Click,
|
|
1501
2983
|
ruby: "DEF"
|
|
1502
2984
|
}
|
|
1503
|
-
), /* @__PURE__ */
|
|
1504
|
-
|
|
2985
|
+
), /* @__PURE__ */ import_react8.default.createElement(
|
|
2986
|
+
Button_default,
|
|
1505
2987
|
{
|
|
1506
2988
|
button: "4",
|
|
1507
2989
|
"data-testid": testIds_default.sendBoxTelephoneKeypadButton4,
|
|
1508
2990
|
onClick: handleButton4Click,
|
|
1509
2991
|
ruby: "GHI"
|
|
1510
2992
|
}
|
|
1511
|
-
), /* @__PURE__ */
|
|
1512
|
-
|
|
2993
|
+
), /* @__PURE__ */ import_react8.default.createElement(
|
|
2994
|
+
Button_default,
|
|
1513
2995
|
{
|
|
1514
2996
|
button: "5",
|
|
1515
2997
|
"data-testid": testIds_default.sendBoxTelephoneKeypadButton5,
|
|
1516
2998
|
onClick: handleButton5Click,
|
|
1517
2999
|
ruby: "JKL"
|
|
1518
3000
|
}
|
|
1519
|
-
), /* @__PURE__ */
|
|
1520
|
-
|
|
3001
|
+
), /* @__PURE__ */ import_react8.default.createElement(
|
|
3002
|
+
Button_default,
|
|
1521
3003
|
{
|
|
1522
3004
|
button: "6",
|
|
1523
3005
|
"data-testid": testIds_default.sendBoxTelephoneKeypadButton6,
|
|
1524
3006
|
onClick: handleButton6Click,
|
|
1525
3007
|
ruby: "MNO"
|
|
1526
3008
|
}
|
|
1527
|
-
), /* @__PURE__ */
|
|
1528
|
-
|
|
3009
|
+
), /* @__PURE__ */ import_react8.default.createElement(
|
|
3010
|
+
Button_default,
|
|
1529
3011
|
{
|
|
1530
3012
|
button: "7",
|
|
1531
3013
|
"data-testid": testIds_default.sendBoxTelephoneKeypadButton7,
|
|
1532
3014
|
onClick: handleButton7Click,
|
|
1533
3015
|
ruby: "PQRS"
|
|
1534
3016
|
}
|
|
1535
|
-
), /* @__PURE__ */
|
|
1536
|
-
|
|
3017
|
+
), /* @__PURE__ */ import_react8.default.createElement(
|
|
3018
|
+
Button_default,
|
|
1537
3019
|
{
|
|
1538
3020
|
button: "8",
|
|
1539
3021
|
"data-testid": testIds_default.sendBoxTelephoneKeypadButton8,
|
|
1540
3022
|
onClick: handleButton8Click,
|
|
1541
3023
|
ruby: "TUV"
|
|
1542
3024
|
}
|
|
1543
|
-
), /* @__PURE__ */
|
|
1544
|
-
|
|
3025
|
+
), /* @__PURE__ */ import_react8.default.createElement(
|
|
3026
|
+
Button_default,
|
|
1545
3027
|
{
|
|
1546
3028
|
button: "9",
|
|
1547
3029
|
"data-testid": testIds_default.sendBoxTelephoneKeypadButton9,
|
|
1548
3030
|
onClick: handleButton9Click,
|
|
1549
3031
|
ruby: "WXYZ"
|
|
1550
3032
|
}
|
|
1551
|
-
), /* @__PURE__ */
|
|
1552
|
-
|
|
3033
|
+
), /* @__PURE__ */ import_react8.default.createElement(Button_default, { button: "star", "data-testid": testIds_default.sendBoxTelephoneKeypadButtonStar, onClick: handleButtonStarClick }), /* @__PURE__ */ import_react8.default.createElement(Button_default, { button: "0", "data-testid": testIds_default.sendBoxTelephoneKeypadButton0, onClick: handleButton0Click, ruby: "+" }), /* @__PURE__ */ import_react8.default.createElement(
|
|
3034
|
+
Button_default,
|
|
1553
3035
|
{
|
|
1554
3036
|
button: "pound",
|
|
1555
3037
|
"data-testid": testIds_default.sendBoxTelephoneKeypadButtonPound,
|
|
@@ -1558,38 +3040,75 @@
|
|
|
1558
3040
|
)));
|
|
1559
3041
|
});
|
|
1560
3042
|
TelephoneKeypad.displayName = "TelephoneKeypad";
|
|
1561
|
-
var
|
|
3043
|
+
var TelephoneKeypad_default = TelephoneKeypad;
|
|
1562
3044
|
|
|
1563
3045
|
// src/components/telephoneKeypad/Surrogate.tsx
|
|
1564
|
-
var TelephoneKeypadSurrogate = (0,
|
|
3046
|
+
var TelephoneKeypadSurrogate = (0, import_react9.memo)((props) => useShown()[0] ? /* @__PURE__ */ import_react9.default.createElement(TelephoneKeypad_default, { ...props }) : false);
|
|
1565
3047
|
TelephoneKeypadSurrogate.displayName = "TelephoneKeypad.Surrogate";
|
|
1566
3048
|
var Surrogate_default = TelephoneKeypadSurrogate;
|
|
1567
3049
|
|
|
1568
3050
|
// src/components/Theme.tsx
|
|
1569
|
-
var
|
|
1570
|
-
var
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
3051
|
+
var import_react10 = __toESM(require_react());
|
|
3052
|
+
var styles3 = {
|
|
3053
|
+
"webchat-fluent__theme": {
|
|
3054
|
+
display: "contents",
|
|
3055
|
+
"--webchat-colorNeutralForeground1": "var(--colorNeutralForeground1, #242424)",
|
|
3056
|
+
"--webchat-colorNeutralForeground2": "var(--colorNeutralForeground2, #424242)",
|
|
3057
|
+
"--webchat-colorNeutralForeground4": "var(--colorNeutralForeground4, #707070)",
|
|
3058
|
+
"--webchat-colorNeutralForegroundDisabled": "var(--colorNeutralForegroundDisabled, #bdbdbd)",
|
|
3059
|
+
"--webchat-colorNeutralBackground1": "var(--colorNeutralBackground1, #ffffff)",
|
|
3060
|
+
"--webchat-colorNeutralBackground4": "var(--colorNeutralBackground4, #f0f0f0)",
|
|
3061
|
+
"--webchat-colorNeutralBackground5": "var(--colorNeutralBackground5, #ebebeb)",
|
|
3062
|
+
"--webchat-colorSubtleBackgroundHover": "var(--colorSubtleBackgroundHover, #f5f5f5)",
|
|
3063
|
+
"--webchat-colorSubtleBackgroundPressed": "var(--colorSubtleBackgroundPressed, #e0e0e0)",
|
|
3064
|
+
"--webchat-colorNeutralStroke1": "var(--colorNeutralStroke1, #d1d1d1)",
|
|
3065
|
+
"--webchat-colorNeutralStroke2": "var(--colorNeutralStroke2, #e0e0e0)",
|
|
3066
|
+
"--webchat-colorNeutralStroke1Selected": "var(--colorNeutralStroke1Selected, #bdbdbd)",
|
|
3067
|
+
"--webchat-colorBrandStroke2": "var(--colorBrandStroke2, #9edcf7)",
|
|
3068
|
+
"--webchat-colorBrandForeground2Hover": "var(--colorBrandForeground2Hover, #015a7a)",
|
|
3069
|
+
"--webchat-colorBrandForeground2Pressed": "var(--colorBrandForeground2Pressed, #01384d)",
|
|
3070
|
+
"--webchat-colorBrandBackground2Hover": "var(--colorBrandBackground2Hover, #bee7fa)",
|
|
3071
|
+
"--webchat-colorBrandBackground2Pressed": "var(--colorBrandBackground2Pressed, #7fd2f5)",
|
|
3072
|
+
"--webchat-colorCompoundBrandForeground1": "var(--colorCompoundBrandForeground1, #077fab)",
|
|
3073
|
+
"--webchat-colorCompoundBrandForeground1Hover": "var(--colorCompoundBrandForeground1Hover, #02729c)",
|
|
3074
|
+
"--webchat-colorCompoundBrandForeground1Pressed": "var(--colorCompoundBrandForeground1Pressed, #01678c)",
|
|
3075
|
+
"--webchat-colorStatusDangerForeground1": "var(--colorStatusDangerForeground1, #b10e1c)",
|
|
3076
|
+
// https://github.com/microsoft/fluentui/blob/master/packages/theme/src/colors/FluentColors.ts
|
|
3077
|
+
"--webchat-colorGray30": "var(--colorGray30, #edebe9)",
|
|
3078
|
+
"--webchat-colorGray160": "var(--colorGray160, #323130)",
|
|
3079
|
+
"--webchat-colorGray190": "var(--colorGray190, #201f1e)",
|
|
3080
|
+
"--webchat-colorGray200": "var(--colorGray200, #1b1a19)",
|
|
3081
|
+
// https://github.com/microsoft/fluentui/blob/master/packages/tokens/src/global/borderRadius.ts
|
|
3082
|
+
"--webchat-borderRadiusSmall": "var(--borderRadiusSmall, 2px)",
|
|
3083
|
+
"--webchat-borderRadiusLarge": "var(--borderRadiusLarge, 6px)",
|
|
3084
|
+
"--webchat-borderRadiusXLarge": "var(--borderRadiusXLarge, 8px)",
|
|
3085
|
+
// https://github.com/microsoft/fluentui/blob/master/packages/tokens/src/utils/shadows.ts
|
|
3086
|
+
"--webchat-shadow16": "var(--shadow16, 0 6.4px 14.4px 0 rgba(0, 0, 0, 0.132), 0 1.2px 3.6px 0 rgba(0, 0, 0, 0.108))",
|
|
3087
|
+
// https://github.com/microsoft/fluentui/blob/master/packages/tokens/src/global/spacings.ts
|
|
3088
|
+
"--webchat-spacingHorizontalMNudge": "var(--spacingHorizontalMNudge, 10px)",
|
|
3089
|
+
// https://github.com/microsoft/fluentui/blob/master/packages/tokens/src/global/fonts.ts
|
|
3090
|
+
"--webchat-fontFamilyBase": `var(--fontFamilyBase, 'Segoe UI)', 'Segoe UI Web (West European))', -apple-system,
|
|
3091
|
+
BlinkMacSystemFont, Roboto, 'Helvetica Neue)', sans-serif)`,
|
|
3092
|
+
"--webchat-fontFamilyNumeric": `var(--fontFamilyNumeric, Bahnschrift, 'Segoe UI)', 'Segoe UI Web (West European))',
|
|
3093
|
+
-apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue)', sans-serif)`,
|
|
3094
|
+
// https://github.com/microsoft/fluentui/blob/master/packages/tokens/src/global/fonts.ts
|
|
3095
|
+
"--webchat-fontWeightSemibold": "var(--fontWeightSemibold, 600)"
|
|
3096
|
+
}
|
|
1575
3097
|
};
|
|
1576
|
-
|
|
1577
|
-
// src/components/Theme.tsx
|
|
1578
|
-
var rootClassName = "webchat-fluent";
|
|
1579
3098
|
function WebchatTheme(props) {
|
|
1580
|
-
const classNames =
|
|
1581
|
-
return /* @__PURE__ */
|
|
3099
|
+
const classNames = useStyles(styles3);
|
|
3100
|
+
return /* @__PURE__ */ import_react10.default.createElement("div", { className: classNames["webchat-fluent__theme"] }, props.children);
|
|
1582
3101
|
}
|
|
1583
3102
|
|
|
1584
3103
|
// src/components/sendbox/index.tsx
|
|
1585
|
-
var
|
|
1586
|
-
var
|
|
1587
|
-
var
|
|
3104
|
+
var import_botframework_webchat_component4 = __toESM(require_botframework_webchat_component());
|
|
3105
|
+
var import_classnames6 = __toESM(require_classnames());
|
|
3106
|
+
var import_react27 = __toESM(require_react());
|
|
1588
3107
|
|
|
1589
3108
|
// src/icons/SendIcon.tsx
|
|
1590
|
-
var
|
|
3109
|
+
var import_react11 = __toESM(require_react());
|
|
1591
3110
|
function SendIcon(props) {
|
|
1592
|
-
return /* @__PURE__ */
|
|
3111
|
+
return /* @__PURE__ */ import_react11.default.createElement(
|
|
1593
3112
|
"svg",
|
|
1594
3113
|
{
|
|
1595
3114
|
"aria-hidden": "true",
|
|
@@ -1600,7 +3119,7 @@
|
|
|
1600
3119
|
width: "1em",
|
|
1601
3120
|
xmlns: "http://www.w3.org/2000/svg"
|
|
1602
3121
|
},
|
|
1603
|
-
/* @__PURE__ */
|
|
3122
|
+
/* @__PURE__ */ import_react11.default.createElement(
|
|
1604
3123
|
"path",
|
|
1605
3124
|
{
|
|
1606
3125
|
d: "M2.18 2.11a.5.5 0 0 1 .54-.06l15 7.5a.5.5 0 0 1 0 .9l-15 7.5a.5.5 0 0 1-.7-.58L3.98 10 2.02 2.63a.5.5 0 0 1 .16-.52Zm2.7 8.39-1.61 6.06L16.38 10 3.27 3.44 4.88 9.5h6.62a.5.5 0 1 1 0 1H4.88Z",
|
|
@@ -1611,14 +3130,14 @@
|
|
|
1611
3130
|
}
|
|
1612
3131
|
|
|
1613
3132
|
// src/components/dropZone/index.tsx
|
|
1614
|
-
var
|
|
1615
|
-
var
|
|
1616
|
-
var
|
|
3133
|
+
var import_botframework_webchat_api = __toESM(require_botframework_webchat_api());
|
|
3134
|
+
var import_classnames = __toESM(require_classnames());
|
|
3135
|
+
var import_react13 = __toESM(require_react());
|
|
1617
3136
|
|
|
1618
3137
|
// src/icons/AddDocumentIcon.tsx
|
|
1619
|
-
var
|
|
3138
|
+
var import_react12 = __toESM(require_react());
|
|
1620
3139
|
function AddDocumentIcon(props) {
|
|
1621
|
-
return /* @__PURE__ */
|
|
3140
|
+
return /* @__PURE__ */ import_react12.default.createElement(
|
|
1622
3141
|
"svg",
|
|
1623
3142
|
{
|
|
1624
3143
|
"aria-hidden": "true",
|
|
@@ -1629,7 +3148,7 @@
|
|
|
1629
3148
|
width: "1em",
|
|
1630
3149
|
xmlns: "http://www.w3.org/2000/svg"
|
|
1631
3150
|
},
|
|
1632
|
-
/* @__PURE__ */
|
|
3151
|
+
/* @__PURE__ */ import_react12.default.createElement(
|
|
1633
3152
|
"path",
|
|
1634
3153
|
{
|
|
1635
3154
|
d: "M6 2a2 2 0 0 0-2 2v5.2c.32-.08.66-.15 1-.18V4a1 1 0 0 1 1-1h4v3.5c0 .83.67 1.5 1.5 1.5H15v8a1 1 0 0 1-1 1h-3.6c-.18.36-.4.7-.66 1H14a2 2 0 0 0 2-2V7.41c0-.4-.16-.78-.44-1.06l-3.91-3.91A1.5 1.5 0 0 0 10.59 2H6Zm8.8 5h-3.3a.5.5 0 0 1-.5-.5V3.2L14.8 7ZM10 14.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V14H3.5a.5.5 0 0 0 0 1H5v1.5a.5.5 0 0 0 1 0V15h1.5a.5.5 0 0 0 0-1H6v-1.5Z",
|
|
@@ -1639,15 +3158,31 @@
|
|
|
1639
3158
|
);
|
|
1640
3159
|
}
|
|
1641
3160
|
|
|
1642
|
-
// src/components/dropZone/index.module.css
|
|
1643
|
-
var dropZone_default = {
|
|
1644
|
-
"sendbox__attachment-drop-zone": "dropZone_sendbox__attachment-drop-zone",
|
|
1645
|
-
"sendbox__attachment-drop-zone--droppable": "dropZone_sendbox__attachment-drop-zone--droppable",
|
|
1646
|
-
"sendbox__attachment-drop-zone-icon": "dropZone_sendbox__attachment-drop-zone-icon"
|
|
1647
|
-
};
|
|
1648
|
-
|
|
1649
3161
|
// src/components/dropZone/index.tsx
|
|
1650
|
-
var { useLocalizer } =
|
|
3162
|
+
var { useLocalizer } = import_botframework_webchat_api.hooks;
|
|
3163
|
+
var styles4 = {
|
|
3164
|
+
"webchat-fluent__sendbox__attachment-drop-zone": {
|
|
3165
|
+
backgroundColor: "var(--webchat-colorNeutralBackground4)",
|
|
3166
|
+
borderRadius: "inherit",
|
|
3167
|
+
cursor: "copy",
|
|
3168
|
+
display: "grid",
|
|
3169
|
+
gap: "8px",
|
|
3170
|
+
inset: "0",
|
|
3171
|
+
placeContent: "center",
|
|
3172
|
+
placeItems: "center",
|
|
3173
|
+
position: "absolute"
|
|
3174
|
+
},
|
|
3175
|
+
"webchat-fluent__sendbox__attachment-drop-zone--droppable": {
|
|
3176
|
+
backgroundColor: "#e00",
|
|
3177
|
+
color: "White"
|
|
3178
|
+
},
|
|
3179
|
+
"webchat-fluent__sendbox__attachment-drop-zone-icon": {
|
|
3180
|
+
height: "36px",
|
|
3181
|
+
// Set "pointer-events: none" to ignore dragging over the icon. Otherwise, when dragging over the icon, it would disable the "--droppable" modifier.
|
|
3182
|
+
pointerEvents: "none",
|
|
3183
|
+
width: "36px"
|
|
3184
|
+
}
|
|
3185
|
+
};
|
|
1651
3186
|
var handleDragOver = (event) => {
|
|
1652
3187
|
event.preventDefault();
|
|
1653
3188
|
};
|
|
@@ -1663,12 +3198,12 @@
|
|
|
1663
3198
|
return false;
|
|
1664
3199
|
}
|
|
1665
3200
|
var DropZone = (props) => {
|
|
1666
|
-
const [dropZoneState, setDropZoneState] = (0,
|
|
1667
|
-
const classNames =
|
|
1668
|
-
const dropZoneRef = (0,
|
|
3201
|
+
const [dropZoneState, setDropZoneState] = (0, import_react13.useState)(false);
|
|
3202
|
+
const classNames = useStyles(styles4);
|
|
3203
|
+
const dropZoneRef = (0, import_react13.useRef)(null);
|
|
1669
3204
|
const localize = useLocalizer();
|
|
1670
3205
|
const onFilesAddedRef = useRefFrom(props.onFilesAdded);
|
|
1671
|
-
(0,
|
|
3206
|
+
(0, import_react13.useEffect)(() => {
|
|
1672
3207
|
let entranceCounter = 0;
|
|
1673
3208
|
const handleDragEnter = (event) => {
|
|
1674
3209
|
entranceCounter++;
|
|
@@ -1686,7 +3221,7 @@
|
|
|
1686
3221
|
document.removeEventListener("dragleave", handleDragLeave);
|
|
1687
3222
|
};
|
|
1688
3223
|
}, [setDropZoneState]);
|
|
1689
|
-
const handleDrop = (0,
|
|
3224
|
+
const handleDrop = (0, import_react13.useCallback)(
|
|
1690
3225
|
(event) => {
|
|
1691
3226
|
event.preventDefault();
|
|
1692
3227
|
setDropZoneState(false);
|
|
@@ -1697,51 +3232,45 @@
|
|
|
1697
3232
|
},
|
|
1698
3233
|
[onFilesAddedRef, setDropZoneState]
|
|
1699
3234
|
);
|
|
1700
|
-
return dropZoneState ? /* @__PURE__ */
|
|
3235
|
+
return dropZoneState ? /* @__PURE__ */ import_react13.default.createElement(
|
|
1701
3236
|
"div",
|
|
1702
3237
|
{
|
|
1703
|
-
className: (0,
|
|
1704
|
-
[classNames["
|
|
3238
|
+
className: (0, import_classnames.default)(classNames["webchat-fluent__sendbox__attachment-drop-zone"], {
|
|
3239
|
+
[classNames["webchat-fluent__sendbox__attachment-drop-zone--droppable"]]: dropZoneState === "droppable"
|
|
1705
3240
|
}),
|
|
1706
3241
|
"data-testid": testIds_default.sendBoxDropZone,
|
|
1707
3242
|
onDragOver: handleDragOver,
|
|
1708
3243
|
onDrop: handleDrop,
|
|
1709
3244
|
ref: dropZoneRef
|
|
1710
3245
|
},
|
|
1711
|
-
/* @__PURE__ */
|
|
3246
|
+
/* @__PURE__ */ import_react13.default.createElement(AddDocumentIcon, { className: classNames["webchat-fluent__sendbox__attachment-drop-zone-icon"] }),
|
|
1712
3247
|
localize("TEXT_INPUT_DROP_ZONE")
|
|
1713
3248
|
) : null;
|
|
1714
3249
|
};
|
|
1715
3250
|
DropZone.displayName = "DropZone";
|
|
1716
|
-
var
|
|
3251
|
+
var dropZone_default = (0, import_react13.memo)(DropZone);
|
|
1717
3252
|
|
|
1718
3253
|
// src/components/DropZone.tsx
|
|
1719
|
-
var DropZone_default =
|
|
3254
|
+
var DropZone_default = dropZone_default;
|
|
1720
3255
|
|
|
1721
3256
|
// src/components/suggestedActions/index.tsx
|
|
1722
|
-
var import_botframework_webchat_component3 = __toESM(require_botframework_webchat_component());
|
|
1723
|
-
var import_classnames4 = __toESM(require_classnames());
|
|
1724
|
-
var import_react15 = __toESM(require_react());
|
|
1725
|
-
|
|
1726
|
-
// src/components/suggestedActions/SuggestedAction.tsx
|
|
1727
3257
|
var import_botframework_webchat_component2 = __toESM(require_botframework_webchat_component());
|
|
1728
3258
|
var import_classnames3 = __toESM(require_classnames());
|
|
1729
|
-
var
|
|
3259
|
+
var import_react16 = __toESM(require_react());
|
|
1730
3260
|
|
|
1731
|
-
// src/components/suggestedActions/SuggestedAction.
|
|
1732
|
-
var
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
};
|
|
3261
|
+
// src/components/suggestedActions/SuggestedAction.tsx
|
|
3262
|
+
var import_botframework_webchat_component = __toESM(require_botframework_webchat_component());
|
|
3263
|
+
var import_classnames2 = __toESM(require_classnames());
|
|
3264
|
+
var import_react15 = __toESM(require_react());
|
|
1736
3265
|
|
|
1737
3266
|
// src/components/suggestedActions/AccessibleButton.tsx
|
|
1738
|
-
var
|
|
3267
|
+
var import_react14 = __toESM(require_react());
|
|
1739
3268
|
var preventDefaultHandler = (event) => event.preventDefault();
|
|
1740
|
-
var AccessibleButton = (0,
|
|
3269
|
+
var AccessibleButton = (0, import_react14.forwardRef)(
|
|
1741
3270
|
({ "aria-hidden": ariaHidden, children, disabled, onClick, tabIndex, ...props }, forwardedRef) => {
|
|
1742
|
-
const targetRef = (0,
|
|
3271
|
+
const targetRef = (0, import_react14.useRef)(null);
|
|
1743
3272
|
const ref = forwardedRef || targetRef;
|
|
1744
|
-
return /* @__PURE__ */
|
|
3273
|
+
return /* @__PURE__ */ import_react14.default.createElement(
|
|
1745
3274
|
"button",
|
|
1746
3275
|
{
|
|
1747
3276
|
"aria-disabled": disabled ? "true" : "false",
|
|
@@ -1760,10 +3289,42 @@
|
|
|
1760
3289
|
);
|
|
1761
3290
|
}
|
|
1762
3291
|
);
|
|
1763
|
-
var AccessibleButton_default = (0,
|
|
3292
|
+
var AccessibleButton_default = (0, import_react14.memo)(AccessibleButton);
|
|
1764
3293
|
|
|
1765
3294
|
// src/components/suggestedActions/SuggestedAction.tsx
|
|
1766
|
-
var { useDisabled, useFocus, usePerformCardAction, useScrollToEnd, useStyleSet, useSuggestedActions } =
|
|
3295
|
+
var { useDisabled, useFocus, usePerformCardAction, useScrollToEnd, useStyleSet, useSuggestedActions } = import_botframework_webchat_component.hooks;
|
|
3296
|
+
var styles5 = {
|
|
3297
|
+
"webchat-fluent__suggested-action": {
|
|
3298
|
+
alignItems: "center",
|
|
3299
|
+
background: "transparent",
|
|
3300
|
+
border: "1px solid var(--webchat-colorBrandStroke2)",
|
|
3301
|
+
borderRadius: "8px",
|
|
3302
|
+
cursor: "pointer",
|
|
3303
|
+
display: "flex",
|
|
3304
|
+
fontSize: "12px",
|
|
3305
|
+
gap: "4px",
|
|
3306
|
+
padding: "4px 8px 4px",
|
|
3307
|
+
textAlign: "start",
|
|
3308
|
+
transition: "all .15s ease-out",
|
|
3309
|
+
"@media (hover: hover)": {
|
|
3310
|
+
'&:not([aria-disabled="true"]):hover': {
|
|
3311
|
+
backgroundColor: "var(--webchat-colorBrandBackground2Hover)",
|
|
3312
|
+
color: "var(--webchat-colorBrandForeground2Hover)"
|
|
3313
|
+
}
|
|
3314
|
+
},
|
|
3315
|
+
'&:not([aria-disabled="true"]):active': {
|
|
3316
|
+
backgroundColor: "var(--webchat-colorBrandBackground2Pressed)",
|
|
3317
|
+
color: "var(--webchat-colorBrandForeground2Pressed)"
|
|
3318
|
+
},
|
|
3319
|
+
'&[aria-disabled="true"]': {
|
|
3320
|
+
color: "var(--webchat-colorNeutralForegroundDisabled)",
|
|
3321
|
+
cursor: "not-allowed"
|
|
3322
|
+
}
|
|
3323
|
+
},
|
|
3324
|
+
"webchat-fluent__suggested-action__image": {
|
|
3325
|
+
height: "12px"
|
|
3326
|
+
}
|
|
3327
|
+
};
|
|
1767
3328
|
function SuggestedAction({
|
|
1768
3329
|
buttonText,
|
|
1769
3330
|
className,
|
|
@@ -1778,11 +3339,11 @@
|
|
|
1778
3339
|
const [{ suggestedAction: suggestedActionStyleSet }] = useStyleSet();
|
|
1779
3340
|
const [disabled] = useDisabled();
|
|
1780
3341
|
const focus = useFocus();
|
|
1781
|
-
const focusRef = (0,
|
|
3342
|
+
const focusRef = (0, import_react15.useRef)(null);
|
|
1782
3343
|
const performCardAction = usePerformCardAction();
|
|
1783
|
-
const classNames =
|
|
3344
|
+
const classNames = useStyles(styles5);
|
|
1784
3345
|
const scrollToEnd = useScrollToEnd();
|
|
1785
|
-
const handleClick = (0,
|
|
3346
|
+
const handleClick = (0, import_react15.useCallback)(
|
|
1786
3347
|
({ target }) => {
|
|
1787
3348
|
(async function() {
|
|
1788
3349
|
await focus("sendBoxWithoutKeyboard");
|
|
@@ -1793,20 +3354,24 @@
|
|
|
1793
3354
|
},
|
|
1794
3355
|
[displayText, focus, performCardAction, scrollToEnd, setSuggestedActions, text, type, value]
|
|
1795
3356
|
);
|
|
1796
|
-
return /* @__PURE__ */
|
|
3357
|
+
return /* @__PURE__ */ import_react15.default.createElement(
|
|
1797
3358
|
AccessibleButton_default,
|
|
1798
3359
|
{
|
|
1799
|
-
className: (0,
|
|
3360
|
+
className: (0, import_classnames2.default)(
|
|
3361
|
+
classNames["webchat-fluent__suggested-action"],
|
|
3362
|
+
suggestedActionStyleSet + "",
|
|
3363
|
+
(className || "") + ""
|
|
3364
|
+
),
|
|
1800
3365
|
disabled,
|
|
1801
3366
|
onClick: handleClick,
|
|
1802
3367
|
ref: focusRef,
|
|
1803
3368
|
type: "button"
|
|
1804
3369
|
},
|
|
1805
|
-
image && /* @__PURE__ */
|
|
1806
|
-
/* @__PURE__ */
|
|
3370
|
+
image && /* @__PURE__ */ import_react15.default.createElement("img", { alt: imageAlt, className: classNames["webchat-fluent__suggested-action__image"], src: image }),
|
|
3371
|
+
/* @__PURE__ */ import_react15.default.createElement("span", null, buttonText)
|
|
1807
3372
|
);
|
|
1808
3373
|
}
|
|
1809
|
-
var
|
|
3374
|
+
var SuggestedAction_default = (0, import_react15.memo)(SuggestedAction);
|
|
1810
3375
|
|
|
1811
3376
|
// src/components/suggestedActions/private/computeSuggestedActionText.ts
|
|
1812
3377
|
function computeSuggestedActionText(cardAction) {
|
|
@@ -1822,41 +3387,54 @@
|
|
|
1822
3387
|
return JSON.stringify(value);
|
|
1823
3388
|
}
|
|
1824
3389
|
|
|
1825
|
-
// src/components/suggestedActions/index.module.css
|
|
1826
|
-
var suggestedActions_default = {
|
|
1827
|
-
"suggested-actions": "suggestedActions_suggested-actions",
|
|
1828
|
-
"suggested-actions--flow": "suggestedActions_suggested-actions--flow",
|
|
1829
|
-
"suggested-actions--stacked": "suggestedActions_suggested-actions--stacked"
|
|
1830
|
-
};
|
|
1831
|
-
|
|
1832
3390
|
// src/components/suggestedActions/index.tsx
|
|
1833
|
-
var { useLocalizer: useLocalizer2, useStyleOptions, useStyleSet: useStyleSet2, useSuggestedActions: useSuggestedActions2 } =
|
|
3391
|
+
var { useLocalizer: useLocalizer2, useStyleOptions, useStyleSet: useStyleSet2, useSuggestedActions: useSuggestedActions2 } = import_botframework_webchat_component2.hooks;
|
|
3392
|
+
var styles6 = {
|
|
3393
|
+
"webchat-fluent__suggested-actions": {
|
|
3394
|
+
alignItems: "flex-end",
|
|
3395
|
+
alignSelf: "flex-end",
|
|
3396
|
+
display: "flex",
|
|
3397
|
+
gap: "8px",
|
|
3398
|
+
"&:not(:empty)": {
|
|
3399
|
+
paddingBlockEnd: "8px",
|
|
3400
|
+
paddingInlineStart: "4px"
|
|
3401
|
+
},
|
|
3402
|
+
"&.webchat-fluent__suggested-actions--flow": {
|
|
3403
|
+
flexDirection: "row",
|
|
3404
|
+
flexWrap: "wrap",
|
|
3405
|
+
justifyContent: "flex-end"
|
|
3406
|
+
},
|
|
3407
|
+
"&.webchat-fluent__suggested-actions--stacked": {
|
|
3408
|
+
flexDirection: "column"
|
|
3409
|
+
}
|
|
3410
|
+
}
|
|
3411
|
+
};
|
|
1834
3412
|
function SuggestedActionStackedOrFlowContainer(props) {
|
|
1835
3413
|
const [{ suggestedActionLayout }] = useStyleOptions();
|
|
1836
3414
|
const [{ suggestedActions: suggestedActionsStyleSet }] = useStyleSet2();
|
|
1837
|
-
const classNames =
|
|
1838
|
-
return /* @__PURE__ */
|
|
3415
|
+
const classNames = useStyles(styles6);
|
|
3416
|
+
return /* @__PURE__ */ import_react16.default.createElement(
|
|
1839
3417
|
"div",
|
|
1840
3418
|
{
|
|
1841
3419
|
"aria-label": props["aria-label"],
|
|
1842
3420
|
"aria-live": "polite",
|
|
1843
3421
|
"aria-orientation": "vertical",
|
|
1844
|
-
className: (0,
|
|
1845
|
-
classNames["
|
|
3422
|
+
className: (0, import_classnames3.default)(
|
|
3423
|
+
classNames["webchat-fluent__suggested-actions"],
|
|
1846
3424
|
suggestedActionsStyleSet + "",
|
|
1847
3425
|
{
|
|
1848
|
-
|
|
1849
|
-
|
|
3426
|
+
"webchat-fluent__suggested-actions--flow": suggestedActionLayout === "flow",
|
|
3427
|
+
"webchat-fluent__suggested-actions--stacked": suggestedActionLayout !== "flow"
|
|
1850
3428
|
},
|
|
1851
3429
|
props.className
|
|
1852
3430
|
),
|
|
1853
3431
|
role: "toolbar"
|
|
1854
3432
|
},
|
|
1855
|
-
!!props.children && !!
|
|
3433
|
+
!!props.children && !!import_react16.default.Children.count(props.children) && props.children
|
|
1856
3434
|
);
|
|
1857
3435
|
}
|
|
1858
3436
|
function SuggestedActions() {
|
|
1859
|
-
const classNames =
|
|
3437
|
+
const classNames = useStyles(styles6);
|
|
1860
3438
|
const localize = useLocalizer2();
|
|
1861
3439
|
const [suggestedActions] = useSuggestedActions2();
|
|
1862
3440
|
const children = suggestedActions.map((cardAction, index) => {
|
|
@@ -1864,8 +3442,8 @@
|
|
|
1864
3442
|
if (!suggestedActions?.length) {
|
|
1865
3443
|
return null;
|
|
1866
3444
|
}
|
|
1867
|
-
return /* @__PURE__ */
|
|
1868
|
-
|
|
3445
|
+
return /* @__PURE__ */ import_react16.default.createElement(
|
|
3446
|
+
SuggestedAction_default,
|
|
1869
3447
|
{
|
|
1870
3448
|
buttonText: computeSuggestedActionText(cardAction),
|
|
1871
3449
|
displayText,
|
|
@@ -1879,28 +3457,28 @@
|
|
|
1879
3457
|
}
|
|
1880
3458
|
);
|
|
1881
3459
|
});
|
|
1882
|
-
return /* @__PURE__ */
|
|
3460
|
+
return /* @__PURE__ */ import_react16.default.createElement(
|
|
1883
3461
|
SuggestedActionStackedOrFlowContainer,
|
|
1884
3462
|
{
|
|
1885
3463
|
"aria-label": localize("SUGGESTED_ACTIONS_LABEL_ALT"),
|
|
1886
|
-
className: classNames["
|
|
3464
|
+
className: classNames["webchat-fluent__suggested-actions"]
|
|
1887
3465
|
},
|
|
1888
3466
|
children
|
|
1889
3467
|
);
|
|
1890
3468
|
}
|
|
1891
|
-
var
|
|
3469
|
+
var suggestedActions_default = (0, import_react16.memo)(SuggestedActions);
|
|
1892
3470
|
|
|
1893
3471
|
// src/components/SuggestedActions.tsx
|
|
1894
|
-
var SuggestedActions_default =
|
|
3472
|
+
var SuggestedActions_default = suggestedActions_default;
|
|
1895
3473
|
|
|
1896
3474
|
// src/components/sendbox/AddAttachmentButton.tsx
|
|
1897
|
-
var
|
|
1898
|
-
var
|
|
3475
|
+
var import_botframework_webchat_api2 = __toESM(require_botframework_webchat_api());
|
|
3476
|
+
var import_react19 = __toESM(require_react());
|
|
1899
3477
|
|
|
1900
3478
|
// src/icons/AttachmentIcon.tsx
|
|
1901
|
-
var
|
|
3479
|
+
var import_react17 = __toESM(require_react());
|
|
1902
3480
|
function AttachmentIcon(props) {
|
|
1903
|
-
return /* @__PURE__ */
|
|
3481
|
+
return /* @__PURE__ */ import_react17.default.createElement(
|
|
1904
3482
|
"svg",
|
|
1905
3483
|
{
|
|
1906
3484
|
"aria-hidden": "true",
|
|
@@ -1911,7 +3489,7 @@
|
|
|
1911
3489
|
width: "1em",
|
|
1912
3490
|
xmlns: "http://www.w3.org/2000/svg"
|
|
1913
3491
|
},
|
|
1914
|
-
/* @__PURE__ */
|
|
3492
|
+
/* @__PURE__ */ import_react17.default.createElement(
|
|
1915
3493
|
"path",
|
|
1916
3494
|
{
|
|
1917
3495
|
d: "m4.83 10.48 5.65-5.65a3 3 0 0 1 4.25 4.24L8 15.8a1.5 1.5 0 0 1-2.12-2.12l6-6.01a.5.5 0 1 0-.7-.71l-6 6.01a2.5 2.5 0 0 0 3.53 3.54l6.71-6.72a4 4 0 1 0-5.65-5.66L4.12 9.78a.5.5 0 0 0 .7.7Z",
|
|
@@ -1922,26 +3500,63 @@
|
|
|
1922
3500
|
}
|
|
1923
3501
|
|
|
1924
3502
|
// src/components/sendbox/Toolbar.tsx
|
|
1925
|
-
var
|
|
1926
|
-
var
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
3503
|
+
var import_classnames4 = __toESM(require_classnames());
|
|
3504
|
+
var import_react18 = __toESM(require_react());
|
|
3505
|
+
var styles7 = {
|
|
3506
|
+
"webchat-fluent__sendbox__toolbar": {
|
|
3507
|
+
display: "flex",
|
|
3508
|
+
gap: "4px",
|
|
3509
|
+
marginInlineStart: "auto"
|
|
3510
|
+
},
|
|
3511
|
+
"webchat-fluent__sendbox__toolbar-button": {
|
|
3512
|
+
alignItems: "center",
|
|
3513
|
+
appearance: "none",
|
|
3514
|
+
aspectRatio: "1",
|
|
3515
|
+
background: "transparent",
|
|
3516
|
+
border: "none",
|
|
3517
|
+
borderRadius: "var(--webchat-borderRadiusSmall)",
|
|
3518
|
+
cursor: "pointer",
|
|
3519
|
+
display: "flex",
|
|
3520
|
+
justifyContent: "center",
|
|
3521
|
+
padding: "3px",
|
|
3522
|
+
width: "32px",
|
|
3523
|
+
"> svg": {
|
|
3524
|
+
fontSize: "20px",
|
|
3525
|
+
pointerEvents: "none"
|
|
3526
|
+
},
|
|
3527
|
+
"@media (hover: hover)": {
|
|
3528
|
+
'&:not([aria-disabled="true"]):hover': {
|
|
3529
|
+
backgroundColor: "var(--webchat-colorSubtleBackgroundHover)",
|
|
3530
|
+
color: "var(--webchat-colorCompoundBrandForeground1Hover)"
|
|
3531
|
+
}
|
|
3532
|
+
},
|
|
3533
|
+
'&:not([aria-disabled="true"]):active': {
|
|
3534
|
+
backgroundColor: "var(--webchat-colorSubtleBackgroundPressed)",
|
|
3535
|
+
color: "var(--webchat-colorCompoundBrandForeground1Pressed)"
|
|
3536
|
+
},
|
|
3537
|
+
'&[aria-disabled="true"]': {
|
|
3538
|
+
color: "var(--webchat-colorNeutralForegroundDisabled)",
|
|
3539
|
+
cursor: "not-allowed"
|
|
3540
|
+
}
|
|
3541
|
+
},
|
|
3542
|
+
"webchat-fluent__sendbox__toolbar-separator": {
|
|
3543
|
+
alignSelf: "center",
|
|
3544
|
+
borderInlineEnd: "1px solid var(--webchat-colorNeutralStroke2)",
|
|
3545
|
+
height: "28px",
|
|
3546
|
+
"&:first-child, &:last-child, &:only-child": {
|
|
3547
|
+
display: "none"
|
|
3548
|
+
}
|
|
3549
|
+
}
|
|
1933
3550
|
};
|
|
1934
|
-
|
|
1935
|
-
// src/components/sendbox/Toolbar.tsx
|
|
1936
3551
|
var preventDefaultHandler2 = (event) => event.preventDefault();
|
|
1937
|
-
var ToolbarButton = (0,
|
|
3552
|
+
var ToolbarButton = (0, import_react18.memo)(
|
|
1938
3553
|
(props) => {
|
|
1939
|
-
const classNames =
|
|
1940
|
-
return /* @__PURE__ */
|
|
3554
|
+
const classNames = useStyles(styles7);
|
|
3555
|
+
return /* @__PURE__ */ import_react18.default.createElement(
|
|
1941
3556
|
"button",
|
|
1942
3557
|
{
|
|
1943
3558
|
"aria-label": props["aria-label"],
|
|
1944
|
-
className: (0,
|
|
3559
|
+
className: (0, import_classnames4.default)(classNames["webchat-fluent__sendbox__toolbar-button"], props.className),
|
|
1945
3560
|
"data-testid": props["data-testid"],
|
|
1946
3561
|
onClick: props.disabled ? preventDefaultHandler2 : props.onClick,
|
|
1947
3562
|
type: props.type === "submit" ? "submit" : "button",
|
|
@@ -1955,19 +3570,19 @@
|
|
|
1955
3570
|
}
|
|
1956
3571
|
);
|
|
1957
3572
|
ToolbarButton.displayName = "ToolbarButton";
|
|
1958
|
-
var Toolbar = (0,
|
|
1959
|
-
const classNames =
|
|
1960
|
-
return /* @__PURE__ */
|
|
3573
|
+
var Toolbar = (0, import_react18.memo)((props) => {
|
|
3574
|
+
const classNames = useStyles(styles7);
|
|
3575
|
+
return /* @__PURE__ */ import_react18.default.createElement("div", { className: (0, import_classnames4.default)(classNames["webchat-fluent__sendbox__toolbar"], props.className) }, props.children);
|
|
1961
3576
|
});
|
|
1962
3577
|
Toolbar.displayName = "Toolbar";
|
|
1963
|
-
var ToolbarSeparator = (0,
|
|
3578
|
+
var ToolbarSeparator = (0, import_react18.memo)(
|
|
1964
3579
|
(props) => {
|
|
1965
|
-
const classNames =
|
|
1966
|
-
return /* @__PURE__ */
|
|
3580
|
+
const classNames = useStyles(styles7);
|
|
3581
|
+
return /* @__PURE__ */ import_react18.default.createElement(
|
|
1967
3582
|
"div",
|
|
1968
3583
|
{
|
|
1969
3584
|
"aria-orientation": "vertical",
|
|
1970
|
-
className: (0,
|
|
3585
|
+
className: (0, import_classnames4.default)(classNames["webchat-fluent__sendbox__toolbar-separator"], props.className),
|
|
1971
3586
|
role: "separator"
|
|
1972
3587
|
}
|
|
1973
3588
|
);
|
|
@@ -1975,22 +3590,27 @@
|
|
|
1975
3590
|
);
|
|
1976
3591
|
ToolbarSeparator.displayName = "ToolbarSeparator";
|
|
1977
3592
|
|
|
1978
|
-
// src/components/sendbox/AddAttachmentButton.module.css
|
|
1979
|
-
var AddAttachmentButton_default = {
|
|
1980
|
-
"sendbox__add-attachment": "AddAttachmentButton_sendbox__add-attachment",
|
|
1981
|
-
"sendbox__add-attachment-input": "AddAttachmentButton_sendbox__add-attachment-input"
|
|
1982
|
-
};
|
|
1983
|
-
|
|
1984
3593
|
// src/components/sendbox/AddAttachmentButton.tsx
|
|
1985
|
-
var { useLocalizer: useLocalizer3, useStyleOptions: useStyleOptions2 } =
|
|
3594
|
+
var { useLocalizer: useLocalizer3, useStyleOptions: useStyleOptions2 } = import_botframework_webchat_api2.hooks;
|
|
3595
|
+
var styles8 = {
|
|
3596
|
+
"webchat-fluent__sendbox__add-attachment": {
|
|
3597
|
+
display: "grid"
|
|
3598
|
+
},
|
|
3599
|
+
"webchat-fluent__sendbox__add-attachment-input": {
|
|
3600
|
+
fontSize: 0,
|
|
3601
|
+
height: 0,
|
|
3602
|
+
opacity: 0,
|
|
3603
|
+
width: 0
|
|
3604
|
+
}
|
|
3605
|
+
};
|
|
1986
3606
|
function AddAttachmentButton(props) {
|
|
1987
|
-
const inputRef = (0,
|
|
1988
|
-
const classNames =
|
|
3607
|
+
const inputRef = (0, import_react19.useRef)(null);
|
|
3608
|
+
const classNames = useStyles(styles8);
|
|
1989
3609
|
const localize = useLocalizer3();
|
|
1990
3610
|
const [{ uploadAccept, uploadMultiple }] = useStyleOptions2();
|
|
1991
3611
|
const onFilesAddedRef = useRefFrom(props.onFilesAdded);
|
|
1992
|
-
const handleClick = (0,
|
|
1993
|
-
const handleFileChange = (0,
|
|
3612
|
+
const handleClick = (0, import_react19.useCallback)(() => inputRef.current?.click(), [inputRef]);
|
|
3613
|
+
const handleFileChange = (0, import_react19.useCallback)(
|
|
1994
3614
|
({ target: { files } }) => {
|
|
1995
3615
|
if (files) {
|
|
1996
3616
|
onFilesAddedRef.current?.([...files]);
|
|
@@ -2001,13 +3621,13 @@
|
|
|
2001
3621
|
},
|
|
2002
3622
|
[inputRef, onFilesAddedRef]
|
|
2003
3623
|
);
|
|
2004
|
-
return /* @__PURE__ */
|
|
3624
|
+
return /* @__PURE__ */ import_react19.default.createElement("div", { className: classNames["webchat-fluent__sendbox__add-attachment"] }, /* @__PURE__ */ import_react19.default.createElement(
|
|
2005
3625
|
"input",
|
|
2006
3626
|
{
|
|
2007
3627
|
accept: uploadAccept,
|
|
2008
3628
|
"aria-disabled": props.disabled,
|
|
2009
3629
|
"aria-hidden": "true",
|
|
2010
|
-
className: classNames["
|
|
3630
|
+
className: classNames["webchat-fluent__sendbox__add-attachment-input"],
|
|
2011
3631
|
multiple: uploadMultiple,
|
|
2012
3632
|
onInput: props.disabled ? void 0 : handleFileChange,
|
|
2013
3633
|
readOnly: props.disabled,
|
|
@@ -2016,29 +3636,31 @@
|
|
|
2016
3636
|
tabIndex: -1,
|
|
2017
3637
|
type: "file"
|
|
2018
3638
|
}
|
|
2019
|
-
), /* @__PURE__ */
|
|
3639
|
+
), /* @__PURE__ */ import_react19.default.createElement(
|
|
2020
3640
|
ToolbarButton,
|
|
2021
3641
|
{
|
|
2022
3642
|
"aria-label": localize("TEXT_INPUT_UPLOAD_BUTTON_ALT"),
|
|
2023
3643
|
"data-testid": testIds_default.sendBoxUploadButton,
|
|
2024
3644
|
onClick: handleClick
|
|
2025
3645
|
},
|
|
2026
|
-
/* @__PURE__ */
|
|
3646
|
+
/* @__PURE__ */ import_react19.default.createElement(AttachmentIcon, null)
|
|
2027
3647
|
));
|
|
2028
3648
|
}
|
|
2029
|
-
var
|
|
3649
|
+
var AddAttachmentButton_default = (0, import_react19.memo)(AddAttachmentButton);
|
|
2030
3650
|
|
|
2031
3651
|
// src/components/sendbox/Attachments.tsx
|
|
2032
|
-
var
|
|
2033
|
-
var
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
|
|
3652
|
+
var import_botframework_webchat_api3 = __toESM(require_botframework_webchat_api());
|
|
3653
|
+
var import_react20 = __toESM(require_react());
|
|
3654
|
+
var { useLocalizer: useLocalizer4 } = import_botframework_webchat_api3.hooks;
|
|
3655
|
+
var styles9 = {
|
|
3656
|
+
"webchat-fluent__sendbox__attachment": {
|
|
3657
|
+
border: "1px solid var(--webchat-colorNeutralStroke1)",
|
|
3658
|
+
borderRadius: "var(--webchat-borderRadiusLarge)",
|
|
3659
|
+
cursor: "default",
|
|
3660
|
+
padding: "6px 8px",
|
|
3661
|
+
width: "fit-content"
|
|
3662
|
+
}
|
|
2038
3663
|
};
|
|
2039
|
-
|
|
2040
|
-
// src/components/sendbox/Attachments.tsx
|
|
2041
|
-
var { useLocalizer: useLocalizer4 } = import_botframework_webchat_component5.hooks;
|
|
2042
3664
|
var attachmentsPluralStringIds = {
|
|
2043
3665
|
one: "TEXT_INPUT_ATTACHMENTS_ONE",
|
|
2044
3666
|
two: "TEXT_INPUT_ATTACHMENTS_TWO",
|
|
@@ -2049,38 +3671,42 @@
|
|
|
2049
3671
|
function Attachments({
|
|
2050
3672
|
attachments
|
|
2051
3673
|
}) {
|
|
2052
|
-
const classNames =
|
|
3674
|
+
const classNames = useStyles(styles9);
|
|
2053
3675
|
const localizeWithPlural = useLocalizer4({ plural: true });
|
|
2054
|
-
return attachments.length ? /* @__PURE__ */
|
|
3676
|
+
return attachments.length ? /* @__PURE__ */ import_react20.default.createElement("div", { className: classNames["webchat-fluent__sendbox__attachment"] }, localizeWithPlural(attachmentsPluralStringIds, attachments.length)) : null;
|
|
2055
3677
|
}
|
|
2056
|
-
var
|
|
3678
|
+
var Attachments_default = (0, import_react20.memo)(Attachments);
|
|
2057
3679
|
|
|
2058
3680
|
// src/components/sendbox/ErrorMessage.tsx
|
|
2059
|
-
var
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
3681
|
+
var import_react21 = __toESM(require_react());
|
|
3682
|
+
var styles10 = {
|
|
3683
|
+
"webchat-fluent___sendbox__error-message": {
|
|
3684
|
+
fontSize: 0,
|
|
3685
|
+
height: 0,
|
|
3686
|
+
width: 0,
|
|
3687
|
+
position: "absolute",
|
|
3688
|
+
top: 0,
|
|
3689
|
+
left: 0,
|
|
3690
|
+
color: "transparent"
|
|
3691
|
+
}
|
|
2064
3692
|
};
|
|
2065
|
-
|
|
2066
|
-
// src/components/sendbox/ErrorMessage.tsx
|
|
2067
3693
|
function ErrorMessage(props) {
|
|
2068
|
-
const classNames =
|
|
3694
|
+
const classNames = useStyles(styles10);
|
|
2069
3695
|
return (
|
|
2070
3696
|
// eslint-disable-next-line react/forbid-dom-props
|
|
2071
|
-
/* @__PURE__ */
|
|
3697
|
+
/* @__PURE__ */ import_react21.default.createElement("span", { className: classNames["webchat-fluent___sendbox__error-message"], id: props.id, role: "alert" }, props.error)
|
|
2072
3698
|
);
|
|
2073
3699
|
}
|
|
2074
|
-
var
|
|
3700
|
+
var ErrorMessage_default = (0, import_react21.memo)(ErrorMessage);
|
|
2075
3701
|
|
|
2076
3702
|
// src/components/sendbox/TelephoneKeypadToolbarButton.tsx
|
|
2077
|
-
var
|
|
2078
|
-
var
|
|
3703
|
+
var import_react23 = __toESM(require_react());
|
|
3704
|
+
var import_botframework_webchat_api4 = __toESM(require_botframework_webchat_api());
|
|
2079
3705
|
|
|
2080
3706
|
// src/icons/TelephoneKeypad.tsx
|
|
2081
|
-
var
|
|
3707
|
+
var import_react22 = __toESM(require_react());
|
|
2082
3708
|
function TelephoneKeypadIcon(props) {
|
|
2083
|
-
return /* @__PURE__ */
|
|
3709
|
+
return /* @__PURE__ */ import_react22.default.createElement(
|
|
2084
3710
|
"svg",
|
|
2085
3711
|
{
|
|
2086
3712
|
"aria-hidden": "true",
|
|
@@ -2091,7 +3717,7 @@
|
|
|
2091
3717
|
width: "1em",
|
|
2092
3718
|
xmlns: "http://www.w3.org/2000/svg"
|
|
2093
3719
|
},
|
|
2094
|
-
/* @__PURE__ */
|
|
3720
|
+
/* @__PURE__ */ import_react22.default.createElement(
|
|
2095
3721
|
"path",
|
|
2096
3722
|
{
|
|
2097
3723
|
d: "M6 5.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Zm0 4a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5ZM7.25 12a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0ZM10 5.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5ZM11.25 8a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0ZM10 13.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5ZM11.25 16a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0ZM14 5.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5ZM15.25 8a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0ZM14 13.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Z",
|
|
@@ -2102,42 +3728,81 @@
|
|
|
2102
3728
|
}
|
|
2103
3729
|
|
|
2104
3730
|
// src/components/sendbox/TelephoneKeypadToolbarButton.tsx
|
|
2105
|
-
var { useLocalizer: useLocalizer5 } =
|
|
2106
|
-
var TelephoneKeypadToolbarButton = (0,
|
|
3731
|
+
var { useLocalizer: useLocalizer5 } = import_botframework_webchat_api4.hooks;
|
|
3732
|
+
var TelephoneKeypadToolbarButton = (0, import_react23.memo)(() => {
|
|
2107
3733
|
const [, setTelephoneKeypadShown] = useShown();
|
|
2108
3734
|
const localize = useLocalizer5();
|
|
2109
|
-
const handleClick = (0,
|
|
2110
|
-
return /* @__PURE__ */
|
|
3735
|
+
const handleClick = (0, import_react23.useCallback)(() => setTelephoneKeypadShown((shown) => !shown), [setTelephoneKeypadShown]);
|
|
3736
|
+
return /* @__PURE__ */ import_react23.default.createElement(
|
|
2111
3737
|
ToolbarButton,
|
|
2112
3738
|
{
|
|
2113
3739
|
"aria-label": localize("TEXT_INPUT_TELEPHONE_KEYPAD_BUTTON_ALT"),
|
|
2114
3740
|
"data-testid": testIds_default.sendBoxTelephoneKeypadToolbarButton,
|
|
2115
3741
|
onClick: handleClick
|
|
2116
3742
|
},
|
|
2117
|
-
/* @__PURE__ */
|
|
3743
|
+
/* @__PURE__ */ import_react23.default.createElement(TelephoneKeypadIcon, null)
|
|
2118
3744
|
);
|
|
2119
3745
|
});
|
|
2120
3746
|
TelephoneKeypadToolbarButton.displayName = "SendBox.TelephoneKeypadToolbarButton";
|
|
2121
3747
|
var TelephoneKeypadToolbarButton_default = TelephoneKeypadToolbarButton;
|
|
2122
3748
|
|
|
2123
3749
|
// src/components/sendbox/TextArea.tsx
|
|
2124
|
-
var
|
|
2125
|
-
var
|
|
2126
|
-
|
|
2127
|
-
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
|
|
2131
|
-
|
|
2132
|
-
|
|
2133
|
-
"
|
|
2134
|
-
|
|
3750
|
+
var import_classnames5 = __toESM(require_classnames());
|
|
3751
|
+
var import_react24 = __toESM(require_react());
|
|
3752
|
+
var styles11 = {
|
|
3753
|
+
"webchat-fluent__sendbox__text-area": {
|
|
3754
|
+
display: "grid",
|
|
3755
|
+
gridTemplateAreas: `'main'`,
|
|
3756
|
+
maxHeight: "200px",
|
|
3757
|
+
overflow: "hidden"
|
|
3758
|
+
},
|
|
3759
|
+
"webchat-fluent__sendbox__text-area--hidden": {
|
|
3760
|
+
// TODO: Not perfect way of hiding the text box.
|
|
3761
|
+
height: 0,
|
|
3762
|
+
visibility: "collapse"
|
|
3763
|
+
},
|
|
3764
|
+
"webchat-fluent__sendbox__text-area-shared": {
|
|
3765
|
+
border: "none",
|
|
3766
|
+
font: "inherit",
|
|
3767
|
+
gridArea: "main",
|
|
3768
|
+
outline: "inherit",
|
|
3769
|
+
overflowWrap: "anywhere",
|
|
3770
|
+
resize: "inherit",
|
|
3771
|
+
scrollbarGutter: "stable"
|
|
3772
|
+
},
|
|
3773
|
+
"webchat-fluent__sendbox__text-area-doppelganger": {
|
|
3774
|
+
overflow: "hidden",
|
|
3775
|
+
visibility: "hidden",
|
|
3776
|
+
whiteSpace: "pre-wrap"
|
|
3777
|
+
},
|
|
3778
|
+
"webchat-fluent__sendbox__text-area-input": {
|
|
3779
|
+
height: "100%",
|
|
3780
|
+
padding: 0
|
|
3781
|
+
},
|
|
3782
|
+
"webchat-fluent__sendbox__text-area-input--scroll": {
|
|
3783
|
+
/* Firefox */
|
|
3784
|
+
MozScrollbarColor: "var(--webchat-colorNeutralBackground5) var(--webchat-colorNeutralForeground2)",
|
|
3785
|
+
MozScrollbarWidth: "thin",
|
|
3786
|
+
/* Chrome, Edge, and Safari */
|
|
3787
|
+
"&::-webkit-scrollbar": {
|
|
3788
|
+
width: "8px"
|
|
3789
|
+
},
|
|
3790
|
+
"&::-webkit-scrollbar-track": {
|
|
3791
|
+
backgroundColor: "var(--webchat-colorNeutralBackground5)",
|
|
3792
|
+
borderRadius: "16px"
|
|
3793
|
+
},
|
|
3794
|
+
"&::-webkit-scrollbar-thumb": {
|
|
3795
|
+
backgroundColor: "var(--webchat-colorNeutralForeground2)",
|
|
3796
|
+
borderRadius: "16px"
|
|
3797
|
+
},
|
|
3798
|
+
"&::-webkit-scrollbar-corner": {
|
|
3799
|
+
backgroundColor: "var(--webchat-colorNeutralBackground5)"
|
|
3800
|
+
}
|
|
3801
|
+
}
|
|
2135
3802
|
};
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
|
|
2139
|
-
const classNames = useStyles_default(TextArea_default);
|
|
2140
|
-
const handleKeyDown = (0, import_react23.useCallback)((event) => {
|
|
3803
|
+
var TextArea = (0, import_react24.forwardRef)((props, ref) => {
|
|
3804
|
+
const classNames = useStyles(styles11);
|
|
3805
|
+
const handleKeyDown = (0, import_react24.useCallback)((event) => {
|
|
2141
3806
|
if (!event.shiftKey && event.key === "Enter") {
|
|
2142
3807
|
event.preventDefault();
|
|
2143
3808
|
if ("form" in event.target && event.target.form instanceof HTMLFormElement) {
|
|
@@ -2145,38 +3810,38 @@
|
|
|
2145
3810
|
}
|
|
2146
3811
|
}
|
|
2147
3812
|
}, []);
|
|
2148
|
-
return /* @__PURE__ */
|
|
3813
|
+
return /* @__PURE__ */ import_react24.default.createElement(
|
|
2149
3814
|
"div",
|
|
2150
3815
|
{
|
|
2151
|
-
className: (0,
|
|
2152
|
-
classNames["
|
|
3816
|
+
className: (0, import_classnames5.default)(
|
|
3817
|
+
classNames["webchat-fluent__sendbox__text-area"],
|
|
2153
3818
|
{
|
|
2154
|
-
[classNames["
|
|
3819
|
+
[classNames["webchat-fluent__sendbox__text-area--hidden"]]: props.hidden
|
|
2155
3820
|
},
|
|
2156
3821
|
props.className
|
|
2157
3822
|
),
|
|
2158
3823
|
role: props.hidden ? "hidden" : void 0
|
|
2159
3824
|
},
|
|
2160
|
-
/* @__PURE__ */
|
|
3825
|
+
/* @__PURE__ */ import_react24.default.createElement(
|
|
2161
3826
|
"div",
|
|
2162
3827
|
{
|
|
2163
|
-
className: (0,
|
|
2164
|
-
classNames["
|
|
2165
|
-
classNames["
|
|
2166
|
-
classNames["
|
|
3828
|
+
className: (0, import_classnames5.default)(
|
|
3829
|
+
classNames["webchat-fluent__sendbox__text-area-doppelganger"],
|
|
3830
|
+
classNames["webchat-fluent__sendbox__text-area-shared"],
|
|
3831
|
+
classNames["webchat-fluent__sendbox__text-area-input--scroll"]
|
|
2167
3832
|
)
|
|
2168
3833
|
},
|
|
2169
3834
|
props.value || props.placeholder,
|
|
2170
3835
|
" "
|
|
2171
3836
|
),
|
|
2172
|
-
/* @__PURE__ */
|
|
3837
|
+
/* @__PURE__ */ import_react24.default.createElement(
|
|
2173
3838
|
"textarea",
|
|
2174
3839
|
{
|
|
2175
3840
|
"aria-label": props["aria-label"],
|
|
2176
|
-
className: (0,
|
|
2177
|
-
classNames["
|
|
2178
|
-
classNames["
|
|
2179
|
-
classNames["
|
|
3841
|
+
className: (0, import_classnames5.default)(
|
|
3842
|
+
classNames["webchat-fluent__sendbox__text-area-input"],
|
|
3843
|
+
classNames["webchat-fluent__sendbox__text-area-shared"],
|
|
3844
|
+
classNames["webchat-fluent__sendbox__text-area-input--scroll"]
|
|
2180
3845
|
),
|
|
2181
3846
|
"data-testid": props["data-testid"],
|
|
2182
3847
|
onInput: props.onInput,
|
|
@@ -2191,12 +3856,12 @@
|
|
|
2191
3856
|
);
|
|
2192
3857
|
});
|
|
2193
3858
|
TextArea.displayName = "TextArea";
|
|
2194
|
-
var
|
|
3859
|
+
var TextArea_default = TextArea;
|
|
2195
3860
|
|
|
2196
3861
|
// src/components/sendbox/private/useSubmitError.ts
|
|
2197
|
-
var
|
|
2198
|
-
var
|
|
2199
|
-
var { useConnectivityStatus, useLocalizer: useLocalizer6 } =
|
|
3862
|
+
var import_botframework_webchat_component3 = __toESM(require_botframework_webchat_component());
|
|
3863
|
+
var import_react25 = __toESM(require_react());
|
|
3864
|
+
var { useConnectivityStatus, useLocalizer: useLocalizer6 } = import_botframework_webchat_component3.hooks;
|
|
2200
3865
|
var useSubmitError = ({
|
|
2201
3866
|
attachments,
|
|
2202
3867
|
message
|
|
@@ -2206,13 +3871,13 @@
|
|
|
2206
3871
|
const submitErrorRef = useRefFrom(
|
|
2207
3872
|
connectivityStatus !== "connected" && connectivityStatus !== "reconnected" ? "offline" : !message && !attachments.length ? "empty" : void 0
|
|
2208
3873
|
);
|
|
2209
|
-
const errorMessageStringMap = (0,
|
|
3874
|
+
const errorMessageStringMap = (0, import_react25.useMemo)(
|
|
2210
3875
|
() => Object.freeze(
|
|
2211
3876
|
(/* @__PURE__ */ new Map()).set("empty", localize("SEND_BOX_IS_EMPTY_TOOLTIP_ALT")).set("offline", localize("CONNECTIVITY_STATUS_ALT_FATAL"))
|
|
2212
3877
|
),
|
|
2213
3878
|
[localize]
|
|
2214
3879
|
);
|
|
2215
|
-
return (0,
|
|
3880
|
+
return (0, import_react25.useMemo)(
|
|
2216
3881
|
() => Object.freeze([submitErrorRef, submitErrorRef.current && errorMessageStringMap.get(submitErrorRef.current)]),
|
|
2217
3882
|
[errorMessageStringMap, submitErrorRef]
|
|
2218
3883
|
);
|
|
@@ -2220,41 +3885,85 @@
|
|
|
2220
3885
|
var useSubmitError_default = useSubmitError;
|
|
2221
3886
|
|
|
2222
3887
|
// src/components/sendbox/private/useUniqueId.ts
|
|
2223
|
-
var
|
|
2224
|
-
function useUniqueId(
|
|
2225
|
-
const id = (0,
|
|
2226
|
-
|
|
2227
|
-
return `${
|
|
2228
|
-
}
|
|
2229
|
-
|
|
2230
|
-
// src/components/sendbox/index.module.css
|
|
2231
|
-
var sendbox_default = {
|
|
2232
|
-
sendbox: "sendbox_sendbox",
|
|
2233
|
-
sendbox__sendbox: "sendbox_sendbox__sendbox",
|
|
2234
|
-
"sendbox__sendbox-text": "sendbox_sendbox__sendbox-text",
|
|
2235
|
-
"sendbox__sendbox-controls": "sendbox_sendbox__sendbox-controls",
|
|
2236
|
-
"sendbox__text-counter": "sendbox_sendbox__text-counter",
|
|
2237
|
-
"sendbox__text-counter--error": "sendbox_sendbox__text-counter--error"
|
|
2238
|
-
};
|
|
3888
|
+
var import_react26 = __toESM(require_react());
|
|
3889
|
+
function useUniqueId(prefix2) {
|
|
3890
|
+
const id = (0, import_react26.useMemo)(() => Math.random().toString(36).substr(2, 5), []);
|
|
3891
|
+
prefix2 = prefix2 ? `${prefix2}--` : "";
|
|
3892
|
+
return `${prefix2}${id}`;
|
|
3893
|
+
}
|
|
2239
3894
|
|
|
2240
3895
|
// src/components/sendbox/index.tsx
|
|
2241
|
-
var { useStyleOptions: useStyleOptions3, useMakeThumbnail, useLocalizer: useLocalizer7, useSendBoxAttachments, useSendMessage } =
|
|
3896
|
+
var { useStyleOptions: useStyleOptions3, useMakeThumbnail, useLocalizer: useLocalizer7, useSendBoxAttachments, useSendMessage } = import_botframework_webchat_component4.hooks;
|
|
3897
|
+
var styles12 = {
|
|
3898
|
+
"webchat-fluent__sendbox": {
|
|
3899
|
+
color: "var(--webchat-colorNeutralForeground1)",
|
|
3900
|
+
fontFamily: "var(--webchat-fontFamilyBase)",
|
|
3901
|
+
padding: "0 10px 10px",
|
|
3902
|
+
textRendering: "optimizeLegibility"
|
|
3903
|
+
},
|
|
3904
|
+
"webchat-fluent__sendbox__sendbox": {
|
|
3905
|
+
backgroundColor: "var(--webchat-colorNeutralBackground1)",
|
|
3906
|
+
border: "1px solid var(--webchat-colorNeutralStroke1)",
|
|
3907
|
+
borderRadius: "var(--webchat-borderRadiusLarge)",
|
|
3908
|
+
display: "grid",
|
|
3909
|
+
fontFamily: "var(--webchat-fontFamilyBase)",
|
|
3910
|
+
fontSize: "14px",
|
|
3911
|
+
gap: "6px",
|
|
3912
|
+
lineHeight: "20px",
|
|
3913
|
+
padding: "8px",
|
|
3914
|
+
position: "relative",
|
|
3915
|
+
"&:focus-within": {
|
|
3916
|
+
borderColor: "var(--webchat-colorNeutralStroke1Selected)",
|
|
3917
|
+
// TODO clarify with design the color:
|
|
3918
|
+
// - Teams is using colorCompoundBrandForeground1
|
|
3919
|
+
// - Fluent is using colorCompoundBrandStroke
|
|
3920
|
+
// - we are using colorCompoundBrandForeground1Hover
|
|
3921
|
+
boxShadow: "inset 0 -6px 0 -3px var(--webchat-colorCompoundBrandForeground1Hover)"
|
|
3922
|
+
}
|
|
3923
|
+
},
|
|
3924
|
+
"webchat-fluent__sendbox__sendbox-text": {
|
|
3925
|
+
backgroundColor: "transparent",
|
|
3926
|
+
border: "none",
|
|
3927
|
+
flex: "auto",
|
|
3928
|
+
fontFamily: "var(--webchat-fontFamilyBase)",
|
|
3929
|
+
fontSize: "14px",
|
|
3930
|
+
lineHeight: "20px",
|
|
3931
|
+
outline: "none",
|
|
3932
|
+
padding: "4px 4px 0",
|
|
3933
|
+
resize: "none"
|
|
3934
|
+
},
|
|
3935
|
+
"webchat-fluent__sendbox__sendbox-controls": {
|
|
3936
|
+
alignItems: "center",
|
|
3937
|
+
display: "flex",
|
|
3938
|
+
paddingInlineStart: "4px"
|
|
3939
|
+
},
|
|
3940
|
+
"webchat-fluent__sendbox__text-counter": {
|
|
3941
|
+
color: "var(--webchat-colorNeutralForeground4)",
|
|
3942
|
+
cursor: "default",
|
|
3943
|
+
fontFamily: "var(--webchat-fontFamilyNumeric)",
|
|
3944
|
+
fontSize: "10px",
|
|
3945
|
+
lineHeight: "14px"
|
|
3946
|
+
},
|
|
3947
|
+
"webchat-fluent__sendbox__text-counter--error": {
|
|
3948
|
+
color: "var(--webchat-colorStatusDangerForeground1)"
|
|
3949
|
+
}
|
|
3950
|
+
};
|
|
2242
3951
|
function SendBox(props) {
|
|
2243
|
-
const inputRef = (0,
|
|
2244
|
-
const [message, setMessage] = (0,
|
|
3952
|
+
const inputRef = (0, import_react27.useRef)(null);
|
|
3953
|
+
const [message, setMessage] = (0, import_react27.useState)("");
|
|
2245
3954
|
const [attachments, setAttachments] = useSendBoxAttachments();
|
|
2246
3955
|
const [{ hideTelephoneKeypadButton, hideUploadButton, maxMessageLength }] = useStyleOptions3();
|
|
2247
3956
|
const isMessageLengthExceeded = !!maxMessageLength && message.length > maxMessageLength;
|
|
2248
|
-
const classNames =
|
|
3957
|
+
const classNames = useStyles(styles12);
|
|
2249
3958
|
const localize = useLocalizer7();
|
|
2250
3959
|
const sendMessage = useSendMessage();
|
|
2251
3960
|
const makeThumbnail = useMakeThumbnail();
|
|
2252
|
-
const errorMessageId = useUniqueId("
|
|
3961
|
+
const errorMessageId = useUniqueId("webchat-fluent__sendbox__error-message-id");
|
|
2253
3962
|
const [errorRef, errorMessage] = useSubmitError_default({ message, attachments });
|
|
2254
3963
|
const [telephoneKeypadShown] = useShown();
|
|
2255
3964
|
const attachmentsRef = useRefFrom(attachments);
|
|
2256
3965
|
const messageRef = useRefFrom(message);
|
|
2257
|
-
const handleSendBoxClick = (0,
|
|
3966
|
+
const handleSendBoxClick = (0, import_react27.useCallback)(
|
|
2258
3967
|
(event) => {
|
|
2259
3968
|
if ("tabIndex" in event.target && typeof event.target.tabIndex === "number" && event.target.tabIndex >= 0) {
|
|
2260
3969
|
return;
|
|
@@ -2263,11 +3972,11 @@
|
|
|
2263
3972
|
},
|
|
2264
3973
|
[inputRef]
|
|
2265
3974
|
);
|
|
2266
|
-
const handleMessageChange = (0,
|
|
3975
|
+
const handleMessageChange = (0, import_react27.useCallback)(
|
|
2267
3976
|
(event) => setMessage(event.currentTarget.value),
|
|
2268
3977
|
[setMessage]
|
|
2269
3978
|
);
|
|
2270
|
-
const handleAddFiles = (0,
|
|
3979
|
+
const handleAddFiles = (0, import_react27.useCallback)(
|
|
2271
3980
|
async (inputFiles) => {
|
|
2272
3981
|
const newAttachments = Object.freeze(
|
|
2273
3982
|
await Promise.all(
|
|
@@ -2285,7 +3994,7 @@
|
|
|
2285
3994
|
},
|
|
2286
3995
|
[makeThumbnail, setAttachments]
|
|
2287
3996
|
);
|
|
2288
|
-
const handleFormSubmit = (0,
|
|
3997
|
+
const handleFormSubmit = (0, import_react27.useCallback)(
|
|
2289
3998
|
(event) => {
|
|
2290
3999
|
event.preventDefault();
|
|
2291
4000
|
if (errorRef.current !== "empty" && !isMessageLengthExceeded) {
|
|
@@ -2297,7 +4006,7 @@
|
|
|
2297
4006
|
},
|
|
2298
4007
|
[attachmentsRef, messageRef, sendMessage, setAttachments, setMessage, isMessageLengthExceeded, errorRef, inputRef]
|
|
2299
4008
|
);
|
|
2300
|
-
const handleTelephoneKeypadButtonClick = (0,
|
|
4009
|
+
const handleTelephoneKeypadButtonClick = (0, import_react27.useCallback)(
|
|
2301
4010
|
// TODO: We need more official way of sending DTMF.
|
|
2302
4011
|
(dtmf) => sendMessage(`/DTMF ${dtmf}`),
|
|
2303
4012
|
[sendMessage]
|
|
@@ -2309,18 +4018,18 @@
|
|
|
2309
4018
|
"aria-errormessage": errorMessageId
|
|
2310
4019
|
}
|
|
2311
4020
|
};
|
|
2312
|
-
return /* @__PURE__ */
|
|
4021
|
+
return /* @__PURE__ */ import_react27.default.createElement("form", { ...aria, className: (0, import_classnames6.default)(classNames["webchat-fluent__sendbox"], props.className), onSubmit: handleFormSubmit }, /* @__PURE__ */ import_react27.default.createElement(SuggestedActions_default, null), /* @__PURE__ */ import_react27.default.createElement("div", { className: (0, import_classnames6.default)(classNames["webchat-fluent__sendbox__sendbox"]), onClickCapture: handleSendBoxClick }, /* @__PURE__ */ import_react27.default.createElement(
|
|
2313
4022
|
Surrogate_default,
|
|
2314
4023
|
{
|
|
2315
4024
|
autoFocus: true,
|
|
2316
4025
|
isHorizontal: false,
|
|
2317
4026
|
onButtonClick: handleTelephoneKeypadButtonClick
|
|
2318
4027
|
}
|
|
2319
|
-
), /* @__PURE__ */
|
|
2320
|
-
|
|
4028
|
+
), /* @__PURE__ */ import_react27.default.createElement(
|
|
4029
|
+
TextArea_default,
|
|
2321
4030
|
{
|
|
2322
4031
|
"aria-label": isMessageLengthExceeded ? localize("TEXT_INPUT_LENGTH_EXCEEDED_ALT") : localize("TEXT_INPUT_ALT"),
|
|
2323
|
-
className: classNames["
|
|
4032
|
+
className: classNames["webchat-fluent__sendbox__sendbox-text"],
|
|
2324
4033
|
"data-testid": testIds_default.sendBoxTextBox,
|
|
2325
4034
|
hidden: telephoneKeypadShown,
|
|
2326
4035
|
onInput: handleMessageChange,
|
|
@@ -2328,15 +4037,15 @@
|
|
|
2328
4037
|
ref: inputRef,
|
|
2329
4038
|
value: message
|
|
2330
4039
|
}
|
|
2331
|
-
), /* @__PURE__ */
|
|
4040
|
+
), /* @__PURE__ */ import_react27.default.createElement(Attachments_default, { attachments }), /* @__PURE__ */ import_react27.default.createElement("div", { className: (0, import_classnames6.default)(classNames["webchat-fluent__sendbox__sendbox-controls"]) }, maxMessageLength && /* @__PURE__ */ import_react27.default.createElement(
|
|
2332
4041
|
"div",
|
|
2333
4042
|
{
|
|
2334
|
-
className: (0,
|
|
2335
|
-
[classNames["
|
|
4043
|
+
className: (0, import_classnames6.default)(classNames["webchat-fluent__sendbox__text-counter"], {
|
|
4044
|
+
[classNames["webchat-fluent__sendbox__text-counter--error"]]: isMessageLengthExceeded
|
|
2336
4045
|
})
|
|
2337
4046
|
},
|
|
2338
4047
|
`${message.length}/${maxMessageLength}`
|
|
2339
|
-
), /* @__PURE__ */
|
|
4048
|
+
), /* @__PURE__ */ import_react27.default.createElement(Toolbar, null, !hideTelephoneKeypadButton && /* @__PURE__ */ import_react27.default.createElement(TelephoneKeypadToolbarButton_default, null), !hideUploadButton && /* @__PURE__ */ import_react27.default.createElement(AddAttachmentButton_default, { onFilesAdded: handleAddFiles }), /* @__PURE__ */ import_react27.default.createElement(ToolbarSeparator, null), /* @__PURE__ */ import_react27.default.createElement(
|
|
2340
4049
|
ToolbarButton,
|
|
2341
4050
|
{
|
|
2342
4051
|
"aria-label": localize("TEXT_INPUT_SEND_BUTTON_ALT"),
|
|
@@ -2344,23 +4053,22 @@
|
|
|
2344
4053
|
disabled: isMessageLengthExceeded,
|
|
2345
4054
|
type: "submit"
|
|
2346
4055
|
},
|
|
2347
|
-
/* @__PURE__ */
|
|
2348
|
-
))), /* @__PURE__ */
|
|
4056
|
+
/* @__PURE__ */ import_react27.default.createElement(SendIcon, null)
|
|
4057
|
+
))), /* @__PURE__ */ import_react27.default.createElement(DropZone_default, { onFilesAdded: handleAddFiles }), /* @__PURE__ */ import_react27.default.createElement(ErrorMessage_default, { error: errorMessage, id: errorMessageId })));
|
|
2349
4058
|
}
|
|
2350
|
-
var
|
|
4059
|
+
var sendbox_default = (0, import_react27.memo)(SendBox);
|
|
2351
4060
|
|
|
2352
4061
|
// src/components/SendBox.tsx
|
|
2353
|
-
var SendBox_default =
|
|
4062
|
+
var SendBox_default = sendbox_default;
|
|
2354
4063
|
|
|
2355
4064
|
// src/private/FluentThemeProvider.tsx
|
|
2356
|
-
var { ThemeProvider } =
|
|
4065
|
+
var { ThemeProvider } = import_botframework_webchat_component5.Components;
|
|
2357
4066
|
var sendBoxMiddleware = [() => () => () => SendBox_default];
|
|
2358
|
-
var FluentThemeProvider = ({ children }) => /* @__PURE__ */
|
|
2359
|
-
var FluentThemeProvider_default = (0,
|
|
4067
|
+
var FluentThemeProvider = ({ children }) => /* @__PURE__ */ import_react28.default.createElement(WebchatTheme, null, /* @__PURE__ */ import_react28.default.createElement(Provider_default, null, /* @__PURE__ */ import_react28.default.createElement(ThemeProvider, { sendBoxMiddleware }, children)));
|
|
4068
|
+
var FluentThemeProvider_default = (0, import_react28.memo)(FluentThemeProvider);
|
|
2360
4069
|
|
|
2361
4070
|
// src/index.ts
|
|
2362
|
-
injectMeta("botframework-webchat-fluent-theme:version", "4.17.0-main.20240416.
|
|
2363
|
-
injectStyles();
|
|
4071
|
+
injectMeta("botframework-webchat-fluent-theme:version", "4.17.0-main.20240416.e3f5401");
|
|
2364
4072
|
|
|
2365
4073
|
// src/bundle.ts
|
|
2366
4074
|
globalThis.WebChat = {
|