@arcanewizards/sigil 0.1.7 → 0.1.8
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/dist/frontend/styles/sigil.css +6 -0
- package/dist/frontend.cjs +16 -2
- package/dist/frontend.d.cts +18 -2
- package/dist/frontend.d.ts +18 -2
- package/dist/frontend.js +16 -2
- package/package.json +3 -3
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
|
|
2
2
|
@layer properties;
|
|
3
|
+
.fixed {
|
|
4
|
+
position: fixed;
|
|
5
|
+
}
|
|
3
6
|
.relative {
|
|
4
7
|
position: relative;
|
|
5
8
|
}
|
|
@@ -142,6 +145,9 @@
|
|
|
142
145
|
padding: var(--sigil-control-gap);
|
|
143
146
|
font-size: var(--sigil-control-font-size);
|
|
144
147
|
}
|
|
148
|
+
.block {
|
|
149
|
+
display: block;
|
|
150
|
+
}
|
|
145
151
|
.contents {
|
|
146
152
|
display: contents;
|
|
147
153
|
}
|
package/dist/frontend.cjs
CHANGED
|
@@ -105,6 +105,20 @@ var createBrowserMediaSession = () => {
|
|
|
105
105
|
// src/frontend/browser-context.tsx
|
|
106
106
|
var _jsxruntime = require('react/jsx-runtime');
|
|
107
107
|
var createDefaultBrowserContext = (browser) => {
|
|
108
|
+
const closeListeners = /* @__PURE__ */ new Set();
|
|
109
|
+
window.addEventListener("beforeunload", (e) => {
|
|
110
|
+
let confirm = false;
|
|
111
|
+
for (const listener of closeListeners) {
|
|
112
|
+
if (listener().action === "confirm") {
|
|
113
|
+
confirm = true;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
if (confirm) {
|
|
117
|
+
e.preventDefault();
|
|
118
|
+
e.returnValue = "";
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
});
|
|
108
122
|
const defaults = {
|
|
109
123
|
appListenerChangesHandledExternally: false,
|
|
110
124
|
openExternalLink: (url) => {
|
|
@@ -115,8 +129,8 @@ var createDefaultBrowserContext = (browser) => {
|
|
|
115
129
|
},
|
|
116
130
|
selectDirectory: null,
|
|
117
131
|
openDevTools: null,
|
|
118
|
-
|
|
119
|
-
|
|
132
|
+
addCloseListener: (listener) => closeListeners.add(listener),
|
|
133
|
+
removeCloseListener: (listener) => closeListeners.delete(listener),
|
|
120
134
|
mediaSession: createBrowserMediaSession()
|
|
121
135
|
};
|
|
122
136
|
return {
|
package/dist/frontend.d.cts
CHANGED
|
@@ -50,13 +50,29 @@ type NewWindowOptions = {
|
|
|
50
50
|
*/
|
|
51
51
|
mode?: string;
|
|
52
52
|
};
|
|
53
|
+
type BrowserCloseListenerAction = {
|
|
54
|
+
action: 'allow';
|
|
55
|
+
} | {
|
|
56
|
+
action: 'confirm';
|
|
57
|
+
confirmation: string;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* A listener that can be registered to listen for close events,
|
|
61
|
+
* and prevent them if needed.
|
|
62
|
+
*
|
|
63
|
+
* Note that in browser environments,
|
|
64
|
+
* preventing close will always display the same confirmation message that a user
|
|
65
|
+
* can then choose to proceed with or not.
|
|
66
|
+
*/
|
|
67
|
+
type BrowserCloseListener = () => BrowserCloseListenerAction;
|
|
53
68
|
type BaseBrowserContext = {
|
|
54
69
|
appListenerChangesHandledExternally?: boolean;
|
|
55
70
|
openExternalLink: (url: string) => void;
|
|
56
71
|
openNewWidow: (url: string, options?: NewWindowOptions) => void;
|
|
57
72
|
selectDirectory: (() => Promise<string | null>) | null;
|
|
58
73
|
openDevTools: (() => Promise<null>) | null;
|
|
59
|
-
|
|
74
|
+
addCloseListener: (listener: BrowserCloseListener) => void;
|
|
75
|
+
removeCloseListener: (listener: BrowserCloseListener) => void;
|
|
60
76
|
mediaSession: MediaSessionControl;
|
|
61
77
|
};
|
|
62
78
|
declare const createDefaultBrowserContext: <TBrowserContext extends BaseBrowserContext = BaseBrowserContext>(browser?: Partial<TBrowserContext> | null) => TBrowserContext;
|
|
@@ -88,4 +104,4 @@ declare const startSigilFrontend: <TBrowserContext extends BaseBrowserContext>({
|
|
|
88
104
|
|
|
89
105
|
declare const createBrowserMediaSession: () => MediaSessionControl;
|
|
90
106
|
|
|
91
|
-
export { type BaseBrowserContext, BrowserContext, BrowserContextProvider, Debugger, type MediaMetadata, type MediaPlayState, type MediaSessionAction, type MediaSessionControl, type MediaSessionHandler, type NewWindowOptions, AppRoot as SigilAppRoot, SigilAppRootComponent, type StartSigilFrontendOptions, createBrowserMediaSession, createDefaultBrowserContext, createSigilFrontendRenderer, startSigilFrontend, useBrowserContext };
|
|
107
|
+
export { type BaseBrowserContext, type BrowserCloseListener, type BrowserCloseListenerAction, BrowserContext, BrowserContextProvider, Debugger, type MediaMetadata, type MediaPlayState, type MediaSessionAction, type MediaSessionControl, type MediaSessionHandler, type NewWindowOptions, AppRoot as SigilAppRoot, SigilAppRootComponent, type StartSigilFrontendOptions, createBrowserMediaSession, createDefaultBrowserContext, createSigilFrontendRenderer, startSigilFrontend, useBrowserContext };
|
package/dist/frontend.d.ts
CHANGED
|
@@ -50,13 +50,29 @@ type NewWindowOptions = {
|
|
|
50
50
|
*/
|
|
51
51
|
mode?: string;
|
|
52
52
|
};
|
|
53
|
+
type BrowserCloseListenerAction = {
|
|
54
|
+
action: 'allow';
|
|
55
|
+
} | {
|
|
56
|
+
action: 'confirm';
|
|
57
|
+
confirmation: string;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* A listener that can be registered to listen for close events,
|
|
61
|
+
* and prevent them if needed.
|
|
62
|
+
*
|
|
63
|
+
* Note that in browser environments,
|
|
64
|
+
* preventing close will always display the same confirmation message that a user
|
|
65
|
+
* can then choose to proceed with or not.
|
|
66
|
+
*/
|
|
67
|
+
type BrowserCloseListener = () => BrowserCloseListenerAction;
|
|
53
68
|
type BaseBrowserContext = {
|
|
54
69
|
appListenerChangesHandledExternally?: boolean;
|
|
55
70
|
openExternalLink: (url: string) => void;
|
|
56
71
|
openNewWidow: (url: string, options?: NewWindowOptions) => void;
|
|
57
72
|
selectDirectory: (() => Promise<string | null>) | null;
|
|
58
73
|
openDevTools: (() => Promise<null>) | null;
|
|
59
|
-
|
|
74
|
+
addCloseListener: (listener: BrowserCloseListener) => void;
|
|
75
|
+
removeCloseListener: (listener: BrowserCloseListener) => void;
|
|
60
76
|
mediaSession: MediaSessionControl;
|
|
61
77
|
};
|
|
62
78
|
declare const createDefaultBrowserContext: <TBrowserContext extends BaseBrowserContext = BaseBrowserContext>(browser?: Partial<TBrowserContext> | null) => TBrowserContext;
|
|
@@ -88,4 +104,4 @@ declare const startSigilFrontend: <TBrowserContext extends BaseBrowserContext>({
|
|
|
88
104
|
|
|
89
105
|
declare const createBrowserMediaSession: () => MediaSessionControl;
|
|
90
106
|
|
|
91
|
-
export { type BaseBrowserContext, BrowserContext, BrowserContextProvider, Debugger, type MediaMetadata, type MediaPlayState, type MediaSessionAction, type MediaSessionControl, type MediaSessionHandler, type NewWindowOptions, AppRoot as SigilAppRoot, SigilAppRootComponent, type StartSigilFrontendOptions, createBrowserMediaSession, createDefaultBrowserContext, createSigilFrontendRenderer, startSigilFrontend, useBrowserContext };
|
|
107
|
+
export { type BaseBrowserContext, type BrowserCloseListener, type BrowserCloseListenerAction, BrowserContext, BrowserContextProvider, Debugger, type MediaMetadata, type MediaPlayState, type MediaSessionAction, type MediaSessionControl, type MediaSessionHandler, type NewWindowOptions, AppRoot as SigilAppRoot, SigilAppRootComponent, type StartSigilFrontendOptions, createBrowserMediaSession, createDefaultBrowserContext, createSigilFrontendRenderer, startSigilFrontend, useBrowserContext };
|
package/dist/frontend.js
CHANGED
|
@@ -105,6 +105,20 @@ var createBrowserMediaSession = () => {
|
|
|
105
105
|
// src/frontend/browser-context.tsx
|
|
106
106
|
import { jsx } from "react/jsx-runtime";
|
|
107
107
|
var createDefaultBrowserContext = (browser) => {
|
|
108
|
+
const closeListeners = /* @__PURE__ */ new Set();
|
|
109
|
+
window.addEventListener("beforeunload", (e) => {
|
|
110
|
+
let confirm = false;
|
|
111
|
+
for (const listener of closeListeners) {
|
|
112
|
+
if (listener().action === "confirm") {
|
|
113
|
+
confirm = true;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
if (confirm) {
|
|
117
|
+
e.preventDefault();
|
|
118
|
+
e.returnValue = "";
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
});
|
|
108
122
|
const defaults = {
|
|
109
123
|
appListenerChangesHandledExternally: false,
|
|
110
124
|
openExternalLink: (url) => {
|
|
@@ -115,8 +129,8 @@ var createDefaultBrowserContext = (browser) => {
|
|
|
115
129
|
},
|
|
116
130
|
selectDirectory: null,
|
|
117
131
|
openDevTools: null,
|
|
118
|
-
|
|
119
|
-
|
|
132
|
+
addCloseListener: (listener) => closeListeners.add(listener),
|
|
133
|
+
removeCloseListener: (listener) => closeListeners.delete(listener),
|
|
120
134
|
mediaSession: createBrowserMediaSession()
|
|
121
135
|
};
|
|
122
136
|
return {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arcanewizards/sigil",
|
|
3
3
|
"description": "Application framework for A/V applications, built on-top of arcanejs",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.8",
|
|
5
5
|
"private": false,
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"type": "module",
|
|
@@ -129,8 +129,8 @@
|
|
|
129
129
|
"tailwindcss": "^4.1.13",
|
|
130
130
|
"tsup": "^8.1.0",
|
|
131
131
|
"typescript": "^5.7.3",
|
|
132
|
-
"@arcanewizards/
|
|
133
|
-
"@arcanewizards/
|
|
132
|
+
"@arcanewizards/typescript-config": "^0.0.0",
|
|
133
|
+
"@arcanewizards/eslint-config": "^0.0.0"
|
|
134
134
|
},
|
|
135
135
|
"scripts": {
|
|
136
136
|
"build": "pnpm clean && tsup && pnpm build:styles && check-export-map",
|