@rpg-engine/long-bow 0.3.97 → 0.3.98

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +181 -181
  3. package/dist/components/Spellbook/Spell.d.ts +4 -4
  4. package/dist/components/Spellbook/Spellbook.d.ts +2 -2
  5. package/dist/components/Spellbook/cards/MobileSpellTooltip.d.ts +15 -0
  6. package/dist/components/Spellbook/cards/SpellInfo.d.ts +7 -0
  7. package/dist/components/Spellbook/cards/SpellInfoDisplay.d.ts +7 -0
  8. package/dist/components/Spellbook/cards/SpellInfoWrapper.d.ts +9 -0
  9. package/dist/components/Spellbook/cards/SpellTooltip.d.ts +6 -0
  10. package/dist/components/Spellbook/mockSpells.d.ts +2 -2
  11. package/dist/libs/CastingTypeHelper.d.ts +1 -0
  12. package/dist/long-bow.cjs.development.js +1438 -1229
  13. package/dist/long-bow.cjs.development.js.map +1 -1
  14. package/dist/long-bow.cjs.production.min.js +1 -1
  15. package/dist/long-bow.cjs.production.min.js.map +1 -1
  16. package/dist/long-bow.esm.js +1439 -1230
  17. package/dist/long-bow.esm.js.map +1 -1
  18. package/dist/stories/SpellInfoDisplay.stories.d.ts +8 -0
  19. package/package.json +100 -100
  20. package/src/.DS_Store +0 -0
  21. package/src/components/.DS_Store +0 -0
  22. package/src/components/Abstractions/ModalPortal.tsx +22 -22
  23. package/src/components/Abstractions/SlotsContainer.tsx +62 -62
  24. package/src/components/Arrow/SelectArrow.tsx +69 -69
  25. package/src/components/Arrow/img/arrow01-left-clicked.png +0 -0
  26. package/src/components/Arrow/img/arrow01-left.png +0 -0
  27. package/src/components/Arrow/img/arrow01-right-clicked.png +0 -0
  28. package/src/components/Arrow/img/arrow01-right.png +0 -0
  29. package/src/components/Arrow/img/arrow02-left-clicked.png +0 -0
  30. package/src/components/Arrow/img/arrow02-left.png +0 -0
  31. package/src/components/Arrow/img/arrow02-right-clicked.png +0 -0
  32. package/src/components/Arrow/img/arrow02-right.png +0 -0
  33. package/src/components/Button.tsx +40 -40
  34. package/src/components/Character/CharacterSelection.tsx +98 -98
  35. package/src/components/CharacterStatus/CharacterStatus.tsx +120 -120
  36. package/src/components/Chat/Chat.tsx +196 -196
  37. package/src/components/Chatdeprecated/ChatDeprecated.tsx +198 -198
  38. package/src/components/CheckButton.tsx +65 -65
  39. package/src/components/CircularController/CircularController.tsx +282 -282
  40. package/src/components/CraftBook/CraftBook.tsx +286 -286
  41. package/src/components/CraftBook/CraftingRecipe.tsx +161 -161
  42. package/src/components/CraftBook/MockItems.ts +101 -101
  43. package/src/components/DraggableContainer.tsx +180 -180
  44. package/src/components/DropdownSelectorContainer.tsx +42 -42
  45. package/src/components/Equipment/EquipmentSet.tsx +199 -199
  46. package/src/components/HistoryDialog.tsx +104 -104
  47. package/src/components/Input.tsx +15 -15
  48. package/src/components/InputRadio.tsx +41 -41
  49. package/src/components/Item/Cards/ItemInfo.tsx +298 -298
  50. package/src/components/Item/Cards/ItemInfoDisplay.tsx +135 -135
  51. package/src/components/Item/Cards/ItemInfoWrapper.tsx +62 -62
  52. package/src/components/Item/Cards/ItemTooltip.tsx +83 -83
  53. package/src/components/Item/Cards/MobileItemTooltip.tsx +149 -149
  54. package/src/components/Item/Inventory/ErrorBoundary.tsx +42 -42
  55. package/src/components/Item/Inventory/ItemContainer.tsx +231 -231
  56. package/src/components/Item/Inventory/ItemContainerTypes.ts +6 -6
  57. package/src/components/Item/Inventory/ItemQuantitySelector.tsx +138 -138
  58. package/src/components/Item/Inventory/ItemSlot.tsx +580 -580
  59. package/src/components/Item/Inventory/itemContainerHelper.ts +175 -175
  60. package/src/components/ListMenu.tsx +63 -63
  61. package/src/components/Marketplace/Marketplace.tsx +132 -132
  62. package/src/components/Marketplace/MarketplaceRows.tsx +171 -171
  63. package/src/components/Marketplace/__mocks__/index.tsx +65 -65
  64. package/src/components/Multitab/Tab.tsx +66 -66
  65. package/src/components/Multitab/TabBody.tsx +13 -13
  66. package/src/components/Multitab/TabsContainer.tsx +97 -97
  67. package/src/components/NPCDialog/.DS_Store +0 -0
  68. package/src/components/NPCDialog/NPCDialog.tsx +121 -121
  69. package/src/components/NPCDialog/NPCDialogText.tsx +113 -113
  70. package/src/components/NPCDialog/NPCMultiDialog.tsx +159 -159
  71. package/src/components/NPCDialog/QuestionDialog/QuestionDialog.tsx +237 -237
  72. package/src/components/NPCDialog/img/.DS_Store +0 -0
  73. package/src/components/ProgressBar.tsx +92 -92
  74. package/src/components/PropertySelect/PropertySelect.tsx +106 -106
  75. package/src/components/QuestInfo/QuestInfo.tsx +233 -233
  76. package/src/components/QuestList.tsx +135 -135
  77. package/src/components/RPGUIContainer.tsx +47 -47
  78. package/src/components/RPGUIForceRenderStart.tsx +45 -45
  79. package/src/components/RPGUIRoot.tsx +14 -14
  80. package/src/components/RadioButton.tsx +53 -53
  81. package/src/components/RadioInput/RadioButton.tsx +96 -96
  82. package/src/components/RadioInput/RadioInput.tsx +102 -102
  83. package/src/components/RadioInput/instruments.ts +15 -15
  84. package/src/components/RangeSlider.tsx +78 -78
  85. package/src/components/RelativeListMenu.tsx +90 -90
  86. package/src/components/ScrollList.tsx +79 -79
  87. package/src/components/Shortcuts/Shortcuts.tsx +192 -192
  88. package/src/components/Shortcuts/ShortcutsSetter.tsx +139 -139
  89. package/src/components/Shortcuts/SingleShortcut.ts +82 -82
  90. package/src/components/Shortcuts/useShortcutCooldown.ts +23 -23
  91. package/src/components/SimpleProgressBar.tsx +62 -62
  92. package/src/components/SkillProgressBar.tsx +133 -133
  93. package/src/components/SkillsContainer.tsx +206 -206
  94. package/src/components/Spellbook/Spell.tsx +236 -226
  95. package/src/components/Spellbook/Spellbook.tsx +159 -158
  96. package/src/components/Spellbook/cards/MobileSpellTooltip.tsx +137 -0
  97. package/src/components/Spellbook/cards/SpellInfo.tsx +132 -0
  98. package/src/components/Spellbook/cards/SpellInfoDisplay.tsx +31 -0
  99. package/src/components/Spellbook/cards/SpellInfoWrapper.tsx +48 -0
  100. package/src/components/Spellbook/cards/SpellTooltip.tsx +70 -0
  101. package/src/components/Spellbook/constants.ts +8 -8
  102. package/src/components/Spellbook/mockSpells.ts +85 -60
  103. package/src/components/StaticBook/StaticBook.tsx +103 -103
  104. package/src/components/TextArea.tsx +11 -11
  105. package/src/components/TimeWidget/DayNightPeriod/DayNightPeriod.tsx +35 -35
  106. package/src/components/TimeWidget/TimeWidget.tsx +65 -65
  107. package/src/components/TradingMenu/TradingItemRow.tsx +199 -199
  108. package/src/components/TradingMenu/TradingMenu.tsx +219 -219
  109. package/src/components/TradingMenu/items.mock.ts +48 -48
  110. package/src/components/Truncate.tsx +25 -25
  111. package/src/components/itemSelector/ItemSelector.tsx +136 -136
  112. package/src/components/shared/Column.tsx +16 -16
  113. package/src/components/shared/Ellipsis.tsx +68 -68
  114. package/src/components/shared/SpriteFromAtlas.tsx +104 -104
  115. package/src/components/typography/DynamicText.tsx +49 -49
  116. package/src/constants/uiColors.ts +20 -20
  117. package/src/constants/uiDevices.ts +3 -3
  118. package/src/constants/uiFonts.ts +12 -12
  119. package/src/hooks/useEventListener.ts +21 -21
  120. package/src/hooks/useOutsideAlerter.ts +25 -25
  121. package/src/index.tsx +42 -42
  122. package/src/libs/CastingTypeHelper.ts +8 -0
  123. package/src/libs/StringHelpers.ts +3 -3
  124. package/src/libs/itemCounter.ts +21 -21
  125. package/src/mocks/.DS_Store +0 -0
  126. package/src/mocks/atlas/.DS_Store +0 -0
  127. package/src/mocks/atlas/entities/entities.json +20215 -20215
  128. package/src/mocks/atlas/icons/icons.json +735 -735
  129. package/src/mocks/atlas/items/items.json +12086 -12086
  130. package/src/mocks/equipmentSet.mocks.ts +391 -391
  131. package/src/mocks/itemContainer.mocks.ts +605 -605
  132. package/src/mocks/skills.mocks.ts +128 -128
  133. package/src/stories/Arrow.stories.tsx +26 -26
  134. package/src/stories/Button.stories.tsx +36 -36
  135. package/src/stories/CharacterSelection.stories.tsx +44 -44
  136. package/src/stories/CharacterStatus.stories.tsx +29 -29
  137. package/src/stories/Chat.stories.tsx +187 -187
  138. package/src/stories/ChatDeprecated.stories.tsx +170 -170
  139. package/src/stories/CheckButton.stories.tsx +48 -48
  140. package/src/stories/CircullarController.stories.tsx +37 -37
  141. package/src/stories/CraftBook.stories.tsx +42 -42
  142. package/src/stories/DayNightPeriod.stories.tsx +27 -27
  143. package/src/stories/DraggableContainer.stories.tsx +28 -28
  144. package/src/stories/Dropdown.stories.tsx +46 -46
  145. package/src/stories/DropdownSelectorContainer.stories.tsx +41 -41
  146. package/src/stories/EquipmentSet.stories.tsx +65 -65
  147. package/src/stories/HistoryDialog.stories.tsx +61 -61
  148. package/src/stories/ItemContainer.stories.tsx +201 -201
  149. package/src/stories/ItemInfoDisplay.stories.tsx +33 -33
  150. package/src/stories/ItemQuantitySelector.stories.tsx +26 -26
  151. package/src/stories/ItemSelector.stories.tsx +77 -77
  152. package/src/stories/ItemTradingComponent.stories.tsx +35 -35
  153. package/src/stories/ListMenu.stories.tsx +56 -56
  154. package/src/stories/Marketplace.stories.tsx +42 -42
  155. package/src/stories/MarketplaceRows.stories.tsx +28 -28
  156. package/src/stories/Multitab.stories.tsx +51 -51
  157. package/src/stories/NPCDialog.stories.tsx +130 -130
  158. package/src/stories/NPCMultiDialog.stories.tsx +71 -71
  159. package/src/stories/ProgressBar.stories.tsx +23 -23
  160. package/src/stories/PropertySelect.stories.tsx +40 -40
  161. package/src/stories/QuestInfo.stories.tsx +107 -107
  162. package/src/stories/QuestList.stories.tsx +82 -82
  163. package/src/stories/RPGUIContainers.stories.tsx +42 -42
  164. package/src/stories/RadioButton.stories.tsx +49 -49
  165. package/src/stories/RadioInput.stories.tsx +34 -34
  166. package/src/stories/RangeSlider.stories.tsx +64 -64
  167. package/src/stories/ScrollList.stories.tsx +85 -85
  168. package/src/stories/Shortcuts.stories.tsx +39 -39
  169. package/src/stories/SimpleProgressBar.stories.tsx +22 -22
  170. package/src/stories/SkillProgressBar.stories.tsx +34 -34
  171. package/src/stories/SkillsContainer.stories.tsx +35 -35
  172. package/src/stories/SpellInfoDisplay.stories.tsx +27 -0
  173. package/src/stories/Spellbook.stories.tsx +104 -104
  174. package/src/stories/StaticBook.stories.tsx +32 -32
  175. package/src/stories/Text.stories.tsx +42 -42
  176. package/src/stories/TimeWidget.stories.tsx +27 -27
  177. package/src/stories/TradingMenu.stories.tsx +47 -47
  178. package/src/types/eventTypes.ts +4 -4
  179. package/src/types/index.d.ts +2 -2
@@ -1,206 +1,206 @@
1
- import { ISkill, ISkillDetails } from '@rpg-engine/shared';
2
- import React from 'react';
3
- import styled from 'styled-components';
4
- import { uiColors } from '../constants/uiColors';
5
- import { DraggableContainer } from './DraggableContainer';
6
- import { SkillProgressBar } from './SkillProgressBar';
7
-
8
- export interface ISkillContainerProps {
9
- skill: ISkill;
10
- onCloseButton: () => void;
11
- atlasJSON: any;
12
- atlasIMG: any;
13
- scale?: number;
14
- }
15
-
16
- const skillProps = {
17
- attributes: {
18
- color: uiColors.purple,
19
- values: {
20
- stamina: 'spell-icons/regenerate.png',
21
- magic: 'spell-icons/fireball.png',
22
- magicResistance: 'spell-icons/freeze.png',
23
- strength: 'spell-icons/enchanted-blow.png',
24
- resistance: 'spell-icons/magic-shield.png',
25
- dexterity: 'spell-icons/haste.png',
26
- },
27
- },
28
- combat: {
29
- color: uiColors.cardinal,
30
- values: {
31
- first: 'gloves/leather-gloves.png',
32
- club: 'maces/club.png',
33
- sword: 'swords/double-edged-sword.png',
34
- axe: 'axes/double-axe.png',
35
- distance: 'ranged-weapons/horse-bow.png',
36
- shielding: 'shields/studded-shield.png',
37
- dagger: 'daggers/dagger.png',
38
- },
39
- },
40
- crafting: {
41
- color: uiColors.blue,
42
- values: {
43
- fishing: 'foods/fish.png',
44
- mining: 'crafting-resources/iron-ingot.png',
45
- lumberjacking: 'crafting-resources/greater-wooden-log.png',
46
- blacksmithing: 'hammers/hammer.png',
47
- cooking: 'foods/chickens-meat.png',
48
- alchemy: 'potions/greater-mana-potion.png',
49
- },
50
- },
51
- };
52
-
53
- interface SkillMap {
54
- [key: string]: string;
55
- }
56
-
57
- const skillNameMap: SkillMap = {
58
- stamina: 'Stamina',
59
- magic: 'Magic',
60
- magicResistance: 'Magic Resistance',
61
- strength: 'Strength',
62
- resistance: 'Resistance',
63
- dexterity: 'Dexterity',
64
- first: 'Fist',
65
- club: 'Club',
66
- sword: 'Sword',
67
- axe: 'Axe',
68
- distance: 'Distance',
69
- shielding: 'Shielding',
70
- dagger: 'Dagger',
71
- fishing: 'Fishing',
72
- mining: 'Mining',
73
- lumberjacking: 'Lumberjacking',
74
- blacksmithing: 'Blacksmithing',
75
- cooking: 'Cooking',
76
- alchemy: 'Alchemy',
77
- };
78
-
79
- export const SkillsContainer: React.FC<ISkillContainerProps> = ({
80
- onCloseButton,
81
- skill,
82
- atlasIMG,
83
- atlasJSON,
84
- scale,
85
- }) => {
86
- const onRenderSkillCategory = (
87
- category: 'attributes' | 'combat' | 'crafting'
88
- ) => {
89
- const skillCategory = skillProps[category];
90
-
91
- const skillCategoryColor = skillCategory.color;
92
-
93
- const output = [];
94
-
95
- for (const [key, value] of Object.entries(skillCategory.values)) {
96
- //@ts-ignore
97
- const skillDetails = (skill[key] as unknown) as ISkillDetails;
98
-
99
- output.push(
100
- <SkillProgressBar
101
- key={key}
102
- skillName={skillNameMap[key]}
103
- bgColor={skillCategoryColor}
104
- level={skillDetails.level || 0}
105
- skillPoints={Math.round(skillDetails.skillPoints) || 0}
106
- skillPointsToNextLevel={
107
- Math.round(skillDetails.skillPointsToNextLevel) || 0
108
- }
109
- texturePath={value}
110
- atlasIMG={atlasIMG}
111
- atlasJSON={atlasJSON}
112
- />
113
- );
114
- }
115
-
116
- return output;
117
- };
118
-
119
- return (
120
- <SkillsDraggableContainer
121
- title="Skills"
122
- cancelDrag="#skillsDiv"
123
- scale={scale}
124
- >
125
- {onCloseButton && (
126
- <CloseButton onPointerDown={onCloseButton}>X</CloseButton>
127
- )}
128
- <SkillsContainerDiv id="skillsDiv">
129
- <SkillSplitDiv>
130
- <p>General</p>
131
- <hr className="golden" />
132
-
133
- <SkillProgressBar
134
- skillName={'Level'}
135
- bgColor={uiColors.navyBlue}
136
- level={Math.round(skill.level) || 0}
137
- skillPoints={Math.round(skill.experience) || 0}
138
- skillPointsToNextLevel={Math.round(skill.xpToNextLevel) || 0}
139
- texturePath={'swords/broad-sword.png'}
140
- atlasIMG={atlasIMG}
141
- atlasJSON={atlasJSON}
142
- />
143
-
144
- <p>Combat Skills</p>
145
- <hr className="golden" />
146
- </SkillSplitDiv>
147
-
148
- {onRenderSkillCategory('combat')}
149
-
150
- <SkillSplitDiv>
151
- <p>Crafting Skills</p>
152
- <hr className="golden" />
153
- </SkillSplitDiv>
154
-
155
- {onRenderSkillCategory('crafting')}
156
-
157
- <SkillSplitDiv>
158
- <p>Basic Attributes</p>
159
- <hr className="golden" />
160
- </SkillSplitDiv>
161
-
162
- {onRenderSkillCategory('attributes')}
163
- </SkillsContainerDiv>
164
- </SkillsDraggableContainer>
165
- );
166
- };
167
-
168
- const SkillsDraggableContainer = styled(DraggableContainer)`
169
- border: 1px solid black;
170
- width: 400px;
171
- height: 90%;
172
- .DraggableContainer__TitleContainer-sc-184mpyl-2 {
173
- width: auto;
174
- height: auto;
175
- }
176
- `;
177
-
178
- const SkillsContainerDiv = styled.div`
179
- width: 100%;
180
- -webkit-overflow-y: scroll;
181
- overflow-y: scroll;
182
- height: 90%;
183
- padding-right: 10px;
184
- `;
185
-
186
- const SkillSplitDiv = styled.div`
187
- width: 100%;
188
- font-size: 11px;
189
- hr {
190
- margin: 0;
191
- margin-bottom: 1rem;
192
- padding: 0px;
193
- }
194
- p {
195
- margin-bottom: 0px;
196
- }
197
- `;
198
-
199
- const CloseButton = styled.div`
200
- position: absolute;
201
- top: 2px;
202
- right: 2px;
203
- color: white;
204
- z-index: 22;
205
- font-size: 1.1rem;
206
- `;
1
+ import { ISkill, ISkillDetails } from '@rpg-engine/shared';
2
+ import React from 'react';
3
+ import styled from 'styled-components';
4
+ import { uiColors } from '../constants/uiColors';
5
+ import { DraggableContainer } from './DraggableContainer';
6
+ import { SkillProgressBar } from './SkillProgressBar';
7
+
8
+ export interface ISkillContainerProps {
9
+ skill: ISkill;
10
+ onCloseButton: () => void;
11
+ atlasJSON: any;
12
+ atlasIMG: any;
13
+ scale?: number;
14
+ }
15
+
16
+ const skillProps = {
17
+ attributes: {
18
+ color: uiColors.purple,
19
+ values: {
20
+ stamina: 'spell-icons/regenerate.png',
21
+ magic: 'spell-icons/fireball.png',
22
+ magicResistance: 'spell-icons/freeze.png',
23
+ strength: 'spell-icons/enchanted-blow.png',
24
+ resistance: 'spell-icons/magic-shield.png',
25
+ dexterity: 'spell-icons/haste.png',
26
+ },
27
+ },
28
+ combat: {
29
+ color: uiColors.cardinal,
30
+ values: {
31
+ first: 'gloves/leather-gloves.png',
32
+ club: 'maces/club.png',
33
+ sword: 'swords/double-edged-sword.png',
34
+ axe: 'axes/double-axe.png',
35
+ distance: 'ranged-weapons/horse-bow.png',
36
+ shielding: 'shields/studded-shield.png',
37
+ dagger: 'daggers/dagger.png',
38
+ },
39
+ },
40
+ crafting: {
41
+ color: uiColors.blue,
42
+ values: {
43
+ fishing: 'foods/fish.png',
44
+ mining: 'crafting-resources/iron-ingot.png',
45
+ lumberjacking: 'crafting-resources/greater-wooden-log.png',
46
+ blacksmithing: 'hammers/hammer.png',
47
+ cooking: 'foods/chickens-meat.png',
48
+ alchemy: 'potions/greater-mana-potion.png',
49
+ },
50
+ },
51
+ };
52
+
53
+ interface SkillMap {
54
+ [key: string]: string;
55
+ }
56
+
57
+ const skillNameMap: SkillMap = {
58
+ stamina: 'Stamina',
59
+ magic: 'Magic',
60
+ magicResistance: 'Magic Resistance',
61
+ strength: 'Strength',
62
+ resistance: 'Resistance',
63
+ dexterity: 'Dexterity',
64
+ first: 'Fist',
65
+ club: 'Club',
66
+ sword: 'Sword',
67
+ axe: 'Axe',
68
+ distance: 'Distance',
69
+ shielding: 'Shielding',
70
+ dagger: 'Dagger',
71
+ fishing: 'Fishing',
72
+ mining: 'Mining',
73
+ lumberjacking: 'Lumberjacking',
74
+ blacksmithing: 'Blacksmithing',
75
+ cooking: 'Cooking',
76
+ alchemy: 'Alchemy',
77
+ };
78
+
79
+ export const SkillsContainer: React.FC<ISkillContainerProps> = ({
80
+ onCloseButton,
81
+ skill,
82
+ atlasIMG,
83
+ atlasJSON,
84
+ scale,
85
+ }) => {
86
+ const onRenderSkillCategory = (
87
+ category: 'attributes' | 'combat' | 'crafting'
88
+ ) => {
89
+ const skillCategory = skillProps[category];
90
+
91
+ const skillCategoryColor = skillCategory.color;
92
+
93
+ const output = [];
94
+
95
+ for (const [key, value] of Object.entries(skillCategory.values)) {
96
+ //@ts-ignore
97
+ const skillDetails = (skill[key] as unknown) as ISkillDetails;
98
+
99
+ output.push(
100
+ <SkillProgressBar
101
+ key={key}
102
+ skillName={skillNameMap[key]}
103
+ bgColor={skillCategoryColor}
104
+ level={skillDetails.level || 0}
105
+ skillPoints={Math.round(skillDetails.skillPoints) || 0}
106
+ skillPointsToNextLevel={
107
+ Math.round(skillDetails.skillPointsToNextLevel) || 0
108
+ }
109
+ texturePath={value}
110
+ atlasIMG={atlasIMG}
111
+ atlasJSON={atlasJSON}
112
+ />
113
+ );
114
+ }
115
+
116
+ return output;
117
+ };
118
+
119
+ return (
120
+ <SkillsDraggableContainer
121
+ title="Skills"
122
+ cancelDrag="#skillsDiv"
123
+ scale={scale}
124
+ >
125
+ {onCloseButton && (
126
+ <CloseButton onPointerDown={onCloseButton}>X</CloseButton>
127
+ )}
128
+ <SkillsContainerDiv id="skillsDiv">
129
+ <SkillSplitDiv>
130
+ <p>General</p>
131
+ <hr className="golden" />
132
+
133
+ <SkillProgressBar
134
+ skillName={'Level'}
135
+ bgColor={uiColors.navyBlue}
136
+ level={Math.round(skill.level) || 0}
137
+ skillPoints={Math.round(skill.experience) || 0}
138
+ skillPointsToNextLevel={Math.round(skill.xpToNextLevel) || 0}
139
+ texturePath={'swords/broad-sword.png'}
140
+ atlasIMG={atlasIMG}
141
+ atlasJSON={atlasJSON}
142
+ />
143
+
144
+ <p>Combat Skills</p>
145
+ <hr className="golden" />
146
+ </SkillSplitDiv>
147
+
148
+ {onRenderSkillCategory('combat')}
149
+
150
+ <SkillSplitDiv>
151
+ <p>Crafting Skills</p>
152
+ <hr className="golden" />
153
+ </SkillSplitDiv>
154
+
155
+ {onRenderSkillCategory('crafting')}
156
+
157
+ <SkillSplitDiv>
158
+ <p>Basic Attributes</p>
159
+ <hr className="golden" />
160
+ </SkillSplitDiv>
161
+
162
+ {onRenderSkillCategory('attributes')}
163
+ </SkillsContainerDiv>
164
+ </SkillsDraggableContainer>
165
+ );
166
+ };
167
+
168
+ const SkillsDraggableContainer = styled(DraggableContainer)`
169
+ border: 1px solid black;
170
+ width: 400px;
171
+ height: 90%;
172
+ .DraggableContainer__TitleContainer-sc-184mpyl-2 {
173
+ width: auto;
174
+ height: auto;
175
+ }
176
+ `;
177
+
178
+ const SkillsContainerDiv = styled.div`
179
+ width: 100%;
180
+ -webkit-overflow-y: scroll;
181
+ overflow-y: scroll;
182
+ height: 90%;
183
+ padding-right: 10px;
184
+ `;
185
+
186
+ const SkillSplitDiv = styled.div`
187
+ width: 100%;
188
+ font-size: 11px;
189
+ hr {
190
+ margin: 0;
191
+ margin-bottom: 1rem;
192
+ padding: 0px;
193
+ }
194
+ p {
195
+ margin-bottom: 0px;
196
+ }
197
+ `;
198
+
199
+ const CloseButton = styled.div`
200
+ position: absolute;
201
+ top: 2px;
202
+ right: 2px;
203
+ color: white;
204
+ z-index: 22;
205
+ font-size: 1.1rem;
206
+ `;