tgui-core 2.0.5 → 2.1.0

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 (121) hide show
  1. package/dist/common/collections.d.ts +1 -1
  2. package/dist/common/collections.js +1 -10
  3. package/dist/common/color.js +1 -70
  4. package/dist/common/constants.js +1 -329
  5. package/dist/common/events.js +1 -147
  6. package/dist/common/exhaustive.js +1 -6
  7. package/dist/common/format.js +1 -117
  8. package/dist/common/fp.js +1 -9
  9. package/dist/common/hotkeys.d.ts +1 -1
  10. package/dist/common/hotkeys.js +1 -112
  11. package/dist/common/http.js +1 -10
  12. package/dist/common/keycodes.js +1 -88
  13. package/dist/common/keys.js +1 -32
  14. package/dist/common/math.js +1 -45
  15. package/dist/common/random.js +1 -21
  16. package/dist/common/react.js +1 -30
  17. package/dist/common/string.js +1 -88
  18. package/dist/common/timer.js +1 -28
  19. package/dist/common/type-utils.js +1 -25
  20. package/dist/common/ui.d.ts +2 -2
  21. package/dist/common/ui.js +1 -141
  22. package/dist/common/uuid.js +1 -10
  23. package/dist/common/vector.js +1 -48
  24. package/dist/components/AnimatedNumber.d.ts +1 -1
  25. package/dist/components/AnimatedNumber.js +1 -73
  26. package/dist/components/Autofocus.d.ts +1 -1
  27. package/dist/components/Autofocus.js +1 -17
  28. package/dist/components/Blink.d.ts +1 -1
  29. package/dist/components/Blink.js +1 -56
  30. package/dist/components/BlockQuote.d.ts +1 -1
  31. package/dist/components/BlockQuote.js +1 -10
  32. package/dist/components/Box.d.ts +5 -5
  33. package/dist/components/Box.js +1 -19
  34. package/dist/components/Button.d.ts +4 -4
  35. package/dist/components/Button.js +1 -258
  36. package/dist/components/ByondUi.d.ts +1 -1
  37. package/dist/components/ByondUi.js +1 -61
  38. package/dist/components/Chart.d.ts +1 -1
  39. package/dist/components/Chart.js +1 -80
  40. package/dist/components/Collapsible.d.ts +2 -2
  41. package/dist/components/Collapsible.js +1 -36
  42. package/dist/components/ColorBox.d.ts +2 -2
  43. package/dist/components/ColorBox.js +1 -17
  44. package/dist/components/Dialog.d.ts +1 -1
  45. package/dist/components/Dialog.js +1 -42
  46. package/dist/components/Dimmer.d.ts +1 -1
  47. package/dist/components/Dimmer.js +1 -10
  48. package/dist/components/Divider.js +1 -18
  49. package/dist/components/DmIcon.d.ts +3 -3
  50. package/dist/components/DmIcon.js +1 -23
  51. package/dist/components/DraggableControl.d.ts +2 -2
  52. package/dist/components/DraggableControl.js +1 -111
  53. package/dist/components/Dropdown.d.ts +2 -2
  54. package/dist/components/Dropdown.js +1 -165
  55. package/dist/components/FitText.d.ts +2 -2
  56. package/dist/components/FitText.js +1 -63
  57. package/dist/components/Flex.d.ts +1 -1
  58. package/dist/components/Flex.js +1 -70
  59. package/dist/components/Floating.d.ts +3 -3
  60. package/dist/components/Floating.js +1 -2235
  61. package/dist/components/Icon.d.ts +2 -2
  62. package/dist/components/Icon.js +1 -45
  63. package/dist/components/Image.d.ts +1 -1
  64. package/dist/components/Image.js +1 -38
  65. package/dist/components/ImageButton.d.ts +10 -5
  66. package/dist/components/ImageButton.js +1 -154
  67. package/dist/components/InfinitePlane.d.ts +2 -2
  68. package/dist/components/InfinitePlane.js +1 -133
  69. package/dist/components/Input.d.ts +2 -2
  70. package/dist/components/Input.js +1 -96
  71. package/dist/components/KeyListener.d.ts +1 -1
  72. package/dist/components/KeyListener.js +1 -15
  73. package/dist/components/Knob.d.ts +2 -2
  74. package/dist/components/Knob.js +1 -133
  75. package/dist/components/LabeledControls.d.ts +1 -1
  76. package/dist/components/LabeledControls.js +1 -39
  77. package/dist/components/LabeledList.d.ts +2 -2
  78. package/dist/components/LabeledList.js +1 -89
  79. package/dist/components/MenuBar.d.ts +32 -0
  80. package/dist/components/MenuBar.js +1 -133
  81. package/dist/components/Modal.d.ts +2 -2
  82. package/dist/components/Modal.js +1 -22
  83. package/dist/components/NoticeBox.d.ts +1 -1
  84. package/dist/components/NoticeBox.js +1 -23
  85. package/dist/components/NumberInput.d.ts +9 -19
  86. package/dist/components/NumberInput.js +1 -213
  87. package/dist/components/Popper.d.ts +8 -9
  88. package/dist/components/Popper.js +1 -1082
  89. package/dist/components/ProgressBar.d.ts +2 -2
  90. package/dist/components/ProgressBar.js +1 -33
  91. package/dist/components/RestrictedInput.d.ts +29 -0
  92. package/dist/components/RestrictedInput.js +1 -161
  93. package/dist/components/RoundGauge.d.ts +2 -2
  94. package/dist/components/RoundGauge.js +1 -114
  95. package/dist/components/Section.d.ts +30 -44
  96. package/dist/components/Section.js +1 -66
  97. package/dist/components/Slider.d.ts +2 -2
  98. package/dist/components/Slider.js +1 -113
  99. package/dist/components/Stack.d.ts +2 -2
  100. package/dist/components/Stack.js +1 -58
  101. package/dist/components/StyleableSection.d.ts +1 -1
  102. package/dist/components/StyleableSection.js +1 -16
  103. package/dist/components/Table.d.ts +1 -1
  104. package/dist/components/Table.js +1 -57
  105. package/dist/components/Tabs.d.ts +2 -2
  106. package/dist/components/Tabs.js +1 -65
  107. package/dist/components/TextArea.d.ts +14 -28
  108. package/dist/components/TextArea.js +1 -139
  109. package/dist/components/TimeDisplay.js +1 -25
  110. package/dist/components/Tooltip.d.ts +2 -2
  111. package/dist/components/Tooltip.js +1 -18
  112. package/dist/components/TrackOutsideClicks.d.ts +2 -2
  113. package/dist/components/TrackOutsideClicks.js +1 -24
  114. package/dist/components/VirtualList.d.ts +1 -1
  115. package/dist/components/VirtualList.js +1 -34
  116. package/dist/components/index.js +1 -96
  117. package/license.txt +1 -1
  118. package/package.json +11 -17
  119. package/styles/components/Button.scss +1 -1
  120. package/styles/components/TextArea.scss +7 -0
  121. package/dist/components/FakeTerminal.js +0 -38
@@ -1,96 +1 @@
1
- import { AnimatedNumber as e } from "./AnimatedNumber.js";
2
- import { Autofocus as m } from "./Autofocus.js";
3
- import { Blink as x } from "./Blink.js";
4
- import { BlockQuote as i } from "./BlockQuote.js";
5
- import { Box as l } from "./Box.js";
6
- import { Button as u } from "./Button.js";
7
- import { ByondUi as c } from "./ByondUi.js";
8
- import { Chart as b } from "./Chart.js";
9
- import { Collapsible as g } from "./Collapsible.js";
10
- import { ColorBox as D } from "./ColorBox.js";
11
- import { Dialog as C } from "./Dialog.js";
12
- import { Dimmer as L } from "./Dimmer.js";
13
- import { Divider as y } from "./Divider.js";
14
- import { DmIcon as F } from "./DmIcon.js";
15
- import { DraggableControl as P } from "./DraggableControl.js";
16
- import { Dropdown as M } from "./Dropdown.js";
17
- import { FitText as h } from "./FitText.js";
18
- import { Flex as w } from "./Flex.js";
19
- import { Floating as O } from "./Floating.js";
20
- import { Icon as U } from "./Icon.js";
21
- import { Image as j } from "./Image.js";
22
- import { ImageButton as z } from "./ImageButton.js";
23
- import { InfinitePlane as H } from "./InfinitePlane.js";
24
- import { Input as W } from "./Input.js";
25
- import { KeyListener as Y } from "./KeyListener.js";
26
- import { Knob as _ } from "./Knob.js";
27
- import { LabeledControls as oo } from "./LabeledControls.js";
28
- import { LabeledList as eo } from "./LabeledList.js";
29
- import { MenuBar as mo } from "./MenuBar.js";
30
- import { Modal as xo } from "./Modal.js";
31
- import { NoticeBox as io } from "./NoticeBox.js";
32
- import { NumberInput as lo } from "./NumberInput.js";
33
- import { Popper as uo } from "./Popper.js";
34
- import { ProgressBar as co } from "./ProgressBar.js";
35
- import { RestrictedInput as Bo } from "./RestrictedInput.js";
36
- import { RoundGauge as Io } from "./RoundGauge.js";
37
- import { Section as To } from "./Section.js";
38
- import { Slider as ko } from "./Slider.js";
39
- import { Stack as So } from "./Stack.js";
40
- import { StyleableSection as Ao } from "./StyleableSection.js";
41
- import { Table as No } from "./Table.js";
42
- import { Tabs as Ko } from "./Tabs.js";
43
- import { TextArea as Ro } from "./TextArea.js";
44
- import { TimeDisplay as vo } from "./TimeDisplay.js";
45
- import { Tooltip as Go } from "./Tooltip.js";
46
- import { TrackOutsideClicks as Qo } from "./TrackOutsideClicks.js";
47
- import { VirtualList as Vo } from "./VirtualList.js";
48
- export {
49
- e as AnimatedNumber,
50
- m as Autofocus,
51
- x as Blink,
52
- i as BlockQuote,
53
- l as Box,
54
- u as Button,
55
- c as ByondUi,
56
- b as Chart,
57
- g as Collapsible,
58
- D as ColorBox,
59
- C as Dialog,
60
- L as Dimmer,
61
- y as Divider,
62
- F as DmIcon,
63
- P as DraggableControl,
64
- M as Dropdown,
65
- h as FitText,
66
- w as Flex,
67
- O as Floating,
68
- U as Icon,
69
- j as Image,
70
- z as ImageButton,
71
- H as InfinitePlane,
72
- W as Input,
73
- Y as KeyListener,
74
- _ as Knob,
75
- oo as LabeledControls,
76
- eo as LabeledList,
77
- mo as MenuBar,
78
- xo as Modal,
79
- io as NoticeBox,
80
- lo as NumberInput,
81
- uo as Popper,
82
- co as ProgressBar,
83
- Bo as RestrictedInput,
84
- Io as RoundGauge,
85
- To as Section,
86
- ko as Slider,
87
- So as Stack,
88
- Ao as StyleableSection,
89
- No as Table,
90
- Ko as Tabs,
91
- Ro as TextArea,
92
- vo as TimeDisplay,
93
- Go as Tooltip,
94
- Qo as TrackOutsideClicks,
95
- Vo as VirtualList
96
- };
1
+ import*as o from"./AnimatedNumber.js";import*as e from"./Autofocus.js";import*as s from"./Blink.js";import*as a from"./BlockQuote.js";import*as _ from"./Box.js";import*as r from"./Button.js";import*as t from"./ByondUi.js";import*as p from"./Chart.js";import*as i from"./Collapsible.js";import*as m from"./ColorBox.js";import*as l from"./Dialog.js";import*as n from"./Dimmer.js";import*as c from"./Divider.js";import*as b from"./DmIcon.js";import*as x from"./DraggableControl.js";import*as k from"./Dropdown.js";import*as u from"./FitText.js";import*as f from"./Flex.js";import*as w from"./Floating.js";import*as j from"./Icon.js";import*as d from"./Image.js";import*as B from"./ImageButton.js";import*as g from"./InfinitePlane.js";import*as I from"./Input.js";import*as D from"./KeyListener.js";import*as T from"./Knob.js";import*as C from"./LabeledControls.js";import*as L from"./LabeledList.js";import*as S from"./MenuBar.js";import*as y from"./Modal.js";import*as A from"./NoticeBox.js";import*as F from"./NumberInput.js";import*as N from"./Popper.js";import*as P from"./ProgressBar.js";import*as K from"./RestrictedInput.js";import*as M from"./RoundGauge.js";import*as R from"./Section.js";import*as v from"./Slider.js";import*as h from"./Stack.js";import*as G from"./StyleableSection.js";import*as O from"./Table.js";import*as Q from"./Tabs.js";import*as U from"./TextArea.js";import*as V from"./TimeDisplay.js";import*as q from"./Tooltip.js";import*as z from"./TrackOutsideClicks.js";import*as E from"./VirtualList.js";var H=o.AnimatedNumber,J=e.Autofocus,W=s.Blink,X=a.BlockQuote,Y=_.Box,Z=r.Button,$=t.ByondUi,oo=p.Chart,oe=i.Collapsible,os=m.ColorBox,oa=l.Dialog,o_=n.Dimmer,or=c.Divider,ot=b.DmIcon,op=x.DraggableControl,oi=k.Dropdown,om=u.FitText,ol=f.Flex,on=w.Floating,oc=j.Icon,ob=d.Image,ox=B.ImageButton,ok=g.InfinitePlane,ou=I.Input,of=D.KeyListener,ow=T.Knob,oj=C.LabeledControls,od=L.LabeledList,oB=S.MenuBar,og=y.Modal,oI=A.NoticeBox,oD=F.NumberInput,oT=N.Popper,oC=P.ProgressBar,oL=K.RestrictedInput,oS=M.RoundGauge,oy=R.Section,oA=v.Slider,oF=h.Stack,oN=G.StyleableSection,oP=O.Table,oK=Q.Tabs,oM=U.TextArea,oR=V.TimeDisplay,ov=q.Tooltip,oh=z.TrackOutsideClicks,oG=E.VirtualList;export{H as AnimatedNumber,J as Autofocus,W as Blink,X as BlockQuote,Y as Box,Z as Button,$ as ByondUi,oo as Chart,oe as Collapsible,os as ColorBox,oa as Dialog,o_ as Dimmer,or as Divider,ot as DmIcon,op as DraggableControl,oi as Dropdown,om as FitText,ol as Flex,on as Floating,oc as Icon,ob as Image,ox as ImageButton,ok as InfinitePlane,ou as Input,of as KeyListener,ow as Knob,oj as LabeledControls,od as LabeledList,oB as MenuBar,og as Modal,oI as NoticeBox,oD as NumberInput,oT as Popper,oC as ProgressBar,oL as RestrictedInput,oS as RoundGauge,oy as Section,oA as Slider,oF as Stack,oN as StyleableSection,oP as Table,oK as Tabs,oM as TextArea,oR as TimeDisplay,ov as Tooltip,oh as TrackOutsideClicks,oG as VirtualList};
package/license.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2024 TG Station
3
+ Copyright (c) 2025 TG Station
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tgui-core",
3
- "version": "2.0.5",
3
+ "version": "2.1.0",
4
4
  "description": "TGUI core component library",
5
5
  "keywords": ["TGUI", "library", "typescript"],
6
6
  "files": ["dist", "styles"],
@@ -26,8 +26,7 @@
26
26
  "url": "https://github.com/tgstation/tgui-core.git"
27
27
  },
28
28
  "scripts": {
29
- "dev": "vite",
30
- "build": "tsc --noEmit && vite build",
29
+ "build": "rslib build",
31
30
  "lint": "biome check lib",
32
31
  "lint:fix": "prettier . --write && biome check . --fix",
33
32
  "storybook": "storybook dev -p 6006",
@@ -37,33 +36,28 @@
37
36
  "author": "jlsnow301",
38
37
  "license": "MIT",
39
38
  "type": "module",
39
+ "dependencies": {
40
+ "@floating-ui/react": "^0.27.6"
41
+ },
40
42
  "devDependencies": {
41
43
  "@biomejs/biome": "1.9.4",
42
- "@floating-ui/react": "^0.27.6",
43
- "@popperjs/core": "^2.11.8",
44
+ "@rsbuild/core": "^1.3.5",
45
+ "@rsbuild/plugin-react": "^1.2.0",
46
+ "@rsbuild/plugin-sass": "^1.3.1",
47
+ "@rslib/core": "^0.6.2",
44
48
  "@storybook/addon-console": "^3.0.0",
45
49
  "@storybook/addon-essentials": "^8.6.12",
46
- "@storybook/addon-interactions": "^8.6.12",
47
- "@storybook/addon-onboarding": "^8.6.12",
48
- "@storybook/blocks": "^8.6.12",
49
50
  "@storybook/react": "^8.6.12",
50
- "@storybook/react-vite": "^8.6.12",
51
- "@storybook/test": "^8.6.12",
52
51
  "@storybook/theming": "^8.6.12",
53
52
  "@types/node": "^22.14.0",
54
53
  "@types/react": "^19.1.0",
55
54
  "@types/react-dom": "^19.1.1",
56
- "@types/webpack-env": "^1.18.8",
57
- "@vitejs/plugin-react-swc": "^3.8.1",
58
- "glob": "^11.0.1",
59
55
  "prettier": "^3.5.3",
60
- "react-popper": "^2.3.0",
61
56
  "sass": "^1.81.0",
62
57
  "storybook": "^8.6.12",
63
58
  "storybook-addon-sass-postcss": "^0.3.2",
64
- "typescript": "^5.8.3",
65
- "vite": "^6.2.5",
66
- "vite-plugin-dts": "^4.5.3"
59
+ "storybook-react-rsbuild": "^1.0.1",
60
+ "typescript": "^5.8.3"
67
61
  },
68
62
  "peerDependencies": {
69
63
  "react": "^19.1.0",
@@ -124,7 +124,7 @@ $border-radius: 0 !default;
124
124
  }
125
125
 
126
126
  // We don't need additional margin if button inside stack
127
- .Stack__item & {
127
+ .Stack__item > & {
128
128
  margin: 0;
129
129
  }
130
130
  }
@@ -73,3 +73,10 @@ $border-radius: 0 !default;
73
73
  overflow-x: scroll;
74
74
  white-space: nowrap;
75
75
  }
76
+
77
+ .TextArea__value-container {
78
+ height: 100%;
79
+ overflow: hidden;
80
+ position: absolute;
81
+ width: 100%;
82
+ }
@@ -1,38 +0,0 @@
1
- import { jsx as r, jsxs as i } from "react/jsx-runtime";
2
- import { Component as o, Fragment as c } from "react";
3
- import { Box as m } from "./Box.js";
4
- class h extends o {
5
- constructor(e) {
6
- super(e), this.timer = null, this.state = {
7
- currentIndex: 0,
8
- currentDisplay: []
9
- };
10
- }
11
- tick() {
12
- const { props: e, state: t } = this;
13
- if (t.currentIndex <= e.allMessages.length) {
14
- this.setState((n) => ({
15
- currentIndex: n.currentIndex + 1
16
- }));
17
- const { currentDisplay: s } = t;
18
- s.push(e.allMessages[t.currentIndex]);
19
- } else
20
- clearTimeout(this.timer), setTimeout(e.onFinished, e.finishedTimeout);
21
- }
22
- componentDidMount() {
23
- const { linesPerSecond: e = 2.5 } = this.props;
24
- this.timer = setInterval(() => this.tick(), 1e3 / e);
25
- }
26
- componentWillUnmount() {
27
- clearTimeout(this.timer);
28
- }
29
- render() {
30
- return /* @__PURE__ */ r(m, { m: 1, children: this.state.currentDisplay.map((e) => /* @__PURE__ */ i(c, { children: [
31
- e,
32
- /* @__PURE__ */ r("br", {})
33
- ] }, e)) });
34
- }
35
- }
36
- export {
37
- h as FakeTerminal
38
- };