@glyphjs/runtime 0.1.0 → 0.3.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/dist/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { GlyphRuntimeConfig, GlyphRuntime, GlyphIR, AnimationConfig, Diagnostic, Block, LayoutHints, ContainerContext, GlyphComponentDefinition, ComponentType, BlockProps, GlyphTheme, Reference, GlyphThemeContext, GlyphComponentProps, InlineNode, ContainerTier } from '@glyphjs/types';
1
+ import { GlyphRuntimeConfig, GlyphRuntime, GlyphIR, AnimationConfig, Diagnostic, Block, LayoutHints, ContainerContext, GlyphComponentDefinition, ComponentType, BlockProps, GlyphTheme, Reference, GlyphThemeContext, InteractionEvent, GlyphComponentProps, InlineNode, ContainerTier } from '@glyphjs/types';
2
2
  export { AnimationConfig } from '@glyphjs/types';
3
3
  import * as react from 'react';
4
4
  import { ReactNode, Component, ErrorInfo, CSSProperties, ComponentType as ComponentType$1, RefObject } from 'react';
@@ -142,13 +142,16 @@ declare class PluginRegistry {
142
142
  interface RuntimeContextValue {
143
143
  registry: PluginRegistry;
144
144
  references: Reference[];
145
+ documentId: string;
145
146
  theme: GlyphThemeContext;
146
147
  onDiagnostic: (diagnostic: Diagnostic) => void;
147
148
  onNavigate: (ref: Reference, targetBlock: Block) => void;
149
+ onInteraction?: (event: InteractionEvent) => void;
148
150
  }
149
151
  interface RuntimeProviderProps {
150
152
  registry: PluginRegistry;
151
153
  references: Reference[];
154
+ documentId: string;
152
155
  theme: 'light' | 'dark' | GlyphTheme | undefined;
153
156
  /** Optional CSS class name applied to the runtime wrapper div. */
154
157
  className?: string;
@@ -156,9 +159,10 @@ interface RuntimeProviderProps {
156
159
  style?: CSSProperties;
157
160
  onDiagnostic?: (diagnostic: Diagnostic) => void;
158
161
  onNavigate?: (ref: Reference, targetBlock: Block) => void;
162
+ onInteraction?: (event: InteractionEvent) => void;
159
163
  children: ReactNode;
160
164
  }
161
- declare function RuntimeProvider({ registry, references, theme, className, style: consumerStyle, onDiagnostic, onNavigate, children, }: RuntimeProviderProps): ReactNode;
165
+ declare function RuntimeProvider({ registry, references, documentId, theme, className, style: consumerStyle, onDiagnostic, onNavigate, onInteraction, children, }: RuntimeProviderProps): ReactNode;
162
166
  /** Access the full runtime context. Throws if used outside RuntimeProvider. */
163
167
  declare function useRuntime(): RuntimeContextValue;
164
168
  /**
@@ -204,9 +208,10 @@ declare function validateComponentDefinition(definition: GlyphComponentDefinitio
204
208
  * @param themeContext - Current theme context passed through to the component.
205
209
  * @param layoutHints - Layout hints (e.g., viewport size, container width) for responsive rendering.
206
210
  * @param containerContext - Container measurement context for container-adaptive layout.
211
+ * @param onInteraction - Optional callback for interactive blocks. Only provided when `block.metadata.interactive` is true.
207
212
  * @returns Fully assembled GlyphComponentProps ready to pass to the component's render function.
208
213
  */
209
- declare function resolveComponentProps<T = unknown>(block: Block, definition: GlyphComponentDefinition<T>, references: Reference[], onNavigate: (ref: Reference) => void, themeContext: GlyphThemeContext, layoutHints: LayoutHints, containerContext: ContainerContext): GlyphComponentProps<T>;
214
+ declare function resolveComponentProps<T = unknown>(block: Block, definition: GlyphComponentDefinition<T>, references: Reference[], onNavigate: (ref: Reference) => void, themeContext: GlyphThemeContext, layoutHints: LayoutHints, containerContext: ContainerContext, onInteraction?: (event: Omit<InteractionEvent, 'documentId'>) => void): GlyphComponentProps<T>;
210
215
 
211
216
  interface LayoutProviderProps {
212
217
  layout: LayoutHints;
@@ -273,6 +278,21 @@ interface InlineRendererProps {
273
278
  */
274
279
  declare function InlineRenderer({ nodes }: InlineRendererProps): ReactNode;
275
280
 
281
+ interface RichTextProps {
282
+ content: string | InlineNode[];
283
+ style?: React.CSSProperties;
284
+ className?: string;
285
+ }
286
+ /**
287
+ * Renders text that may be plain string or formatted InlineNode[].
288
+ * Type guard checks if content is array, then uses InlineRenderer.
289
+ *
290
+ * This component enables component text fields to support both:
291
+ * - Plain strings (backward compatibility)
292
+ * - Markdown-parsed InlineNode arrays (when markdown: true)
293
+ */
294
+ declare function RichText({ content, style, className }: RichTextProps): ReactNode;
295
+
276
296
  /**
277
297
  * Renders a heading block (`<h1>` through `<h6>`) based on `data.depth`.
278
298
  * Generates an `id` attribute from the heading text for anchor links.
@@ -567,4 +587,16 @@ interface SSRPlaceholderProps {
567
587
  */
568
588
  declare function SSRPlaceholder({ width, height, className, children, }: SSRPlaceholderProps): ReactNode;
569
589
 
570
- export { AnimationContext, AnimationProvider, type AnimationState, type BlockAnimationResult, BlockDiagnosticIndicator, BlockRenderer, PluginRegistry as ComponentRegistry, ContainerMeasure, DashboardLayout, DiagnosticsOverlay, DocumentLayout, ErrorBoundary, FallbackRenderer, GlyphBlockquote, GlyphCodeBlock, GlyphDocument, GlyphHeading, GlyphImage, GlyphList, GlyphParagraph, GlyphRawHtml, GlyphThematicBreak, InlineRenderer, LayoutProvider, type NavigationResult, PluginRegistry, PresentationLayout, ReferenceIndicator, type RegistryChangeListener, type RuntimeContextValue, RuntimeProvider, type RuntimeProviderProps, SSRPlaceholder, type SSRPlaceholderProps, ThemeProvider, type ThemeProviderProps, type ValidationResult, builtInRenderers, createGlyphRuntime, createResolveVar, darkTheme, isDarkTheme, lightTheme, mergeThemeDefaults, resolveComponentProps, resolveTheme, resolveTier, useAnimation, useBlockAnimation, useGlyphTheme, useIsClient, useLayout, useNavigation, useReferences, useRuntime, validateComponentDefinition };
590
+ /**
591
+ * Creates a debounced interaction handler that groups events by
592
+ * `blockId + kind`. Each unique stream is debounced independently,
593
+ * so a tab switch fires immediately even while a table filter is
594
+ * being debounced.
595
+ *
596
+ * @param callback - The handler to invoke with the debounced event.
597
+ * @param delay - Debounce window in milliseconds (default: 300).
598
+ * @returns A function with the same signature as `onInteraction`.
599
+ */
600
+ declare function debounceInteractions(callback: (event: InteractionEvent) => void, delay?: number): (event: InteractionEvent) => void;
601
+
602
+ export { AnimationContext, AnimationProvider, type AnimationState, type BlockAnimationResult, BlockDiagnosticIndicator, BlockRenderer, PluginRegistry as ComponentRegistry, ContainerMeasure, DashboardLayout, DiagnosticsOverlay, DocumentLayout, ErrorBoundary, FallbackRenderer, GlyphBlockquote, GlyphCodeBlock, GlyphDocument, GlyphHeading, GlyphImage, GlyphList, GlyphParagraph, GlyphRawHtml, GlyphThematicBreak, InlineRenderer, LayoutProvider, type NavigationResult, PluginRegistry, PresentationLayout, ReferenceIndicator, type RegistryChangeListener, RichText, type RichTextProps, type RuntimeContextValue, RuntimeProvider, type RuntimeProviderProps, SSRPlaceholder, type SSRPlaceholderProps, ThemeProvider, type ThemeProviderProps, type ValidationResult, builtInRenderers, createGlyphRuntime, createResolveVar, darkTheme, debounceInteractions, isDarkTheme, lightTheme, mergeThemeDefaults, resolveComponentProps, resolveTheme, resolveTier, useAnimation, useBlockAnimation, useGlyphTheme, useIsClient, useLayout, useNavigation, useReferences, useRuntime, validateComponentDefinition };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { GlyphRuntimeConfig, GlyphRuntime, GlyphIR, AnimationConfig, Diagnostic, Block, LayoutHints, ContainerContext, GlyphComponentDefinition, ComponentType, BlockProps, GlyphTheme, Reference, GlyphThemeContext, GlyphComponentProps, InlineNode, ContainerTier } from '@glyphjs/types';
1
+ import { GlyphRuntimeConfig, GlyphRuntime, GlyphIR, AnimationConfig, Diagnostic, Block, LayoutHints, ContainerContext, GlyphComponentDefinition, ComponentType, BlockProps, GlyphTheme, Reference, GlyphThemeContext, InteractionEvent, GlyphComponentProps, InlineNode, ContainerTier } from '@glyphjs/types';
2
2
  export { AnimationConfig } from '@glyphjs/types';
3
3
  import * as react from 'react';
4
4
  import { ReactNode, Component, ErrorInfo, CSSProperties, ComponentType as ComponentType$1, RefObject } from 'react';
@@ -142,13 +142,16 @@ declare class PluginRegistry {
142
142
  interface RuntimeContextValue {
143
143
  registry: PluginRegistry;
144
144
  references: Reference[];
145
+ documentId: string;
145
146
  theme: GlyphThemeContext;
146
147
  onDiagnostic: (diagnostic: Diagnostic) => void;
147
148
  onNavigate: (ref: Reference, targetBlock: Block) => void;
149
+ onInteraction?: (event: InteractionEvent) => void;
148
150
  }
149
151
  interface RuntimeProviderProps {
150
152
  registry: PluginRegistry;
151
153
  references: Reference[];
154
+ documentId: string;
152
155
  theme: 'light' | 'dark' | GlyphTheme | undefined;
153
156
  /** Optional CSS class name applied to the runtime wrapper div. */
154
157
  className?: string;
@@ -156,9 +159,10 @@ interface RuntimeProviderProps {
156
159
  style?: CSSProperties;
157
160
  onDiagnostic?: (diagnostic: Diagnostic) => void;
158
161
  onNavigate?: (ref: Reference, targetBlock: Block) => void;
162
+ onInteraction?: (event: InteractionEvent) => void;
159
163
  children: ReactNode;
160
164
  }
161
- declare function RuntimeProvider({ registry, references, theme, className, style: consumerStyle, onDiagnostic, onNavigate, children, }: RuntimeProviderProps): ReactNode;
165
+ declare function RuntimeProvider({ registry, references, documentId, theme, className, style: consumerStyle, onDiagnostic, onNavigate, onInteraction, children, }: RuntimeProviderProps): ReactNode;
162
166
  /** Access the full runtime context. Throws if used outside RuntimeProvider. */
163
167
  declare function useRuntime(): RuntimeContextValue;
164
168
  /**
@@ -204,9 +208,10 @@ declare function validateComponentDefinition(definition: GlyphComponentDefinitio
204
208
  * @param themeContext - Current theme context passed through to the component.
205
209
  * @param layoutHints - Layout hints (e.g., viewport size, container width) for responsive rendering.
206
210
  * @param containerContext - Container measurement context for container-adaptive layout.
211
+ * @param onInteraction - Optional callback for interactive blocks. Only provided when `block.metadata.interactive` is true.
207
212
  * @returns Fully assembled GlyphComponentProps ready to pass to the component's render function.
208
213
  */
209
- declare function resolveComponentProps<T = unknown>(block: Block, definition: GlyphComponentDefinition<T>, references: Reference[], onNavigate: (ref: Reference) => void, themeContext: GlyphThemeContext, layoutHints: LayoutHints, containerContext: ContainerContext): GlyphComponentProps<T>;
214
+ declare function resolveComponentProps<T = unknown>(block: Block, definition: GlyphComponentDefinition<T>, references: Reference[], onNavigate: (ref: Reference) => void, themeContext: GlyphThemeContext, layoutHints: LayoutHints, containerContext: ContainerContext, onInteraction?: (event: Omit<InteractionEvent, 'documentId'>) => void): GlyphComponentProps<T>;
210
215
 
211
216
  interface LayoutProviderProps {
212
217
  layout: LayoutHints;
@@ -273,6 +278,21 @@ interface InlineRendererProps {
273
278
  */
274
279
  declare function InlineRenderer({ nodes }: InlineRendererProps): ReactNode;
275
280
 
281
+ interface RichTextProps {
282
+ content: string | InlineNode[];
283
+ style?: React.CSSProperties;
284
+ className?: string;
285
+ }
286
+ /**
287
+ * Renders text that may be plain string or formatted InlineNode[].
288
+ * Type guard checks if content is array, then uses InlineRenderer.
289
+ *
290
+ * This component enables component text fields to support both:
291
+ * - Plain strings (backward compatibility)
292
+ * - Markdown-parsed InlineNode arrays (when markdown: true)
293
+ */
294
+ declare function RichText({ content, style, className }: RichTextProps): ReactNode;
295
+
276
296
  /**
277
297
  * Renders a heading block (`<h1>` through `<h6>`) based on `data.depth`.
278
298
  * Generates an `id` attribute from the heading text for anchor links.
@@ -567,4 +587,16 @@ interface SSRPlaceholderProps {
567
587
  */
568
588
  declare function SSRPlaceholder({ width, height, className, children, }: SSRPlaceholderProps): ReactNode;
569
589
 
570
- export { AnimationContext, AnimationProvider, type AnimationState, type BlockAnimationResult, BlockDiagnosticIndicator, BlockRenderer, PluginRegistry as ComponentRegistry, ContainerMeasure, DashboardLayout, DiagnosticsOverlay, DocumentLayout, ErrorBoundary, FallbackRenderer, GlyphBlockquote, GlyphCodeBlock, GlyphDocument, GlyphHeading, GlyphImage, GlyphList, GlyphParagraph, GlyphRawHtml, GlyphThematicBreak, InlineRenderer, LayoutProvider, type NavigationResult, PluginRegistry, PresentationLayout, ReferenceIndicator, type RegistryChangeListener, type RuntimeContextValue, RuntimeProvider, type RuntimeProviderProps, SSRPlaceholder, type SSRPlaceholderProps, ThemeProvider, type ThemeProviderProps, type ValidationResult, builtInRenderers, createGlyphRuntime, createResolveVar, darkTheme, isDarkTheme, lightTheme, mergeThemeDefaults, resolveComponentProps, resolveTheme, resolveTier, useAnimation, useBlockAnimation, useGlyphTheme, useIsClient, useLayout, useNavigation, useReferences, useRuntime, validateComponentDefinition };
590
+ /**
591
+ * Creates a debounced interaction handler that groups events by
592
+ * `blockId + kind`. Each unique stream is debounced independently,
593
+ * so a tab switch fires immediately even while a table filter is
594
+ * being debounced.
595
+ *
596
+ * @param callback - The handler to invoke with the debounced event.
597
+ * @param delay - Debounce window in milliseconds (default: 300).
598
+ * @returns A function with the same signature as `onInteraction`.
599
+ */
600
+ declare function debounceInteractions(callback: (event: InteractionEvent) => void, delay?: number): (event: InteractionEvent) => void;
601
+
602
+ export { AnimationContext, AnimationProvider, type AnimationState, type BlockAnimationResult, BlockDiagnosticIndicator, BlockRenderer, PluginRegistry as ComponentRegistry, ContainerMeasure, DashboardLayout, DiagnosticsOverlay, DocumentLayout, ErrorBoundary, FallbackRenderer, GlyphBlockquote, GlyphCodeBlock, GlyphDocument, GlyphHeading, GlyphImage, GlyphList, GlyphParagraph, GlyphRawHtml, GlyphThematicBreak, InlineRenderer, LayoutProvider, type NavigationResult, PluginRegistry, PresentationLayout, ReferenceIndicator, type RegistryChangeListener, RichText, type RichTextProps, type RuntimeContextValue, RuntimeProvider, type RuntimeProviderProps, SSRPlaceholder, type SSRPlaceholderProps, ThemeProvider, type ThemeProviderProps, type ValidationResult, builtInRenderers, createGlyphRuntime, createResolveVar, darkTheme, debounceInteractions, isDarkTheme, lightTheme, mergeThemeDefaults, resolveComponentProps, resolveTheme, resolveTier, useAnimation, useBlockAnimation, useGlyphTheme, useIsClient, useLayout, useNavigation, useReferences, useRuntime, validateComponentDefinition };
package/dist/index.js CHANGED
@@ -394,11 +394,13 @@ var RuntimeContext = createContext(null);
394
394
  function RuntimeProvider({
395
395
  registry,
396
396
  references,
397
+ documentId,
397
398
  theme,
398
399
  className,
399
400
  style: consumerStyle,
400
401
  onDiagnostic,
401
402
  onNavigate,
403
+ onInteraction,
402
404
  children
403
405
  }) {
404
406
  const resolvedThemeObject = useMemo(() => resolveTheme(theme), [theme]);
@@ -414,11 +416,13 @@ function RuntimeProvider({
414
416
  () => ({
415
417
  registry,
416
418
  references,
419
+ documentId,
417
420
  theme: resolvedTheme,
418
421
  onDiagnostic: onDiagnostic ?? noop,
419
- onNavigate: onNavigate ?? noop
422
+ onNavigate: onNavigate ?? noop,
423
+ onInteraction
420
424
  }),
421
- [registry, references, resolvedTheme, onDiagnostic, onNavigate]
425
+ [registry, references, documentId, resolvedTheme, onDiagnostic, onNavigate, onInteraction]
422
426
  );
423
427
  const style = useMemo(
424
428
  () => ({ ...resolvedThemeObject.variables, ...consumerStyle }),
@@ -775,6 +779,12 @@ function GlyphRawHtml({ block }) {
775
779
  const clean = DOMPurify.sanitize(data.value);
776
780
  return /* @__PURE__ */ jsx("div", { dangerouslySetInnerHTML: { __html: clean } });
777
781
  }
782
+ function RichText({ content, style, className }) {
783
+ if (Array.isArray(content)) {
784
+ return /* @__PURE__ */ jsx("span", { style, className, children: /* @__PURE__ */ jsx(InlineRenderer, { nodes: content }) });
785
+ }
786
+ return /* @__PURE__ */ jsx("span", { style, className, children: content });
787
+ }
778
788
 
779
789
  // src/renderers/index.ts
780
790
  var builtInRenderers = {
@@ -789,7 +799,7 @@ var builtInRenderers = {
789
799
  };
790
800
 
791
801
  // src/plugins/resolve-props.ts
792
- function resolveComponentProps(block, definition, references, onNavigate, themeContext, layoutHints, containerContext) {
802
+ function resolveComponentProps(block, definition, references, onNavigate, themeContext, layoutHints, containerContext, onInteraction) {
793
803
  const parseResult = definition.schema.safeParse(block.data);
794
804
  const data = parseResult.success ? parseResult.data : (() => {
795
805
  const err = parseResult.error;
@@ -819,7 +829,7 @@ function resolveComponentProps(block, definition, references, onNavigate, themeC
819
829
  }
820
830
  }
821
831
  }
822
- return {
832
+ const props = {
823
833
  data,
824
834
  block,
825
835
  outgoingRefs,
@@ -829,6 +839,10 @@ function resolveComponentProps(block, definition, references, onNavigate, themeC
829
839
  layout: layoutHints,
830
840
  container: containerContext
831
841
  };
842
+ if (onInteraction) {
843
+ props.onInteraction = onInteraction;
844
+ }
845
+ return props;
832
846
  }
833
847
  var defaultConfig = {
834
848
  enabled: true,
@@ -1018,7 +1032,7 @@ function ReferenceIndicator({
1018
1032
  );
1019
1033
  }
1020
1034
  function BlockDispatch({ block, layout, container }) {
1021
- const { registry, references, theme, onNavigate } = useRuntime();
1035
+ const { registry, references, theme, documentId, onNavigate, onInteraction } = useRuntime();
1022
1036
  const { incomingRefs, outgoingRefs } = useReferences(block.id);
1023
1037
  const hasRefs = incomingRefs.length > 0 || outgoingRefs.length > 0;
1024
1038
  if (block.type.startsWith("ui:")) {
@@ -1034,6 +1048,9 @@ function BlockDispatch({ block, layout, container }) {
1034
1048
  }
1035
1049
  }
1036
1050
  }
1051
+ const handleInteraction = onInteraction && block.metadata?.interactive === true ? (event) => {
1052
+ onInteraction({ ...event, documentId });
1053
+ } : void 0;
1037
1054
  let content;
1038
1055
  const overrideDef = registry.getOverride(block.type);
1039
1056
  if (overrideDef) {
@@ -1052,7 +1069,8 @@ function BlockDispatch({ block, layout, container }) {
1052
1069
  handleNavigate,
1053
1070
  theme,
1054
1071
  layout,
1055
- container
1072
+ container,
1073
+ handleInteraction
1056
1074
  );
1057
1075
  const Renderer = definition.render;
1058
1076
  content = /* @__PURE__ */ jsx(Renderer, { ...props });
@@ -1644,7 +1662,7 @@ function createGlyphRuntime(config) {
1644
1662
  setThemeState(currentTheme);
1645
1663
  setVersion(registryVersion);
1646
1664
  }, []);
1647
- useMemo(() => {
1665
+ useEffect(() => {
1648
1666
  listeners.add(forceUpdate);
1649
1667
  return () => {
1650
1668
  listeners.delete(forceUpdate);
@@ -1655,9 +1673,11 @@ function createGlyphRuntime(config) {
1655
1673
  {
1656
1674
  registry,
1657
1675
  references: ir.references,
1676
+ documentId: ir.id,
1658
1677
  theme,
1659
1678
  onDiagnostic: config.onDiagnostic,
1660
1679
  onNavigate: config.onNavigate,
1680
+ onInteraction: config.onInteraction,
1661
1681
  children: /* @__PURE__ */ jsx(GlyphDocument, { ir, className, animation: config.animation })
1662
1682
  }
1663
1683
  );
@@ -1709,6 +1729,25 @@ function SSRPlaceholder({
1709
1729
  return /* @__PURE__ */ jsx(Fragment, { children });
1710
1730
  }
1711
1731
 
1712
- export { AnimationContext, AnimationProvider, BlockDiagnosticIndicator, BlockRenderer, PluginRegistry as ComponentRegistry, ContainerMeasure, DashboardLayout, DiagnosticsOverlay, DocumentLayout, ErrorBoundary, FallbackRenderer, GlyphBlockquote, GlyphCodeBlock, GlyphDocument, GlyphHeading, GlyphImage, GlyphList, GlyphParagraph, GlyphRawHtml, GlyphThematicBreak, InlineRenderer, LayoutProvider, PluginRegistry, PresentationLayout, ReferenceIndicator, RuntimeProvider, SSRPlaceholder, ThemeProvider, builtInRenderers, createGlyphRuntime, createResolveVar, darkTheme, isDarkTheme, lightTheme, mergeThemeDefaults, resolveComponentProps, resolveTheme, resolveTier, useAnimation, useBlockAnimation, useGlyphTheme, useIsClient, useLayout, useNavigation, useReferences, useRuntime, validateComponentDefinition };
1732
+ // src/debounce.ts
1733
+ function debounceInteractions(callback, delay = 300) {
1734
+ const timers = /* @__PURE__ */ new Map();
1735
+ return (event) => {
1736
+ const key = `${event.blockId}:${event.kind}`;
1737
+ const existing = timers.get(key);
1738
+ if (existing !== void 0) {
1739
+ clearTimeout(existing);
1740
+ }
1741
+ timers.set(
1742
+ key,
1743
+ setTimeout(() => {
1744
+ timers.delete(key);
1745
+ callback(event);
1746
+ }, delay)
1747
+ );
1748
+ };
1749
+ }
1750
+
1751
+ export { AnimationContext, AnimationProvider, BlockDiagnosticIndicator, BlockRenderer, PluginRegistry as ComponentRegistry, ContainerMeasure, DashboardLayout, DiagnosticsOverlay, DocumentLayout, ErrorBoundary, FallbackRenderer, GlyphBlockquote, GlyphCodeBlock, GlyphDocument, GlyphHeading, GlyphImage, GlyphList, GlyphParagraph, GlyphRawHtml, GlyphThematicBreak, InlineRenderer, LayoutProvider, PluginRegistry, PresentationLayout, ReferenceIndicator, RichText, RuntimeProvider, SSRPlaceholder, ThemeProvider, builtInRenderers, createGlyphRuntime, createResolveVar, darkTheme, debounceInteractions, isDarkTheme, lightTheme, mergeThemeDefaults, resolveComponentProps, resolveTheme, resolveTier, useAnimation, useBlockAnimation, useGlyphTheme, useIsClient, useLayout, useNavigation, useReferences, useRuntime, validateComponentDefinition };
1713
1752
  //# sourceMappingURL=index.js.map
1714
1753
  //# sourceMappingURL=index.js.map