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.
Files changed (45) hide show
  1. package/dist/botframework-webchat-fluent-theme.development.js +2065 -357
  2. package/dist/botframework-webchat-fluent-theme.development.js.map +1 -1
  3. package/dist/botframework-webchat-fluent-theme.production.min.js +3 -1
  4. package/dist/botframework-webchat-fluent-theme.production.min.js.map +1 -1
  5. package/dist/index.js +632 -333
  6. package/dist/index.js.map +1 -1
  7. package/dist/index.mjs +516 -217
  8. package/dist/index.mjs.map +1 -1
  9. package/package.json +5 -4
  10. package/src/components/Theme.tsx +65 -4
  11. package/src/components/dropZone/index.tsx +31 -6
  12. package/src/components/sendbox/AddAttachmentButton.tsx +17 -5
  13. package/src/components/sendbox/Attachments.tsx +12 -3
  14. package/src/components/sendbox/ErrorMessage.tsx +13 -2
  15. package/src/components/sendbox/TelephoneKeypadToolbarButton.tsx +1 -1
  16. package/src/components/sendbox/TextArea.tsx +70 -9
  17. package/src/components/sendbox/Toolbar.tsx +55 -4
  18. package/src/components/sendbox/index.tsx +69 -9
  19. package/src/components/suggestedActions/SuggestedAction.tsx +43 -3
  20. package/src/components/suggestedActions/index.tsx +29 -6
  21. package/src/components/telephoneKeypad/private/Button.tsx +67 -5
  22. package/src/components/telephoneKeypad/private/TelephoneKeypad.tsx +35 -4
  23. package/src/index.ts +0 -3
  24. package/src/private/useStyleToEmotionObject.ts +32 -0
  25. package/src/styles/index.ts +15 -0
  26. package/src/tsconfig.json +1 -2
  27. package/dist/botframework-webchat-fluent-theme.development.css.map +0 -1
  28. package/dist/botframework-webchat-fluent-theme.production.min.css.map +0 -1
  29. package/dist/index.css.map +0 -1
  30. package/src/components/Theme.module.css +0 -60
  31. package/src/components/dropZone/index.module.css +0 -23
  32. package/src/components/sendbox/AddAttachmentButton.module.css +0 -10
  33. package/src/components/sendbox/Attachments.module.css +0 -7
  34. package/src/components/sendbox/ErrorMessage.module.css +0 -9
  35. package/src/components/sendbox/TextArea.module.css +0 -61
  36. package/src/components/sendbox/Toolbar.module.css +0 -49
  37. package/src/components/sendbox/index.module.css +0 -58
  38. package/src/components/suggestedActions/SuggestedAction.module.css +0 -34
  39. package/src/components/suggestedActions/index.module.css +0 -23
  40. package/src/components/telephoneKeypad/private/Button.module.css +0 -62
  41. package/src/components/telephoneKeypad/private/TelephoneKeypad.module.css +0 -30
  42. package/src/env.d.ts +0 -7
  43. package/src/styles/injectStyle.ts +0 -9
  44. package/src/styles/useStyles.ts +0 -19
  45. 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, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
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: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
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 process = global2.process;
323
+ var process2 = global2.process;
324
324
  var Deno = global2.Deno;
325
- var versions = process && process.versions || Deno && Deno.version;
325
+ var versions = process2 && process2.versions || Deno && Deno.version;
326
326
  var v8 = versions && versions.v8;
327
- var match;
327
+ var match2;
328
328
  var version;
329
329
  if (v8) {
330
- match = v8.split(".");
331
- version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
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
- match = userAgent.match(/Edge\/(\d+)/);
335
- if (!match || match[1] >= 74) {
336
- match = userAgent.match(/Chrome\/(\d+)/);
337
- if (match)
338
- version = +match[1];
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, length) {
920
+ module.exports = function(index, length2) {
921
921
  var integer = toIntegerOrInfinity(index);
922
- return integer < 0 ? max(integer + length, 0) : min(integer, length);
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 length = lengthOfArrayLike(O);
962
- if (length === 0)
961
+ var length2 = lengthOfArrayLike(O);
962
+ if (length2 === 0)
963
963
  return !IS_INCLUDES && -1;
964
- var index = toAbsoluteIndex(fromIndex, length);
964
+ var index = toAbsoluteIndex(fromIndex, length2);
965
965
  var value;
966
966
  if (IS_INCLUDES && el !== el)
967
- while (length > index) {
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 (; length > index; index++) {
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 length = keys.length;
1067
+ var length2 = keys.length;
1068
1068
  var index = 0;
1069
1069
  var key;
1070
- while (length > index)
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 length = enumBugKeys.length;
1148
- while (length--)
1149
- delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
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 import_botframework_webchat_component9 = __toESM(require_botframework_webchat_component());
1286
- var import_react27 = __toESM(require_react());
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 import_react8 = __toESM(require_react());
1327
+ var import_react9 = __toESM(require_react());
1319
1328
 
1320
1329
  // src/components/telephoneKeypad/private/TelephoneKeypad.tsx
1321
- var import_react7 = __toESM(require_react());
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/components/telephoneKeypad/private/Button.tsx
1350
+ // src/styles/index.ts
1342
1351
  var import_react5 = __toESM(require_react());
1343
1352
 
1344
- // src/components/telephoneKeypad/private/Button.module.css
1345
- var Button_default = {
1346
- "telephone-keypad__button": "Button_telephone-keypad__button",
1347
- "telephone-keypad__button__ruby": "Button_telephone-keypad__button__ruby",
1348
- "telephone-keypad__button__text": "Button_telephone-keypad__button__text",
1349
- "telephone-keypad--horizontal": "Button_telephone-keypad--horizontal"
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
- // src/styles/injectStyle.ts
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
- function injectStyles() {
1355
- if (globalThis.document) {
1356
- const style = document.createElement("style");
1357
- style.append(document.createTextNode(injectedStyles));
1358
- document.head.appendChild(style);
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/styles/useStyles.ts
2754
+ // src/private/useStyleToEmotionObject.ts
1363
2755
  var import_react4 = __toESM(require_react());
1364
- function useStyles(styles) {
1365
- return (0, import_react4.useMemo)(
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
- [styles]
2779
+ [styles13, getClassName]
1375
2780
  );
1376
2781
  }
1377
- var useStyles_default = useStyles;
1378
2782
 
1379
2783
  // src/components/telephoneKeypad/private/Button.tsx
1380
- var Button = (0, import_react5.memo)(
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, import_react5.forwardRef)(({ button, "data-testid": dataTestId, onClick, ruby }, ref) => {
1384
- const classNames = useStyles_default(Button_default);
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, import_react5.useCallback)(() => onClickRef.current?.(), [onClickRef]);
1387
- return /* @__PURE__ */ import_react5.default.createElement(
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["telephone-keypad__button"],
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__ */ import_react5.default.createElement("span", { className: classNames["telephone-keypad__button__text"] }, button === "star" ? "\u2217" : button === "pound" ? "#" : button),
1397
- !!ruby && /* @__PURE__ */ import_react5.default.createElement("ruby", { className: classNames["telephone-keypad__button__ruby"] }, ruby)
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 Button_default2 = Button;
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 import_react6 = __toESM(require_react());
2886
+ var import_react7 = __toESM(require_react());
1428
2887
  function useShown() {
1429
- const { setShown, shown } = (0, import_react6.useContext)(Context_default);
1430
- return (0, import_react6.useMemo)(() => Object.freeze([shown, setShown]), [shown, setShown]);
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 Orientation = (0, import_react7.memo)(
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 = useStyles_default(TelephoneKeypad_default);
2924
+ const classNames = useStyles(styles2);
1443
2925
  return isHorizontal ? (
1444
2926
  // <HorizontalDialPadController>{children}</HorizontalDialPadController>
1445
2927
  false
1446
- ) : /* @__PURE__ */ import_react7.default.createElement("div", { className: classNames["telephone-keypad__box"] }, children);
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, import_react7.memo)(({ autoFocus, onButtonClick, isHorizontal }) => {
2932
+ var TelephoneKeypad = (0, import_react8.memo)(({ autoFocus, onButtonClick, isHorizontal }) => {
1451
2933
  const autoFocusRef = useRefFrom(autoFocus);
1452
- const classNames = useStyles_default(TelephoneKeypad_default);
1453
- const firstButtonRef = (0, import_react7.useRef)(null);
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, import_react7.useCallback)(() => onButtonClickRef.current?.("1"), [onButtonClickRef]);
1457
- const handleButton2Click = (0, import_react7.useCallback)(() => onButtonClickRef.current?.("2"), [onButtonClickRef]);
1458
- const handleButton3Click = (0, import_react7.useCallback)(() => onButtonClickRef.current?.("3"), [onButtonClickRef]);
1459
- const handleButton4Click = (0, import_react7.useCallback)(() => onButtonClickRef.current?.("4"), [onButtonClickRef]);
1460
- const handleButton5Click = (0, import_react7.useCallback)(() => onButtonClickRef.current?.("5"), [onButtonClickRef]);
1461
- const handleButton6Click = (0, import_react7.useCallback)(() => onButtonClickRef.current?.("6"), [onButtonClickRef]);
1462
- const handleButton7Click = (0, import_react7.useCallback)(() => onButtonClickRef.current?.("7"), [onButtonClickRef]);
1463
- const handleButton8Click = (0, import_react7.useCallback)(() => onButtonClickRef.current?.("8"), [onButtonClickRef]);
1464
- const handleButton9Click = (0, import_react7.useCallback)(() => onButtonClickRef.current?.("9"), [onButtonClickRef]);
1465
- const handleButton0Click = (0, import_react7.useCallback)(() => onButtonClickRef.current?.("0"), [onButtonClickRef]);
1466
- const handleButtonStarClick = (0, import_react7.useCallback)(() => onButtonClickRef.current?.("star"), [onButtonClickRef]);
1467
- const handleButtonPoundClick = (0, import_react7.useCallback)(() => onButtonClickRef.current?.("pound"), [onButtonClickRef]);
1468
- const handleKeyDown = (0, import_react7.useCallback)(
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, import_react7.useEffect)(() => {
2958
+ (0, import_react8.useEffect)(() => {
1477
2959
  autoFocusRef.current && firstButtonRef.current?.focus();
1478
2960
  }, [autoFocusRef, firstButtonRef]);
1479
- return /* @__PURE__ */ import_react7.default.createElement("div", { className: classNames["telephone-keypad"], onKeyDown: handleKeyDown }, /* @__PURE__ */ import_react7.default.createElement(Orientation, { isHorizontal }, /* @__PURE__ */ import_react7.default.createElement(
1480
- Button_default2,
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__ */ import_react7.default.createElement(
1488
- Button_default2,
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__ */ import_react7.default.createElement(
1496
- Button_default2,
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__ */ import_react7.default.createElement(
1504
- Button_default2,
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__ */ import_react7.default.createElement(
1512
- Button_default2,
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__ */ import_react7.default.createElement(
1520
- Button_default2,
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__ */ import_react7.default.createElement(
1528
- Button_default2,
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__ */ import_react7.default.createElement(
1536
- Button_default2,
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__ */ import_react7.default.createElement(
1544
- Button_default2,
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__ */ import_react7.default.createElement(Button_default2, { button: "star", "data-testid": testIds_default.sendBoxTelephoneKeypadButtonStar, onClick: handleButtonStarClick }), /* @__PURE__ */ import_react7.default.createElement(Button_default2, { button: "0", "data-testid": testIds_default.sendBoxTelephoneKeypadButton0, onClick: handleButton0Click, ruby: "+" }), /* @__PURE__ */ import_react7.default.createElement(
1552
- Button_default2,
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 TelephoneKeypad_default2 = TelephoneKeypad;
3043
+ var TelephoneKeypad_default = TelephoneKeypad;
1562
3044
 
1563
3045
  // src/components/telephoneKeypad/Surrogate.tsx
1564
- var TelephoneKeypadSurrogate = (0, import_react8.memo)((props) => useShown()[0] ? /* @__PURE__ */ import_react8.default.createElement(TelephoneKeypad_default2, { ...props }) : false);
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 import_react9 = __toESM(require_react());
1570
- var import_classnames = __toESM(require_classnames());
1571
-
1572
- // src/components/Theme.module.css
1573
- var Theme_default = {
1574
- theme: "Theme_theme"
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 = useStyles_default(Theme_default);
1581
- return /* @__PURE__ */ import_react9.default.createElement("div", { className: (0, import_classnames.default)(rootClassName, classNames["theme"]) }, props.children);
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 import_botframework_webchat_component8 = __toESM(require_botframework_webchat_component());
1586
- var import_classnames7 = __toESM(require_classnames());
1587
- var import_react26 = __toESM(require_react());
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 import_react10 = __toESM(require_react());
3109
+ var import_react11 = __toESM(require_react());
1591
3110
  function SendIcon(props) {
1592
- return /* @__PURE__ */ import_react10.default.createElement(
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__ */ import_react10.default.createElement(
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 import_botframework_webchat_component = __toESM(require_botframework_webchat_component());
1615
- var import_classnames2 = __toESM(require_classnames());
1616
- var import_react12 = __toESM(require_react());
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 import_react11 = __toESM(require_react());
3138
+ var import_react12 = __toESM(require_react());
1620
3139
  function AddDocumentIcon(props) {
1621
- return /* @__PURE__ */ import_react11.default.createElement(
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__ */ import_react11.default.createElement(
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 } = import_botframework_webchat_component.hooks;
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, import_react12.useState)(false);
1667
- const classNames = useStyles_default(dropZone_default);
1668
- const dropZoneRef = (0, import_react12.useRef)(null);
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, import_react12.useEffect)(() => {
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, import_react12.useCallback)(
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__ */ import_react12.default.createElement(
3235
+ return dropZoneState ? /* @__PURE__ */ import_react13.default.createElement(
1701
3236
  "div",
1702
3237
  {
1703
- className: (0, import_classnames2.default)(classNames["sendbox__attachment-drop-zone"], {
1704
- [classNames["sendbox__attachment-drop-zone--droppable"]]: dropZoneState === "droppable"
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__ */ import_react12.default.createElement(AddDocumentIcon, { className: classNames["sendbox__attachment-drop-zone-icon"] }),
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 dropZone_default2 = (0, import_react12.memo)(DropZone);
3251
+ var dropZone_default = (0, import_react13.memo)(DropZone);
1717
3252
 
1718
3253
  // src/components/DropZone.tsx
1719
- var DropZone_default = dropZone_default2;
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 import_react14 = __toESM(require_react());
3259
+ var import_react16 = __toESM(require_react());
1730
3260
 
1731
- // src/components/suggestedActions/SuggestedAction.module.css
1732
- var SuggestedAction_default = {
1733
- "suggested-action": "SuggestedAction_suggested-action",
1734
- "suggested-action__image": "SuggestedAction_suggested-action__image"
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 import_react13 = __toESM(require_react());
3267
+ var import_react14 = __toESM(require_react());
1739
3268
  var preventDefaultHandler = (event) => event.preventDefault();
1740
- var AccessibleButton = (0, import_react13.forwardRef)(
3269
+ var AccessibleButton = (0, import_react14.forwardRef)(
1741
3270
  ({ "aria-hidden": ariaHidden, children, disabled, onClick, tabIndex, ...props }, forwardedRef) => {
1742
- const targetRef = (0, import_react13.useRef)(null);
3271
+ const targetRef = (0, import_react14.useRef)(null);
1743
3272
  const ref = forwardedRef || targetRef;
1744
- return /* @__PURE__ */ import_react13.default.createElement(
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, import_react13.memo)(AccessibleButton);
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 } = import_botframework_webchat_component2.hooks;
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, import_react14.useRef)(null);
3342
+ const focusRef = (0, import_react15.useRef)(null);
1782
3343
  const performCardAction = usePerformCardAction();
1783
- const classNames = useStyles_default(SuggestedAction_default);
3344
+ const classNames = useStyles(styles5);
1784
3345
  const scrollToEnd = useScrollToEnd();
1785
- const handleClick = (0, import_react14.useCallback)(
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__ */ import_react14.default.createElement(
3357
+ return /* @__PURE__ */ import_react15.default.createElement(
1797
3358
  AccessibleButton_default,
1798
3359
  {
1799
- className: (0, import_classnames3.default)(classNames["suggested-action"], suggestedActionStyleSet + "", (className || "") + ""),
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__ */ import_react14.default.createElement("img", { alt: imageAlt, className: classNames["suggested-action__image"], src: image }),
1806
- /* @__PURE__ */ import_react14.default.createElement("span", null, buttonText)
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 SuggestedAction_default2 = (0, import_react14.memo)(SuggestedAction);
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 } = import_botframework_webchat_component3.hooks;
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 = useStyles_default(suggestedActions_default);
1838
- return /* @__PURE__ */ import_react15.default.createElement(
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, import_classnames4.default)(
1845
- classNames["suggested-actions"],
3422
+ className: (0, import_classnames3.default)(
3423
+ classNames["webchat-fluent__suggested-actions"],
1846
3424
  suggestedActionsStyleSet + "",
1847
3425
  {
1848
- [classNames["suggested-actions--flow"]]: suggestedActionLayout === "flow",
1849
- [classNames["suggested-actions--stacked"]]: suggestedActionLayout !== "flow"
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 && !!import_react15.default.Children.count(props.children) && 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 = useStyles_default(suggestedActions_default);
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__ */ import_react15.default.createElement(
1868
- SuggestedAction_default2,
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__ */ import_react15.default.createElement(
3460
+ return /* @__PURE__ */ import_react16.default.createElement(
1883
3461
  SuggestedActionStackedOrFlowContainer,
1884
3462
  {
1885
3463
  "aria-label": localize("SUGGESTED_ACTIONS_LABEL_ALT"),
1886
- className: classNames["suggested-actions"]
3464
+ className: classNames["webchat-fluent__suggested-actions"]
1887
3465
  },
1888
3466
  children
1889
3467
  );
1890
3468
  }
1891
- var suggestedActions_default2 = (0, import_react15.memo)(SuggestedActions);
3469
+ var suggestedActions_default = (0, import_react16.memo)(SuggestedActions);
1892
3470
 
1893
3471
  // src/components/SuggestedActions.tsx
1894
- var SuggestedActions_default = suggestedActions_default2;
3472
+ var SuggestedActions_default = suggestedActions_default;
1895
3473
 
1896
3474
  // src/components/sendbox/AddAttachmentButton.tsx
1897
- var import_botframework_webchat_component4 = __toESM(require_botframework_webchat_component());
1898
- var import_react18 = __toESM(require_react());
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 import_react16 = __toESM(require_react());
3479
+ var import_react17 = __toESM(require_react());
1902
3480
  function AttachmentIcon(props) {
1903
- return /* @__PURE__ */ import_react16.default.createElement(
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__ */ import_react16.default.createElement(
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 import_classnames5 = __toESM(require_classnames());
1926
- var import_react17 = __toESM(require_react());
1927
-
1928
- // src/components/sendbox/Toolbar.module.css
1929
- var Toolbar_default = {
1930
- sendbox__toolbar: "Toolbar_sendbox__toolbar",
1931
- "sendbox__toolbar-button": "Toolbar_sendbox__toolbar-button",
1932
- "sendbox__toolbar-separator": "Toolbar_sendbox__toolbar-separator"
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, import_react17.memo)(
3552
+ var ToolbarButton = (0, import_react18.memo)(
1938
3553
  (props) => {
1939
- const classNames = useStyles_default(Toolbar_default);
1940
- return /* @__PURE__ */ import_react17.default.createElement(
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, import_classnames5.default)(classNames["sendbox__toolbar-button"], props.className),
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, import_react17.memo)((props) => {
1959
- const classNames = useStyles_default(Toolbar_default);
1960
- return /* @__PURE__ */ import_react17.default.createElement("div", { className: (0, import_classnames5.default)(classNames["sendbox__toolbar"], props.className) }, props.children);
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, import_react17.memo)(
3578
+ var ToolbarSeparator = (0, import_react18.memo)(
1964
3579
  (props) => {
1965
- const classNames = useStyles_default(Toolbar_default);
1966
- return /* @__PURE__ */ import_react17.default.createElement(
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, import_classnames5.default)(classNames["sendbox__toolbar-separator"], props.className),
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 } = import_botframework_webchat_component4.hooks;
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, import_react18.useRef)(null);
1988
- const classNames = useStyles_default(AddAttachmentButton_default);
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, import_react18.useCallback)(() => inputRef.current?.click(), [inputRef]);
1993
- const handleFileChange = (0, import_react18.useCallback)(
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__ */ import_react18.default.createElement("div", { className: classNames["sendbox__add-attachment"] }, /* @__PURE__ */ import_react18.default.createElement(
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["sendbox__add-attachment-input"],
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__ */ import_react18.default.createElement(
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__ */ import_react18.default.createElement(AttachmentIcon, null)
3646
+ /* @__PURE__ */ import_react19.default.createElement(AttachmentIcon, null)
2027
3647
  ));
2028
3648
  }
2029
- var AddAttachmentButton_default2 = (0, import_react18.memo)(AddAttachmentButton);
3649
+ var AddAttachmentButton_default = (0, import_react19.memo)(AddAttachmentButton);
2030
3650
 
2031
3651
  // src/components/sendbox/Attachments.tsx
2032
- var import_botframework_webchat_component5 = __toESM(require_botframework_webchat_component());
2033
- var import_react19 = __toESM(require_react());
2034
-
2035
- // src/components/sendbox/Attachments.module.css
2036
- var Attachments_default = {
2037
- sendbox__attachment: "Attachments_sendbox__attachment"
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 = useStyles_default(Attachments_default);
3674
+ const classNames = useStyles(styles9);
2053
3675
  const localizeWithPlural = useLocalizer4({ plural: true });
2054
- return attachments.length ? /* @__PURE__ */ import_react19.default.createElement("div", { className: classNames["sendbox__attachment"] }, localizeWithPlural(attachmentsPluralStringIds, attachments.length)) : null;
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 Attachments_default2 = (0, import_react19.memo)(Attachments);
3678
+ var Attachments_default = (0, import_react20.memo)(Attachments);
2057
3679
 
2058
3680
  // src/components/sendbox/ErrorMessage.tsx
2059
- var import_react20 = __toESM(require_react());
2060
-
2061
- // src/components/sendbox/ErrorMessage.module.css
2062
- var ErrorMessage_default = {
2063
- "sendbox__error-message": "ErrorMessage_sendbox__error-message"
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 = useStyles_default(ErrorMessage_default);
3694
+ const classNames = useStyles(styles10);
2069
3695
  return (
2070
3696
  // eslint-disable-next-line react/forbid-dom-props
2071
- /* @__PURE__ */ import_react20.default.createElement("span", { className: classNames["sendbox__error-message"], id: props.id, role: "alert" }, props.error)
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 ErrorMessage_default2 = (0, import_react20.memo)(ErrorMessage);
3700
+ var ErrorMessage_default = (0, import_react21.memo)(ErrorMessage);
2075
3701
 
2076
3702
  // src/components/sendbox/TelephoneKeypadToolbarButton.tsx
2077
- var import_react22 = __toESM(require_react());
2078
- var import_botframework_webchat_component6 = __toESM(require_botframework_webchat_component());
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 import_react21 = __toESM(require_react());
3707
+ var import_react22 = __toESM(require_react());
2082
3708
  function TelephoneKeypadIcon(props) {
2083
- return /* @__PURE__ */ import_react21.default.createElement(
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__ */ import_react21.default.createElement(
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 } = import_botframework_webchat_component6.hooks;
2106
- var TelephoneKeypadToolbarButton = (0, import_react22.memo)(() => {
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, import_react22.useCallback)(() => setTelephoneKeypadShown((shown) => !shown), [setTelephoneKeypadShown]);
2110
- return /* @__PURE__ */ import_react22.default.createElement(
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__ */ import_react22.default.createElement(TelephoneKeypadIcon, null)
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 import_classnames6 = __toESM(require_classnames());
2125
- var import_react23 = __toESM(require_react());
2126
-
2127
- // src/components/sendbox/TextArea.module.css
2128
- var TextArea_default = {
2129
- "sendbox__text-area": "TextArea_sendbox__text-area",
2130
- "sendbox__text-area--hidden": "TextArea_sendbox__text-area--hidden",
2131
- "sendbox__text-area-shared": "TextArea_sendbox__text-area-shared",
2132
- "sendbox__text-area-doppelganger": "TextArea_sendbox__text-area-doppelganger",
2133
- "sendbox__text-area-input": "TextArea_sendbox__text-area-input",
2134
- "sendbox__text-area-input--scroll": "TextArea_sendbox__text-area-input--scroll"
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
- // src/components/sendbox/TextArea.tsx
2138
- var TextArea = (0, import_react23.forwardRef)((props, ref) => {
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__ */ import_react23.default.createElement(
3813
+ return /* @__PURE__ */ import_react24.default.createElement(
2149
3814
  "div",
2150
3815
  {
2151
- className: (0, import_classnames6.default)(
2152
- classNames["sendbox__text-area"],
3816
+ className: (0, import_classnames5.default)(
3817
+ classNames["webchat-fluent__sendbox__text-area"],
2153
3818
  {
2154
- [classNames["sendbox__text-area--hidden"]]: props.hidden
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__ */ import_react23.default.createElement(
3825
+ /* @__PURE__ */ import_react24.default.createElement(
2161
3826
  "div",
2162
3827
  {
2163
- className: (0, import_classnames6.default)(
2164
- classNames["sendbox__text-area-doppelganger"],
2165
- classNames["sendbox__text-area-shared"],
2166
- classNames["sendbox__text-area-input--scroll"]
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__ */ import_react23.default.createElement(
3837
+ /* @__PURE__ */ import_react24.default.createElement(
2173
3838
  "textarea",
2174
3839
  {
2175
3840
  "aria-label": props["aria-label"],
2176
- className: (0, import_classnames6.default)(
2177
- classNames["sendbox__text-area-input"],
2178
- classNames["sendbox__text-area-shared"],
2179
- classNames["sendbox__text-area-input--scroll"]
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 TextArea_default2 = TextArea;
3859
+ var TextArea_default = TextArea;
2195
3860
 
2196
3861
  // src/components/sendbox/private/useSubmitError.ts
2197
- var import_botframework_webchat_component7 = __toESM(require_botframework_webchat_component());
2198
- var import_react24 = __toESM(require_react());
2199
- var { useConnectivityStatus, useLocalizer: useLocalizer6 } = import_botframework_webchat_component7.hooks;
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, import_react24.useMemo)(
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, import_react24.useMemo)(
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 import_react25 = __toESM(require_react());
2224
- function useUniqueId(prefix) {
2225
- const id = (0, import_react25.useMemo)(() => Math.random().toString(36).substr(2, 5), []);
2226
- prefix = prefix ? `${prefix}--` : "";
2227
- return `${prefix}${id}`;
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 } = import_botframework_webchat_component8.hooks;
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, import_react26.useRef)(null);
2244
- const [message, setMessage] = (0, import_react26.useState)("");
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 = useStyles_default(sendbox_default);
3957
+ const classNames = useStyles(styles12);
2249
3958
  const localize = useLocalizer7();
2250
3959
  const sendMessage = useSendMessage();
2251
3960
  const makeThumbnail = useMakeThumbnail();
2252
- const errorMessageId = useUniqueId("sendbox__error-message-id");
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, import_react26.useCallback)(
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, import_react26.useCallback)(
3975
+ const handleMessageChange = (0, import_react27.useCallback)(
2267
3976
  (event) => setMessage(event.currentTarget.value),
2268
3977
  [setMessage]
2269
3978
  );
2270
- const handleAddFiles = (0, import_react26.useCallback)(
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, import_react26.useCallback)(
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, import_react26.useCallback)(
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__ */ import_react26.default.createElement("form", { ...aria, className: (0, import_classnames7.default)(classNames["sendbox"], props.className), onSubmit: handleFormSubmit }, /* @__PURE__ */ import_react26.default.createElement(SuggestedActions_default, null), /* @__PURE__ */ import_react26.default.createElement("div", { className: (0, import_classnames7.default)(classNames["sendbox__sendbox"]), onClickCapture: handleSendBoxClick }, /* @__PURE__ */ import_react26.default.createElement(
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__ */ import_react26.default.createElement(
2320
- TextArea_default2,
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["sendbox__sendbox-text"],
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__ */ import_react26.default.createElement(Attachments_default2, { attachments }), /* @__PURE__ */ import_react26.default.createElement("div", { className: (0, import_classnames7.default)(classNames["sendbox__sendbox-controls"]) }, maxMessageLength && /* @__PURE__ */ import_react26.default.createElement(
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, import_classnames7.default)(classNames["sendbox__text-counter"], {
2335
- [classNames["sendbox__text-counter--error"]]: isMessageLengthExceeded
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__ */ import_react26.default.createElement(Toolbar, null, !hideTelephoneKeypadButton && /* @__PURE__ */ import_react26.default.createElement(TelephoneKeypadToolbarButton_default, null), !hideUploadButton && /* @__PURE__ */ import_react26.default.createElement(AddAttachmentButton_default2, { onFilesAdded: handleAddFiles }), /* @__PURE__ */ import_react26.default.createElement(ToolbarSeparator, null), /* @__PURE__ */ import_react26.default.createElement(
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__ */ import_react26.default.createElement(SendIcon, null)
2348
- ))), /* @__PURE__ */ import_react26.default.createElement(DropZone_default, { onFilesAdded: handleAddFiles }), /* @__PURE__ */ import_react26.default.createElement(ErrorMessage_default2, { error: errorMessage, id: errorMessageId })));
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 sendbox_default2 = (0, import_react26.memo)(SendBox);
4059
+ var sendbox_default = (0, import_react27.memo)(SendBox);
2351
4060
 
2352
4061
  // src/components/SendBox.tsx
2353
- var SendBox_default = sendbox_default2;
4062
+ var SendBox_default = sendbox_default;
2354
4063
 
2355
4064
  // src/private/FluentThemeProvider.tsx
2356
- var { ThemeProvider } = import_botframework_webchat_component9.Components;
4065
+ var { ThemeProvider } = import_botframework_webchat_component5.Components;
2357
4066
  var sendBoxMiddleware = [() => () => () => SendBox_default];
2358
- var FluentThemeProvider = ({ children }) => /* @__PURE__ */ import_react27.default.createElement(WebchatTheme, null, /* @__PURE__ */ import_react27.default.createElement(Provider_default, null, /* @__PURE__ */ import_react27.default.createElement(ThemeProvider, { sendBoxMiddleware }, children)));
2359
- var FluentThemeProvider_default = (0, import_react27.memo)(FluentThemeProvider);
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.4ff01ae");
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 = {