@cat-factory/app 0.253.0 → 0.253.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/app/app.config.ts +9 -0
- package/app/assets/css/main.css +12 -3
- package/package.json +2 -2
package/app/app.config.ts
CHANGED
|
@@ -22,5 +22,14 @@ export default defineAppConfig({
|
|
|
22
22
|
title: 'text-white',
|
|
23
23
|
},
|
|
24
24
|
},
|
|
25
|
+
// The toaster's scroll region is the ONE `[data-slot='viewport']` the app's own
|
|
26
|
+
// CSS may target: Nuxt UI reuses that attribute for the item list of every menu
|
|
27
|
+
// component too. This marker class is what `main.css` hangs the safe-area offset
|
|
28
|
+
// and the selectable-text rules on, so neither can reach a dropdown.
|
|
29
|
+
toaster: {
|
|
30
|
+
slots: {
|
|
31
|
+
viewport: 'app-toaster',
|
|
32
|
+
},
|
|
33
|
+
},
|
|
25
34
|
},
|
|
26
35
|
})
|
package/app/assets/css/main.css
CHANGED
|
@@ -3,11 +3,20 @@
|
|
|
3
3
|
/* The shared rendered-markdown reader presentation (see prose.css). */
|
|
4
4
|
@import './prose.css';
|
|
5
5
|
|
|
6
|
+
/* The two toaster rules below are scoped by the `app-toaster` marker class that
|
|
7
|
+
* `app.config.ts` puts on the toaster's viewport slot, NOT by `[data-slot='viewport']`.
|
|
8
|
+
* That attribute is Nuxt UI's name for the scroll region of ELEVEN components
|
|
9
|
+
* (Select, SelectMenu, InputMenu, CommandPalette, DropdownMenu, ContextMenu,
|
|
10
|
+
* NavigationMenu, ScrollArea, Carousel, ChatMessages and the toaster), and all of
|
|
11
|
+
* the menu ones carry `position: relative`, so a bare `bottom:` here lifts every
|
|
12
|
+
* dropdown's item list 1rem out of the top of its own popover. Keep any new toaster
|
|
13
|
+
* rule on the marker class. */
|
|
14
|
+
|
|
6
15
|
/* Toast text should be selectable. Reka UI sets `user-select: none` inline on
|
|
7
16
|
* the toast root (to support swipe-to-dismiss); since `user-select` is
|
|
8
17
|
* inherited, declaring it directly on the text slots overrides that. */
|
|
9
|
-
|
|
10
|
-
|
|
18
|
+
.app-toaster [data-slot='title'],
|
|
19
|
+
.app-toaster [data-slot='description'] {
|
|
11
20
|
user-select: text;
|
|
12
21
|
}
|
|
13
22
|
|
|
@@ -20,7 +29,7 @@
|
|
|
20
29
|
* until the viewport meta carries `viewport-fit=cover` (see nuxt.config.ts), so
|
|
21
30
|
* this collapses to the stock `1rem` on desktop. Assumes the default bottom
|
|
22
31
|
* placement (the app does not configure a top-anchored toaster). */
|
|
23
|
-
|
|
32
|
+
.app-toaster {
|
|
24
33
|
bottom: calc(1rem + env(safe-area-inset-bottom));
|
|
25
34
|
}
|
|
26
35
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/app",
|
|
3
|
-
"version": "0.253.
|
|
3
|
+
"version": "0.253.2",
|
|
4
4
|
"description": "Reusable Nuxt layer for the Agent Architecture Board SPA (components, stores, composables, pages). Consume it from a thin deployment app via `extends: ['@cat-factory/app']` and point it at your backend with NUXT_PUBLIC_API_BASE. See deploy/frontend for an example.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"valibot": "^1.4.2",
|
|
41
41
|
"vue": "3.5.40",
|
|
42
42
|
"wretch": "^3.0.9",
|
|
43
|
-
"@cat-factory/contracts": "0.
|
|
43
|
+
"@cat-factory/contracts": "0.276.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@toad-contracts/testing": "0.3.2",
|