@dirwell/theme-crosswave 0.0.1-alpha.1 → 0.0.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 +32 -2
- package/dist/client.js +19 -19
- package/dist/index.d.mts +3 -3
- package/dist/index.mjs +702 -59
- package/dist/index.mjs.map +1 -1
- package/dist/model-VZ01cfyg.d.mts +172 -0
- package/dist/model.d.mts +1 -1
- package/dist/source/Crosswave.vue +405 -57
- package/dist/source/component.d.mts +1 -1
- package/dist/source/shared/customization.mjs +255 -0
- package/dist/source/shared/navigation.mjs +196 -2
- package/dist/source/shared/view-state.mjs +128 -0
- package/dist/styles.css +6 -1
- package/package.json +7 -3
- package/dist/model-D4-K54I9.d.mts +0 -53
package/README.md
CHANGED
|
@@ -1,10 +1,36 @@
|
|
|
1
1
|
# @dirwell/theme-crosswave
|
|
2
2
|
|
|
3
|
+
Vue categories, directory search and keyboard navigation with optional VueUse gamepad controls.
|
|
4
|
+
|
|
5
|
+
Requires Node.js 22.12 or newer. Install the first stable family:
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
npm install @dirwell/core@0.0.1 @dirwell/theme-crosswave@0.0.1
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Create `files/note.txt`, save this as `build.mjs`, then run `node build.mjs`:
|
|
12
|
+
|
|
13
|
+
```js
|
|
14
|
+
import { generateExplorer } from "@dirwell/core";
|
|
15
|
+
import { createCrosswaveTheme } from "@dirwell/theme-crosswave";
|
|
16
|
+
await generateExplorer({
|
|
17
|
+
sourceDir: "./files",
|
|
18
|
+
outputDir: "./generated",
|
|
19
|
+
theme: createCrosswaveTheme({ title: "Sample media files" }),
|
|
20
|
+
});
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Serve the complete `generated` folder over HTTP and open its root. Native links/pagination remain usable without JavaScript.
|
|
24
|
+
|
|
25
|
+
Version `0.0.1` adds shared `language`, `direction`, `locale`, `timeZone`, partial `labels`, `brand`, `columns` and `cssVariables`. Opt-in `copy-link`, `copy-path` and `download` actions live outside the primary row link; source wrappers have a separate `actions` region. See [theme configuration](https://vp-tw.github.io/dirwell/themes/) and [the public annotation example](https://github.com/vp-tw/dirwell/tree/main/examples/release-downloads). Official themes do not embed media previews.
|
|
26
|
+
|
|
27
|
+
## Implementation and advanced use
|
|
28
|
+
|
|
3
29
|
Vue owns the server markup, reactive category/search/selection state, keyed media rows, folder navigation, appearance and teardown. VueUse `useGamepad` supplies gamepad polling; the theme scopes keyboard listeners, graphics, polling and clocks to the component lifecycle.
|
|
4
30
|
|
|
5
31
|
Use `createCrosswaveTheme({ title: "Sample media files" })` with `@dirwell/core` and an explicit listing policy. Paged HTML preserves native links without JavaScript. Complete compact listing data is validated before category filtering and search become available. MIME classification runs in Node and publishes small category IDs; no MIME database is sent to the browser.
|
|
6
32
|
|
|
7
|
-
Options include custom categories, color, gamepad controls and background motion.
|
|
33
|
+
Options include custom categories, color, gamepad controls and background motion. Controller polling uses VueUse `useGamepad`; automated regression uses simulated standard input. File URLs use native links and pagination.
|
|
8
34
|
|
|
9
35
|
Vue, VueUse and the browser graphics code belong to this theme only. No Open Graph image implementation is bundled.
|
|
10
36
|
|
|
@@ -14,4 +40,8 @@ Import the official component from this package's `/source` entry and model/row
|
|
|
14
40
|
types from `/model`. Use `@dirwell/theme-authoring` to compile the same wrapper
|
|
15
41
|
for SSR and client, or its `/dev` entry for trusted local HMR. Header, row content
|
|
16
42
|
and footer are customizable; official navigation and interaction ownership is
|
|
17
|
-
retained. See [the authoring guide](
|
|
43
|
+
retained. See [the authoring guide](https://vp-tw.github.io/dirwell/themes/#source-component-customization).
|
|
44
|
+
|
|
45
|
+
Stable windows more than 500 visible rows using measured heights and a bounded desktop/mobile scroll region. Full directory data still loads before filtering; this is not query loading. Directory query/category controls are shareable, and Back/Forward restores local selection/scroll. See [view behavior](https://vp-tw.github.io/dirwell/themes/#returning-to-a-view-upcoming-stable).
|
|
46
|
+
|
|
47
|
+
The 0.0.x API may evolve. Pin your qualified version and upgrade the official family together. See [support and verification](https://vp-tw.github.io/dirwell/support/) for host, browser and device boundaries.
|