ssovee-os-web-ui 0.1.22 β†’ 0.1.25

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
@@ -1,16 +1,23 @@
1
1
  # ssovee-os-web-ui
2
2
 
3
- Reusable React UI components for consuming projects.
3
+ Reusable React UI components for building shared desktop-style web experiences.
4
4
 
5
5
  ## Overview
6
6
 
7
- This package provides a shared set of React UI components for SSOVEE applications. It ships component styles through the package stylesheet and includes the Tailwind dependency required by the library.
7
+ This package provides a shared set of React UI components for SSOVEE applications. It includes themed UI primitives, hooks, and desktop-style window wrappers for app-like layouts.
8
+
9
+ ## What’s new in v0.1.24
10
+
11
+ - Added window container components for app-style layouts
12
+ - Documented usage examples for both window variants
13
+ - Improved package exports for easier consumption
8
14
 
9
15
  ## Features
10
16
 
11
17
  - Ready-to-use React UI components
12
18
  - Packaged theme stylesheet for shared visual tokens
13
- - TypeScript types for the main public components
19
+ - TypeScript support for the main public components
20
+ - Window components for desktop-style app shells
14
21
 
15
22
  ## Install
16
23
 
@@ -38,7 +45,7 @@ If your setup prefers CSS imports, this also works:
38
45
  @import "ssovee-os-web-ui/theme.css";
39
46
  ```
40
47
 
41
- ## Use components
48
+ ## Basic usage
42
49
 
43
50
  ```tsx
44
51
  import { Button, Input, Card } from "ssovee-os-web-ui";
@@ -53,6 +60,78 @@ export function Example() {
53
60
  }
54
61
  ```
55
62
 
63
+ ## Window components
64
+
65
+ ### Simple window
66
+
67
+ ```tsx
68
+ import { WindowWithoutSideMenu, Typography } from "ssovee-os-web-ui";
69
+
70
+ const app = {
71
+ name: "Notes",
72
+ slug: "notes",
73
+ isActive: true,
74
+ isMinimize: false,
75
+ windowSize: {
76
+ windowSize: { width: 420, height: 320 },
77
+ isAppWindowResizing: false,
78
+ },
79
+ };
80
+
81
+ export function NotesWindow() {
82
+ return (
83
+ <WindowWithoutSideMenu app={app} defaultSize={{ width: 420, height: 320 }}>
84
+ <Typography variant="h6">Notes</Typography>
85
+ </WindowWithoutSideMenu>
86
+ );
87
+ }
88
+ ```
89
+
90
+ ### Window with sidebar menu
91
+
92
+ ```tsx
93
+ import { WindowWithSideMenu, Typography, Button } from "ssovee-os-web-ui";
94
+
95
+ const app = {
96
+ name: "Settings",
97
+ slug: "settings",
98
+ isActive: true,
99
+ isMinimize: false,
100
+ windowSize: {
101
+ windowSize: { width: 720, height: 500 },
102
+ isAppWindowResizing: false,
103
+ },
104
+ };
105
+
106
+ export function SettingsWindow() {
107
+ return (
108
+ <WindowWithSideMenu
109
+ app={app}
110
+ defaultSize={{ width: 720, height: 500 }}
111
+ actionButtons={{ title: "Save", onClick: () => console.log("Saved") }}
112
+ menu={{
113
+ title: "Navigation",
114
+ items: [
115
+ { title: "Profile", icon: "πŸ‘€", onClick: () => console.log("Profile"), isActive: true },
116
+ { title: "Security", icon: "πŸ”’", onClick: () => console.log("Security") },
117
+ ],
118
+ }}
119
+ >
120
+ <Typography variant="h6">Settings</Typography>
121
+ <Button variant="primary">Update</Button>
122
+ </WindowWithSideMenu>
123
+ );
124
+ }
125
+ ```
126
+
127
+ ## Hooks
128
+
129
+ Hooks are also available through the SDK-style entrypoint:
130
+
131
+ ```tsx
132
+ import { useGridClasses, useDeviceSupport, useSound } from "ssovee-os-web-ui/sdk";
133
+ ```
134
+
56
135
  ## Public exports
57
136
 
58
137
  The package exports these components and types for external use:
@@ -84,11 +163,15 @@ The package exports these components and types for external use:
84
163
  - `Tabs`
85
164
  - `Typography`
86
165
  - `ImageWithPlaceholder`
166
+ - `WindowWithSideMenu`
167
+ - `WindowWithoutSideMenu`
87
168
  - `Table` and its subcomponents
88
169
  - `useGridClasses`
89
170
  - `useShortcutFormatter`
171
+ - `useDeviceSupport`
172
+ - `useSound`
90
173
 
91
- The hooks are exported from the package entrypoint alongside the components.
174
+ The hooks are available from the package entrypoint and from the SDK subpath.
92
175
 
93
176
  ## License
94
177