@rpg-engine/long-bow 0.8.228 → 0.8.230

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.
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ export interface IRadioSelectCardProps {
3
+ label: string;
4
+ description?: string;
5
+ badge?: string;
6
+ icon?: React.ReactNode;
7
+ active?: boolean;
8
+ onClick: () => void;
9
+ 'data-testid'?: string;
10
+ }
11
+ /**
12
+ * Dark RPG-themed radio-style card.
13
+ * Matches the aesthetic of MarketplaceSettingsPanel OptionCard.
14
+ * Uses !important overrides to survive RPGUI global CSS.
15
+ */
16
+ export declare const RadioSelectCard: React.FC<IRadioSelectCardProps>;
package/dist/index.d.ts CHANGED
@@ -63,6 +63,7 @@ export * from './components/QuantitySelector/QuantitySelectorModal';
63
63
  export * from './components/Quests/QuestInfo/QuestInfo';
64
64
  export * from './components/Quests/QuestList';
65
65
  export * from './components/RadioButton';
66
+ export * from './components/RadioSelectCard/RadioSelectCard';
66
67
  export * from './components/RangeSlider';
67
68
  export * from './components/RPGUI/RPGUIContainer';
68
69
  export * from './components/RPGUI/RPGUIRoot';
@@ -7202,7 +7202,7 @@ var DynamicText = function DynamicText(_ref) {
7202
7202
  var TextContainer = /*#__PURE__*/styled__default.p.withConfig({
7203
7203
  displayName: "DynamicText__TextContainer",
7204
7204
  componentId: "sc-1ggl9nd-0"
7205
- })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
7205
+ })(["font-size:0.8rem !important;line-height:1.6;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;margin:0;"]);
7206
7206
 
7207
7207
  var img$4 = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
7208
7208
 
@@ -7289,18 +7289,15 @@ var NPCDialogText = function NPCDialogText(_ref) {
7289
7289
  var Container$p = /*#__PURE__*/styled__default.div.withConfig({
7290
7290
  displayName: "NPCDialogText__Container",
7291
7291
  componentId: "sc-1cxkdh9-0"
7292
- })([""]);
7292
+ })(["width:100%;height:100%;display:flex;flex-direction:column;position:relative;padding-bottom:24px;"]);
7293
7293
  var TextContainer$1 = /*#__PURE__*/styled__default.p.withConfig({
7294
7294
  displayName: "NPCDialogText__TextContainer",
7295
7295
  componentId: "sc-1cxkdh9-1"
7296
- })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
7296
+ })(["font-size:0.8rem !important;line-height:1.6;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;margin:0;flex:1;"]);
7297
7297
  var PressSpaceIndicator = /*#__PURE__*/styled__default.img.withConfig({
7298
7298
  displayName: "NPCDialogText__PressSpaceIndicator",
7299
7299
  componentId: "sc-1cxkdh9-2"
7300
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
7301
- var right = _ref2.right;
7302
- return right;
7303
- });
7300
+ })(["position:absolute;left:0;bottom:-0.5rem;height:20px;object-fit:contain;object-position:left;image-rendering:-webkit-optimize-contrast;cursor:pointer;"]);
7304
7301
 
7305
7302
  //@ts-ignore
7306
7303
  var useEventListener = function useEventListener(type, handler, el) {
@@ -7514,10 +7511,8 @@ var NPCDialog = function NPCDialog(_ref) {
7514
7511
  }
7515
7512
  })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
7516
7513
  src: imagePath || img$6
7517
- }))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$r, null, React__default.createElement(CloseIcon, {
7518
- onPointerDown: _onClose
7519
- }, "X"), React__default.createElement(TextContainer$2, {
7520
- flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
7514
+ }))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$r, null, React__default.createElement(TextContainer$2, {
7515
+ flex: type === exports.NPCDialogType.TextAndThumbnail ? '1' : '100%'
7521
7516
  }, React__default.createElement(NPCDialogText, {
7522
7517
  type: type,
7523
7518
  text: text || 'No text provided.',
@@ -7527,33 +7522,37 @@ var NPCDialog = function NPCDialog(_ref) {
7527
7522
  _onClose();
7528
7523
  }
7529
7524
  }
7530
- })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
7525
+ })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer, null, React__default.createElement(CloseButton$6, {
7526
+ onPointerDown: _onClose
7527
+ }, React__default.createElement(fa.FaTimes, {
7528
+ size: 12
7529
+ })), React__default.createElement(NPCThumbnail, {
7531
7530
  src: imagePath || img$6
7532
7531
  })))));
7533
7532
  };
7534
7533
  var Container$r = /*#__PURE__*/styled__default.div.withConfig({
7535
7534
  displayName: "NPCDialog__Container",
7536
7535
  componentId: "sc-1b4aw74-0"
7537
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
7538
- var CloseIcon = /*#__PURE__*/styled__default.p.withConfig({
7539
- displayName: "NPCDialog__CloseIcon",
7536
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:flex-start;align-items:center;position:relative;padding:1rem 1rem 0.5rem 1rem;"]);
7537
+ var CloseButton$6 = /*#__PURE__*/styled__default.button.withConfig({
7538
+ displayName: "NPCDialog__CloseButton",
7540
7539
  componentId: "sc-1b4aw74-1"
7541
- })(["position:absolute;top:-1.5rem;right:-0.4rem;cursor:pointer;color:white;font-size:1.1rem !important;"]);
7540
+ })(["position:absolute;top:-12px;right:-12px;width:26px;height:26px;background:#000;border:2px solid #fff;border-radius:2px;color:#fff;display:flex;justify-content:center;align-items:center;cursor:pointer;z-index:10;padding:0;box-shadow:0 2px 0px rgba(0,0,0,1);transition:all 0.1s;&:hover{background:#333;border-color:#eee;}&:active{transform:translateY(2px);box-shadow:0 0 0px rgba(0,0,0,1);}"]);
7542
7541
  var TextContainer$2 = /*#__PURE__*/styled__default.div.withConfig({
7543
7542
  displayName: "NPCDialog__TextContainer",
7544
7543
  componentId: "sc-1b4aw74-2"
7545
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
7544
+ })(["flex:", ";height:100%;padding-right:1.5rem;display:flex;flex-direction:column;"], function (_ref2) {
7546
7545
  var flex = _ref2.flex;
7547
7546
  return flex;
7548
7547
  });
7549
7548
  var ThumbnailContainer = /*#__PURE__*/styled__default.div.withConfig({
7550
7549
  displayName: "NPCDialog__ThumbnailContainer",
7551
7550
  componentId: "sc-1b4aw74-3"
7552
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
7551
+ })(["flex-shrink:0;position:relative;width:116px;height:116px;border:4px solid #1a100c;border-radius:2px;box-shadow:inset 0 0 0 2px rgba(0,0,0,0.4),0 0 0 2px #d4a373,0 0 0 4px #000;background:#3e2723;display:flex;justify-content:center;align-items:center;margin-right:8px;padding:2px;"]);
7553
7552
  var NPCThumbnail = /*#__PURE__*/styled__default.img.withConfig({
7554
7553
  displayName: "NPCDialog__NPCThumbnail",
7555
7554
  componentId: "sc-1b4aw74-4"
7556
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
7555
+ })(["image-rendering:pixelated;height:100%;width:100%;object-fit:contain;border-radius:1px;"]);
7557
7556
 
7558
7557
  (function (ImgSide) {
7559
7558
  ImgSide["right"] = "right";
@@ -7782,7 +7781,7 @@ var ImageCarousel = function ImageCarousel(_ref) {
7782
7781
  onPointerDown: function onPointerDown() {
7783
7782
  return goToNextImage();
7784
7783
  }
7785
- }))), onCloseButton && React__default.createElement(CloseButton$6, {
7784
+ }))), onCloseButton && React__default.createElement(CloseButton$7, {
7786
7785
  className: "container-close",
7787
7786
  onPointerDown: onCloseButton
7788
7787
  }, "X"));
@@ -7813,7 +7812,7 @@ var Description$1 = /*#__PURE__*/styled__default.div.withConfig({
7813
7812
  }, function (props) {
7814
7813
  return props.isTextFixed ? 'none' : 'rgba(0, 0, 0, 0.6)';
7815
7814
  });
7816
- var CloseButton$6 = /*#__PURE__*/styled__default.div.withConfig({
7815
+ var CloseButton$7 = /*#__PURE__*/styled__default.div.withConfig({
7817
7816
  displayName: "ImageCarousel__CloseButton",
7818
7817
  componentId: "sc-jl6f8-4"
7819
7818
  })(["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;}"]);
@@ -8230,7 +8229,7 @@ var BaseInformationDetails = function BaseInformationDetails(_ref) {
8230
8229
  children = _ref.children;
8231
8230
  return React__default.createElement(Container$u, null, React__default.createElement(Overlay$2, {
8232
8231
  onClick: onBack
8233
- }), React__default.createElement(Modal, null, React__default.createElement(CloseButton$7, {
8232
+ }), React__default.createElement(Modal, null, React__default.createElement(CloseButton$8, {
8234
8233
  onClick: onBack
8235
8234
  }, React__default.createElement(fa.FaTimes, null)), React__default.createElement(Header$4, null, React__default.createElement(SpriteContainer$2, null, React__default.createElement(SpriteFromAtlas, {
8236
8235
  atlasJSON: atlasJSON,
@@ -8253,7 +8252,7 @@ var Modal = /*#__PURE__*/styled__default.div.withConfig({
8253
8252
  displayName: "BaseInformationDetails__Modal",
8254
8253
  componentId: "sc-1vguuz8-2"
8255
8254
  })(["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);
8256
- var CloseButton$7 = /*#__PURE__*/styled__default.button.withConfig({
8255
+ var CloseButton$8 = /*#__PURE__*/styled__default.button.withConfig({
8257
8256
  displayName: "BaseInformationDetails__CloseButton",
8258
8257
  componentId: "sc-1vguuz8-3"
8259
8258
  })(["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);
@@ -8646,7 +8645,7 @@ var AdvancedFilters = function AdvancedFilters(_ref) {
8646
8645
  zIndex: 9999
8647
8646
  },
8648
8647
  "$isMobile": isMobile
8649
- }, React__default.createElement(FilterHeader, null, React__default.createElement(FilterTitle, null, "Advanced Filters"), React__default.createElement(CloseButton$8, {
8648
+ }, React__default.createElement(FilterHeader, null, React__default.createElement(FilterTitle, null, "Advanced Filters"), React__default.createElement(CloseButton$9, {
8650
8649
  onClick: handleClose
8651
8650
  }, "\xD7")), sections.map(renderFilterSection), hasActiveFilters && React__default.createElement(ClearFiltersButton, {
8652
8651
  onClick: onClearAll
@@ -8718,7 +8717,7 @@ var ClearFiltersButton = /*#__PURE__*/styled__default.button.withConfig({
8718
8717
  displayName: "AdvancedFilters__ClearFiltersButton",
8719
8718
  componentId: "sc-1xj6ldr-10"
8720
8719
  })(["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;}"]);
8721
- var CloseButton$8 = /*#__PURE__*/styled__default.button.withConfig({
8720
+ var CloseButton$9 = /*#__PURE__*/styled__default.button.withConfig({
8722
8721
  displayName: "AdvancedFilters__CloseButton",
8723
8722
  componentId: "sc-1xj6ldr-11"
8724
8723
  })(["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;}"]);
@@ -10059,7 +10058,7 @@ var QuantitySelector = function QuantitySelector(_ref) {
10059
10058
  return React__default.createElement(StyledContainer, {
10060
10059
  type: exports.RPGUIContainerTypes.Framed,
10061
10060
  width: "25rem"
10062
- }, React__default.createElement(CloseButton$9, {
10061
+ }, React__default.createElement(CloseButton$a, {
10063
10062
  className: "container-close",
10064
10063
  onPointerDown: onClose
10065
10064
  }, "X"), React__default.createElement("h2", null, title), React__default.createElement(StyledForm, {
@@ -10104,7 +10103,7 @@ var StyledContainer = /*#__PURE__*/styled__default(RPGUIContainer).withConfig({
10104
10103
  displayName: "QuantitySelector__StyledContainer",
10105
10104
  componentId: "sc-z4ut57-0"
10106
10105
  })(["position:relative;display:flex;flex-direction:column;align-items:center;padding:1rem;h2{margin:0;margin-bottom:1rem;font-size:1rem;}"]);
10107
- var CloseButton$9 = /*#__PURE__*/styled__default.div.withConfig({
10106
+ var CloseButton$a = /*#__PURE__*/styled__default.div.withConfig({
10108
10107
  displayName: "QuantitySelector__CloseButton",
10109
10108
  componentId: "sc-z4ut57-1"
10110
10109
  })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:1.5rem;cursor:pointer;"]);
@@ -11096,7 +11095,7 @@ var BlueprintSearchModal = function BlueprintSearchModal(_ref) {
11096
11095
  }), React__default.createElement(ModalContainer$2, null, React__default.createElement(ModalContent$2, {
11097
11096
  onClick: stopPropagation,
11098
11097
  onPointerDown: stopPropagation
11099
- }, React__default.createElement(Header$8, null, React__default.createElement(Title$9, null, "Select Item"), React__default.createElement(CloseButton$a, {
11098
+ }, React__default.createElement(Header$8, null, React__default.createElement(Title$9, null, "Select Item"), React__default.createElement(CloseButton$b, {
11100
11099
  onPointerDown: handleClose,
11101
11100
  "aria-label": "Close"
11102
11101
  }, React__default.createElement(fa.FaTimes, null))), React__default.createElement(InputWrapper, null, React__default.createElement("p", null, "SEARCH"), React__default.createElement(StyledInput$2, {
@@ -11162,7 +11161,7 @@ var Title$9 = /*#__PURE__*/styled__default.h3.withConfig({
11162
11161
  displayName: "BlueprintSearchModal__Title",
11163
11162
  componentId: "sc-i7bssq-4"
11164
11163
  })(["margin:0;font-family:'Press Start 2P',cursive;font-size:0.7rem;color:#fef08a;"]);
11165
- var CloseButton$a = /*#__PURE__*/styled__default.button.withConfig({
11164
+ var CloseButton$b = /*#__PURE__*/styled__default.button.withConfig({
11166
11165
  displayName: "BlueprintSearchModal__CloseButton",
11167
11166
  componentId: "sc-i7bssq-5"
11168
11167
  })(["background:none;border:none;color:rgba(255,255,255,0.6);cursor:pointer;font-size:1rem;padding:4px;display:flex;align-items:center;pointer-events:auto;&:hover{color:#ffffff;}"]);
@@ -11308,7 +11307,7 @@ var BuyOrderDetailsModal = function BuyOrderDetailsModal(_ref) {
11308
11307
  }, React__default.createElement(ModalContent$3, {
11309
11308
  onClick: stopPropagation,
11310
11309
  onPointerDown: stopPropagation
11311
- }, React__default.createElement(Header$9, null, React__default.createElement(Title$a, null, "Place Buy Request"), React__default.createElement(CloseButton$b, {
11310
+ }, React__default.createElement(Header$9, null, React__default.createElement(Title$a, null, "Place Buy Request"), React__default.createElement(CloseButton$c, {
11312
11311
  onPointerDown: handleClose,
11313
11312
  "aria-label": "Close"
11314
11313
  }, React__default.createElement(fa.FaTimes, null))), React__default.createElement(ItemDisplay, null, React__default.createElement(SpriteWrapper$2, null, React__default.createElement(SpriteFromAtlas, {
@@ -11380,7 +11379,7 @@ var Title$a = /*#__PURE__*/styled__default.h3.withConfig({
11380
11379
  displayName: "BuyOrderDetailsModal__Title",
11381
11380
  componentId: "sc-6bghe9-4"
11382
11381
  })(["margin:0;font-family:'Press Start 2P',cursive;font-size:0.7rem;color:#fef08a;"]);
11383
- var CloseButton$b = /*#__PURE__*/styled__default.button.withConfig({
11382
+ var CloseButton$c = /*#__PURE__*/styled__default.button.withConfig({
11384
11383
  displayName: "BuyOrderDetailsModal__CloseButton",
11385
11384
  componentId: "sc-6bghe9-5"
11386
11385
  })(["background:none;border:none;color:rgba(255,255,255,0.6);cursor:pointer;font-size:1rem;padding:4px;display:flex;align-items:center;pointer-events:auto;&:hover{color:#ffffff;}"]);
@@ -11932,7 +11931,7 @@ var MarketplaceBuyModal = function MarketplaceBuyModal(_ref) {
11932
11931
  onClick: stopPropagation,
11933
11932
  onTouchStart: stopPropagation,
11934
11933
  onPointerDown: stopPropagation
11935
- }, React__default.createElement(Header$a, null, React__default.createElement(Title$b, null, "Confirm Purchase"), React__default.createElement(CloseButton$c, {
11934
+ }, React__default.createElement(Header$a, null, React__default.createElement(Title$b, null, "Confirm Purchase"), React__default.createElement(CloseButton$d, {
11936
11935
  onPointerDown: onClose,
11937
11936
  "aria-label": "Close"
11938
11937
  }, React__default.createElement(fa.FaTimes, null))), React__default.createElement(Options, null, React__default.createElement(RadioOption, {
@@ -11985,7 +11984,7 @@ var Title$b = /*#__PURE__*/styled__default.h3.withConfig({
11985
11984
  displayName: "MarketplaceBuyModal__Title",
11986
11985
  componentId: "sc-86ottl-4"
11987
11986
  })(["margin:0;font-family:'Press Start 2P',cursive;font-size:0.7rem;color:#fef08a;"]);
11988
- var CloseButton$c = /*#__PURE__*/styled__default.button.withConfig({
11987
+ var CloseButton$d = /*#__PURE__*/styled__default.button.withConfig({
11989
11988
  displayName: "MarketplaceBuyModal__CloseButton",
11990
11989
  componentId: "sc-86ottl-5"
11991
11990
  })(["background:none;border:none;color:rgba(255,255,255,0.6);cursor:pointer;font-size:1rem;padding:4px;display:flex;align-items:center;pointer-events:auto;&:hover{color:#ffffff;}"]);
@@ -13436,7 +13435,7 @@ var CharacterDetailModal = function CharacterDetailModal(_ref) {
13436
13435
  onClick: stopPropagation,
13437
13436
  onTouchStart: stopPropagation,
13438
13437
  onPointerDown: stopPropagation
13439
- }, React__default.createElement(Header$b, null, React__default.createElement(Title$c, null, "Character Details"), React__default.createElement(CloseButton$d, {
13438
+ }, React__default.createElement(Header$b, null, React__default.createElement(Title$c, null, "Character Details"), React__default.createElement(CloseButton$e, {
13440
13439
  onPointerDown: handleClose,
13441
13440
  "aria-label": "Close",
13442
13441
  type: "button"
@@ -13515,7 +13514,7 @@ var Title$c = /*#__PURE__*/styled__default.h3.withConfig({
13515
13514
  displayName: "CharacterDetailModal__Title",
13516
13515
  componentId: "sc-1kdn1l6-4"
13517
13516
  })(["margin:0;font-family:'Press Start 2P',cursive !important;font-size:0.6rem !important;color:#fef08a !important;"]);
13518
- var CloseButton$d = /*#__PURE__*/styled__default.button.withConfig({
13517
+ var CloseButton$e = /*#__PURE__*/styled__default.button.withConfig({
13519
13518
  displayName: "CharacterDetailModal__CloseButton",
13520
13519
  componentId: "sc-1kdn1l6-5"
13521
13520
  })(["background:none;border:none;color:rgba(255,255,255,0.5);cursor:pointer;font-size:1rem;padding:4px;display:flex;align-items:center;&:hover{color:#fff;}"]);
@@ -13979,7 +13978,7 @@ var CharacterListingModal = function CharacterListingModal(_ref) {
13979
13978
  onClick: stopPropagation,
13980
13979
  onTouchStart: stopPropagation,
13981
13980
  onPointerDown: stopPropagation
13982
- }, React__default.createElement(Header$c, null, React__default.createElement(Title$d, null, "List Character for Sale"), React__default.createElement(CloseButton$e, {
13981
+ }, React__default.createElement(Header$c, null, React__default.createElement(Title$d, null, "List Character for Sale"), React__default.createElement(CloseButton$f, {
13983
13982
  onPointerDown: handleClose,
13984
13983
  "aria-label": "Close",
13985
13984
  type: "button"
@@ -14064,7 +14063,7 @@ var Title$d = /*#__PURE__*/styled__default.h3.withConfig({
14064
14063
  displayName: "CharacterListingModal__Title",
14065
14064
  componentId: "sc-1uxkx35-4"
14066
14065
  })(["margin:0;font-family:'Press Start 2P',cursive !important;font-size:0.65rem !important;color:#fef08a !important;"]);
14067
- var CloseButton$e = /*#__PURE__*/styled__default.button.withConfig({
14066
+ var CloseButton$f = /*#__PURE__*/styled__default.button.withConfig({
14068
14067
  displayName: "CharacterListingModal__CloseButton",
14069
14068
  componentId: "sc-1uxkx35-5"
14070
14069
  })(["background:none;border:none;color:rgba(255,255,255,0.6);cursor:pointer;font-size:1rem;padding:4px;display:flex;align-items:center;pointer-events:auto;&:hover{color:#ffffff;}"]);
@@ -15846,6 +15845,84 @@ var InputRadio = function InputRadio(_ref) {
15846
15845
  }));
15847
15846
  };
15848
15847
 
15848
+ /**
15849
+ * Dark RPG-themed radio-style card.
15850
+ * Matches the aesthetic of MarketplaceSettingsPanel OptionCard.
15851
+ * Uses !important overrides to survive RPGUI global CSS.
15852
+ */
15853
+ var RadioSelectCard = function RadioSelectCard(_ref) {
15854
+ var label = _ref.label,
15855
+ description = _ref.description,
15856
+ badge = _ref.badge,
15857
+ icon = _ref.icon,
15858
+ _ref$active = _ref.active,
15859
+ active = _ref$active === void 0 ? false : _ref$active,
15860
+ onClick = _ref.onClick,
15861
+ testId = _ref['data-testid'];
15862
+ return React__default.createElement(Card, {
15863
+ "$active": active,
15864
+ onClick: onClick,
15865
+ "data-testid": testId,
15866
+ type: "button"
15867
+ }, icon && React__default.createElement(IconWrap, null, icon), React__default.createElement(Body, null, React__default.createElement(Label$7, {
15868
+ "$active": active
15869
+ }, label), description && React__default.createElement(Description$5, null, description)), badge && React__default.createElement(Badge, {
15870
+ "$active": active
15871
+ }, badge));
15872
+ };
15873
+ // ─── Styled Components ────────────────────────────────────────────────────────
15874
+ var Card = /*#__PURE__*/styled__default.button.withConfig({
15875
+ displayName: "RadioSelectCard__Card",
15876
+ componentId: "sc-12jrcz1-0"
15877
+ })(["display:flex !important;flex-direction:row !important;align-items:center !important;gap:0.6rem !important;width:100% !important;padding:0.75rem 0.9rem !important;background:", " !important;border:2px solid ", " !important;border-radius:6px !important;cursor:pointer !important;text-align:left !important;transition:border-color 0.15s ease,background 0.15s ease,box-shadow 0.15s ease !important;font-family:inherit !important;box-sizing:border-box !important;&:hover{border-color:", " !important;background:", " !important;box-shadow:", " !important;}&:active{background:rgba(0,0,0,0.5) !important;}"], function (_ref2) {
15878
+ var $active = _ref2.$active;
15879
+ return $active ? 'rgba(245, 158, 11, 0.12)' : 'rgba(0, 0, 0, 0.25)';
15880
+ }, function (_ref3) {
15881
+ var $active = _ref3.$active;
15882
+ return $active ? '#f59e0b' : 'rgba(255, 255, 255, 0.08)';
15883
+ }, function (_ref4) {
15884
+ var $active = _ref4.$active;
15885
+ return $active ? '#f59e0b' : 'rgba(255, 255, 255, 0.3)';
15886
+ }, function (_ref5) {
15887
+ var $active = _ref5.$active;
15888
+ return $active ? 'rgba(245, 158, 11, 0.18)' : 'rgba(255, 255, 255, 0.04)';
15889
+ }, function (_ref6) {
15890
+ var $active = _ref6.$active;
15891
+ return $active ? '0 0 14px rgba(245, 158, 11, 0.3)' : '0 0 8px rgba(255, 255, 255, 0.05)';
15892
+ });
15893
+ var IconWrap = /*#__PURE__*/styled__default.span.withConfig({
15894
+ displayName: "RadioSelectCard__IconWrap",
15895
+ componentId: "sc-12jrcz1-1"
15896
+ })(["font-size:1.4rem !important;line-height:1 !important;flex-shrink:0 !important;"]);
15897
+ var Body = /*#__PURE__*/styled__default.div.withConfig({
15898
+ displayName: "RadioSelectCard__Body",
15899
+ componentId: "sc-12jrcz1-2"
15900
+ })(["flex:1 !important;min-width:0 !important;display:flex !important;flex-direction:column !important;gap:0.2rem !important;"]);
15901
+ var Label$7 = /*#__PURE__*/styled__default.span.withConfig({
15902
+ displayName: "RadioSelectCard__Label",
15903
+ componentId: "sc-12jrcz1-3"
15904
+ })(["font-size:0.72rem !important;font-weight:bold !important;color:", " !important;text-transform:uppercase !important;letter-spacing:0.8px !important;line-height:1.2 !important;"], function (_ref7) {
15905
+ var $active = _ref7.$active;
15906
+ return $active ? '#f59e0b' : 'rgba(255, 255, 255, 0.9)';
15907
+ });
15908
+ var Description$5 = /*#__PURE__*/styled__default.span.withConfig({
15909
+ displayName: "RadioSelectCard__Description",
15910
+ componentId: "sc-12jrcz1-4"
15911
+ })(["font-size:0.62rem !important;color:rgba(255,255,255,0.45) !important;line-height:1.4 !important;"]);
15912
+ var Badge = /*#__PURE__*/styled__default.span.withConfig({
15913
+ displayName: "RadioSelectCard__Badge",
15914
+ componentId: "sc-12jrcz1-5"
15915
+ })(["flex-shrink:0 !important;padding:0.15rem 0.45rem !important;background:", " !important;border:1px solid ", " !important;border-radius:20px !important;font-size:0.55rem !important;font-weight:bold !important;letter-spacing:0.5px !important;text-transform:uppercase !important;color:", " !important;white-space:nowrap !important;"], function (_ref8) {
15916
+ var $active = _ref8.$active;
15917
+ return $active ? 'rgba(245, 158, 11, 0.2)' : 'rgba(255, 255, 255, 0.06)';
15918
+ }, function (_ref9) {
15919
+ var $active = _ref9.$active;
15920
+ return $active ? 'rgba(245, 158, 11, 0.5)' : 'rgba(255, 255, 255, 0.12)';
15921
+ }, function (_ref10) {
15922
+ var $active = _ref10.$active;
15923
+ return $active ? '#f59e0b' : 'rgba(255, 255, 255, 0.45)';
15924
+ });
15925
+
15849
15926
  /**
15850
15927
  * A selectable row with an amber radio circle indicator.
15851
15928
  * Used for single-select option lists throughout the Marketplace UI.
@@ -16363,9 +16440,9 @@ var SkillInfoModal = function SkillInfoModal(_ref) {
16363
16440
  onPointerDown: stopPropagation
16364
16441
  }, React__default.createElement(Header$d, null, React__default.createElement(Title$i, {
16365
16442
  "$color": info.color
16366
- }, info.name), React__default.createElement(CloseButton$f, {
16443
+ }, info.name), React__default.createElement(CloseButton$g, {
16367
16444
  onPointerDown: onClose
16368
- }, React__default.createElement(fa.FaTimes, null))), React__default.createElement(Section$4, null, React__default.createElement(Label$7, null, "What it does"), React__default.createElement(Text$1, null, info.description)), React__default.createElement(Section$4, null, React__default.createElement(Label$7, null, "How to train"), React__default.createElement(Text$1, null, info.howToTrain)), info.notes && React__default.createElement(Section$4, null, React__default.createElement(Label$7, null, "Notes"), React__default.createElement(Text$1, null, info.notes)))));
16445
+ }, React__default.createElement(fa.FaTimes, null))), React__default.createElement(Section$4, null, React__default.createElement(Label$8, null, "What it does"), React__default.createElement(Text$1, null, info.description)), React__default.createElement(Section$4, null, React__default.createElement(Label$8, null, "How to train"), React__default.createElement(Text$1, null, info.howToTrain)), info.notes && React__default.createElement(Section$4, null, React__default.createElement(Label$8, null, "Notes"), React__default.createElement(Text$1, null, info.notes)))));
16369
16446
  };
16370
16447
  var Overlay$9 = /*#__PURE__*/styled__default.div.withConfig({
16371
16448
  displayName: "SkillInfoModal__Overlay",
@@ -16390,7 +16467,7 @@ var Title$i = /*#__PURE__*/styled__default.h3.withConfig({
16390
16467
  var $color = _ref2.$color;
16391
16468
  return $color;
16392
16469
  });
16393
- var CloseButton$f = /*#__PURE__*/styled__default.button.withConfig({
16470
+ var CloseButton$g = /*#__PURE__*/styled__default.button.withConfig({
16394
16471
  displayName: "SkillInfoModal__CloseButton",
16395
16472
  componentId: "sc-pqkzdj-5"
16396
16473
  })(["background:none;border:none;color:rgba(255,255,255,0.6);cursor:pointer;font-size:1rem;padding:4px;display:flex;align-items:center;pointer-events:auto;&:hover{color:#ffffff;}"]);
@@ -16398,7 +16475,7 @@ var Section$4 = /*#__PURE__*/styled__default.div.withConfig({
16398
16475
  displayName: "SkillInfoModal__Section",
16399
16476
  componentId: "sc-pqkzdj-6"
16400
16477
  })(["display:flex;flex-direction:column;gap:6px;"]);
16401
- var Label$7 = /*#__PURE__*/styled__default.span.withConfig({
16478
+ var Label$8 = /*#__PURE__*/styled__default.span.withConfig({
16402
16479
  displayName: "SkillInfoModal__Label",
16403
16480
  componentId: "sc-pqkzdj-7"
16404
16481
  })(["font-size:0.5rem;font-weight:bold;text-transform:uppercase;letter-spacing:0.05em;color:rgba(255,255,255,0.45);"]);
@@ -16532,7 +16609,7 @@ var SkillsContainer = function SkillsContainer(_ref) {
16532
16609
  cancelDrag: "#skillsDiv",
16533
16610
  scale: scale,
16534
16611
  width: "100%"
16535
- }, onCloseButton && React__default.createElement(CloseButton$g, {
16612
+ }, onCloseButton && React__default.createElement(CloseButton$h, {
16536
16613
  onPointerDown: onCloseButton
16537
16614
  }, "X"), selectedInfo && React__default.createElement(SkillInfoModal, {
16538
16615
  info: selectedInfo,
@@ -16575,7 +16652,7 @@ var SkillSplitDiv = /*#__PURE__*/styled__default.div.withConfig({
16575
16652
  displayName: "SkillsContainer__SkillSplitDiv",
16576
16653
  componentId: "sc-1g0c67q-2"
16577
16654
  })(["width:100%;font-size:11px;hr{margin:0;margin-bottom:1rem;padding:0px;}p{margin-bottom:0px;}"]);
16578
- var CloseButton$g = /*#__PURE__*/styled__default.div.withConfig({
16655
+ var CloseButton$h = /*#__PURE__*/styled__default.div.withConfig({
16579
16656
  displayName: "SkillsContainer__CloseButton",
16580
16657
  componentId: "sc-1g0c67q-3"
16581
16658
  })(["position:absolute;top:2px;right:2px;color:white;z-index:22;font-size:1.1rem;"]);
@@ -16735,7 +16812,7 @@ var SpellInfo$1 = function SpellInfo(_ref) {
16735
16812
  className: "label"
16736
16813
  }, "Required Item:"), React__default.createElement("div", {
16737
16814
  className: "value"
16738
- }, requiredItem))), React__default.createElement(Description$5, null, description));
16815
+ }, requiredItem))), React__default.createElement(Description$6, null, description));
16739
16816
  };
16740
16817
  var Container$G = /*#__PURE__*/styled__default.div.withConfig({
16741
16818
  displayName: "SpellInfo__Container",
@@ -16749,7 +16826,7 @@ var Type$1 = /*#__PURE__*/styled__default.div.withConfig({
16749
16826
  displayName: "SpellInfo__Type",
16750
16827
  componentId: "sc-4hbw3q-2"
16751
16828
  })(["font-size:", ";margin-top:0.2rem;color:", ";"], uiFonts.size.small, uiColors.lightGray);
16752
- var Description$5 = /*#__PURE__*/styled__default.div.withConfig({
16829
+ var Description$6 = /*#__PURE__*/styled__default.div.withConfig({
16753
16830
  displayName: "SpellInfo__Description",
16754
16831
  componentId: "sc-4hbw3q-3"
16755
16832
  })(["margin-top:1.5rem;font-size:", ";color:", ";font-style:italic;"], uiFonts.size.small, uiColors.lightGray);
@@ -16982,7 +17059,7 @@ var Spell = function Spell(_ref) {
16982
17059
  centered: true
16983
17060
  })), React__default.createElement(Info, null, React__default.createElement(Title$k, null, React__default.createElement("span", null, name), React__default.createElement("span", {
16984
17061
  className: "spell"
16985
- }, "(", magicWords, ")")), React__default.createElement(Description$6, null, description)), React__default.createElement(Divider$2, null), React__default.createElement(Cost, null, React__default.createElement("span", null, "Mana cost:"), React__default.createElement("span", {
17062
+ }, "(", magicWords, ")")), React__default.createElement(Description$7, null, description)), React__default.createElement(Divider$2, null), React__default.createElement(Cost, null, React__default.createElement("span", null, "Mana cost:"), React__default.createElement("span", {
16986
17063
  className: "mana"
16987
17064
  }, manaCost))));
16988
17065
  };
@@ -17005,7 +17082,7 @@ var Title$k = /*#__PURE__*/styled__default.p.withConfig({
17005
17082
  displayName: "Spell__Title",
17006
17083
  componentId: "sc-j96fa2-3"
17007
17084
  })(["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);
17008
- var Description$6 = /*#__PURE__*/styled__default.div.withConfig({
17085
+ var Description$7 = /*#__PURE__*/styled__default.div.withConfig({
17009
17086
  displayName: "Spell__Description",
17010
17087
  componentId: "sc-j96fa2-4"
17011
17088
  })(["font-size:", " !important;line-height:1.1 !important;"], uiFonts.size.small);
@@ -37743,7 +37820,7 @@ var CartView = function CartView(_ref2) {
37743
37820
  }
37744
37821
  return React__default.createElement(Container$M, null, React__default.createElement(Header$g, null, React__default.createElement(Title$n, null, "Shopping Cart (", cartItems.reduce(function (s, ci) {
37745
37822
  return s + ci.quantity;
37746
- }, 0), ")"), React__default.createElement(CloseButton$h, {
37823
+ }, 0), ")"), React__default.createElement(CloseButton$i, {
37747
37824
  onPointerDown: onClose
37748
37825
  }, React__default.createElement(Cancel.Cancel, null))), React__default.createElement(MainContent$1, null, cartItems.length === 0 ? React__default.createElement(EmptyCart, null, React__default.createElement(Box.Box, null), "Your cart is empty") : React__default.createElement(CartItems, null, cartItems.map(function (cartItem) {
37749
37826
  var _cartItem$metadata, _cartItem$metadata2, _cartItem$item$region2, _cartItem$item$region3;
@@ -37796,7 +37873,7 @@ var Title$n = /*#__PURE__*/styled__default.h2.withConfig({
37796
37873
  displayName: "CartView__Title",
37797
37874
  componentId: "sc-ydtyl1-2"
37798
37875
  })(["font-family:'Press Start 2P',cursive;font-size:1rem;color:#ffffff;margin:0;"]);
37799
- var CloseButton$h = /*#__PURE__*/styled__default.div.withConfig({
37876
+ var CloseButton$i = /*#__PURE__*/styled__default.div.withConfig({
37800
37877
  displayName: "CartView__CloseButton",
37801
37878
  componentId: "sc-ydtyl1-3"
37802
37879
  })(["padding:0.5rem;min-width:unset;width:42px;height:42px;display:flex;font-size:1.5rem;align-items:center;color:white;justify-content:center;"]);
@@ -38423,7 +38500,7 @@ var PaymentMethodModal = function PaymentMethodModal(_ref) {
38423
38500
  onClick: stopPropagation,
38424
38501
  onTouchStart: stopPropagation,
38425
38502
  onPointerDown: stopPropagation
38426
- }, React__default.createElement(Header$h, null, React__default.createElement(Title$o, null, "How would you like to pay?"), React__default.createElement(CloseButton$i, {
38503
+ }, React__default.createElement(Header$h, null, React__default.createElement(Title$o, null, "How would you like to pay?"), React__default.createElement(CloseButton$j, {
38427
38504
  onPointerDown: onClose,
38428
38505
  "aria-label": "Close"
38429
38506
  }, React__default.createElement(Cancel.Cancel, null))), React__default.createElement(Options$1, null, React__default.createElement(RadioOption$2, {
@@ -38473,7 +38550,7 @@ var Title$o = /*#__PURE__*/styled__default.h3.withConfig({
38473
38550
  displayName: "PaymentMethodModal__Title",
38474
38551
  componentId: "sc-1dxy6lr-4"
38475
38552
  })(["margin:0;font-family:'Press Start 2P',cursive;font-size:0.7rem;color:#fef08a;"]);
38476
- var CloseButton$i = /*#__PURE__*/styled__default.button.withConfig({
38553
+ var CloseButton$j = /*#__PURE__*/styled__default.button.withConfig({
38477
38554
  displayName: "PaymentMethodModal__CloseButton",
38478
38555
  componentId: "sc-1dxy6lr-5"
38479
38556
  })(["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;}"]);
@@ -39793,7 +39870,7 @@ var StoreRedeemSection = function StoreRedeemSection(_ref) {
39793
39870
  onClick: handleReset
39794
39871
  }))));
39795
39872
  }
39796
- return React__default.createElement(Container$O, null, React__default.createElement(Title$p, null, "Redeem a Voucher Code"), React__default.createElement(Description$7, null, "Enter your voucher code below to receive Definya Coins."), React__default.createElement(InputRow, null, React__default.createElement(CodeInput, {
39873
+ return React__default.createElement(Container$O, null, React__default.createElement(Title$p, null, "Redeem a Voucher Code"), React__default.createElement(Description$8, null, "Enter your voucher code below to receive Definya Coins."), React__default.createElement(InputRow, null, React__default.createElement(CodeInput, {
39797
39874
  type: "text",
39798
39875
  value: code,
39799
39876
  onChange: function onChange(e) {
@@ -39824,7 +39901,7 @@ var Title$p = /*#__PURE__*/styled__default.h3.withConfig({
39824
39901
  displayName: "StoreRedeemSection__Title",
39825
39902
  componentId: "sc-1pzosml-1"
39826
39903
  })(["font-family:'Press Start 2P',cursive;font-size:0.85rem;color:", ";margin:0;text-align:center;"], uiColors.white);
39827
- var Description$7 = /*#__PURE__*/styled__default.p.withConfig({
39904
+ var Description$8 = /*#__PURE__*/styled__default.p.withConfig({
39828
39905
  displayName: "StoreRedeemSection__Description",
39829
39906
  componentId: "sc-1pzosml-2"
39830
39907
  })(["font-family:'Press Start 2P',cursive;font-size:0.55rem;color:", ";margin:0;text-align:center;line-height:1.6;"], uiColors.lightGray);
@@ -39890,7 +39967,7 @@ var StoreItemDetails = function StoreItemDetails(_ref) {
39890
39967
  alt: item.name
39891
39968
  })), React__default.createElement(ItemInfo$3, null, React__default.createElement(ItemName$9, null, item.name), React__default.createElement(ItemPrice$2, null, currencySymbol, 'priceUSD' in item ? item.priceUSD : (_item$regionalPrice = item.regionalPrice) != null ? _item$regionalPrice : item.price, item.dcPrice ? React__default.createElement(React__default.Fragment, null, ' ', "\xB7 ", React__default.createElement(MMORPGNumber, {
39892
39969
  value: item.dcPrice
39893
- }), " DC") : ''), React__default.createElement(Description$8, null, item.description))), React__default.createElement(Actions$1, null, React__default.createElement(CTAButton, {
39970
+ }), " DC") : ''), React__default.createElement(Description$9, null, item.description))), React__default.createElement(Actions$1, null, React__default.createElement(CTAButton, {
39894
39971
  icon: React__default.createElement(ShoppingCart.ShoppingCart, null),
39895
39972
  label: "Add to Cart",
39896
39973
  onClick: function onClick() {
@@ -39935,7 +40012,7 @@ var ItemPrice$2 = /*#__PURE__*/styled__default.div.withConfig({
39935
40012
  displayName: "StoreItemDetails__ItemPrice",
39936
40013
  componentId: "sc-k3ho5z-8"
39937
40014
  })(["font-family:'Press Start 2P',cursive;font-size:1rem;color:#fef08a;"]);
39938
- var Description$8 = /*#__PURE__*/styled__default.p.withConfig({
40015
+ var Description$9 = /*#__PURE__*/styled__default.p.withConfig({
39939
40016
  displayName: "StoreItemDetails__Description",
39940
40017
  componentId: "sc-k3ho5z-9"
39941
40018
  })(["margin:0;font-family:'Press Start 2P',cursive;font-size:0.875rem;line-height:1.6;color:#ffffff;"]);
@@ -40332,7 +40409,7 @@ var TimeWidget = function TimeWidget(_ref) {
40332
40409
  return React__default.createElement(Draggable, {
40333
40410
  scale: scale,
40334
40411
  cancel: ".time-widget-close,.time-widget-container,.time-widget-container *"
40335
- }, React__default.createElement(WidgetContainer, null, React__default.createElement(CloseButton$j, {
40412
+ }, React__default.createElement(WidgetContainer, null, React__default.createElement(CloseButton$k, {
40336
40413
  onPointerDown: onClose,
40337
40414
  className: "time-widget-close"
40338
40415
  }, "X"), React__default.createElement(DayNightContainer, {
@@ -40349,7 +40426,7 @@ var Time = /*#__PURE__*/styled__default.div.withConfig({
40349
40426
  displayName: "TimeWidget__Time",
40350
40427
  componentId: "sc-1ja236h-1"
40351
40428
  })(["top:0.75rem;right:0.5rem;position:absolute;font-size:", ";color:white;"], uiFonts.size.small);
40352
- var CloseButton$j = /*#__PURE__*/styled__default.p.withConfig({
40429
+ var CloseButton$k = /*#__PURE__*/styled__default.p.withConfig({
40353
40430
  displayName: "TimeWidget__CloseButton",
40354
40431
  componentId: "sc-1ja236h-2"
40355
40432
  })(["position:absolute;top:-0.5rem;margin:0;right:-0.2rem;font-size:", " !important;z-index:1;"], uiFonts.size.small);
@@ -40945,6 +41022,7 @@ exports.RadioCircle = RadioCircle$2;
40945
41022
  exports.RadioOption = RadioOption$1;
40946
41023
  exports.RadioOptionLabel = RadioOptionLabel;
40947
41024
  exports.RadioOptionSub = RadioOptionSub;
41025
+ exports.RadioSelectCard = RadioSelectCard;
40948
41026
  exports.RangeSlider = RangeSlider;
40949
41027
  exports.SelectArrow = SelectArrow;
40950
41028
  exports.Shortcuts = Shortcuts;