@robosophy/ui-react 1.0.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.
package/dist/index.css ADDED
@@ -0,0 +1,360 @@
1
+ /* src/components/RsIcon/RsIcon.css */
2
+ .rs-icon {
3
+ align-items: center;
4
+ color: var(--rs-icon-color, currentColor);
5
+ display: inline-flex;
6
+ flex: 0 0 auto;
7
+ flex-shrink: 0;
8
+ height: var(--rs-icon-size, 24px);
9
+ justify-content: center;
10
+ user-select: none;
11
+ width: var(--rs-icon-size, 24px);
12
+ }
13
+ .rs-icon--interactive {
14
+ cursor: pointer;
15
+ }
16
+ .rs-icon--primary {
17
+ color: var(--rs-color-icon-primary, #48a0d4);
18
+ }
19
+ .rs-icon--secondary {
20
+ color: var(--rs-color-icon-secondary, #000000);
21
+ }
22
+ .rs-icon--success {
23
+ color: var(--rs-color-icon-success, #4EAE01);
24
+ }
25
+ .rs-icon--warning {
26
+ color: var(--rs-color-icon-warning, #FF9001);
27
+ }
28
+ .rs-icon--danger {
29
+ color: var(--rs-color-icon-danger, #d80115);
30
+ }
31
+ .rs-icon--inherit {
32
+ color: currentColor;
33
+ }
34
+ .rs-icon-wrap {
35
+ position: relative;
36
+ display: inline-flex;
37
+ align-items: center;
38
+ justify-content: center;
39
+ vertical-align: middle;
40
+ }
41
+ .rs-icon__notification {
42
+ position: absolute;
43
+ top: 0;
44
+ right: 0;
45
+ width: 10px;
46
+ height: 10px;
47
+ border-radius: 50%;
48
+ background-color: var(--rs-color-yellow-500, #ff9001);
49
+ }
50
+
51
+ /* src/components/RsSidebar/RsSidebar.css */
52
+ .rs-sidebar {
53
+ --rs-sidebar-background: var(--rs-color-surface-primary, #ffffff);
54
+ --rs-sidebar-border: var(--rs-color-stroke-default, #d1d1d1);
55
+ --rs-sidebar-color: var(--rs-color-text-primary, #000000);
56
+ --rs-sidebar-muted: var(--rs-color-text-secondary, #909090);
57
+ --rs-sidebar-active: var(--rs-color-text-button-tertiary, #48a0d4);
58
+ --rs-sidebar-hover: var(--rs-color-button-blue-surface, #e6f6fb);
59
+ --rs-sidebar-width-collapsed: 75px;
60
+ --rs-sidebar-width-expanded: 286px;
61
+ background: var(--rs-sidebar-background);
62
+ border-right: 1px solid var(--rs-sidebar-border);
63
+ box-sizing: border-box;
64
+ color: var(--rs-sidebar-color);
65
+ display: flex;
66
+ flex-direction: column;
67
+ flex-shrink: 0;
68
+ font-family: var(--rs-font-family, "Inter", sans-serif);
69
+ font-size: 16px;
70
+ font-weight: 400;
71
+ gap: 52px;
72
+ height: 100%;
73
+ overflow: hidden;
74
+ transition: width 0.3s ease-in-out;
75
+ will-change: width;
76
+ width: var(--rs-sidebar-width-collapsed);
77
+ }
78
+ .rs-sidebar--pc {
79
+ --rs-sidebar-active: var(--rs-color-icon-project-pc, #014a9f);
80
+ --rs-sidebar-hover: var(--rs-color-darkblue-100, #e5ecf5);
81
+ }
82
+ .rs-sidebar--alta {
83
+ --rs-sidebar-active: var(--rs-color-icon-project-alta, #65ac1e);
84
+ --rs-sidebar-hover: var(--rs-color-green-100, #edf7e6);
85
+ }
86
+ .rs-sidebar--cc {
87
+ --rs-sidebar-active: var(--rs-color-icon-project-cc, #49a0d4);
88
+ --rs-sidebar-hover: var(--rs-color-blue-100, #e6f6fb);
89
+ }
90
+ .rs-sidebar--pog {
91
+ --rs-sidebar-active: var(--rs-color-icon-project-pog, #007c2f);
92
+ --rs-sidebar-hover: var(--rs-color-navygreen-100, #e5f1ea);
93
+ }
94
+ .rs-sidebar--cyo {
95
+ --rs-sidebar-active: var(--rs-color-icon-project-cyo, #49a0d4);
96
+ --rs-sidebar-hover: var(--rs-color-blue-100, #e6f6fb);
97
+ }
98
+ .rs-sidebar--expanded,
99
+ .rs-sidebar--mobile-open {
100
+ overflow: visible;
101
+ width: var(--rs-sidebar-width-expanded);
102
+ }
103
+ .rs-sidebar__header {
104
+ align-items: center;
105
+ position: relative;
106
+ box-sizing: border-box;
107
+ display: flex;
108
+ gap: 10px;
109
+ justify-content: flex-start;
110
+ padding: 0;
111
+ }
112
+ .rs-sidebar__brand {
113
+ align-items: center;
114
+ display: flex;
115
+ color: var(--rs-sidebar-active);
116
+ flex: 1;
117
+ gap: 10px;
118
+ min-width: 0;
119
+ padding: 32px 24px;
120
+ }
121
+ .rs-sidebar__module-trigger {
122
+ align-items: center;
123
+ background: transparent;
124
+ border: 0;
125
+ color: inherit;
126
+ cursor: pointer;
127
+ display: inline-flex;
128
+ justify-content: flex-start;
129
+ font: inherit;
130
+ gap: 10px;
131
+ min-width: 0;
132
+ appearance: none;
133
+ -webkit-appearance: none;
134
+ padding: 0;
135
+ text-align: left;
136
+ width: 100%;
137
+ }
138
+ .rs-sidebar__module-trigger:hover:not(:disabled),
139
+ .rs-sidebar__module-trigger:active:not(:disabled) {
140
+ background: transparent;
141
+ color: inherit;
142
+ }
143
+ .rs-sidebar__module-trigger:focus-visible {
144
+ outline: 2px solid var(--rs-color-stroke-focused, #48a0d4);
145
+ outline-offset: 2px;
146
+ }
147
+ .rs-sidebar--expanded .rs-sidebar__module-chevron,
148
+ .rs-sidebar--mobile-open .rs-sidebar__module-chevron {
149
+ margin-left: auto;
150
+ }
151
+ .rs-sidebar__module-trigger > .rs-icon:first-child {
152
+ margin-left: 0;
153
+ }
154
+ .rs-sidebar__brand > .rs-icon:first-child {
155
+ margin-left: 0;
156
+ }
157
+ .rs-sidebar__title,
158
+ .rs-sidebar__item-label,
159
+ .rs-sidebar__item-chevron,
160
+ .rs-sidebar__module-chevron {
161
+ max-width: 0;
162
+ opacity: 0;
163
+ overflow: hidden;
164
+ transition: max-width 0.3s ease-in-out, opacity 0.3s ease-in-out;
165
+ white-space: nowrap;
166
+ }
167
+ .rs-sidebar--expanded .rs-sidebar__title,
168
+ .rs-sidebar--expanded .rs-sidebar__item-label,
169
+ .rs-sidebar--expanded .rs-sidebar__item-chevron,
170
+ .rs-sidebar--expanded .rs-sidebar__module-chevron,
171
+ .rs-sidebar--mobile-open .rs-sidebar__title,
172
+ .rs-sidebar--mobile-open .rs-sidebar__item-label,
173
+ .rs-sidebar--mobile-open .rs-sidebar__item-chevron,
174
+ .rs-sidebar--mobile-open .rs-sidebar__module-chevron {
175
+ max-width: 220px;
176
+ opacity: 1;
177
+ }
178
+ .rs-sidebar__title {
179
+ color: var(--rs-sidebar-color);
180
+ font-family: var(--rs-font-family, "Inter", sans-serif);
181
+ font-weight: 400;
182
+ line-height: 1;
183
+ text-overflow: ellipsis;
184
+ }
185
+ .rs-sidebar__module-menu.p-menu {
186
+ background: var(--rs-sidebar-background);
187
+ border: 1px solid var(--rs-sidebar-border);
188
+ border-radius: 4px;
189
+ box-shadow: 0 8px 24px rgb(0 0 0 / 18%);
190
+ left: 16px;
191
+ min-width: calc(var(--rs-sidebar-width-expanded) - 32px);
192
+ overflow: hidden;
193
+ padding: 0;
194
+ position: absolute;
195
+ top: 88px;
196
+ z-index: 20;
197
+ }
198
+ .rs-sidebar__module-menu .p-menu-list {
199
+ gap: 0;
200
+ padding: 0;
201
+ }
202
+ .rs-sidebar__module-option .p-menu-item-content {
203
+ color: var(--rs-sidebar-color);
204
+ border-radius: 0;
205
+ }
206
+ .rs-sidebar__module-option .p-menu-item-link {
207
+ font-family: inherit;
208
+ font-size: inherit;
209
+ line-height: 1;
210
+ min-height: 38px;
211
+ padding: 10px 14px;
212
+ }
213
+ .rs-sidebar__module-option:not(.p-disabled) .p-menu-item-content:hover,
214
+ .rs-sidebar__module-option--active .p-menu-item-content {
215
+ background: var(--rs-sidebar-hover);
216
+ color: var(--rs-sidebar-color);
217
+ }
218
+ .rs-sidebar__module-option--disabled .p-menu-item-content {
219
+ color: var(--rs-sidebar-muted);
220
+ cursor: not-allowed;
221
+ }
222
+ .rs-sidebar__module-option--disabled .p-menu-item-content:hover {
223
+ background: transparent;
224
+ }
225
+ .rs-sidebar__module-option.p-focus .p-menu-item-content {
226
+ background: var(--rs-sidebar-hover);
227
+ color: var(--rs-sidebar-color);
228
+ }
229
+ .rs-sidebar__module-option.p-focus .p-menu-item-link {
230
+ outline: 2px solid var(--rs-color-stroke-focused, #48a0d4);
231
+ outline-offset: -2px;
232
+ }
233
+ .rs-sidebar__header-button {
234
+ align-items: center;
235
+ background: transparent;
236
+ border: 0;
237
+ border-radius: 999px;
238
+ color: var(--rs-color-icon-secondary, #000000);
239
+ cursor: pointer;
240
+ display: inline-flex;
241
+ flex: 0 0 auto;
242
+ justify-content: center;
243
+ appearance: none;
244
+ -webkit-appearance: none;
245
+ min-height: 24px;
246
+ min-width: 24px;
247
+ padding: 2px;
248
+ }
249
+ .rs-sidebar .rs-sidebar__header-button:hover:not(:disabled),
250
+ .rs-sidebar .rs-sidebar__header-button:active:not(:disabled) {
251
+ background: var(--rs-sidebar-hover);
252
+ color: var(--rs-color-icon-secondary, #000000);
253
+ }
254
+ .rs-sidebar__header-button:focus-visible,
255
+ .rs-sidebar__item:focus-visible {
256
+ outline: 2px solid var(--rs-color-stroke-focused, #48a0d4);
257
+ outline-offset: -2px;
258
+ }
259
+ .rs-sidebar__content {
260
+ display: flex;
261
+ flex-direction: column;
262
+ flex: 1;
263
+ min-height: 0;
264
+ }
265
+ .rs-sidebar__nav {
266
+ flex: 1;
267
+ min-height: 0;
268
+ }
269
+ .rs-sidebar__list {
270
+ list-style: none;
271
+ margin: 0;
272
+ padding: 0;
273
+ }
274
+ .rs-sidebar__item {
275
+ align-items: center;
276
+ background: transparent;
277
+ border: 0;
278
+ border-right: 4px solid transparent;
279
+ box-sizing: border-box;
280
+ color: var(--rs-sidebar-active);
281
+ cursor: pointer;
282
+ display: flex;
283
+ justify-content: flex-start;
284
+ font: inherit;
285
+ font-weight: 300;
286
+ gap: 10px;
287
+ appearance: none;
288
+ -webkit-appearance: none;
289
+ padding: 10px 24px;
290
+ text-align: left;
291
+ width: 100%;
292
+ }
293
+ .rs-sidebar .rs-sidebar__item:not(.rs-sidebar__item--footer):hover:not(:disabled),
294
+ .rs-sidebar .rs-sidebar__item:not(.rs-sidebar__item--footer):active:not(:disabled) {
295
+ background: var(--rs-sidebar-hover);
296
+ }
297
+ .rs-sidebar__item:disabled {
298
+ color: var(--rs-sidebar-muted);
299
+ cursor: not-allowed;
300
+ opacity: 1;
301
+ }
302
+ .rs-sidebar .rs-sidebar__item--active {
303
+ background: var(--rs-sidebar-hover);
304
+ border-right-color: var(--rs-sidebar-active);
305
+ }
306
+ .rs-sidebar__footer {
307
+ align-items: center;
308
+ display: flex;
309
+ margin-top: 52px;
310
+ }
311
+ .rs-sidebar__item--footer {
312
+ color: var(--rs-sidebar-color);
313
+ padding: 32px 24px;
314
+ }
315
+ .rs-sidebar__item--footer .rs-icon {
316
+ color: inherit;
317
+ }
318
+ .rs-sidebar__item-icon {
319
+ flex: 0 0 auto;
320
+ color: var(--rs-sidebar-active);
321
+ margin-left: 0;
322
+ width: 24px;
323
+ height: 24px;
324
+ }
325
+ .rs-sidebar__brand .rs-icon {
326
+ width: 24px;
327
+ height: 24px;
328
+ }
329
+ .rs-sidebar__item-label {
330
+ color: var(--rs-sidebar-color);
331
+ font-family: var(--rs-font-family, "Inter", sans-serif);
332
+ min-width: 0;
333
+ text-overflow: ellipsis;
334
+ }
335
+ .rs-sidebar__item-chevron {
336
+ margin-left: auto;
337
+ }
338
+ .rs-sidebar--mobile-open {
339
+ border-right: 0;
340
+ bottom: 0;
341
+ gap: clamp(8px, 4vh, 52px);
342
+ left: 0;
343
+ position: fixed;
344
+ right: 0;
345
+ top: 0;
346
+ width: 100%;
347
+ z-index: 10000;
348
+ }
349
+ .rs-sidebar--mobile-open .rs-sidebar__module-menu {
350
+ left: 16px;
351
+ min-width: min(320px, calc(100% - 32px));
352
+ top: 88px;
353
+ }
354
+ .rs-sidebar--mobile-open .rs-sidebar__item {
355
+ font-size: 16px;
356
+ padding: 20px 24px;
357
+ }
358
+ .rs-sidebar--mobile-open .rs-sidebar__item--footer {
359
+ padding: 32px 24px;
360
+ }
@@ -0,0 +1,5 @@
1
+ // AUTO-GENERATED FILE. DO NOT EDIT MANUALLY.
2
+ export { default as RsIcon, rsPrimeIcon } from './components/RsIcon/index.js';
3
+ export { default as RsSidebar, RsSidebarFooterSlotProps, RsSidebarHeaderActionSlotProps, RsSidebarHeaderSlotProps, RsSidebarItem, RsSidebarModule, RsSidebarProps, RsSidebarVariant } from './components/RsSidebar/index.js';
4
+ export { R as RsIconColor, a as RsIconFamily, b as RsIconProps, c as RsIconSize, d as RsIconWeight, e as RsPrimeIconOptions } from './RsIcon.types-eBKVmRTF.js';
5
+ import 'react';
package/dist/index.js ADDED
@@ -0,0 +1,14 @@
1
+ // AUTO-GENERATED FILE. DO NOT EDIT MANUALLY.
2
+ import {
3
+ RsSidebar_default
4
+ } from "./chunk-AEWPQXHG.js";
5
+ import {
6
+ RsIcon_default,
7
+ rsPrimeIcon
8
+ } from "./chunk-PEJOAJYL.js";
9
+ import "./chunk-D4ZW5VUU.js";
10
+ export {
11
+ RsIcon_default as RsIcon,
12
+ RsSidebar_default as RsSidebar,
13
+ rsPrimeIcon
14
+ };
package/dist/vite.d.ts ADDED
@@ -0,0 +1,27 @@
1
+ // AUTO-GENERATED FILE. DO NOT EDIT MANUALLY.
2
+ import { HtmlTagDescriptor, ResolvedConfig, Plugin } from 'vite';
3
+ import { a as RsIconFamily } from './RsIcon.types-eBKVmRTF.js';
4
+
5
+ type IconInput = string | {
6
+ family?: RsIconFamily;
7
+ name: string;
8
+ weight?: number;
9
+ };
10
+ type RsIconFontDisplay = "block" | "swap" | "fallback" | "optional";
11
+ type RobosophyMaterialSymbolsOptions = {
12
+ outputDir?: string;
13
+ fontDisplay?: RsIconFontDisplay;
14
+ fontVariant?: string;
15
+ include?: IconInput[];
16
+ preload?: boolean;
17
+ roots?: string[];
18
+ scan?: boolean;
19
+ };
20
+ type IconVariantKey = `${number}:${0 | 1}:${number}`;
21
+ type IconUsageMap = Map<RsIconFamily, Map<string, Set<IconVariantKey>>>;
22
+ declare function robosophyMaterialSymbols(options?: RobosophyMaterialSymbolsOptions): Plugin;
23
+ declare function collectMaterialSymbolUsages(config: Pick<ResolvedConfig, "root">, options?: RobosophyMaterialSymbolsOptions): Promise<IconUsageMap>;
24
+ declare function buildMaterialSymbolsCss(iconClasses: string): HtmlTagDescriptor[];
25
+ declare function formatDetectedMaterialSymbols(usages: IconUsageMap): string;
26
+
27
+ export { type RobosophyMaterialSymbolsOptions, type RsIconFontDisplay, buildMaterialSymbolsCss, collectMaterialSymbolUsages, formatDetectedMaterialSymbols, robosophyMaterialSymbols };