@feathery/react 2.37.3 → 2.37.4

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 (88) hide show
  1. package/cjs/Form/index.d.ts.map +1 -1
  2. package/cjs/{fthry_FormControl.DnTZRvX8.js → fthry_FormControl.BCawW2JY.js} +1 -1
  3. package/cjs/{fthry_InlineTooltip.BqZk2-qL.js → fthry_InlineTooltip.DXAGdsG6.js} +2 -2
  4. package/cjs/{fthry_Overlay.CCAYrp0U.js → fthry_Overlay.Dxddifgf.js} +1 -1
  5. package/cjs/{fthry_PaymentMethodField.gvS_nD1G.js → fthry_PaymentMethodField.BBn_I5Y-.js} +4 -4
  6. package/cjs/{fthry_Placeholder.D-_l4CjC.js → fthry_Placeholder.DgCge_qQ.js} +1 -1
  7. package/cjs/{fthry_ShowEyeIcon.ZifD-Zjf.js → fthry_ShowEyeIcon.6chMT9tB.js} +1 -1
  8. package/cjs/{fthry_highlighted-body-TPN3WLV5.DqSM8rfo.js → fthry_highlighted-body-TPN3WLV5.DkI91-Zy.js} +1 -1
  9. package/cjs/{fthry_index.DlWUP_dg.js → fthry_index.1G5WWnt8.js} +1 -1
  10. package/cjs/{fthry_index.3L3XcwNO.js → fthry_index.4_yQ3xcB.js} +1 -1
  11. package/cjs/{fthry_index.N3RTOcVJ.js → fthry_index.B2WATisk.js} +5 -5
  12. package/cjs/{fthry_index.QTVlhoOF.js → fthry_index.BCDEI_8h.js} +6 -6
  13. package/cjs/{fthry_index.DdL1O4T_.js → fthry_index.BCakShY6.js} +6 -6
  14. package/cjs/{fthry_index.tqY6b6fj.js → fthry_index.Bg8trysI.js} +1 -1
  15. package/cjs/{fthry_index.CvfmIi0G.js → fthry_index.BrcBLxiN.js} +1 -1
  16. package/cjs/{fthry_index.DM8CaLO1.js → fthry_index.BvCKY-AY.js} +1 -1
  17. package/cjs/{fthry_index.uy4-IUwL.js → fthry_index.C2MePzk3.js} +6 -6
  18. package/cjs/{fthry_index.D64PUdwP.js → fthry_index.CWvKP0U9.js} +3 -3
  19. package/cjs/{fthry_index.B_FKa13w.js → fthry_index.Co7zM36I.js} +4 -4
  20. package/cjs/{fthry_index.DbLoLfBt.js → fthry_index.D-6wkDz2.js} +5 -5
  21. package/cjs/{fthry_index.DryzUba-.js → fthry_index.DAqPVi5Z.js} +3 -3
  22. package/cjs/{fthry_index._ujx-y_j.js → fthry_index.DFi7wHj1.js} +1 -1
  23. package/cjs/{fthry_index.C_A0bE3P.js → fthry_index.DSS9EjkL.js} +2 -2
  24. package/cjs/{fthry_index.C30eV3k_.js → fthry_index.D_1t-ApQ.js} +4 -4
  25. package/cjs/{fthry_index.CUam09sY.js → fthry_index.DclxO6k2.js} +1 -1
  26. package/cjs/{fthry_index.Bq_x7oXa.js → fthry_index.Dsv-TeBu.js} +196 -131
  27. package/cjs/{fthry_index.BErBLUmj.js → fthry_index.DxstWM8L.js} +8 -8
  28. package/cjs/{fthry_index.BuyRtOzC.js → fthry_index.DzI22-a-.js} +2 -2
  29. package/cjs/{fthry_index.CbZWwiuE.js → fthry_index.WYWtukPG.js} +5 -5
  30. package/cjs/{fthry_index.BQos-Amt.js → fthry_index.Y_UP_4ct.js} +4 -4
  31. package/cjs/{fthry_index.wRNPB3_3.js → fthry_index.b2DipouN.js} +5 -5
  32. package/cjs/{fthry_index.Ur2htxdj.js → fthry_index.dFaOUdRp.js} +1 -1
  33. package/cjs/{fthry_input.BVhv2d6Q.js → fthry_input.WfgR8fOH.js} +1 -1
  34. package/cjs/{fthry_mermaid-O7DHMXV3.Bb5CnQy8.js → fthry_mermaid-O7DHMXV3.v4t8IYSq.js} +1 -1
  35. package/cjs/{fthry_script.9mwu8hf4.js → fthry_script.B921m9AF.js} +1 -1
  36. package/cjs/{fthry_styles.CMDk6ugx.js → fthry_styles.DyHc8mjo.js} +1 -1
  37. package/cjs/{fthry_useElementSize.Cx3GRpKd.js → fthry_useElementSize.Bx50W_pE.js} +1 -1
  38. package/cjs/{fthry_useSalesforceSync.DK9Wotlq.js → fthry_useSalesforceSync.CCCfBjU1.js} +1 -1
  39. package/cjs/{fthry_webfontloader.BAzzDxH4.js → fthry_webfontloader.DxmcEISV.js} +1 -1
  40. package/cjs/index.js +1 -1
  41. package/cjs/utils/featheryClient/utils.d.ts.map +1 -1
  42. package/cjs/utils/offlineRequestHandler.d.ts +6 -0
  43. package/cjs/utils/offlineRequestHandler.d.ts.map +1 -1
  44. package/dist/Form/index.d.ts.map +1 -1
  45. package/dist/{fthry_FormControl.D2UVzfXg.js → fthry_FormControl.76_0PuFC.js} +1 -1
  46. package/dist/{fthry_InlineTooltip.D6lPIiYE.js → fthry_InlineTooltip.d3TjV-eF.js} +2 -2
  47. package/dist/{fthry_Overlay.kW559CvO.js → fthry_Overlay.C9ZwYfq9.js} +1 -1
  48. package/dist/{fthry_PaymentMethodField.CekXR4Xd.js → fthry_PaymentMethodField.CA0KyKcm.js} +4 -4
  49. package/dist/{fthry_Placeholder.DzF38FPH.js → fthry_Placeholder.3BQCtk4i.js} +1 -1
  50. package/dist/{fthry_ShowEyeIcon.DfdIfSae.js → fthry_ShowEyeIcon.Bqj7gJGW.js} +1 -1
  51. package/dist/{fthry_highlighted-body-TPN3WLV5.zt3SpkRF.js → fthry_highlighted-body-TPN3WLV5.uNKEZjAy.js} +1 -1
  52. package/dist/{fthry_index.BYOHcrZZ.js → fthry_index.-pimdPng.js} +2 -2
  53. package/dist/{fthry_index.CX91nw3u.js → fthry_index.20OBT_43.js} +1 -1
  54. package/dist/{fthry_index.CuzBvdoy.js → fthry_index.54Em8Q1w.js} +1 -1
  55. package/dist/{fthry_index.DVN_jNq6.js → fthry_index.B2J5J4jS.js} +4 -4
  56. package/dist/{fthry_index.DzzELIKF.js → fthry_index.BCWRiQGq.js} +8 -8
  57. package/dist/{fthry_index.CxzTRdZH.js → fthry_index.Bbxtbp4a.js} +196 -131
  58. package/dist/{fthry_index.o9IekhIF.js → fthry_index.BlrxJyUS.js} +5 -5
  59. package/dist/{fthry_index.DM5oqg4S.js → fthry_index.BmcdgXn3.js} +4 -4
  60. package/dist/{fthry_index.DvwwjfV-.js → fthry_index.Brftvfe7.js} +5 -5
  61. package/dist/{fthry_index.Bi1qGxcg.js → fthry_index.BvSqC2z2.js} +4 -4
  62. package/dist/{fthry_index.BWK-Ce2W.js → fthry_index.BvdLAZLu.js} +1 -1
  63. package/dist/{fthry_index.wmtHjz0i.js → fthry_index.CET1YvDN.js} +5 -5
  64. package/dist/{fthry_index.DITYaYtG.js → fthry_index.CGjEfzIL.js} +1 -1
  65. package/dist/{fthry_index.DIxT-xBI.js → fthry_index.C_22SPRt.js} +1 -1
  66. package/dist/{fthry_index.BJNRcyyW.js → fthry_index.Cbk-4lUW.js} +6 -6
  67. package/dist/{fthry_index.V7m9HHtq.js → fthry_index.ChBrRALN.js} +1 -1
  68. package/dist/{fthry_index.4OH-ricw.js → fthry_index.CpjiI4uf.js} +3 -3
  69. package/dist/{fthry_index.CxBP7n7t.js → fthry_index.DIIgA2I2.js} +6 -6
  70. package/dist/{fthry_index.D65gfxRZ.js → fthry_index.Dh3vrOA4.js} +5 -5
  71. package/dist/{fthry_index.DPmNz7lY.js → fthry_index.DhichOKe.js} +2 -2
  72. package/dist/{fthry_index.Dw7-XnIv.js → fthry_index.Dn8hTYS2.js} +6 -6
  73. package/dist/{fthry_index.DmZkBPS7.js → fthry_index.aJzVeSoS.js} +1 -1
  74. package/dist/{fthry_index.BD67xwLj.js → fthry_index.g8KGIqrC.js} +3 -3
  75. package/dist/{fthry_index.DvW8Cc9_.js → fthry_index.x1TUK-im.js} +1 -1
  76. package/dist/{fthry_input.Cn7WlnzD.js → fthry_input.Dj1IMwey.js} +1 -1
  77. package/dist/{fthry_mermaid-O7DHMXV3.Ho3m9Xli.js → fthry_mermaid-O7DHMXV3.C5f8Q-rK.js} +1 -1
  78. package/dist/{fthry_script.D9jni3XD.js → fthry_script.BmwMDCAZ.js} +1 -1
  79. package/dist/{fthry_styles.BRVPPQ_0.js → fthry_styles.B6qGnHJ1.js} +1 -1
  80. package/dist/{fthry_useElementSize.mFPHnmzX.js → fthry_useElementSize.BppSuCUN.js} +1 -1
  81. package/dist/{fthry_useSalesforceSync.DeHRNtPg.js → fthry_useSalesforceSync.D0nLeVuk.js} +1 -1
  82. package/dist/{fthry_webfontloader.BLm92tir.js → fthry_webfontloader.D5C7-qaj.js} +1 -1
  83. package/dist/index.js +1 -1
  84. package/dist/utils/featheryClient/utils.d.ts.map +1 -1
  85. package/dist/utils/offlineRequestHandler.d.ts +6 -0
  86. package/dist/utils/offlineRequestHandler.d.ts.map +1 -1
  87. package/package.json +1 -1
  88. package/umd/index.js +1 -1
@@ -6526,7 +6526,7 @@ function handleFormConflict() {
6526
6526
  return;
6527
6527
  conflictAlertShown = true;
6528
6528
  untrackUnload(true);
6529
- featheryWindow().alert('This form has been updated. Please fill it out again.');
6529
+ featheryWindow().alert('This form has been updated. Please reload.');
6530
6530
  location.reload();
6531
6531
  }
6532
6532
  function handleFormAuthenticationError(errorMessage) {
@@ -6550,6 +6550,64 @@ var INDEXEDDB_ACCESS_DENIED_ERRORS = [
6550
6550
  'IDBFactory.open() called in an invalid security context',
6551
6551
  'denied permission'
6552
6552
  ];
6553
+ var _connectivityCache = null;
6554
+ var _connectivityProbe = null;
6555
+ var CONNECTIVITY_CACHE_TTL_MS = 3000;
6556
+ /**
6557
+ * navigator.onLine can return false negatives in some browsers/environments.
6558
+ * When it reports offline, probe the network directly before trusting it.
6559
+ * Results are cached for 3 s and concurrent calls share one in-flight probe.
6560
+ */
6561
+ function verifyConnectivity() {
6562
+ return __awaiter$2(this, void 0, void 0, function () {
6563
+ var now;
6564
+ var _this = this;
6565
+ return __generator(this, function (_a) {
6566
+ if (navigator.onLine)
6567
+ return [2 /*return*/, true];
6568
+ now = Date.now();
6569
+ if (_connectivityCache &&
6570
+ now - _connectivityCache.timestamp < CONNECTIVITY_CACHE_TTL_MS) {
6571
+ return [2 /*return*/, _connectivityCache.online];
6572
+ }
6573
+ if (!_connectivityProbe) {
6574
+ _connectivityProbe = (function (timeoutMs) {
6575
+ if (timeoutMs === void 0) { timeoutMs = 5000; }
6576
+ return __awaiter$2(_this, void 0, void 0, function () {
6577
+ var controller_1, timeoutId;
6578
+ return __generator(this, function (_b) {
6579
+ switch (_b.label) {
6580
+ case 0:
6581
+ _b.trys.push([0, 2, , 3]);
6582
+ controller_1 = new AbortController();
6583
+ timeoutId = setTimeout(function () { return controller_1.abort(); }, timeoutMs);
6584
+ return [4 /*yield*/, fetch('https://www.google.com/generate_204', {
6585
+ method: 'HEAD',
6586
+ mode: 'no-cors',
6587
+ cache: 'no-store',
6588
+ signal: controller_1.signal
6589
+ })];
6590
+ case 1:
6591
+ _b.sent();
6592
+ clearTimeout(timeoutId);
6593
+ _connectivityCache = { online: true, timestamp: Date.now() };
6594
+ return [2 /*return*/, true];
6595
+ case 2:
6596
+ _b.sent();
6597
+ _connectivityCache = { online: false, timestamp: Date.now() };
6598
+ return [2 /*return*/, false];
6599
+ case 3: return [2 /*return*/];
6600
+ }
6601
+ });
6602
+ });
6603
+ })().finally(function () {
6604
+ _connectivityProbe = null;
6605
+ });
6606
+ }
6607
+ return [2 /*return*/, _connectivityProbe];
6608
+ });
6609
+ });
6610
+ }
6553
6611
  var beforeUnloadEventHandler = function (event) {
6554
6612
  // allow navigation if user has not interacted with form
6555
6613
  if (!isInteractionDetected())
@@ -6733,59 +6791,60 @@ var OfflineRequestHandler = /** @class */ (function () {
6733
6791
  var response, e_1, errorToThrow;
6734
6792
  return __generator(this, function (_a) {
6735
6793
  switch (_a.label) {
6736
- case 0:
6737
- if (!navigator.onLine) return [3 /*break*/, 14];
6794
+ case 0: return [4 /*yield*/, verifyConnectivity()];
6795
+ case 1:
6796
+ if (!_a.sent()) return [3 /*break*/, 15];
6738
6797
  // Prevent page unload while processing requests to avoid data loss
6739
6798
  trackUnload();
6740
- if (!this.indexedDBSupported) return [3 /*break*/, 8];
6741
- if (!this.isReplayingRequests.get(this.formKey)) return [3 /*break*/, 2];
6799
+ if (!this.indexedDBSupported) return [3 /*break*/, 9];
6800
+ if (!this.isReplayingRequests.get(this.formKey)) return [3 /*break*/, 3];
6742
6801
  // Replay already in progress, wait for it to complete
6743
6802
  return [4 /*yield*/, this.onlineAndReplayed()];
6744
- case 1:
6803
+ case 2:
6745
6804
  // Replay already in progress, wait for it to complete
6746
6805
  _a.sent();
6747
- return [3 /*break*/, 8];
6748
- case 2: return [4 /*yield*/, this.dbHasRequest()];
6749
- case 3:
6750
- if (!_a.sent()) return [3 /*break*/, 8];
6751
- if (!(stepKey !== undefined && !(metadata === null || metadata === void 0 ? void 0 : metadata.preserveStepRequests))) return [3 /*break*/, 5];
6752
- return [4 /*yield*/, this.clearFailedRequestsByStep(stepKey)];
6806
+ return [3 /*break*/, 9];
6807
+ case 3: return [4 /*yield*/, this.dbHasRequest()];
6753
6808
  case 4:
6809
+ if (!_a.sent()) return [3 /*break*/, 9];
6810
+ if (!(stepKey !== undefined && !(metadata === null || metadata === void 0 ? void 0 : metadata.preserveStepRequests))) return [3 /*break*/, 6];
6811
+ return [4 /*yield*/, this.clearFailedRequestsByStep(stepKey)];
6812
+ case 5:
6754
6813
  _a.sent();
6755
- _a.label = 5;
6756
- case 5: return [4 /*yield*/, this.dbHasRequest()];
6757
- case 6:
6758
- if (!_a.sent()) return [3 /*break*/, 8];
6814
+ _a.label = 6;
6815
+ case 6: return [4 /*yield*/, this.dbHasRequest()];
6816
+ case 7:
6817
+ if (!_a.sent()) return [3 /*break*/, 9];
6759
6818
  // Other pending requests exist → trigger replay for them
6760
6819
  return [4 /*yield*/, this.replayRequests()];
6761
- case 7:
6820
+ case 8:
6762
6821
  // Other pending requests exist → trigger replay for them
6763
6822
  _a.sent();
6764
- _a.label = 8;
6765
- case 8:
6766
- _a.trys.push([8, 10, , 13]);
6767
- return [4 /*yield*/, run()];
6823
+ _a.label = 9;
6768
6824
  case 9:
6825
+ _a.trys.push([9, 11, , 14]);
6826
+ return [4 /*yield*/, run()];
6827
+ case 10:
6769
6828
  response = _a.sent();
6770
6829
  untrackUnload();
6771
6830
  return [2 /*return*/, response];
6772
- case 10:
6831
+ case 11:
6773
6832
  e_1 = _a.sent();
6774
6833
  errorToThrow = e_1;
6775
- if (!(e_1 instanceof TypeError)) return [3 /*break*/, 12];
6834
+ if (!(e_1 instanceof TypeError)) return [3 /*break*/, 13];
6776
6835
  return [4 /*yield*/, this.saveRequest(url, options, type, stepKey, metadata)];
6777
- case 11:
6778
- _a.sent();
6779
- _a.label = 12;
6780
6836
  case 12:
6837
+ _a.sent();
6838
+ _a.label = 13;
6839
+ case 13:
6781
6840
  untrackUnload();
6782
6841
  throw errorToThrow; // Re-throw error so caller knows submission failed
6783
- case 13: return [3 /*break*/, 16];
6784
- case 14: return [4 /*yield*/, this.saveRequest(url, options, type, stepKey, metadata)];
6785
- case 15:
6842
+ case 14: return [3 /*break*/, 17];
6843
+ case 15: return [4 /*yield*/, this.saveRequest(url, options, type, stepKey, metadata)];
6844
+ case 16:
6786
6845
  _a.sent();
6787
- _a.label = 16;
6788
- case 16: return [2 /*return*/];
6846
+ _a.label = 17;
6847
+ case 17: return [2 /*return*/];
6789
6848
  }
6790
6849
  });
6791
6850
  });
@@ -6913,25 +6972,27 @@ var OfflineRequestHandler = /** @class */ (function () {
6913
6972
  if (!this.indexedDBSupported) {
6914
6973
  return [2 /*return*/];
6915
6974
  }
6916
- if (!!navigator.onLine) return [3 /*break*/, 2];
6975
+ return [4 /*yield*/, verifyConnectivity()];
6976
+ case 1:
6977
+ if (!!(_b.sent())) return [3 /*break*/, 3];
6917
6978
  // If offline, block until requests are replayed from online event handler
6918
6979
  return [4 /*yield*/, this.onlineAndReplayed()];
6919
- case 1:
6980
+ case 2:
6920
6981
  // If offline, block until requests are replayed from online event handler
6921
6982
  _b.sent();
6922
6983
  return [2 /*return*/];
6923
- case 2:
6984
+ case 3:
6924
6985
  if (this.isReplayingRequests.get(this.formKey))
6925
6986
  return [2 /*return*/];
6926
6987
  this.isReplayingRequests.set(this.formKey, true);
6927
6988
  trackUnload();
6928
- _b.label = 3;
6929
- case 3:
6930
- _b.trys.push([3, , 15, 19]);
6931
- return [4 /*yield*/, this.getDbTransaction('readwrite')];
6989
+ _b.label = 4;
6932
6990
  case 4:
6991
+ _b.trys.push([4, , 16, 20]);
6992
+ return [4 /*yield*/, this.getDbTransaction('readwrite')];
6993
+ case 5:
6933
6994
  dbTransaction = _b.sent();
6934
- if (!dbTransaction) return [3 /*break*/, 14];
6995
+ if (!dbTransaction) return [3 /*break*/, 15];
6935
6996
  store_2 = dbTransaction.store;
6936
6997
  return [4 /*yield*/, new Promise(function (resolve) {
6937
6998
  var requests = [];
@@ -6951,13 +7012,13 @@ var OfflineRequestHandler = /** @class */ (function () {
6951
7012
  }
6952
7013
  };
6953
7014
  })];
6954
- case 5:
7015
+ case 6:
6955
7016
  allRequests = _b.sent();
6956
7017
  submitRequests = allRequests.filter(function (req) {
6957
7018
  return ['submit', 'customRequest'].includes(req.type);
6958
7019
  });
6959
7020
  return [4 /*yield*/, this.replayRequestsInParallel(submitRequests)];
6960
- case 6:
7021
+ case 7:
6961
7022
  _b.sent();
6962
7023
  registerEventRequests = allRequests.filter(function (req) { return req.type === 'registerEvent'; });
6963
7024
  stepKeys = Array.from(new Set(registerEventRequests.map(function (req) { return req.stepKey; })));
@@ -6975,50 +7036,50 @@ var OfflineRequestHandler = /** @class */ (function () {
6975
7036
  });
6976
7037
  };
6977
7038
  this_1 = this;
6978
- _b.label = 7;
6979
- case 7:
6980
- _b.trys.push([7, 12, 13, 14]);
6981
- stepKeys_1 = __values(stepKeys), stepKeys_1_1 = stepKeys_1.next();
6982
7039
  _b.label = 8;
6983
7040
  case 8:
6984
- if (!!stepKeys_1_1.done) return [3 /*break*/, 11];
7041
+ _b.trys.push([8, 13, 14, 15]);
7042
+ stepKeys_1 = __values(stepKeys), stepKeys_1_1 = stepKeys_1.next();
7043
+ _b.label = 9;
7044
+ case 9:
7045
+ if (!!stepKeys_1_1.done) return [3 /*break*/, 12];
6985
7046
  stepKey = stepKeys_1_1.value;
6986
7047
  return [5 /*yield**/, _loop_1(stepKey)];
6987
- case 9:
6988
- _b.sent();
6989
- _b.label = 10;
6990
7048
  case 10:
7049
+ _b.sent();
7050
+ _b.label = 11;
7051
+ case 11:
6991
7052
  stepKeys_1_1 = stepKeys_1.next();
6992
- return [3 /*break*/, 8];
6993
- case 11: return [3 /*break*/, 14];
6994
- case 12:
7053
+ return [3 /*break*/, 9];
7054
+ case 12: return [3 /*break*/, 15];
7055
+ case 13:
6995
7056
  e_2_1 = _b.sent();
6996
7057
  e_2 = { error: e_2_1 };
6997
- return [3 /*break*/, 14];
6998
- case 13:
7058
+ return [3 /*break*/, 15];
7059
+ case 14:
6999
7060
  try {
7000
7061
  if (stepKeys_1_1 && !stepKeys_1_1.done && (_a = stepKeys_1.return)) _a.call(stepKeys_1);
7001
7062
  }
7002
7063
  finally { if (e_2) throw e_2.error; }
7003
7064
  return [7 /*endfinally*/];
7004
- case 14: return [3 /*break*/, 19];
7005
- case 15:
7065
+ case 15: return [3 /*break*/, 20];
7066
+ case 16:
7006
7067
  this.isReplayingRequests.set(this.formKey, false);
7007
7068
  return [4 /*yield*/, this.hasReplayableRequest()];
7008
- case 16:
7069
+ case 17:
7009
7070
  retryable = _b.sent();
7010
- if (!retryable) return [3 /*break*/, 18];
7071
+ if (!retryable) return [3 /*break*/, 19];
7011
7072
  return [4 /*yield*/, this.replayRequests()];
7012
- case 17:
7013
- _b.sent();
7014
- _b.label = 18;
7015
7073
  case 18:
7074
+ _b.sent();
7075
+ _b.label = 19;
7076
+ case 19:
7016
7077
  untrackUnload();
7017
7078
  signals = this.onlineSignals.get(this.formKey) || [];
7018
7079
  signals.forEach(function (signal) { return signal(); });
7019
7080
  this.onlineSignals.delete(this.formKey);
7020
7081
  return [7 /*endfinally*/];
7021
- case 19: return [2 /*return*/];
7082
+ case 20: return [2 /*return*/];
7022
7083
  }
7023
7084
  });
7024
7085
  });
@@ -7049,10 +7110,10 @@ var OfflineRequestHandler = /** @class */ (function () {
7049
7110
  }
7050
7111
  _g.label = 1;
7051
7112
  case 1:
7052
- if (!(attempts < this.maxRetryAttempts)) return [3 /*break*/, 15];
7113
+ if (!(attempts < this.maxRetryAttempts)) return [3 /*break*/, 16];
7053
7114
  _g.label = 2;
7054
7115
  case 2:
7055
- _g.trys.push([2, 6, , 14]);
7116
+ _g.trys.push([2, 6, , 15]);
7056
7117
  return [4 /*yield*/, fetch(url, fetchOptions)];
7057
7118
  case 3:
7058
7119
  response = _g.sent();
@@ -7078,7 +7139,9 @@ var OfflineRequestHandler = /** @class */ (function () {
7078
7139
  return [4 /*yield*/, this.updateRetryAttempts(key, attempts)];
7079
7140
  case 9:
7080
7141
  _g.sent();
7081
- if (!navigator.onLine) return [3 /*break*/, 11];
7142
+ return [4 /*yield*/, verifyConnectivity()];
7143
+ case 10:
7144
+ if (!_g.sent()) return [3 /*break*/, 12];
7082
7145
  nextDelay = this.getExponentialDelay(attempts);
7083
7146
  if (attempts >= this.maxRetryAttempts) {
7084
7147
  // Skip alerting when a specific field upload already surfaces its own retry error
@@ -7089,16 +7152,16 @@ var OfflineRequestHandler = /** @class */ (function () {
7089
7152
  return [2 /*return*/];
7090
7153
  }
7091
7154
  return [4 /*yield*/, this.delay(nextDelay)];
7092
- case 10:
7155
+ case 11:
7093
7156
  _g.sent();
7094
- return [3 /*break*/, 13];
7095
- case 11: return [4 /*yield*/, this.onlineAndReplayed()];
7096
- case 12:
7157
+ return [3 /*break*/, 14];
7158
+ case 12: return [4 /*yield*/, this.onlineAndReplayed()];
7159
+ case 13:
7097
7160
  _g.sent();
7098
7161
  return [2 /*return*/];
7099
- case 13: return [3 /*break*/, 14];
7100
- case 14: return [3 /*break*/, 1];
7101
- case 15: return [2 /*return*/];
7162
+ case 14: return [3 /*break*/, 15];
7163
+ case 15: return [3 /*break*/, 1];
7164
+ case 16: return [2 /*return*/];
7102
7165
  }
7103
7166
  });
7104
7167
  }); };
@@ -39750,7 +39813,7 @@ function Form(_a) {
39750
39813
  var getPendingFileUploadKeys = function () {
39751
39814
  return Object.entries(fileRetryStatus).reduce(function (pending, _a) {
39752
39815
  var _b = __read(_a, 2), fieldKey = _b[0], status = _b[1];
39753
- if (status !== false)
39816
+ if (status)
39754
39817
  return pending;
39755
39818
  var servar = getServarByFieldKey(fieldKey);
39756
39819
  if (!servar)
@@ -41023,12 +41086,12 @@ function Form(_a) {
41023
41086
  case 1:
41024
41087
  _d.sent();
41025
41088
  explicitNav = submitData || ['button', 'text', 'container'].includes(elementType);
41026
- if (!!redirectKey) return [3 /*break*/, 10];
41027
- if (!explicitNav) return [3 /*break*/, 9];
41089
+ if (!!redirectKey) return [3 /*break*/, 11];
41090
+ if (!explicitNav) return [3 /*break*/, 10];
41028
41091
  showCompletionLoader(completionButton);
41029
41092
  _d.label = 2;
41030
41093
  case 2:
41031
- _d.trys.push([2, , 8, 9]);
41094
+ _d.trys.push([2, , 9, 10]);
41032
41095
  if (!submitPromise) return [3 /*break*/, 6];
41033
41096
  _d.label = 3;
41034
41097
  case 3:
@@ -41042,8 +41105,10 @@ function Form(_a) {
41042
41105
  throw new Error(getSubmissionErrorMessage(error_1));
41043
41106
  case 6:
41044
41107
  requireSuccessfulFileUploads();
41108
+ return [4 /*yield*/, verifyConnectivity()];
41109
+ case 7:
41045
41110
  // Block form completion if user is actively offline
41046
- if (!navigator.onLine) {
41111
+ if (!(_d.sent())) {
41047
41112
  throw new Error('You are offline. Please check your connection and try again.');
41048
41113
  }
41049
41114
  // Note: We don't check dbHasRequest() here because:
@@ -41058,42 +41123,42 @@ function Form(_a) {
41058
41123
  session.form_completed = true;
41059
41124
  rerenderAllForms();
41060
41125
  })];
41061
- case 7:
41062
- _d.sent();
41063
- return [3 /*break*/, 9];
41064
41126
  case 8:
41127
+ _d.sent();
41128
+ return [3 /*break*/, 10];
41129
+ case 9:
41065
41130
  clearCompletionLoader();
41066
41131
  return [7 /*endfinally*/];
41067
- case 9: return [3 /*break*/, 22];
41068
- case 10:
41132
+ case 10: return [3 /*break*/, 23];
41133
+ case 11:
41069
41134
  nextStep = steps[redirectKey];
41070
41135
  authIntegration = getAuthIntegrationMetadata(integrations);
41071
41136
  complete = isStepTerminal(nextStep) &&
41072
41137
  !isTerminalStepAuth(authIntegration, steps[stepKey].id);
41073
41138
  if (complete)
41074
41139
  showCompletionLoader(completionButton);
41075
- _d.label = 11;
41076
- case 11:
41077
- _d.trys.push([11, , 20, 21]);
41078
- if (!(complete && submitPromise)) return [3 /*break*/, 16];
41079
41140
  _d.label = 12;
41080
41141
  case 12:
41081
- _d.trys.push([12, 14, , 15]);
41082
- return [4 /*yield*/, submitPromise];
41142
+ _d.trys.push([12, , 21, 22]);
41143
+ if (!(complete && submitPromise)) return [3 /*break*/, 17];
41144
+ _d.label = 13;
41083
41145
  case 13:
41084
- _d.sent();
41085
- return [3 /*break*/, 15];
41146
+ _d.trys.push([13, 15, , 16]);
41147
+ return [4 /*yield*/, submitPromise];
41086
41148
  case 14:
41149
+ _d.sent();
41150
+ return [3 /*break*/, 16];
41151
+ case 15:
41087
41152
  error_2 = _d.sent();
41088
41153
  throw new Error(getSubmissionErrorMessage(error_2));
41089
- case 15: return [3 /*break*/, 17];
41090
- case 16:
41154
+ case 16: return [3 /*break*/, 18];
41155
+ case 17:
41091
41156
  if (submitPromise) {
41092
41157
  submitPromise.catch(function () { }); // Avoid unhandled rejections when allowing navigation
41093
41158
  }
41094
- _d.label = 17;
41095
- case 17:
41096
- if (!complete) return [3 /*break*/, 19];
41159
+ _d.label = 18;
41160
+ case 18:
41161
+ if (!complete) return [3 /*break*/, 20];
41097
41162
  requireSuccessfulFileUploads();
41098
41163
  eventData.completed = true;
41099
41164
  // Form completion must run after since logic may depend on
@@ -41101,20 +41166,20 @@ function Form(_a) {
41101
41166
  return [4 /*yield*/, client
41102
41167
  .registerEvent(eventData)
41103
41168
  .then(function () { return handleFormComplete(); })];
41104
- case 18:
41169
+ case 19:
41105
41170
  // Form completion must run after since logic may depend on
41106
41171
  // presence of fully submitted data
41107
41172
  _d.sent();
41108
- _d.label = 19;
41109
- case 19:
41173
+ _d.label = 20;
41174
+ case 20:
41110
41175
  if (!eventData.completed)
41111
41176
  client.registerEvent(eventData);
41112
- return [3 /*break*/, 21];
41113
- case 20:
41177
+ return [3 /*break*/, 22];
41178
+ case 21:
41114
41179
  if (complete)
41115
41180
  clearCompletionLoader();
41116
41181
  return [7 /*endfinally*/];
41117
- case 21:
41182
+ case 22:
41118
41183
  updateBackNavMap((_c = {}, _c[redirectKey] = activeStep.key, _c));
41119
41184
  pendingScrollRef.current = explicitNav;
41120
41185
  if (trackHashes.current) {
@@ -41129,8 +41194,8 @@ function Form(_a) {
41129
41194
  pendingScrollRef.current = null;
41130
41195
  setStepKey(redirectKey);
41131
41196
  }
41132
- _d.label = 22;
41133
- case 22: return [2 /*return*/];
41197
+ _d.label = 23;
41198
+ case 23: return [2 /*return*/];
41134
41199
  }
41135
41200
  });
41136
41201
  });
@@ -46154,9 +46219,9 @@ function init(sdkKey, options) {
46154
46219
  if (runningInClient()) {
46155
46220
  // Dynamically load libraries that must be client side
46156
46221
  global.scriptjsLoadPromise = import(
46157
- /* webpackChunkName: "scriptjs" */ './fthry_script.D9jni3XD.js').then(function (n) { return n.s; });
46222
+ /* webpackChunkName: "scriptjs" */ './fthry_script.BmwMDCAZ.js').then(function (n) { return n.s; });
46158
46223
  global.webfontloaderPromise = import(
46159
- /* webpackChunkName: "webfontloader" */ './fthry_webfontloader.BLm92tir.js').then(function (n) { return n.w; });
46224
+ /* webpackChunkName: "webfontloader" */ './fthry_webfontloader.D5C7-qaj.js').then(function (n) { return n.w; });
46160
46225
  // Client-side tracking logic
46161
46226
  if (initState.userTracking === 'cookie') {
46162
46227
  var cookieKey = "feathery-user-id-".concat(sdkKey);
@@ -46302,7 +46367,7 @@ function getFieldValues() {
46302
46367
  return __assign({}, fieldValues);
46303
46368
  }
46304
46369
  function logFeatheryBadge() {
46305
- console.log('%c Feathery %c v' + "2.37.3" + ' ', // replaced with real version during build
46370
+ console.log('%c Feathery %c v' + "2.37.4" + ' ', // replaced with real version during build
46306
46371
  'background: #e2626e; color: white; padding: 2px 6px; border-radius: 3px 0 0 3px; font-weight: bold;', 'background: #fce7e9; color: #c5495a; padding: 2px 6px; border-radius: 0 3px 3px 0;');
46307
46372
  }
46308
46373
 
@@ -47815,39 +47880,39 @@ breakpoint) {
47815
47880
  return styles.getTarget('inner-container', undefined, viewport === 'mobile');
47816
47881
  };
47817
47882
 
47818
- var AddressLine1 = lazy$1(function () { return import(/* webpackChunkName: "AddressField" */ './fthry_index.wmtHjz0i.js'); });
47819
- var ButtonGroupField = lazy$1(function () { return import(/* webpackChunkName: "ButtonGroupField" */ './fthry_index.DVN_jNq6.js'); });
47820
- var CheckboxField = lazy$1(function () { return import(/* webpackChunkName: "CheckboxField" */ './fthry_index.DIxT-xBI.js'); });
47883
+ var AddressLine1 = lazy$1(function () { return import(/* webpackChunkName: "AddressField" */ './fthry_index.CET1YvDN.js'); });
47884
+ var ButtonGroupField = lazy$1(function () { return import(/* webpackChunkName: "ButtonGroupField" */ './fthry_index.B2J5J4jS.js'); });
47885
+ var CheckboxField = lazy$1(function () { return import(/* webpackChunkName: "CheckboxField" */ './fthry_index.C_22SPRt.js'); });
47821
47886
  var CheckboxGroupField = lazy$1(function () {
47822
- return import(/* webpackChunkName: "CheckboxGroupField" */ './fthry_index.CxBP7n7t.js');
47887
+ return import(/* webpackChunkName: "CheckboxGroupField" */ './fthry_index.DIIgA2I2.js');
47823
47888
  });
47824
- var ColorPickerField = lazy$1(function () { return import(/* webpackChunkName: "ColorPickerField" */ './fthry_index.DmZkBPS7.js'); });
47825
- var CustomField = lazy$1(function () { return import(/* webpackChunkName: "CustomField" */ './fthry_index.CuzBvdoy.js'); });
47889
+ var ColorPickerField = lazy$1(function () { return import(/* webpackChunkName: "ColorPickerField" */ './fthry_index.aJzVeSoS.js'); });
47890
+ var CustomField = lazy$1(function () { return import(/* webpackChunkName: "CustomField" */ './fthry_index.54Em8Q1w.js'); });
47826
47891
  var DateSelectorField = lazy$1(function () {
47827
- return import(/* webpackChunkName: "DateSelectorField" */ './fthry_index.BJNRcyyW.js');
47892
+ return import(/* webpackChunkName: "DateSelectorField" */ './fthry_index.Cbk-4lUW.js');
47828
47893
  });
47829
- var DropdownField = lazy$1(function () { return import(/* webpackChunkName: "DropdownField" */ './fthry_index.DM5oqg4S.js'); });
47894
+ var DropdownField = lazy$1(function () { return import(/* webpackChunkName: "DropdownField" */ './fthry_index.BmcdgXn3.js'); });
47830
47895
  var DropdownMultiField = lazy$1(function () {
47831
- return import(/* webpackChunkName: "DropdownMultiField" */ './fthry_index.o9IekhIF.js');
47896
+ return import(/* webpackChunkName: "DropdownMultiField" */ './fthry_index.BlrxJyUS.js');
47832
47897
  });
47833
- var FileUploadField = lazy$1(function () { return import(/* webpackChunkName: "FileUploadField" */ './fthry_index.DITYaYtG.js'); });
47834
- var MatrixField = lazy$1(function () { return import(/* webpackChunkName: "MatrixField" */ './fthry_index.4OH-ricw.js'); });
47835
- var PasswordField = lazy$1(function () { return import(/* webpackChunkName: "PasswordField" */ './fthry_index.DvwwjfV-.js'); });
47898
+ var FileUploadField = lazy$1(function () { return import(/* webpackChunkName: "FileUploadField" */ './fthry_index.CGjEfzIL.js'); });
47899
+ var MatrixField = lazy$1(function () { return import(/* webpackChunkName: "MatrixField" */ './fthry_index.CpjiI4uf.js'); });
47900
+ var PasswordField = lazy$1(function () { return import(/* webpackChunkName: "PasswordField" */ './fthry_index.Brftvfe7.js'); });
47836
47901
  var PaymentMethodField = lazy$1(function () {
47837
- return import(/* webpackChunkName: "PaymentMethodField" */ './fthry_PaymentMethodField.CekXR4Xd.js');
47902
+ return import(/* webpackChunkName: "PaymentMethodField" */ './fthry_PaymentMethodField.CA0KyKcm.js');
47838
47903
  });
47839
- var PhoneField = lazy$1(function () { return import(/* webpackChunkName: "PhoneField" */ './fthry_index.D65gfxRZ.js'); });
47840
- var PinInputField = lazy$1(function () { return import(/* webpackChunkName: "PinInputField" */ './fthry_index.DvW8Cc9_.js'); });
47841
- var QRScanner = lazy$1(function () { return import(/* webpackChunkName: "QRScanner" */ './fthry_index.DPmNz7lY.js'); });
47904
+ var PhoneField = lazy$1(function () { return import(/* webpackChunkName: "PhoneField" */ './fthry_index.Dh3vrOA4.js'); });
47905
+ var PinInputField = lazy$1(function () { return import(/* webpackChunkName: "PinInputField" */ './fthry_index.x1TUK-im.js'); });
47906
+ var QRScanner = lazy$1(function () { return import(/* webpackChunkName: "QRScanner" */ './fthry_index.DhichOKe.js'); });
47842
47907
  var RadioButtonGroupField = lazy$1(function () {
47843
47908
  return import(
47844
- /* webpackChunkName: "RadioButtonGroupField" */ './fthry_index.Dw7-XnIv.js');
47909
+ /* webpackChunkName: "RadioButtonGroupField" */ './fthry_index.Dn8hTYS2.js');
47845
47910
  });
47846
- var RatingField = lazy$1(function () { return import(/* webpackChunkName: "RatingField" */ './fthry_index.BWK-Ce2W.js'); });
47847
- var SignatureField = lazy$1(function () { return import(/* webpackChunkName: "SignatureField" */ './fthry_index.BD67xwLj.js'); });
47848
- var SliderField = lazy$1(function () { return import(/* webpackChunkName: "SliderField" */ './fthry_index.BYOHcrZZ.js'); });
47849
- var TextField = lazy$1(function () { return import(/* webpackChunkName: "TextField" */ './fthry_index.DzzELIKF.js'); });
47850
- var TextArea = lazy$1(function () { return import(/* webpackChunkName: "TextArea" */ './fthry_index.Bi1qGxcg.js'); });
47911
+ var RatingField = lazy$1(function () { return import(/* webpackChunkName: "RatingField" */ './fthry_index.BvdLAZLu.js'); });
47912
+ var SignatureField = lazy$1(function () { return import(/* webpackChunkName: "SignatureField" */ './fthry_index.g8KGIqrC.js'); });
47913
+ var SliderField = lazy$1(function () { return import(/* webpackChunkName: "SliderField" */ './fthry_index.-pimdPng.js'); });
47914
+ var TextField = lazy$1(function () { return import(/* webpackChunkName: "TextField" */ './fthry_index.BCWRiQGq.js'); });
47915
+ var TextArea = lazy$1(function () { return import(/* webpackChunkName: "TextArea" */ './fthry_index.BvSqC2z2.js'); });
47851
47916
  var Fields = {
47852
47917
  AddressLine1: AddressLine1,
47853
47918
  ButtonGroupField: ButtonGroupField,
@@ -48797,7 +48862,7 @@ function ElementSkeleton(_a) {
48797
48862
  }
48798
48863
  var templateObject_1;
48799
48864
 
48800
- var TableElement = lazy$1(function () { return import(/* webpackChunkName: "TableElement" */ './fthry_index.V7m9HHtq.js'); });
48865
+ var TableElement = lazy$1(function () { return import(/* webpackChunkName: "TableElement" */ './fthry_index.ChBrRALN.js'); });
48801
48866
  var Basic = {
48802
48867
  ImageElement: ImageElement,
48803
48868
  VideoElement: VideoElement,
@@ -99886,14 +99951,14 @@ ${e}</tr>
99886
99951
  Please report this to https://github.com/markedjs/marked.`,e){let r="<p>An error occurred:</p><pre>"+T(n.message+"",true)+"</pre>";return t?Promise.resolve(r):r}if(t)return Promise.reject(n);throw n}}};var L$1=new D;function g(u,e){return L$1.parse(u,e)}g.options=g.setOptions=function(u){return L$1.setOptions(u),g.defaults=L$1.defaults,G(g.defaults),g};g.getDefaults=M;g.defaults=O;g.use=function(...u){return L$1.use(...u),g.defaults=L$1.defaults,G(g.defaults),g};g.walkTokens=function(u,e){return L$1.walkTokens(u,e)};g.parseInline=L$1.parseInline;g.Parser=b;g.parser=b.parse;g.Renderer=y$1;g.TextRenderer=$;g.Lexer=x;g.lexer=x.lex;g.Tokenizer=w;g.Hooks=P;g.parse=g;g.options;g.setOptions;g.use;g.walkTokens;g.parseInline;b.parse;x.lex;
99887
99952
 
99888
99953
  var En=300,Hn="300px",Dn=500;function Lt(e={}){let{immediate:t=false,debounceDelay:o=En,rootMargin:n=Hn,idleTimeout:r=Dn}=e,[s,a]=useState(false),l=useRef(null),i=useRef(null),c=useRef(null),d=useMemo(()=>p=>{let g=Date.now();return window.setTimeout(()=>{p({didTimeout:false,timeRemaining:()=>Math.max(0,50-(Date.now()-g))});},1)},[]),u=useMemo(()=>typeof window!="undefined"&&window.requestIdleCallback?(p,g)=>window.requestIdleCallback(p,g):d,[d]),m=useMemo(()=>typeof window!="undefined"&&window.cancelIdleCallback?p=>window.cancelIdleCallback(p):p=>{clearTimeout(p);},[]);return useEffect(()=>{if(t){a(true);return}let p=l.current;if(!p)return;i.current&&(clearTimeout(i.current),i.current=null),c.current&&(m(c.current),c.current=null);let g=()=>{i.current&&(clearTimeout(i.current),i.current=null),c.current&&(m(c.current),c.current=null);},h=x=>{c.current=u(w=>{w.timeRemaining()>0||w.didTimeout?(a(true),x.disconnect()):c.current=u(()=>{a(true),x.disconnect();},{timeout:r/2});},{timeout:r});},b=x=>{g(),i.current=window.setTimeout(()=>{var I,H;let w=x.takeRecords();(w.length===0||(H=(I=w.at(-1))==null?void 0:I.isIntersecting)!=null&&H)&&h(x);},o);},f=(x,w)=>{x.isIntersecting?b(w):g();},T=new IntersectionObserver(x=>{for(let w of x)f(w,T);},{rootMargin:n,threshold:0});return T.observe(p),()=>{i.current&&clearTimeout(i.current),c.current&&m(c.current),T.disconnect();}},[t,o,n,r,m,u]),{shouldRender:s,containerRef:l}}var Rt=/\s/,On=/^\s+$/,Vn=new Set(["code","pre","svg","math","annotation"]),jn=e=>typeof e=="object"&&e!==null&&"type"in e&&e.type==="element",Fn=e=>e.some(t=>jn(t)&&Vn.has(t.tagName)),zn=e=>{let t=[],o="",n=false;for(let r of e){let s=Rt.test(r);s!==n&&o&&(t.push(o),o=""),o+=r,n=s;}return o&&t.push(o),t},_n=e=>{let t=[],o="";for(let n of e)Rt.test(n)?o+=n:(o&&(t.push(o),o=""),t.push(n));return o&&t.push(o),t},qn=(e,t,o,n,r)=>({type:"element",tagName:"span",properties:{"data-sd-animate":true,style:r?`--sd-animation:sd-${t};--sd-duration:0ms;--sd-easing:${n}`:`--sd-animation:sd-${t};--sd-duration:${o}ms;--sd-easing:${n}`},children:[{type:"text",value:e}]}),$n=(e,t,o,n,r)=>{let s=t.at(-1);if(!(s&&"children"in s))return;if(Fn(t))return SKIP;let a=s,l=a.children.indexOf(e);if(l===-1)return;let i=e.value;if(!i.trim()){r.count+=i.length;return}let c=o.sep==="char"?_n(i):zn(i),d=n.prevContentLength,u=c.map(m=>{let p=r.count;if(r.count+=m.length,On.test(m))return {type:"text",value:m};let g=d>0&&p<d;return qn(m,o.animation,o.duration,o.easing,g)});return a.children.splice(l,1,...u),l+u.length},Wn=0;function be(e){var s,a,l,i;let t={animation:(s=e==null?void 0:e.animation)!=null?s:"fadeIn",duration:(a=e==null?void 0:e.duration)!=null?a:150,easing:(l=e==null?void 0:e.easing)!=null?l:"ease",sep:(i=e==null?void 0:e.sep)!=null?i:"word"},o={prevContentLength:0,lastRenderCharCount:0},n=Wn++,r=()=>c=>{let d={count:0};visitParents(c,"text",(u,m)=>$n(u,m,t,o,d)),o.lastRenderCharCount=d.count,o.prevContentLength=0;};return Object.defineProperty(r,"name",{value:`rehypeAnimate$${n}`}),{name:"animate",type:"animate",rehypePlugin:r,setPrevContentLength(c){o.prevContentLength=c;},getLastRenderCharCount(){let c=o.lastRenderCharCount;return o.lastRenderCharCount=0,c}}}be();var Qe=createContext(false),et=()=>useContext(Qe);var he=(...e)=>twMerge(clsx(e)),Jn=(e,t)=>{if(!e||!t)return t;let o=`${e}:`;return t.split(/\s+/).filter(Boolean).map(n=>n.startsWith(o)?n:`${e}:${n}`).join(" ")},Ht=e=>e?(...t)=>Jn(e,twMerge(clsx(t))):he,J=(e,t,o)=>{let n=typeof t=="string"?new Blob([t],{type:o}):t,r=URL.createObjectURL(n),s=document.createElement("a");s.href=r,s.download=e,document.body.appendChild(s),s.click(),document.body.removeChild(s),URL.revokeObjectURL(r);};var Se=createContext(he),y=()=>useContext(Se);var Yn=he("block","before:content-[counter(line)]","before:inline-block","before:[counter-increment:line]","before:w-6","before:mr-4","before:text-[13px]","before:text-right","before:text-muted-foreground/50","before:font-mono","before:select-none"),Qn=e=>{let t={};for(let o of e.split(";")){let n=o.indexOf(":");if(n>0){let r=o.slice(0,n).trim(),s=o.slice(n+1).trim();r&&s&&(t[r]=s);}}return t},Bt=memo(({children:e,result:t,language:o,className:n,startLine:r,...s})=>{let a=y(),l=useMemo(()=>a(Yn),[a]),i=useMemo(()=>{let c={};return t.bg&&(c["--sdm-bg"]=t.bg),t.fg&&(c["--sdm-fg"]=t.fg),t.rootStyle&&Object.assign(c,Qn(t.rootStyle)),c},[t.bg,t.fg,t.rootStyle]);return jsx$2("div",{className:a(n,"overflow-hidden rounded-md border border-border bg-background p-4 text-sm"),"data-language":o,"data-streamdown":"code-block-body",...s,children:jsx$2("pre",{className:a(n,"bg-[var(--sdm-bg,inherit]","dark:bg-[var(--shiki-dark-bg,var(--sdm-bg,inherit)]"),style:i,children:jsx$2("code",{className:a("[counter-increment:line_0] [counter-reset:line]"),style:r&&r>1?{counterReset:`line ${r-1}`}:void 0,children:t.tokens.map((c,d)=>jsx$2("span",{className:l,children:c.length===0||c.length===1&&c[0].content===""?`
99889
- `:c.map((u,m)=>{let p={},g=!!u.bgColor;if(u.color&&(p["--sdm-c"]=u.color),u.bgColor&&(p["--sdm-tbg"]=u.bgColor),u.htmlStyle)for(let[h,b]of Object.entries(u.htmlStyle))h==="color"?p["--sdm-c"]=b:h==="background-color"?(p["--sdm-tbg"]=b,g=true):p[h]=b;return jsx$2("span",{className:a("text-[var(--sdm-c,inherit)]","dark:text-[var(--shiki-dark,var(--sdm-c,inherit))]",g&&"bg-[var(--sdm-tbg)]",g&&"dark:bg-[var(--shiki-dark-bg,var(--sdm-tbg))]"),style:p,...u.htmlAttrs,children:u.content},m)})},d))})})})},(e,t)=>e.result===t.result&&e.language===t.language&&e.className===t.className&&e.startLine===t.startLine);var tt=({className:e,language:t,style:o,isIncomplete:n,...r})=>{let s=y();return jsx$2("div",{className:s("my-4 flex w-full flex-col gap-2 rounded-xl border border-border bg-sidebar p-2",e),"data-incomplete":n||void 0,"data-language":t,"data-streamdown":"code-block",style:{contentVisibility:"auto",containIntrinsicSize:"auto 200px",...o},...r})};var ot=createContext({code:""}),Ee=()=>useContext(ot);var nt=({language:e})=>{let t=y();return jsx$2("div",{className:t("flex h-8 items-center text-muted-foreground text-xs"),"data-language":e,"data-streamdown":"code-block-header",children:jsx$2("span",{className:t("ml-1 font-mono lowercase"),children:e})})};var sr=/\n+$/,ar=lazy$1(()=>import('./fthry_highlighted-body-TPN3WLV5.zt3SpkRF.js').then(e=>({default:e.HighlightedCodeBlockBody}))),rt=({code:e,language:t,className:o,children:n,isIncomplete:r=false,startLine:s,...a})=>{let l=y(),i=useMemo(()=>e.replace(sr,""),[e]),c=useMemo(()=>({bg:"transparent",fg:"inherit",tokens:i.split(`
99954
+ `:c.map((u,m)=>{let p={},g=!!u.bgColor;if(u.color&&(p["--sdm-c"]=u.color),u.bgColor&&(p["--sdm-tbg"]=u.bgColor),u.htmlStyle)for(let[h,b]of Object.entries(u.htmlStyle))h==="color"?p["--sdm-c"]=b:h==="background-color"?(p["--sdm-tbg"]=b,g=true):p[h]=b;return jsx$2("span",{className:a("text-[var(--sdm-c,inherit)]","dark:text-[var(--shiki-dark,var(--sdm-c,inherit))]",g&&"bg-[var(--sdm-tbg)]",g&&"dark:bg-[var(--shiki-dark-bg,var(--sdm-tbg))]"),style:p,...u.htmlAttrs,children:u.content},m)})},d))})})})},(e,t)=>e.result===t.result&&e.language===t.language&&e.className===t.className&&e.startLine===t.startLine);var tt=({className:e,language:t,style:o,isIncomplete:n,...r})=>{let s=y();return jsx$2("div",{className:s("my-4 flex w-full flex-col gap-2 rounded-xl border border-border bg-sidebar p-2",e),"data-incomplete":n||void 0,"data-language":t,"data-streamdown":"code-block",style:{contentVisibility:"auto",containIntrinsicSize:"auto 200px",...o},...r})};var ot=createContext({code:""}),Ee=()=>useContext(ot);var nt=({language:e})=>{let t=y();return jsx$2("div",{className:t("flex h-8 items-center text-muted-foreground text-xs"),"data-language":e,"data-streamdown":"code-block-header",children:jsx$2("span",{className:t("ml-1 font-mono lowercase"),children:e})})};var sr=/\n+$/,ar=lazy$1(()=>import('./fthry_highlighted-body-TPN3WLV5.uNKEZjAy.js').then(e=>({default:e.HighlightedCodeBlockBody}))),rt=({code:e,language:t,className:o,children:n,isIncomplete:r=false,startLine:s,...a})=>{let l=y(),i=useMemo(()=>e.replace(sr,""),[e]),c=useMemo(()=>({bg:"transparent",fg:"inherit",tokens:i.split(`
99890
99955
  `).map(d=>[{content:d,color:"inherit",bgColor:"transparent",htmlStyle:{},offset:0}])}),[i]);return jsx$2(ot.Provider,{value:{code:e},children:jsxs$1(tt,{isIncomplete:r,language:t,children:[jsx$2(nt,{language:t}),n?jsx$2("div",{className:l("pointer-events-none sticky top-2 z-10 -mt-10 flex h-8 items-center justify-end"),children:jsx$2("div",{className:l("pointer-events-auto flex shrink-0 items-center gap-2 rounded-md border border-sidebar bg-sidebar/80 px-1.5 py-1 supports-[backdrop-filter]:bg-sidebar/70 supports-[backdrop-filter]:backdrop-blur"),"data-streamdown":"code-block-actions",children:n})}):null,jsx$2(Suspense,{fallback:jsx$2(Bt,{className:o,language:t,result:c,startLine:s,...a}),children:jsx$2(ar,{className:o,code:i,language:t,raw:c,startLine:s,...a})})]})})};var Vt=e=>jsx$2("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:jsx$2("path",{clipRule:"evenodd",d:"M15.5607 3.99999L15.0303 4.53032L6.23744 13.3232C5.55403 14.0066 4.44599 14.0066 3.76257 13.3232L4.2929 12.7929L3.76257 13.3232L0.969676 10.5303L0.439346 9.99999L1.50001 8.93933L2.03034 9.46966L4.82323 12.2626C4.92086 12.3602 5.07915 12.3602 5.17678 12.2626L13.9697 3.46966L14.5 2.93933L15.5607 3.99999Z",fill:"currentColor",fillRule:"evenodd"})}),jt=e=>jsx$2("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:jsx$2("path",{clipRule:"evenodd",d:"M2.75 0.5C1.7835 0.5 1 1.2835 1 2.25V9.75C1 10.7165 1.7835 11.5 2.75 11.5H3.75H4.5V10H3.75H2.75C2.61193 10 2.5 9.88807 2.5 9.75V2.25C2.5 2.11193 2.61193 2 2.75 2H8.25C8.38807 2 8.5 2.11193 8.5 2.25V3H10V2.25C10 1.2835 9.2165 0.5 8.25 0.5H2.75ZM7.75 4.5C6.7835 4.5 6 5.2835 6 6.25V13.75C6 14.7165 6.7835 15.5 7.75 15.5H13.25C14.2165 15.5 15 14.7165 15 13.75V6.25C15 5.2835 14.2165 4.5 13.25 4.5H7.75ZM7.5 6.25C7.5 6.11193 7.61193 6 7.75 6H13.25C13.3881 6 13.5 6.11193 13.5 6.25V13.75C13.5 13.8881 13.3881 14 13.25 14H7.75C7.61193 14 7.5 13.8881 7.5 13.75V6.25Z",fill:"currentColor",fillRule:"evenodd"})}),Ft=e=>jsx$2("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:jsx$2("path",{clipRule:"evenodd",d:"M8.75 1V1.75V8.68934L10.7197 6.71967L11.25 6.18934L12.3107 7.25L11.7803 7.78033L8.70711 10.8536C8.31658 11.2441 7.68342 11.2441 7.29289 10.8536L4.21967 7.78033L3.68934 7.25L4.75 6.18934L5.28033 6.71967L7.25 8.68934V1.75V1H8.75ZM13.5 9.25V13.5H2.5V9.25V8.5H1V9.25V14C1 14.5523 1.44771 15 2 15H14C14.5523 15 15 14.5523 15 14V9.25V8.5H13.5V9.25Z",fill:"currentColor",fillRule:"evenodd"})}),zt=e=>jsxs$1("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:[jsx$2("path",{d:"M8 0V4",stroke:"currentColor",strokeWidth:"1.5"}),jsx$2("path",{d:"M8 16V12",opacity:"0.5",stroke:"currentColor",strokeWidth:"1.5"}),jsx$2("path",{d:"M3.29773 1.52783L5.64887 4.7639",opacity:"0.9",stroke:"currentColor",strokeWidth:"1.5"}),jsx$2("path",{d:"M12.7023 1.52783L10.3511 4.7639",opacity:"0.1",stroke:"currentColor",strokeWidth:"1.5"}),jsx$2("path",{d:"M12.7023 14.472L10.3511 11.236",opacity:"0.4",stroke:"currentColor",strokeWidth:"1.5"}),jsx$2("path",{d:"M3.29773 14.472L5.64887 11.236",opacity:"0.6",stroke:"currentColor",strokeWidth:"1.5"}),jsx$2("path",{d:"M15.6085 5.52783L11.8043 6.7639",opacity:"0.2",stroke:"currentColor",strokeWidth:"1.5"}),jsx$2("path",{d:"M0.391602 10.472L4.19583 9.23598",opacity:"0.7",stroke:"currentColor",strokeWidth:"1.5"}),jsx$2("path",{d:"M15.6085 10.4722L11.8043 9.2361",opacity:"0.3",stroke:"currentColor",strokeWidth:"1.5"}),jsx$2("path",{d:"M0.391602 5.52783L4.19583 6.7639",opacity:"0.8",stroke:"currentColor",strokeWidth:"1.5"})]}),_t=e=>jsx$2("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:jsx$2("path",{clipRule:"evenodd",d:"M1 5.25V6H2.5V5.25V2.5H5.25H6V1H5.25H2C1.44772 1 1 1.44772 1 2V5.25ZM5.25 14.9994H6V13.4994H5.25H2.5V10.7494V9.99939H1V10.7494V13.9994C1 14.5517 1.44772 14.9994 2 14.9994H5.25ZM15 10V10.75V14C15 14.5523 14.5523 15 14 15H10.75H10V13.5H10.75H13.5V10.75V10H15ZM10.75 1H10V2.5H10.75H13.5V5.25V6H15V5.25V2C15 1.44772 14.5523 1 14 1H10.75Z",fill:"currentColor",fillRule:"evenodd"})}),qt=e=>jsx$2("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:jsx$2("path",{clipRule:"evenodd",d:"M13.5 8C13.5 4.96643 11.0257 2.5 7.96452 2.5C5.42843 2.5 3.29365 4.19393 2.63724 6.5H5.25H6V8H5.25H0.75C0.335787 8 0 7.66421 0 7.25V2.75V2H1.5V2.75V5.23347C2.57851 2.74164 5.06835 1 7.96452 1C11.8461 1 15 4.13001 15 8C15 11.87 11.8461 15 7.96452 15C5.62368 15 3.54872 13.8617 2.27046 12.1122L1.828 11.5066L3.03915 10.6217L3.48161 11.2273C4.48831 12.6051 6.12055 13.5 7.96452 13.5C11.0257 13.5 13.5 11.0336 13.5 8Z",fill:"currentColor",fillRule:"evenodd"})}),$t=e=>jsx$2("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:jsx$2("path",{clipRule:"evenodd",d:"M12.4697 13.5303L13 14.0607L14.0607 13L13.5303 12.4697L9.06065 7.99999L13.5303 3.53032L14.0607 2.99999L13 1.93933L12.4697 2.46966L7.99999 6.93933L3.53032 2.46966L2.99999 1.93933L1.93933 2.99999L2.46966 3.53032L6.93933 7.99999L2.46966 12.4697L1.93933 13L2.99999 14.0607L3.53032 13.5303L7.99999 9.06065L12.4697 13.5303Z",fill:"currentColor",fillRule:"evenodd"})}),Wt=e=>jsx$2("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:jsx$2("path",{clipRule:"evenodd",d:"M13.5 10.25V13.25C13.5 13.3881 13.3881 13.5 13.25 13.5H2.75C2.61193 13.5 2.5 13.3881 2.5 13.25L2.5 2.75C2.5 2.61193 2.61193 2.5 2.75 2.5H5.75H6.5V1H5.75H2.75C1.7835 1 1 1.7835 1 2.75V13.25C1 14.2165 1.7835 15 2.75 15H13.25C14.2165 15 15 14.2165 15 13.25V10.25V9.5H13.5V10.25ZM9 1H9.75H14.2495C14.6637 1 14.9995 1.33579 14.9995 1.75V6.25V7H13.4995V6.25V3.56066L8.53033 8.52978L8 9.06011L6.93934 7.99945L7.46967 7.46912L12.4388 2.5H9.75H9V1Z",fill:"currentColor",fillRule:"evenodd"})}),Zt=e=>jsx$2("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:jsx$2("path",{clipRule:"evenodd",d:"M1.5 6.5C1.5 3.73858 3.73858 1.5 6.5 1.5C9.26142 1.5 11.5 3.73858 11.5 6.5C11.5 9.26142 9.26142 11.5 6.5 11.5C3.73858 11.5 1.5 9.26142 1.5 6.5ZM6.5 0C2.91015 0 0 2.91015 0 6.5C0 10.0899 2.91015 13 6.5 13C8.02469 13 9.42677 12.475 10.5353 11.596L13.9697 15.0303L14.5 15.5607L15.5607 14.5L15.0303 13.9697L11.596 10.5353C12.475 9.42677 13 8.02469 13 6.5C13 2.91015 10.0899 0 6.5 0ZM4.125 5.875H4.75H5.875V4.75V4.125H7.125V4.75V5.875H8.25H8.875V7.125H8.25H7.125V8.25V8.875H5.875V8.25V7.125H4.75H4.125V5.875Z",fill:"currentColor",fillRule:"evenodd"})}),Xt=e=>jsx$2("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:jsx$2("path",{clipRule:"evenodd",d:"M1.5 6.5C1.5 3.73858 3.73858 1.5 6.5 1.5C9.26142 1.5 11.5 3.73858 11.5 6.5C11.5 9.26142 9.26142 11.5 6.5 11.5C3.73858 11.5 1.5 9.26142 1.5 6.5ZM6.5 0C2.91015 0 0 2.91015 0 6.5C0 10.0899 2.91015 13 6.5 13C8.02469 13 9.42677 12.475 10.5353 11.596L13.9697 15.0303L14.5 15.5607L15.5607 14.5L15.0303 13.9697L11.596 10.5353C12.475 9.42677 13 8.02469 13 6.5C13 2.91015 10.0899 0 6.5 0ZM4.125 5.875H4.75H8.25H8.875V7.125H8.25H4.75H4.125V5.875Z",fill:"currentColor",fillRule:"evenodd"})});var we={CheckIcon:Vt,CopyIcon:jt,DownloadIcon:Ft,ExternalLinkIcon:Wt,Loader2Icon:zt,Maximize2Icon:_t,RotateCcwIcon:qt,XIcon:$t,ZoomInIcon:Zt,ZoomOutIcon:Xt},Kt=createContext(we),mr=(e,t)=>{if(e===t)return true;if(!(e&&t))return e===t;let o=Object.keys(e),n=Object.keys(t);return o.length!==n.length?false:o.every(r=>e[r]===t[r])},st=({icons:e,children:t})=>{let o=useRef(e),n=useRef(e?{...we,...e}:we);mr(o.current,e)||(o.current=e,n.current=e?{...we,...e}:we);let r=n.current;return jsx$2(Kt.Provider,{value:r,children:t})},L=()=>useContext(Kt);var He={copyCode:"Copy Code",downloadFile:"Download file",downloadDiagram:"Download diagram",downloadDiagramAsSvg:"Download diagram as SVG",downloadDiagramAsPng:"Download diagram as PNG",downloadDiagramAsMmd:"Download diagram as MMD",viewFullscreen:"View fullscreen",exitFullscreen:"Exit fullscreen",mermaidFormatSvg:"SVG",mermaidFormatPng:"PNG",mermaidFormatMmd:"MMD",copyTable:"Copy table",copyTableAsMarkdown:"Copy table as Markdown",copyTableAsCsv:"Copy table as CSV",copyTableAsTsv:"Copy table as TSV",downloadTable:"Download table",downloadTableAsCsv:"Download table as CSV",downloadTableAsMarkdown:"Download table as Markdown",tableFormatMarkdown:"Markdown",tableFormatCsv:"CSV",tableFormatTsv:"TSV",imageNotAvailable:"Image not available",downloadImage:"Download image",openExternalLink:"Open external link?",externalLinkWarning:"You're about to visit an external website.",close:"Close",copyLink:"Copy link",copied:"Copied",openLink:"Open link"},De=createContext(He),B=()=>useContext(De);var Be=({onCopy:e,onError:t,timeout:o=2e3,children:n,className:r,code:s,...a})=>{let l=y(),[i,c]=useState(false),d=useRef(0),{code:u}=Ee(),{isAnimating:m}=useContext(R),p=B(),g=s!=null?s:u,h=async()=>{var T;if(typeof window=="undefined"||!((T=navigator==null?void 0:navigator.clipboard)!=null&&T.writeText)){t==null||t(new Error("Clipboard API not available"));return}try{i||(await navigator.clipboard.writeText(g),c(!0),e==null||e(),d.current=window.setTimeout(()=>c(!1),o));}catch(x){t==null||t(x);}};useEffect(()=>()=>{window.clearTimeout(d.current);},[]);let b=L(),f=i?b.CheckIcon:b.CopyIcon;return jsx$2("button",{className:l("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",r),"data-streamdown":"code-block-copy-button",disabled:m,onClick:h,title:p.copyCode,type:"button",...a,children:n!=null?n:jsx$2(f,{size:14})})};var Gt={"1c":"1c","1c-query":"1cq",abap:"abap","actionscript-3":"as",ada:"ada",adoc:"adoc","angular-html":"html","angular-ts":"ts",apache:"conf",apex:"cls",apl:"apl",applescript:"applescript",ara:"ara",asciidoc:"adoc",asm:"asm",astro:"astro",awk:"awk",ballerina:"bal",bash:"sh",bat:"bat",batch:"bat",be:"be",beancount:"beancount",berry:"berry",bibtex:"bib",bicep:"bicep",blade:"blade.php",bsl:"bsl",c:"c","c#":"cs","c++":"cpp",cadence:"cdc",cairo:"cairo",cdc:"cdc",clarity:"clar",clj:"clj",clojure:"clj","closure-templates":"soy",cmake:"cmake",cmd:"cmd",cobol:"cob",codeowners:"CODEOWNERS",codeql:"ql",coffee:"coffee",coffeescript:"coffee","common-lisp":"lisp",console:"sh",coq:"v",cpp:"cpp",cql:"cql",crystal:"cr",cs:"cs",csharp:"cs",css:"css",csv:"csv",cue:"cue",cypher:"cql",d:"d",dart:"dart",dax:"dax",desktop:"desktop",diff:"diff",docker:"dockerfile",dockerfile:"dockerfile",dotenv:"env","dream-maker":"dm",edge:"edge",elisp:"el",elixir:"ex",elm:"elm","emacs-lisp":"el",erb:"erb",erl:"erl",erlang:"erl",f:"f","f#":"fs",f03:"f03",f08:"f08",f18:"f18",f77:"f77",f90:"f90",f95:"f95",fennel:"fnl",fish:"fish",fluent:"ftl",for:"for","fortran-fixed-form":"f","fortran-free-form":"f90",fs:"fs",fsharp:"fs",fsl:"fsl",ftl:"ftl",gdresource:"tres",gdscript:"gd",gdshader:"gdshader",genie:"gs",gherkin:"feature","git-commit":"gitcommit","git-rebase":"gitrebase",gjs:"js",gleam:"gleam","glimmer-js":"js","glimmer-ts":"ts",glsl:"glsl",gnuplot:"plt",go:"go",gql:"gql",graphql:"graphql",groovy:"groovy",gts:"gts",hack:"hack",haml:"haml",handlebars:"hbs",haskell:"hs",haxe:"hx",hbs:"hbs",hcl:"hcl",hjson:"hjson",hlsl:"hlsl",hs:"hs",html:"html","html-derivative":"html",http:"http",hxml:"hxml",hy:"hy",imba:"imba",ini:"ini",jade:"jade",java:"java",javascript:"js",jinja:"jinja",jison:"jison",jl:"jl",js:"js",json:"json",json5:"json5",jsonc:"jsonc",jsonl:"jsonl",jsonnet:"jsonnet",jssm:"jssm",jsx:"jsx",julia:"jl",kotlin:"kt",kql:"kql",kt:"kt",kts:"kts",kusto:"kql",latex:"tex",lean:"lean",lean4:"lean",less:"less",liquid:"liquid",lisp:"lisp",lit:"lit",llvm:"ll",log:"log",logo:"logo",lua:"lua",luau:"luau",make:"mak",makefile:"mak",markdown:"md",marko:"marko",matlab:"m",md:"md",mdc:"mdc",mdx:"mdx",mediawiki:"wiki",mermaid:"mmd",mips:"s",mipsasm:"s",mmd:"mmd",mojo:"mojo",move:"move",nar:"nar",narrat:"narrat",nextflow:"nf",nf:"nf",nginx:"conf",nim:"nim",nix:"nix",nu:"nu",nushell:"nu",objc:"m","objective-c":"m","objective-cpp":"mm",ocaml:"ml",pascal:"pas",perl:"pl",perl6:"p6",php:"php",plsql:"pls",po:"po",polar:"polar",postcss:"pcss",pot:"pot",potx:"potx",powerquery:"pq",powershell:"ps1",prisma:"prisma",prolog:"pl",properties:"properties",proto:"proto",protobuf:"proto",ps:"ps",ps1:"ps1",pug:"pug",puppet:"pp",purescript:"purs",py:"py",python:"py",ql:"ql",qml:"qml",qmldir:"qmldir",qss:"qss",r:"r",racket:"rkt",raku:"raku",razor:"cshtml",rb:"rb",reg:"reg",regex:"regex",regexp:"regexp",rel:"rel",riscv:"s",rs:"rs",rst:"rst",ruby:"rb",rust:"rs",sas:"sas",sass:"sass",scala:"scala",scheme:"scm",scss:"scss",sdbl:"sdbl",sh:"sh",shader:"shader",shaderlab:"shader",shell:"sh",shellscript:"sh",shellsession:"sh",smalltalk:"st",solidity:"sol",soy:"soy",sparql:"rq",spl:"spl",splunk:"spl",sql:"sql","ssh-config":"config",stata:"do",styl:"styl",stylus:"styl",svelte:"svelte",swift:"swift","system-verilog":"sv",systemd:"service",talon:"talon",talonscript:"talon",tasl:"tasl",tcl:"tcl",templ:"templ",terraform:"tf",tex:"tex",tf:"tf",tfvars:"tfvars",toml:"toml",ts:"ts","ts-tags":"ts",tsp:"tsp",tsv:"tsv",tsx:"tsx",turtle:"ttl",twig:"twig",typ:"typ",typescript:"ts",typespec:"tsp",typst:"typ",v:"v",vala:"vala",vb:"vb",verilog:"v",vhdl:"vhdl",vim:"vim",viml:"vim",vimscript:"vim",vue:"vue","vue-html":"html","vue-vine":"vine",vy:"vy",vyper:"vy",wasm:"wasm",wenyan:"wy",wgsl:"wgsl",wiki:"wiki",wikitext:"wiki",wit:"wit",wl:"wl",wolfram:"wl",xml:"xml",xsl:"xsl",yaml:"yaml",yml:"yml",zenscript:"zs",zig:"zig",zsh:"zsh",\u6587\u8A00:"wy"},at=({onDownload:e,onError:t,language:o,children:n,className:r,code:s,...a})=>{let l=y(),{code:i}=Ee(),{isAnimating:c}=useContext(R),d=B(),u=L(),m=s!=null?s:i,g=`file.${o&&o in Gt?Gt[o]:"txt"}`,h="text/plain",b=()=>{try{J(g,m,h),e==null||e();}catch(f){t==null||t(f);}};return jsx$2("button",{className:l("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",r),"data-streamdown":"code-block-download-button",disabled:c,onClick:b,title:d.downloadFile,type:"button",...a,children:n!=null?n:jsx$2(u.DownloadIcon,{size:14})})};var Ae=()=>{let{Loader2Icon:e}=L(),t=y();return jsxs$1("div",{className:t("w-full divide-y divide-border overflow-hidden rounded-xl border border-border"),children:[jsx$2("div",{className:t("h-[46px] w-full bg-muted/80")}),jsx$2("div",{className:t("flex w-full items-center justify-center p-4"),children:jsx$2(e,{className:t("size-4 animate-spin")})})]})};var xr=/\.[^/.]+$/,to=({node:e,className:t,src:o,alt:n,onLoad:r,onError:s,...a})=>{let{DownloadIcon:l}=L(),i=y(),c=useRef(null),[d,u]=useState(false),[m,p]=useState(false),g=B(),h=a.width!=null||a.height!=null,b=(d||h)&&!m,f=m&&!h;useEffect(()=>{let k=c.current;if(k!=null&&k.complete){let I=k.naturalWidth>0;u(I),p(!I);}},[]);let T=useCallback(k=>{u(true),p(false),r==null||r(k);},[r]),x=useCallback(k=>{u(false),p(true),s==null||s(k);},[s]),w=async()=>{if(o)try{let I=await(await fetch(o)).blob(),S=new URL(o,window.location.origin).pathname.split("/").pop()||"",F=S.split(".").pop(),z=S.includes(".")&&F!==void 0&&F.length<=4,q="";if(z)q=S;else {let A=I.type,K="png";A.includes("jpeg")||A.includes("jpg")?K="jpg":A.includes("png")?K="png":A.includes("svg")?K="svg":A.includes("gif")?K="gif":A.includes("webp")&&(K="webp"),q=`${(n||S||"image").replace(xr,"")}.${K}`;}J(q,I,I.type);}catch(k){window.open(o,"_blank");}};return o?jsxs$1("div",{className:i("group relative my-4 inline-block"),"data-streamdown":"image-wrapper",children:[jsx$2("img",{alt:n,className:i("max-w-full rounded-lg",f&&"hidden",t),"data-streamdown":"image",onError:x,onLoad:T,ref:c,src:o,...a}),f&&jsx$2("span",{className:i("text-muted-foreground text-xs italic"),"data-streamdown":"image-fallback",children:g.imageNotAvailable}),jsx$2("div",{className:i("pointer-events-none absolute inset-0 hidden rounded-lg bg-black/10 group-hover:block")}),b&&jsx$2("button",{className:i("absolute right-2 bottom-2 flex h-8 w-8 cursor-pointer items-center justify-center rounded-md border border-border bg-background/90 shadow-sm backdrop-blur-sm transition-all duration-200 hover:bg-background","opacity-0 group-hover:opacity-100"),onClick:w,title:g.downloadImage,type:"button",children:jsx$2(l,{size:14})})]}):null};var ke=0,le=()=>{ke+=1,ke===1&&(document.body.style.overflow="hidden");},ce=()=>{ke=Math.max(0,ke-1),ke===0&&(document.body.style.overflow="");};var ro=({url:e,isOpen:t,onClose:o,onConfirm:n})=>{let{CheckIcon:r,CopyIcon:s,ExternalLinkIcon:a,XIcon:l}=L(),i=y(),[c,d]=useState(false),u=B(),m=useCallback(async()=>{try{await navigator.clipboard.writeText(e),d(!0),setTimeout(()=>d(!1),2e3);}catch(g){}},[e]),p=useCallback(()=>{n(),o();},[n,o]);return useEffect(()=>{if(t){le();let g=h=>{h.key==="Escape"&&o();};return document.addEventListener("keydown",g),()=>{document.removeEventListener("keydown",g),ce();}}},[t,o]),t?jsx$2("div",{className:i("fixed inset-0 z-50 flex items-center justify-center bg-background/50 backdrop-blur-sm"),"data-streamdown":"link-safety-modal",onClick:o,onKeyDown:g=>{g.key==="Escape"&&o();},role:"button",tabIndex:0,children:jsxs$1("div",{className:i("relative mx-4 flex w-full max-w-md flex-col gap-4 rounded-xl border bg-background p-6 shadow-lg"),onClick:g=>g.stopPropagation(),onKeyDown:g=>g.stopPropagation(),role:"presentation",children:[jsx$2("button",{className:i("absolute top-4 right-4 rounded-md p-1 text-muted-foreground transition-all hover:bg-muted hover:text-foreground"),onClick:o,title:u.close,type:"button",children:jsx$2(l,{size:16})}),jsxs$1("div",{className:i("flex flex-col gap-2"),children:[jsxs$1("div",{className:i("flex items-center gap-2 font-semibold text-lg"),children:[jsx$2(a,{size:20}),jsx$2("span",{children:u.openExternalLink})]}),jsx$2("p",{className:i("text-muted-foreground text-sm"),children:u.externalLinkWarning})]}),jsx$2("div",{className:i("break-all rounded-md bg-muted p-3 font-mono text-sm",e.length>100&&"max-h-32 overflow-y-auto"),children:e}),jsxs$1("div",{className:i("flex gap-2"),children:[jsx$2("button",{className:i("flex flex-1 items-center justify-center gap-2 rounded-md border bg-background px-4 py-2 font-medium text-sm transition-all hover:bg-muted"),onClick:m,type:"button",children:c?jsxs$1(Fragment$1,{children:[jsx$2(r,{size:14}),jsx$2("span",{children:u.copied})]}):jsxs$1(Fragment$1,{children:[jsx$2(s,{size:14}),jsx$2("span",{children:u.copyLink})]})}),jsxs$1("button",{className:i("flex flex-1 items-center justify-center gap-2 rounded-md bg-primary px-4 py-2 font-medium text-primary-foreground text-sm transition-all hover:bg-primary/90"),onClick:p,type:"button",children:[jsx$2(a,{size:14}),jsx$2("span",{children:u.openLink})]})]})]})}):null};var Oe=createContext(null),lt=()=>useContext(Oe),Mi=()=>{var t;let e=lt();return (t=e==null?void 0:e.code)!=null?t:null},de=()=>{var t;let e=lt();return (t=e==null?void 0:e.mermaid)!=null?t:null};var so=e=>{var o;let t=lt();return t!=null&&t.renderers&&e&&(o=t.renderers.find(n=>Array.isArray(n.language)?n.language.includes(e):n.language===e))!=null?o:null};var ao=(e,t)=>{var n;let o=(n=void 0)!=null?n:5;return new Promise((r,s)=>{let a="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(e))),l=new Image;l.crossOrigin="anonymous",l.onload=()=>{let i=document.createElement("canvas"),c=l.width*o,d=l.height*o;i.width=c,i.height=d;let u=i.getContext("2d");if(!u){s(new Error("Failed to create 2D canvas context for PNG export"));return}u.drawImage(l,0,0,c,d),i.toBlob(m=>{if(!m){s(new Error("Failed to create PNG blob"));return}r(m);},"image/png");},l.onerror=()=>s(new Error("Failed to load SVG image")),l.src=a;})};var lo=({chart:e,children:t,className:o,onDownload:n,config:r,onError:s})=>{let a=y(),[l,i]=useState(false),c=useRef(null),{isAnimating:d}=useContext(R),u=L(),m=de(),p=B(),g=async h=>{try{if(h==="mmd"){J("diagram.mmd",e,"text/plain"),i(!1),n==null||n(h);return}if(!m){s==null||s(new Error("Mermaid plugin not available"));return}let b=m.getMermaid(r),f=e.split("").reduce((w,k)=>(w<<5)-w+k.charCodeAt(0)|0,0),T=`mermaid-${Math.abs(f)}-${Date.now()}-${Math.random().toString(36).substring(2,9)}`,{svg:x}=await b.render(T,e);if(!x){s==null||s(new Error("SVG not found. Please wait for the diagram to render."));return}if(h==="svg"){J("diagram.svg",x,"image/svg+xml"),i(!1),n==null||n(h);return}if(h==="png"){let w=await ao(x);J("diagram.png",w,"image/png"),n==null||n(h),i(!1);return}}catch(b){s==null||s(b);}};return useEffect(()=>{let h=b=>{let f=b.composedPath();c.current&&!f.includes(c.current)&&i(false);};return document.addEventListener("mousedown",h),()=>{document.removeEventListener("mousedown",h);}},[]),jsxs$1("div",{className:a("relative"),ref:c,children:[jsx$2("button",{className:a("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",o),disabled:d,onClick:()=>i(!l),title:p.downloadDiagram,type:"button",children:t!=null?t:jsx$2(u.DownloadIcon,{size:14})}),l?jsxs$1("div",{className:a("absolute top-full right-0 z-10 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg"),children:[jsx$2("button",{className:a("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>g("svg"),title:p.downloadDiagramAsSvg,type:"button",children:p.mermaidFormatSvg}),jsx$2("button",{className:a("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>g("png"),title:p.downloadDiagramAsPng,type:"button",children:p.mermaidFormatPng}),jsx$2("button",{className:a("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>g("mmd"),title:p.downloadDiagramAsMmd,type:"button",children:p.mermaidFormatMmd})]}):null]})};var po=({chart:e,config:t,onFullscreen:o,onExit:n,className:r,...s})=>{let{Maximize2Icon:a,XIcon:l}=L(),i=y(),[c,d]=useState(false),{isAnimating:u,controls:m}=useContext(R),p=B(),g=(()=>{if(typeof m=="boolean")return m;let b=m.mermaid;return b===false?false:b===true||b===void 0?true:b.panZoom!==false})(),h=()=>{d(!c);};return useEffect(()=>{if(c){le();let b=f=>{f.key==="Escape"&&d(false);};return document.addEventListener("keydown",b),()=>{document.removeEventListener("keydown",b),ce();}}},[c]),useEffect(()=>{c?o==null||o():n&&n();},[c,o,n]),jsxs$1(Fragment$1,{children:[jsx$2("button",{className:i("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",r),disabled:u,onClick:h,title:p.viewFullscreen,type:"button",...s,children:jsx$2(a,{size:14})}),c?createPortal(jsxs$1("div",{className:i("fixed inset-0 z-50 flex items-center justify-center bg-background/95 backdrop-blur-sm"),onClick:h,onKeyDown:b=>{b.key==="Escape"&&h();},role:"button",tabIndex:0,children:[jsx$2("button",{className:i("absolute top-4 right-4 z-10 rounded-md p-2 text-muted-foreground transition-all hover:bg-muted hover:text-foreground"),onClick:h,title:p.exitFullscreen,type:"button",children:jsx$2(l,{size:20})}),jsx$2("div",{className:i("flex size-full items-center justify-center p-4"),onClick:b=>b.stopPropagation(),onKeyDown:b=>b.stopPropagation(),role:"presentation",children:jsx$2(uo,{chart:e,className:i("size-full [&_svg]:h-auto [&_svg]:w-auto"),config:t,fullscreen:true,showControls:g})})]}),document.body):null]})};var ue=e=>{var s,a;let t=[],o=[],n=e.querySelectorAll("thead th");for(let l of n)t.push(((s=l.textContent)==null?void 0:s.trim())||"");let r=e.querySelectorAll("tbody tr");for(let l of r){let i=[],c=l.querySelectorAll("td");for(let d of c)i.push(((a=d.textContent)==null?void 0:a.trim())||"");o.push(i);}return {headers:t,rows:o}},oe=e=>{let{headers:t,rows:o}=e,n=l=>{let i=false,c=false;for(let d of l){if(d==='"'){i=true,c=true;break}(d===","||d===`
99891
99956
  `)&&(i=true);}return i?c?`"${l.replace(/"/g,'""')}"`:`"${l}"`:l},r=t.length>0?o.length+1:o.length,s=new Array(r),a=0;t.length>0&&(s[a]=t.map(n).join(","),a+=1);for(let l of o)s[a]=l.map(n).join(","),a+=1;return s.join(`
99892
99957
  `)},ct=e=>{let{headers:t,rows:o}=e,n=l=>{let i=false;for(let d of l)if(d===" "||d===`
99893
99958
  `||d==="\r"){i=true;break}if(!i)return l;let c=[];for(let d of l)d===" "?c.push("\\t"):d===`
99894
99959
  `?c.push("\\n"):d==="\r"?c.push("\\r"):c.push(d);return c.join("")},r=t.length>0?o.length+1:o.length,s=new Array(r),a=0;t.length>0&&(s[a]=t.map(n).join(" "),a+=1);for(let l of o)s[a]=l.map(n).join(" "),a+=1;return s.join(`
99895
99960
  `)},Ve=e=>{let t=false;for(let n of e)if(n==="\\"||n==="|"){t=true;break}if(!t)return e;let o=[];for(let n of e)n==="\\"?o.push("\\\\"):n==="|"?o.push("\\|"):o.push(n);return o.join("")},ne=e=>{let{headers:t,rows:o}=e;if(t.length===0)return "";let n=new Array(o.length+2),r=0,s=t.map(l=>Ve(l));n[r]=`| ${s.join(" | ")} |`,r+=1;let a=new Array(t.length);for(let l=0;l<t.length;l+=1)a[l]="---";n[r]=`| ${a.join(" | ")} |`,r+=1;for(let l of o)if(l.length<t.length){let i=new Array(t.length);for(let c=0;c<t.length;c+=1)i[c]=c<l.length?Ve(l[c]):"";n[r]=`| ${i.join(" | ")} |`,r+=1;}else {let i=l.map(c=>Ve(c));n[r]=`| ${i.join(" | ")} |`,r+=1;}return n.join(`
99896
- `)};var Te=({children:e,className:t,onCopy:o,onError:n,timeout:r=2e3})=>{let s=y(),[a,l]=useState(false),[i,c]=useState(false),d=useRef(null),u=useRef(0),{isAnimating:m}=useContext(R),p=B(),g=async f=>{var T,x;if(typeof window=="undefined"||!((T=navigator==null?void 0:navigator.clipboard)!=null&&T.write)){n==null||n(new Error("Clipboard API not available"));return}try{let w=(x=d.current)==null?void 0:x.closest('[data-streamdown="table-wrapper"]'),k=w==null?void 0:w.querySelector("table");if(!k){n==null||n(new Error("Table not found"));return}let I=ue(k),F=({csv:oe,tsv:ct,md:ne}[f]||ne)(I),z=new ClipboardItem({"text/plain":new Blob([F],{type:"text/plain"}),"text/html":new Blob([k.outerHTML],{type:"text/html"})});await navigator.clipboard.write([z]),c(!0),l(!1),o==null||o(f),u.current=window.setTimeout(()=>c(!1),r);}catch(w){n==null||n(w);}};useEffect(()=>{let f=T=>{let x=T.composedPath();d.current&&!x.includes(d.current)&&l(false);};return document.addEventListener("mousedown",f),()=>{document.removeEventListener("mousedown",f),window.clearTimeout(u.current);}},[]);let h=L(),b=i?h.CheckIcon:h.CopyIcon;return jsxs$1("div",{className:s("relative"),ref:d,children:[jsx$2("button",{className:s("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",t),disabled:m,onClick:()=>l(!a),title:p.copyTable,type:"button",children:e!=null?e:jsx$2(b,{height:14,width:14})}),a?jsxs$1("div",{className:s("absolute top-full right-0 z-10 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg"),children:[jsx$2("button",{className:s("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>g("md"),title:p.copyTableAsMarkdown,type:"button",children:p.tableFormatMarkdown}),jsx$2("button",{className:s("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>g("csv"),title:p.copyTableAsCsv,type:"button",children:p.tableFormatCsv}),jsx$2("button",{className:s("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>g("tsv"),title:p.copyTableAsTsv,type:"button",children:p.tableFormatTsv})]}):null]})};var Pe=({children:e,className:t,onDownload:o,onError:n})=>{let r=y(),[s,a]=useState(false),l=useRef(null),{isAnimating:i}=useContext(R),c=B(),d=L(),u=m=>{var p;try{let g=(p=l.current)==null?void 0:p.closest('[data-streamdown="table-wrapper"]'),h=g==null?void 0:g.querySelector("table");if(!h){n==null||n(new Error("Table not found"));return}let b=ue(h),f=m==="csv"?oe(b):ne(b);J(`table.${m==="csv"?"csv":"md"}`,f,m==="csv"?"text/csv":"text/markdown"),a(!1),o==null||o(m);}catch(g){n==null||n(g);}};return useEffect(()=>{let m=p=>{let g=p.composedPath();l.current&&!g.includes(l.current)&&a(false);};return document.addEventListener("mousedown",m),()=>{document.removeEventListener("mousedown",m);}},[]),jsxs$1("div",{className:r("relative"),ref:l,children:[jsx$2("button",{className:r("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",t),disabled:i,onClick:()=>a(!s),title:c.downloadTable,type:"button",children:e!=null?e:jsx$2(d.DownloadIcon,{size:14})}),s?jsxs$1("div",{className:r("absolute top-full right-0 z-10 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg"),children:[jsx$2("button",{className:r("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>u("csv"),title:c.downloadTableAsCsv,type:"button",children:c.tableFormatCsv}),jsx$2("button",{className:r("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>u("markdown"),title:c.downloadTableAsMarkdown,type:"button",children:c.tableFormatMarkdown})]}):null]})};var wo=({children:e,className:t,showCopy:o=true,showDownload:n=true})=>{let{Maximize2Icon:r,XIcon:s}=L(),a=y(),[l,i]=useState(false),{isAnimating:c}=useContext(R),d=B(),u=()=>{i(true);},m=()=>{i(false);};return useEffect(()=>{if(l){le();let p=g=>{g.key==="Escape"&&i(false);};return document.addEventListener("keydown",p),()=>{document.removeEventListener("keydown",p),ce();}}},[l]),jsxs$1(Fragment$1,{children:[jsx$2("button",{className:a("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",t),disabled:c,onClick:u,title:d.viewFullscreen,type:"button",children:jsx$2(r,{size:14})}),l?createPortal(jsx$2("div",{"aria-label":d.viewFullscreen,"aria-modal":"true",className:a("fixed inset-0 z-50 flex flex-col bg-background"),"data-streamdown":"table-fullscreen",onClick:m,onKeyDown:p=>{p.key==="Escape"&&m();},role:"dialog",children:jsxs$1("div",{className:a("flex h-full flex-col"),onClick:p=>p.stopPropagation(),onKeyDown:p=>p.stopPropagation(),role:"presentation",children:[jsxs$1("div",{className:a("flex items-center justify-end gap-1 p-4"),children:[o?jsx$2(Te,{}):null,n?jsx$2(Pe,{}):null,jsx$2("button",{className:a("rounded-md p-1 text-muted-foreground transition-all hover:bg-muted hover:text-foreground"),onClick:m,title:d.exitFullscreen,type:"button",children:jsx$2(s,{size:20})})]}),jsx$2("div",{className:a("flex-1 overflow-auto p-4 pt-0 [&_thead]:sticky [&_thead]:top-0 [&_thead]:z-10"),children:jsx$2("table",{className:a("w-full border-collapse border border-border"),"data-streamdown":"table",children:e})})]})}),document.body):null]})};var ko=({children:e,className:t,showControls:o,showCopy:n=true,showDownload:r=true,showFullscreen:s=true,...a})=>{let l=y(),i=o&&n,c=o&&r,d=o&&s,u=i||c||d;return jsxs$1("div",{className:l("my-4 flex flex-col gap-2 rounded-lg border border-border bg-sidebar p-2"),"data-streamdown":"table-wrapper",children:[u?jsxs$1("div",{className:l("flex items-center justify-end gap-1"),children:[i?jsx$2(Te,{}):null,c?jsx$2(Pe,{}):null,d?jsx$2(wo,{showCopy:i,showDownload:c,children:e}):null]}):null,jsx$2("div",{className:l("border-collapse overflow-x-auto overflow-y-auto rounded-md border border-border bg-background"),children:jsx$2("table",{className:l("w-full divide-y divide-border",t),"data-streamdown":"table",...a,children:e})})]})};var Gr=/startLine=(\d+)/,Yr=lazy$1(()=>import('./fthry_mermaid-O7DHMXV3.Ho3m9Xli.js').then(e=>({default:e.Mermaid}))),Qr=/language-([^\s]+)/;function _e(e,t){if(!(e!=null&&e.position||t!=null&&t.position))return true;if(!(e!=null&&e.position&&(t!=null&&t.position)))return false;let o=e.position.start,n=t.position.start,r=e.position.end,s=t.position.end;return (o==null?void 0:o.line)===(n==null?void 0:n.line)&&(o==null?void 0:o.column)===(n==null?void 0:n.column)&&(r==null?void 0:r.line)===(s==null?void 0:s.line)&&(r==null?void 0:r.column)===(s==null?void 0:s.column)}function E(e,t){return e.className===t.className&&_e(e.node,t.node)}var pt=(e,t)=>typeof e=="boolean"?e:e[t]!==false,ut=(e,t)=>{if(typeof e=="boolean")return e;let o=e.table;return o===false?false:o===true||o===void 0?true:o[t]!==false},xo=(e,t)=>{if(typeof e=="boolean")return e;let o=e.code;return o===false?false:o===true||o===void 0?true:o[t]!==false},je=(e,t)=>{if(typeof e=="boolean")return e;let o=e.mermaid;return o===false?false:o===true||o===void 0?true:o[t]!==false},gt=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("ol",{className:r("list-inside list-decimal whitespace-normal [li_&]:pl-6",t),"data-streamdown":"ordered-list",...n,children:e})},(e,t)=>E(e,t));gt.displayName="MarkdownOl";var To=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("li",{className:r("py-1 [&>p]:inline",t),"data-streamdown":"list-item",...n,children:e})},(e,t)=>e.className===t.className&&_e(e.node,t.node));To.displayName="MarkdownLi";var Po=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("ul",{className:r("list-inside list-disc whitespace-normal [li_&]:pl-6",t),"data-streamdown":"unordered-list",...n,children:e})},(e,t)=>E(e,t));Po.displayName="MarkdownUl";var Mo=memo(({className:e,node:t,...o})=>{let n=y();return jsx$2("hr",{className:n("my-6 border-border",e),"data-streamdown":"horizontal-rule",...o})},(e,t)=>E(e,t));Mo.displayName="MarkdownHr";var Io=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("span",{className:r("font-semibold",t),"data-streamdown":"strong",...n,children:e})},(e,t)=>E(e,t));Io.displayName="MarkdownStrong";var es=({children:e,className:t,href:o,node:n,...r})=>{let s=y(),{linkSafety:a}=useContext(R),[l,i]=useState(false),c=o==="streamdown:incomplete-link",d=useCallback(async g=>{if(!(!(a!=null&&a.enabled&&o)||c)){if(g.preventDefault(),a.onLinkCheck&&await a.onLinkCheck(o)){window.open(o,"_blank","noreferrer");return}i(true);}},[a,o,c]),u=useCallback(()=>{o&&window.open(o,"_blank","noreferrer");},[o]),m=useCallback(()=>{i(false);},[]),p={url:o!=null?o:"",isOpen:l,onClose:m,onConfirm:u};return a!=null&&a.enabled&&o?jsxs$1(Fragment$1,{children:[jsx$2("button",{className:s("wrap-anywhere appearance-none text-left font-medium text-primary underline",t),"data-incomplete":c,"data-streamdown":"link",onClick:d,type:"button",children:e}),a.renderModal?a.renderModal(p):jsx$2(ro,{...p})]}):jsx$2("a",{className:s("wrap-anywhere font-medium text-primary underline",t),"data-incomplete":c,"data-streamdown":"link",href:o,rel:"noreferrer",target:"_blank",...r,children:e})},No=memo(es,(e,t)=>E(e,t)&&e.href===t.href);No.displayName="MarkdownA";var Lo=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("h1",{className:r("mt-6 mb-2 font-semibold text-3xl",t),"data-streamdown":"heading-1",...n,children:e})},(e,t)=>E(e,t));Lo.displayName="MarkdownH1";var Ro=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("h2",{className:r("mt-6 mb-2 font-semibold text-2xl",t),"data-streamdown":"heading-2",...n,children:e})},(e,t)=>E(e,t));Ro.displayName="MarkdownH2";var So=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("h3",{className:r("mt-6 mb-2 font-semibold text-xl",t),"data-streamdown":"heading-3",...n,children:e})},(e,t)=>E(e,t));So.displayName="MarkdownH3";var Eo=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("h4",{className:r("mt-6 mb-2 font-semibold text-lg",t),"data-streamdown":"heading-4",...n,children:e})},(e,t)=>E(e,t));Eo.displayName="MarkdownH4";var Ho=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("h5",{className:r("mt-6 mb-2 font-semibold text-base",t),"data-streamdown":"heading-5",...n,children:e})},(e,t)=>E(e,t));Ho.displayName="MarkdownH5";var Do=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("h6",{className:r("mt-6 mb-2 font-semibold text-sm",t),"data-streamdown":"heading-6",...n,children:e})},(e,t)=>E(e,t));Do.displayName="MarkdownH6";var Bo=memo(({children:e,className:t,node:o,...n})=>{let{controls:r}=useContext(R),s=pt(r,"table"),a=ut(r,"copy"),l=ut(r,"download"),i=ut(r,"fullscreen");return jsx$2(ko,{className:t,showControls:s,showCopy:a,showDownload:l,showFullscreen:i,...n,children:e})},(e,t)=>E(e,t));Bo.displayName="MarkdownTable";var Ao=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("thead",{className:r("bg-muted/80",t),"data-streamdown":"table-header",...n,children:e})},(e,t)=>E(e,t));Ao.displayName="MarkdownThead";var Oo=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("tbody",{className:r("divide-y divide-border",t),"data-streamdown":"table-body",...n,children:e})},(e,t)=>E(e,t));Oo.displayName="MarkdownTbody";var Vo=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("tr",{className:r("border-border",t),"data-streamdown":"table-row",...n,children:e})},(e,t)=>E(e,t));Vo.displayName="MarkdownTr";var jo=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("th",{className:r("whitespace-nowrap px-4 py-2 text-left font-semibold text-sm",t),"data-streamdown":"table-header-cell",...n,children:e})},(e,t)=>E(e,t));jo.displayName="MarkdownTh";var Fo=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("td",{className:r("px-4 py-2 text-sm",t),"data-streamdown":"table-cell",...n,children:e})},(e,t)=>E(e,t));Fo.displayName="MarkdownTd";var zo=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("blockquote",{className:r("my-4 border-muted-foreground/30 border-l-4 pl-4 text-muted-foreground italic",t),"data-streamdown":"blockquote",...n,children:e})},(e,t)=>E(e,t));zo.displayName="MarkdownBlockquote";var _o=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("sup",{className:r("text-sm",t),"data-streamdown":"superscript",...n,children:e})},(e,t)=>E(e,t));_o.displayName="MarkdownSup";var qo=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("sub",{className:r("text-sm",t),"data-streamdown":"subscript",...n,children:e})},(e,t)=>E(e,t));qo.displayName="MarkdownSub";var $o=memo(({children:e,className:t,node:o,...n})=>{if("data-footnotes"in n){let s=i=>{var m,p;if(!isValidElement(i))return false;let c=Array.isArray(i.props.children)?i.props.children:[i.props.children],d=false,u=false;for(let g of c)if(g){if(typeof g=="string")g.trim()!==""&&(d=true);else if(isValidElement(g))if(((m=g.props)==null?void 0:m["data-footnote-backref"])!==void 0)u=true;else {let h=Array.isArray(g.props.children)?g.props.children:[g.props.children];for(let b of h){if(typeof b=="string"&&b.trim()!==""){d=true;break}if(isValidElement(b)&&((p=b.props)==null?void 0:p["data-footnote-backref"])===void 0){d=true;break}}}}return u&&!d},a=Array.isArray(e)?e.map(i=>{if(!isValidElement(i))return i;if(i.type===gt){let d=(Array.isArray(i.props.children)?i.props.children:[i.props.children]).filter(u=>!s(u));return d.length===0?null:{...i,props:{...i.props,children:d}}}return i}):e;return (Array.isArray(a)?a.some(i=>i!==null):a!==null)?jsx$2("section",{className:t,...n,children:a}):null}return jsx$2("section",{className:t,...n,children:e})},(e,t)=>E(e,t));$o.displayName="MarkdownSection";var ts=({node:e,className:t,children:o,...n})=>{var k,I;let r=y(),s=!("data-block"in n),{mermaid:a,controls:l}=useContext(R),i=de(),c=et(),d=t==null?void 0:t.match(Qr),u=(k=d==null?void 0:d.at(1))!=null?k:"",m=so(u);if(s)return jsx$2("code",{className:r("rounded bg-muted px-1.5 py-0.5 font-mono text-sm",t),"data-streamdown":"inline-code",...n,children:o});let p=(I=e==null?void 0:e.properties)==null?void 0:I.metastring,g=p==null?void 0:p.match(Gr),h=g?Number.parseInt(g[1],10):void 0,b=h!==void 0&&h>=1?h:void 0,f="";if(isValidElement(o)&&o.props&&typeof o.props=="object"&&"children"in o.props&&typeof o.props.children=="string"?f=o.props.children:typeof o=="string"&&(f=o),m){let H=m.component;return jsx$2(Suspense,{fallback:jsx$2(Ae,{}),children:jsx$2(H,{code:f,isIncomplete:c,language:u})})}if(u==="mermaid"&&i){let H=pt(l,"mermaid"),S=je(l,"download"),F=je(l,"copy"),z=je(l,"fullscreen"),q=je(l,"panZoom"),A=H&&(S||F||z);return jsx$2(Suspense,{fallback:jsx$2(Ae,{}),children:jsxs$1("div",{className:r("group relative my-4 flex w-full flex-col gap-2 rounded-xl border border-border bg-sidebar p-2",t),"data-streamdown":"mermaid-block",children:[jsx$2("div",{className:r("flex h-8 items-center text-muted-foreground text-xs"),children:jsx$2("span",{className:r("ml-1 font-mono lowercase"),children:"mermaid"})}),A?jsx$2("div",{className:r("pointer-events-none sticky top-2 z-10 -mt-10 flex h-8 items-center justify-end"),children:jsxs$1("div",{className:r("pointer-events-auto flex shrink-0 items-center gap-2 rounded-md border border-sidebar bg-sidebar/80 px-1.5 py-1 supports-[backdrop-filter]:bg-sidebar/70 supports-[backdrop-filter]:backdrop-blur"),"data-streamdown":"mermaid-block-actions",children:[S?jsx$2(lo,{chart:f,config:a==null?void 0:a.config}):null,F?jsx$2(Be,{code:f}):null,z?jsx$2(po,{chart:f,config:a==null?void 0:a.config}):null]})}):null,jsx$2("div",{className:r("rounded-md border border-border bg-background"),children:jsx$2(Yr,{chart:f,config:a==null?void 0:a.config,showControls:q})})]})})}let T=pt(l,"code"),x=xo(l,"download"),w=xo(l,"copy");return jsx$2(rt,{className:t,code:f,isIncomplete:c,language:u,startLine:b,children:T?jsxs$1(Fragment$1,{children:[x?jsx$2(at,{code:f,language:u}):null,w?jsx$2(Be,{}):null]}):null})},Wo=memo(ts,(e,t)=>e.className===t.className&&_e(e.node,t.node));Wo.displayName="MarkdownCode";var Zo=memo(to,(e,t)=>e.className===t.className&&_e(e.node,t.node));Zo.displayName="MarkdownImg";var Xo=memo(({children:e,node:t,...o})=>{let r=(Array.isArray(e)?e:[e]).filter(s=>s!=null&&s!=="");if(r.length===1&&isValidElement(r[0])){let s=r[0].props.node,a=s==null?void 0:s.tagName;if(a==="img")return jsx$2(Fragment$1,{children:e});if(a==="code"&&"data-block"in r[0].props)return jsx$2(Fragment$1,{children:e})}return jsx$2("p",{...o,children:e})},(e,t)=>E(e,t));Xo.displayName="MarkdownParagraph";var Jo={ol:gt,li:To,ul:Po,hr:Mo,strong:Io,a:No,h1:Lo,h2:Ro,h3:So,h4:Eo,h5:Ho,h6:Do,table:Bo,thead:Ao,tbody:Oo,tr:Vo,th:jo,td:Fo,blockquote:zo,code:Wo,img:Zo,pre:({children:e})=>isValidElement(e)?cloneElement(e,{"data-block":"true"}):e,sup:_o,sub:qo,p:Xo,section:$o};var os=/[\u0590-\u08FF\uFB1D-\uFDFF\uFE70-\uFEFF]/,ns=/\p{L}/u;function qe(e){let t=e.replace(/^#{1,6}\s+/gm,"").replace(/(\*{1,3}|_{1,3})/g,"").replace(/`[^`]*`/g,"").replace(/\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/^[\s>*\-+\d.]+/gm,"");for(let o of t){if(os.test(o))return "rtl";if(ns.test(o))return "ltr"}return "ltr"}var rs=/^[ \t]{0,3}(`{3,}|~{3,})/,ss=/^\|?[ \t]*:?-{1,}:?[ \t]*(\|[ \t]*:?-{1,}:?[ \t]*)*\|?$/,bt=e=>{let t=e.split(`
99961
+ `)};var Te=({children:e,className:t,onCopy:o,onError:n,timeout:r=2e3})=>{let s=y(),[a,l]=useState(false),[i,c]=useState(false),d=useRef(null),u=useRef(0),{isAnimating:m}=useContext(R),p=B(),g=async f=>{var T,x;if(typeof window=="undefined"||!((T=navigator==null?void 0:navigator.clipboard)!=null&&T.write)){n==null||n(new Error("Clipboard API not available"));return}try{let w=(x=d.current)==null?void 0:x.closest('[data-streamdown="table-wrapper"]'),k=w==null?void 0:w.querySelector("table");if(!k){n==null||n(new Error("Table not found"));return}let I=ue(k),F=({csv:oe,tsv:ct,md:ne}[f]||ne)(I),z=new ClipboardItem({"text/plain":new Blob([F],{type:"text/plain"}),"text/html":new Blob([k.outerHTML],{type:"text/html"})});await navigator.clipboard.write([z]),c(!0),l(!1),o==null||o(f),u.current=window.setTimeout(()=>c(!1),r);}catch(w){n==null||n(w);}};useEffect(()=>{let f=T=>{let x=T.composedPath();d.current&&!x.includes(d.current)&&l(false);};return document.addEventListener("mousedown",f),()=>{document.removeEventListener("mousedown",f),window.clearTimeout(u.current);}},[]);let h=L(),b=i?h.CheckIcon:h.CopyIcon;return jsxs$1("div",{className:s("relative"),ref:d,children:[jsx$2("button",{className:s("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",t),disabled:m,onClick:()=>l(!a),title:p.copyTable,type:"button",children:e!=null?e:jsx$2(b,{height:14,width:14})}),a?jsxs$1("div",{className:s("absolute top-full right-0 z-10 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg"),children:[jsx$2("button",{className:s("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>g("md"),title:p.copyTableAsMarkdown,type:"button",children:p.tableFormatMarkdown}),jsx$2("button",{className:s("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>g("csv"),title:p.copyTableAsCsv,type:"button",children:p.tableFormatCsv}),jsx$2("button",{className:s("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>g("tsv"),title:p.copyTableAsTsv,type:"button",children:p.tableFormatTsv})]}):null]})};var Pe=({children:e,className:t,onDownload:o,onError:n})=>{let r=y(),[s,a]=useState(false),l=useRef(null),{isAnimating:i}=useContext(R),c=B(),d=L(),u=m=>{var p;try{let g=(p=l.current)==null?void 0:p.closest('[data-streamdown="table-wrapper"]'),h=g==null?void 0:g.querySelector("table");if(!h){n==null||n(new Error("Table not found"));return}let b=ue(h),f=m==="csv"?oe(b):ne(b);J(`table.${m==="csv"?"csv":"md"}`,f,m==="csv"?"text/csv":"text/markdown"),a(!1),o==null||o(m);}catch(g){n==null||n(g);}};return useEffect(()=>{let m=p=>{let g=p.composedPath();l.current&&!g.includes(l.current)&&a(false);};return document.addEventListener("mousedown",m),()=>{document.removeEventListener("mousedown",m);}},[]),jsxs$1("div",{className:r("relative"),ref:l,children:[jsx$2("button",{className:r("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",t),disabled:i,onClick:()=>a(!s),title:c.downloadTable,type:"button",children:e!=null?e:jsx$2(d.DownloadIcon,{size:14})}),s?jsxs$1("div",{className:r("absolute top-full right-0 z-10 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg"),children:[jsx$2("button",{className:r("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>u("csv"),title:c.downloadTableAsCsv,type:"button",children:c.tableFormatCsv}),jsx$2("button",{className:r("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>u("markdown"),title:c.downloadTableAsMarkdown,type:"button",children:c.tableFormatMarkdown})]}):null]})};var wo=({children:e,className:t,showCopy:o=true,showDownload:n=true})=>{let{Maximize2Icon:r,XIcon:s}=L(),a=y(),[l,i]=useState(false),{isAnimating:c}=useContext(R),d=B(),u=()=>{i(true);},m=()=>{i(false);};return useEffect(()=>{if(l){le();let p=g=>{g.key==="Escape"&&i(false);};return document.addEventListener("keydown",p),()=>{document.removeEventListener("keydown",p),ce();}}},[l]),jsxs$1(Fragment$1,{children:[jsx$2("button",{className:a("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",t),disabled:c,onClick:u,title:d.viewFullscreen,type:"button",children:jsx$2(r,{size:14})}),l?createPortal(jsx$2("div",{"aria-label":d.viewFullscreen,"aria-modal":"true",className:a("fixed inset-0 z-50 flex flex-col bg-background"),"data-streamdown":"table-fullscreen",onClick:m,onKeyDown:p=>{p.key==="Escape"&&m();},role:"dialog",children:jsxs$1("div",{className:a("flex h-full flex-col"),onClick:p=>p.stopPropagation(),onKeyDown:p=>p.stopPropagation(),role:"presentation",children:[jsxs$1("div",{className:a("flex items-center justify-end gap-1 p-4"),children:[o?jsx$2(Te,{}):null,n?jsx$2(Pe,{}):null,jsx$2("button",{className:a("rounded-md p-1 text-muted-foreground transition-all hover:bg-muted hover:text-foreground"),onClick:m,title:d.exitFullscreen,type:"button",children:jsx$2(s,{size:20})})]}),jsx$2("div",{className:a("flex-1 overflow-auto p-4 pt-0 [&_thead]:sticky [&_thead]:top-0 [&_thead]:z-10"),children:jsx$2("table",{className:a("w-full border-collapse border border-border"),"data-streamdown":"table",children:e})})]})}),document.body):null]})};var ko=({children:e,className:t,showControls:o,showCopy:n=true,showDownload:r=true,showFullscreen:s=true,...a})=>{let l=y(),i=o&&n,c=o&&r,d=o&&s,u=i||c||d;return jsxs$1("div",{className:l("my-4 flex flex-col gap-2 rounded-lg border border-border bg-sidebar p-2"),"data-streamdown":"table-wrapper",children:[u?jsxs$1("div",{className:l("flex items-center justify-end gap-1"),children:[i?jsx$2(Te,{}):null,c?jsx$2(Pe,{}):null,d?jsx$2(wo,{showCopy:i,showDownload:c,children:e}):null]}):null,jsx$2("div",{className:l("border-collapse overflow-x-auto overflow-y-auto rounded-md border border-border bg-background"),children:jsx$2("table",{className:l("w-full divide-y divide-border",t),"data-streamdown":"table",...a,children:e})})]})};var Gr=/startLine=(\d+)/,Yr=lazy$1(()=>import('./fthry_mermaid-O7DHMXV3.C5f8Q-rK.js').then(e=>({default:e.Mermaid}))),Qr=/language-([^\s]+)/;function _e(e,t){if(!(e!=null&&e.position||t!=null&&t.position))return true;if(!(e!=null&&e.position&&(t!=null&&t.position)))return false;let o=e.position.start,n=t.position.start,r=e.position.end,s=t.position.end;return (o==null?void 0:o.line)===(n==null?void 0:n.line)&&(o==null?void 0:o.column)===(n==null?void 0:n.column)&&(r==null?void 0:r.line)===(s==null?void 0:s.line)&&(r==null?void 0:r.column)===(s==null?void 0:s.column)}function E(e,t){return e.className===t.className&&_e(e.node,t.node)}var pt=(e,t)=>typeof e=="boolean"?e:e[t]!==false,ut=(e,t)=>{if(typeof e=="boolean")return e;let o=e.table;return o===false?false:o===true||o===void 0?true:o[t]!==false},xo=(e,t)=>{if(typeof e=="boolean")return e;let o=e.code;return o===false?false:o===true||o===void 0?true:o[t]!==false},je=(e,t)=>{if(typeof e=="boolean")return e;let o=e.mermaid;return o===false?false:o===true||o===void 0?true:o[t]!==false},gt=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("ol",{className:r("list-inside list-decimal whitespace-normal [li_&]:pl-6",t),"data-streamdown":"ordered-list",...n,children:e})},(e,t)=>E(e,t));gt.displayName="MarkdownOl";var To=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("li",{className:r("py-1 [&>p]:inline",t),"data-streamdown":"list-item",...n,children:e})},(e,t)=>e.className===t.className&&_e(e.node,t.node));To.displayName="MarkdownLi";var Po=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("ul",{className:r("list-inside list-disc whitespace-normal [li_&]:pl-6",t),"data-streamdown":"unordered-list",...n,children:e})},(e,t)=>E(e,t));Po.displayName="MarkdownUl";var Mo=memo(({className:e,node:t,...o})=>{let n=y();return jsx$2("hr",{className:n("my-6 border-border",e),"data-streamdown":"horizontal-rule",...o})},(e,t)=>E(e,t));Mo.displayName="MarkdownHr";var Io=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("span",{className:r("font-semibold",t),"data-streamdown":"strong",...n,children:e})},(e,t)=>E(e,t));Io.displayName="MarkdownStrong";var es=({children:e,className:t,href:o,node:n,...r})=>{let s=y(),{linkSafety:a}=useContext(R),[l,i]=useState(false),c=o==="streamdown:incomplete-link",d=useCallback(async g=>{if(!(!(a!=null&&a.enabled&&o)||c)){if(g.preventDefault(),a.onLinkCheck&&await a.onLinkCheck(o)){window.open(o,"_blank","noreferrer");return}i(true);}},[a,o,c]),u=useCallback(()=>{o&&window.open(o,"_blank","noreferrer");},[o]),m=useCallback(()=>{i(false);},[]),p={url:o!=null?o:"",isOpen:l,onClose:m,onConfirm:u};return a!=null&&a.enabled&&o?jsxs$1(Fragment$1,{children:[jsx$2("button",{className:s("wrap-anywhere appearance-none text-left font-medium text-primary underline",t),"data-incomplete":c,"data-streamdown":"link",onClick:d,type:"button",children:e}),a.renderModal?a.renderModal(p):jsx$2(ro,{...p})]}):jsx$2("a",{className:s("wrap-anywhere font-medium text-primary underline",t),"data-incomplete":c,"data-streamdown":"link",href:o,rel:"noreferrer",target:"_blank",...r,children:e})},No=memo(es,(e,t)=>E(e,t)&&e.href===t.href);No.displayName="MarkdownA";var Lo=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("h1",{className:r("mt-6 mb-2 font-semibold text-3xl",t),"data-streamdown":"heading-1",...n,children:e})},(e,t)=>E(e,t));Lo.displayName="MarkdownH1";var Ro=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("h2",{className:r("mt-6 mb-2 font-semibold text-2xl",t),"data-streamdown":"heading-2",...n,children:e})},(e,t)=>E(e,t));Ro.displayName="MarkdownH2";var So=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("h3",{className:r("mt-6 mb-2 font-semibold text-xl",t),"data-streamdown":"heading-3",...n,children:e})},(e,t)=>E(e,t));So.displayName="MarkdownH3";var Eo=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("h4",{className:r("mt-6 mb-2 font-semibold text-lg",t),"data-streamdown":"heading-4",...n,children:e})},(e,t)=>E(e,t));Eo.displayName="MarkdownH4";var Ho=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("h5",{className:r("mt-6 mb-2 font-semibold text-base",t),"data-streamdown":"heading-5",...n,children:e})},(e,t)=>E(e,t));Ho.displayName="MarkdownH5";var Do=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("h6",{className:r("mt-6 mb-2 font-semibold text-sm",t),"data-streamdown":"heading-6",...n,children:e})},(e,t)=>E(e,t));Do.displayName="MarkdownH6";var Bo=memo(({children:e,className:t,node:o,...n})=>{let{controls:r}=useContext(R),s=pt(r,"table"),a=ut(r,"copy"),l=ut(r,"download"),i=ut(r,"fullscreen");return jsx$2(ko,{className:t,showControls:s,showCopy:a,showDownload:l,showFullscreen:i,...n,children:e})},(e,t)=>E(e,t));Bo.displayName="MarkdownTable";var Ao=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("thead",{className:r("bg-muted/80",t),"data-streamdown":"table-header",...n,children:e})},(e,t)=>E(e,t));Ao.displayName="MarkdownThead";var Oo=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("tbody",{className:r("divide-y divide-border",t),"data-streamdown":"table-body",...n,children:e})},(e,t)=>E(e,t));Oo.displayName="MarkdownTbody";var Vo=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("tr",{className:r("border-border",t),"data-streamdown":"table-row",...n,children:e})},(e,t)=>E(e,t));Vo.displayName="MarkdownTr";var jo=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("th",{className:r("whitespace-nowrap px-4 py-2 text-left font-semibold text-sm",t),"data-streamdown":"table-header-cell",...n,children:e})},(e,t)=>E(e,t));jo.displayName="MarkdownTh";var Fo=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("td",{className:r("px-4 py-2 text-sm",t),"data-streamdown":"table-cell",...n,children:e})},(e,t)=>E(e,t));Fo.displayName="MarkdownTd";var zo=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("blockquote",{className:r("my-4 border-muted-foreground/30 border-l-4 pl-4 text-muted-foreground italic",t),"data-streamdown":"blockquote",...n,children:e})},(e,t)=>E(e,t));zo.displayName="MarkdownBlockquote";var _o=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("sup",{className:r("text-sm",t),"data-streamdown":"superscript",...n,children:e})},(e,t)=>E(e,t));_o.displayName="MarkdownSup";var qo=memo(({children:e,className:t,node:o,...n})=>{let r=y();return jsx$2("sub",{className:r("text-sm",t),"data-streamdown":"subscript",...n,children:e})},(e,t)=>E(e,t));qo.displayName="MarkdownSub";var $o=memo(({children:e,className:t,node:o,...n})=>{if("data-footnotes"in n){let s=i=>{var m,p;if(!isValidElement(i))return false;let c=Array.isArray(i.props.children)?i.props.children:[i.props.children],d=false,u=false;for(let g of c)if(g){if(typeof g=="string")g.trim()!==""&&(d=true);else if(isValidElement(g))if(((m=g.props)==null?void 0:m["data-footnote-backref"])!==void 0)u=true;else {let h=Array.isArray(g.props.children)?g.props.children:[g.props.children];for(let b of h){if(typeof b=="string"&&b.trim()!==""){d=true;break}if(isValidElement(b)&&((p=b.props)==null?void 0:p["data-footnote-backref"])===void 0){d=true;break}}}}return u&&!d},a=Array.isArray(e)?e.map(i=>{if(!isValidElement(i))return i;if(i.type===gt){let d=(Array.isArray(i.props.children)?i.props.children:[i.props.children]).filter(u=>!s(u));return d.length===0?null:{...i,props:{...i.props,children:d}}}return i}):e;return (Array.isArray(a)?a.some(i=>i!==null):a!==null)?jsx$2("section",{className:t,...n,children:a}):null}return jsx$2("section",{className:t,...n,children:e})},(e,t)=>E(e,t));$o.displayName="MarkdownSection";var ts=({node:e,className:t,children:o,...n})=>{var k,I;let r=y(),s=!("data-block"in n),{mermaid:a,controls:l}=useContext(R),i=de(),c=et(),d=t==null?void 0:t.match(Qr),u=(k=d==null?void 0:d.at(1))!=null?k:"",m=so(u);if(s)return jsx$2("code",{className:r("rounded bg-muted px-1.5 py-0.5 font-mono text-sm",t),"data-streamdown":"inline-code",...n,children:o});let p=(I=e==null?void 0:e.properties)==null?void 0:I.metastring,g=p==null?void 0:p.match(Gr),h=g?Number.parseInt(g[1],10):void 0,b=h!==void 0&&h>=1?h:void 0,f="";if(isValidElement(o)&&o.props&&typeof o.props=="object"&&"children"in o.props&&typeof o.props.children=="string"?f=o.props.children:typeof o=="string"&&(f=o),m){let H=m.component;return jsx$2(Suspense,{fallback:jsx$2(Ae,{}),children:jsx$2(H,{code:f,isIncomplete:c,language:u})})}if(u==="mermaid"&&i){let H=pt(l,"mermaid"),S=je(l,"download"),F=je(l,"copy"),z=je(l,"fullscreen"),q=je(l,"panZoom"),A=H&&(S||F||z);return jsx$2(Suspense,{fallback:jsx$2(Ae,{}),children:jsxs$1("div",{className:r("group relative my-4 flex w-full flex-col gap-2 rounded-xl border border-border bg-sidebar p-2",t),"data-streamdown":"mermaid-block",children:[jsx$2("div",{className:r("flex h-8 items-center text-muted-foreground text-xs"),children:jsx$2("span",{className:r("ml-1 font-mono lowercase"),children:"mermaid"})}),A?jsx$2("div",{className:r("pointer-events-none sticky top-2 z-10 -mt-10 flex h-8 items-center justify-end"),children:jsxs$1("div",{className:r("pointer-events-auto flex shrink-0 items-center gap-2 rounded-md border border-sidebar bg-sidebar/80 px-1.5 py-1 supports-[backdrop-filter]:bg-sidebar/70 supports-[backdrop-filter]:backdrop-blur"),"data-streamdown":"mermaid-block-actions",children:[S?jsx$2(lo,{chart:f,config:a==null?void 0:a.config}):null,F?jsx$2(Be,{code:f}):null,z?jsx$2(po,{chart:f,config:a==null?void 0:a.config}):null]})}):null,jsx$2("div",{className:r("rounded-md border border-border bg-background"),children:jsx$2(Yr,{chart:f,config:a==null?void 0:a.config,showControls:q})})]})})}let T=pt(l,"code"),x=xo(l,"download"),w=xo(l,"copy");return jsx$2(rt,{className:t,code:f,isIncomplete:c,language:u,startLine:b,children:T?jsxs$1(Fragment$1,{children:[x?jsx$2(at,{code:f,language:u}):null,w?jsx$2(Be,{}):null]}):null})},Wo=memo(ts,(e,t)=>e.className===t.className&&_e(e.node,t.node));Wo.displayName="MarkdownCode";var Zo=memo(to,(e,t)=>e.className===t.className&&_e(e.node,t.node));Zo.displayName="MarkdownImg";var Xo=memo(({children:e,node:t,...o})=>{let r=(Array.isArray(e)?e:[e]).filter(s=>s!=null&&s!=="");if(r.length===1&&isValidElement(r[0])){let s=r[0].props.node,a=s==null?void 0:s.tagName;if(a==="img")return jsx$2(Fragment$1,{children:e});if(a==="code"&&"data-block"in r[0].props)return jsx$2(Fragment$1,{children:e})}return jsx$2("p",{...o,children:e})},(e,t)=>E(e,t));Xo.displayName="MarkdownParagraph";var Jo={ol:gt,li:To,ul:Po,hr:Mo,strong:Io,a:No,h1:Lo,h2:Ro,h3:So,h4:Eo,h5:Ho,h6:Do,table:Bo,thead:Ao,tbody:Oo,tr:Vo,th:jo,td:Fo,blockquote:zo,code:Wo,img:Zo,pre:({children:e})=>isValidElement(e)?cloneElement(e,{"data-block":"true"}):e,sup:_o,sub:qo,p:Xo,section:$o};var os=/[\u0590-\u08FF\uFB1D-\uFDFF\uFE70-\uFEFF]/,ns=/\p{L}/u;function qe(e){let t=e.replace(/^#{1,6}\s+/gm,"").replace(/(\*{1,3}|_{1,3})/g,"").replace(/`[^`]*`/g,"").replace(/\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/^[\s>*\-+\d.]+/gm,"");for(let o of t){if(os.test(o))return "rtl";if(ns.test(o))return "ltr"}return "ltr"}var rs=/^[ \t]{0,3}(`{3,}|~{3,})/,ss=/^\|?[ \t]*:?-{1,}:?[ \t]*(\|[ \t]*:?-{1,}:?[ \t]*)*\|?$/,bt=e=>{let t=e.split(`
99897
99962
  `),o=null,n=0;for(let r of t){let s=rs.exec(r);if(o===null){if(s){let a=s[1];o=a[0],n=a.length;}}else if(s){let a=s[1],l=a[0],i=a.length;l===o&&i>=n&&(o=null,n=0);}}return o!==null},Ko=e=>{let t=e.split(`
99898
99963
  `);for(let o of t){let n=o.trim();if(n.length>0&&n.includes("|")&&ss.test(n))return true}return false};var Uo=()=>e=>{visit(e,"html",(t,o,n)=>{!n||typeof o!="number"||(n.children[o]={type:"text",value:t.value});});};var Yo=[],Qo={allowDangerousHtml:true},$e=new WeakMap,yt=class{constructor(){this.cache=new Map;this.keyCache=new WeakMap;this.maxSize=100;}generateCacheKey(t){let o=this.keyCache.get(t);if(o)return o;let n=t.rehypePlugins,r=t.remarkPlugins,s=t.remarkRehypeOptions;if(!(n||r||s)){let u="default";return this.keyCache.set(t,u),u}let a=u=>{if(!u||u.length===0)return "";let m="";for(let p=0;p<u.length;p+=1){let g=u[p];if(p>0&&(m+=","),Array.isArray(g)){let[h,b]=g;if(typeof h=="function"){let f=$e.get(h);f||(f=h.name,$e.set(h,f)),m+=f;}else m+=String(h);m+=":",m+=JSON.stringify(b);}else if(typeof g=="function"){let h=$e.get(g);h||(h=g.name,$e.set(g,h)),m+=h;}else m+=String(g);}return m},l=a(n),i=a(r),c=s?JSON.stringify(s):"",d=`${i}::${l}::${c}`;return this.keyCache.set(t,d),d}get(t){let o=this.generateCacheKey(t),n=this.cache.get(o);return n&&(this.cache.delete(o),this.cache.set(o,n)),n}set(t,o){let n=this.generateCacheKey(t);if(this.cache.size>=this.maxSize){let r=this.cache.keys().next().value;r&&this.cache.delete(r);}this.cache.set(n,o);}clear(){this.cache.clear();}},en=new yt,wt=e=>{let t=gs(e),o=e.children||"",n=t.runSync(t.parse(o),o);return ks(n,e)},gs=e=>{let t=en.get(e);if(t)return t;let o=hs(e);return en.set(e,o),o},bs=e=>e.some(t=>Array.isArray(t)?t[0]===rehypeRaw:t===rehypeRaw),hs=e=>{let t=e.rehypePlugins||Yo,o=e.remarkPlugins||Yo,n=bs(t)?o:[...o,Uo],r=e.remarkRehypeOptions?{...Qo,...e.remarkRehypeOptions}:Qo;return unified().use(remarkParse).use(n).use(remarkRehype,r).use(t)},tn=e=>e,ys=(e,t,o,n)=>{o?e.children.splice(t,1):e.children[t]={type:"text",value:n};},ws=(e,t)=>{var o;for(let n in urlAttributes)if(Object.hasOwn(urlAttributes,n)&&Object.hasOwn(e.properties,n)){let r=e.properties[n],s=urlAttributes[n];(s===null||s.includes(e.tagName))&&(e.properties[n]=(o=t(String(r||""),n,e))!=null?o:void 0);}},Cs=(e,t,o,n,r,s)=>{let a=false;return n?a=!n.includes(e.tagName):r&&(a=r.includes(e.tagName)),!a&&s&&typeof t=="number"&&(a=!s(e,t,o)),a},ks=(e,t)=>{let{allowElement:o,allowedElements:n,disallowedElements:r,skipHtml:s,unwrapDisallowed:a,urlTransform:l}=t;if(o||n||r||s||l){let c=l||tn;visit(e,(d,u,m)=>{if(d.type==="raw"&&m&&typeof u=="number")return ys(m,u,s,d.value),u;if(d.type==="element"&&(ws(d,c),Cs(d,u,m,n,r,o)&&m&&typeof u=="number"))return a&&d.children?m.children.splice(u,1,...d.children):m.children.splice(u,1),u});}return toJsxRuntime(e,{Fragment:Fragment$1,components:t.components,ignoreInvalidStyle:true,jsx:jsx$2,jsxs:jsxs$1,passKeys:true,passNode:true})};var xs=/\[\^[\w-]{1,200}\](?!:)/,Ts=/\[\^[\w-]{1,200}\]:/;var Ps=/<(\w+)[\s>]/,Ms=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),on=new Map,nn=new Map,Is=e=>{let t=e.toLowerCase(),o=on.get(t);if(o)return o;let n=new RegExp(`<${t}(?=[\\s>/])[^>]*>`,"gi");return on.set(t,n),n},Ns=e=>{let t=e.toLowerCase(),o=nn.get(t);if(o)return o;let n=new RegExp(`</${t}(?=[\\s>])[^>]*>`,"gi");return nn.set(t,n),n},rn=(e,t)=>{if(Ms.has(t.toLowerCase()))return 0;let o=e.match(Is(t));if(!o)return 0;let n=0;for(let r of o)r.trimEnd().endsWith("/>")||(n+=1);return n},sn=(e,t)=>{let o=e.match(Ns(t));return o?o.length:0},Ls=e=>{let t=0;for(let o=0;o<e.length-1;o+=1)e[o]==="$"&&e[o+1]==="$"&&(t+=1,o+=1);return t},Ct=e=>{let t=xs.test(e),o=Ts.test(e);if(t||o)return [e];let n=x.lex(e,{gfm:true}),r=[],s=[],a=false;for(let l of n){let i=l.raw,c=r.length;if(s.length>0){r[c-1]+=i;let d=s.at(-1),u=rn(i,d),m=sn(i,d);for(let p=0;p<u;p+=1)s.push(d);for(let p=0;p<m;p+=1)s.length>0&&s.at(-1)===d&&s.pop();continue}if(l.type==="html"&&l.block){let d=i.match(Ps);if(d){let u=d[1],m=rn(i,u),p=sn(i,u);m>p&&s.push(u);}}if(c>0&&!a){let d=r[c-1];if(Ls(d)%2===1){r[c-1]=d+i;continue}}r.push(i),l.type!=="space"&&(a=l.type==="code");}return r};var an=(e,t)=>{if(!t.length)return e;let o=e;for(let n of t){let r=new RegExp(`(<${n}(?=[\\s>/])[^>]*>)([\\s\\S]*?)(</${n}\\s*>)`,"gi");o=o.replace(r,(s,a,l,i)=>{let c=l.replace(/\n\n/g,`
99899
99964
  <!---->