@react-text-game/ui 0.2.0 → 0.2.2

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.
package/README.md CHANGED
@@ -2,12 +2,61 @@
2
2
 
3
3
  UI components library for react-text-game built with React 19, TypeScript, and Tailwind CSS v4.
4
4
 
5
+ > Install this package inside your own React project. It depends on `@react-text-game/core` for game state and Tailwind CSS v4 for styling tokens.
6
+
5
7
  ## Installation
6
8
 
9
+ ### 1. Install and configure Tailwind CSS
10
+
11
+ Follow the official Tailwind installation guide for your stack: [tailwindcss.com/docs/installation](https://tailwindcss.com/docs/installation).
12
+
13
+ ### 2. Add react-text-game packages
14
+
7
15
  ```bash
8
- bun install
16
+ # Bun (repo default)
17
+ bun add @react-text-game/core @react-text-game/ui
18
+
19
+ # npm
20
+ npm install @react-text-game/core @react-text-game/ui
21
+
22
+ # yarn
23
+ yarn add @react-text-game/core @react-text-game/ui
24
+ ```
25
+
26
+ ### 3. Import the UI theme tokens
27
+
28
+ Import the shared styles once in your global stylesheet (for example `src/index.css`, `src/main.css`, or whichever file you feed into your bundler):
29
+
30
+ ```css
31
+ @import "@react-text-game/ui/styles";
32
+
33
+ @theme {
34
+ --color-primary-500: oklch(0.65 0.25 265); /* optional override */
35
+ }
9
36
  ```
10
37
 
38
+ ### Minimal implementation
39
+
40
+ Once Tailwind is wired up and packages are installed, the lightest viable setup only needs two pieces:
41
+
42
+ 1. Wrap your React tree with `GameProvider` and pass the core engine options.
43
+ 2. Render `PassageController` somewhere inside the provider.
44
+
45
+ ```tsx
46
+ // src/App.tsx
47
+ import { GameProvider, PassageController } from '@react-text-game/ui';
48
+
49
+ export function App() {
50
+ return (
51
+ <GameProvider options={{ gameName: 'My Text Adventure', isDevMode: true }}>
52
+ <PassageController />
53
+ </GameProvider>
54
+ );
55
+ }
56
+ ```
57
+
58
+ With those two components in place, the UI handles menus, passage rendering, and save/load modals. You can immediately start defining entities and passages through `@react-text-game/core`.
59
+
11
60
  ## Development
12
61
 
13
62
  ```bash
@@ -29,16 +78,19 @@ All components use semantic color names (like `primary`, `secondary`, `success`,
29
78
  ### Available Semantic Colors
30
79
 
31
80
  #### Brand Colors
81
+
32
82
  - `primary-*` (50-950) - Main brand color
33
83
  - `secondary-*` (50-950) - Secondary brand color
34
84
 
35
85
  #### Semantic State Colors
86
+
36
87
  - `success-*` (50-950) - Success states
37
88
  - `warning-*` (50-950) - Warning states
38
89
  - `danger-*` (50-950) - Error/danger states
39
90
  - `info-*` (50-950) - Informational states
40
91
 
41
92
  #### Neutral/UI Colors
93
+
42
94
  - `muted-*` (50-950) - Muted/subtle UI elements
43
95
  - `background` - Main background color
44
96
  - `foreground` - Main text color
@@ -127,7 +179,7 @@ You can override any theme color in your application's CSS file:
127
179
  }
128
180
  ```
129
181
 
130
- 2. **Import components** in your React code:
182
+ 1. **Import components** in your React code:
131
183
 
132
184
  ```tsx
133
185
  import { Button, MainMenu, StoryComponent } from '@react-text-game/ui';
@@ -173,6 +225,7 @@ function App() {
173
225
  ```
174
226
 
175
227
  **Available component overrides:**
228
+
176
229
  - `MainMenu` - Main game menu
177
230
  - `story.Heading` - Story passage heading
178
231
  - `story.Text` - Story text content
@@ -186,11 +239,13 @@ Any components not specified will use the default implementation.
186
239
  ### Color Format: oklch()
187
240
 
188
241
  This package uses the `oklch()` color format from Tailwind CSS v4, which provides:
242
+
189
243
  - **Perceptually uniform** colors
190
244
  - **Better dark mode** transitions
191
245
  - **Predictable lightness** control
192
246
 
193
247
  Format: `oklch(lightness chroma hue)`
248
+
194
249
  - `lightness`: 0-1 (0 = black, 1 = white)
195
250
  - `chroma`: 0-0.4 (saturation intensity)
196
251
  - `hue`: 0-360 (color angle)
@@ -225,6 +280,7 @@ Components also accept `className` props for additional styling:
225
280
  This package uses **global CSS variables** (like `--color-primary-500`, `--color-background`, etc.) that may conflict with other design systems if you're mixing multiple component libraries.
226
281
 
227
282
  **Example conflict:**
283
+
228
284
  ```css
229
285
  /* Both systems try to define the same variables */
230
286
  @import "@react-text-game/ui/styles"; /* Uses --color-primary-500 */
@@ -267,6 +323,7 @@ function App() {
267
323
  ```
268
324
 
269
325
  Then create scoped overrides:
326
+
270
327
  ```css
271
328
  /* app.css */
272
329
  @import "@react-text-game/ui/styles";
@@ -308,6 +365,7 @@ If you need fine-grained control, manually remap variables:
308
365
  ```
309
366
 
310
367
  Then create wrapper components:
368
+
311
369
  ```tsx
312
370
  // CustomButton.tsx
313
371
  import { Button as RTGButton } from '@react-text-game/ui';
@@ -333,6 +391,7 @@ export const GameButton = (props) => (
333
391
  ## Components
334
392
 
335
393
  ### Core Components
394
+
336
395
  - `Button` - Customizable button with multiple variants (solid, faded, bordered, light, flat, ghost, shadow)
337
396
  - `Spinner` - Loading spinner
338
397
  - `GameProvider` - Main game wrapper with dev tools
@@ -344,6 +403,7 @@ export const GameButton = (props) => (
344
403
  - `Tooltip` - Tooltip component
345
404
 
346
405
  ### Story Components (Overridable)
406
+
347
407
  - `Heading` - Story passage heading (formerly `Header`)
348
408
  - `Text` - Story text content
349
409
  - `Image` - Story images
@@ -352,6 +412,7 @@ export const GameButton = (props) => (
352
412
  - `Conversation` - Story conversation dialogs
353
413
 
354
414
  ### Hooks & Context
415
+
355
416
  - `useSaveLoadMenu` - Hook to control save/load modal (exported from main package)
356
417
 
357
418
  ## License
@@ -1,2 +1,3 @@
1
1
  export * from './ErrorBoundary';
2
+ export type * from './types';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ErrorBoundary/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ErrorBoundary/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,mBAAmB,SAAS,CAAC"}
@@ -1,10 +1,9 @@
1
1
  import { NewOptions } from "@react-text-game/core";
2
2
  import { PropsWithChildren } from "react";
3
3
  import { Components } from "../../context/ComponentsContext";
4
- type GameProviderProps = PropsWithChildren<{
4
+ export type GameProviderProps = PropsWithChildren<{
5
5
  options: NewOptions;
6
6
  components?: Components;
7
7
  }>;
8
8
  export declare const GameProvider: ({ children, options, components, }: GameProviderProps) => import("react/jsx-runtime").JSX.Element | null;
9
- export {};
10
9
  //# sourceMappingURL=GameProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GameProvider.d.ts","sourceRoot":"","sources":["../../../src/components/GameProvider/GameProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEH,UAAU,EAGb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAuB,MAAM,OAAO,CAAC;AAK/D,OAAO,EAAE,UAAU,EAAsB,MAAM,4BAA4B,CAAC;AAS5E,KAAK,iBAAiB,GAAG,iBAAiB,CAAC;IACvC,OAAO,EAAE,UAAU,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;CAC3B,CAAC,CAAC;AAOH,eAAO,MAAM,YAAY,GAAI,oCAI1B,iBAAiB,mDA4CnB,CAAC"}
1
+ {"version":3,"file":"GameProvider.d.ts","sourceRoot":"","sources":["../../../src/components/GameProvider/GameProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEH,UAAU,EAGb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAuB,MAAM,OAAO,CAAC;AAK/D,OAAO,EAAE,UAAU,EAAsB,MAAM,4BAA4B,CAAC;AAS5E,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;IAC9C,OAAO,EAAE,UAAU,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;CAC3B,CAAC,CAAC;AAOH,eAAO,MAAM,YAAY,GAAI,oCAI1B,iBAAiB,mDA4CnB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { ButtonProps } from "../components/common";
2
- type ReloadButtonProps = Omit<ButtonProps, "children" | "onClick"> & Readonly<{
2
+ export type ReloadButtonProps = Omit<ButtonProps, "children" | "onClick"> & Readonly<{
3
3
  /**
4
4
  * If true, the button will display only the icon without any text.
5
5
  *
@@ -11,5 +11,4 @@ export declare const Icon: ({ className }: {
11
11
  className?: string;
12
12
  }) => import("react/jsx-runtime").JSX.Element;
13
13
  export declare const ReloadButton: ({ isIconOnly, className, ...props }: ReloadButtonProps) => import("react/jsx-runtime").JSX.Element;
14
- export {};
15
14
  //# sourceMappingURL=ReloadButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReloadButton.d.ts","sourceRoot":"","sources":["../../src/components/ReloadButton.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAU,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEzD,KAAK,iBAAiB,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,SAAS,CAAC,GAC9D,QAAQ,CAAC;IACL;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC,CAAC;AAEP,eAAO,MAAM,IAAI,GAAI,eAAe;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,4CAezD,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,qCAI1B,iBAAiB,4CAanB,CAAC"}
1
+ {"version":3,"file":"ReloadButton.d.ts","sourceRoot":"","sources":["../../src/components/ReloadButton.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAU,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,SAAS,CAAC,GACrE,QAAQ,CAAC;IACL;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC,CAAC;AAEP,eAAO,MAAM,IAAI,GAAI,eAAe;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,4CAezD,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,qCAI1B,iBAAiB,4CAanB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { ButtonProps } from "../components/common";
2
2
  import { SaveLoadMode } from "../context/SaveLoadMenuContext";
3
- type SaveButtonProps = Omit<ButtonProps, "children" | "onClick"> & Readonly<{
3
+ export type SaveButtonProps = Omit<ButtonProps, "children" | "onClick"> & Readonly<{
4
4
  /**
5
5
  * If true, the button will display only the icon without any text.
6
6
  *
@@ -17,5 +17,4 @@ type SaveButtonProps = Omit<ButtonProps, "children" | "onClick"> & Readonly<{
17
17
  mode?: Omit<SaveLoadMode, "load">;
18
18
  }>;
19
19
  export declare const SaveButton: ({ isIconOnly, className, mode, ...props }: SaveButtonProps) => import("react/jsx-runtime").JSX.Element;
20
- export {};
21
20
  //# sourceMappingURL=SaveButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SaveButton.d.ts","sourceRoot":"","sources":["../../src/components/SaveButton.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAU,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D,KAAK,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,SAAS,CAAC,GAC5D,QAAQ,CAAC;IACL;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;CACrC,CAAC,CAAC;AAkBP,eAAO,MAAM,UAAU,GAAI,2CAKxB,eAAe,4CAajB,CAAC"}
1
+ {"version":3,"file":"SaveButton.d.ts","sourceRoot":"","sources":["../../src/components/SaveButton.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAU,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,SAAS,CAAC,GACnE,QAAQ,CAAC;IACL;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;CACrC,CAAC,CAAC;AAkBP,eAAO,MAAM,UAAU,GAAI,2CAKxB,eAAe,4CAajB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { ReactNode } from "react";
2
- type Placement = "top" | "top-right" | "top-left" | "bottom" | "bottom-right" | "bottom-left" | "right" | "left";
3
- type TooltipProps = Readonly<{
2
+ export type Placement = "top" | "top-right" | "top-left" | "bottom" | "bottom-right" | "bottom-left" | "right" | "left";
3
+ export type TooltipProps = Readonly<{
4
4
  children: ReactNode;
5
5
  disabled?: boolean | undefined;
6
6
  content: ReactNode;
@@ -8,5 +8,4 @@ type TooltipProps = Readonly<{
8
8
  placement?: Placement | undefined;
9
9
  }>;
10
10
  export declare const Tooltip: ({ children, disabled, content, className, placement, }: TooltipProps) => import("react/jsx-runtime").JSX.Element;
11
- export {};
12
11
  //# sourceMappingURL=Tooltip.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/common/Tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,KAAK,SAAS,GACR,KAAK,GACL,WAAW,GACX,UAAU,GACV,QAAQ,GACR,cAAc,GACd,aAAa,GACb,OAAO,GACP,MAAM,CAAC;AAEb,KAAK,YAAY,GAAG,QAAQ,CAAC;IACzB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CACrC,CAAC,CAAC;AAwBH,eAAO,MAAM,OAAO,GAAI,wDAMrB,YAAY,4CAmBd,CAAC"}
1
+ {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/common/Tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,MAAM,SAAS,GACf,KAAK,GACL,WAAW,GACX,UAAU,GACV,QAAQ,GACR,cAAc,GACd,aAAa,GACb,OAAO,GACP,MAAM,CAAC;AAEb,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC;IAChC,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CACrC,CAAC,CAAC;AAwBH,eAAO,MAAM,OAAO,GAAI,wDAMrB,YAAY,4CAmBd,CAAC"}
@@ -3,4 +3,6 @@ export * from "./GameProvider";
3
3
  export { PassageController } from "./PassageController";
4
4
  export * from "./ReloadButton";
5
5
  export * from "./SaveButton";
6
+ export * from "./common";
7
+ export * from "./StoryComponent/components";
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,6BAA6B,CAAC"}
@@ -3,4 +3,6 @@ export * from "./GameProvider";
3
3
  export { PassageController } from "./PassageController";
4
4
  export * from "./ReloadButton";
5
5
  export * from "./SaveButton";
6
+ export * from "./common";
7
+ export * from "./StoryComponent/components";
6
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,6BAA6B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SaveLoadMenuContext.d.ts","sourceRoot":"","sources":["../../../src/context/SaveLoadMenuContext/SaveLoadMenuContext.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,YAAY,CAAC;IACnB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,mBAAmB,8DAEpB,CAAC"}
1
+ {"version":3,"file":"SaveLoadMenuContext.d.ts","sourceRoot":"","sources":["../../../src/context/SaveLoadMenuContext/SaveLoadMenuContext.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,YAAY,CAAC;IACnB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,mBAAmB,8DAEpB,CAAC"}
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { createContext } from "react";
2
3
  export const SaveLoadMenuContext = createContext(undefined);
3
4
  //# sourceMappingURL=SaveLoadMenuContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SaveLoadMenuContext.js","sourceRoot":"","sources":["../../../src/context/SaveLoadMenuContext/SaveLoadMenuContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAatC,MAAM,CAAC,MAAM,mBAAmB,GAAG,aAAa,CAE9C,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"SaveLoadMenuContext.js","sourceRoot":"","sources":["../../../src/context/SaveLoadMenuContext/SaveLoadMenuContext.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAatC,MAAM,CAAC,MAAM,mBAAmB,GAAG,aAAa,CAE9C,SAAS,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
1
  export * from './components';
2
2
  export { useSaveLoadMenu } from './context/SaveLoadMenuContext';
3
+ export type { SaveLoadMenuContextType, SaveLoadMode, } from './context/SaveLoadMenuContext';
4
+ export type { Components, StoryComponents } from './context/ComponentsContext';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,YAAY,EACR,uBAAuB,EACvB,YAAY,GACf,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-text-game/ui",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "UI components library for react-text-game",
5
5
  "private": false,
6
6
  "type": "module",
@@ -8,6 +8,7 @@
8
8
  "module": "dist/index.js",
9
9
  "types": "dist/index.d.ts",
10
10
  "repository": "github:laruss/react-text-game",
11
+ "homepage": "https://laruss.github.io/react-text-game/",
11
12
  "scripts": {
12
13
  "dev": "tsc --watch & tsc-alias --watch & bun run build:css --watch",
13
14
  "build": "tsc && tsc-alias && bun run build:css",