@dirwell/theme-crosswave 0.0.1-alpha.1 → 0.0.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/README.md +34 -2
- package/dist/client.js +18 -18
- package/dist/index.d.mts +4 -3
- package/dist/index.mjs +826 -59
- package/dist/index.mjs.map +1 -1
- package/dist/model-Dr7YgDTv.d.mts +174 -0
- package/dist/model.d.mts +1 -1
- package/dist/source/Crosswave.vue +536 -57
- package/dist/source/component.d.mts +1 -1
- package/dist/source/shared/customization.mjs +255 -0
- package/dist/source/shared/live-search.mjs +28 -0
- package/dist/source/shared/navigation.mjs +197 -2
- package/dist/source/shared/view-state.mjs +128 -0
- package/dist/styles.css +24 -1
- package/package.json +7 -3
- package/dist/model-D4-K54I9.d.mts +0 -53
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { ExplorerTheme, ListingEntry, ListingEntry as ListingEntry$1, ListingPage, SortOptions } from "@dirwell/core";
|
|
2
|
+
//#region ../shared-theme/src/customization.d.ts
|
|
3
|
+
/** Small serializable inputs shared by official themes; layout stays theme-owned. */
|
|
4
|
+
declare const defaultLabels: {
|
|
5
|
+
other: string;
|
|
6
|
+
crosswaveKeyboardHelp: string;
|
|
7
|
+
brokenLink: string;
|
|
8
|
+
unavailableLink: string;
|
|
9
|
+
cycleLink: string;
|
|
10
|
+
azure: string;
|
|
11
|
+
violet: string;
|
|
12
|
+
amber: string;
|
|
13
|
+
rose: string;
|
|
14
|
+
jade: string;
|
|
15
|
+
graphite: string;
|
|
16
|
+
allFiles: string;
|
|
17
|
+
categoryFolders: string;
|
|
18
|
+
categoryPhotos: string;
|
|
19
|
+
categoryMusic: string;
|
|
20
|
+
categoryVideos: string;
|
|
21
|
+
categoryDocuments: string;
|
|
22
|
+
categoryOther: string;
|
|
23
|
+
indexOf: string;
|
|
24
|
+
home: string;
|
|
25
|
+
breadcrumb: string;
|
|
26
|
+
archive: string;
|
|
27
|
+
searchDirectory: string;
|
|
28
|
+
searchFiles: string;
|
|
29
|
+
search: string;
|
|
30
|
+
types: string;
|
|
31
|
+
directory: string;
|
|
32
|
+
file: string;
|
|
33
|
+
link: string;
|
|
34
|
+
folder: string;
|
|
35
|
+
sort: string;
|
|
36
|
+
name: string;
|
|
37
|
+
size: string;
|
|
38
|
+
modified: string;
|
|
39
|
+
names: string;
|
|
40
|
+
natural: string;
|
|
41
|
+
locale: string;
|
|
42
|
+
unicode: string;
|
|
43
|
+
order: string;
|
|
44
|
+
ascending: string;
|
|
45
|
+
descending: string;
|
|
46
|
+
directoriesFirst: string;
|
|
47
|
+
appearance: string;
|
|
48
|
+
system: string;
|
|
49
|
+
light: string;
|
|
50
|
+
dark: string;
|
|
51
|
+
searchArchive: string;
|
|
52
|
+
archiveSearchInput: string;
|
|
53
|
+
entries: string;
|
|
54
|
+
pageEntries: string;
|
|
55
|
+
loading: string;
|
|
56
|
+
noMatches: string;
|
|
57
|
+
empty: string;
|
|
58
|
+
pagination: string;
|
|
59
|
+
previous: string;
|
|
60
|
+
next: string;
|
|
61
|
+
page: string;
|
|
62
|
+
keyboardHelp: string;
|
|
63
|
+
modifiedTime: string;
|
|
64
|
+
close: string;
|
|
65
|
+
unknown: string;
|
|
66
|
+
unavailable: string;
|
|
67
|
+
beginArchive: string;
|
|
68
|
+
searchingArchive: string;
|
|
69
|
+
archiveResults: string;
|
|
70
|
+
truncatedResults: string;
|
|
71
|
+
archiveError: string;
|
|
72
|
+
listingError: string;
|
|
73
|
+
folderError: string;
|
|
74
|
+
updatesError: string;
|
|
75
|
+
retry: string;
|
|
76
|
+
openNative: string;
|
|
77
|
+
categories: string;
|
|
78
|
+
items: string;
|
|
79
|
+
filesIn: string;
|
|
80
|
+
controller: string;
|
|
81
|
+
color: string;
|
|
82
|
+
pauseMotion: string;
|
|
83
|
+
resumeMotion: string;
|
|
84
|
+
copyLink: string;
|
|
85
|
+
copyPath: string;
|
|
86
|
+
download: string;
|
|
87
|
+
copied: string;
|
|
88
|
+
copyError: string;
|
|
89
|
+
repository: string;
|
|
90
|
+
author: string;
|
|
91
|
+
target: string;
|
|
92
|
+
newTab: string;
|
|
93
|
+
};
|
|
94
|
+
type ThemeLabels = Readonly<typeof defaultLabels>;
|
|
95
|
+
type ThemeColumn = "name" | "size" | "modified" | {
|
|
96
|
+
readonly dataKey: string;
|
|
97
|
+
readonly label: string;
|
|
98
|
+
};
|
|
99
|
+
type ThemeAction = "copy-link" | "copy-path" | "download";
|
|
100
|
+
interface ThemeCustomization {
|
|
101
|
+
readonly language?: string;
|
|
102
|
+
readonly direction?: "ltr" | "rtl";
|
|
103
|
+
readonly locale?: string;
|
|
104
|
+
readonly timeZone?: string;
|
|
105
|
+
readonly labels?: Partial<ThemeLabels>;
|
|
106
|
+
readonly brand?: {
|
|
107
|
+
readonly name?: string;
|
|
108
|
+
readonly logoUrl?: string;
|
|
109
|
+
readonly logoAlt?: string;
|
|
110
|
+
readonly footerText?: string;
|
|
111
|
+
readonly footerUrl?: string;
|
|
112
|
+
readonly faviconUrl?: string;
|
|
113
|
+
};
|
|
114
|
+
readonly columns?: readonly ThemeColumn[];
|
|
115
|
+
readonly actions?: readonly ThemeAction[];
|
|
116
|
+
/** Theme-specific CSS variable names; declarations and markup are rejected. */
|
|
117
|
+
readonly cssVariables?: Readonly<Record<`--${string}`, string>>;
|
|
118
|
+
}
|
|
119
|
+
//#endregion
|
|
120
|
+
//#region ../shared-theme/src/page.d.ts
|
|
121
|
+
interface ThemePage$1 {
|
|
122
|
+
readonly ui?: ThemeCustomization;
|
|
123
|
+
readonly version: 1;
|
|
124
|
+
readonly theme: string;
|
|
125
|
+
readonly title: string;
|
|
126
|
+
readonly metadataHead?: string;
|
|
127
|
+
readonly path: string;
|
|
128
|
+
readonly rootHref: string;
|
|
129
|
+
readonly parentHref: string | null;
|
|
130
|
+
readonly parentDataHref: string | null;
|
|
131
|
+
readonly rootDataHref: string | null;
|
|
132
|
+
readonly dataHref: string;
|
|
133
|
+
readonly manifestHref: string | null;
|
|
134
|
+
readonly listingRevision?: string;
|
|
135
|
+
readonly updatesHref: string | null;
|
|
136
|
+
readonly searchQueryHref?: string | null;
|
|
137
|
+
readonly searchRefreshIntervalMs?: number;
|
|
138
|
+
readonly total: number;
|
|
139
|
+
readonly entries: readonly ListingEntry[];
|
|
140
|
+
readonly sort: Required<SortOptions>;
|
|
141
|
+
readonly page: ListingPage | null;
|
|
142
|
+
readonly breadcrumbs: readonly {
|
|
143
|
+
readonly name: string;
|
|
144
|
+
readonly href: string;
|
|
145
|
+
readonly dataHref: string | null;
|
|
146
|
+
}[];
|
|
147
|
+
}
|
|
148
|
+
//#endregion
|
|
149
|
+
//#region src/model.d.ts
|
|
150
|
+
interface ThemePage extends ThemePage$1 {
|
|
151
|
+
readonly categories: readonly {
|
|
152
|
+
readonly id: string;
|
|
153
|
+
readonly label: string;
|
|
154
|
+
readonly svg: string;
|
|
155
|
+
}[];
|
|
156
|
+
readonly color: "azure" | "violet" | "amber" | "rose" | "jade" | "graphite";
|
|
157
|
+
readonly gamepad: boolean;
|
|
158
|
+
readonly backgroundMotion: boolean;
|
|
159
|
+
}
|
|
160
|
+
/** The authoring compiler supplies both halves from the same source. */
|
|
161
|
+
interface FrameworkRenderer {
|
|
162
|
+
readonly renderBody: (model: ThemePage) => string | Promise<string>;
|
|
163
|
+
readonly clientScript: string;
|
|
164
|
+
readonly styles?: string;
|
|
165
|
+
readonly clientType?: "module";
|
|
166
|
+
}
|
|
167
|
+
interface RowContext {
|
|
168
|
+
readonly model: ThemePage;
|
|
169
|
+
readonly entry: import("@dirwell/core").ListingEntry;
|
|
170
|
+
readonly selected: boolean;
|
|
171
|
+
}
|
|
172
|
+
//#endregion
|
|
173
|
+
export { ThemeAction as a, ThemeLabels as c, ThemePage as i, ListingEntry$1 as n, ThemeColumn as o, RowContext as r, ThemeCustomization as s, FrameworkRenderer as t };
|
|
174
|
+
//# sourceMappingURL=model-Dr7YgDTv.d.mts.map
|
package/dist/model.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as ThemePage, n as ListingEntry, r as RowContext, t as FrameworkRenderer } from "./model-
|
|
1
|
+
import { i as ThemePage, n as ListingEntry, r as RowContext, t as FrameworkRenderer } from "./model-Dr7YgDTv.mjs";
|
|
2
2
|
export { FrameworkRenderer, type ListingEntry, RowContext, ThemePage };
|