ssovee-os-web-ui 0.1.25 → 0.1.26
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 +6 -6
- package/dist/index.css +106 -0
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -6,18 +6,13 @@ Reusable React UI components for building shared desktop-style web experiences.
|
|
|
6
6
|
|
|
7
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
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
|
|
14
|
-
|
|
15
9
|
## Features
|
|
16
10
|
|
|
17
11
|
- Ready-to-use React UI components
|
|
18
12
|
- Packaged theme stylesheet for shared visual tokens
|
|
19
13
|
- TypeScript support for the main public components
|
|
20
14
|
- Window components for desktop-style app shells
|
|
15
|
+
- Plugin playground support for local plugin testing
|
|
21
16
|
|
|
22
17
|
## Install
|
|
23
18
|
|
|
@@ -64,6 +59,7 @@ export function Example() {
|
|
|
64
59
|
|
|
65
60
|
### Simple window
|
|
66
61
|
|
|
62
|
+
{% raw %}
|
|
67
63
|
```tsx
|
|
68
64
|
import { WindowWithoutSideMenu, Typography } from "ssovee-os-web-ui";
|
|
69
65
|
|
|
@@ -86,9 +82,11 @@ export function NotesWindow() {
|
|
|
86
82
|
);
|
|
87
83
|
}
|
|
88
84
|
```
|
|
85
|
+
{% endraw %}
|
|
89
86
|
|
|
90
87
|
### Window with sidebar menu
|
|
91
88
|
|
|
89
|
+
{% raw %}
|
|
92
90
|
```tsx
|
|
93
91
|
import { WindowWithSideMenu, Typography, Button } from "ssovee-os-web-ui";
|
|
94
92
|
|
|
@@ -123,6 +121,7 @@ export function SettingsWindow() {
|
|
|
123
121
|
);
|
|
124
122
|
}
|
|
125
123
|
```
|
|
124
|
+
{% endraw %}
|
|
126
125
|
|
|
127
126
|
## Hooks
|
|
128
127
|
|
|
@@ -163,6 +162,7 @@ The package exports these components and types for external use:
|
|
|
163
162
|
- `Tabs`
|
|
164
163
|
- `Typography`
|
|
165
164
|
- `ImageWithPlaceholder`
|
|
165
|
+
- `PluginPlayground`
|
|
166
166
|
- `WindowWithSideMenu`
|
|
167
167
|
- `WindowWithoutSideMenu`
|
|
168
168
|
- `Table` and its subcomponents
|
package/dist/index.css
CHANGED
|
@@ -30,6 +30,10 @@
|
|
|
30
30
|
--color-blue-500: oklch(62.3% 0.214 259.815);
|
|
31
31
|
--color-blue-700: oklch(48.8% 0.243 264.376);
|
|
32
32
|
--color-blue-800: oklch(42.4% 0.199 265.638);
|
|
33
|
+
--color-slate-100: oklch(96.8% 0.007 247.896);
|
|
34
|
+
--color-slate-700: oklch(37.2% 0.044 257.287);
|
|
35
|
+
--color-slate-900: oklch(20.8% 0.042 265.755);
|
|
36
|
+
--color-slate-950: oklch(12.9% 0.042 264.695);
|
|
33
37
|
--color-gray-500: oklch(55.1% 0.027 264.364);
|
|
34
38
|
--color-neutral-100: oklch(97% 0 none);
|
|
35
39
|
--color-neutral-200: oklch(92.2% 0 none);
|
|
@@ -79,6 +83,7 @@
|
|
|
79
83
|
--animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
|
|
80
84
|
--animate-bounce: bounce 1s infinite;
|
|
81
85
|
--blur-sm: 8px;
|
|
86
|
+
--blur-md: 12px;
|
|
82
87
|
--default-transition-duration: 150ms;
|
|
83
88
|
--default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
84
89
|
--default-font-family: var(--font-sans);
|
|
@@ -285,6 +290,9 @@
|
|
|
285
290
|
.bottom-4 {
|
|
286
291
|
bottom: calc(var(--spacing) * 4);
|
|
287
292
|
}
|
|
293
|
+
.bottom-6 {
|
|
294
|
+
bottom: calc(var(--spacing) * 6);
|
|
295
|
+
}
|
|
288
296
|
.bottom-full {
|
|
289
297
|
bottom: 100%;
|
|
290
298
|
}
|
|
@@ -303,6 +311,9 @@
|
|
|
303
311
|
.left-full {
|
|
304
312
|
left: 100%;
|
|
305
313
|
}
|
|
314
|
+
.z-40 {
|
|
315
|
+
z-index: 40;
|
|
316
|
+
}
|
|
306
317
|
.z-50 {
|
|
307
318
|
z-index: 50;
|
|
308
319
|
}
|
|
@@ -459,6 +470,9 @@
|
|
|
459
470
|
.h-full {
|
|
460
471
|
height: 100%;
|
|
461
472
|
}
|
|
473
|
+
.h-screen {
|
|
474
|
+
height: 100vh;
|
|
475
|
+
}
|
|
462
476
|
.max-h-0 {
|
|
463
477
|
max-height: 0px;
|
|
464
478
|
}
|
|
@@ -510,6 +524,9 @@
|
|
|
510
524
|
.w-full {
|
|
511
525
|
width: 100%;
|
|
512
526
|
}
|
|
527
|
+
.w-screen {
|
|
528
|
+
width: 100vw;
|
|
529
|
+
}
|
|
513
530
|
.max-w-full {
|
|
514
531
|
max-width: 100%;
|
|
515
532
|
}
|
|
@@ -770,6 +787,12 @@
|
|
|
770
787
|
.border-transparent {
|
|
771
788
|
border-color: transparent;
|
|
772
789
|
}
|
|
790
|
+
.border-white\/30 {
|
|
791
|
+
border-color: color-mix(in srgb, #fff 30%, transparent);
|
|
792
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
793
|
+
border-color: color-mix(in oklab, var(--color-white) 30%, transparent);
|
|
794
|
+
}
|
|
795
|
+
}
|
|
773
796
|
.border-yellow-200 {
|
|
774
797
|
border-color: var(--color-yellow-200);
|
|
775
798
|
}
|
|
@@ -821,6 +844,12 @@
|
|
|
821
844
|
background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
|
|
822
845
|
}
|
|
823
846
|
}
|
|
847
|
+
.bg-black\/55 {
|
|
848
|
+
background-color: color-mix(in srgb, #000 55%, transparent);
|
|
849
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
850
|
+
background-color: color-mix(in oklab, var(--color-black) 55%, transparent);
|
|
851
|
+
}
|
|
852
|
+
}
|
|
824
853
|
.bg-blue-50 {
|
|
825
854
|
background-color: var(--color-blue-50);
|
|
826
855
|
}
|
|
@@ -890,12 +919,27 @@
|
|
|
890
919
|
.bg-white {
|
|
891
920
|
background-color: var(--color-white);
|
|
892
921
|
}
|
|
922
|
+
.bg-white\/75 {
|
|
923
|
+
background-color: color-mix(in srgb, #fff 75%, transparent);
|
|
924
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
925
|
+
background-color: color-mix(in oklab, var(--color-white) 75%, transparent);
|
|
926
|
+
}
|
|
927
|
+
}
|
|
893
928
|
.bg-yellow-50 {
|
|
894
929
|
background-color: var(--color-yellow-50);
|
|
895
930
|
}
|
|
896
931
|
.bg-yellow-500 {
|
|
897
932
|
background-color: var(--color-yellow-500);
|
|
898
933
|
}
|
|
934
|
+
.bg-cover {
|
|
935
|
+
background-size: cover;
|
|
936
|
+
}
|
|
937
|
+
.bg-center {
|
|
938
|
+
background-position: center;
|
|
939
|
+
}
|
|
940
|
+
.bg-no-repeat {
|
|
941
|
+
background-repeat: no-repeat;
|
|
942
|
+
}
|
|
899
943
|
.object-cover {
|
|
900
944
|
object-fit: cover;
|
|
901
945
|
}
|
|
@@ -1158,6 +1202,9 @@
|
|
|
1158
1202
|
.text-red-800 {
|
|
1159
1203
|
color: var(--color-red-800);
|
|
1160
1204
|
}
|
|
1205
|
+
.text-slate-900 {
|
|
1206
|
+
color: var(--color-slate-900);
|
|
1207
|
+
}
|
|
1161
1208
|
.text-white {
|
|
1162
1209
|
color: var(--color-white);
|
|
1163
1210
|
}
|
|
@@ -1207,6 +1254,12 @@
|
|
|
1207
1254
|
--tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
|
|
1208
1255
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
1209
1256
|
}
|
|
1257
|
+
.shadow-black\/20 {
|
|
1258
|
+
--tw-shadow-color: color-mix(in srgb, #000 20%, transparent);
|
|
1259
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1260
|
+
--tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-black) 20%, transparent) var(--tw-shadow-alpha), transparent);
|
|
1261
|
+
}
|
|
1262
|
+
}
|
|
1210
1263
|
.outline {
|
|
1211
1264
|
outline-style: var(--tw-outline-style);
|
|
1212
1265
|
outline-width: 1px;
|
|
@@ -1214,6 +1267,11 @@
|
|
|
1214
1267
|
.filter {
|
|
1215
1268
|
filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
|
|
1216
1269
|
}
|
|
1270
|
+
.backdrop-blur-md {
|
|
1271
|
+
--tw-backdrop-blur: blur(var(--blur-md));
|
|
1272
|
+
-webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
|
|
1273
|
+
backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
|
|
1274
|
+
}
|
|
1217
1275
|
.backdrop-blur-sm {
|
|
1218
1276
|
--tw-backdrop-blur: blur(var(--blur-sm));
|
|
1219
1277
|
-webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
|
|
@@ -1251,6 +1309,9 @@
|
|
|
1251
1309
|
-webkit-user-select: none;
|
|
1252
1310
|
user-select: none;
|
|
1253
1311
|
}
|
|
1312
|
+
.\[playground\:openApp\] {
|
|
1313
|
+
playground: openApp;
|
|
1314
|
+
}
|
|
1254
1315
|
.placeholder\:text-neutral-300::placeholder {
|
|
1255
1316
|
color: var(--color-neutral-300);
|
|
1256
1317
|
}
|
|
@@ -1499,6 +1560,51 @@
|
|
|
1499
1560
|
.disabled\:opacity-50:disabled {
|
|
1500
1561
|
opacity: 50%;
|
|
1501
1562
|
}
|
|
1563
|
+
@media (prefers-color-scheme: dark) {
|
|
1564
|
+
.dark\:border-slate-700\/60 {
|
|
1565
|
+
border-color: color-mix(in srgb, oklch(37.2% 0.044 257.287) 60%, transparent);
|
|
1566
|
+
}
|
|
1567
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1568
|
+
.dark\:border-slate-700\/60 {
|
|
1569
|
+
border-color: color-mix(in oklab, var(--color-slate-700) 60%, transparent);
|
|
1570
|
+
}
|
|
1571
|
+
}
|
|
1572
|
+
.dark\:border-white\/20 {
|
|
1573
|
+
border-color: color-mix(in srgb, #fff 20%, transparent);
|
|
1574
|
+
}
|
|
1575
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1576
|
+
.dark\:border-white\/20 {
|
|
1577
|
+
border-color: color-mix(in oklab, var(--color-white) 20%, transparent);
|
|
1578
|
+
}
|
|
1579
|
+
}
|
|
1580
|
+
.dark\:bg-slate-900\/70 {
|
|
1581
|
+
background-color: color-mix(in srgb, oklch(20.8% 0.042 265.755) 70%, transparent);
|
|
1582
|
+
}
|
|
1583
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1584
|
+
.dark\:bg-slate-900\/70 {
|
|
1585
|
+
background-color: color-mix(in oklab, var(--color-slate-900) 70%, transparent);
|
|
1586
|
+
}
|
|
1587
|
+
}
|
|
1588
|
+
.dark\:bg-slate-950\/70 {
|
|
1589
|
+
background-color: color-mix(in srgb, oklch(12.9% 0.042 264.695) 70%, transparent);
|
|
1590
|
+
}
|
|
1591
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1592
|
+
.dark\:bg-slate-950\/70 {
|
|
1593
|
+
background-color: color-mix(in oklab, var(--color-slate-950) 70%, transparent);
|
|
1594
|
+
}
|
|
1595
|
+
}
|
|
1596
|
+
.dark\:text-slate-100 {
|
|
1597
|
+
color: var(--color-slate-100);
|
|
1598
|
+
}
|
|
1599
|
+
.dark\:shadow-slate-950\/40 {
|
|
1600
|
+
--tw-shadow-color: color-mix(in srgb, oklch(12.9% 0.042 264.695) 40%, transparent);
|
|
1601
|
+
}
|
|
1602
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1603
|
+
.dark\:shadow-slate-950\/40 {
|
|
1604
|
+
--tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-slate-950) 40%, transparent) var(--tw-shadow-alpha), transparent);
|
|
1605
|
+
}
|
|
1606
|
+
}
|
|
1607
|
+
}
|
|
1502
1608
|
.\[\&_tr\]\:border-b tr {
|
|
1503
1609
|
border-bottom-style: var(--tw-border-style);
|
|
1504
1610
|
border-bottom-width: 1px;
|
package/dist/index.d.cts
CHANGED
|
@@ -367,4 +367,4 @@ declare const TableHead: React.ForwardRefExoticComponent<React.ThHTMLAttributes<
|
|
|
367
367
|
declare const TableCell: React.ForwardRefExoticComponent<React.TdHTMLAttributes<HTMLTableCellElement> & React.RefAttributes<HTMLTableCellElement>>;
|
|
368
368
|
declare const TableCaption: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableCaptionElement> & React.RefAttributes<HTMLTableCaptionElement>>;
|
|
369
369
|
|
|
370
|
-
export { Accordion, Alert, type AlertProps, Avatar, type AvatarProps, Badge, type BadgeProps, Button, type ButtonProps, Card, type CardProps, Checkbox, type CheckboxProps, Divider, Dropdown, type DropdownOption, type DropdownProps, FileUpload, type FileUploadProps, ImageWithPlaceholder, type ImageWithPlaceholderProps, Input, type InputProps, Loading, type LoadingProps, Modal, type ModalProps, Pagination, type PaginationProps, Progress, type ProgressProps, Radio, type RadioProps, SearchInput, type SearchInputProps, Select, type SelectOption, type SelectProps, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TextArea, type TextAreaProps, Toast, type ToastProps, Toggle, type ToggleProps, Tooltip, type TooltipProps, Typography, type TypographyProps, WindowWithSideMenu, WindowWithoutSideMenu };
|
|
370
|
+
export { Accordion, Alert, type AlertProps, type AppInterface, Avatar, type AvatarProps, Badge, type BadgeProps, Button, type ButtonProps, Card, type CardProps, Checkbox, type CheckboxProps, Divider, Dropdown, type DropdownOption, type DropdownProps, FileUpload, type FileUploadProps, ImageWithPlaceholder, type ImageWithPlaceholderProps, Input, type InputProps, Loading, type LoadingProps, Modal, type ModalProps, Pagination, type PaginationProps, Progress, type ProgressProps, Radio, type RadioProps, SearchInput, type SearchInputProps, Select, type SelectOption, type SelectProps, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TextArea, type TextAreaProps, Toast, type ToastProps, Toggle, type ToggleProps, Tooltip, type TooltipProps, Typography, type TypographyProps, WindowWithSideMenu, WindowWithoutSideMenu };
|
package/dist/index.d.ts
CHANGED
|
@@ -367,4 +367,4 @@ declare const TableHead: React.ForwardRefExoticComponent<React.ThHTMLAttributes<
|
|
|
367
367
|
declare const TableCell: React.ForwardRefExoticComponent<React.TdHTMLAttributes<HTMLTableCellElement> & React.RefAttributes<HTMLTableCellElement>>;
|
|
368
368
|
declare const TableCaption: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableCaptionElement> & React.RefAttributes<HTMLTableCaptionElement>>;
|
|
369
369
|
|
|
370
|
-
export { Accordion, Alert, type AlertProps, Avatar, type AvatarProps, Badge, type BadgeProps, Button, type ButtonProps, Card, type CardProps, Checkbox, type CheckboxProps, Divider, Dropdown, type DropdownOption, type DropdownProps, FileUpload, type FileUploadProps, ImageWithPlaceholder, type ImageWithPlaceholderProps, Input, type InputProps, Loading, type LoadingProps, Modal, type ModalProps, Pagination, type PaginationProps, Progress, type ProgressProps, Radio, type RadioProps, SearchInput, type SearchInputProps, Select, type SelectOption, type SelectProps, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TextArea, type TextAreaProps, Toast, type ToastProps, Toggle, type ToggleProps, Tooltip, type TooltipProps, Typography, type TypographyProps, WindowWithSideMenu, WindowWithoutSideMenu };
|
|
370
|
+
export { Accordion, Alert, type AlertProps, type AppInterface, Avatar, type AvatarProps, Badge, type BadgeProps, Button, type ButtonProps, Card, type CardProps, Checkbox, type CheckboxProps, Divider, Dropdown, type DropdownOption, type DropdownProps, FileUpload, type FileUploadProps, ImageWithPlaceholder, type ImageWithPlaceholderProps, Input, type InputProps, Loading, type LoadingProps, Modal, type ModalProps, Pagination, type PaginationProps, Progress, type ProgressProps, Radio, type RadioProps, SearchInput, type SearchInputProps, Select, type SelectOption, type SelectProps, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TextArea, type TextAreaProps, Toast, type ToastProps, Toggle, type ToggleProps, Tooltip, type TooltipProps, Typography, type TypographyProps, WindowWithSideMenu, WindowWithoutSideMenu };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ssovee-os-web-ui",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.26",
|
|
4
4
|
"description": "Reusable UI component library for shared applications.",
|
|
5
5
|
"author": "SSOVEE",
|
|
6
6
|
"license": "MIT",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"type": "git",
|
|
9
9
|
"url": "git+https://github.com/ssovee/ssovee-os-web-ui.git"
|
|
10
10
|
},
|
|
11
|
-
"homepage": "https://github.
|
|
11
|
+
"homepage": "https://ssovee.github.io/ssovee-os-web-ui",
|
|
12
12
|
"keywords": [
|
|
13
13
|
"react",
|
|
14
14
|
"ui",
|