@parallelworks/ui 0.94.0 → 0.94.1
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 +17 -0
- package/dist/app-frame/app-frame.css +72 -62
- package/dist/app-frame/layout.css +222 -0
- package/dist/app-frame/navigation.css +69 -0
- package/package.json +5 -3
package/README.md
CHANGED
|
@@ -1326,3 +1326,20 @@ link; put page content inside it without nesting a second `<main>`.
|
|
|
1326
1326
|
Frame styles use the `pw-ui` cascade layer. Put broad host element defaults
|
|
1327
1327
|
(such as anchor colors and scrollbar styling) in a lower-priority layer declared
|
|
1328
1328
|
before the package styles, so they do not replace navigation states.
|
|
1329
|
+
|
|
1330
|
+
Applications that supply their own navigation items can load only the layout:
|
|
1331
|
+
|
|
1332
|
+
```tsx
|
|
1333
|
+
import { AppFrame, AppFrameToggle } from '@parallelworks/ui/app-frame'
|
|
1334
|
+
import '@parallelworks/ui/app-frame/layout.css'
|
|
1335
|
+
```
|
|
1336
|
+
|
|
1337
|
+
This includes the sidebar, scrolling regions, resize handle, mobile drawer,
|
|
1338
|
+
toggle and close buttons, focus indicators, and skip link. Style custom navigation
|
|
1339
|
+
items in the host, including their selected, hover, rail, and mobile states.
|
|
1340
|
+
|
|
1341
|
+
When using `AppFrameNavItem`, also import
|
|
1342
|
+
`@parallelworks/ui/app-frame/navigation.css`. The existing
|
|
1343
|
+
`@parallelworks/ui/app-frame.css` import includes both stylesheets and continues
|
|
1344
|
+
to work without changes. Use either the combined import or the two separate
|
|
1345
|
+
imports; there is no need to load both forms.
|
|
@@ -60,66 +60,6 @@
|
|
|
60
60
|
flex-shrink: 0;
|
|
61
61
|
padding: 8px 12px;
|
|
62
62
|
}
|
|
63
|
-
.pw-frame-nav-item {
|
|
64
|
-
display: flex;
|
|
65
|
-
align-items: center;
|
|
66
|
-
gap: 8px;
|
|
67
|
-
min-height: 36px;
|
|
68
|
-
min-width: 0;
|
|
69
|
-
width: 100%;
|
|
70
|
-
border: 0;
|
|
71
|
-
border-radius: 8px;
|
|
72
|
-
padding: 8px;
|
|
73
|
-
background: transparent;
|
|
74
|
-
color: inherit;
|
|
75
|
-
font: inherit;
|
|
76
|
-
font-size: 14px;
|
|
77
|
-
font-weight: 500;
|
|
78
|
-
line-height: 20px;
|
|
79
|
-
cursor: pointer;
|
|
80
|
-
text-decoration: none;
|
|
81
|
-
text-align: start;
|
|
82
|
-
transition: background-color 150ms ease-out;
|
|
83
|
-
}
|
|
84
|
-
.pw-frame-nav-item:hover,
|
|
85
|
-
.pw-frame-toggle:hover {
|
|
86
|
-
background: var(--theme-sidebar-hover, var(--theme-hover));
|
|
87
|
-
}
|
|
88
|
-
.pw-frame-nav-item[aria-current] {
|
|
89
|
-
background: var(--theme-sidebar-active-bg, var(--theme-accent-subtle));
|
|
90
|
-
color: var(--theme-sidebar-active-text, var(--theme-accent));
|
|
91
|
-
}
|
|
92
|
-
.pw-frame-nav-item:is(:disabled, [aria-disabled]) {
|
|
93
|
-
opacity: 0.5;
|
|
94
|
-
cursor: not-allowed;
|
|
95
|
-
}
|
|
96
|
-
.pw-frame-nav-icon {
|
|
97
|
-
display: flex;
|
|
98
|
-
flex: 0 0 18px;
|
|
99
|
-
align-items: center;
|
|
100
|
-
justify-content: center;
|
|
101
|
-
}
|
|
102
|
-
.pw-frame-nav-icon svg {
|
|
103
|
-
width: 18px;
|
|
104
|
-
height: 18px;
|
|
105
|
-
}
|
|
106
|
-
.pw-frame-nav-label {
|
|
107
|
-
flex: 1;
|
|
108
|
-
min-width: 0;
|
|
109
|
-
overflow: hidden;
|
|
110
|
-
text-overflow: ellipsis;
|
|
111
|
-
white-space: nowrap;
|
|
112
|
-
}
|
|
113
|
-
.pw-frame-nav-badge {
|
|
114
|
-
flex-shrink: 0;
|
|
115
|
-
font-size: 12px;
|
|
116
|
-
font-variant-numeric: tabular-nums;
|
|
117
|
-
}
|
|
118
|
-
[data-sidebar-mode="rail"] .pw-frame-nav-item {
|
|
119
|
-
padding-inline: 0;
|
|
120
|
-
justify-content: center;
|
|
121
|
-
height: 40px;
|
|
122
|
-
}
|
|
123
63
|
.pw-frame-toggle {
|
|
124
64
|
display: inline-flex;
|
|
125
65
|
align-items: center;
|
|
@@ -134,6 +74,9 @@
|
|
|
134
74
|
cursor: pointer;
|
|
135
75
|
flex-shrink: 0;
|
|
136
76
|
}
|
|
77
|
+
.pw-frame-toggle:hover {
|
|
78
|
+
background: var(--theme-sidebar-hover, var(--theme-hover));
|
|
79
|
+
}
|
|
137
80
|
.pw-frame-toggle svg {
|
|
138
81
|
width: 18px;
|
|
139
82
|
height: 18px;
|
|
@@ -249,7 +192,6 @@
|
|
|
249
192
|
.pw-frame-drawer .pw-frame-brand {
|
|
250
193
|
padding-top: 0;
|
|
251
194
|
}
|
|
252
|
-
.pw-frame-drawer .pw-frame-nav-item,
|
|
253
195
|
.pw-app-frame[data-mobile] .pw-frame-toggle {
|
|
254
196
|
min-height: 44px;
|
|
255
197
|
}
|
|
@@ -273,7 +215,75 @@
|
|
|
273
215
|
@media (prefers-reduced-motion: reduce) {
|
|
274
216
|
.pw-frame-sidebar,
|
|
275
217
|
.pw-frame-backdrop,
|
|
276
|
-
.pw-frame-drawer
|
|
218
|
+
.pw-frame-drawer {
|
|
219
|
+
transition: none;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
@layer pw-ui {
|
|
224
|
+
.pw-frame-nav-item {
|
|
225
|
+
display: flex;
|
|
226
|
+
align-items: center;
|
|
227
|
+
gap: 8px;
|
|
228
|
+
min-height: 36px;
|
|
229
|
+
min-width: 0;
|
|
230
|
+
width: 100%;
|
|
231
|
+
border: 0;
|
|
232
|
+
border-radius: 8px;
|
|
233
|
+
padding: 8px;
|
|
234
|
+
background: transparent;
|
|
235
|
+
color: inherit;
|
|
236
|
+
font: inherit;
|
|
237
|
+
font-size: 14px;
|
|
238
|
+
font-weight: 500;
|
|
239
|
+
line-height: 20px;
|
|
240
|
+
cursor: pointer;
|
|
241
|
+
text-decoration: none;
|
|
242
|
+
text-align: start;
|
|
243
|
+
transition: background-color 150ms ease-out;
|
|
244
|
+
}
|
|
245
|
+
.pw-frame-nav-item:hover {
|
|
246
|
+
background: var(--theme-sidebar-hover, var(--theme-hover));
|
|
247
|
+
}
|
|
248
|
+
.pw-frame-nav-item[aria-current] {
|
|
249
|
+
background: var(--theme-sidebar-active-bg, var(--theme-accent-subtle));
|
|
250
|
+
color: var(--theme-sidebar-active-text, var(--theme-accent));
|
|
251
|
+
}
|
|
252
|
+
.pw-frame-nav-item:is(:disabled, [aria-disabled]) {
|
|
253
|
+
opacity: 0.5;
|
|
254
|
+
cursor: not-allowed;
|
|
255
|
+
}
|
|
256
|
+
.pw-frame-nav-icon {
|
|
257
|
+
display: flex;
|
|
258
|
+
flex: 0 0 18px;
|
|
259
|
+
align-items: center;
|
|
260
|
+
justify-content: center;
|
|
261
|
+
}
|
|
262
|
+
.pw-frame-nav-icon svg {
|
|
263
|
+
width: 18px;
|
|
264
|
+
height: 18px;
|
|
265
|
+
}
|
|
266
|
+
.pw-frame-nav-label {
|
|
267
|
+
flex: 1;
|
|
268
|
+
min-width: 0;
|
|
269
|
+
overflow: hidden;
|
|
270
|
+
text-overflow: ellipsis;
|
|
271
|
+
white-space: nowrap;
|
|
272
|
+
}
|
|
273
|
+
.pw-frame-nav-badge {
|
|
274
|
+
flex-shrink: 0;
|
|
275
|
+
font-size: 12px;
|
|
276
|
+
font-variant-numeric: tabular-nums;
|
|
277
|
+
}
|
|
278
|
+
[data-sidebar-mode="rail"] .pw-frame-nav-item {
|
|
279
|
+
padding-inline: 0;
|
|
280
|
+
justify-content: center;
|
|
281
|
+
height: 40px;
|
|
282
|
+
}
|
|
283
|
+
.pw-frame-drawer .pw-frame-nav-item {
|
|
284
|
+
min-height: 44px;
|
|
285
|
+
}
|
|
286
|
+
@media (prefers-reduced-motion: reduce) {
|
|
277
287
|
.pw-frame-nav-item {
|
|
278
288
|
transition: none;
|
|
279
289
|
}
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
@layer pw-ui {
|
|
2
|
+
/* The frame uses the same sidebar tokens as the theme generator. */
|
|
3
|
+
.pw-app-frame {
|
|
4
|
+
display: flex;
|
|
5
|
+
flex-direction: column;
|
|
6
|
+
height: 100dvh;
|
|
7
|
+
min-height: 0;
|
|
8
|
+
isolation: isolate;
|
|
9
|
+
background: var(--theme-sidebar-bg, var(--theme-muted-panel-bg));
|
|
10
|
+
color: var(--theme-app);
|
|
11
|
+
}
|
|
12
|
+
.pw-frame-body {
|
|
13
|
+
display: flex;
|
|
14
|
+
flex: 1;
|
|
15
|
+
min-height: 0;
|
|
16
|
+
position: relative;
|
|
17
|
+
overflow: hidden;
|
|
18
|
+
}
|
|
19
|
+
.pw-frame-sidebar,
|
|
20
|
+
.pw-frame-drawer {
|
|
21
|
+
display: flex;
|
|
22
|
+
flex-direction: column;
|
|
23
|
+
flex-shrink: 0;
|
|
24
|
+
min-height: 0;
|
|
25
|
+
background: var(--theme-sidebar-bg, var(--theme-muted-panel-bg));
|
|
26
|
+
color: var(--theme-sidebar-text, var(--theme-app));
|
|
27
|
+
}
|
|
28
|
+
.pw-frame-sidebar {
|
|
29
|
+
position: relative;
|
|
30
|
+
transition: width 200ms cubic-bezier(0.25, 0.1, 0.25, 1);
|
|
31
|
+
}
|
|
32
|
+
.pw-frame-sidebar[data-resizing] {
|
|
33
|
+
transition: none;
|
|
34
|
+
user-select: none;
|
|
35
|
+
}
|
|
36
|
+
.pw-frame-brand {
|
|
37
|
+
padding: 12px 12px 4px;
|
|
38
|
+
flex-shrink: 0;
|
|
39
|
+
min-width: 0;
|
|
40
|
+
overflow: hidden;
|
|
41
|
+
}
|
|
42
|
+
.pw-frame-links {
|
|
43
|
+
flex: 1;
|
|
44
|
+
overflow-x: hidden;
|
|
45
|
+
overflow-y: auto;
|
|
46
|
+
padding: 12px;
|
|
47
|
+
min-width: 0;
|
|
48
|
+
min-height: 0;
|
|
49
|
+
scrollbar-width: none;
|
|
50
|
+
}
|
|
51
|
+
.pw-frame-links::-webkit-scrollbar {
|
|
52
|
+
display: none;
|
|
53
|
+
}
|
|
54
|
+
.pw-frame-links nav {
|
|
55
|
+
display: grid;
|
|
56
|
+
grid-template-columns: minmax(0, 1fr);
|
|
57
|
+
gap: 4px;
|
|
58
|
+
}
|
|
59
|
+
.pw-frame-footer {
|
|
60
|
+
flex-shrink: 0;
|
|
61
|
+
padding: 8px 12px;
|
|
62
|
+
}
|
|
63
|
+
.pw-frame-toggle {
|
|
64
|
+
display: inline-flex;
|
|
65
|
+
align-items: center;
|
|
66
|
+
justify-content: center;
|
|
67
|
+
width: 36px;
|
|
68
|
+
height: 36px;
|
|
69
|
+
border: 0;
|
|
70
|
+
border-radius: 8px;
|
|
71
|
+
padding: 0;
|
|
72
|
+
color: inherit;
|
|
73
|
+
background: transparent;
|
|
74
|
+
cursor: pointer;
|
|
75
|
+
flex-shrink: 0;
|
|
76
|
+
}
|
|
77
|
+
.pw-frame-toggle:hover {
|
|
78
|
+
background: var(--theme-sidebar-hover, var(--theme-hover));
|
|
79
|
+
}
|
|
80
|
+
.pw-frame-toggle svg {
|
|
81
|
+
width: 18px;
|
|
82
|
+
height: 18px;
|
|
83
|
+
}
|
|
84
|
+
.pw-frame-sidebar :focus-visible,
|
|
85
|
+
.pw-frame-drawer :focus-visible {
|
|
86
|
+
outline: 2px solid currentColor;
|
|
87
|
+
outline-offset: 2px;
|
|
88
|
+
}
|
|
89
|
+
.pw-frame-resize {
|
|
90
|
+
position: absolute;
|
|
91
|
+
z-index: 1;
|
|
92
|
+
inset-block: 0;
|
|
93
|
+
inset-inline-end: -4px;
|
|
94
|
+
width: 8px;
|
|
95
|
+
cursor: col-resize;
|
|
96
|
+
touch-action: none;
|
|
97
|
+
}
|
|
98
|
+
.pw-frame-resize::after {
|
|
99
|
+
content: "";
|
|
100
|
+
position: absolute;
|
|
101
|
+
inset-block: 8px;
|
|
102
|
+
inset-inline-start: 3px;
|
|
103
|
+
width: 2px;
|
|
104
|
+
border-radius: 2px;
|
|
105
|
+
}
|
|
106
|
+
.pw-frame-resize:hover::after,
|
|
107
|
+
.pw-frame-resize:focus-visible::after {
|
|
108
|
+
background: var(--theme-sidebar-text, var(--theme-accent));
|
|
109
|
+
opacity: 0.5;
|
|
110
|
+
}
|
|
111
|
+
.pw-frame-surface-wrap {
|
|
112
|
+
flex: 1;
|
|
113
|
+
display: flex;
|
|
114
|
+
flex-direction: column;
|
|
115
|
+
min-width: 0;
|
|
116
|
+
min-height: 0;
|
|
117
|
+
padding: 8px;
|
|
118
|
+
padding-inline-start: 0;
|
|
119
|
+
}
|
|
120
|
+
.pw-frame-surface {
|
|
121
|
+
flex: 1;
|
|
122
|
+
display: flex;
|
|
123
|
+
flex-direction: column;
|
|
124
|
+
min-width: 0;
|
|
125
|
+
min-height: 0;
|
|
126
|
+
overflow: hidden;
|
|
127
|
+
isolation: isolate;
|
|
128
|
+
border: 1px solid var(--theme-border);
|
|
129
|
+
border-radius: 12px;
|
|
130
|
+
background: var(--theme-app-bg);
|
|
131
|
+
background-clip: padding-box;
|
|
132
|
+
}
|
|
133
|
+
.pw-frame-header,
|
|
134
|
+
.pw-frame-banner {
|
|
135
|
+
flex-shrink: 0;
|
|
136
|
+
}
|
|
137
|
+
.pw-frame-main {
|
|
138
|
+
flex: 1;
|
|
139
|
+
min-width: 0;
|
|
140
|
+
min-height: 0;
|
|
141
|
+
overflow: auto;
|
|
142
|
+
}
|
|
143
|
+
.pw-app-frame[data-full-bleed] .pw-frame-surface-wrap {
|
|
144
|
+
padding: 0;
|
|
145
|
+
}
|
|
146
|
+
.pw-app-frame[data-full-bleed] .pw-frame-surface {
|
|
147
|
+
border: 0;
|
|
148
|
+
border-radius: 0;
|
|
149
|
+
}
|
|
150
|
+
.pw-app-frame[data-mobile] .pw-frame-surface-wrap {
|
|
151
|
+
padding: 8px;
|
|
152
|
+
}
|
|
153
|
+
.pw-app-frame[data-mobile][data-full-bleed] .pw-frame-surface-wrap {
|
|
154
|
+
padding: 0;
|
|
155
|
+
}
|
|
156
|
+
.pw-frame-backdrop {
|
|
157
|
+
position: absolute;
|
|
158
|
+
inset: 0;
|
|
159
|
+
z-index: var(--layer-drawer, 1100);
|
|
160
|
+
background: var(--theme-backdrop, rgb(0 0 0 / 0.35));
|
|
161
|
+
transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1);
|
|
162
|
+
}
|
|
163
|
+
.pw-frame-backdrop[data-starting-style],
|
|
164
|
+
.pw-frame-backdrop[data-ending-style] {
|
|
165
|
+
opacity: 0;
|
|
166
|
+
}
|
|
167
|
+
.pw-frame-drawer {
|
|
168
|
+
position: absolute;
|
|
169
|
+
inset-block: 8px;
|
|
170
|
+
inset-inline-start: 8px;
|
|
171
|
+
max-width: calc(100% - 48px);
|
|
172
|
+
z-index: var(--layer-drawer, 1100);
|
|
173
|
+
border-radius: 12px;
|
|
174
|
+
box-shadow: 0 12px 32px rgb(0 0 0 / 0.2);
|
|
175
|
+
outline: none;
|
|
176
|
+
transform: translateX(0);
|
|
177
|
+
transition: transform 200ms cubic-bezier(0.25, 0.1, 0.25, 1);
|
|
178
|
+
}
|
|
179
|
+
.pw-frame-drawer[data-starting-style],
|
|
180
|
+
.pw-frame-drawer[data-ending-style] {
|
|
181
|
+
transform: translateX(calc(-100% - 16px));
|
|
182
|
+
}
|
|
183
|
+
.pw-frame-drawer:dir(rtl)[data-starting-style],
|
|
184
|
+
.pw-frame-drawer:dir(rtl)[data-ending-style] {
|
|
185
|
+
transform: translateX(calc(100% + 16px));
|
|
186
|
+
}
|
|
187
|
+
.pw-frame-mobile-close {
|
|
188
|
+
display: flex;
|
|
189
|
+
justify-content: flex-end;
|
|
190
|
+
padding: 4px 4px 0;
|
|
191
|
+
}
|
|
192
|
+
.pw-frame-drawer .pw-frame-brand {
|
|
193
|
+
padding-top: 0;
|
|
194
|
+
}
|
|
195
|
+
.pw-app-frame[data-mobile] .pw-frame-toggle {
|
|
196
|
+
min-height: 44px;
|
|
197
|
+
}
|
|
198
|
+
.pw-app-frame[data-mobile] .pw-frame-toggle {
|
|
199
|
+
width: 44px;
|
|
200
|
+
height: 44px;
|
|
201
|
+
}
|
|
202
|
+
.pw-frame-skip {
|
|
203
|
+
position: fixed;
|
|
204
|
+
inset-block-start: -100px;
|
|
205
|
+
inset-inline-start: 8px;
|
|
206
|
+
padding: 8px 16px;
|
|
207
|
+
border-radius: 6px;
|
|
208
|
+
background: var(--theme-panel-bg);
|
|
209
|
+
color: var(--theme-app);
|
|
210
|
+
z-index: var(--layer-popover, 1400);
|
|
211
|
+
}
|
|
212
|
+
.pw-frame-skip:focus {
|
|
213
|
+
inset-block-start: 8px;
|
|
214
|
+
}
|
|
215
|
+
@media (prefers-reduced-motion: reduce) {
|
|
216
|
+
.pw-frame-sidebar,
|
|
217
|
+
.pw-frame-backdrop,
|
|
218
|
+
.pw-frame-drawer {
|
|
219
|
+
transition: none;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
@layer pw-ui {
|
|
2
|
+
.pw-frame-nav-item {
|
|
3
|
+
display: flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
gap: 8px;
|
|
6
|
+
min-height: 36px;
|
|
7
|
+
min-width: 0;
|
|
8
|
+
width: 100%;
|
|
9
|
+
border: 0;
|
|
10
|
+
border-radius: 8px;
|
|
11
|
+
padding: 8px;
|
|
12
|
+
background: transparent;
|
|
13
|
+
color: inherit;
|
|
14
|
+
font: inherit;
|
|
15
|
+
font-size: 14px;
|
|
16
|
+
font-weight: 500;
|
|
17
|
+
line-height: 20px;
|
|
18
|
+
cursor: pointer;
|
|
19
|
+
text-decoration: none;
|
|
20
|
+
text-align: start;
|
|
21
|
+
transition: background-color 150ms ease-out;
|
|
22
|
+
}
|
|
23
|
+
.pw-frame-nav-item:hover {
|
|
24
|
+
background: var(--theme-sidebar-hover, var(--theme-hover));
|
|
25
|
+
}
|
|
26
|
+
.pw-frame-nav-item[aria-current] {
|
|
27
|
+
background: var(--theme-sidebar-active-bg, var(--theme-accent-subtle));
|
|
28
|
+
color: var(--theme-sidebar-active-text, var(--theme-accent));
|
|
29
|
+
}
|
|
30
|
+
.pw-frame-nav-item:is(:disabled, [aria-disabled]) {
|
|
31
|
+
opacity: 0.5;
|
|
32
|
+
cursor: not-allowed;
|
|
33
|
+
}
|
|
34
|
+
.pw-frame-nav-icon {
|
|
35
|
+
display: flex;
|
|
36
|
+
flex: 0 0 18px;
|
|
37
|
+
align-items: center;
|
|
38
|
+
justify-content: center;
|
|
39
|
+
}
|
|
40
|
+
.pw-frame-nav-icon svg {
|
|
41
|
+
width: 18px;
|
|
42
|
+
height: 18px;
|
|
43
|
+
}
|
|
44
|
+
.pw-frame-nav-label {
|
|
45
|
+
flex: 1;
|
|
46
|
+
min-width: 0;
|
|
47
|
+
overflow: hidden;
|
|
48
|
+
text-overflow: ellipsis;
|
|
49
|
+
white-space: nowrap;
|
|
50
|
+
}
|
|
51
|
+
.pw-frame-nav-badge {
|
|
52
|
+
flex-shrink: 0;
|
|
53
|
+
font-size: 12px;
|
|
54
|
+
font-variant-numeric: tabular-nums;
|
|
55
|
+
}
|
|
56
|
+
[data-sidebar-mode="rail"] .pw-frame-nav-item {
|
|
57
|
+
padding-inline: 0;
|
|
58
|
+
justify-content: center;
|
|
59
|
+
height: 40px;
|
|
60
|
+
}
|
|
61
|
+
.pw-frame-drawer .pw-frame-nav-item {
|
|
62
|
+
min-height: 44px;
|
|
63
|
+
}
|
|
64
|
+
@media (prefers-reduced-motion: reduce) {
|
|
65
|
+
.pw-frame-nav-item {
|
|
66
|
+
transition: none;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@parallelworks/ui",
|
|
3
|
-
"version": "0.94.
|
|
3
|
+
"version": "0.94.1",
|
|
4
4
|
"description": "React UI components: a theme contract, icons, brand logos, primitives, lists, forms, a job graph, a code editor, a log viewer, a file explorer and an AI chat, each on its own subpath",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -81,7 +81,9 @@
|
|
|
81
81
|
"types": "./dist/app-frame/index.d.ts",
|
|
82
82
|
"import": "./dist/app-frame/index.js"
|
|
83
83
|
},
|
|
84
|
-
"./app-frame.css": "./dist/app-frame/app-frame.css"
|
|
84
|
+
"./app-frame.css": "./dist/app-frame/app-frame.css",
|
|
85
|
+
"./app-frame/layout.css": "./dist/app-frame/layout.css",
|
|
86
|
+
"./app-frame/navigation.css": "./dist/app-frame/navigation.css"
|
|
85
87
|
},
|
|
86
88
|
"publishConfig": {
|
|
87
89
|
"registry": "https://registry.npmjs.org"
|
|
@@ -153,7 +155,7 @@
|
|
|
153
155
|
"scripts": {
|
|
154
156
|
"build": "vite build && pnpm build:types && pnpm build:css",
|
|
155
157
|
"build:types": "tsc -p tsconfig.build.json && node scripts/declaration-extensions.mjs",
|
|
156
|
-
"build:css": "mkdir -p dist/styles dist/logviewer dist/ai && cp src/styles/theme.css src/styles/base.css src/styles/fonts.css src/styles/*.woff2 dist/styles/ && tailwindcss -i ./src/styles.css -o ./dist/styles.css --minify && cp src/logviewer/logviewer.css dist/logviewer/ && cp src/ai/ai.css dist/ai/ && mkdir -p dist/app-frame && cp src/app-frame/app-frame.css dist/app-frame/",
|
|
158
|
+
"build:css": "mkdir -p dist/styles dist/logviewer dist/ai && cp src/styles/theme.css src/styles/base.css src/styles/fonts.css src/styles/*.woff2 dist/styles/ && tailwindcss -i ./src/styles.css -o ./dist/styles.css --minify && cp src/logviewer/logviewer.css dist/logviewer/ && cp src/ai/ai.css dist/ai/ && mkdir -p dist/app-frame && cp src/app-frame/*.css dist/app-frame/ && cat src/app-frame/layout.css src/app-frame/navigation.css > dist/app-frame/app-frame.css",
|
|
157
159
|
"clean": "rm -rf dist",
|
|
158
160
|
"test": "vitest run",
|
|
159
161
|
"lint:package": "publint --strict",
|