@pyreon/meta 0.19.0 → 0.21.0

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 CHANGED
@@ -32,6 +32,11 @@ bun add @pyreon/meta
32
32
  | `@pyreon/charts` | `Chart` (reactive ECharts with lazy loading) |
33
33
  | `@pyreon/flow` | `createFlow`, `Flow`, `Background`, `MiniMap`, `Controls` |
34
34
  | `@pyreon/code` | `createEditor`, `CodeEditor`, `DiffEditor`, `TabbedEditor` |
35
+ | `@pyreon/rx` | `rx` namespace — filter/map/pipe/debounce/throttle/… (37 fns) |
36
+ | `@pyreon/toast` | `toast()`, `Toaster` |
37
+ | `@pyreon/url-state` | `useUrlState`, `setUrlRouter` |
38
+ | `@pyreon/dnd` | `useDraggable`, `useDroppable`, `useSortable`, `useFileDrop` |
39
+ | `@pyreon/document` | `createDocument`, `render` (PDF/DOCX/XLSX/… lazy-loaded) |
35
40
 
36
41
  ### UI System
37
42
 
@@ -46,6 +51,20 @@ bun add @pyreon/meta
46
51
  | `@pyreon/kinetic-presets` | `createFade`, `createSlide`, `createScale`, `createRotate`, `createBlur` |
47
52
  | `@pyreon/attrs` | `attrs` |
48
53
  | `@pyreon/rocketstyle` | `rocketstyle` |
54
+ | `@pyreon/ui-core` | `PyreonUI`, `useMode` |
55
+ | `@pyreon/document-primitives` | `DocDocument`, `DocPage`, `DocText`, … + `extractDocNode` |
56
+ | `@pyreon/connector-document` | `extractDocumentTree`, `resolveStyles` |
57
+
58
+ ## Bundle hygiene / lazy loading
59
+
60
+ `@pyreon/meta` is a thin **barrel**: every entry is a named re-export, and meta itself + every re-exported source package declares `"sideEffects": false`. Modern bundlers (Vite/Rolldown, Webpack/Next.js, esbuild, Rollup, Parcel, Bun) **tree-shake** unused exports — `import { useStorage } from '@pyreon/meta'` only pulls the `@pyreon/storage` `useStorage` subgraph into your bundle, not the other 32 packages.
61
+
62
+ Heavy renderers stay lazy at the source-package level:
63
+
64
+ - `@pyreon/document` lazy-loads each format renderer (PDF / DOCX / XLSX / PPTX / …) via dynamic `import()` inside `render(doc, '<format>')` — calling `createDocument()` does not bundle them.
65
+ - `@pyreon/charts`, `@pyreon/code`, `@pyreon/flow` lazy-load their heavy upstream deps (ECharts, CodeMirror grammars, elkjs) the same way.
66
+
67
+ So `import { … } from '@pyreon/meta'` is bundle-safe by construction.
49
68
 
50
69
  ## Usage
51
70
 
package/lib/index.js CHANGED
@@ -23,5 +23,13 @@ import { kinetic, useAnimationEnd, useTransitionState } from "@pyreon/kinetic";
23
23
  import { createBlur, createFade, createRotate, createScale, createSlide } from "@pyreon/kinetic-presets";
24
24
  import { attrs } from "@pyreon/attrs";
25
25
  import { rocketstyle } from "@pyreon/rocketstyle";
26
+ import { rx } from "@pyreon/rx";
27
+ import { Toaster, toast } from "@pyreon/toast";
28
+ import { setUrlRouter, useUrlState } from "@pyreon/url-state";
29
+ import { useDragMonitor, useDraggable, useDroppable, useFileDrop, useSortable } from "@pyreon/dnd";
30
+ import { createDocument, download, isDocNode, registerRenderer, render, unregisterRenderer } from "@pyreon/document";
31
+ import { DocButton, DocCode, DocColumn, DocDivider, DocDocument, DocHeading, DocImage, DocLink, DocList, DocListItem, DocPage, DocPageBreak, DocQuote, DocRow, DocSection, DocSpacer, DocTable, DocText, DocumentPreview, createDocumentExport, documentTheme, extractDocNode } from "@pyreon/document-primitives";
32
+ import { extractDocumentTree, resolveStyles } from "@pyreon/connector-document";
33
+ import { PyreonUI, useMode } from "@pyreon/ui-core";
26
34
 
27
- export { Background, Chart, CodeEditor, Col, Container, Controls, DiffEditor, Element, Flow, FormProvider, Handle, I18nProvider, Iterator, List, MiniMap, NodeResizer, NodeToolbar, Overlay, Panel, PermissionsProvider, Portal, Position, QueryClient, QueryClientProvider, Row, TabbedEditor, Text, Trans, addMiddleware, addStorePlugin, applyPatch, applySnapshot, attrs, batch, computeLayout, computed, createBlur, createEditor, createFade, createFlow, createGlobalStyle, createI18n, createMachine, createPermissions, createRotate, createScale, createSlide, createStorage, css, defineFeature, defineStore, effect, flexRender, flowStyles, getSnapshot, keyframes, kinetic, makeItResponsive, model, normalizeTheme, onPatch, reference, resetAllHooks, resetAllStores, resetHook, resetStore, rocketstyle, signal, sortBreakpoints, styled, useAnimationEnd, useBreakpoint, useClickOutside, useColorScheme, useCookie, useDebouncedCallback, useDebouncedValue, useElementSize, useField, useFieldArray, useFocus, useFocusTrap, useForm, useFormContext, useFormState, useHotkey, useHotkeyScope, useHover, useI18n, useIndexedDB, useInfiniteQuery, useIntersection, useInterval, useIsFetching, useIsMutating, useKeyboard, useMediaQuery, useMemoryStorage, useMergedRef, useMutation, usePermissions, useQuery, useQueryClient, useReducedMotion, useScrollLock, useStorage, useTable, useThrottledCallback, useTimeout, useToggle, useTransitionState, useVirtualizer, useWatch, useWindowResize, useWindowVirtualizer, zodField, zodSchema };
35
+ export { Background, Chart, CodeEditor, Col, Container, Controls, DiffEditor, DocButton, DocCode, DocColumn, DocDivider, DocDocument, DocHeading, DocImage, DocLink, DocList, DocListItem, DocPage, DocPageBreak, DocQuote, DocRow, DocSection, DocSpacer, DocTable, DocText, DocumentPreview, Element, Flow, FormProvider, Handle, I18nProvider, Iterator, List, MiniMap, NodeResizer, NodeToolbar, Overlay, Panel, PermissionsProvider, Portal, Position, PyreonUI, QueryClient, QueryClientProvider, Row, TabbedEditor, Text, Toaster, Trans, addMiddleware, addStorePlugin, applyPatch, applySnapshot, attrs, batch, computeLayout, computed, createBlur, createDocument, createDocumentExport, createEditor, createFade, createFlow, createGlobalStyle, createI18n, createMachine, createPermissions, createRotate, createScale, createSlide, createStorage, css, defineFeature, defineStore, documentTheme, download, effect, extractDocNode, extractDocumentTree, flexRender, flowStyles, getSnapshot, isDocNode, keyframes, kinetic, makeItResponsive, model, normalizeTheme, onPatch, reference, registerRenderer, render, resetAllHooks, resetAllStores, resetHook, resetStore, resolveStyles, rocketstyle, rx, setUrlRouter, signal, sortBreakpoints, styled, toast, unregisterRenderer, useAnimationEnd, useBreakpoint, useClickOutside, useColorScheme, useCookie, useDebouncedCallback, useDebouncedValue, useDragMonitor, useDraggable, useDroppable, useElementSize, useField, useFieldArray, useFileDrop, useFocus, useFocusTrap, useForm, useFormContext, useFormState, useHotkey, useHotkeyScope, useHover, useI18n, useIndexedDB, useInfiniteQuery, useIntersection, useInterval, useIsFetching, useIsMutating, useKeyboard, useMediaQuery, useMemoryStorage, useMergedRef, useMode, useMutation, usePermissions, useQuery, useQueryClient, useReducedMotion, useScrollLock, useSortable, useStorage, useTable, useThrottledCallback, useTimeout, useToggle, useTransitionState, useUrlState, useVirtualizer, useWatch, useWindowResize, useWindowVirtualizer, zodField, zodSchema };
@@ -23,4 +23,12 @@ import { kinetic, useAnimationEnd, useTransitionState } from "@pyreon/kinetic";
23
23
  import { createBlur, createFade, createRotate, createScale, createSlide } from "@pyreon/kinetic-presets";
24
24
  import { attrs } from "@pyreon/attrs";
25
25
  import { rocketstyle } from "@pyreon/rocketstyle";
26
- export { Background, Chart, CodeEditor, Col, Container, Controls, DiffEditor, type EditorConfig, type EditorInstance, Element, type Feature, type FeatureConfig, type FieldRegisterProps, type FieldState, Flow, type FlowConfig, type FlowEdge, type FlowInstance, type FlowNode, FormProvider, type FormState, Handle, type I18nInstance, type I18nOptions, I18nProvider, Iterator, List, MiniMap, type ModelDefinition, type ModelInstance, type NodeComponentProps, NodeResizer, NodeToolbar, Overlay, Panel, PermissionsProvider, Portal, Position, QueryClient, QueryClientProvider, Row, type SchemaAdapter, type Snapshot, type StoreApi, type StorePlugin, TabbedEditor, Text, Trans, type UseFieldArrayResult, type UseFieldResult, type UseFormOptions, type UseMutationResult, type UseQueryResult, type UseTableOptions, type UseVirtualizerOptions, type UseVirtualizerResult, type ValidationIssue, addMiddleware, addStorePlugin, applyPatch, applySnapshot, attrs, batch, computeLayout, computed, createBlur, createEditor, createFade, createFlow, createGlobalStyle, createI18n, createMachine, createPermissions, createRotate, createScale, createSlide, createStorage, css, defineFeature, defineStore, effect, flexRender, flowStyles, getSnapshot, keyframes, kinetic, makeItResponsive, model, normalizeTheme, onPatch, reference, resetAllHooks, resetAllStores, resetHook, resetStore, rocketstyle, signal, sortBreakpoints, styled, useAnimationEnd, useBreakpoint, useClickOutside, useColorScheme, useCookie, useDebouncedCallback, useDebouncedValue, useElementSize, useField, useFieldArray, useFocus, useFocusTrap, useForm, useFormContext, useFormState, useHotkey, useHotkeyScope, useHover, useI18n, useIndexedDB, useInfiniteQuery, useIntersection, useInterval, useIsFetching, useIsMutating, useKeyboard, useMediaQuery, useMemoryStorage, useMergedRef, useMutation, usePermissions, useQuery, useQueryClient, useReducedMotion, useScrollLock, useStorage, useTable, useThrottledCallback, useTimeout, useToggle, useTransitionState, useVirtualizer, useWatch, useWindowResize, useWindowVirtualizer, zodField, zodSchema };
26
+ import { KeyOf, ReadableSignal, rx } from "@pyreon/rx";
27
+ import { Toast, ToastOptions, ToastPosition, ToastPromiseOptions, ToastState, ToastType, Toaster, ToasterProps, toast } from "@pyreon/toast";
28
+ import { ArrayFormat, Serializer, UrlRouter, UrlStateOptions, UrlStateSignal, setUrlRouter, useUrlState } from "@pyreon/url-state";
29
+ import { UseDragMonitorOptions, UseDragMonitorResult, UseFileDropOptions, UseFileDropResult, useDragMonitor, useDraggable, useDroppable, useFileDrop, useSortable } from "@pyreon/dnd";
30
+ import { DocumentBuilder, DocumentProps, DocumentRenderer, OutputFormat, PageOrientation, PageSize, createDocument, download, isDocNode, registerRenderer, render, unregisterRenderer } from "@pyreon/document";
31
+ import { DocButton, DocCode, DocColumn, DocDivider, DocDocument, DocHeading, DocImage, DocLink, DocList, DocListItem, DocPage, DocPageBreak, DocQuote, DocRow, DocSection, DocSpacer, DocTable, DocText, DocumentExport, DocumentExportOptions, DocumentPreview, DocumentTheme, createDocumentExport, documentTheme, extractDocNode } from "@pyreon/document-primitives";
32
+ import { DocumentMarker, ExtractOptions, ResolvedStyles, extractDocumentTree, resolveStyles } from "@pyreon/connector-document";
33
+ import { BreakpointKeys, Breakpoints, PyreonUI, PyreonUIProps, ThemeMode, ThemeModeInput, useMode } from "@pyreon/ui-core";
34
+ export { type ArrayFormat, Background, type BreakpointKeys, type Breakpoints, Chart, CodeEditor, Col, Container, Controls, DiffEditor, DocButton, DocCode, DocColumn, DocDivider, DocDocument, DocHeading, DocImage, DocLink, DocList, DocListItem, DocPage, DocPageBreak, DocQuote, DocRow, DocSection, DocSpacer, DocTable, DocText, type DocumentBuilder, type DocumentExport, type DocumentExportOptions, type DocumentMarker, DocumentPreview, type DocumentProps, type DocumentRenderer, type DocumentTheme, type EditorConfig, type EditorInstance, Element, type ExtractOptions, type Feature, type FeatureConfig, type FieldRegisterProps, type FieldState, Flow, type FlowConfig, type FlowEdge, type FlowInstance, type FlowNode, FormProvider, type FormState, Handle, type I18nInstance, type I18nOptions, I18nProvider, Iterator, type KeyOf, List, MiniMap, type ModelDefinition, type ModelInstance, type NodeComponentProps, NodeResizer, NodeToolbar, type OutputFormat, Overlay, type PageOrientation, type PageSize, Panel, PermissionsProvider, Portal, Position, PyreonUI, type PyreonUIProps, QueryClient, QueryClientProvider, type ReadableSignal, type ResolvedStyles, Row, type SchemaAdapter, type Serializer, type Snapshot, type StoreApi, type StorePlugin, TabbedEditor, Text, type ThemeMode, type ThemeModeInput, type Toast, type ToastOptions, type ToastPosition, type ToastPromiseOptions, type ToastState, type ToastType, Toaster, type ToasterProps, Trans, type UrlRouter, type UrlStateOptions, type UrlStateSignal, type UseDragMonitorOptions, type UseDragMonitorResult, type UseFieldArrayResult, type UseFieldResult, type UseFileDropOptions, type UseFileDropResult, type UseFormOptions, type UseMutationResult, type UseQueryResult, type UseTableOptions, type UseVirtualizerOptions, type UseVirtualizerResult, type ValidationIssue, addMiddleware, addStorePlugin, applyPatch, applySnapshot, attrs, batch, computeLayout, computed, createBlur, createDocument, createDocumentExport, createEditor, createFade, createFlow, createGlobalStyle, createI18n, createMachine, createPermissions, createRotate, createScale, createSlide, createStorage, css, defineFeature, defineStore, documentTheme, download, effect, extractDocNode, extractDocumentTree, flexRender, flowStyles, getSnapshot, isDocNode, keyframes, kinetic, makeItResponsive, model, normalizeTheme, onPatch, reference, registerRenderer, render, resetAllHooks, resetAllStores, resetHook, resetStore, resolveStyles, rocketstyle, rx, setUrlRouter, signal, sortBreakpoints, styled, toast, unregisterRenderer, useAnimationEnd, useBreakpoint, useClickOutside, useColorScheme, useCookie, useDebouncedCallback, useDebouncedValue, useDragMonitor, useDraggable, useDroppable, useElementSize, useField, useFieldArray, useFileDrop, useFocus, useFocusTrap, useForm, useFormContext, useFormState, useHotkey, useHotkeyScope, useHover, useI18n, useIndexedDB, useInfiniteQuery, useIntersection, useInterval, useIsFetching, useIsMutating, useKeyboard, useMediaQuery, useMemoryStorage, useMergedRef, useMode, useMutation, usePermissions, useQuery, useQueryClient, useReducedMotion, useScrollLock, useSortable, useStorage, useTable, useThrottledCallback, useTimeout, useToggle, useTransitionState, useUrlState, useVirtualizer, useWatch, useWindowResize, useWindowVirtualizer, zodField, zodSchema };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pyreon/meta",
3
- "version": "0.19.0",
3
+ "version": "0.21.0",
4
4
  "description": "Pyreon Meta — barrel package re-exporting the full Pyreon fundamentals ecosystem",
5
5
  "license": "MIT",
6
6
  "author": "Vit Bokisch",
@@ -37,32 +37,39 @@
37
37
  "lint": "oxlint ."
38
38
  },
39
39
  "dependencies": {
40
- "@pyreon/attrs": "^0.19.0",
41
- "@pyreon/charts": "^0.19.0",
42
- "@pyreon/code": "^0.19.0",
43
- "@pyreon/coolgrid": "^0.19.0",
44
- "@pyreon/elements": "^0.19.0",
45
- "@pyreon/feature": "^0.19.0",
46
- "@pyreon/flow": "^0.19.0",
47
- "@pyreon/form": "^0.19.0",
48
- "@pyreon/hooks": "^0.19.0",
49
- "@pyreon/hotkeys": "^0.19.0",
50
- "@pyreon/i18n": "^0.19.0",
51
- "@pyreon/kinetic": "^0.19.0",
52
- "@pyreon/kinetic-presets": "^0.19.0",
53
- "@pyreon/machine": "^0.19.0",
54
- "@pyreon/permissions": "^0.19.0",
55
- "@pyreon/query": "^0.19.0",
56
- "@pyreon/reactivity": "^0.19.0",
57
- "@pyreon/rocketstyle": "^0.19.0",
58
- "@pyreon/state-tree": "^0.19.0",
59
- "@pyreon/storage": "^0.19.0",
60
- "@pyreon/store": "^0.19.0",
61
- "@pyreon/styler": "^0.19.0",
62
- "@pyreon/table": "^0.19.0",
63
- "@pyreon/ui-core": "^0.19.0",
64
- "@pyreon/unistyle": "^0.19.0",
65
- "@pyreon/validation": "^0.19.0",
66
- "@pyreon/virtual": "^0.19.0"
40
+ "@pyreon/attrs": "^0.21.0",
41
+ "@pyreon/charts": "^0.21.0",
42
+ "@pyreon/code": "^0.21.0",
43
+ "@pyreon/connector-document": "^0.21.0",
44
+ "@pyreon/coolgrid": "^0.21.0",
45
+ "@pyreon/dnd": "^0.21.0",
46
+ "@pyreon/document": "^0.21.0",
47
+ "@pyreon/document-primitives": "^0.21.0",
48
+ "@pyreon/elements": "^0.21.0",
49
+ "@pyreon/feature": "^0.21.0",
50
+ "@pyreon/flow": "^0.21.0",
51
+ "@pyreon/form": "^0.21.0",
52
+ "@pyreon/hooks": "^0.21.0",
53
+ "@pyreon/hotkeys": "^0.21.0",
54
+ "@pyreon/i18n": "^0.21.0",
55
+ "@pyreon/kinetic": "^0.21.0",
56
+ "@pyreon/kinetic-presets": "^0.21.0",
57
+ "@pyreon/machine": "^0.21.0",
58
+ "@pyreon/permissions": "^0.21.0",
59
+ "@pyreon/query": "^0.21.0",
60
+ "@pyreon/reactivity": "^0.21.0",
61
+ "@pyreon/rocketstyle": "^0.21.0",
62
+ "@pyreon/rx": "^0.21.0",
63
+ "@pyreon/state-tree": "^0.21.0",
64
+ "@pyreon/storage": "^0.21.0",
65
+ "@pyreon/store": "^0.21.0",
66
+ "@pyreon/styler": "^0.21.0",
67
+ "@pyreon/table": "^0.21.0",
68
+ "@pyreon/toast": "^0.21.0",
69
+ "@pyreon/ui-core": "^0.21.0",
70
+ "@pyreon/unistyle": "^0.21.0",
71
+ "@pyreon/url-state": "^0.21.0",
72
+ "@pyreon/validation": "^0.21.0",
73
+ "@pyreon/virtual": "^0.21.0"
67
74
  }
68
75
  }
package/src/index.ts CHANGED
@@ -196,3 +196,142 @@ export { attrs } from '@pyreon/attrs'
196
196
  // ─── Rocketstyle ─────────────────────────────────────────────────────────────
197
197
 
198
198
  export { rocketstyle } from '@pyreon/rocketstyle'
199
+
200
+ // ─── Rx ──────────────────────────────────────────────────────────────────────
201
+ // Exposed as the `rx` namespace to avoid collisions with generic operator
202
+ // names (`merge` / `throttle` / `debounce`) used by other meta entries.
203
+ // Tree-shakeable via `sideEffects: false`; unused operators drop out at
204
+ // bundle time.
205
+
206
+ export type { KeyOf, ReadableSignal } from '@pyreon/rx'
207
+ export { rx } from '@pyreon/rx'
208
+
209
+ // ─── Toast ───────────────────────────────────────────────────────────────────
210
+
211
+ export type {
212
+ Toast,
213
+ ToasterProps,
214
+ ToastOptions,
215
+ ToastPosition,
216
+ ToastPromiseOptions,
217
+ ToastState,
218
+ ToastType,
219
+ } from '@pyreon/toast'
220
+ export { Toaster, toast } from '@pyreon/toast'
221
+
222
+ // ─── URL State ───────────────────────────────────────────────────────────────
223
+
224
+ export type {
225
+ ArrayFormat,
226
+ Serializer,
227
+ UrlRouter,
228
+ UrlStateOptions,
229
+ UrlStateSignal,
230
+ } from '@pyreon/url-state'
231
+ export { setUrlRouter, useUrlState } from '@pyreon/url-state'
232
+
233
+ // ─── DnD ─────────────────────────────────────────────────────────────────────
234
+
235
+ export type {
236
+ UseDragMonitorOptions,
237
+ UseDragMonitorResult,
238
+ UseFileDropOptions,
239
+ UseFileDropResult,
240
+ } from '@pyreon/dnd'
241
+ export {
242
+ useDragMonitor,
243
+ useDraggable,
244
+ useDroppable,
245
+ useFileDrop,
246
+ useSortable,
247
+ } from '@pyreon/dnd'
248
+
249
+ // ─── Document ────────────────────────────────────────────────────────────────
250
+ // Builder + render API only. The format-renderer chunks (PDF / DOCX / XLSX /
251
+ // PPTX) are lazy-loaded INSIDE `render()` via dynamic `import()` — they do
252
+ // NOT bundle eagerly into consumers' main chunk. Document's generic JSX
253
+ // primitive names (`Text` / `List` / `Row` / `Table` / `Image` / …) are
254
+ // deliberately NOT re-exported here because they collide with `@pyreon/
255
+ // elements` / `@pyreon/coolgrid`; use the `Doc*`-named primitives from
256
+ // `@pyreon/document-primitives` (re-exported below) for JSX, or import the
257
+ // builder primitives directly from `@pyreon/document` when needed.
258
+
259
+ export type {
260
+ DocumentBuilder,
261
+ DocumentProps,
262
+ DocumentRenderer,
263
+ OutputFormat,
264
+ PageOrientation,
265
+ PageSize,
266
+ } from '@pyreon/document'
267
+ export {
268
+ createDocument,
269
+ download,
270
+ isDocNode,
271
+ registerRenderer,
272
+ render,
273
+ unregisterRenderer,
274
+ } from '@pyreon/document'
275
+
276
+ // ─── Document Primitives ─────────────────────────────────────────────────────
277
+ // The `Doc*`-prefixed JSX primitives (the rocketstyle-based components that
278
+ // render in the browser AND export to 14+ formats via `extractDocNode`).
279
+
280
+ export type {
281
+ DocumentExport,
282
+ DocumentExportOptions,
283
+ DocumentTheme,
284
+ } from '@pyreon/document-primitives'
285
+ export {
286
+ DocButton,
287
+ DocCode,
288
+ DocColumn,
289
+ DocDivider,
290
+ DocDocument,
291
+ DocHeading,
292
+ DocImage,
293
+ DocLink,
294
+ DocList,
295
+ DocListItem,
296
+ DocPage,
297
+ DocPageBreak,
298
+ DocQuote,
299
+ DocRow,
300
+ DocSection,
301
+ DocSpacer,
302
+ DocTable,
303
+ DocText,
304
+ DocumentPreview,
305
+ createDocumentExport,
306
+ documentTheme,
307
+ extractDocNode,
308
+ } from '@pyreon/document-primitives'
309
+
310
+ // ─── Connector Document ──────────────────────────────────────────────────────
311
+ // Bridge between rocketstyle / styled UI trees and `@pyreon/document`'s node
312
+ // graph — used by export pipelines. Generic `DocChild`/`DocNode`/`NodeType`
313
+ // types are NOT re-exported here to avoid duplicate-name surfaces against
314
+ // `@pyreon/document`; import them from `@pyreon/document` directly.
315
+
316
+ export type {
317
+ DocumentMarker,
318
+ ExtractOptions,
319
+ ResolvedStyles,
320
+ } from '@pyreon/connector-document'
321
+ export { extractDocumentTree, resolveStyles } from '@pyreon/connector-document'
322
+
323
+ // ─── UI Core (provider surface) ──────────────────────────────────────────────
324
+ // Only the high-value consumer-app surface: `PyreonUI` (the unified provider)
325
+ // + `useMode`. Framework-internal utilities (`init` / `compose` / `Provider`
326
+ // / `context` / `render` / generic `get`/`set`/`omit`/`pick`/`throttle`/
327
+ // `merge`) are deliberately omitted — they target ui-system authors, not
328
+ // app code, and several would collide with other meta entries.
329
+
330
+ export type {
331
+ BreakpointKeys,
332
+ Breakpoints,
333
+ PyreonUIProps,
334
+ ThemeMode,
335
+ ThemeModeInput,
336
+ } from '@pyreon/ui-core'
337
+ export { PyreonUI, useMode } from '@pyreon/ui-core'
@@ -128,4 +128,67 @@ describe('@pyreon/meta exports', () => {
128
128
  expect(name in meta).toBe(true)
129
129
  })
130
130
  }
131
+
132
+ // ─── Additions (ecosystem completion) ────────────────────────────────────
133
+ // Rx (namespace), Toast, URL state, DnD, Document, Document Primitives,
134
+ // Connector Document, UI Core provider surface.
135
+ const additions = [
136
+ // Rx — namespace + types only (operators reachable as `rx.filter` etc.).
137
+ 'rx',
138
+ // Toast
139
+ 'toast',
140
+ 'Toaster',
141
+ // URL state
142
+ 'useUrlState',
143
+ 'setUrlRouter',
144
+ // DnD
145
+ 'useDragMonitor',
146
+ 'useDraggable',
147
+ 'useDroppable',
148
+ 'useFileDrop',
149
+ 'useSortable',
150
+ // Document (builder + render only — generic JSX names skipped to avoid
151
+ // collisions with elements/coolgrid).
152
+ 'createDocument',
153
+ 'download',
154
+ 'isDocNode',
155
+ 'registerRenderer',
156
+ 'render',
157
+ 'unregisterRenderer',
158
+ // Document primitives (Doc*-prefixed JSX components)
159
+ 'DocButton',
160
+ 'DocCode',
161
+ 'DocColumn',
162
+ 'DocDivider',
163
+ 'DocDocument',
164
+ 'DocHeading',
165
+ 'DocImage',
166
+ 'DocLink',
167
+ 'DocList',
168
+ 'DocListItem',
169
+ 'DocPage',
170
+ 'DocPageBreak',
171
+ 'DocQuote',
172
+ 'DocRow',
173
+ 'DocSection',
174
+ 'DocSpacer',
175
+ 'DocTable',
176
+ 'DocText',
177
+ 'DocumentPreview',
178
+ 'createDocumentExport',
179
+ 'documentTheme',
180
+ 'extractDocNode',
181
+ // Connector document
182
+ 'extractDocumentTree',
183
+ 'resolveStyles',
184
+ // UI Core provider surface
185
+ 'PyreonUI',
186
+ 'useMode',
187
+ ]
188
+
189
+ for (const name of additions) {
190
+ it(`exports ${name}`, () => {
191
+ expect(name in meta).toBe(true)
192
+ })
193
+ }
131
194
  })