telva 1.1.1 → 1.1.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.
Files changed (143) hide show
  1. package/README.md +25 -270
  2. package/dist/Telva.d.ts +3 -3
  3. package/dist/components/CenterToolbar/CenterToolbar.d.ts.map +1 -1
  4. package/dist/components/ContextMenu/ContextMenu.d.ts +1 -1
  5. package/dist/components/Primitives/DropdownMenu/DMCheckboxItem.d.ts +1 -1
  6. package/dist/components/Primitives/DropdownMenu/DMItem.d.ts +1 -1
  7. package/dist/components/Primitives/DropdownMenu/DMRadioItem.d.ts +1 -1
  8. package/dist/components/Primitives/DropdownMenu/DMTriggerIcon.d.ts +1 -1
  9. package/dist/components/Primitives/Panel/Panel.d.ts +1 -1
  10. package/dist/components/Primitives/RowButton/RowButton.d.ts +1 -1
  11. package/dist/components/Primitives/TextField/TextField.d.ts +1 -1
  12. package/dist/components/Primitives/ToolButton/ToolButton.d.ts +2 -2
  13. package/dist/components/RightPanel/PropertiesPanel.d.ts.map +1 -1
  14. package/dist/components/ToolsPanel/PrimaryTools.d.ts.map +1 -1
  15. package/dist/components/ToolsPanel/ShapesMenu.d.ts +1 -1
  16. package/dist/components/TopPanel/Menu/Menu.d.ts.map +1 -1
  17. package/dist/components/TopPanel/PageMenu/PageMenu.d.ts +1 -1
  18. package/dist/components/TopPanel/PageOptionsDialog/PageOptionsDialog.d.ts +1 -1
  19. package/dist/constants.d.ts +1 -1
  20. package/dist/hooks/useFileSystem.d.ts +1 -1
  21. package/dist/hooks/useKeyboardShortcuts.d.ts.map +1 -1
  22. package/dist/hooks/useTelvaApp.d.ts +1 -1
  23. package/dist/hooks/useTheme.d.ts +1 -1
  24. package/dist/hooks/useTranslation.d.ts +2 -2
  25. package/dist/hooks/useTranslation.d.ts.map +1 -1
  26. package/dist/index.js +10 -10
  27. package/dist/index.js.map +3 -3
  28. package/dist/index.mjs +30283 -18
  29. package/dist/index.mjs.map +3 -3
  30. package/dist/state/StateManager/StateManager.d.ts +1 -1
  31. package/dist/state/TVDR.d.ts +1 -1
  32. package/dist/state/TelvaApp.d.ts +8 -8
  33. package/dist/state/TelvaApp.d.ts.map +1 -1
  34. package/dist/state/commands/alignShapes/alignShapes.d.ts +2 -2
  35. package/dist/state/commands/changePage/changePage.d.ts +2 -2
  36. package/dist/state/commands/createPage/createPage.d.ts +2 -2
  37. package/dist/state/commands/createShapes/createShapes.d.ts +2 -2
  38. package/dist/state/commands/deletePage/deletePage.d.ts +2 -2
  39. package/dist/state/commands/deleteShapes/deleteShapes.d.ts +2 -2
  40. package/dist/state/commands/distributeShapes/distributeShapes.d.ts +2 -2
  41. package/dist/state/commands/duplicatePage/duplicatePage.d.ts +2 -2
  42. package/dist/state/commands/duplicateShapes/duplicateShapes.d.ts +2 -2
  43. package/dist/state/commands/flipShapes/flipShapes.d.ts +3 -3
  44. package/dist/state/commands/groupShapes/groupShapes.d.ts +2 -2
  45. package/dist/state/commands/insertContent/insertContent.d.ts +2 -2
  46. package/dist/state/commands/movePage/movePage.d.ts +2 -2
  47. package/dist/state/commands/moveShapesToPage/moveShapesToPage.d.ts +2 -2
  48. package/dist/state/commands/renamePage/renamePage.d.ts +2 -2
  49. package/dist/state/commands/reorderShapes/reorderShapes.d.ts +2 -2
  50. package/dist/state/commands/resetBounds/resetBounds.d.ts +2 -2
  51. package/dist/state/commands/rotateShapes/rotateShapes.d.ts +2 -2
  52. package/dist/state/commands/setShapesProps/setShapesProps.d.ts +2 -2
  53. package/dist/state/commands/shared/removeShapesFromPage.d.ts +1 -1
  54. package/dist/state/commands/stretchShapes/stretchShapes.d.ts +3 -3
  55. package/dist/state/commands/styleShapes/styleShapes.d.ts +2 -2
  56. package/dist/state/commands/toggleShapesDecoration/toggleShapesDecoration.d.ts +2 -2
  57. package/dist/state/commands/toggleShapesProp/toggleShapesProp.d.ts +2 -2
  58. package/dist/state/commands/translateShapes/translateShapes.d.ts +2 -2
  59. package/dist/state/commands/ungroupShapes/ungroupShapes.d.ts +3 -3
  60. package/dist/state/commands/updateShapes/updateShapes.d.ts +2 -2
  61. package/dist/state/data/filesystem.d.ts +1 -1
  62. package/dist/state/data/filesystem.d.ts.map +1 -1
  63. package/dist/state/data/migrate.d.ts +1 -1
  64. package/dist/state/data/migrate.d.ts.map +1 -1
  65. package/dist/state/sessions/ArrowSession/ArrowSession.d.ts +3 -3
  66. package/dist/state/sessions/BaseSession.d.ts +2 -2
  67. package/dist/state/sessions/BrushSession/BrushSession.d.ts +3 -3
  68. package/dist/state/sessions/DrawSession/DrawSession.d.ts +3 -3
  69. package/dist/state/sessions/EditSession/EditSession.d.ts +3 -3
  70. package/dist/state/sessions/EraseSession/EraseSession.d.ts +4 -4
  71. package/dist/state/sessions/GridSession/GridSession.d.ts +3 -3
  72. package/dist/state/sessions/HandleSession/HandleSession.d.ts +3 -3
  73. package/dist/state/sessions/RotateSession/RotateSession.d.ts +3 -3
  74. package/dist/state/sessions/TransformSession/TransformSession.d.ts +3 -3
  75. package/dist/state/sessions/TransformSingleSession/TransformSingleSession.d.ts +3 -3
  76. package/dist/state/sessions/TranslateLabelSession/TranslateLabelSession.d.ts +3 -3
  77. package/dist/state/sessions/TranslateSession/TranslateSession.d.ts +3 -3
  78. package/dist/state/sessions/index.d.ts +1 -1
  79. package/dist/state/shapes/ArrowUtil/ArrowUtil.d.ts +3 -3
  80. package/dist/state/shapes/ArrowUtil/ArrowUtil.d.ts.map +1 -1
  81. package/dist/state/shapes/ArrowUtil/arrowHelpers.d.ts +1 -1
  82. package/dist/state/shapes/ArrowUtil/components/CurvedArrow.tsx.d.ts +1 -1
  83. package/dist/state/shapes/ArrowUtil/components/StraightArrow.d.ts +1 -1
  84. package/dist/state/shapes/DrawUtil/DrawUtil.d.ts +3 -3
  85. package/dist/state/shapes/DrawUtil/DrawUtil.d.ts.map +1 -1
  86. package/dist/state/shapes/DrawUtil/drawHelpers.d.ts +1 -1
  87. package/dist/state/shapes/EllipseUtil/EllipseUtil.d.ts +3 -3
  88. package/dist/state/shapes/EllipseUtil/EllipseUtil.d.ts.map +1 -1
  89. package/dist/state/shapes/EllipseUtil/components/DashedEllipse.d.ts +1 -1
  90. package/dist/state/shapes/EllipseUtil/components/DrawEllipse.d.ts +1 -1
  91. package/dist/state/shapes/EllipseUtil/ellipseHelpers.d.ts +1 -1
  92. package/dist/state/shapes/GroupUtil/GroupUtil.d.ts +5 -5
  93. package/dist/state/shapes/GroupUtil/GroupUtil.d.ts.map +1 -1
  94. package/dist/state/shapes/ImageUtil/ImageUtil.d.ts +6 -6
  95. package/dist/state/shapes/ImageUtil/ImageUtil.d.ts.map +1 -1
  96. package/dist/state/shapes/PenUtil/PenUtil.d.ts +3 -3
  97. package/dist/state/shapes/PenUtil/PenUtil.d.ts.map +1 -1
  98. package/dist/state/shapes/PenUtil/penHelpers.d.ts +9 -6
  99. package/dist/state/shapes/PenUtil/penHelpers.d.ts.map +1 -1
  100. package/dist/state/shapes/ReactComponentUtil/ReactComponentUtil.d.ts +6 -6
  101. package/dist/state/shapes/ReactComponentUtil/ReactComponentUtil.d.ts.map +1 -1
  102. package/dist/state/shapes/RectangleUtil/RectangleUtil.d.ts +6 -6
  103. package/dist/state/shapes/RectangleUtil/RectangleUtil.d.ts.map +1 -1
  104. package/dist/state/shapes/RectangleUtil/components/DashedRectangle.d.ts +1 -1
  105. package/dist/state/shapes/RectangleUtil/components/DrawRectangle.d.ts +1 -1
  106. package/dist/state/shapes/RectangleUtil/rectangleHelpers.d.ts +1 -1
  107. package/dist/state/shapes/StickyUtil/StickyUtil.d.ts +3 -3
  108. package/dist/state/shapes/StickyUtil/StickyUtil.d.ts.map +1 -1
  109. package/dist/state/shapes/TVShapeUtil.d.ts +1 -1
  110. package/dist/state/shapes/TextUtil/TextUtil.d.ts +9 -9
  111. package/dist/state/shapes/TextUtil/TextUtil.d.ts.map +1 -1
  112. package/dist/state/shapes/TriangleUtil/TriangleUtil.d.ts +4 -4
  113. package/dist/state/shapes/TriangleUtil/TriangleUtil.d.ts.map +1 -1
  114. package/dist/state/shapes/TriangleUtil/components/DashedTriangle.d.ts +1 -1
  115. package/dist/state/shapes/TriangleUtil/components/DrawTriangle.d.ts +1 -1
  116. package/dist/state/shapes/TriangleUtil/triangleHelpers.d.ts +1 -1
  117. package/dist/state/shapes/VideoUtil/VideoUtil.d.ts +6 -6
  118. package/dist/state/shapes/VideoUtil/VideoUtil.d.ts.map +1 -1
  119. package/dist/state/shapes/index.d.ts +2 -2
  120. package/dist/state/shapes/shared/TextLabel.d.ts +1 -1
  121. package/dist/state/shapes/shared/TextLabel.d.ts.map +1 -1
  122. package/dist/state/shapes/shared/getTextAlign.d.ts +2 -2
  123. package/dist/state/shapes/shared/getTextSvgElement.d.ts +1 -1
  124. package/dist/state/shapes/shared/gradient-fill.d.ts +1 -1
  125. package/dist/state/shapes/shared/shape-styles.d.ts +1 -1
  126. package/dist/state/tools/ArrowTool/ArrowTool.d.ts +2 -2
  127. package/dist/state/tools/BaseTool.d.ts +2 -2
  128. package/dist/state/tools/DrawTool/DrawTool.d.ts +2 -2
  129. package/dist/state/tools/EllipseTool/EllipseTool.d.ts +2 -2
  130. package/dist/state/tools/EraseTool/EraseTool.d.ts +1 -1
  131. package/dist/state/tools/LineTool/LineTool.d.ts +2 -2
  132. package/dist/state/tools/PenEditTool.d.ts +3 -2
  133. package/dist/state/tools/PenEditTool.d.ts.map +1 -1
  134. package/dist/state/tools/PenTool/PenTool.d.ts +4 -3
  135. package/dist/state/tools/PenTool/PenTool.d.ts.map +1 -1
  136. package/dist/state/tools/RectangleTool/RectangleTool.d.ts +2 -2
  137. package/dist/state/tools/SelectTool/SelectTool.d.ts +56 -56
  138. package/dist/state/tools/StickyTool/StickyTool.d.ts +2 -2
  139. package/dist/state/tools/TextTool/TextTool.d.ts +2 -2
  140. package/dist/state/tools/TriangleTool/TriangleTool.d.ts +2 -2
  141. package/dist/state/tools/index.d.ts +1 -1
  142. package/dist/types.d.ts +1 -1
  143. package/package.json +1 -1
package/README.md CHANGED
@@ -1,86 +1,24 @@
1
- <div align="center">
1
+ # telva
2
2
 
3
- # Telva
3
+ Embeddable React drawing editor package.
4
4
 
5
- ### The open-source design tool built for developers.
5
+ ## Install
6
6
 
7
- **A full-featured, multiplayer-ready design canvas you can embed in any React application.**
8
- Free forever. No license fees. No per-seat pricing. Just open source.
9
-
10
- [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE.md)
11
- [![npm @telva/telva](https://img.shields.io/npm/v/@telva/telva?label=%40telva%2Ftelva&color=blue)](https://www.npmjs.com/package/@telva/telva)
12
- [![npm @telva/core](https://img.shields.io/npm/v/@telva/core?label=%40telva%2Fcore&color=blue)](https://www.npmjs.com/package/@telva/core)
13
-
14
- </div>
15
-
16
- ---
17
-
18
- ## Why Telva?
19
-
20
- Design tooling has been locked behind proprietary walls for too long. Figma is great — but it charges per seat, owns your data, and cannot be self-hosted or extended at a deep level. **Telva changes that.**
21
-
22
- Telva is a **production-grade, open-source vector design canvas** that runs entirely in the browser as a React component. Drop it into your product, your internal tool, or your SaaS. Customize every shape, behavior, panel, and shortcut. Ship it as your own.
23
-
24
- > Built and maintained by **[vmaspad](https://github.com/vmaspad)**.
25
-
26
- ---
27
-
28
- ## What makes Telva different
29
-
30
- | Feature | Telva | Figma |
31
- | ----------------------------- | ------------------- | ---------------------- |
32
- | Open source | ✅ MIT license | ❌ Proprietary |
33
- | Self-hostable | ✅ | ❌ |
34
- | Embeddable in React | ✅ Single component | ❌ |
35
- | Custom React shapes on canvas | ✅ Native support | ❌ |
36
- | Real-time multiplayer | ✅ Built-in | ✅ |
37
- | Offline-first | ✅ | ❌ |
38
- | Per-seat pricing | ✅ Free forever | ❌ $12–45/seat |
39
- | Extend with code | ✅ Full API | ❌ Plugin sandbox only |
40
-
41
- ---
42
-
43
- ## The killer feature: React Components as Canvas Shapes
44
-
45
- Telva is the only open-source design tool that lets you place **live, interactive React components** directly onto the canvas as first-class shapes.
46
-
47
- ```tsx
48
- import { Telva } from '@telva/telva'
49
- import { MyChart, MyDataTable, MyForm } from './components'
50
-
51
- // Register your React components as canvas shapes
52
- const registry = {
53
- chart: MyChart,
54
- table: MyDataTable,
55
- form: MyForm,
56
- }
57
-
58
- export default function App() {
59
- return (
60
- <div style={{ width: '100vw', height: '100vh' }}>
61
- <Telva reactComponents={registry} />
62
- </div>
63
- )
64
- }
7
+ ```bash
8
+ npm i telva
65
9
  ```
66
10
 
67
- Your components render live inside the canvas. They respond to user input, fetch data, animate — and can be moved, resized, grouped, and exported just like any other shape. **This is not an iframe. It's your actual component tree, rendered on an infinite canvas.**
68
-
69
- ---
11
+ ## Peer dependencies
70
12
 
71
- ## Get started in 60 seconds
13
+ - `react >= 16.8`
14
+ - `react-dom >= 16.8`
72
15
 
73
- ```bash
74
- npm install @telva/telva
75
- # or
76
- yarn add @telva/telva
77
- ```
16
+ ## Basic usage
78
17
 
79
18
  ```tsx
80
- import { Telva } from '@telva/telva'
81
- import '@telva/telva/telva.css'
19
+ import { Telva } from 'telva'
82
20
 
83
- export default function App() {
21
+ export function App() {
84
22
  return (
85
23
  <div style={{ width: '100vw', height: '100vh' }}>
86
24
  <Telva />
@@ -89,210 +27,27 @@ export default function App() {
89
27
  }
90
28
  ```
91
29
 
92
- That's it. A fully functional design canvas, in your app, in under a minute.
93
-
94
- ---
95
-
96
- ## Full Feature Set
97
-
98
- ### Drawing & Shapes
99
-
100
- Telva ships with a complete set of professional vector shapes out of the box:
101
-
102
- - **Rectangle** — with fill, stroke, dash styles, border radius, and opacity
103
- - **Ellipse** — perfect circles and ovals with the same full style set
104
- - **Triangle** — directional shapes for diagrams and flows
105
- - **Arrow** — straight and curved arrows with decorations (heads, dots, bars) on either end; snap-to-shape binding
106
- - **Draw** — freehand pencil tool with perfect-freehand smoothing
107
- - **Text** — rich inline text with font family, size, weight, and alignment options
108
- - **Sticky Note** — color-coded sticky notes with full text editing
109
- - **Image** — drag-and-drop image placement and resizing
110
- - **Video** — embedded video playback as a canvas shape
111
- - **Group** — group any combination of shapes and operate on them as one
112
- - **React Component** — any React component rendered live as a resizable canvas shape
113
-
114
- ### Editing & Interaction
115
-
116
- - Infinite canvas with smooth pan and zoom
117
- - Select tool with click, drag-box, and deep-click-into-group
118
- - Multi-select, group select, select all
119
- - Move, rotate, resize, flip, align, distribute, stretch
120
- - Snap-to-grid and snap-to-shape guidelines
121
- - Erase tool
122
- - Undo / redo with full command history
123
- - Copy, paste, duplicate
124
- - Lock shapes to prevent accidental edits
125
- - Keyboard shortcuts for every action
126
-
127
- ### Styles & Theming
128
-
129
- - Per-shape styles: color, fill, stroke, dash, opacity, font, size, alignment
130
- - Dark mode and light mode with a single prop
131
- - Fully themeable UI via CSS custom properties and Stitches
132
- - Custom color palettes per project
133
-
134
- ### Layers & Organization
135
-
136
- - Layers panel with full reordering, visibility toggle, and lock
137
- - Page management — create, rename, duplicate, and reorder pages in a document
138
- - Focus mode to minimize the UI while working
139
-
140
- ### Export
141
-
142
- - Export to PNG with configurable DPI
143
- - Export to SVG (vector-perfect)
144
- - Export any selection, current page, or entire document
145
- - Transparent or white background
146
- - Programmatic export via API
147
-
148
- ### Real-time Collaboration
149
-
150
- Built-in multiplayer support with live presence:
30
+ ## Next.js client-only usage
151
31
 
152
32
  ```tsx
153
- import { MultiplayerEditor } from './components/MultiplayerEditor' // Drop-in multiplayer via Liveblocks — or bring your own backend
33
+ import dynamic from 'next/dynamic'
154
34
 
155
- ;<Telva roomId="my-design-room" onMount={(app) => connectToRoom(app)} />
156
- ```
35
+ ;('use client')
157
36
 
158
- - Live cursor presence for all connected users
159
- - Real-time shape sync
160
- - User color coding
161
- - Read-only viewer mode for stakeholders
162
- - Compatible with Liveblocks, Yjs, or any CRDT backend
37
+ const Telva = dynamic(() => import('telva').then((m) => m.Telva), {
38
+ ssr: false,
39
+ })
163
40
 
164
- ### Persistence & File System
165
-
166
- - Auto-save to `localStorage` with a single `id` prop
167
- - Load and save `.tlvr` files to disk
168
- - Full document JSON API for custom storage (database, S3, anywhere)
169
- - Load documents programmatically at runtime
170
-
171
- ### Programmatic API
172
-
173
- The `TelvaApp` gives you full imperative control over the canvas at runtime:
174
-
175
- ```tsx
176
- const app = useTelvaApp()
177
-
178
- // Create shapes
179
- app.createShapes([{ type: 'rectangle', ... }])
180
-
181
- // Select shapes
182
- app.select('shape-id-1', 'shape-id-2')
183
-
184
- // Move the camera
185
- app.zoomToFit()
186
- app.zoomTo(1.5)
187
-
188
- // Export
189
- const svg = await app.getSvg(['shape-id-1'])
190
- const png = await app.exportImage(...)
191
-
192
- // Undo/redo
193
- app.undo()
194
- app.redo()
195
-
196
- // React to everything
197
- app.on('change', (state) => syncToServer(state))
198
- ```
199
-
200
- ### Embedding Modes
201
-
202
- Telva is designed for embedding. Every aspect of the UI is optional:
203
-
204
- ```tsx
205
- <Telva
206
- id="my-editor" // persist state under this key
207
- darkMode={true} // dark or light theme
208
- showMenu={false} // hide the file menu
209
- showPages={false} // single-page mode
210
- showTools={false} // hide the toolbar
211
- showUI={false} // canvas-only, no UI at all
212
- readOnly={true} // viewer mode
213
- autofocus={true} // grab focus on mount
214
- document={myDocument} // controlled document prop
215
- onMount={(app) => {}} // access the app instance
216
- onChange={(state, reason) => {}} // listen to every change
217
- />
218
- ```
219
-
220
- ---
221
-
222
- ## Packages
223
-
224
- This is a Yarn/Turborepo monorepo containing:
225
-
226
- | Package | Description |
227
- | ---------------------------------------- | -------------------------------------------------- |
228
- | [`@telva/telva`](packages/telva) | The full editor — a turnkey React component |
229
- | [`@telva/core`](packages/core) | The canvas renderer — build your own editor on top |
230
- | [`@telva/vec`](packages/vec) | 2D vector math utilities |
231
- | [`@telva/intersect`](packages/intersect) | Geometry intersection utilities |
232
- | [`@telva/curve`](packages/curve) | Bezier curve utilities |
233
-
234
- ### Build your own editor with `@telva/core`
235
-
236
- `@telva/core` is the low-level canvas renderer that powers `@telva/telva`. Use it to build a completely custom canvas-based experience — flowcharts, whiteboards, diagram editors, design systems, game maps — with your own shapes, tools, and UI.
237
-
238
- ```tsx
239
- import { Renderer } from '@telva/core'
240
-
241
- ;<Renderer
242
- page={page}
243
- pageState={pageState}
244
- shapeUtils={myCustomShapeUtils}
245
- onPointShape={handlePointShape}
246
- onDragShape={handleDragShape}
247
- // ... full event API
248
- />
41
+ export default function Page() {
42
+ return <Telva />
43
+ }
249
44
  ```
250
45
 
251
- ---
252
-
253
- ## Examples
254
-
255
- | Example | Description |
256
- | ------------------------------------------------------------------ | ---------------------------------------- |
257
- | [`examples/telva-example`](examples/telva-example) | Full editor with all features enabled |
258
- | [`examples/core-example`](examples/core-example) | Minimal custom canvas with `@telva/core` |
259
- | [`examples/core-example-advanced`](examples/core-example-advanced) | Advanced custom shapes and interactions |
260
-
261
- Run any example locally:
46
+ ## Workspace scripts
262
47
 
263
48
  ```bash
264
- git clone https://github.com/vmaspad/telva-v1.git
265
- cd telva-v1
266
- yarn install
267
- yarn start
268
- # → http://localhost:5420
49
+ yarn dev
50
+ yarn build
51
+ yarn test
52
+ yarn lint
269
53
  ```
270
-
271
- ---
272
-
273
- ## Roadmap highlights
274
-
275
- - [ ] Vector pen tool
276
- - [ ] Component variants and slots
277
- - [ ] Plugin system
278
- - [ ] AI-assisted layout
279
- - [ ] Export to Tailwind / CSS
280
- - [ ] Design tokens integration
281
-
282
- ---
283
-
284
- ## Contributing
285
-
286
- Contributions are welcome and encouraged. See the [contributing guide](CONTRIBUTING.md) for how to get started — whether that's fixing bugs, adding shapes, improving docs, or translating the UI.
287
-
288
- ## Support
289
-
290
- Found a bug or need help? [Open an issue](https://github.com/vmaspad/telva-v1/issues/new).
291
-
292
- ## License
293
-
294
- MIT — free to use, modify, and distribute, including in commercial products.
295
-
296
- ## Author & Maintainer
297
-
298
- **vmaspad** — [github.com/vmaspad](https://github.com/vmaspad)
package/dist/Telva.d.ts CHANGED
@@ -5,9 +5,9 @@ import '@fontsource/recursive';
5
5
  import '@fontsource/source-code-pro';
6
6
  import '@fontsource/source-sans-pro';
7
7
  import { CursorComponent } from 'telva-core';
8
- import { TVCallbacks } from './state';
9
- import { ReactComponentEntry } from './state/reactRegistry';
10
- import { TVDocument } from './types';
8
+ import { TVCallbacks } from '~state';
9
+ import { ReactComponentEntry } from '~state/reactRegistry';
10
+ import { TVDocument } from '~types';
11
11
  export interface TelvaProps extends TVCallbacks {
12
12
  /**
13
13
  * (optional) If provided, the component will load / persist state under this key.
@@ -1 +1 @@
1
- {"version":3,"file":"CenterToolbar.d.ts","sourceRoot":"","sources":["../../../src/components/CenterToolbar/CenterToolbar.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAY9B,eAAO,MAAM,aAAa,oCAkIxB,CAAA"}
1
+ {"version":3,"file":"CenterToolbar.d.ts","sourceRoot":"","sources":["../../../src/components/CenterToolbar/CenterToolbar.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAY9B,eAAO,MAAM,aAAa,oCAsIxB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { RowButtonProps } from '../Primitives/RowButton';
2
+ import { RowButtonProps } from '~components/Primitives/RowButton';
3
3
  interface ContextMenuProps {
4
4
  onBlur?: React.FocusEventHandler;
5
5
  children: React.ReactNode;
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { RowButtonProps } from '../RowButton';
2
+ import { RowButtonProps } from '~components/Primitives/RowButton';
3
3
  interface DMCheckboxItemProps {
4
4
  checked: boolean;
5
5
  disabled?: boolean;
@@ -1,4 +1,4 @@
1
- import { RowButtonProps } from '../RowButton';
1
+ import { RowButtonProps } from '~components/Primitives/RowButton';
2
2
  export declare function DMItem({ onSelect, id, ...rest }: RowButtonProps & {
3
3
  onSelect?: (event: Event) => void;
4
4
  id?: string;
@@ -1,5 +1,5 @@
1
1
  export declare const DMRadioItem: import("@stitches/react/types/styled-component").StyledComponent<import("react").ForwardRefExoticComponent<import("@radix-ui/react-dropdown-menu").DropdownMenuRadioItemProps & import("react").RefAttributes<HTMLDivElement>>, {
2
- isActive?: boolean | "false" | "true" | undefined;
2
+ isActive?: boolean | "true" | "false" | undefined;
3
3
  bp?: "small" | "mobile" | undefined;
4
4
  }, {
5
5
  micro: "(max-width: 370px)";
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { ToolButtonProps } from '../ToolButton';
2
+ import { ToolButtonProps } from '~components/Primitives/ToolButton';
3
3
  interface DMTriggerIconProps extends ToolButtonProps {
4
4
  children: React.ReactNode;
5
5
  id?: string;
@@ -1,5 +1,5 @@
1
1
  export declare const Panel: import("@stitches/react/types/styled-component").StyledComponent<"div", {
2
- side?: "center" | "left" | "right" | undefined;
2
+ side?: "left" | "right" | "center" | undefined;
3
3
  }, {
4
4
  micro: "(max-width: 370px)";
5
5
  sm: "(min-width: 640px)";
@@ -17,7 +17,7 @@ export declare const StyledRowButton: import("@stitches/react/types/styled-compo
17
17
  variant?: "wide" | "styleMenu" | undefined;
18
18
  size?: "icon" | undefined;
19
19
  isWarning?: boolean | "true" | undefined;
20
- isActive?: boolean | "false" | "true" | undefined;
20
+ isActive?: boolean | "true" | "false" | undefined;
21
21
  }, {
22
22
  micro: "(max-width: 370px)";
23
23
  sm: "(min-width: 640px)";
@@ -2,5 +2,5 @@ import * as React from 'react';
2
2
  export interface TextFieldProps extends React.HTMLProps<HTMLInputElement> {
3
3
  icon?: React.ReactElement;
4
4
  }
5
- export declare const TextField: React.ForwardRefExoticComponent<Pick<TextFieldProps, "cite" | "data" | "form" | "label" | "slot" | "span" | "style" | "summary" | "title" | "pattern" | "className" | "color" | "height" | "id" | "lang" | "max" | "media" | "method" | "min" | "name" | "target" | "type" | "width" | "role" | "tabIndex" | "crossOrigin" | "href" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "size" | "start" | "hidden" | "content" | "default" | "wrap" | "open" | "icon" | "multiple" | "disabled" | "list" | "selected" | "translate" | "sizes" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "as" | "step" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "value" | "useMap" | "autoComplete" | "cols" | "maxLength" | "minLength" | "readOnly" | "required" | "rows" | "shape" | "classID" | "src" | "scrolling" | "accept" | "acceptCharset" | "action" | "allowFullScreen" | "allowTransparency" | "alt" | "async" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "checked" | "colSpan" | "controls" | "coords" | "dateTime" | "defer" | "download" | "encType" | "frameBorder" | "headers" | "high" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "loop" | "low" | "manifest" | "marginHeight" | "marginWidth" | "mediaGroup" | "muted" | "nonce" | "noValidate" | "optimum" | "playsInline" | "poster" | "preload" | "rel" | "reversed" | "rowSpan" | "sandbox" | "scope" | "scoped" | "seamless" | "srcDoc" | "srcLang" | "srcSet" | "wmode"> & React.RefAttributes<HTMLInputElement>>;
5
+ export declare const TextField: React.ForwardRefExoticComponent<Pick<TextFieldProps, "open" | "label" | "start" | "type" | "size" | "style" | "id" | "name" | "children" | "width" | "height" | "cite" | "data" | "dir" | "form" | "slot" | "span" | "summary" | "title" | "pattern" | "color" | "value" | "target" | "selected" | "key" | "content" | "translate" | "hidden" | "default" | "wrap" | "icon" | "sizes" | "onBlur" | "onChange" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "draggable" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "list" | "as" | "step" | "autoComplete" | "autoFocus" | "cols" | "disabled" | "maxLength" | "minLength" | "readOnly" | "required" | "rows" | "shape" | "crossOrigin" | "href" | "max" | "media" | "method" | "min" | "src" | "multiple" | "capture" | "kind" | "scrolling" | "accept" | "acceptCharset" | "action" | "allowFullScreen" | "allowTransparency" | "alt" | "async" | "autoPlay" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "checked" | "classID" | "colSpan" | "controls" | "coords" | "dateTime" | "defer" | "download" | "encType" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "frameBorder" | "headers" | "high" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "loop" | "low" | "manifest" | "marginHeight" | "marginWidth" | "mediaGroup" | "muted" | "nonce" | "noValidate" | "optimum" | "playsInline" | "poster" | "preload" | "rel" | "reversed" | "rowSpan" | "sandbox" | "scope" | "scoped" | "seamless" | "srcDoc" | "srcLang" | "srcSet" | "useMap" | "wmode"> & React.RefAttributes<HTMLInputElement>>;
6
6
  //# sourceMappingURL=TextField.d.ts.map
@@ -236,8 +236,8 @@ export declare const StyledToolButtonInner: import("@stitches/react/types/styled
236
236
  };
237
237
  }>>;
238
238
  export declare const StyledToolButton: import("@stitches/react/types/styled-component").StyledComponent<"button", {
239
- variant?: "circle" | "text" | "icon" | "primary" | undefined;
240
- isActive?: boolean | "false" | "true" | undefined;
239
+ variant?: "text" | "circle" | "icon" | "primary" | undefined;
240
+ isActive?: boolean | "true" | "false" | undefined;
241
241
  bp?: "small" | "mobile" | undefined;
242
242
  }, {
243
243
  micro: "(max-width: 370px)";
@@ -1 +1 @@
1
- {"version":3,"file":"PropertiesPanel.d.ts","sourceRoot":"","sources":["../../../src/components/RightPanel/PropertiesPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAsD9B,eAAO,MAAM,eAAe,oCAyG1B,CAAA"}
1
+ {"version":3,"file":"PropertiesPanel.d.ts","sourceRoot":"","sources":["../../../src/components/RightPanel/PropertiesPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAsD9B,eAAO,MAAM,eAAe,oCAoG1B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"PrimaryTools.d.ts","sourceRoot":"","sources":["../../../src/components/ToolsPanel/PrimaryTools.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAe9B,eAAO,MAAM,YAAY,oCAuHvB,CAAA"}
1
+ {"version":3,"file":"PrimaryTools.d.ts","sourceRoot":"","sources":["../../../src/components/ToolsPanel/PrimaryTools.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAe9B,eAAO,MAAM,YAAY,oCAqIvB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { TVToolType } from '../../types';
2
+ import { TVToolType } from '~types';
3
3
  interface ShapesMenuProps {
4
4
  activeTool: TVToolType;
5
5
  isToolLocked: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../src/components/TopPanel/Menu/Menu.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAW9B,UAAU,SAAS;IACjB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAUD,eAAO,MAAM,IAAI,uCAoTf,CAAA"}
1
+ {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../src/components/TopPanel/Menu/Menu.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAW9B,UAAU,SAAS;IACjB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAUD,eAAO,MAAM,IAAI,uCAgTf,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  export declare function PageMenu(): JSX.Element;
3
- export declare const PageButton: import("@stitches/react/types/styled-component").StyledComponent<React.ForwardRefExoticComponent<import("../../Primitives/RowButton").RowButtonProps & React.RefAttributes<HTMLButtonElement>>, {}, {
3
+ export declare const PageButton: import("@stitches/react/types/styled-component").StyledComponent<React.ForwardRefExoticComponent<import("~components/Primitives/RowButton").RowButtonProps & React.RefAttributes<HTMLButtonElement>>, {}, {
4
4
  micro: "(max-width: 370px)";
5
5
  sm: "(min-width: 640px)";
6
6
  md: "(min-width: 768px)";
@@ -1,6 +1,6 @@
1
1
  import * as Dialog from '@radix-ui/react-alert-dialog';
2
2
  import * as React from 'react';
3
- import type { TVPage } from '../../../types';
3
+ import type { TVPage } from '~types';
4
4
  interface PageOptionsDialogProps {
5
5
  page: TVPage;
6
6
  onOpen?: () => void;
@@ -1,4 +1,4 @@
1
- import type { Easing } from './types';
1
+ import type { Easing } from '~types';
2
2
  export declare const LETTER_SPACING = "-0.03em";
3
3
  export declare const LINE_HEIGHT = 1;
4
4
  export declare const GRID_SIZE = 8;
@@ -1,4 +1,4 @@
1
- import type { TelvaApp } from '../state';
1
+ import type { TelvaApp } from '~state';
2
2
  import { DialogState } from './useDialog';
3
3
  export declare function useFileSystem(): {
4
4
  onNewProject: (app: TelvaApp, openDialog: (dialogState: DialogState, onYes: () => Promise<void>, onNo: () => Promise<void>, onCancel: () => Promise<void>) => void) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"useKeyboardShortcuts.d.ts","sourceRoot":"","sources":["../../src/hooks/useKeyboardShortcuts.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,QA4tBxE"}
1
+ {"version":3,"file":"useKeyboardShortcuts.d.ts","sourceRoot":"","sources":["../../src/hooks/useKeyboardShortcuts.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,QAsuBxE"}
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import type { TelvaApp } from '../state';
2
+ import type { TelvaApp } from '~state';
3
3
  export declare const TelvaContext: React.Context<TelvaApp>;
4
4
  export declare function useTelvaApp(): TelvaApp;
5
5
  export declare const ContainerContext: React.Context<React.RefObject<HTMLDivElement>>;
@@ -1,4 +1,4 @@
1
- import type { Theme } from '../types';
1
+ import type { Theme } from '~types';
2
2
  export declare function useTheme(): {
3
3
  theme: Theme;
4
4
  toggle: () => import("..").TelvaApp;
@@ -1,3 +1,3 @@
1
- import { TVLanguage } from '../translations';
2
- export declare function useTranslation(locale?: TVLanguage): import("../translations").TVTranslation;
1
+ import { TVLanguage } from '~translations';
2
+ export declare function useTranslation(locale?: TVLanguage): import("~translations").TVTranslation;
3
3
  //# sourceMappingURL=useTranslation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTranslation.d.ts","sourceRoot":"","sources":["../../src/hooks/useTranslation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAkB,MAAM,eAAe,CAAA;AAE1D,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,yCASjD"}
1
+ {"version":3,"file":"useTranslation.d.ts","sourceRoot":"","sources":["../../src/hooks/useTranslation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAkB,MAAM,eAAe,CAAA;AAE1D,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,yCAOjD"}