@almadar/ui 1.0.34 → 2.0.1

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 (241) hide show
  1. package/LICENSE +21 -72
  2. package/dist/components/atoms/Avatar.d.ts +58 -0
  3. package/dist/components/atoms/Badge.d.ts +8 -0
  4. package/dist/components/atoms/Box.d.ts +57 -0
  5. package/dist/components/atoms/Button.d.ts +24 -0
  6. package/dist/components/atoms/Card.d.ts +18 -0
  7. package/dist/components/atoms/Center.d.ts +33 -0
  8. package/dist/components/atoms/Checkbox.d.ts +5 -0
  9. package/dist/components/atoms/ConditionalWrapper.d.ts +68 -0
  10. package/dist/components/atoms/Divider.d.ts +29 -0
  11. package/dist/components/atoms/Icon.d.ts +38 -0
  12. package/dist/components/atoms/Input.d.ts +26 -0
  13. package/dist/components/atoms/Label.d.ts +5 -0
  14. package/dist/components/atoms/LawReferenceTooltip.d.ts +48 -0
  15. package/dist/components/atoms/Overlay.d.ts +16 -0
  16. package/dist/components/atoms/ProgressBar.d.ts +63 -0
  17. package/dist/components/atoms/Radio.d.ts +26 -0
  18. package/dist/components/atoms/Select.d.ts +12 -0
  19. package/dist/components/atoms/Spacer.d.ts +25 -0
  20. package/dist/components/atoms/Spinner.d.ts +6 -0
  21. package/dist/components/atoms/Stack.d.ts +64 -0
  22. package/dist/components/atoms/Switch.d.ts +12 -0
  23. package/dist/components/atoms/TextHighlight.d.ts +53 -0
  24. package/dist/components/atoms/Textarea.d.ts +5 -0
  25. package/dist/components/atoms/ThemeSelector.d.ts +21 -0
  26. package/dist/components/atoms/ThemeToggle.d.ts +33 -0
  27. package/dist/components/atoms/Typography.d.ts +57 -0
  28. package/dist/components/atoms/game/ControlButton.d.ts +31 -0
  29. package/dist/components/atoms/game/HealthBar.d.ts +18 -0
  30. package/dist/components/atoms/game/ScoreDisplay.d.ts +21 -0
  31. package/dist/components/atoms/game/Sprite.d.ts +63 -0
  32. package/dist/components/atoms/game/StateIndicator.d.ts +31 -0
  33. package/dist/components/atoms/game/index.d.ts +12 -0
  34. package/dist/components/atoms/index.d.ts +27 -0
  35. package/dist/components/index.css +11 -9
  36. package/dist/components/index.d.ts +6 -6951
  37. package/dist/components/index.js +5 -5
  38. package/dist/components/molecules/Accordion.d.ts +67 -0
  39. package/dist/components/molecules/Alert.d.ts +24 -0
  40. package/dist/components/molecules/Breadcrumb.d.ts +55 -0
  41. package/dist/components/molecules/ButtonGroup.d.ts +67 -0
  42. package/dist/components/molecules/Card.d.ts +44 -0
  43. package/dist/components/molecules/Container.d.ts +30 -0
  44. package/dist/components/molecules/Drawer.d.ts +46 -0
  45. package/dist/components/molecules/EmptyState.d.ts +25 -0
  46. package/dist/components/molecules/ErrorBoundary.d.ts +55 -0
  47. package/dist/components/molecules/ErrorState.d.ts +13 -0
  48. package/dist/components/molecules/FilterGroup.d.ts +54 -0
  49. package/dist/components/molecules/Flex.d.ts +43 -0
  50. package/dist/components/molecules/FloatingActionButton.d.ts +69 -0
  51. package/dist/components/molecules/FormField.d.ts +16 -0
  52. package/dist/components/molecules/FormSectionHeader.d.ts +30 -0
  53. package/dist/components/molecules/Grid.d.ts +54 -0
  54. package/dist/components/molecules/InputGroup.d.ts +24 -0
  55. package/dist/components/molecules/LoadingState.d.ts +7 -0
  56. package/dist/components/molecules/Menu.d.ts +40 -0
  57. package/dist/components/molecules/Modal.d.ts +26 -0
  58. package/dist/components/molecules/Pagination.d.ts +66 -0
  59. package/dist/components/molecules/Popover.d.ts +39 -0
  60. package/dist/components/molecules/QuizBlock.d.ts +20 -0
  61. package/dist/components/molecules/RelationSelect.d.ts +48 -0
  62. package/dist/components/molecules/RepeatableFormSection.d.ts +58 -0
  63. package/dist/components/molecules/ScaledDiagram.d.ts +20 -0
  64. package/dist/components/molecules/SearchInput.d.ts +60 -0
  65. package/dist/components/molecules/SidePanel.d.ts +47 -0
  66. package/dist/components/molecules/SimpleGrid.d.ts +27 -0
  67. package/dist/components/molecules/Skeleton.d.ts +35 -0
  68. package/dist/components/molecules/Tabs.d.ts +45 -0
  69. package/dist/components/molecules/Toast.d.ts +35 -0
  70. package/dist/components/molecules/Tooltip.d.ts +25 -0
  71. package/dist/components/molecules/ViolationAlert.d.ts +49 -0
  72. package/dist/components/molecules/WizardNavigation.d.ts +51 -0
  73. package/dist/components/molecules/WizardProgress.d.ts +42 -0
  74. package/dist/components/molecules/game/StatBadge.d.ts +27 -0
  75. package/dist/components/molecules/index.d.ts +38 -0
  76. package/dist/components/molecules/markdown/CodeBlock.d.ts +25 -0
  77. package/dist/components/molecules/markdown/MarkdownContent.d.ts +26 -0
  78. package/dist/components/organisms/CardGrid.d.ts +72 -0
  79. package/dist/components/organisms/Chart.d.ts +59 -0
  80. package/dist/components/organisms/CodeViewer.d.ts +67 -0
  81. package/dist/components/organisms/ComponentPatterns.d.ts +441 -0
  82. package/dist/components/organisms/ConfirmDialog.d.ts +50 -0
  83. package/dist/components/organisms/ContentRenderer.d.ts +23 -0
  84. package/dist/components/organisms/CustomPattern.d.ts +104 -0
  85. package/dist/components/organisms/DataTable.d.ts +63 -0
  86. package/dist/components/organisms/DetailPanel.d.ts +71 -0
  87. package/dist/components/organisms/DocumentViewer.d.ts +60 -0
  88. package/dist/components/organisms/DrawerSlot.d.ts +39 -0
  89. package/dist/components/organisms/Form.d.ts +203 -0
  90. package/dist/components/organisms/FormSection.d.ts +59 -0
  91. package/dist/components/organisms/GraphCanvas.d.ts +69 -0
  92. package/dist/components/organisms/Header.d.ts +110 -0
  93. package/dist/components/organisms/JazariStateMachine.d.ts +60 -0
  94. package/dist/components/organisms/LayoutPatterns.d.ts +181 -0
  95. package/dist/components/organisms/List.d.ts +76 -0
  96. package/dist/components/organisms/MasterDetail.d.ts +43 -0
  97. package/dist/components/organisms/MediaGallery.d.ts +66 -0
  98. package/dist/components/organisms/Meter.d.ts +58 -0
  99. package/dist/components/organisms/ModalSlot.d.ts +35 -0
  100. package/dist/components/organisms/Navigation.d.ts +68 -0
  101. package/dist/components/organisms/OrbitalVisualization.d.ts +48 -0
  102. package/dist/components/organisms/PageHeader.d.ts +59 -0
  103. package/dist/components/organisms/Section.d.ts +44 -0
  104. package/dist/components/organisms/Sidebar.d.ts +65 -0
  105. package/dist/components/organisms/SignaturePad.d.ts +44 -0
  106. package/dist/components/organisms/Split.d.ts +42 -0
  107. package/dist/components/organisms/StatCard.d.ts +66 -0
  108. package/dist/components/organisms/StateMachineView.d.ts +36 -0
  109. package/dist/components/organisms/Table.d.ts +99 -0
  110. package/dist/components/organisms/Timeline.d.ts +58 -0
  111. package/dist/components/organisms/ToastSlot.d.ts +38 -0
  112. package/dist/components/organisms/UISlotRenderer.d.ts +112 -0
  113. package/dist/components/organisms/WizardContainer.d.ts +160 -0
  114. package/dist/components/organisms/book/BookChapterView.d.ts +17 -0
  115. package/dist/components/organisms/book/BookCoverPage.d.ts +19 -0
  116. package/dist/components/organisms/book/BookNavBar.d.ts +18 -0
  117. package/dist/components/organisms/book/BookTableOfContents.d.ts +18 -0
  118. package/dist/components/organisms/book/BookViewer.d.ts +28 -0
  119. package/dist/components/organisms/book/index.d.ts +7 -0
  120. package/dist/components/organisms/book/types.d.ts +77 -0
  121. package/dist/components/organisms/game/BattleBoard.d.ts +167 -0
  122. package/dist/components/organisms/game/CanvasEffect.d.ts +68 -0
  123. package/dist/components/organisms/game/CastleBoard.d.ts +85 -0
  124. package/dist/components/organisms/game/DialogueBox.d.ts +73 -0
  125. package/dist/components/organisms/game/GameAudioProvider.d.ts +47 -0
  126. package/dist/components/organisms/game/GameAudioToggle.d.ts +28 -0
  127. package/dist/components/organisms/game/GameHud.d.ts +40 -0
  128. package/dist/components/organisms/game/GameMenu.d.ts +43 -0
  129. package/dist/components/organisms/game/GameOverScreen.d.ts +56 -0
  130. package/dist/components/organisms/game/InventoryPanel.d.ts +67 -0
  131. package/dist/components/organisms/game/IsometricCanvas.d.ts +123 -0
  132. package/dist/components/organisms/game/TraitSlot.d.ts +86 -0
  133. package/dist/components/organisms/game/TraitStateViewer.d.ts +53 -0
  134. package/dist/components/organisms/game/UncontrolledBattleBoard.d.ts +26 -0
  135. package/dist/components/organisms/game/WorldMapBoard.d.ts +147 -0
  136. package/dist/components/organisms/game/editor/editorUtils.d.ts +109 -0
  137. package/dist/components/organisms/game/editor/index.d.ts +9 -0
  138. package/dist/components/organisms/game/hooks/useBattleState.d.ts +35 -0
  139. package/dist/components/organisms/game/hooks/useCamera.d.ts +41 -0
  140. package/dist/components/organisms/game/hooks/useGameAudio.d.ts +47 -0
  141. package/dist/components/organisms/game/hooks/useImageCache.d.ts +16 -0
  142. package/dist/components/organisms/game/hooks/usePhysics2D.d.ts +45 -0
  143. package/dist/components/organisms/game/hooks/useSpriteAnimations.d.ts +43 -0
  144. package/dist/components/organisms/game/index.d.ts +36 -0
  145. package/dist/components/organisms/game/managers/PhysicsManager.d.ts +103 -0
  146. package/dist/components/organisms/game/types/effects.d.ts +253 -0
  147. package/dist/{isometric-ynNHVPZx.d.ts → components/organisms/game/types/isometric.d.ts} +4 -6
  148. package/dist/components/organisms/game/types/spriteAnimation.d.ts +73 -0
  149. package/dist/components/organisms/game/utils/canvasEffects.d.ts +50 -0
  150. package/dist/components/organisms/game/utils/combatPresets.d.ts +15 -0
  151. package/dist/components/organisms/game/utils/isometric.d.ts +61 -0
  152. package/dist/components/organisms/game/utils/spriteAnimation.d.ts +57 -0
  153. package/dist/components/organisms/game/utils/spriteSheetConstants.d.ts +16 -0
  154. package/dist/components/organisms/index.d.ts +37 -0
  155. package/dist/components/organisms/layout/DashboardGrid.d.ts +34 -0
  156. package/dist/components/organisms/layout/MasterDetail.d.ts +32 -0
  157. package/dist/components/organisms/layout/SplitPane.d.ts +34 -0
  158. package/dist/components/organisms/layout/TabbedContainer.d.ts +42 -0
  159. package/dist/components/organisms/layout/index.d.ts +9 -0
  160. package/dist/components/organisms/types.d.ts +65 -0
  161. package/dist/components/templates/AuthLayout.d.ts +14 -0
  162. package/dist/components/templates/BattleTemplate.d.ts +25 -0
  163. package/dist/components/templates/CastleTemplate.d.ts +23 -0
  164. package/dist/components/templates/CounterTemplate.d.ts +44 -0
  165. package/dist/components/templates/DashboardLayout.d.ts +32 -0
  166. package/dist/components/templates/GameShell.d.ts +33 -0
  167. package/dist/components/templates/GameTemplate.d.ts +36 -0
  168. package/dist/components/templates/GenericAppTemplate.d.ts +30 -0
  169. package/dist/components/templates/WorldMapTemplate.d.ts +29 -0
  170. package/dist/components/templates/index.d.ts +10 -0
  171. package/dist/components/templates/types.d.ts +17 -0
  172. package/dist/context/DesignThemeContext.d.ts +21 -0
  173. package/dist/{ThemeContext-D9xUORq5.d.ts → context/ThemeContext.d.ts} +15 -16
  174. package/dist/context/UISlotContext.d.ts +75 -0
  175. package/dist/context/UserContext.d.ts +111 -0
  176. package/dist/context/index.d.ts +6 -206
  177. package/dist/{event-bus-types-CjJduURa.d.ts → hooks/event-bus-types.d.ts} +4 -6
  178. package/dist/hooks/index.d.ts +24 -1090
  179. package/dist/hooks/useAgentChat.d.ts +104 -0
  180. package/dist/hooks/useAuthContext.d.ts +25 -0
  181. package/dist/hooks/useCompile.d.ts +22 -0
  182. package/dist/hooks/useDeepAgentGeneration.d.ts +46 -0
  183. package/dist/hooks/useEntities.d.ts +52 -0
  184. package/dist/hooks/useEntityData.d.ts +155 -0
  185. package/dist/hooks/useEntityMutations.d.ts +80 -0
  186. package/dist/hooks/useEventBus.d.ts +96 -0
  187. package/dist/hooks/useExtensions.d.ts +32 -0
  188. package/dist/hooks/useFileEditor.d.ts +32 -0
  189. package/dist/hooks/useFileSystem.d.ts +40 -0
  190. package/dist/hooks/useGitHub.d.ts +58 -0
  191. package/dist/hooks/useOrbitalHistory.d.ts +39 -0
  192. package/dist/hooks/useOrbitalMutations.d.ts +95 -0
  193. package/dist/hooks/usePreview.d.ts +57 -0
  194. package/dist/hooks/useQuerySingleton.d.ts +78 -0
  195. package/dist/hooks/useResolvedEntity.d.ts +32 -0
  196. package/dist/hooks/useTranslate.d.ts +35 -0
  197. package/dist/hooks/useUIEvents.d.ts +35 -0
  198. package/dist/{useUISlots-D0mttBSP.d.ts → hooks/useUISlots.d.ts} +8 -9
  199. package/dist/hooks/useValidation.d.ts +46 -0
  200. package/dist/lib/api-client.d.ts +42 -0
  201. package/dist/lib/cn.d.ts +6 -0
  202. package/dist/lib/debug.d.ts +43 -0
  203. package/dist/lib/debugRegistry.d.ts +29 -0
  204. package/dist/lib/debugUtils.d.ts +27 -0
  205. package/dist/lib/entityDebug.d.ts +38 -0
  206. package/dist/lib/getNestedValue.d.ts +33 -0
  207. package/dist/lib/guardRegistry.d.ts +32 -0
  208. package/dist/lib/index.d.ts +17 -426
  209. package/dist/lib/jazari/svg-paths.d.ts +61 -0
  210. package/dist/lib/parseContentSegments.d.ts +41 -0
  211. package/dist/lib/tickRegistry.d.ts +40 -0
  212. package/dist/lib/traitRegistry.d.ts +34 -0
  213. package/dist/lib/verificationRegistry.d.ts +107 -0
  214. package/dist/{cn-BoBXsxuX.d.ts → lib/visualizer/index.d.ts} +18 -69
  215. package/dist/locales/index.d.ts +5 -7
  216. package/dist/providers/EventBusProvider.d.ts +60 -0
  217. package/dist/providers/FetchedDataProvider.d.ts +105 -0
  218. package/dist/providers/OfflineModeProvider.d.ts +79 -0
  219. package/dist/providers/OrbitalProvider.d.ts +101 -0
  220. package/dist/providers/SelectionProvider.d.ts +81 -0
  221. package/dist/providers/VerificationProvider.d.ts +63 -0
  222. package/dist/providers/index.css +11 -9
  223. package/dist/providers/index.d.ts +16 -464
  224. package/dist/providers/index.js +3 -3
  225. package/dist/renderer/client-effect-executor.d.ts +68 -0
  226. package/dist/renderer/data-resolver.d.ts +68 -0
  227. package/dist/renderer/index.d.ts +22 -519
  228. package/dist/renderer/index.js +1 -1
  229. package/dist/renderer/init.d.ts +14 -0
  230. package/dist/renderer/navigation.d.ts +142 -0
  231. package/dist/{offline-executor-CHr4uAhf.d.ts → renderer/offline-executor.d.ts} +9 -172
  232. package/dist/renderer/pattern-resolver.d.ts +91 -0
  233. package/dist/renderer/slot-definitions.d.ts +45 -0
  234. package/dist/renderer/types.d.ts +160 -0
  235. package/dist/renderer/useClientEffects.d.ts +88 -0
  236. package/dist/stores/entityStore.d.ts +99 -0
  237. package/dist/stores/filtering.d.ts +51 -0
  238. package/dist/stores/index.d.ts +4 -148
  239. package/package.json +12 -10
  240. package/dist/components/organisms/game/three/index.d.ts +0 -1162
  241. package/dist/{chunk-FZJ73RDM.js → chunk-RIZ76XRF.js} +1 -1
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Spacer Component
3
+ *
4
+ * A flexible spacer that expands to fill available space in a flex container.
5
+ * Useful for pushing elements apart or creating consistent spacing.
6
+ */
7
+ import React from 'react';
8
+ export type SpacerSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'auto';
9
+ export interface SpacerProps {
10
+ /** Fixed size (auto = flex grow) */
11
+ size?: SpacerSize;
12
+ /** Orientation (for fixed sizes) */
13
+ axis?: 'horizontal' | 'vertical';
14
+ /** Custom class name */
15
+ className?: string;
16
+ }
17
+ /**
18
+ * Spacer - Flexible spacing element for flex layouts
19
+ *
20
+ * Usage:
21
+ * - size="auto" (default): Expands to fill available space (flex: 1)
22
+ * - size="md": Fixed size spacing
23
+ */
24
+ export declare const Spacer: React.FC<SpacerProps>;
25
+ export default Spacer;
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ export type SpinnerSize = "xs" | "sm" | "md" | "lg";
3
+ export interface SpinnerProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ size?: SpinnerSize;
5
+ }
6
+ export declare const Spinner: React.ForwardRefExoticComponent<SpinnerProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Stack Component
3
+ *
4
+ * A layout primitive for arranging children in a vertical or horizontal stack with consistent spacing.
5
+ * Includes convenience exports VStack and HStack for common use cases.
6
+ */
7
+ import React from "react";
8
+ export type StackDirection = "horizontal" | "vertical";
9
+ export type StackGap = "none" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl";
10
+ export type StackAlign = "start" | "center" | "end" | "stretch" | "baseline";
11
+ export type StackJustify = "start" | "center" | "end" | "between" | "around" | "evenly";
12
+ export interface StackProps {
13
+ /** Stack direction */
14
+ direction?: StackDirection;
15
+ /** Gap between children */
16
+ gap?: StackGap;
17
+ /** Align items on the cross axis */
18
+ align?: StackAlign;
19
+ /** Justify items on the main axis */
20
+ justify?: StackJustify;
21
+ /** Allow items to wrap */
22
+ wrap?: boolean;
23
+ /** Reverse the order of children */
24
+ reverse?: boolean;
25
+ /** Fill available space (flex: 1) */
26
+ flex?: boolean;
27
+ /** Custom class name */
28
+ className?: string;
29
+ /** Inline styles */
30
+ style?: React.CSSProperties;
31
+ /** Children elements */
32
+ children?: React.ReactNode;
33
+ /** HTML element to render as */
34
+ as?: React.ElementType;
35
+ /** Click handler */
36
+ onClick?: (e: React.MouseEvent) => void;
37
+ /** Keyboard handler */
38
+ onKeyDown?: (e: React.KeyboardEvent) => void;
39
+ /** Role for accessibility */
40
+ role?: string;
41
+ /** Tab index for focus management */
42
+ tabIndex?: number;
43
+ /** Declarative event name — emits UI:{action} via eventBus on click */
44
+ action?: string;
45
+ /** Payload to include with the action event */
46
+ actionPayload?: Record<string, unknown>;
47
+ }
48
+ /**
49
+ * Stack - Flexible layout component for arranging children
50
+ */
51
+ export declare const Stack: React.FC<StackProps>;
52
+ /**
53
+ * VStack - Vertical stack shorthand
54
+ */
55
+ export interface VStackProps extends Omit<StackProps, "direction"> {
56
+ }
57
+ export declare const VStack: React.FC<VStackProps>;
58
+ /**
59
+ * HStack - Horizontal stack shorthand
60
+ */
61
+ export interface HStackProps extends Omit<StackProps, "direction"> {
62
+ }
63
+ export declare const HStack: React.FC<HStackProps>;
64
+ export default Stack;
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ export interface SwitchProps {
3
+ checked?: boolean;
4
+ defaultChecked?: boolean;
5
+ onChange?: (checked: boolean) => void;
6
+ disabled?: boolean;
7
+ label?: string;
8
+ id?: string;
9
+ name?: string;
10
+ className?: string;
11
+ }
12
+ export declare const Switch: React.ForwardRefExoticComponent<SwitchProps & React.RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,53 @@
1
+ /**
2
+ * TextHighlight Atom Component
3
+ *
4
+ * A styled span component for highlighting text with annotations (questions or notes).
5
+ * Uses different colors for different annotation types:
6
+ * - Questions: Blue highlight
7
+ * - Notes: Yellow highlight
8
+ */
9
+ import React from "react";
10
+ export type HighlightType = "question" | "note";
11
+ export interface TextHighlightProps {
12
+ /**
13
+ * Type of highlight (determines color)
14
+ */
15
+ highlightType: HighlightType;
16
+ /**
17
+ * Whether the highlight is currently active/focused
18
+ * @default false
19
+ */
20
+ isActive?: boolean;
21
+ /**
22
+ * Callback when highlight is clicked
23
+ */
24
+ onClick?: () => void;
25
+ /**
26
+ * Callback when highlight is hovered
27
+ */
28
+ onMouseEnter?: () => void;
29
+ /**
30
+ * Callback when hover ends
31
+ */
32
+ onMouseLeave?: () => void;
33
+ /**
34
+ * Unique ID for the annotation
35
+ */
36
+ annotationId?: string;
37
+ /**
38
+ * Additional CSS classes
39
+ */
40
+ className?: string;
41
+ /**
42
+ * Highlighted text content
43
+ */
44
+ children: React.ReactNode;
45
+ /** Declarative event name — emits UI:{action} via eventBus on click */
46
+ action?: string;
47
+ /** Declarative hover event — emits UI:{hoverEvent} with { hovered: true/false } */
48
+ hoverEvent?: string;
49
+ }
50
+ /**
51
+ * TextHighlight component for rendering highlighted text annotations
52
+ */
53
+ export declare const TextHighlight: React.FC<TextHighlightProps>;
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ export interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {
3
+ error?: string;
4
+ }
5
+ export declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * ThemeSelector - Design theme selector component
3
+ *
4
+ * A dropdown/toggle component for switching between design themes.
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ import React from "react";
9
+ interface ThemeSelectorProps {
10
+ /** Optional className */
11
+ className?: string;
12
+ /** Show as dropdown or buttons */
13
+ variant?: "dropdown" | "buttons";
14
+ /** Show labels */
15
+ showLabels?: boolean;
16
+ }
17
+ /**
18
+ * ThemeSelector component for switching design themes
19
+ */
20
+ export declare const ThemeSelector: React.FC<ThemeSelectorProps>;
21
+ export default ThemeSelector;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * ThemeToggle Atom Component
3
+ *
4
+ * A button that toggles between light and dark themes.
5
+ * Uses Sun and Moon icons to indicate current/target theme.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ import React from "react";
10
+ export interface ThemeToggleProps {
11
+ /** Additional CSS classes */
12
+ className?: string;
13
+ /** Size variant */
14
+ size?: "sm" | "md" | "lg";
15
+ /** Show label text */
16
+ showLabel?: boolean;
17
+ }
18
+ /**
19
+ * ThemeToggle component for switching between light and dark modes
20
+ *
21
+ * @example
22
+ * ```tsx
23
+ * // Basic usage
24
+ * <ThemeToggle />
25
+ *
26
+ * // With label
27
+ * <ThemeToggle showLabel />
28
+ *
29
+ * // Custom size
30
+ * <ThemeToggle size="lg" />
31
+ * ```
32
+ */
33
+ export declare const ThemeToggle: React.FC<ThemeToggleProps>;
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Typography Atom Component
3
+ *
4
+ * Text elements following the KFlow design system with theme-aware styling.
5
+ */
6
+ import React from "react";
7
+ export type TypographyVariant = "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "body1" | "body2" | "body" | "caption" | "overline" | "small" | "large" | "label";
8
+ export type TypographySize = "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl";
9
+ export interface TypographyProps {
10
+ /** Typography variant */
11
+ variant?: TypographyVariant;
12
+ /** Heading level (1-6) - alternative to variant for headings */
13
+ level?: 1 | 2 | 3 | 4 | 5 | 6;
14
+ /** Text color */
15
+ color?: "primary" | "secondary" | "muted" | "error" | "success" | "warning" | "inherit";
16
+ /** Text alignment */
17
+ align?: "left" | "center" | "right";
18
+ /** Font weight override */
19
+ weight?: "light" | "normal" | "medium" | "semibold" | "bold";
20
+ /** Font size override */
21
+ size?: TypographySize;
22
+ /** Truncate with ellipsis (single line) */
23
+ truncate?: boolean;
24
+ /** Overflow handling mode */
25
+ overflow?: "visible" | "hidden" | "wrap" | "clamp-2" | "clamp-3";
26
+ /** Custom HTML element */
27
+ as?: keyof React.JSX.IntrinsicElements;
28
+ /** HTML id attribute */
29
+ id?: string;
30
+ /** Additional class names */
31
+ className?: string;
32
+ /** Inline style */
33
+ style?: React.CSSProperties;
34
+ /** Text content (alternative to children) */
35
+ content?: React.ReactNode;
36
+ /** Children elements */
37
+ children?: React.ReactNode;
38
+ }
39
+ export declare const Typography: React.FC<TypographyProps>;
40
+ /**
41
+ * Heading component - convenience wrapper for Typography heading variants
42
+ */
43
+ export interface HeadingProps extends Omit<TypographyProps, "variant"> {
44
+ /** Heading level (1-6) */
45
+ level?: 1 | 2 | 3 | 4 | 5 | 6;
46
+ /** Override font size */
47
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl";
48
+ }
49
+ export declare const Heading: React.FC<HeadingProps>;
50
+ /**
51
+ * Text component - convenience wrapper for Typography body/caption variants
52
+ */
53
+ export interface TextProps extends Omit<TypographyProps, "level"> {
54
+ /** Text variant */
55
+ variant?: "body" | "body1" | "body2" | "caption" | "small" | "large" | "label" | "overline";
56
+ }
57
+ export declare const Text: React.FC<TextProps>;
@@ -0,0 +1,31 @@
1
+ import * as React from 'react';
2
+ export interface ControlButtonProps {
3
+ /** Button label text */
4
+ label?: string;
5
+ /** Icon component or emoji */
6
+ icon?: React.ReactNode;
7
+ /** Size variant */
8
+ size?: 'sm' | 'md' | 'lg' | 'xl' | string;
9
+ /** Shape variant */
10
+ shape?: 'circle' | 'rounded' | 'square' | string;
11
+ /** Visual variant */
12
+ variant?: 'primary' | 'secondary' | 'ghost' | string;
13
+ /** Called when button is pressed */
14
+ onPress?: () => void;
15
+ /** Called when button is released */
16
+ onRelease?: () => void;
17
+ /** Declarative event name emitted on press via useEventBus */
18
+ pressEvent?: string;
19
+ /** Declarative event name emitted on release via useEventBus */
20
+ releaseEvent?: string;
21
+ /** Whether the button is currently pressed */
22
+ pressed?: boolean;
23
+ /** Whether the button is disabled */
24
+ disabled?: boolean;
25
+ /** Additional CSS classes */
26
+ className?: string;
27
+ }
28
+ export declare function ControlButton({ label, icon, size, shape, variant, onPress, onRelease, pressEvent, releaseEvent, pressed, disabled, className, }: ControlButtonProps): import("react/jsx-runtime").JSX.Element;
29
+ export declare namespace ControlButton {
30
+ var displayName: string;
31
+ }
@@ -0,0 +1,18 @@
1
+ export interface HealthBarProps {
2
+ /** Current health value */
3
+ current: number;
4
+ /** Maximum health value */
5
+ max: number;
6
+ /** Display format */
7
+ format?: 'hearts' | 'bar' | 'numeric';
8
+ /** Size variant */
9
+ size?: 'sm' | 'md' | 'lg';
10
+ /** Additional CSS classes */
11
+ className?: string;
12
+ /** Animation on change */
13
+ animated?: boolean;
14
+ }
15
+ export declare function HealthBar({ current, max, format, size, className, animated, }: HealthBarProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare namespace HealthBar {
17
+ var displayName: string;
18
+ }
@@ -0,0 +1,21 @@
1
+ import * as React from 'react';
2
+ export interface ScoreDisplayProps {
3
+ /** Current score value */
4
+ value: number;
5
+ /** Label to display before score */
6
+ label?: string;
7
+ /** Icon component or emoji */
8
+ icon?: React.ReactNode;
9
+ /** Size variant */
10
+ size?: 'sm' | 'md' | 'lg' | 'xl';
11
+ /** Additional CSS classes */
12
+ className?: string;
13
+ /** Animation on value change */
14
+ animated?: boolean;
15
+ /** Number formatting locale */
16
+ locale?: string;
17
+ }
18
+ export declare function ScoreDisplay({ value, label, icon, size, className, animated, locale, }: ScoreDisplayProps): import("react/jsx-runtime").JSX.Element;
19
+ export declare namespace ScoreDisplay {
20
+ var displayName: string;
21
+ }
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Sprite Component
3
+ *
4
+ * Renders a single frame from a spritesheet with transform support.
5
+ */
6
+ import React from 'react';
7
+ export interface SpriteProps {
8
+ /** Spritesheet image URL */
9
+ spritesheet: string;
10
+ /** Width of each frame in pixels */
11
+ frameWidth: number;
12
+ /** Height of each frame in pixels */
13
+ frameHeight: number;
14
+ /** Frame index to display (0-based, left-to-right, top-to-bottom) */
15
+ frame: number;
16
+ /** X position in pixels */
17
+ x: number;
18
+ /** Y position in pixels */
19
+ y: number;
20
+ /** Scale factor (default: 1) */
21
+ scale?: number;
22
+ /** Flip horizontally */
23
+ flipX?: boolean;
24
+ /** Flip vertically */
25
+ flipY?: boolean;
26
+ /** Rotation in degrees */
27
+ rotation?: number;
28
+ /** Opacity (0-1) */
29
+ opacity?: number;
30
+ /** Z-index for layering */
31
+ zIndex?: number;
32
+ /** Number of columns in spritesheet (for frame calculation) */
33
+ columns?: number;
34
+ /** Optional className */
35
+ className?: string;
36
+ /** Optional onClick handler */
37
+ onClick?: () => void;
38
+ /** Declarative event name emitted on click via useEventBus */
39
+ action?: string;
40
+ }
41
+ /**
42
+ * Sprite component for rendering spritesheet frames
43
+ *
44
+ * @example
45
+ * ```tsx
46
+ * <Sprite
47
+ * spritesheet="/sprites/player.png"
48
+ * frameWidth={32}
49
+ * frameHeight={32}
50
+ * frame={currentFrame}
51
+ * x={player.x}
52
+ * y={player.y}
53
+ * flipX={player.facingLeft}
54
+ * scale={2}
55
+ * />
56
+ * ```
57
+ */
58
+ export declare function Sprite({ spritesheet, frameWidth, frameHeight, frame, x, y, scale, flipX, flipY, rotation, opacity, zIndex, columns, className, onClick, action, }: SpriteProps): React.JSX.Element;
59
+ /**
60
+ * Canvas-based sprite renderer for better performance in game loops
61
+ */
62
+ export declare function drawSprite(ctx: CanvasRenderingContext2D, image: HTMLImageElement, props: Omit<SpriteProps, 'spritesheet' | 'className' | 'onClick'>): void;
63
+ export default Sprite;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * StateIndicator Component
3
+ *
4
+ * Displays a visual indicator for a game entity's current state.
5
+ * Generic — not tied to any specific game. Projects can extend
6
+ * the state styles via the `stateStyles` prop.
7
+ */
8
+ import React from 'react';
9
+ export interface StateStyle {
10
+ icon: string;
11
+ bgClass: string;
12
+ }
13
+ export interface StateIndicatorProps {
14
+ /** The current state name */
15
+ state: string;
16
+ /** Optional label override (defaults to capitalized state name) */
17
+ label?: string;
18
+ /** Size variant */
19
+ size?: 'sm' | 'md' | 'lg';
20
+ /** Whether to show pulse animation on non-idle states */
21
+ animated?: boolean;
22
+ /** Custom state styles to extend/override defaults */
23
+ stateStyles?: Record<string, StateStyle>;
24
+ /** Additional CSS classes */
25
+ className?: string;
26
+ }
27
+ export declare function StateIndicator({ state, label, size, animated, stateStyles, className, }: StateIndicatorProps): React.JSX.Element;
28
+ export declare namespace StateIndicator {
29
+ var displayName: string;
30
+ }
31
+ export default StateIndicator;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Game Atom Components
3
+ *
4
+ * Basic building blocks for game UI.
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ export { HealthBar, type HealthBarProps } from './HealthBar';
9
+ export { ScoreDisplay, type ScoreDisplayProps } from './ScoreDisplay';
10
+ export { ControlButton, type ControlButtonProps } from './ControlButton';
11
+ export { Sprite, drawSprite, type SpriteProps } from './Sprite';
12
+ export { StateIndicator, type StateIndicatorProps, type StateStyle } from './StateIndicator';
@@ -0,0 +1,27 @@
1
+ export { Button, type ButtonProps } from "./Button";
2
+ export { Input, type InputProps } from "./Input";
3
+ export { Label, type LabelProps } from "./Label";
4
+ export { Textarea, type TextareaProps } from "./Textarea";
5
+ export { Select, type SelectProps, type SelectOption } from "./Select";
6
+ export { Checkbox, type CheckboxProps } from "./Checkbox";
7
+ export { Card, CardHeader, CardTitle, CardContent, CardBody, CardFooter, type CardProps, } from "./Card";
8
+ export { Badge, type BadgeProps, type BadgeVariant } from "./Badge";
9
+ export { Spinner, type SpinnerProps } from "./Spinner";
10
+ export { Avatar, type AvatarProps, type AvatarSize, type AvatarStatus, } from "./Avatar";
11
+ export { Box, type BoxProps, type BoxPadding, type BoxMargin, type BoxBg, type BoxRounded, type BoxShadow, } from "./Box";
12
+ export { Center, type CenterProps } from "./Center";
13
+ export { Divider, type DividerProps, type DividerOrientation } from "./Divider";
14
+ export { Icon, type IconProps, type IconSize, type IconAnimation, } from "./Icon";
15
+ export { ProgressBar, type ProgressBarProps, type ProgressBarVariant, type ProgressBarColor, } from "./ProgressBar";
16
+ export { Radio, type RadioProps } from "./Radio";
17
+ export { Switch, type SwitchProps } from "./Switch";
18
+ export { Spacer, type SpacerProps, type SpacerSize } from "./Spacer";
19
+ export { Stack, VStack, HStack, type StackProps, type VStackProps, type HStackProps, type StackDirection, type StackGap, type StackAlign, type StackJustify, } from "./Stack";
20
+ export { TextHighlight, type TextHighlightProps, type HighlightType, } from "./TextHighlight";
21
+ export { Typography, Heading, Text, type TypographyProps, type TypographyVariant, type HeadingProps, type TextProps, } from "./Typography";
22
+ export { ThemeToggle, type ThemeToggleProps } from "./ThemeToggle";
23
+ export { ThemeSelector } from "./ThemeSelector";
24
+ export { Overlay, type OverlayProps } from "./Overlay";
25
+ export { ConditionalWrapper, type ConditionalWrapperProps, type ConditionalContext, } from "./ConditionalWrapper";
26
+ export { LawReferenceTooltip, type LawReferenceTooltipProps, type LawReference, } from "./LawReferenceTooltip";
27
+ export * from "./game";
@@ -1,4 +1,4 @@
1
- /* ../../node_modules/.pnpm/katex@0.16.28/node_modules/katex/dist/katex.min.css */
1
+ /* node_modules/.pnpm/katex@0.16.33/node_modules/katex/dist/katex.min.css */
2
2
  @font-face {
3
3
  font-display: block;
4
4
  font-family: KaTeX_AMS;
@@ -213,7 +213,7 @@
213
213
  border-color: currentColor;
214
214
  }
215
215
  .katex .katex-version:after {
216
- content: "0.16.28";
216
+ content: "0.16.33";
217
217
  }
218
218
  .katex .katex-mathml {
219
219
  clip: rect(1px, 1px, 1px, 1px);
@@ -988,6 +988,15 @@
988
988
  .katex svg {
989
989
  fill: currentColor;
990
990
  stroke: currentColor;
991
+ display: block;
992
+ height: inherit;
993
+ position: absolute;
994
+ width: 100%;
995
+ }
996
+ .katex svg path {
997
+ stroke: none;
998
+ }
999
+ .katex svg {
991
1000
  fill-rule: nonzero;
992
1001
  fill-opacity: 1;
993
1002
  stroke-width: 1;
@@ -997,13 +1006,6 @@
997
1006
  stroke-dasharray: none;
998
1007
  stroke-dashoffset: 0;
999
1008
  stroke-opacity: 1;
1000
- display: block;
1001
- height: inherit;
1002
- position: absolute;
1003
- width: 100%;
1004
- }
1005
- .katex svg path {
1006
- stroke: none;
1007
1009
  }
1008
1010
  .katex img {
1009
1011
  border-style: none;