@rpg-engine/long-bow 0.8.135 → 0.8.136

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.
@@ -5,7 +5,7 @@ import { v4 } from 'uuid';
5
5
  import { GRID_WIDTH, GRID_HEIGHT, ShortcutType, getItemTextureKeyPath, ItemContainerType, ItemType, DepotSocketEvents, ItemSocketEvents, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemQualityLevel, ItemRarities, ItemSubType, isMobile, TaskType, TaskStatus, isMobileOrTablet, RewardType, ItemSlotType, NPCSubtype, EntityAttackType, NPCAlignment, VideoGuideCategory, VideoGuideLanguage, CharacterClass, QuestStatus, getLevelFromXP, getSkillConstants, getLevelFromSPTiered, getXPForLevel, getSPForLevelTiered, MetadataType, PurchaseType, UserAccountTypes, PaymentCurrency, PeriodOfDay } from '@rpg-engine/shared';
6
6
  import dayjs from 'dayjs';
7
7
  import { ErrorBoundary as ErrorBoundary$1 } from 'react-error-boundary';
8
- import { FaTimes, FaDiscord, FaWhatsapp, FaSearch, FaThumbtack, FaBoxOpen, FaChevronLeft, FaChevronRight, FaClipboardList, FaChevronUp, FaChevronDown, FaReddit, FaTrash, FaShoppingBag, FaInfoCircle, FaCartPlus, FaArrowLeft, FaHistory, FaWallet, FaShoppingCart } from 'react-icons/fa';
8
+ import { FaTimes, FaDiscord, FaWhatsapp, FaSearch, FaThumbtack, FaBoxOpen, FaChevronLeft, FaChevronRight, FaClipboardList, FaPaperPlane, FaChevronUp, FaChevronDown, FaReddit, FaTrash, FaShoppingBag, FaInfoCircle, FaCartPlus, FaArrowLeft, FaHistory, FaWallet, FaShoppingCart } from 'react-icons/fa';
9
9
  import { RxMagnifyingGlass, RxCross2 } from 'react-icons/rx';
10
10
  import { IoMdContract, IoMdExpand } from 'react-icons/io';
11
11
  import Draggable from 'react-draggable';
@@ -30185,6 +30185,661 @@ var TaskTitle$1 = /*#__PURE__*/styled.h2.withConfig({
30185
30185
  return props.isMobile ? '4px 0' : '8px 0';
30186
30186
  });
30187
30187
 
30188
+ var UI_BREAKPOINT_MOBILE = '950px';
30189
+ var UI_BREAKPOINT_SMALL_LAPTOP = '1400px';
30190
+
30191
+ var InternalTabs = function InternalTabs(_ref) {
30192
+ var _tabs$, _tabs$find;
30193
+ var tabs = _ref.tabs,
30194
+ _ref$activeColor = _ref.activeColor,
30195
+ activeColor = _ref$activeColor === void 0 ? '#fef08a' : _ref$activeColor,
30196
+ _ref$activeTextColor = _ref.activeTextColor,
30197
+ activeTextColor = _ref$activeTextColor === void 0 ? '#000000' : _ref$activeTextColor,
30198
+ _ref$inactiveColor = _ref.inactiveColor,
30199
+ inactiveColor = _ref$inactiveColor === void 0 ? '#6b7280' : _ref$inactiveColor,
30200
+ _ref$borderColor = _ref.borderColor,
30201
+ borderColor = _ref$borderColor === void 0 ? '#f59e0b' : _ref$borderColor,
30202
+ _ref$hoverColor = _ref.hoverColor,
30203
+ hoverColor = _ref$hoverColor === void 0 ? '#fef3c7' : _ref$hoverColor,
30204
+ onTabChange = _ref.onTabChange,
30205
+ externalActiveTab = _ref.activeTab;
30206
+ var _useState = useState((_tabs$ = tabs[0]) == null ? void 0 : _tabs$.id),
30207
+ internalActiveTab = _useState[0],
30208
+ setInternalActiveTab = _useState[1];
30209
+ var activeTabId = externalActiveTab != null ? externalActiveTab : internalActiveTab;
30210
+ var handleTabClick = function handleTabClick(tabId) {
30211
+ setInternalActiveTab(tabId);
30212
+ onTabChange == null ? void 0 : onTabChange(tabId);
30213
+ };
30214
+ return React.createElement(TableWrapper, null, React.createElement(TabHeader, {
30215
+ borderColor: borderColor
30216
+ }, tabs.map(function (tab) {
30217
+ return React.createElement(TabButton, {
30218
+ key: tab.id,
30219
+ active: activeTabId === tab.id,
30220
+ activeColor: activeColor,
30221
+ activeTextColor: activeTextColor,
30222
+ inactiveColor: inactiveColor,
30223
+ borderColor: borderColor,
30224
+ hoverColor: hoverColor,
30225
+ onClick: function onClick() {
30226
+ return handleTabClick(tab.id);
30227
+ }
30228
+ }, tab.title);
30229
+ })), React.createElement(ContentWrapper, null, (_tabs$find = tabs.find(function (tab) {
30230
+ return tab.id === activeTabId;
30231
+ })) == null ? void 0 : _tabs$find.content));
30232
+ };
30233
+ var TableWrapper = /*#__PURE__*/styled.div.withConfig({
30234
+ displayName: "InternalTabs__TableWrapper",
30235
+ componentId: "sc-ldufv0-0"
30236
+ })(["width:100%;"]);
30237
+ var TabHeader = /*#__PURE__*/styled.div.withConfig({
30238
+ displayName: "InternalTabs__TabHeader",
30239
+ componentId: "sc-ldufv0-1"
30240
+ })(["display:flex;border-bottom:1px solid ", ";"], function (props) {
30241
+ return props.borderColor;
30242
+ });
30243
+ var TabButton = /*#__PURE__*/styled.button.withConfig({
30244
+ displayName: "InternalTabs__TabButton",
30245
+ componentId: "sc-ldufv0-2"
30246
+ })(["flex:1;padding:0.25rem 0.5rem;font-size:0.75rem;font-weight:500;border-right:1px solid ", ";background-color:", ";color:", ";white-space:nowrap;overflow:hidden;text-overflow:ellipsis;@media (min-width:480px){padding:0.375rem 0.75rem;font-size:0.8125rem;}@media (min-width:", "){padding:0.5rem 1rem;font-size:0.875rem;}&:last-child{border-right:none;}&:hover{background-color:", ";}"], function (props) {
30247
+ return props.borderColor;
30248
+ }, function (props) {
30249
+ return props.active ? props.activeColor : 'transparent';
30250
+ }, function (props) {
30251
+ return props.active ? props.activeTextColor : props.inactiveColor;
30252
+ }, UI_BREAKPOINT_MOBILE, function (props) {
30253
+ return props.active ? props.activeColor : props.hoverColor;
30254
+ });
30255
+ var ContentWrapper = /*#__PURE__*/styled.div.withConfig({
30256
+ displayName: "InternalTabs__ContentWrapper",
30257
+ componentId: "sc-ldufv0-3"
30258
+ })(["width:100%;"]);
30259
+
30260
+ var Pagination = function Pagination(_ref) {
30261
+ var currentPage = _ref.currentPage,
30262
+ totalPages = _ref.totalPages,
30263
+ onPageChange = _ref.onPageChange,
30264
+ className = _ref.className;
30265
+ return React.createElement(Container$j, {
30266
+ className: className
30267
+ }, React.createElement(PaginationButton$1, {
30268
+ onClick: function onClick() {
30269
+ return onPageChange(Math.max(1, currentPage - 1));
30270
+ },
30271
+ disabled: currentPage === 1
30272
+ }, React.createElement(FaChevronLeft, {
30273
+ size: 12
30274
+ })), React.createElement(PageInfo$1, null, "Page ", currentPage, " of ", totalPages), React.createElement(PaginationButton$1, {
30275
+ onClick: function onClick() {
30276
+ return onPageChange(Math.min(totalPages, currentPage + 1));
30277
+ },
30278
+ disabled: currentPage === totalPages
30279
+ }, React.createElement(FaChevronRight, {
30280
+ size: 12
30281
+ })));
30282
+ };
30283
+ var Container$j = /*#__PURE__*/styled.div.withConfig({
30284
+ displayName: "Pagination__Container",
30285
+ componentId: "sc-3k4m4u-0"
30286
+ })(["display:flex;align-items:center;justify-content:center;gap:16px;padding:8px;"]);
30287
+ var PaginationButton$1 = /*#__PURE__*/styled.button.withConfig({
30288
+ displayName: "Pagination__PaginationButton",
30289
+ componentId: "sc-3k4m4u-1"
30290
+ })(["background:none;border:none;color:", ";cursor:", ";opacity:", ";padding:4px;display:flex;align-items:center;justify-content:center;transition:opacity 0.2s;&:hover:not(:disabled){opacity:1;}"], function (props) {
30291
+ return props.disabled ? uiColors.darkGray : uiColors.yellow;
30292
+ }, function (props) {
30293
+ return props.disabled ? 'not-allowed' : 'pointer';
30294
+ }, function (props) {
30295
+ return props.disabled ? 0.5 : 0.8;
30296
+ });
30297
+ var PageInfo$1 = /*#__PURE__*/styled.div.withConfig({
30298
+ displayName: "Pagination__PageInfo",
30299
+ componentId: "sc-3k4m4u-2"
30300
+ })(["color:", ";font-size:0.8rem;font-family:'Press Start 2P',cursive;"], uiColors.lightGray);
30301
+
30302
+ var TRANSACTION_TYPE_LABELS = {
30303
+ Purchase: 'Purchase',
30304
+ Transfer: 'Transfer',
30305
+ MarketplaceSale: 'Marketplace Sale',
30306
+ MarketplacePurchase: 'Marketplace Buy',
30307
+ StorePurchase: 'Store Purchase',
30308
+ Fee: 'Fee',
30309
+ Refund: 'Refund',
30310
+ AdminAdjustment: 'Admin Adjustment'
30311
+ };
30312
+ var TRANSACTION_TYPE_OPTIONS = [{
30313
+ id: 0,
30314
+ value: '',
30315
+ option: 'All Types'
30316
+ }, {
30317
+ id: 1,
30318
+ value: 'Purchase',
30319
+ option: 'Purchase'
30320
+ }, {
30321
+ id: 2,
30322
+ value: 'Transfer',
30323
+ option: 'Transfer'
30324
+ }, {
30325
+ id: 3,
30326
+ value: 'MarketplaceSale',
30327
+ option: 'Marketplace Sale'
30328
+ }, {
30329
+ id: 4,
30330
+ value: 'MarketplacePurchase',
30331
+ option: 'Marketplace Buy'
30332
+ }, {
30333
+ id: 5,
30334
+ value: 'StorePurchase',
30335
+ option: 'Store Purchase'
30336
+ }, {
30337
+ id: 6,
30338
+ value: 'Fee',
30339
+ option: 'Fee'
30340
+ }, {
30341
+ id: 7,
30342
+ value: 'Refund',
30343
+ option: 'Refund'
30344
+ }, {
30345
+ id: 8,
30346
+ value: 'AdminAdjustment',
30347
+ option: 'Admin Adjustment'
30348
+ }];
30349
+ var DCHistoryPanel = function DCHistoryPanel(_ref) {
30350
+ var transactions = _ref.transactions,
30351
+ totalPages = _ref.totalPages,
30352
+ currentPage = _ref.currentPage,
30353
+ loading = _ref.loading,
30354
+ onRequestHistory = _ref.onRequestHistory;
30355
+ var _React$useState = React.useState(''),
30356
+ selectedType = _React$useState[0],
30357
+ setSelectedType = _React$useState[1];
30358
+ var handleTypeChange = function handleTypeChange(value) {
30359
+ setSelectedType(value);
30360
+ onRequestHistory(1, value || undefined);
30361
+ };
30362
+ var handlePageChange = function handlePageChange(page) {
30363
+ onRequestHistory(page, selectedType || undefined);
30364
+ };
30365
+ var formatDate = function formatDate(dateStr) {
30366
+ var d = new Date(dateStr);
30367
+ var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
30368
+ return months[d.getMonth()] + " " + d.getDate() + ", " + d.getFullYear();
30369
+ };
30370
+ return React.createElement(PanelContainer, null, React.createElement(FilterRow, null, React.createElement(FilterLabel, null, "Filter:"), React.createElement(Dropdown, {
30371
+ options: TRANSACTION_TYPE_OPTIONS,
30372
+ onChange: handleTypeChange,
30373
+ width: "200px"
30374
+ })), loading && React.createElement(LoadingRow, null, React.createElement(Spinner, null), React.createElement("span", null, "Loading...")), !loading && transactions.length === 0 && React.createElement(EmptyMessage, null, "No transactions found."), !loading && transactions.length > 0 && React.createElement(TransactionList, null, transactions.map(function (tx) {
30375
+ var _TRANSACTION_TYPE_LAB, _tx$note;
30376
+ var isCredit = tx.amount > 0;
30377
+ var label = (_TRANSACTION_TYPE_LAB = TRANSACTION_TYPE_LABELS[tx.type]) != null ? _TRANSACTION_TYPE_LAB : tx.type;
30378
+ return React.createElement(TransactionRow, {
30379
+ key: tx._id
30380
+ }, React.createElement(TxType, null, label), React.createElement(TxAmount, {
30381
+ "$credit": isCredit
30382
+ }, isCredit ? '+' : '', tx.amount, " DC"), React.createElement(TxNote, null, (_tx$note = tx.note) != null ? _tx$note : tx.relatedCharacterName ? "With: " + tx.relatedCharacterName : ''), React.createElement(TxDate, null, formatDate(tx.createdAt)), React.createElement(TxBalance, null, "Balance: ", tx.balanceAfter, " DC"));
30383
+ })), totalPages > 1 && React.createElement(Pagination, {
30384
+ currentPage: currentPage,
30385
+ totalPages: totalPages,
30386
+ onPageChange: handlePageChange
30387
+ }));
30388
+ };
30389
+ var PanelContainer = /*#__PURE__*/styled.div.withConfig({
30390
+ displayName: "DCHistoryPanel__PanelContainer",
30391
+ componentId: "sc-debjdj-0"
30392
+ })(["display:flex;flex-direction:column;gap:6px;padding:4px 0;"]);
30393
+ var FilterRow = /*#__PURE__*/styled.div.withConfig({
30394
+ displayName: "DCHistoryPanel__FilterRow",
30395
+ componentId: "sc-debjdj-1"
30396
+ })(["display:flex;align-items:center;gap:8px;margin-bottom:4px;"]);
30397
+ var FilterLabel = /*#__PURE__*/styled.span.withConfig({
30398
+ displayName: "DCHistoryPanel__FilterLabel",
30399
+ componentId: "sc-debjdj-2"
30400
+ })(["font-size:8px;color:#f59e0b;font-family:'Press Start 2P',cursive;white-space:nowrap;"]);
30401
+ var TransactionList = /*#__PURE__*/styled.div.withConfig({
30402
+ displayName: "DCHistoryPanel__TransactionList",
30403
+ componentId: "sc-debjdj-3"
30404
+ })(["display:flex;flex-direction:column;gap:4px;max-height:280px;overflow-y:auto;"]);
30405
+ var TransactionRow = /*#__PURE__*/styled.div.withConfig({
30406
+ displayName: "DCHistoryPanel__TransactionRow",
30407
+ componentId: "sc-debjdj-4"
30408
+ })(["background:rgba(0,0,0,0.4);border:1px solid rgba(255,215,0,0.2);padding:8px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;gap:2px;"]);
30409
+ var TxType = /*#__PURE__*/styled.span.withConfig({
30410
+ displayName: "DCHistoryPanel__TxType",
30411
+ componentId: "sc-debjdj-5"
30412
+ })(["font-size:8px;color:#f59e0b;font-family:'Press Start 2P',cursive;grid-column:1;grid-row:1;"]);
30413
+ var TxAmount = /*#__PURE__*/styled.span.withConfig({
30414
+ displayName: "DCHistoryPanel__TxAmount",
30415
+ componentId: "sc-debjdj-6"
30416
+ })(["font-size:10px;font-family:'Press Start 2P',cursive;color:", ";font-weight:bold;grid-column:2;grid-row:1;text-align:right;"], function (_ref2) {
30417
+ var $credit = _ref2.$credit;
30418
+ return $credit ? uiColors.green : uiColors.red;
30419
+ });
30420
+ var TxNote = /*#__PURE__*/styled.span.withConfig({
30421
+ displayName: "DCHistoryPanel__TxNote",
30422
+ componentId: "sc-debjdj-7"
30423
+ })(["font-size:7px;color:", ";font-family:'Press Start 2P',cursive;grid-column:1;grid-row:2;"], uiColors.lightGray);
30424
+ var TxDate = /*#__PURE__*/styled.span.withConfig({
30425
+ displayName: "DCHistoryPanel__TxDate",
30426
+ componentId: "sc-debjdj-8"
30427
+ })(["font-size:7px;color:", ";font-family:'Press Start 2P',cursive;grid-column:2;grid-row:2;text-align:right;"], uiColors.lightGray);
30428
+ var TxBalance = /*#__PURE__*/styled.span.withConfig({
30429
+ displayName: "DCHistoryPanel__TxBalance",
30430
+ componentId: "sc-debjdj-9"
30431
+ })(["font-size:7px;color:", ";font-family:'Press Start 2P',cursive;grid-column:1 / 3;grid-row:3;opacity:0.7;"], uiColors.white);
30432
+ var LoadingRow = /*#__PURE__*/styled.div.withConfig({
30433
+ displayName: "DCHistoryPanel__LoadingRow",
30434
+ componentId: "sc-debjdj-10"
30435
+ })(["display:flex;align-items:center;gap:8px;justify-content:center;padding:16px;color:", ";font-size:9px;font-family:'Press Start 2P',cursive;"], uiColors.white);
30436
+ var Spinner = /*#__PURE__*/styled.div.withConfig({
30437
+ displayName: "DCHistoryPanel__Spinner",
30438
+ componentId: "sc-debjdj-11"
30439
+ })(["border:3px solid rgba(255,255,255,0.2);border-radius:50%;border-top:3px solid #f59e0b;width:20px;height:20px;animation:spin 0.8s linear infinite;@keyframes spin{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}"]);
30440
+ var EmptyMessage = /*#__PURE__*/styled.div.withConfig({
30441
+ displayName: "DCHistoryPanel__EmptyMessage",
30442
+ componentId: "sc-debjdj-12"
30443
+ })(["font-size:9px;color:", ";font-family:'Press Start 2P',cursive;text-align:center;padding:20px;"], uiColors.lightGray);
30444
+
30445
+ // Global style to prevent body scrolling when modal is open
30446
+ var GlobalStyle = /*#__PURE__*/createGlobalStyle(["body{overflow:hidden;width:100%;height:100%;}"]);
30447
+ var ConfirmModal = function ConfirmModal(_ref) {
30448
+ var onConfirm = _ref.onConfirm,
30449
+ onClose = _ref.onClose,
30450
+ _ref$message = _ref.message,
30451
+ message = _ref$message === void 0 ? 'Are you sure?' : _ref$message;
30452
+ var handleConfirm = useCallback(function (e) {
30453
+ e.preventDefault();
30454
+ e.stopPropagation();
30455
+ onConfirm();
30456
+ }, [onConfirm]);
30457
+ var handleClose = useCallback(function (e) {
30458
+ e.preventDefault();
30459
+ e.stopPropagation();
30460
+ onClose();
30461
+ }, [onClose]);
30462
+ // Fix type issues by separating event handlers for different event types
30463
+ var stopPropagationClick = useCallback(function (e) {
30464
+ e.stopPropagation();
30465
+ }, []);
30466
+ var stopPropagationTouch = useCallback(function (e) {
30467
+ e.stopPropagation();
30468
+ }, []);
30469
+ var stopPropagationPointer = useCallback(function (e) {
30470
+ e.stopPropagation();
30471
+ }, []);
30472
+ return React.createElement(ModalPortal, null, React.createElement(GlobalStyle, null), React.createElement(Overlay, {
30473
+ onPointerDown: handleClose
30474
+ }), React.createElement(ModalContainer, null, React.createElement(ModalContent, {
30475
+ onClick: stopPropagationClick,
30476
+ onTouchStart: stopPropagationTouch,
30477
+ onTouchEnd: stopPropagationTouch,
30478
+ onTouchMove: stopPropagationTouch,
30479
+ onPointerDown: stopPropagationPointer
30480
+ }, React.createElement(MessageContainer, null, typeof message === 'string' ? React.createElement(Message$1, null, message) : message), React.createElement(ButtonsContainer$2, null, React.createElement(CancelButtonWrapper, null, React.createElement(Button, {
30481
+ buttonType: ButtonTypes.RPGUIButton,
30482
+ onPointerDown: handleClose
30483
+ }, "No")), React.createElement(Button, {
30484
+ buttonType: ButtonTypes.RPGUIButton,
30485
+ onPointerDown: handleConfirm
30486
+ }, "Yes")))));
30487
+ };
30488
+ var Overlay = /*#__PURE__*/styled.div.withConfig({
30489
+ displayName: "ConfirmModal__Overlay",
30490
+ componentId: "sc-11qkyu1-0"
30491
+ })(["position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.6);z-index:1000;animation:fadeIn 0.2s ease-out;cursor:pointer;touch-action:none;@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}"]);
30492
+ var ModalContainer = /*#__PURE__*/styled.div.withConfig({
30493
+ displayName: "ConfirmModal__ModalContainer",
30494
+ componentId: "sc-11qkyu1-1"
30495
+ })(["position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:1001;pointer-events:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);"]);
30496
+ var ModalContent = /*#__PURE__*/styled.div.withConfig({
30497
+ displayName: "ConfirmModal__ModalContent",
30498
+ componentId: "sc-11qkyu1-2"
30499
+ })(["background-color:#2a2a2a;border:2px solid #444;border-radius:8px;padding:20px;min-width:300px;max-width:90%;margin:0 auto;animation:scaleIn 0.2s ease-out;transform-origin:center;box-shadow:0 4px 20px rgba(0,0,0,0.5),0 0 40px rgba(0,0,0,0.3);pointer-events:auto;@keyframes scaleIn{from{transform:scale(0.8);opacity:0;}to{transform:scale(1);opacity:1;}}@media (max-width:768px){padding:25px;width:85%;}"]);
30500
+ var MessageContainer = /*#__PURE__*/styled.div.withConfig({
30501
+ displayName: "ConfirmModal__MessageContainer",
30502
+ componentId: "sc-11qkyu1-3"
30503
+ })(["margin-bottom:20px;text-align:center;"]);
30504
+ var Message$1 = /*#__PURE__*/styled.p.withConfig({
30505
+ displayName: "ConfirmModal__Message",
30506
+ componentId: "sc-11qkyu1-4"
30507
+ })(["margin:0;font-size:16px;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,0.5);@media (max-width:768px){font-size:18px;}"]);
30508
+ var ButtonsContainer$2 = /*#__PURE__*/styled.div.withConfig({
30509
+ displayName: "ConfirmModal__ButtonsContainer",
30510
+ componentId: "sc-11qkyu1-5"
30511
+ })(["display:flex;justify-content:center;gap:20px;@media (max-width:768px){gap:30px;transform:scale(1.1);margin-top:5px;}"]);
30512
+ var CancelButtonWrapper = /*#__PURE__*/styled.div.withConfig({
30513
+ displayName: "ConfirmModal__CancelButtonWrapper",
30514
+ componentId: "sc-11qkyu1-6"
30515
+ })(["filter:grayscale(0.7);"]);
30516
+
30517
+ var CTAButton = function CTAButton(_ref) {
30518
+ var icon = _ref.icon,
30519
+ label = _ref.label,
30520
+ onClick = _ref.onClick,
30521
+ className = _ref.className,
30522
+ _ref$fullWidth = _ref.fullWidth,
30523
+ fullWidth = _ref$fullWidth === void 0 ? false : _ref$fullWidth,
30524
+ _ref$textColor = _ref.textColor,
30525
+ textColor = _ref$textColor === void 0 ? '#ffffff' : _ref$textColor,
30526
+ _ref$iconColor = _ref.iconColor,
30527
+ iconColor = _ref$iconColor === void 0 ? '#f59e0b' : _ref$iconColor,
30528
+ _ref$disabled = _ref.disabled,
30529
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled;
30530
+ return React.createElement(ButtonContainer$1, {
30531
+ className: className,
30532
+ onPointerDown: disabled ? undefined : onClick,
30533
+ "$fullWidth": fullWidth,
30534
+ "$disabled": disabled,
30535
+ "$color": textColor
30536
+ }, React.createElement(ButtonContent, null, React.createElement(IconWrapper$1, {
30537
+ "$color": iconColor,
30538
+ "$disabled": disabled
30539
+ }, icon), label && React.createElement(ButtonLabel, {
30540
+ "$color": textColor,
30541
+ "$disabled": disabled
30542
+ }, label)));
30543
+ };
30544
+ var ButtonContainer$1 = /*#__PURE__*/styled.div.withConfig({
30545
+ displayName: "CTAButton__ButtonContainer",
30546
+ componentId: "sc-1azvwn5-0"
30547
+ })(["display:inline-flex;align-items:center;padding:0.75rem 1.25rem;background:rgba(0,0,0,0.3);border:2px solid #f59e0b;box-shadow:0 0 10px rgba(245,158,11,0.3);border-radius:4px;cursor:", ";transition:all 0.2s;position:relative;opacity:", ";color:", ";", " &:hover{background:", ";box-shadow:", ";transform:", ";}&:active{transform:", ";box-shadow:", ";}&:before{content:'';position:absolute;inset:-1px;border-radius:5px;padding:1px;background:linear-gradient(45deg,#f59e0b,#fbbf24,#f59e0b);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask-composite:destination-out;}"], function (props) {
30548
+ return props.$disabled ? 'not-allowed' : 'pointer';
30549
+ }, function (props) {
30550
+ return props.$disabled ? 0.5 : 1;
30551
+ }, function (props) {
30552
+ return props.$disabled ? '#6b7280' : props.$color;
30553
+ }, function (props) {
30554
+ return props.$fullWidth && css(["display:flex;justify-content:center;"]);
30555
+ }, function (props) {
30556
+ return props.$disabled ? 'rgba(0, 0, 0, 0.3)' : 'rgba(0, 0, 0, 0.4)';
30557
+ }, function (props) {
30558
+ return props.$disabled ? '0 0 10px rgba(245, 158, 11, 0.3)' : '0 0 15px rgba(245, 158, 11, 0.4)';
30559
+ }, function (props) {
30560
+ return props.$disabled ? 'none' : 'translateY(-1px)';
30561
+ }, function (props) {
30562
+ return props.$disabled ? 'none' : 'translateY(1px)';
30563
+ }, function (props) {
30564
+ return props.$disabled ? '0 0 10px rgba(245, 158, 11, 0.3)' : '0 0 5px rgba(245, 158, 11, 0.2)';
30565
+ });
30566
+ var ButtonContent = /*#__PURE__*/styled.div.withConfig({
30567
+ displayName: "CTAButton__ButtonContent",
30568
+ componentId: "sc-1azvwn5-1"
30569
+ })(["display:flex;align-items:center;gap:0.75rem;"]);
30570
+ var IconWrapper$1 = /*#__PURE__*/styled.div.withConfig({
30571
+ displayName: "CTAButton__IconWrapper",
30572
+ componentId: "sc-1azvwn5-2"
30573
+ })(["svg{font-size:1.25rem;color:", ";filter:drop-shadow(0 0 2px rgba(245,158,11,0.5));opacity:", ";}"], function (props) {
30574
+ return props.$color;
30575
+ }, function (props) {
30576
+ return props.$disabled ? 0.5 : 1;
30577
+ });
30578
+ var ButtonLabel = /*#__PURE__*/styled.span.withConfig({
30579
+ displayName: "CTAButton__ButtonLabel",
30580
+ componentId: "sc-1azvwn5-3"
30581
+ })(["color:", ";font-family:'Press Start 2P',cursive;font-size:0.875rem;text-shadow:0 0 4px rgba(245,158,11,0.5);opacity:", ";"], function (props) {
30582
+ return props.$color;
30583
+ }, function (props) {
30584
+ return props.$disabled ? 0.5 : 1;
30585
+ });
30586
+
30587
+ var DCTransferPanel = function DCTransferPanel(_ref) {
30588
+ var dcBalance = _ref.dcBalance,
30589
+ transferLoading = _ref.transferLoading,
30590
+ transferResult = _ref.transferResult,
30591
+ onSendTransfer = _ref.onSendTransfer,
30592
+ onClearTransferResult = _ref.onClearTransferResult,
30593
+ characterName = _ref.characterName,
30594
+ onInputFocus = _ref.onInputFocus,
30595
+ onInputBlur = _ref.onInputBlur;
30596
+ var _useState = useState(''),
30597
+ recipientName = _useState[0],
30598
+ setRecipientName = _useState[1];
30599
+ var _useState2 = useState(''),
30600
+ amount = _useState2[0],
30601
+ setAmount = _useState2[1];
30602
+ var _useState3 = useState(''),
30603
+ validationError = _useState3[0],
30604
+ setValidationError = _useState3[1];
30605
+ var _useState4 = useState(false),
30606
+ showConfirm = _useState4[0],
30607
+ setShowConfirm = _useState4[1];
30608
+ var clearResultTimerRef = useRef(null);
30609
+ useEffect(function () {
30610
+ if (transferResult) {
30611
+ if (clearResultTimerRef.current) {
30612
+ clearTimeout(clearResultTimerRef.current);
30613
+ }
30614
+ clearResultTimerRef.current = setTimeout(function () {
30615
+ onClearTransferResult();
30616
+ }, 5000);
30617
+ }
30618
+ return function () {
30619
+ if (clearResultTimerRef.current) {
30620
+ clearTimeout(clearResultTimerRef.current);
30621
+ }
30622
+ };
30623
+ }, [transferResult]);
30624
+ var validate = function validate() {
30625
+ var parsedAmount = parseInt(amount, 10);
30626
+ var trimmedRecipient = recipientName.trim();
30627
+ if (!trimmedRecipient) {
30628
+ setValidationError('Recipient name is required.');
30629
+ return false;
30630
+ }
30631
+ if (characterName && trimmedRecipient.toLowerCase() === characterName.toLowerCase()) {
30632
+ setValidationError('You cannot transfer DC to yourself.');
30633
+ return false;
30634
+ }
30635
+ if (isNaN(parsedAmount) || parsedAmount <= 0 || !Number.isInteger(parsedAmount)) {
30636
+ setValidationError('Amount must be a positive integer.');
30637
+ return false;
30638
+ }
30639
+ if (parsedAmount > dcBalance) {
30640
+ setValidationError('Insufficient DC balance.');
30641
+ return false;
30642
+ }
30643
+ setValidationError('');
30644
+ return true;
30645
+ };
30646
+ var handleSendClick = useCallback(function () {
30647
+ if (!validate()) return;
30648
+ setShowConfirm(true);
30649
+ }, [recipientName, amount, dcBalance, characterName]);
30650
+ var handleConfirmTransfer = useCallback(function () {
30651
+ setShowConfirm(false);
30652
+ onSendTransfer(recipientName.trim(), parseInt(amount, 10));
30653
+ setRecipientName('');
30654
+ setAmount('');
30655
+ }, [recipientName, amount, onSendTransfer]);
30656
+ return React.createElement(PanelContainer$1, null, React.createElement(FieldLabel, null, "Recipient Character Name"), React.createElement(StyledInput, {
30657
+ type: "text",
30658
+ value: recipientName,
30659
+ onChange: function onChange(e) {
30660
+ return setRecipientName(e.target.value);
30661
+ },
30662
+ onFocus: onInputFocus,
30663
+ onBlur: onInputBlur,
30664
+ placeholder: "Enter character name",
30665
+ disabled: transferLoading
30666
+ }), React.createElement(FieldLabel, null, "Amount (DC)"), React.createElement(StyledInput, {
30667
+ type: "number",
30668
+ min: 1,
30669
+ value: amount,
30670
+ onChange: function onChange(e) {
30671
+ return setAmount(e.target.value);
30672
+ },
30673
+ onFocus: onInputFocus,
30674
+ onBlur: onInputBlur,
30675
+ placeholder: "0",
30676
+ disabled: transferLoading
30677
+ }), validationError && React.createElement(ErrorMessage, null, validationError), React.createElement(ButtonRow, null, React.createElement(CTAButton, {
30678
+ icon: React.createElement(FaPaperPlane, null),
30679
+ label: transferLoading ? 'Sending...' : 'Send',
30680
+ onClick: handleSendClick,
30681
+ disabled: transferLoading,
30682
+ fullWidth: true
30683
+ })), transferLoading && React.createElement(Spinner$1, null), transferResult && React.createElement(ResultMessage, {
30684
+ "$success": transferResult.success
30685
+ }, transferResult.message), showConfirm && React.createElement(ConfirmModal, {
30686
+ message: "Transfer " + parseInt(amount, 10) + " DC to \"" + recipientName.trim() + "\"?",
30687
+ onConfirm: handleConfirmTransfer,
30688
+ onClose: function onClose() {
30689
+ return setShowConfirm(false);
30690
+ }
30691
+ }));
30692
+ };
30693
+ var PanelContainer$1 = /*#__PURE__*/styled.div.withConfig({
30694
+ displayName: "DCTransferPanel__PanelContainer",
30695
+ componentId: "sc-k1vvb1-0"
30696
+ })(["display:flex;flex-direction:column;gap:8px;padding:8px 0;"]);
30697
+ var FieldLabel = /*#__PURE__*/styled.label.withConfig({
30698
+ displayName: "DCTransferPanel__FieldLabel",
30699
+ componentId: "sc-k1vvb1-1"
30700
+ })(["font-size:9px;color:#f59e0b;font-family:'Press Start 2P',cursive;margin-top:8px;"]);
30701
+ var StyledInput = /*#__PURE__*/styled(Input).withConfig({
30702
+ displayName: "DCTransferPanel__StyledInput",
30703
+ componentId: "sc-k1vvb1-2"
30704
+ })(["background:rgba(0,0,0,0.6);border:1px solid #f59e0b;color:", ";padding:6px 8px;font-size:12px;font-family:'Press Start 2P',cursive;width:100%;box-sizing:border-box;&:disabled{opacity:0.5;}&:focus{outline:none;border-color:", ";}"], uiColors.white, uiColors.white);
30705
+ var ButtonRow = /*#__PURE__*/styled.div.withConfig({
30706
+ displayName: "DCTransferPanel__ButtonRow",
30707
+ componentId: "sc-k1vvb1-3"
30708
+ })(["margin-top:8px;"]);
30709
+ var Spinner$1 = /*#__PURE__*/styled.div.withConfig({
30710
+ displayName: "DCTransferPanel__Spinner",
30711
+ componentId: "sc-k1vvb1-4"
30712
+ })(["border:3px solid rgba(255,255,255,0.2);border-radius:50%;border-top:3px solid #f59e0b;width:24px;height:24px;animation:spin 0.8s linear infinite;margin:8px auto 0;@keyframes spin{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}"]);
30713
+ var ResultMessage = /*#__PURE__*/styled.div.withConfig({
30714
+ displayName: "DCTransferPanel__ResultMessage",
30715
+ componentId: "sc-k1vvb1-5"
30716
+ })(["margin-top:8px;padding:8px;font-size:9px;font-family:'Press Start 2P',cursive;color:", ";border:1px solid ", ";background:rgba(0,0,0,0.4);text-align:center;"], function (_ref2) {
30717
+ var $success = _ref2.$success;
30718
+ return $success ? uiColors.green : uiColors.red;
30719
+ }, function (_ref3) {
30720
+ var $success = _ref3.$success;
30721
+ return $success ? uiColors.green : uiColors.red;
30722
+ });
30723
+ var ErrorMessage = /*#__PURE__*/styled.div.withConfig({
30724
+ displayName: "DCTransferPanel__ErrorMessage",
30725
+ componentId: "sc-k1vvb1-6"
30726
+ })(["font-size:9px;color:", ";font-family:'Press Start 2P',cursive;"], uiColors.red);
30727
+
30728
+ var DCWalletModal = function DCWalletModal(_ref) {
30729
+ var _historyData$transact, _historyData$totalPag, _historyData$currentP;
30730
+ var dcBalance = _ref.dcBalance,
30731
+ onClose = _ref.onClose,
30732
+ historyData = _ref.historyData,
30733
+ historyLoading = _ref.historyLoading,
30734
+ onRequestHistory = _ref.onRequestHistory,
30735
+ transferLoading = _ref.transferLoading,
30736
+ transferResult = _ref.transferResult,
30737
+ onSendTransfer = _ref.onSendTransfer,
30738
+ onClearTransferResult = _ref.onClearTransferResult,
30739
+ characterName = _ref.characterName,
30740
+ onInputFocus = _ref.onInputFocus,
30741
+ onInputBlur = _ref.onInputBlur;
30742
+ var _useState = useState('balance'),
30743
+ activeTab = _useState[0],
30744
+ setActiveTab = _useState[1];
30745
+ var stopPropagation = useCallback(function (e) {
30746
+ e.stopPropagation();
30747
+ }, []);
30748
+ var tabs = [{
30749
+ id: 'balance',
30750
+ title: 'Balance',
30751
+ content: React.createElement(BalanceContent, null, React.createElement(BalanceLabel, null, "Your DC Balance"), React.createElement(BalanceAmount, null, dcBalance.toLocaleString(), " DC"), React.createElement(BalanceHint, null, "Buy DC packs from the Store > Packs tab."))
30752
+ }, {
30753
+ id: 'transfer',
30754
+ title: 'Transfer',
30755
+ content: React.createElement(DCTransferPanel, {
30756
+ dcBalance: dcBalance,
30757
+ transferLoading: transferLoading,
30758
+ transferResult: transferResult,
30759
+ onSendTransfer: onSendTransfer,
30760
+ onClearTransferResult: onClearTransferResult,
30761
+ characterName: characterName,
30762
+ onInputFocus: onInputFocus,
30763
+ onInputBlur: onInputBlur
30764
+ })
30765
+ }, {
30766
+ id: 'history',
30767
+ title: 'History',
30768
+ content: React.createElement(DCHistoryPanel, {
30769
+ transactions: (_historyData$transact = historyData == null ? void 0 : historyData.transactions) != null ? _historyData$transact : [],
30770
+ totalPages: (_historyData$totalPag = historyData == null ? void 0 : historyData.totalPages) != null ? _historyData$totalPag : 0,
30771
+ currentPage: (_historyData$currentP = historyData == null ? void 0 : historyData.currentPage) != null ? _historyData$currentP : 1,
30772
+ loading: historyLoading,
30773
+ onRequestHistory: onRequestHistory
30774
+ })
30775
+ }];
30776
+ return React.createElement(ModalPortal, null, React.createElement(Overlay$1, {
30777
+ onPointerDown: onClose
30778
+ }), React.createElement(ModalContainer$1, null, React.createElement(ModalContent$1, {
30779
+ onClick: stopPropagation,
30780
+ onTouchStart: stopPropagation,
30781
+ onPointerDown: stopPropagation
30782
+ }, React.createElement(Header$2, null, React.createElement(Title$3, null, "DC Wallet"), React.createElement(CloseButton$4, {
30783
+ onPointerDown: onClose,
30784
+ "aria-label": "Close"
30785
+ }, React.createElement(FaTimes, null))), React.createElement(WalletContainer, null, React.createElement(InternalTabs, {
30786
+ tabs: tabs,
30787
+ activeTab: activeTab,
30788
+ onTabChange: function onTabChange(tabId) {
30789
+ return setActiveTab(tabId);
30790
+ },
30791
+ activeTextColor: "#000000",
30792
+ activeColor: "#fef08a",
30793
+ inactiveColor: "#6b7280",
30794
+ borderColor: "#f59e0b",
30795
+ hoverColor: "#fef3c7"
30796
+ })))));
30797
+ };
30798
+ var Overlay$1 = /*#__PURE__*/styled.div.withConfig({
30799
+ displayName: "DCWalletModal__Overlay",
30800
+ componentId: "sc-12xy88y-0"
30801
+ })(["position:fixed;inset:0;background:rgba(0,0,0,0.65);z-index:1000;"]);
30802
+ var ModalContainer$1 = /*#__PURE__*/styled.div.withConfig({
30803
+ displayName: "DCWalletModal__ModalContainer",
30804
+ componentId: "sc-12xy88y-1"
30805
+ })(["position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1001;pointer-events:none;"]);
30806
+ var ModalContent$1 = /*#__PURE__*/styled.div.withConfig({
30807
+ displayName: "DCWalletModal__ModalContent",
30808
+ componentId: "sc-12xy88y-2"
30809
+ })(["background:#1a1a2e;border:2px solid #f59e0b;border-radius:8px;padding:16px 20px 20px;min-width:400px;max-width:90%;display:flex;flex-direction:column;gap:12px;pointer-events:auto;animation:scaleIn 0.15s ease-out;@keyframes scaleIn{from{transform:scale(0.85);opacity:0;}to{transform:scale(1);opacity:1;}}"]);
30810
+ var Header$2 = /*#__PURE__*/styled.div.withConfig({
30811
+ displayName: "DCWalletModal__Header",
30812
+ componentId: "sc-12xy88y-3"
30813
+ })(["display:flex;align-items:center;justify-content:space-between;"]);
30814
+ var Title$3 = /*#__PURE__*/styled.h3.withConfig({
30815
+ displayName: "DCWalletModal__Title",
30816
+ componentId: "sc-12xy88y-4"
30817
+ })(["margin:0;font-family:'Press Start 2P',cursive;font-size:0.7rem;color:#fef08a;"]);
30818
+ var CloseButton$4 = /*#__PURE__*/styled.button.withConfig({
30819
+ displayName: "DCWalletModal__CloseButton",
30820
+ componentId: "sc-12xy88y-5"
30821
+ })(["background:none;border:none;color:rgba(255,255,255,0.6);cursor:pointer;font-size:1rem;padding:4px;display:flex;align-items:center;&:hover{color:#ffffff;}"]);
30822
+ var WalletContainer = /*#__PURE__*/styled.div.withConfig({
30823
+ displayName: "DCWalletModal__WalletContainer",
30824
+ componentId: "sc-12xy88y-6"
30825
+ })(["display:flex;flex-direction:column;width:100%;min-height:300px;gap:0.5rem;"]);
30826
+ var BalanceContent = /*#__PURE__*/styled.div.withConfig({
30827
+ displayName: "DCWalletModal__BalanceContent",
30828
+ componentId: "sc-12xy88y-7"
30829
+ })(["display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 16px;"]);
30830
+ var BalanceLabel = /*#__PURE__*/styled.span.withConfig({
30831
+ displayName: "DCWalletModal__BalanceLabel",
30832
+ componentId: "sc-12xy88y-8"
30833
+ })(["font-family:'Press Start 2P',cursive;font-size:10px;color:", ";"], uiColors.lightGray);
30834
+ var BalanceAmount = /*#__PURE__*/styled.div.withConfig({
30835
+ displayName: "DCWalletModal__BalanceAmount",
30836
+ componentId: "sc-12xy88y-9"
30837
+ })(["font-family:'Press Start 2P',cursive;font-size:28px;color:#fef08a;text-shadow:2px 2px 0 #000;letter-spacing:2px;"]);
30838
+ var BalanceHint = /*#__PURE__*/styled.span.withConfig({
30839
+ displayName: "DCWalletModal__BalanceHint",
30840
+ componentId: "sc-12xy88y-10"
30841
+ })(["font-family:'Press Start 2P',cursive;font-size:7px;color:", ";"], uiColors.lightGray);
30842
+
30188
30843
  var SimpleProgressBar = function SimpleProgressBar(_ref) {
30189
30844
  var value = _ref.value,
30190
30845
  _ref$bgColor = _ref.bgColor,
@@ -30193,7 +30848,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
30193
30848
  margin = _ref$margin === void 0 ? 20 : _ref$margin;
30194
30849
  // Ensure the width is at least 1% if value is greater than 0, capped at 99.99%
30195
30850
  var width = value > 0 ? Math.max(1, Math.min(99.99, value)) : 0;
30196
- return React.createElement(Container$j, {
30851
+ return React.createElement(Container$k, {
30197
30852
  className: "simple-progress-bar"
30198
30853
  }, React.createElement(ProgressBarContainer, {
30199
30854
  margin: margin
@@ -30202,7 +30857,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
30202
30857
  bgColor: bgColor
30203
30858
  }))));
30204
30859
  };
30205
- var Container$j = /*#__PURE__*/styled.div.withConfig({
30860
+ var Container$k = /*#__PURE__*/styled.div.withConfig({
30206
30861
  displayName: "SimpleProgressBar__Container",
30207
30862
  componentId: "sc-mbeil3-0"
30208
30863
  })(["display:flex;justify-content:center;align-items:center;width:100%;"]);
@@ -30254,7 +30909,7 @@ var LoginStreakPanel = function LoginStreakPanel(_ref) {
30254
30909
  onCloseButton: onClose,
30255
30910
  type: RPGUIContainerTypes.Framed,
30256
30911
  width: isMobile ? '90vw' : '380px'
30257
- }, React.createElement(Container$k, null, React.createElement(StreakHeader, null, React.createElement(StreakDay, null, streak === 1 && !isConsecutive ? 'Day 1 — Fresh Start!' : "Day " + streak + " Streak!"), React.createElement(LongestStreak, null, "Longest: ", longestStreak, " days")), React.createElement(XPBonusSection, null, React.createElement(XPBonusLabel, null, "XP Bonus: ", React.createElement(XPBonusValue, {
30912
+ }, React.createElement(Container$l, null, React.createElement(StreakHeader, null, React.createElement(StreakDay, null, streak === 1 && !isConsecutive ? 'Day 1 — Fresh Start!' : "Day " + streak + " Streak!"), React.createElement(LongestStreak, null, "Longest: ", longestStreak, " days")), React.createElement(XPBonusSection, null, React.createElement(XPBonusLabel, null, "XP Bonus: ", React.createElement(XPBonusValue, {
30258
30913
  isMax: isMaxBonus
30259
30914
  }, "+", xpBonusPercent, "%"), isMaxBonus && React.createElement(MaxTag, null, " MAX")), React.createElement(SimpleProgressBar, {
30260
30915
  value: maxXpBonusPercent > 0 ? xpBonusPercent / maxXpBonusPercent * 100 : 0,
@@ -30271,7 +30926,7 @@ var LoginStreakPanel = function LoginStreakPanel(_ref) {
30271
30926
  }, milestone.reached ? '✓' : '○'));
30272
30927
  })), React.createElement(MotivationalText, null, getMotivationalText(streak, isConsecutive, milestones))));
30273
30928
  };
30274
- var Container$k = /*#__PURE__*/styled.div.withConfig({
30929
+ var Container$l = /*#__PURE__*/styled.div.withConfig({
30275
30930
  displayName: "LoginStreakPanel__Container",
30276
30931
  componentId: "sc-1eiinkh-0"
30277
30932
  })(["display:flex;flex-direction:column;gap:8px;padding:4px 14px 14px;color:", ";width:100%;box-sizing:border-box;hr.golden{margin:4px 0;}"], uiColors.white);
@@ -30709,7 +31364,7 @@ var DraggedItem = function DraggedItem(_ref) {
30709
31364
  var centeredX = x - OFFSET$1;
30710
31365
  var centeredY = y - OFFSET$1;
30711
31366
  var stackInfo = onRenderStackInfo((_item$_id = item == null ? void 0 : item._id) != null ? _item$_id : '', (_item$stackQty = item == null ? void 0 : item.stackQty) != null ? _item$stackQty : 0);
30712
- return React.createElement(Container$l, null, React.createElement(SpriteContainer, {
31367
+ return React.createElement(Container$m, null, React.createElement(SpriteContainer, {
30713
31368
  x: centeredX,
30714
31369
  y: centeredY
30715
31370
  }, React.createElement(SpriteFromAtlas, {
@@ -30727,7 +31382,7 @@ var DraggedItem = function DraggedItem(_ref) {
30727
31382
  }), stackInfo));
30728
31383
  };
30729
31384
  var pulse = "\n @keyframes pulse {\n 0%, 100% {\n transform: scale(1) rotate(-3deg);\n }\n 50% {\n transform: scale(0.95) rotate(-3deg);\n }\n }\n";
30730
- var Container$l = /*#__PURE__*/styled.div.withConfig({
31385
+ var Container$m = /*#__PURE__*/styled.div.withConfig({
30731
31386
  displayName: "DraggedItem__Container",
30732
31387
  componentId: "sc-mlzzcp-0"
30733
31388
  })(["position:relative;"]);
@@ -30764,7 +31419,7 @@ var RelativeListMenu = function RelativeListMenu(_ref) {
30764
31419
  document.removeEventListener('clickOutside', handleClickOutside);
30765
31420
  };
30766
31421
  }, [handleClickOutside]);
30767
- return React.createElement(ModalPortal, null, React.createElement(Container$m, Object.assign({
31422
+ return React.createElement(ModalPortal, null, React.createElement(Container$n, Object.assign({
30768
31423
  fontSize: fontSize,
30769
31424
  ref: ref
30770
31425
  }, pos), React.createElement("ul", {
@@ -30781,7 +31436,7 @@ var RelativeListMenu = function RelativeListMenu(_ref) {
30781
31436
  }, (params == null ? void 0 : params.text) || 'No text');
30782
31437
  }))));
30783
31438
  };
30784
- var Container$m = /*#__PURE__*/styled.div.withConfig({
31439
+ var Container$n = /*#__PURE__*/styled.div.withConfig({
30785
31440
  displayName: "RelativeListMenu__Container",
30786
31441
  componentId: "sc-7hohf-0"
30787
31442
  })(["position:absolute;top:", "px;left:", "px;display:flex;flex-direction:column;width:max-content;justify-content:start;align-items:flex-start;li{font-size:", "em;}"], function (props) {
@@ -30968,78 +31623,6 @@ var EquipmentColumn = /*#__PURE__*/styled.div.withConfig({
30968
31623
  componentId: "sc-1wuddg2-1"
30969
31624
  })(["display:flex;justify-content:center;flex-wrap:wrap;flex-direction:column;touch-action:none;"]);
30970
31625
 
30971
- var UI_BREAKPOINT_MOBILE = '950px';
30972
- var UI_BREAKPOINT_SMALL_LAPTOP = '1400px';
30973
-
30974
- var InternalTabs = function InternalTabs(_ref) {
30975
- var _tabs$, _tabs$find;
30976
- var tabs = _ref.tabs,
30977
- _ref$activeColor = _ref.activeColor,
30978
- activeColor = _ref$activeColor === void 0 ? '#fef08a' : _ref$activeColor,
30979
- _ref$activeTextColor = _ref.activeTextColor,
30980
- activeTextColor = _ref$activeTextColor === void 0 ? '#000000' : _ref$activeTextColor,
30981
- _ref$inactiveColor = _ref.inactiveColor,
30982
- inactiveColor = _ref$inactiveColor === void 0 ? '#6b7280' : _ref$inactiveColor,
30983
- _ref$borderColor = _ref.borderColor,
30984
- borderColor = _ref$borderColor === void 0 ? '#f59e0b' : _ref$borderColor,
30985
- _ref$hoverColor = _ref.hoverColor,
30986
- hoverColor = _ref$hoverColor === void 0 ? '#fef3c7' : _ref$hoverColor,
30987
- onTabChange = _ref.onTabChange,
30988
- externalActiveTab = _ref.activeTab;
30989
- var _useState = useState((_tabs$ = tabs[0]) == null ? void 0 : _tabs$.id),
30990
- internalActiveTab = _useState[0],
30991
- setInternalActiveTab = _useState[1];
30992
- var activeTabId = externalActiveTab != null ? externalActiveTab : internalActiveTab;
30993
- var handleTabClick = function handleTabClick(tabId) {
30994
- setInternalActiveTab(tabId);
30995
- onTabChange == null ? void 0 : onTabChange(tabId);
30996
- };
30997
- return React.createElement(TableWrapper, null, React.createElement(TabHeader, {
30998
- borderColor: borderColor
30999
- }, tabs.map(function (tab) {
31000
- return React.createElement(TabButton, {
31001
- key: tab.id,
31002
- active: activeTabId === tab.id,
31003
- activeColor: activeColor,
31004
- activeTextColor: activeTextColor,
31005
- inactiveColor: inactiveColor,
31006
- borderColor: borderColor,
31007
- hoverColor: hoverColor,
31008
- onClick: function onClick() {
31009
- return handleTabClick(tab.id);
31010
- }
31011
- }, tab.title);
31012
- })), React.createElement(ContentWrapper, null, (_tabs$find = tabs.find(function (tab) {
31013
- return tab.id === activeTabId;
31014
- })) == null ? void 0 : _tabs$find.content));
31015
- };
31016
- var TableWrapper = /*#__PURE__*/styled.div.withConfig({
31017
- displayName: "InternalTabs__TableWrapper",
31018
- componentId: "sc-ldufv0-0"
31019
- })(["width:100%;"]);
31020
- var TabHeader = /*#__PURE__*/styled.div.withConfig({
31021
- displayName: "InternalTabs__TabHeader",
31022
- componentId: "sc-ldufv0-1"
31023
- })(["display:flex;border-bottom:1px solid ", ";"], function (props) {
31024
- return props.borderColor;
31025
- });
31026
- var TabButton = /*#__PURE__*/styled.button.withConfig({
31027
- displayName: "InternalTabs__TabButton",
31028
- componentId: "sc-ldufv0-2"
31029
- })(["flex:1;padding:0.25rem 0.5rem;font-size:0.75rem;font-weight:500;border-right:1px solid ", ";background-color:", ";color:", ";white-space:nowrap;overflow:hidden;text-overflow:ellipsis;@media (min-width:480px){padding:0.375rem 0.75rem;font-size:0.8125rem;}@media (min-width:", "){padding:0.5rem 1rem;font-size:0.875rem;}&:last-child{border-right:none;}&:hover{background-color:", ";}"], function (props) {
31030
- return props.borderColor;
31031
- }, function (props) {
31032
- return props.active ? props.activeColor : 'transparent';
31033
- }, function (props) {
31034
- return props.active ? props.activeTextColor : props.inactiveColor;
31035
- }, UI_BREAKPOINT_MOBILE, function (props) {
31036
- return props.active ? props.activeColor : props.hoverColor;
31037
- });
31038
- var ContentWrapper = /*#__PURE__*/styled.div.withConfig({
31039
- displayName: "InternalTabs__ContentWrapper",
31040
- componentId: "sc-ldufv0-3"
31041
- })(["width:100%;"]);
31042
-
31043
31626
  var Table = /*#__PURE__*/styled.table.withConfig({
31044
31627
  displayName: "Table",
31045
31628
  componentId: "sc-1c24pcj-0"
@@ -31204,7 +31787,7 @@ var FriendRequestSection = function FriendRequestSection(_ref3) {
31204
31787
  return onReject(character);
31205
31788
  }
31206
31789
  }, "Reject")));
31207
- })) : React.createElement(EmptyMessage, null, "No pending friend requests"));
31790
+ })) : React.createElement(EmptyMessage$1, null, "No pending friend requests"));
31208
31791
  };
31209
31792
  // Styled components for FriendList UI
31210
31793
  var ListWrapper = /*#__PURE__*/styled.div.withConfig({
@@ -31246,7 +31829,7 @@ var AcceptRejectActions = /*#__PURE__*/styled.div.withConfig({
31246
31829
  displayName: "FriendList__AcceptRejectActions",
31247
31830
  componentId: "sc-3jf9vt-8"
31248
31831
  })(["display:flex;gap:0.5rem;"]);
31249
- var EmptyMessage = /*#__PURE__*/styled.p.withConfig({
31832
+ var EmptyMessage$1 = /*#__PURE__*/styled.p.withConfig({
31250
31833
  displayName: "FriendList__EmptyMessage",
31251
31834
  componentId: "sc-3jf9vt-9"
31252
31835
  })(["text-align:center;color:#888;padding:1rem;font-size:", ";"], uiFonts.size.small);
@@ -31346,7 +31929,7 @@ var NPCDialogText = function NPCDialogText(_ref) {
31346
31929
  var _useState2 = useState(false),
31347
31930
  showGoNextIndicator = _useState2[0],
31348
31931
  setShowGoNextIndicator = _useState2[1];
31349
- return React.createElement(Container$n, null, React.createElement(DynamicText, {
31932
+ return React.createElement(Container$o, null, React.createElement(DynamicText, {
31350
31933
  text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
31351
31934
  onFinish: function onFinish() {
31352
31935
  setShowGoNextIndicator(true);
@@ -31364,7 +31947,7 @@ var NPCDialogText = function NPCDialogText(_ref) {
31364
31947
  }
31365
31948
  }));
31366
31949
  };
31367
- var Container$n = /*#__PURE__*/styled.div.withConfig({
31950
+ var Container$o = /*#__PURE__*/styled.div.withConfig({
31368
31951
  displayName: "NPCDialogText__Container",
31369
31952
  componentId: "sc-1cxkdh9-0"
31370
31953
  })([""]);
@@ -31516,7 +32099,7 @@ var QuestionDialog = function QuestionDialog(_ref) {
31516
32099
  return null;
31517
32100
  });
31518
32101
  };
31519
- return React.createElement(Container$o, null, React.createElement(QuestionContainer, null, React.createElement(DynamicText, {
32102
+ return React.createElement(Container$p, null, React.createElement(QuestionContainer, null, React.createElement(DynamicText, {
31520
32103
  text: currentQuestion.text,
31521
32104
  onStart: function onStart() {
31522
32105
  return setCanShowAnswers(false);
@@ -31526,7 +32109,7 @@ var QuestionDialog = function QuestionDialog(_ref) {
31526
32109
  }
31527
32110
  })), canShowAnswers && React.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
31528
32111
  };
31529
- var Container$o = /*#__PURE__*/styled.div.withConfig({
32112
+ var Container$p = /*#__PURE__*/styled.div.withConfig({
31530
32113
  displayName: "QuestionDialog__Container",
31531
32114
  componentId: "sc-bxc5u0-0"
31532
32115
  })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
@@ -31587,7 +32170,7 @@ var NPCDialog = function NPCDialog(_ref) {
31587
32170
  }
31588
32171
  })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
31589
32172
  src: imagePath || img$7
31590
- }))) : React.createElement(React.Fragment, null, React.createElement(Container$p, null, React.createElement(CloseIcon, {
32173
+ }))) : React.createElement(React.Fragment, null, React.createElement(Container$q, null, React.createElement(CloseIcon, {
31591
32174
  onPointerDown: _onClose
31592
32175
  }, "X"), React.createElement(TextContainer$1, {
31593
32176
  flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
@@ -31603,7 +32186,7 @@ var NPCDialog = function NPCDialog(_ref) {
31603
32186
  src: imagePath || img$7
31604
32187
  })))));
31605
32188
  };
31606
- var Container$p = /*#__PURE__*/styled.div.withConfig({
32189
+ var Container$q = /*#__PURE__*/styled.div.withConfig({
31607
32190
  displayName: "NPCDialog__Container",
31608
32191
  componentId: "sc-1b4aw74-0"
31609
32192
  })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
@@ -31664,7 +32247,7 @@ var NPCMultiDialog = function NPCMultiDialog(_ref) {
31664
32247
  type: RPGUIContainerTypes.FramedGold,
31665
32248
  width: '50%',
31666
32249
  height: '180px'
31667
- }, React.createElement(React.Fragment, null, React.createElement(Container$q, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React.createElement(React.Fragment, null, React.createElement(TextContainer$2, {
32250
+ }, React.createElement(React.Fragment, null, React.createElement(Container$r, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React.createElement(React.Fragment, null, React.createElement(TextContainer$2, {
31668
32251
  flex: '70%'
31669
32252
  }, React.createElement(NPCDialogText, {
31670
32253
  onStartStep: function onStartStep() {
@@ -31706,7 +32289,7 @@ var NPCMultiDialog = function NPCMultiDialog(_ref) {
31706
32289
  src: img$6
31707
32290
  }))), ")"));
31708
32291
  };
31709
- var Container$q = /*#__PURE__*/styled.div.withConfig({
32292
+ var Container$r = /*#__PURE__*/styled.div.withConfig({
31710
32293
  displayName: "NPCMultiDialog__Container",
31711
32294
  componentId: "sc-rvu5wg-0"
31712
32295
  })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
@@ -31855,7 +32438,7 @@ var ImageCarousel = function ImageCarousel(_ref) {
31855
32438
  onPointerDown: function onPointerDown() {
31856
32439
  return goToNextImage();
31857
32440
  }
31858
- }))), onCloseButton && React.createElement(CloseButton$4, {
32441
+ }))), onCloseButton && React.createElement(CloseButton$5, {
31859
32442
  className: "container-close",
31860
32443
  onPointerDown: onCloseButton
31861
32444
  }, "X"));
@@ -31886,7 +32469,7 @@ var Description$1 = /*#__PURE__*/styled.div.withConfig({
31886
32469
  }, function (props) {
31887
32470
  return props.isTextFixed ? 'none' : 'rgba(0, 0, 0, 0.6)';
31888
32471
  });
31889
- var CloseButton$4 = /*#__PURE__*/styled.div.withConfig({
32472
+ var CloseButton$5 = /*#__PURE__*/styled.div.withConfig({
31890
32473
  displayName: "ImageCarousel__CloseButton",
31891
32474
  componentId: "sc-jl6f8-4"
31892
32475
  })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:1.5rem;@media (max-width:950px){font-size:1.7rem;padding:12px;}"]);
@@ -32068,48 +32651,6 @@ var usePagination = function usePagination(_ref) {
32068
32651
  };
32069
32652
  };
32070
32653
 
32071
- var Pagination = function Pagination(_ref) {
32072
- var currentPage = _ref.currentPage,
32073
- totalPages = _ref.totalPages,
32074
- onPageChange = _ref.onPageChange,
32075
- className = _ref.className;
32076
- return React.createElement(Container$r, {
32077
- className: className
32078
- }, React.createElement(PaginationButton$1, {
32079
- onClick: function onClick() {
32080
- return onPageChange(Math.max(1, currentPage - 1));
32081
- },
32082
- disabled: currentPage === 1
32083
- }, React.createElement(FaChevronLeft, {
32084
- size: 12
32085
- })), React.createElement(PageInfo$1, null, "Page ", currentPage, " of ", totalPages), React.createElement(PaginationButton$1, {
32086
- onClick: function onClick() {
32087
- return onPageChange(Math.min(totalPages, currentPage + 1));
32088
- },
32089
- disabled: currentPage === totalPages
32090
- }, React.createElement(FaChevronRight, {
32091
- size: 12
32092
- })));
32093
- };
32094
- var Container$r = /*#__PURE__*/styled.div.withConfig({
32095
- displayName: "Pagination__Container",
32096
- componentId: "sc-3k4m4u-0"
32097
- })(["display:flex;align-items:center;justify-content:center;gap:16px;padding:8px;"]);
32098
- var PaginationButton$1 = /*#__PURE__*/styled.button.withConfig({
32099
- displayName: "Pagination__PaginationButton",
32100
- componentId: "sc-3k4m4u-1"
32101
- })(["background:none;border:none;color:", ";cursor:", ";opacity:", ";padding:4px;display:flex;align-items:center;justify-content:center;transition:opacity 0.2s;&:hover:not(:disabled){opacity:1;}"], function (props) {
32102
- return props.disabled ? uiColors.darkGray : uiColors.yellow;
32103
- }, function (props) {
32104
- return props.disabled ? 'not-allowed' : 'pointer';
32105
- }, function (props) {
32106
- return props.disabled ? 0.5 : 0.8;
32107
- });
32108
- var PageInfo$1 = /*#__PURE__*/styled.div.withConfig({
32109
- displayName: "Pagination__PageInfo",
32110
- componentId: "sc-3k4m4u-2"
32111
- })(["color:", ";font-size:0.8rem;font-family:'Press Start 2P',cursive;"], uiColors.lightGray);
32112
-
32113
32654
  var SearchHeader$1 = function SearchHeader(_ref) {
32114
32655
  var searchOptions = _ref.searchOptions,
32115
32656
  filterOptions = _ref.filterOptions,
@@ -32204,7 +32745,7 @@ var PaginatedContent = function PaginatedContent(_ref) {
32204
32745
  }, (searchOptions || filterOptions) && React.createElement(SearchHeader$1, {
32205
32746
  searchOptions: searchOptions,
32206
32747
  filterOptions: filterOptions
32207
- }), items.length === 0 ? React.createElement(EmptyMessage$1, null, emptyMessage) : React.createElement(React.Fragment, null, React.createElement(Content, {
32748
+ }), items.length === 0 ? React.createElement(EmptyMessage$2, null, emptyMessage) : React.createElement(React.Fragment, null, React.createElement(Content, {
32208
32749
  className: "PaginatedContent-content " + layout,
32209
32750
  "$gridColumns": gridColumns,
32210
32751
  "$itemHeight": itemHeight
@@ -32240,7 +32781,7 @@ var PaginationContainer$1 = /*#__PURE__*/styled.div.withConfig({
32240
32781
  displayName: "PaginatedContent__PaginationContainer",
32241
32782
  componentId: "sc-lzp9hn-2"
32242
32783
  })(["display:flex;justify-content:center;padding:0.5rem;@media (min-width:480px){padding:1rem;}"]);
32243
- var EmptyMessage$1 = /*#__PURE__*/styled.div.withConfig({
32784
+ var EmptyMessage$2 = /*#__PURE__*/styled.div.withConfig({
32244
32785
  displayName: "PaginatedContent__EmptyMessage",
32245
32786
  componentId: "sc-lzp9hn-3"
32246
32787
  })(["text-align:center;color:#9ca3af;padding:2rem;flex:1;display:flex;align-items:center;justify-content:center;"]);
@@ -32343,24 +32884,24 @@ var BaseInformationDetails = function BaseInformationDetails(_ref) {
32343
32884
  atlasIMG = _ref.atlasIMG,
32344
32885
  onBack = _ref.onBack,
32345
32886
  children = _ref.children;
32346
- return React.createElement(Container$t, null, React.createElement(Overlay, {
32887
+ return React.createElement(Container$t, null, React.createElement(Overlay$2, {
32347
32888
  onClick: onBack
32348
- }), React.createElement(Modal, null, React.createElement(CloseButton$5, {
32889
+ }), React.createElement(Modal, null, React.createElement(CloseButton$6, {
32349
32890
  onClick: onBack
32350
- }, React.createElement(FaTimes, null)), React.createElement(Header$2, null, React.createElement(SpriteContainer$2, null, React.createElement(SpriteFromAtlas, {
32891
+ }, React.createElement(FaTimes, null)), React.createElement(Header$3, null, React.createElement(SpriteContainer$2, null, React.createElement(SpriteFromAtlas, {
32351
32892
  atlasJSON: atlasJSON,
32352
32893
  atlasIMG: atlasIMG,
32353
32894
  spriteKey: spriteKey,
32354
32895
  width: 32,
32355
32896
  height: 32,
32356
32897
  imgScale: 1
32357
- })), React.createElement(Title$3, null, name)), React.createElement(Content$1, null, children)));
32898
+ })), React.createElement(Title$4, null, name)), React.createElement(Content$1, null, children)));
32358
32899
  };
32359
32900
  var Container$t = /*#__PURE__*/styled.div.withConfig({
32360
32901
  displayName: "BaseInformationDetails__Container",
32361
32902
  componentId: "sc-1vguuz8-0"
32362
32903
  })(["position:fixed;inset:0;display:flex;justify-content:center;align-items:center;z-index:9999;"]);
32363
- var Overlay = /*#__PURE__*/styled.div.withConfig({
32904
+ var Overlay$2 = /*#__PURE__*/styled.div.withConfig({
32364
32905
  displayName: "BaseInformationDetails__Overlay",
32365
32906
  componentId: "sc-1vguuz8-1"
32366
32907
  })(["position:fixed;inset:0;background-color:rgba(0,0,0,0.8);"]);
@@ -32368,11 +32909,11 @@ var Modal = /*#__PURE__*/styled.div.withConfig({
32368
32909
  displayName: "BaseInformationDetails__Modal",
32369
32910
  componentId: "sc-1vguuz8-2"
32370
32911
  })(["position:relative;background-color:rgba(0,0,0,0.95);border-radius:4px;padding:12px;overflow:hidden;z-index:1;font-family:'Press Start 2P',cursive;border:1px solid ", ";box-shadow:0 2px 4px rgba(0,0,0,0.2);width:90%;height:90vh;max-width:800px;max-height:800px;@media (max-width:768px){width:100%;height:100%;border-radius:0;padding:8px;}&::-webkit-scrollbar{width:2px;}&::-webkit-scrollbar-track{background:transparent;}&::-webkit-scrollbar-thumb{background-color:", ";border-radius:4px;opacity:0.5;&:hover{opacity:1;}}scrollbar-width:thin;scrollbar-color:", " transparent;"], uiColors.darkGray, uiColors.yellow, uiColors.yellow);
32371
- var CloseButton$5 = /*#__PURE__*/styled.button.withConfig({
32912
+ var CloseButton$6 = /*#__PURE__*/styled.button.withConfig({
32372
32913
  displayName: "BaseInformationDetails__CloseButton",
32373
32914
  componentId: "sc-1vguuz8-3"
32374
32915
  })(["position:absolute;top:20px;right:20px;background:none;border:none;color:", ";font-size:1.2rem;cursor:pointer;padding:0;z-index:1;transition:transform 0.2s ease;&:hover{transform:scale(1.1);}"], uiColors.yellow);
32375
- var Header$2 = /*#__PURE__*/styled.div.withConfig({
32916
+ var Header$3 = /*#__PURE__*/styled.div.withConfig({
32376
32917
  displayName: "BaseInformationDetails__Header",
32377
32918
  componentId: "sc-1vguuz8-4"
32378
32919
  })(["display:flex;align-items:center;gap:16px;margin-bottom:24px;"]);
@@ -32380,7 +32921,7 @@ var Content$1 = /*#__PURE__*/styled.div.withConfig({
32380
32921
  displayName: "BaseInformationDetails__Content",
32381
32922
  componentId: "sc-1vguuz8-5"
32382
32923
  })(["display:flex;flex-direction:column;gap:12px;height:calc(100% - 80px);overflow-y:auto;overflow-x:hidden;padding-right:6px;margin-right:-6px;@media (max-width:768px){height:calc(100% - 64px);gap:8px;padding-right:4px;margin-right:-4px;}"]);
32383
- var Title$3 = /*#__PURE__*/styled.h2.withConfig({
32924
+ var Title$4 = /*#__PURE__*/styled.h2.withConfig({
32384
32925
  displayName: "BaseInformationDetails__Title",
32385
32926
  componentId: "sc-1vguuz8-6"
32386
32927
  })(["color:", ";font-size:1rem;margin:0;"], uiColors.yellow);
@@ -32400,21 +32941,21 @@ var Collapsible = function Collapsible(_ref) {
32400
32941
  setIsOpen = _useState[1];
32401
32942
  return React.createElement(Container$u, {
32402
32943
  className: className
32403
- }, React.createElement(Header$3, {
32944
+ }, React.createElement(Header$4, {
32404
32945
  onClick: function onClick() {
32405
32946
  return setIsOpen(!isOpen);
32406
32947
  }
32407
- }, React.createElement(Title$4, null, title), React.createElement(Icon$1, null, isOpen ? React.createElement(FaChevronUp, null) : React.createElement(FaChevronDown, null))), isOpen && React.createElement(Content$2, null, children));
32948
+ }, React.createElement(Title$5, null, title), React.createElement(Icon$1, null, isOpen ? React.createElement(FaChevronUp, null) : React.createElement(FaChevronDown, null))), isOpen && React.createElement(Content$2, null, children));
32408
32949
  };
32409
32950
  var Container$u = /*#__PURE__*/styled.div.withConfig({
32410
32951
  displayName: "Collapsible__Container",
32411
32952
  componentId: "sc-s4h8ey-0"
32412
32953
  })(["background:rgba(0,0,0,0.3);border-radius:4px;overflow:hidden;border:1px solid ", ";"], uiColors.darkGray);
32413
- var Header$3 = /*#__PURE__*/styled.div.withConfig({
32954
+ var Header$4 = /*#__PURE__*/styled.div.withConfig({
32414
32955
  displayName: "Collapsible__Header",
32415
32956
  componentId: "sc-s4h8ey-1"
32416
32957
  })(["padding:10px 12px;background:rgba(0,0,0,0.2);display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background-color 0.2s ease;&:hover{background:rgba(0,0,0,0.4);}"]);
32417
- var Title$4 = /*#__PURE__*/styled.h3.withConfig({
32958
+ var Title$5 = /*#__PURE__*/styled.h3.withConfig({
32418
32959
  displayName: "Collapsible__Title",
32419
32960
  componentId: "sc-s4h8ey-2"
32420
32961
  })(["margin:0;font-size:0.6rem;color:", ";font-family:'Press Start 2P',cursive;letter-spacing:0.5px;"], uiColors.yellow);
@@ -32752,7 +33293,7 @@ var AdvancedFilters = function AdvancedFilters(_ref) {
32752
33293
  return rangeValue[0] !== undefined || rangeValue[1] !== undefined;
32753
33294
  }
32754
33295
  return section.value !== 'all';
32755
- }).length)), isOpen && React.createElement(Portal, null, isMobile && React.createElement(Overlay$1, null), React.createElement(FiltersPanel, {
33296
+ }).length)), isOpen && React.createElement(Portal, null, isMobile && React.createElement(Overlay$3, null), React.createElement(FiltersPanel, {
32756
33297
  ref: panelRef,
32757
33298
  style: {
32758
33299
  position: 'fixed',
@@ -32761,7 +33302,7 @@ var AdvancedFilters = function AdvancedFilters(_ref) {
32761
33302
  zIndex: 9999
32762
33303
  },
32763
33304
  "$isMobile": isMobile
32764
- }, React.createElement(FilterHeader, null, React.createElement(FilterTitle, null, "Advanced Filters"), React.createElement(CloseButton$6, {
33305
+ }, React.createElement(FilterHeader, null, React.createElement(FilterTitle, null, "Advanced Filters"), React.createElement(CloseButton$7, {
32765
33306
  onClick: handleClose
32766
33307
  }, "\xD7")), sections.map(renderFilterSection), hasActiveFilters && React.createElement(ClearFiltersButton, {
32767
33308
  onClick: onClearAll
@@ -32809,7 +33350,7 @@ var FilterHeader = /*#__PURE__*/styled.div.withConfig({
32809
33350
  displayName: "AdvancedFilters__FilterHeader",
32810
33351
  componentId: "sc-1xj6ldr-4"
32811
33352
  })(["display:flex;align-items:center;justify-content:space-between;padding-bottom:0.75rem;margin-bottom:0.5rem;border-bottom:1px solid #333;"]);
32812
- var Overlay$1 = /*#__PURE__*/styled.div.withConfig({
33353
+ var Overlay$3 = /*#__PURE__*/styled.div.withConfig({
32813
33354
  displayName: "AdvancedFilters__Overlay",
32814
33355
  componentId: "sc-1xj6ldr-5"
32815
33356
  })(["position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.6);z-index:9998;animation:fadeIn 0.2s ease-out;@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}"]);
@@ -32833,7 +33374,7 @@ var ClearFiltersButton = /*#__PURE__*/styled.button.withConfig({
32833
33374
  displayName: "AdvancedFilters__ClearFiltersButton",
32834
33375
  componentId: "sc-1xj6ldr-10"
32835
33376
  })(["width:100%;background:transparent;color:#666;border:none;padding:0.75rem 0;margin-top:0.5rem;cursor:pointer;font-size:0.65rem;transition:all 0.2s;border-top:1px solid #333;text-transform:uppercase;letter-spacing:0.05em;font-family:'Press Start 2P',cursive;&:hover{color:#ffd700;}"]);
32836
- var CloseButton$6 = /*#__PURE__*/styled.button.withConfig({
33377
+ var CloseButton$7 = /*#__PURE__*/styled.button.withConfig({
32837
33378
  displayName: "AdvancedFilters__CloseButton",
32838
33379
  componentId: "sc-1xj6ldr-11"
32839
33380
  })(["background:transparent;border:none;color:#999;font-size:1.5rem;line-height:1;cursor:pointer;padding:0;margin:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;&:hover{color:#ffd700;}"]);
@@ -33818,7 +34359,7 @@ var InformationCenter = function InformationCenter(_ref) {
33818
34359
  return React.createElement(LoadingMessage, null, "Loading...");
33819
34360
  }
33820
34361
  if (error) {
33821
- return React.createElement(ErrorMessage, null, error);
34362
+ return React.createElement(ErrorMessage$1, null, error);
33822
34363
  }
33823
34364
  var tabs = [{
33824
34365
  id: 'bestiary',
@@ -33880,7 +34421,7 @@ var LoadingMessage = /*#__PURE__*/styled.div.withConfig({
33880
34421
  displayName: "InformationCenter__LoadingMessage",
33881
34422
  componentId: "sc-1ttl62e-1"
33882
34423
  })(["text-align:center;color:#ffffff;padding:2rem;"]);
33883
- var ErrorMessage = /*#__PURE__*/styled.div.withConfig({
34424
+ var ErrorMessage$1 = /*#__PURE__*/styled.div.withConfig({
33884
34425
  displayName: "InformationCenter__ErrorMessage",
33885
34426
  componentId: "sc-1ttl62e-2"
33886
34427
  })(["text-align:center;color:#ef4444;padding:2rem;"]);
@@ -34175,7 +34716,7 @@ var QuantitySelector = function QuantitySelector(_ref) {
34175
34716
  return React.createElement(StyledContainer, {
34176
34717
  type: RPGUIContainerTypes.Framed,
34177
34718
  width: "25rem"
34178
- }, React.createElement(CloseButton$7, {
34719
+ }, React.createElement(CloseButton$8, {
34179
34720
  className: "container-close",
34180
34721
  onPointerDown: onClose
34181
34722
  }, "X"), React.createElement("h2", null, title), React.createElement(StyledForm, {
@@ -34187,7 +34728,7 @@ var QuantitySelector = function QuantitySelector(_ref) {
34187
34728
  }
34188
34729
  },
34189
34730
  noValidate: true
34190
- }, React.createElement(StyledInput, {
34731
+ }, React.createElement(StyledInput$1, {
34191
34732
  ref: inputRef,
34192
34733
  placeholder: "Enter quantity",
34193
34734
  type: "number",
@@ -34220,7 +34761,7 @@ var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
34220
34761
  displayName: "QuantitySelector__StyledContainer",
34221
34762
  componentId: "sc-z4ut57-0"
34222
34763
  })(["position:relative;display:flex;flex-direction:column;align-items:center;padding:1rem;h2{margin:0;margin-bottom:1rem;font-size:1rem;}"]);
34223
- var CloseButton$7 = /*#__PURE__*/styled.div.withConfig({
34764
+ var CloseButton$8 = /*#__PURE__*/styled.div.withConfig({
34224
34765
  displayName: "QuantitySelector__CloseButton",
34225
34766
  componentId: "sc-z4ut57-1"
34226
34767
  })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:1.5rem;cursor:pointer;"]);
@@ -34228,7 +34769,7 @@ var StyledForm = /*#__PURE__*/styled.form.withConfig({
34228
34769
  displayName: "QuantitySelector__StyledForm",
34229
34770
  componentId: "sc-z4ut57-2"
34230
34771
  })(["display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;"]);
34231
- var StyledInput = /*#__PURE__*/styled.input.withConfig({
34772
+ var StyledInput$1 = /*#__PURE__*/styled.input.withConfig({
34232
34773
  displayName: "QuantitySelector__StyledInput",
34233
34774
  componentId: "sc-z4ut57-3"
34234
34775
  })(["width:100%;padding:0.5rem;background-color:rgba(0,0,0,0.25);border:none;color:white;font-size:1rem;text-align:center;&::-webkit-inner-spin-button,&::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
@@ -34491,78 +35032,6 @@ var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
34491
35032
  return isFullScreen && '50%';
34492
35033
  });
34493
35034
 
34494
- // Global style to prevent body scrolling when modal is open
34495
- var GlobalStyle = /*#__PURE__*/createGlobalStyle(["body{overflow:hidden;width:100%;height:100%;}"]);
34496
- var ConfirmModal = function ConfirmModal(_ref) {
34497
- var onConfirm = _ref.onConfirm,
34498
- onClose = _ref.onClose,
34499
- _ref$message = _ref.message,
34500
- message = _ref$message === void 0 ? 'Are you sure?' : _ref$message;
34501
- var handleConfirm = useCallback(function (e) {
34502
- e.preventDefault();
34503
- e.stopPropagation();
34504
- onConfirm();
34505
- }, [onConfirm]);
34506
- var handleClose = useCallback(function (e) {
34507
- e.preventDefault();
34508
- e.stopPropagation();
34509
- onClose();
34510
- }, [onClose]);
34511
- // Fix type issues by separating event handlers for different event types
34512
- var stopPropagationClick = useCallback(function (e) {
34513
- e.stopPropagation();
34514
- }, []);
34515
- var stopPropagationTouch = useCallback(function (e) {
34516
- e.stopPropagation();
34517
- }, []);
34518
- var stopPropagationPointer = useCallback(function (e) {
34519
- e.stopPropagation();
34520
- }, []);
34521
- return React.createElement(ModalPortal, null, React.createElement(GlobalStyle, null), React.createElement(Overlay$2, {
34522
- onPointerDown: handleClose
34523
- }), React.createElement(ModalContainer, null, React.createElement(ModalContent, {
34524
- onClick: stopPropagationClick,
34525
- onTouchStart: stopPropagationTouch,
34526
- onTouchEnd: stopPropagationTouch,
34527
- onTouchMove: stopPropagationTouch,
34528
- onPointerDown: stopPropagationPointer
34529
- }, React.createElement(MessageContainer, null, typeof message === 'string' ? React.createElement(Message$1, null, message) : message), React.createElement(ButtonsContainer$2, null, React.createElement(CancelButtonWrapper, null, React.createElement(Button, {
34530
- buttonType: ButtonTypes.RPGUIButton,
34531
- onPointerDown: handleClose
34532
- }, "No")), React.createElement(Button, {
34533
- buttonType: ButtonTypes.RPGUIButton,
34534
- onPointerDown: handleConfirm
34535
- }, "Yes")))));
34536
- };
34537
- var Overlay$2 = /*#__PURE__*/styled.div.withConfig({
34538
- displayName: "ConfirmModal__Overlay",
34539
- componentId: "sc-11qkyu1-0"
34540
- })(["position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.6);z-index:1000;animation:fadeIn 0.2s ease-out;cursor:pointer;touch-action:none;@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}"]);
34541
- var ModalContainer = /*#__PURE__*/styled.div.withConfig({
34542
- displayName: "ConfirmModal__ModalContainer",
34543
- componentId: "sc-11qkyu1-1"
34544
- })(["position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:1001;pointer-events:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);"]);
34545
- var ModalContent = /*#__PURE__*/styled.div.withConfig({
34546
- displayName: "ConfirmModal__ModalContent",
34547
- componentId: "sc-11qkyu1-2"
34548
- })(["background-color:#2a2a2a;border:2px solid #444;border-radius:8px;padding:20px;min-width:300px;max-width:90%;margin:0 auto;animation:scaleIn 0.2s ease-out;transform-origin:center;box-shadow:0 4px 20px rgba(0,0,0,0.5),0 0 40px rgba(0,0,0,0.3);pointer-events:auto;@keyframes scaleIn{from{transform:scale(0.8);opacity:0;}to{transform:scale(1);opacity:1;}}@media (max-width:768px){padding:25px;width:85%;}"]);
34549
- var MessageContainer = /*#__PURE__*/styled.div.withConfig({
34550
- displayName: "ConfirmModal__MessageContainer",
34551
- componentId: "sc-11qkyu1-3"
34552
- })(["margin-bottom:20px;text-align:center;"]);
34553
- var Message$1 = /*#__PURE__*/styled.p.withConfig({
34554
- displayName: "ConfirmModal__Message",
34555
- componentId: "sc-11qkyu1-4"
34556
- })(["margin:0;font-size:16px;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,0.5);@media (max-width:768px){font-size:18px;}"]);
34557
- var ButtonsContainer$2 = /*#__PURE__*/styled.div.withConfig({
34558
- displayName: "ConfirmModal__ButtonsContainer",
34559
- componentId: "sc-11qkyu1-5"
34560
- })(["display:flex;justify-content:center;gap:20px;@media (max-width:768px){gap:30px;transform:scale(1.1);margin-top:5px;}"]);
34561
- var CancelButtonWrapper = /*#__PURE__*/styled.div.withConfig({
34562
- displayName: "ConfirmModal__CancelButtonWrapper",
34563
- componentId: "sc-11qkyu1-6"
34564
- })(["filter:grayscale(0.7);"]);
34565
-
34566
35035
  var ColorSelector = function ColorSelector(_ref) {
34567
35036
  var selectedColor = _ref.selectedColor,
34568
35037
  isOpen = _ref.isOpen,
@@ -34605,13 +35074,13 @@ var ColorSelector = function ColorSelector(_ref) {
34605
35074
  cancelDrag: ".react-colorful",
34606
35075
  width: "25rem",
34607
35076
  onCloseButton: onClose
34608
- }, React.createElement(Container$y, null, React.createElement(Header$4, null, "Select Color"), React.createElement(ColorPickerWrapper, null, React.createElement(HexColorPicker, {
35077
+ }, React.createElement(Container$y, null, React.createElement(Header$5, null, "Select Color"), React.createElement(ColorPickerWrapper, null, React.createElement(HexColorPicker, {
34609
35078
  color: currentColor,
34610
35079
  onChange: function onChange(color) {
34611
35080
  setCurrentColor(color);
34612
35081
  _onChange(color);
34613
35082
  }
34614
- })), React.createElement(ButtonContainer$1, null, React.createElement(Button, {
35083
+ })), React.createElement(ButtonContainer$2, null, React.createElement(Button, {
34615
35084
  buttonType: ButtonTypes.RPGUIButton,
34616
35085
  type: "button",
34617
35086
  onClick: handleConfirm
@@ -34625,7 +35094,7 @@ var Container$y = /*#__PURE__*/styled.div.withConfig({
34625
35094
  displayName: "ItemPropertyColorSelector__Container",
34626
35095
  componentId: "sc-me1r4z-0"
34627
35096
  })(["text-align:center;background:inherit;display:flex;flex-direction:column;gap:1.5rem;align-items:center;width:100%;max-width:24rem;margin:0 auto;"]);
34628
- var Header$4 = /*#__PURE__*/styled.h2.withConfig({
35097
+ var Header$5 = /*#__PURE__*/styled.h2.withConfig({
34629
35098
  displayName: "ItemPropertyColorSelector__Header",
34630
35099
  componentId: "sc-me1r4z-1"
34631
35100
  })(["color:white;font-size:1rem;margin:0;width:100%;text-align:center;"]);
@@ -34633,7 +35102,7 @@ var ColorPickerWrapper = /*#__PURE__*/styled.div.withConfig({
34633
35102
  displayName: "ItemPropertyColorSelector__ColorPickerWrapper",
34634
35103
  componentId: "sc-me1r4z-2"
34635
35104
  })(["display:flex;justify-content:center;width:100%;.react-colorful{width:100%;max-width:200px;}"]);
34636
- var ButtonContainer$1 = /*#__PURE__*/styled.div.withConfig({
35105
+ var ButtonContainer$2 = /*#__PURE__*/styled.div.withConfig({
34637
35106
  displayName: "ItemPropertyColorSelector__ButtonContainer",
34638
35107
  componentId: "sc-me1r4z-3"
34639
35108
  })(["display:flex;justify-content:center;width:100%;"]);
@@ -34696,7 +35165,7 @@ var GemSelector = function GemSelector(_ref) {
34696
35165
  scale: scale,
34697
35166
  cancelDrag: ".gem-selector-container",
34698
35167
  onCloseButton: onClose
34699
- }, React.createElement(ContentWrapper$1, null, React.createElement(Header$5, null, React.createElement(Title$5, null, "GEM SELECTION"), React.createElement(Subtitle, null, "Select gems to detach")), React.createElement(GemGrid, null, (_item$attachedGems = item.attachedGems) == null ? void 0 : _item$attachedGems.map(function (gem, index) {
35168
+ }, React.createElement(ContentWrapper$1, null, React.createElement(Header$6, null, React.createElement(Title$6, null, "GEM SELECTION"), React.createElement(Subtitle, null, "Select gems to detach")), React.createElement(GemGrid, null, (_item$attachedGems = item.attachedGems) == null ? void 0 : _item$attachedGems.map(function (gem, index) {
34700
35169
  return React.createElement(GemItem, {
34701
35170
  key: gem.key + "-" + index
34702
35171
  }, React.createElement(CheckItemWrapper$1, null, React.createElement(CheckItem, {
@@ -34727,7 +35196,7 @@ var GemSelector = function GemSelector(_ref) {
34727
35196
  disabled: selectedGems.length === 0
34728
35197
  }, "Confirm"))));
34729
35198
  };
34730
- var Title$5 = /*#__PURE__*/styled.h1.withConfig({
35199
+ var Title$6 = /*#__PURE__*/styled.h1.withConfig({
34731
35200
  displayName: "GemSelector__Title",
34732
35201
  componentId: "sc-gbt8g4-0"
34733
35202
  })(["font-size:0.8rem;color:", " !important;"], uiColors.yellow);
@@ -34735,7 +35204,7 @@ var Subtitle = /*#__PURE__*/styled.h2.withConfig({
34735
35204
  displayName: "GemSelector__Subtitle",
34736
35205
  componentId: "sc-gbt8g4-1"
34737
35206
  })(["font-size:0.6rem;color:", ";margin:0;"], uiColors.white);
34738
- var Header$5 = /*#__PURE__*/styled.div.withConfig({
35207
+ var Header$6 = /*#__PURE__*/styled.div.withConfig({
34739
35208
  displayName: "GemSelector__Header",
34740
35209
  componentId: "sc-gbt8g4-2"
34741
35210
  })(["text-align:center;padding:5px;border-bottom:2px solid #444;"]);
@@ -34800,7 +35269,7 @@ var ItemSelector = function ItemSelector(_ref) {
34800
35269
  style: {
34801
35270
  width: '100%'
34802
35271
  }
34803
- }, React.createElement(Title$6, null, 'Harvesting instruments'), React.createElement(Subtitle$1, null, 'Use the tool, you need it'), React.createElement("hr", {
35272
+ }, React.createElement(Title$7, null, 'Harvesting instruments'), React.createElement(Subtitle$1, null, 'Use the tool, you need it'), React.createElement("hr", {
34804
35273
  className: "golden"
34805
35274
  })), React.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
34806
35275
  return React.createElement(RadioOptionsWrapper$1, {
@@ -34829,7 +35298,7 @@ var ItemSelector = function ItemSelector(_ref) {
34829
35298
  buttonType: ButtonTypes.RPGUIButton
34830
35299
  }, "Select")));
34831
35300
  };
34832
- var Title$6 = /*#__PURE__*/styled.h1.withConfig({
35301
+ var Title$7 = /*#__PURE__*/styled.h1.withConfig({
34833
35302
  displayName: "ItemSelector__Title",
34834
35303
  componentId: "sc-gptoxp-0"
34835
35304
  })(["font-size:0.6rem;color:yellow !important;"]);
@@ -35081,7 +35550,7 @@ var MarketplaceRows = function MarketplaceRows(_ref) {
35081
35550
  maxLines: 1,
35082
35551
  maxWidth: "200px",
35083
35552
  fontSize: "10px"
35084
- }, "$", itemPrice)))), React.createElement(ButtonContainer$2, null, React.createElement(Button, {
35553
+ }, "$", itemPrice)))), React.createElement(ButtonContainer$3, null, React.createElement(Button, {
35085
35554
  buttonType: ButtonTypes.RPGUIButton,
35086
35555
  disabled: disabled,
35087
35556
  onPointerDown: function onPointerDown() {
@@ -35123,7 +35592,7 @@ var PriceValue = /*#__PURE__*/styled.div.withConfig({
35123
35592
  displayName: "MarketplaceRows__PriceValue",
35124
35593
  componentId: "sc-wmpr1o-7"
35125
35594
  })(["margin-left:40px;"]);
35126
- var ButtonContainer$2 = /*#__PURE__*/styled.div.withConfig({
35595
+ var ButtonContainer$3 = /*#__PURE__*/styled.div.withConfig({
35127
35596
  displayName: "MarketplaceRows__ButtonContainer",
35128
35597
  componentId: "sc-wmpr1o-8"
35129
35598
  })(["margin:auto;"]);
@@ -35700,7 +36169,7 @@ var PartyCreate = function PartyCreate(_ref) {
35700
36169
  style: {
35701
36170
  width: '100%'
35702
36171
  }
35703
- }, React.createElement(Title$7, null, "Create Party"), React.createElement("hr", {
36172
+ }, React.createElement(Title$8, null, "Create Party"), React.createElement("hr", {
35704
36173
  className: "golden"
35705
36174
  }))), React.createElement("h1", null, "Type your party name"), React.createElement(Input, {
35706
36175
  placeholder: "Type party name",
@@ -35723,7 +36192,7 @@ var Wrapper$1 = /*#__PURE__*/styled.div.withConfig({
35723
36192
  displayName: "PartyCreate__Wrapper",
35724
36193
  componentId: "sc-13brop0-0"
35725
36194
  })(["display:flex;flex-direction:column;width:100%;"]);
35726
- var Title$7 = /*#__PURE__*/styled.h1.withConfig({
36195
+ var Title$8 = /*#__PURE__*/styled.h1.withConfig({
35727
36196
  displayName: "PartyCreate__Title",
35728
36197
  componentId: "sc-13brop0-1"
35729
36198
  })(["font-size:0.6rem;color:", " !important;"], uiColors.yellow);
@@ -35772,7 +36241,7 @@ var PartyDashboard = function PartyDashboard(_ref) {
35772
36241
  style: {
35773
36242
  width: '100%'
35774
36243
  }
35775
- }, React.createElement(Title$8, null, "Party Dashboard"), React.createElement(Button, {
36244
+ }, React.createElement(Title$9, null, "Party Dashboard"), React.createElement(Button, {
35776
36245
  buttonType: ButtonTypes.RPGUIButton
35777
36246
  }, "Create"), React.createElement("hr", {
35778
36247
  className: "golden"
@@ -35799,7 +36268,7 @@ var RowsWrapper = /*#__PURE__*/styled.div.withConfig({
35799
36268
  displayName: "PartyDashboard__RowsWrapper",
35800
36269
  componentId: "sc-16cm41r-1"
35801
36270
  })(["overflow-y:scroll;-webkit-overflow-scrolling:touch;width:100%;height:200px;"]);
35802
- var Title$8 = /*#__PURE__*/styled.h1.withConfig({
36271
+ var Title$9 = /*#__PURE__*/styled.h1.withConfig({
35803
36272
  displayName: "PartyDashboard__Title",
35804
36273
  componentId: "sc-16cm41r-2"
35805
36274
  })(["font-size:0.6rem;color:", " !important;"], uiColors.yellow);
@@ -35836,7 +36305,7 @@ var PartyInvite = function PartyInvite(_ref) {
35836
36305
  style: {
35837
36306
  width: '100%'
35838
36307
  }
35839
- }, React.createElement(Title$9, null, "Invite for Party"), React.createElement("hr", {
36308
+ }, React.createElement(Title$a, null, "Invite for Party"), React.createElement("hr", {
35840
36309
  className: "golden"
35841
36310
  }))), React.createElement(RowsWrapper$1, {
35842
36311
  className: "playersRows"
@@ -35855,7 +36324,7 @@ var Wrapper$3 = /*#__PURE__*/styled.div.withConfig({
35855
36324
  displayName: "PartyInvite__Wrapper",
35856
36325
  componentId: "sc-eu8ggt-0"
35857
36326
  })(["display:flex;flex-direction:column;width:100%;"]);
35858
- var Title$9 = /*#__PURE__*/styled.h1.withConfig({
36327
+ var Title$a = /*#__PURE__*/styled.h1.withConfig({
35859
36328
  displayName: "PartyInvite__Title",
35860
36329
  componentId: "sc-eu8ggt-1"
35861
36330
  })(["font-size:0.6rem;color:", " !important;"], uiColors.yellow);
@@ -35892,7 +36361,7 @@ var PartyManagerRow = function PartyManagerRow(_ref) {
35892
36361
  }, charName, " ", isCurrentUser ? '(You)' : '', " ", isLeader ? '(Leader)' : '')), React.createElement(TextContainer$5, null, React.createElement(Ellipsis, {
35893
36362
  maxLines: 1,
35894
36363
  maxWidth: "300px"
35895
- }, charClass)), React.createElement(ButtonContainer$3, null, canRemove && React.createElement(HighlightedText, {
36364
+ }, charClass)), React.createElement(ButtonContainer$4, null, canRemove && React.createElement(HighlightedText, {
35896
36365
  onPointerDown: function onPointerDown() {
35897
36366
  return onRemovePlayer(id);
35898
36367
  }
@@ -35910,7 +36379,7 @@ var TextContainer$5 = /*#__PURE__*/styled.div.withConfig({
35910
36379
  displayName: "PartyManagerRows__TextContainer",
35911
36380
  componentId: "sc-uqajew-1"
35912
36381
  })(["color:", ";overflow:hidden;white-space:nowrap;text-overflow:ellipsis;"], uiColors.white);
35913
- var ButtonContainer$3 = /*#__PURE__*/styled.div.withConfig({
36382
+ var ButtonContainer$4 = /*#__PURE__*/styled.div.withConfig({
35914
36383
  displayName: "PartyManagerRows__ButtonContainer",
35915
36384
  componentId: "sc-uqajew-2"
35916
36385
  })(["display:flex;align-items:center;gap:1rem;justify-content:flex-start;"]);
@@ -36297,7 +36766,7 @@ var QuestInfo = function QuestInfo(_ref) {
36297
36766
  onPointerDown: onRightClick
36298
36767
  }), React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
36299
36768
  className: "drag-handler"
36300
- }, React.createElement(Title$a, null, React.createElement(Thumbnail, {
36769
+ }, React.createElement(Title$b, null, React.createElement(Thumbnail, {
36301
36770
  src: quests[currentIndex].thumbnail || img$8
36302
36771
  }), quests[currentIndex].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
36303
36772
  className: "golden"
@@ -36316,7 +36785,7 @@ var QuestInfo = function QuestInfo(_ref) {
36316
36785
  }, button.title);
36317
36786
  })))) : React.createElement(QuestsContainer, null, React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
36318
36787
  className: "drag-handler"
36319
- }, React.createElement(Title$a, null, React.createElement(Thumbnail, {
36788
+ }, React.createElement(Title$b, null, React.createElement(Thumbnail, {
36320
36789
  src: quests[0].thumbnail || img$8
36321
36790
  }), quests[0].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
36322
36791
  className: "golden"
@@ -36363,7 +36832,7 @@ var TitleContainer$1 = /*#__PURE__*/styled.div.withConfig({
36363
36832
  displayName: "QuestInfo__TitleContainer",
36364
36833
  componentId: "sc-1wccpiy-6"
36365
36834
  })(["width:100%;display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;margin-top:1rem;"]);
36366
- var Title$a = /*#__PURE__*/styled.h1.withConfig({
36835
+ var Title$b = /*#__PURE__*/styled.h1.withConfig({
36367
36836
  displayName: "QuestInfo__Title",
36368
36837
  componentId: "sc-1wccpiy-7"
36369
36838
  })(["color:white;z-index:22;font-size:", " !important;color:", " !important;"], uiFonts.size.medium, uiColors.yellow);
@@ -36503,76 +36972,6 @@ var RPGUIRoot = function RPGUIRoot(_ref) {
36503
36972
  }, children));
36504
36973
  };
36505
36974
 
36506
- var CTAButton = function CTAButton(_ref) {
36507
- var icon = _ref.icon,
36508
- label = _ref.label,
36509
- onClick = _ref.onClick,
36510
- className = _ref.className,
36511
- _ref$fullWidth = _ref.fullWidth,
36512
- fullWidth = _ref$fullWidth === void 0 ? false : _ref$fullWidth,
36513
- _ref$textColor = _ref.textColor,
36514
- textColor = _ref$textColor === void 0 ? '#ffffff' : _ref$textColor,
36515
- _ref$iconColor = _ref.iconColor,
36516
- iconColor = _ref$iconColor === void 0 ? '#f59e0b' : _ref$iconColor,
36517
- _ref$disabled = _ref.disabled,
36518
- disabled = _ref$disabled === void 0 ? false : _ref$disabled;
36519
- return React.createElement(ButtonContainer$4, {
36520
- className: className,
36521
- onPointerDown: disabled ? undefined : onClick,
36522
- "$fullWidth": fullWidth,
36523
- "$disabled": disabled,
36524
- "$color": textColor
36525
- }, React.createElement(ButtonContent, null, React.createElement(IconWrapper$1, {
36526
- "$color": iconColor,
36527
- "$disabled": disabled
36528
- }, icon), label && React.createElement(ButtonLabel, {
36529
- "$color": textColor,
36530
- "$disabled": disabled
36531
- }, label)));
36532
- };
36533
- var ButtonContainer$4 = /*#__PURE__*/styled.div.withConfig({
36534
- displayName: "CTAButton__ButtonContainer",
36535
- componentId: "sc-1azvwn5-0"
36536
- })(["display:inline-flex;align-items:center;padding:0.75rem 1.25rem;background:rgba(0,0,0,0.3);border:2px solid #f59e0b;box-shadow:0 0 10px rgba(245,158,11,0.3);border-radius:4px;cursor:", ";transition:all 0.2s;position:relative;opacity:", ";color:", ";", " &:hover{background:", ";box-shadow:", ";transform:", ";}&:active{transform:", ";box-shadow:", ";}&:before{content:'';position:absolute;inset:-1px;border-radius:5px;padding:1px;background:linear-gradient(45deg,#f59e0b,#fbbf24,#f59e0b);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask-composite:destination-out;}"], function (props) {
36537
- return props.$disabled ? 'not-allowed' : 'pointer';
36538
- }, function (props) {
36539
- return props.$disabled ? 0.5 : 1;
36540
- }, function (props) {
36541
- return props.$disabled ? '#6b7280' : props.$color;
36542
- }, function (props) {
36543
- return props.$fullWidth && css(["display:flex;justify-content:center;"]);
36544
- }, function (props) {
36545
- return props.$disabled ? 'rgba(0, 0, 0, 0.3)' : 'rgba(0, 0, 0, 0.4)';
36546
- }, function (props) {
36547
- return props.$disabled ? '0 0 10px rgba(245, 158, 11, 0.3)' : '0 0 15px rgba(245, 158, 11, 0.4)';
36548
- }, function (props) {
36549
- return props.$disabled ? 'none' : 'translateY(-1px)';
36550
- }, function (props) {
36551
- return props.$disabled ? 'none' : 'translateY(1px)';
36552
- }, function (props) {
36553
- return props.$disabled ? '0 0 10px rgba(245, 158, 11, 0.3)' : '0 0 5px rgba(245, 158, 11, 0.2)';
36554
- });
36555
- var ButtonContent = /*#__PURE__*/styled.div.withConfig({
36556
- displayName: "CTAButton__ButtonContent",
36557
- componentId: "sc-1azvwn5-1"
36558
- })(["display:flex;align-items:center;gap:0.75rem;"]);
36559
- var IconWrapper$1 = /*#__PURE__*/styled.div.withConfig({
36560
- displayName: "CTAButton__IconWrapper",
36561
- componentId: "sc-1azvwn5-2"
36562
- })(["svg{font-size:1.25rem;color:", ";filter:drop-shadow(0 0 2px rgba(245,158,11,0.5));opacity:", ";}"], function (props) {
36563
- return props.$color;
36564
- }, function (props) {
36565
- return props.$disabled ? 0.5 : 1;
36566
- });
36567
- var ButtonLabel = /*#__PURE__*/styled.span.withConfig({
36568
- displayName: "CTAButton__ButtonLabel",
36569
- componentId: "sc-1azvwn5-3"
36570
- })(["color:", ";font-family:'Press Start 2P',cursive;font-size:0.875rem;text-shadow:0 0 4px rgba(245,158,11,0.5);opacity:", ";"], function (props) {
36571
- return props.$color;
36572
- }, function (props) {
36573
- return props.$disabled ? 0.5 : 1;
36574
- });
36575
-
36576
36975
  var Shortcuts = function Shortcuts(_ref) {
36577
36976
  var shortcuts = _ref.shortcuts,
36578
36977
  onShortcutCast = _ref.onShortcutCast,
@@ -36961,7 +37360,7 @@ var SkillsContainer = function SkillsContainer(_ref) {
36961
37360
  cancelDrag: "#skillsDiv",
36962
37361
  scale: scale,
36963
37362
  width: "100%"
36964
- }, onCloseButton && React.createElement(CloseButton$8, {
37363
+ }, onCloseButton && React.createElement(CloseButton$9, {
36965
37364
  onPointerDown: onCloseButton
36966
37365
  }, "X"), React.createElement(SkillsContainerDiv, {
36967
37366
  id: "skillsDiv"
@@ -36996,7 +37395,7 @@ var SkillSplitDiv = /*#__PURE__*/styled.div.withConfig({
36996
37395
  displayName: "SkillsContainer__SkillSplitDiv",
36997
37396
  componentId: "sc-1g0c67q-2"
36998
37397
  })(["width:100%;font-size:11px;hr{margin:0;margin-bottom:1rem;padding:0px;}p{margin-bottom:0px;}"]);
36999
- var CloseButton$8 = /*#__PURE__*/styled.div.withConfig({
37398
+ var CloseButton$9 = /*#__PURE__*/styled.div.withConfig({
37000
37399
  displayName: "SkillsContainer__CloseButton",
37001
37400
  componentId: "sc-1g0c67q-3"
37002
37401
  })(["position:absolute;top:2px;right:2px;color:white;z-index:22;font-size:1.1rem;"]);
@@ -37132,7 +37531,7 @@ var SpellInfo$1 = function SpellInfo(_ref) {
37132
37531
  castingType = spell.castingType,
37133
37532
  cooldown = spell.cooldown,
37134
37533
  maxDistanceGrid = spell.maxDistanceGrid;
37135
- return React.createElement(Container$F, null, React.createElement(Header$6, null, React.createElement("div", null, React.createElement(Title$b, null, name), React.createElement(Type$1, null, magicWords))), React.createElement(Statistic$1, null, React.createElement("div", {
37534
+ return React.createElement(Container$F, null, React.createElement(Header$7, null, React.createElement("div", null, React.createElement(Title$c, null, name), React.createElement(Type$1, null, magicWords))), React.createElement(Statistic$1, null, React.createElement("div", {
37136
37535
  className: "label"
37137
37536
  }, "Casting Type:"), React.createElement("div", {
37138
37537
  className: "value"
@@ -37162,7 +37561,7 @@ var Container$F = /*#__PURE__*/styled.div.withConfig({
37162
37561
  displayName: "SpellInfo__Container",
37163
37562
  componentId: "sc-4hbw3q-0"
37164
37563
  })(["color:white;background-color:#222;border-radius:5px;padding:0.5rem;font-size:", ";border:3px solid ", ";height:max-content;width:30rem;@media (max-width:580px){width:80vw;}"], uiFonts.size.small, uiColors.lightGray);
37165
- var Title$b = /*#__PURE__*/styled.div.withConfig({
37564
+ var Title$c = /*#__PURE__*/styled.div.withConfig({
37166
37565
  displayName: "SpellInfo__Title",
37167
37566
  componentId: "sc-4hbw3q-1"
37168
37567
  })(["font-size:", ";font-weight:bold;margin-bottom:0.5rem;display:flex;align-items:center;margin:0;"], uiFonts.size.medium);
@@ -37174,7 +37573,7 @@ var Description$4 = /*#__PURE__*/styled.div.withConfig({
37174
37573
  displayName: "SpellInfo__Description",
37175
37574
  componentId: "sc-4hbw3q-3"
37176
37575
  })(["margin-top:1.5rem;font-size:", ";color:", ";font-style:italic;"], uiFonts.size.small, uiColors.lightGray);
37177
- var Header$6 = /*#__PURE__*/styled.div.withConfig({
37576
+ var Header$7 = /*#__PURE__*/styled.div.withConfig({
37178
37577
  displayName: "SpellInfo__Header",
37179
37578
  componentId: "sc-4hbw3q-4"
37180
37579
  })(["display:flex;align-items:center;justify-content:space-between;margin-bottom:0.5rem;"]);
@@ -37390,7 +37789,7 @@ var Spell = function Spell(_ref) {
37390
37789
  onPointerUp: onPointerUp == null ? void 0 : onPointerUp.bind(null, spellKey),
37391
37790
  isSettingShortcut: isSettingShortcut && !disabled,
37392
37791
  className: "spell"
37393
- }, disabled && React.createElement(Overlay$3, null, characterSkillLevel < requiredLevel ? "Low " + getSkillName(attribute || 'magic level') + " level" : manaCost > charMana && 'No mana'), React.createElement(SpellImage, null, activeCooldown && activeCooldown > 0 ? React.createElement("span", {
37792
+ }, disabled && React.createElement(Overlay$4, null, characterSkillLevel < requiredLevel ? "Low " + getSkillName(attribute || 'magic level') + " level" : manaCost > charMana && 'No mana'), React.createElement(SpellImage, null, activeCooldown && activeCooldown > 0 ? React.createElement("span", {
37394
37793
  className: "cooldown"
37395
37794
  }, activeCooldown.toFixed(activeCooldown > 10 ? 0 : 1)) : null, React.createElement(SpriteFromAtlas, {
37396
37795
  atlasIMG: atlasIMG,
@@ -37399,7 +37798,7 @@ var Spell = function Spell(_ref) {
37399
37798
  imgScale: IMAGE_SCALE,
37400
37799
  containerStyle: CONTAINER_STYLE,
37401
37800
  centered: true
37402
- })), React.createElement(Info, null, React.createElement(Title$c, null, React.createElement("span", null, name), React.createElement("span", {
37801
+ })), React.createElement(Info, null, React.createElement(Title$d, null, React.createElement("span", null, name), React.createElement("span", {
37403
37802
  className: "spell"
37404
37803
  }, "(", magicWords, ")")), React.createElement(Description$5, null, description)), React.createElement(Divider$1, null), React.createElement(Cost, null, React.createElement("span", null, "Mana cost:"), React.createElement("span", {
37405
37804
  className: "mana"
@@ -37420,7 +37819,7 @@ var Info = /*#__PURE__*/styled.span.withConfig({
37420
37819
  displayName: "Spell__Info",
37421
37820
  componentId: "sc-j96fa2-2"
37422
37821
  })(["width:0;flex:1;@media (orientation:portrait){display:none;}"]);
37423
- var Title$c = /*#__PURE__*/styled.p.withConfig({
37822
+ var Title$d = /*#__PURE__*/styled.p.withConfig({
37424
37823
  displayName: "Spell__Title",
37425
37824
  componentId: "sc-j96fa2-3"
37426
37825
  })(["display:flex;flex-wrap:wrap;align-items:center;margin-bottom:5px;margin:0;span{font-size:", " !important;font-weight:bold !important;color:", " !important;margin-right:0.5rem;}.spell{font-size:", " !important;font-weight:normal !important;color:", " !important;}"], uiFonts.size.medium, uiColors.yellow, uiFonts.size.small, uiColors.lightGray);
@@ -37436,7 +37835,7 @@ var Cost = /*#__PURE__*/styled.p.withConfig({
37436
37835
  displayName: "Spell__Cost",
37437
37836
  componentId: "sc-j96fa2-6"
37438
37837
  })(["display:flex;align-items:center;flex-direction:column;gap:0.5rem;div{z-index:1;}.mana{position:relative;font-size:", ";font-weight:bold;z-index:1;&::after{position:absolute;content:'';top:0;left:0;background-color:", ";width:100%;height:100%;border-radius:50%;transform:scale(1.8);filter:blur(10px);z-index:-1;}}"], uiFonts.size.medium, uiColors.blue);
37439
- var Overlay$3 = /*#__PURE__*/styled.p.withConfig({
37838
+ var Overlay$4 = /*#__PURE__*/styled.p.withConfig({
37440
37839
  displayName: "Spell__Overlay",
37441
37840
  componentId: "sc-j96fa2-7"
37442
37841
  })(["margin:0 !important;position:absolute;top:0;left:0;width:100%;height:100%;border-radius:1rem;display:flex;justify-content:center;align-items:center;color:", ";font-size:", " !important;font-weight:bold;z-index:10;background-color:rgba(0 0 0 / 0.2);"], uiColors.yellow, uiFonts.size.large);
@@ -37485,7 +37884,7 @@ var Spellbook = function Spellbook(_ref) {
37485
37884
  height: "inherit",
37486
37885
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell",
37487
37886
  scale: scale
37488
- }, React.createElement(Container$J, null, React.createElement(Title$d, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
37887
+ }, React.createElement(Container$J, null, React.createElement(Title$e, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
37489
37888
  setSettingShortcutIndex: setSettingShortcutIndex,
37490
37889
  settingShortcutIndex: settingShortcutIndex,
37491
37890
  shortcuts: shortcuts,
@@ -37518,7 +37917,7 @@ var Spellbook = function Spellbook(_ref) {
37518
37917
  }, spell)));
37519
37918
  }))));
37520
37919
  };
37521
- var Title$d = /*#__PURE__*/styled.h1.withConfig({
37920
+ var Title$e = /*#__PURE__*/styled.h1.withConfig({
37522
37921
  displayName: "Spellbook__Title",
37523
37922
  componentId: "sc-r02nfq-0"
37524
37923
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
@@ -57960,7 +58359,7 @@ var CartView = function CartView(_ref2) {
57960
58359
  return _ref3.apply(this, arguments);
57961
58360
  };
57962
58361
  }();
57963
- return React.createElement(Container$K, null, React.createElement(Header$7, null, React.createElement(Title$e, null, "Shopping Cart"), React.createElement(CloseButton$9, {
58362
+ return React.createElement(Container$K, null, React.createElement(Header$8, null, React.createElement(Title$f, null, "Shopping Cart"), React.createElement(CloseButton$a, {
57964
58363
  onPointerDown: onClose
57965
58364
  }, React.createElement(FaTimes, null))), React.createElement(CartItems, null, cartItems.length === 0 ? React.createElement(EmptyCart, null, "Your cart is empty") : cartItems.map(function (cartItem) {
57966
58365
  var _cartItem$metadata, _cartItem$metadata2;
@@ -57988,7 +58387,7 @@ var CartView = function CartView(_ref2) {
57988
58387
  onRemoveFromCart(cartItem.item.key);
57989
58388
  }
57990
58389
  }));
57991
- })), React.createElement(Footer$1, null, React.createElement(TotalInfo, null, React.createElement(TotalRow, null, React.createElement("span", null, "Total:"), React.createElement("span", null, "$", formatPrice(total))), error && React.createElement(ErrorMessage$1, null, error)), React.createElement(CTAButton, {
58390
+ })), React.createElement(Footer$1, null, React.createElement(TotalInfo, null, React.createElement(TotalRow, null, React.createElement("span", null, "Total:"), React.createElement("span", null, "$", formatPrice(total))), error && React.createElement(ErrorMessage$2, null, error)), React.createElement(CTAButton, {
57992
58391
  icon: React.createElement(FaShoppingBag, null),
57993
58392
  label: isLoading ? 'Processing...' : 'Complete Purchase',
57994
58393
  onClick: handlePurchase,
@@ -58000,15 +58399,15 @@ var Container$K = /*#__PURE__*/styled.div.withConfig({
58000
58399
  displayName: "CartView__Container",
58001
58400
  componentId: "sc-ydtyl1-0"
58002
58401
  })(["display:flex;flex-direction:column;width:100%;height:100%;gap:1.5rem;padding:1.5rem;"]);
58003
- var Header$7 = /*#__PURE__*/styled.div.withConfig({
58402
+ var Header$8 = /*#__PURE__*/styled.div.withConfig({
58004
58403
  displayName: "CartView__Header",
58005
58404
  componentId: "sc-ydtyl1-1"
58006
58405
  })(["display:flex;justify-content:space-between;align-items:center;"]);
58007
- var Title$e = /*#__PURE__*/styled.h2.withConfig({
58406
+ var Title$f = /*#__PURE__*/styled.h2.withConfig({
58008
58407
  displayName: "CartView__Title",
58009
58408
  componentId: "sc-ydtyl1-2"
58010
58409
  })(["font-family:'Press Start 2P',cursive;font-size:1rem;color:#ffffff;margin:0;"]);
58011
- var CloseButton$9 = /*#__PURE__*/styled.div.withConfig({
58410
+ var CloseButton$a = /*#__PURE__*/styled.div.withConfig({
58012
58411
  displayName: "CartView__CloseButton",
58013
58412
  componentId: "sc-ydtyl1-3"
58014
58413
  })(["padding:0.5rem;min-width:unset;width:42px;height:42px;display:flex;font-size:1.5rem;align-items:center;color:white;justify-content:center;"]);
@@ -58052,7 +58451,7 @@ var TotalRow = /*#__PURE__*/styled.div.withConfig({
58052
58451
  displayName: "CartView__TotalRow",
58053
58452
  componentId: "sc-ydtyl1-13"
58054
58453
  })(["display:flex;align-items:center;justify-content:space-between;gap:1rem;font-family:'Press Start 2P',cursive;font-size:1rem;color:#ffffff;span:last-child{color:#fef08a;}"]);
58055
- var ErrorMessage$1 = /*#__PURE__*/styled.div.withConfig({
58454
+ var ErrorMessage$2 = /*#__PURE__*/styled.div.withConfig({
58056
58455
  displayName: "CartView__ErrorMessage",
58057
58456
  componentId: "sc-ydtyl1-14"
58058
58457
  })(["color:#ef4444;font-size:0.875rem;font-family:'Press Start 2P',cursive;text-align:center;"]);
@@ -58350,7 +58749,7 @@ var ScrollableContent = function ScrollableContent(_ref) {
58350
58749
  _ref$maxHeight = _ref.maxHeight,
58351
58750
  maxHeight = _ref$maxHeight === void 0 ? '500px' : _ref$maxHeight;
58352
58751
  if (items.length === 0) {
58353
- return React.createElement(EmptyMessage$2, null, emptyMessage);
58752
+ return React.createElement(EmptyMessage$3, null, emptyMessage);
58354
58753
  }
58355
58754
  return React.createElement(Container$L, {
58356
58755
  className: className
@@ -58409,7 +58808,7 @@ var Content$4 = /*#__PURE__*/styled.div.withConfig({
58409
58808
  }, function (props) {
58410
58809
  return props.$gridColumns;
58411
58810
  });
58412
- var EmptyMessage$2 = /*#__PURE__*/styled.div.withConfig({
58811
+ var EmptyMessage$3 = /*#__PURE__*/styled.div.withConfig({
58413
58812
  displayName: "ScrollableContent__EmptyMessage",
58414
58813
  componentId: "sc-xhh2um-8"
58415
58814
  })(["text-align:center;color:#9ca3af;padding:2rem;flex:1;display:flex;align-items:center;justify-content:center;"]);
@@ -58490,7 +58889,7 @@ var StoreCharacterSkinRow = function StoreCharacterSkinRow(_ref) {
58490
58889
  height: 32,
58491
58890
  imgScale: 2,
58492
58891
  centered: true
58493
- }) : React.createElement(DefaultIcon, null, "\uD83D\uDC64")), React.createElement(ItemDetails$1, null, React.createElement(Header$8, null, React.createElement(ItemName$1, null, item.name)), availableCharacters.length > 0 && currentCharacter && React.createElement(SelectedSkinNav, null, React.createElement(SelectedSkin, null, "Selected:"), React.createElement(SkinNavArrow, {
58892
+ }) : React.createElement(DefaultIcon, null, "\uD83D\uDC64")), React.createElement(ItemDetails$1, null, React.createElement(Header$9, null, React.createElement(ItemName$1, null, item.name)), availableCharacters.length > 0 && currentCharacter && React.createElement(SelectedSkinNav, null, React.createElement(SelectedSkin, null, "Selected:"), React.createElement(SkinNavArrow, {
58494
58893
  direction: "left",
58495
58894
  onPointerDown: handlePreviousSkin,
58496
58895
  size: 24
@@ -58542,7 +58941,7 @@ var SkinNavArrow = /*#__PURE__*/styled(SelectArrow).withConfig({
58542
58941
  displayName: "StoreCharacterSkinRow__SkinNavArrow",
58543
58942
  componentId: "sc-81xqsx-7"
58544
58943
  })(["position:static;"]);
58545
- var Header$8 = /*#__PURE__*/styled.div.withConfig({
58944
+ var Header$9 = /*#__PURE__*/styled.div.withConfig({
58546
58945
  displayName: "StoreCharacterSkinRow__Header",
58547
58946
  componentId: "sc-81xqsx-8"
58548
58947
  })(["display:flex;align-items:center;gap:0.5rem;"]);
@@ -58945,7 +59344,7 @@ var StoreItemDetails = function StoreItemDetails(_ref) {
58945
59344
  if (typeof imageUrl === 'string') return imageUrl;
58946
59345
  return imageUrl["default"] || imageUrl.src;
58947
59346
  };
58948
- return React.createElement(Container$M, null, React.createElement(Header$9, null, React.createElement(BackButton, {
59347
+ return React.createElement(Container$M, null, React.createElement(Header$a, null, React.createElement(BackButton, {
58949
59348
  onClick: onBack
58950
59349
  }, React.createElement(FaArrowLeft, null), React.createElement("span", null, "Back"))), React.createElement(Content$5, null, React.createElement(DetailsGrid, null, React.createElement(ItemIcon, null, React.createElement("img", {
58951
59350
  src: getImageSrc(),
@@ -58963,7 +59362,7 @@ var Container$M = /*#__PURE__*/styled.div.withConfig({
58963
59362
  displayName: "StoreItemDetails__Container",
58964
59363
  componentId: "sc-k3ho5z-0"
58965
59364
  })(["display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem;height:100%;"]);
58966
- var Header$9 = /*#__PURE__*/styled.div.withConfig({
59365
+ var Header$a = /*#__PURE__*/styled.div.withConfig({
58967
59366
  displayName: "StoreItemDetails__Header",
58968
59367
  componentId: "sc-k3ho5z-1"
58969
59368
  })(["display:flex;align-items:center;gap:1rem;"]);
@@ -59131,7 +59530,7 @@ var Store = function Store(_ref) {
59131
59530
  return React.createElement(LoadingMessage$1, null, "Loading...");
59132
59531
  }
59133
59532
  if (error) {
59134
- return React.createElement(ErrorMessage$2, null, error);
59533
+ return React.createElement(ErrorMessage$3, null, error);
59135
59534
  }
59136
59535
  // Build tabs dynamically based on props
59137
59536
  var tabIds = tabOrder != null ? tabOrder : ['premium', 'packs', 'items'];
@@ -59299,7 +59698,7 @@ var LoadingMessage$1 = /*#__PURE__*/styled.div.withConfig({
59299
59698
  displayName: "Store__LoadingMessage",
59300
59699
  componentId: "sc-64dj00-8"
59301
59700
  })(["text-align:center;color:", ";padding:2rem;"], uiColors.white);
59302
- var ErrorMessage$2 = /*#__PURE__*/styled.div.withConfig({
59701
+ var ErrorMessage$3 = /*#__PURE__*/styled.div.withConfig({
59303
59702
  displayName: "Store__ErrorMessage",
59304
59703
  componentId: "sc-64dj00-9"
59305
59704
  })(["text-align:center;color:", ";padding:2rem;"], uiColors.red);
@@ -59322,13 +59721,13 @@ var PaymentMethodModal = function PaymentMethodModal(_ref) {
59322
59721
  onPayWithCard();
59323
59722
  }
59324
59723
  }, [selected, onPayWithDC, onPayWithCard]);
59325
- return React.createElement(ModalPortal, null, React.createElement(Overlay$4, {
59724
+ return React.createElement(ModalPortal, null, React.createElement(Overlay$5, {
59326
59725
  onPointerDown: onClose
59327
- }), React.createElement(ModalContainer$1, null, React.createElement(ModalContent$1, {
59726
+ }), React.createElement(ModalContainer$2, null, React.createElement(ModalContent$2, {
59328
59727
  onClick: stopPropagation,
59329
59728
  onTouchStart: stopPropagation,
59330
59729
  onPointerDown: stopPropagation
59331
- }, React.createElement(Header$a, null, React.createElement(Title$f, null, "How would you like to pay?"), React.createElement(CloseButton$a, {
59730
+ }, React.createElement(Header$b, null, React.createElement(Title$g, null, "How would you like to pay?"), React.createElement(CloseButton$b, {
59332
59731
  onPointerDown: onClose,
59333
59732
  "aria-label": "Close"
59334
59733
  }, React.createElement(FaTimes, null))), React.createElement(Options, null, React.createElement(RadioOption, {
@@ -59350,27 +59749,27 @@ var PaymentMethodModal = function PaymentMethodModal(_ref) {
59350
59749
  onPointerDown: handleConfirm
59351
59750
  }, "Confirm")))));
59352
59751
  };
59353
- var Overlay$4 = /*#__PURE__*/styled.div.withConfig({
59752
+ var Overlay$5 = /*#__PURE__*/styled.div.withConfig({
59354
59753
  displayName: "PaymentMethodModal__Overlay",
59355
59754
  componentId: "sc-1dxy6lr-0"
59356
59755
  })(["position:fixed;inset:0;background:rgba(0,0,0,0.65);z-index:1000;"]);
59357
- var ModalContainer$1 = /*#__PURE__*/styled.div.withConfig({
59756
+ var ModalContainer$2 = /*#__PURE__*/styled.div.withConfig({
59358
59757
  displayName: "PaymentMethodModal__ModalContainer",
59359
59758
  componentId: "sc-1dxy6lr-1"
59360
59759
  })(["position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1001;pointer-events:none;"]);
59361
- var ModalContent$1 = /*#__PURE__*/styled.div.withConfig({
59760
+ var ModalContent$2 = /*#__PURE__*/styled.div.withConfig({
59362
59761
  displayName: "PaymentMethodModal__ModalContent",
59363
59762
  componentId: "sc-1dxy6lr-2"
59364
59763
  })(["background:#1a1a2e;border:2px solid #f59e0b;border-radius:8px;padding:20px 24px 24px;min-width:300px;max-width:90%;display:flex;flex-direction:column;gap:16px;pointer-events:auto;animation:scaleIn 0.15s ease-out;@keyframes scaleIn{from{transform:scale(0.85);opacity:0;}to{transform:scale(1);opacity:1;}}"]);
59365
- var Header$a = /*#__PURE__*/styled.div.withConfig({
59764
+ var Header$b = /*#__PURE__*/styled.div.withConfig({
59366
59765
  displayName: "PaymentMethodModal__Header",
59367
59766
  componentId: "sc-1dxy6lr-3"
59368
59767
  })(["display:flex;align-items:center;justify-content:space-between;"]);
59369
- var Title$f = /*#__PURE__*/styled.h3.withConfig({
59768
+ var Title$g = /*#__PURE__*/styled.h3.withConfig({
59370
59769
  displayName: "PaymentMethodModal__Title",
59371
59770
  componentId: "sc-1dxy6lr-4"
59372
59771
  })(["margin:0;font-family:'Press Start 2P',cursive;font-size:0.7rem;color:#fef08a;"]);
59373
- var CloseButton$a = /*#__PURE__*/styled.button.withConfig({
59772
+ var CloseButton$b = /*#__PURE__*/styled.button.withConfig({
59374
59773
  displayName: "PaymentMethodModal__CloseButton",
59375
59774
  componentId: "sc-1dxy6lr-5"
59376
59775
  })(["background:none;border:none;color:rgba(255,255,255,0.6);cursor:pointer;font-size:1rem;padding:4px;display:flex;align-items:center;&:hover{color:#ffffff;}"]);
@@ -59449,7 +59848,7 @@ var TimeWidget = function TimeWidget(_ref) {
59449
59848
  return React.createElement(Draggable, {
59450
59849
  scale: scale,
59451
59850
  cancel: ".time-widget-close,.time-widget-container,.time-widget-container *"
59452
- }, React.createElement(WidgetContainer, null, React.createElement(CloseButton$b, {
59851
+ }, React.createElement(WidgetContainer, null, React.createElement(CloseButton$c, {
59453
59852
  onPointerDown: onClose,
59454
59853
  className: "time-widget-close"
59455
59854
  }, "X"), React.createElement(DayNightContainer, {
@@ -59466,7 +59865,7 @@ var Time = /*#__PURE__*/styled.div.withConfig({
59466
59865
  displayName: "TimeWidget__Time",
59467
59866
  componentId: "sc-1ja236h-1"
59468
59867
  })(["top:0.75rem;right:0.5rem;position:absolute;font-size:", ";color:white;"], uiFonts.size.small);
59469
- var CloseButton$b = /*#__PURE__*/styled.p.withConfig({
59868
+ var CloseButton$c = /*#__PURE__*/styled.p.withConfig({
59470
59869
  displayName: "TimeWidget__CloseButton",
59471
59870
  componentId: "sc-1ja236h-2"
59472
59871
  })(["position:absolute;top:-0.5rem;margin:0;right:-0.2rem;font-size:", " !important;z-index:1;"], uiFonts.size.small);
@@ -59745,7 +60144,7 @@ var TradingMenu = function TradingMenu(_ref) {
59745
60144
  width: "500px",
59746
60145
  cancelDrag: "#TraderContainer",
59747
60146
  scale: scale
59748
- }, React.createElement(Container$O, null, React.createElement(Title$g, null, type.charAt(0).toUpperCase() + type.slice(1), " Menu"), React.createElement("hr", {
60147
+ }, React.createElement(Container$O, null, React.createElement(Title$h, null, type.charAt(0).toUpperCase() + type.slice(1), " Menu"), React.createElement("hr", {
59749
60148
  className: "golden"
59750
60149
  }), React.createElement(ScrollWrapper, {
59751
60150
  id: "TraderContainer"
@@ -59777,7 +60176,7 @@ var Container$O = /*#__PURE__*/styled.div.withConfig({
59777
60176
  displayName: "TradingMenu__Container",
59778
60177
  componentId: "sc-1wjsz1l-0"
59779
60178
  })(["width:100%;"]);
59780
- var Title$g = /*#__PURE__*/styled.h1.withConfig({
60179
+ var Title$h = /*#__PURE__*/styled.h1.withConfig({
59781
60180
  displayName: "TradingMenu__Title",
59782
60181
  componentId: "sc-1wjsz1l-1"
59783
60182
  })(["font-size:0.7rem !important;color:yellow !important;text-align:center;"]);
@@ -59957,5 +60356,5 @@ var LessonContainer = /*#__PURE__*/styled.div.withConfig({
59957
60356
  componentId: "sc-7tgzv2-6"
59958
60357
  })(["display:flex;flex-direction:column;justify-content:space-between;min-height:200px;p{font-size:0.7rem !important;}"]);
59959
60358
 
59960
- export { ActionButtons, AsyncDropdown, Button, ButtonTypes, CTAButton, CartView, CharacterSelection, CharacterSkinSelectionModal, Chat, ChatDeprecated, ChatRevamp, CheckButton, CheckItem, CircularController, CraftBook, DailyTasks, DraggableContainer, Dropdown, DropdownSelectorContainer, DynamicText, EquipmentSet, EquipmentSlotSpriteByType, ErrorBoundary, FriendList, GemSelector, HistoryDialog, ImageCarousel, ImgSide, InformationCenter, Input, InputRadio, InternalTabs, ItemContainer$1 as ItemContainer, ItemPropertySimpleHandler, ItemQuantitySelectorModal, ItemSelector, ItemSlot, JoystickDPad, Leaderboard, ListMenu, LoginStreakPanel, Marketplace, MarketplaceRows, MetadataCollector, MultitabType, NPCDialog, NPCDialogType, NPCMultiDialog, PartyCreate, PartyDashboard, PartyInvite, PartyManager, PartyManagerRow, PartyRow, PaymentMethodModal, PlayersRow, ProgressBar$1 as ProgressBar, PropertySelect, QuantitySelectorModal, QuestInfo, QuestList, QuestionDialog, RPGUIContainer, RPGUIContainerTypes, RPGUIRoot, RangeSlider, RangeSliderType, SelectArrow, Shortcuts, SimpleImageCarousel, SkillProgressBar, SkillsContainer, SocialModal, Spellbook, SpriteFromAtlas, Stepper, Store, TabBody, Table, TableCell, TableHeader, TableRow, TabsContainer, TextArea, TimeWidget, Tooltip, TradingMenu, Truncate, TutorialStepper, UserActionLink, _RPGUI, formatQuestStatus, formatQuestText, getMockedPlayersRowsLeader, getMockedPlayersRowsNotLeader, getQuestStatusColor, mockedPartyManager, mockedPartyRows, mockedPlayersRows, mockedPlayersRows2, useEventListener, useStoreCart };
60359
+ export { ActionButtons, AsyncDropdown, Button, ButtonTypes, CTAButton, CartView, CharacterSelection, CharacterSkinSelectionModal, Chat, ChatDeprecated, ChatRevamp, CheckButton, CheckItem, CircularController, CraftBook, DCWalletModal, DailyTasks, DraggableContainer, Dropdown, DropdownSelectorContainer, DynamicText, EquipmentSet, EquipmentSlotSpriteByType, ErrorBoundary, FriendList, GemSelector, HistoryDialog, ImageCarousel, ImgSide, InformationCenter, Input, InputRadio, InternalTabs, ItemContainer$1 as ItemContainer, ItemPropertySimpleHandler, ItemQuantitySelectorModal, ItemSelector, ItemSlot, JoystickDPad, Leaderboard, ListMenu, LoginStreakPanel, Marketplace, MarketplaceRows, MetadataCollector, MultitabType, NPCDialog, NPCDialogType, NPCMultiDialog, PartyCreate, PartyDashboard, PartyInvite, PartyManager, PartyManagerRow, PartyRow, PaymentMethodModal, PlayersRow, ProgressBar$1 as ProgressBar, PropertySelect, QuantitySelectorModal, QuestInfo, QuestList, QuestionDialog, RPGUIContainer, RPGUIContainerTypes, RPGUIRoot, RangeSlider, RangeSliderType, SelectArrow, Shortcuts, SimpleImageCarousel, SkillProgressBar, SkillsContainer, SocialModal, Spellbook, SpriteFromAtlas, Stepper, Store, TabBody, Table, TableCell, TableHeader, TableRow, TabsContainer, TextArea, TimeWidget, Tooltip, TradingMenu, Truncate, TutorialStepper, UserActionLink, _RPGUI, formatQuestStatus, formatQuestText, getMockedPlayersRowsLeader, getMockedPlayersRowsNotLeader, getQuestStatusColor, mockedPartyManager, mockedPartyRows, mockedPlayersRows, mockedPlayersRows2, useEventListener, useStoreCart };
59961
60360
  //# sourceMappingURL=long-bow.esm.js.map