@gridland/web 0.2.24 → 0.2.26
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/index.d.ts +53 -8
- package/dist/index.js +24 -0
- package/dist/index.js.map +3 -3
- package/dist/{next-BCubNgui.d.ts → next-Cwun29WQ.d.ts} +1 -1
- package/dist/next.d.ts +1 -1
- package/dist/vite-plugin.js +1 -0
- package/dist/vite-plugin.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { B as BrowserRenderer, W as WidthMethod, R as RGBA, a as BrowserRenderContext } from './next-
|
|
2
|
-
export {
|
|
1
|
+
import { B as BrowserRenderer, W as WidthMethod, R as RGBA, a as BrowserBuffer, b as BrowserRenderContext } from './next-Cwun29WQ.js';
|
|
2
|
+
export { c as BorderDrawOptions, C as CanvasPainter, d as CanvasPainterOptions, S as SelectionManager, T as TUI, e as TUIProps } from './next-Cwun29WQ.js';
|
|
3
|
+
import * as react from 'react';
|
|
3
4
|
import { ReactNode } from 'react';
|
|
4
5
|
import 'react/jsx-runtime';
|
|
5
6
|
import 'events';
|
|
@@ -192,6 +193,55 @@ interface BrowserRoot {
|
|
|
192
193
|
}
|
|
193
194
|
declare function createBrowserRoot(renderer: BrowserRenderer): BrowserRoot;
|
|
194
195
|
|
|
196
|
+
interface ReadableCharBuffer {
|
|
197
|
+
width: number;
|
|
198
|
+
height: number;
|
|
199
|
+
char: Uint32Array;
|
|
200
|
+
}
|
|
201
|
+
declare function bufferToText(buffer: ReadableCharBuffer): string;
|
|
202
|
+
|
|
203
|
+
declare function setHeadlessRootRenderableClass(cls: any): void;
|
|
204
|
+
interface HeadlessRendererOptions {
|
|
205
|
+
cols: number;
|
|
206
|
+
rows: number;
|
|
207
|
+
}
|
|
208
|
+
declare class HeadlessRenderer {
|
|
209
|
+
buffer: BrowserBuffer;
|
|
210
|
+
renderContext: BrowserRenderContext;
|
|
211
|
+
root: any;
|
|
212
|
+
constructor(options: HeadlessRendererOptions);
|
|
213
|
+
renderOnce(): void;
|
|
214
|
+
toText(): string;
|
|
215
|
+
resize(cols: number, rows: number): void;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
interface HeadlessRoot {
|
|
219
|
+
render(node: ReactNode): void;
|
|
220
|
+
renderToText(node: ReactNode): string;
|
|
221
|
+
unmount(): void;
|
|
222
|
+
}
|
|
223
|
+
declare function createHeadlessRoot(renderer: HeadlessRenderer): HeadlessRoot;
|
|
224
|
+
|
|
225
|
+
interface BrowserContextValue {
|
|
226
|
+
renderContext: BrowserRenderContext;
|
|
227
|
+
}
|
|
228
|
+
declare const BrowserContext: react.Context<BrowserContextValue | null>;
|
|
229
|
+
declare function useBrowserContext(): BrowserContextValue;
|
|
230
|
+
|
|
231
|
+
/**
|
|
232
|
+
* SSR-safe utilities for @gridland/web.
|
|
233
|
+
* These can be imported in any environment (Node.js, browser, edge).
|
|
234
|
+
*/
|
|
235
|
+
/** Check if running in a browser environment */
|
|
236
|
+
declare function isBrowser(): boolean;
|
|
237
|
+
/** Check if canvas is supported */
|
|
238
|
+
declare function isCanvasSupported(): boolean;
|
|
239
|
+
/** Calculate grid dimensions from pixel dimensions and font size */
|
|
240
|
+
declare function calculateGridSize(widthPx: number, heightPx: number, cellWidth: number, cellHeight: number): {
|
|
241
|
+
cols: number;
|
|
242
|
+
rows: number;
|
|
243
|
+
};
|
|
244
|
+
|
|
195
245
|
interface DroppedFile {
|
|
196
246
|
name: string;
|
|
197
247
|
content: string;
|
|
@@ -204,9 +254,4 @@ declare function useFileDrop(callback: (file: DroppedFile) => void): {
|
|
|
204
254
|
|
|
205
255
|
declare function usePaste(callback: (text: string) => void): void;
|
|
206
256
|
|
|
207
|
-
|
|
208
|
-
renderContext: BrowserRenderContext;
|
|
209
|
-
}
|
|
210
|
-
declare function useBrowserContext(): BrowserContextValue;
|
|
211
|
-
|
|
212
|
-
export { BrowserRenderContext, BrowserRenderer, type BrowserRoot, BrowserSyntaxStyle, BrowserTextBuffer, BrowserTextBufferView, type DroppedFile, type MountOptions, type MountResult, type StyledTextInput, type TextChunk, type VisibleLine, type VisibleLineChunk, WidthMethod, createBrowserRoot, mountGridland, useBrowserContext, useFileDrop, usePaste };
|
|
257
|
+
export { BrowserBuffer, BrowserContext, type BrowserContextValue, BrowserRenderContext, BrowserRenderer, type BrowserRoot, BrowserSyntaxStyle, BrowserTextBuffer, BrowserTextBufferView, type DroppedFile, HeadlessRenderer, type HeadlessRendererOptions, type HeadlessRoot, type MountOptions, type MountResult, type StyledTextInput, type TextChunk, type VisibleLine, type VisibleLineChunk, WidthMethod, bufferToText, calculateGridSize, createBrowserRoot, createHeadlessRoot, isBrowser, isCanvasSupported, mountGridland, setHeadlessRootRenderableClass, useBrowserContext, useFileDrop, usePaste };
|
package/dist/index.js
CHANGED
|
@@ -9347,6 +9347,22 @@ function mountGridland(canvas, element, options = {}) {
|
|
|
9347
9347
|
};
|
|
9348
9348
|
}
|
|
9349
9349
|
|
|
9350
|
+
// src/utils.ts
|
|
9351
|
+
function isBrowser() {
|
|
9352
|
+
return typeof window !== "undefined" && typeof document !== "undefined";
|
|
9353
|
+
}
|
|
9354
|
+
function isCanvasSupported() {
|
|
9355
|
+
if (!isBrowser()) return false;
|
|
9356
|
+
const canvas = document.createElement("canvas");
|
|
9357
|
+
return !!canvas.getContext("2d");
|
|
9358
|
+
}
|
|
9359
|
+
function calculateGridSize(widthPx, heightPx, cellWidth, cellHeight) {
|
|
9360
|
+
return {
|
|
9361
|
+
cols: Math.max(1, Math.floor(widthPx / cellWidth)),
|
|
9362
|
+
rows: Math.max(1, Math.floor(heightPx / cellHeight))
|
|
9363
|
+
};
|
|
9364
|
+
}
|
|
9365
|
+
|
|
9350
9366
|
// src/file-drop.ts
|
|
9351
9367
|
import { useEffect as useEffect2, useState as useState2 } from "react";
|
|
9352
9368
|
function useFileDrop(callback) {
|
|
@@ -9386,16 +9402,24 @@ function usePaste(callback) {
|
|
|
9386
9402
|
}
|
|
9387
9403
|
export {
|
|
9388
9404
|
BrowserBuffer,
|
|
9405
|
+
BrowserContext,
|
|
9389
9406
|
BrowserRenderContext,
|
|
9390
9407
|
BrowserRenderer,
|
|
9391
9408
|
BrowserSyntaxStyle,
|
|
9392
9409
|
BrowserTextBuffer,
|
|
9393
9410
|
BrowserTextBufferView,
|
|
9394
9411
|
CanvasPainter,
|
|
9412
|
+
HeadlessRenderer,
|
|
9395
9413
|
SelectionManager,
|
|
9396
9414
|
TUI,
|
|
9415
|
+
bufferToText,
|
|
9416
|
+
calculateGridSize,
|
|
9397
9417
|
createBrowserRoot,
|
|
9418
|
+
createHeadlessRoot,
|
|
9419
|
+
isBrowser,
|
|
9420
|
+
isCanvasSupported,
|
|
9398
9421
|
mountGridland,
|
|
9422
|
+
setHeadlessRootRenderableClass,
|
|
9399
9423
|
useBrowserContext,
|
|
9400
9424
|
useFileDrop,
|
|
9401
9425
|
usePaste
|