@jskit-ai/shell-web 0.1.28 → 0.1.30

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.
@@ -1,7 +1,7 @@
1
1
  export default Object.freeze({
2
2
  packageVersion: 1,
3
3
  packageId: "@jskit-ai/shell-web",
4
- version: "0.1.28",
4
+ version: "0.1.30",
5
5
  kind: "runtime",
6
6
  description: "Web shell layout runtime with outlet-based placement contributions.",
7
7
  dependsOn: [],
@@ -82,13 +82,7 @@ export default Object.freeze({
82
82
  host: "home-settings",
83
83
  position: "primary-menu",
84
84
  surfaces: ["home"],
85
- source: "templates/src/pages/home/settings/index.vue"
86
- },
87
- {
88
- host: "home-settings",
89
- position: "forms",
90
- surfaces: ["home"],
91
- source: "templates/src/pages/home/settings/index.vue"
85
+ source: "templates/src/pages/home/settings.vue"
92
86
  }
93
87
  ],
94
88
  contributions: []
@@ -99,7 +93,7 @@ export default Object.freeze({
99
93
  dependencies: {
100
94
  runtime: {
101
95
  "@tanstack/vue-query": "^5.90.5",
102
- "@jskit-ai/kernel": "0.1.29",
96
+ "@jskit-ai/kernel": "0.1.31",
103
97
  "vuetify": "^4.0.0"
104
98
  },
105
99
  dev: {}
@@ -158,11 +152,19 @@ export default Object.freeze({
158
152
  category: "shell-web",
159
153
  id: "shell-web-page-home"
160
154
  },
155
+ {
156
+ from: "templates/src/pages/home/settings.vue",
157
+ toSurface: "home",
158
+ toSurfacePath: "settings.vue",
159
+ reason: "Install shell-driven home settings shell route with section navigation.",
160
+ category: "shell-web",
161
+ id: "shell-web-page-home-settings-shell"
162
+ },
161
163
  {
162
164
  from: "templates/src/pages/home/settings/index.vue",
163
165
  toSurface: "home",
164
166
  toSurfacePath: "settings/index.vue",
165
- reason: "Install shell-driven home settings page scaffold with surface-derived settings outlets.",
167
+ reason: "Install shell-driven home settings landing page scaffold.",
166
168
  category: "shell-web",
167
169
  id: "shell-web-page-home-settings"
168
170
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jskit-ai/shell-web",
3
- "version": "0.1.28",
3
+ "version": "0.1.30",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "test": "node --test"
@@ -18,7 +18,7 @@
18
18
  },
19
19
  "dependencies": {
20
20
  "@tanstack/vue-query": "^5.90.5",
21
- "@jskit-ai/kernel": "0.1.29",
21
+ "@jskit-ai/kernel": "0.1.31",
22
22
  "vuetify": "^4.0.0"
23
23
  }
24
24
  }
@@ -1,17 +1,8 @@
1
1
  <template>
2
- <section class="settings-page">
3
- <ShellOutlet host="home-settings" position="primary-menu" />
4
- <ShellOutlet host="home-settings" position="forms" />
5
- </section>
2
+ <v-sheet rounded="lg" border class="pa-6">
3
+ <h2 class="text-h6 mb-2">Settings</h2>
4
+ <p class="text-body-2 text-medium-emphasis mb-0">
5
+ Select a settings section from the menu.
6
+ </p>
7
+ </v-sheet>
6
8
  </template>
7
-
8
- <script setup>
9
- import ShellOutlet from "@jskit-ai/shell-web/client/components/ShellOutlet";
10
- </script>
11
-
12
- <style scoped>
13
- .settings-page {
14
- display: grid;
15
- gap: 1rem;
16
- }
17
- </style>
@@ -0,0 +1,29 @@
1
+ <script setup>
2
+ import ShellOutlet from "@jskit-ai/shell-web/client/components/ShellOutlet";
3
+ import { RouterView } from "vue-router";
4
+ </script>
5
+
6
+ <template>
7
+ <section class="settings-shell d-flex flex-column ga-4">
8
+ <v-card rounded="lg" elevation="1" border>
9
+ <v-card-item>
10
+ <v-card-title>Home settings</v-card-title>
11
+ <v-card-subtitle>Manage settings pages for the home surface.</v-card-subtitle>
12
+ </v-card-item>
13
+ <v-divider />
14
+ <v-card-text class="pt-4">
15
+ <v-row no-gutters>
16
+ <v-col cols="12" md="3" lg="2" class="pr-md-4 mb-4 mb-md-0">
17
+ <v-list nav density="comfortable" rounded="lg" border>
18
+ <ShellOutlet host="home-settings" position="primary-menu" />
19
+ </v-list>
20
+ </v-col>
21
+
22
+ <v-col cols="12" md="9" lg="10">
23
+ <RouterView />
24
+ </v-col>
25
+ </v-row>
26
+ </v-card-text>
27
+ </v-card>
28
+ </section>
29
+ </template>
@@ -23,10 +23,9 @@ function findFileMutation(id) {
23
23
  }
24
24
 
25
25
  test("shell-web home settings template exposes surface-derived settings outlets", async () => {
26
- const source = await readFile(path.join(PACKAGE_DIR, "templates", "src", "pages", "home", "settings", "index.vue"), "utf8");
26
+ const source = await readFile(path.join(PACKAGE_DIR, "templates", "src", "pages", "home", "settings.vue"), "utf8");
27
27
 
28
28
  assert.match(source, /<ShellOutlet host="home-settings" position="primary-menu" \/>/);
29
- assert.match(source, /<ShellOutlet host="home-settings" position="forms" \/>/);
30
29
  });
31
30
 
32
31
  test("shell-web descriptor metadata advertises home settings outlets and installs the scaffold page", () => {
@@ -37,22 +36,25 @@ test("shell-web descriptor metadata advertises home settings outlets and install
37
36
  host: "home-settings",
38
37
  position: "primary-menu",
39
38
  surfaces: ["home"],
40
- source: "templates/src/pages/home/settings/index.vue"
41
- },
42
- {
43
- host: "home-settings",
44
- position: "forms",
45
- surfaces: ["home"],
46
- source: "templates/src/pages/home/settings/index.vue"
39
+ source: "templates/src/pages/home/settings.vue"
47
40
  }
48
41
  ]
49
42
  );
50
43
 
44
+ assert.deepEqual(findFileMutation("shell-web-page-home-settings-shell"), {
45
+ from: "templates/src/pages/home/settings.vue",
46
+ toSurface: "home",
47
+ toSurfacePath: "settings.vue",
48
+ reason: "Install shell-driven home settings shell route with section navigation.",
49
+ category: "shell-web",
50
+ id: "shell-web-page-home-settings-shell"
51
+ });
52
+
51
53
  assert.deepEqual(findFileMutation("shell-web-page-home-settings"), {
52
54
  from: "templates/src/pages/home/settings/index.vue",
53
55
  toSurface: "home",
54
56
  toSurfacePath: "settings/index.vue",
55
- reason: "Install shell-driven home settings page scaffold with surface-derived settings outlets.",
57
+ reason: "Install shell-driven home settings landing page scaffold.",
56
58
  category: "shell-web",
57
59
  id: "shell-web-page-home-settings"
58
60
  });