@almadar/ui 2.13.0 → 2.13.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.
- package/dist/{chunk-2GI2TR4Y.js → chunk-77CBR3Z7.js} +4 -2
- package/dist/{chunk-UYR7S2DP.js → chunk-ZW5N4AUU.js} +1 -1
- package/dist/components/index.d.ts +47 -0
- package/dist/components/index.js +2 -2
- package/dist/providers/index.js +2 -2
- package/dist/runtime/index.js +32 -10
- package/package.json +1 -1
- package/themes/arctic.css +6 -6
- package/themes/copper.css +2 -2
- package/themes/ember.css +6 -6
- package/themes/forest.css +2 -2
- package/themes/lavender.css +2 -2
- package/themes/midnight.css +2 -2
- package/themes/minimalist.css +7 -7
- package/themes/neon.css +6 -6
- package/themes/ocean.css +2 -2
- package/themes/rose.css +2 -2
- package/themes/sand.css +6 -6
- package/themes/slate.css +6 -6
- package/themes/sunset.css +2 -2
|
@@ -12254,6 +12254,7 @@ var DataGrid = ({
|
|
|
12254
12254
|
Box,
|
|
12255
12255
|
{
|
|
12256
12256
|
"data-entity-row": true,
|
|
12257
|
+
"data-entity-id": id,
|
|
12257
12258
|
className: cn(
|
|
12258
12259
|
"bg-[var(--color-card)] rounded-[var(--radius-lg)]",
|
|
12259
12260
|
"border border-[var(--color-border)]",
|
|
@@ -12272,6 +12273,7 @@ var DataGrid = ({
|
|
|
12272
12273
|
Box,
|
|
12273
12274
|
{
|
|
12274
12275
|
"data-entity-row": true,
|
|
12276
|
+
"data-entity-id": id,
|
|
12275
12277
|
className: cn(
|
|
12276
12278
|
"bg-[var(--color-card)] rounded-[var(--radius-lg)]",
|
|
12277
12279
|
"border border-[var(--color-border)]",
|
|
@@ -12581,7 +12583,7 @@ var DataList = ({
|
|
|
12581
12583
|
const renderItem = (itemData, index, isLast) => {
|
|
12582
12584
|
if (hasRenderProp) {
|
|
12583
12585
|
const id2 = itemData.id || String(index);
|
|
12584
|
-
return /* @__PURE__ */ jsxs(Box, { "data-entity-row": true, children: [
|
|
12586
|
+
return /* @__PURE__ */ jsxs(Box, { "data-entity-row": true, "data-entity-id": id2, children: [
|
|
12585
12587
|
/* @__PURE__ */ jsxs(
|
|
12586
12588
|
Box,
|
|
12587
12589
|
{
|
|
@@ -12628,7 +12630,7 @@ var DataList = ({
|
|
|
12628
12630
|
}
|
|
12629
12631
|
const id = itemData.id || String(index);
|
|
12630
12632
|
const titleValue = getNestedValue(itemData, titleField?.name ?? "");
|
|
12631
|
-
return /* @__PURE__ */ jsxs(Box, { "data-entity-row": true, children: [
|
|
12633
|
+
return /* @__PURE__ */ jsxs(Box, { "data-entity-row": true, "data-entity-id": id, children: [
|
|
12632
12634
|
/* @__PURE__ */ jsxs(
|
|
12633
12635
|
Box,
|
|
12634
12636
|
{
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SuspenseConfigProvider } from './chunk-
|
|
1
|
+
import { SuspenseConfigProvider } from './chunk-77CBR3Z7.js';
|
|
2
2
|
import { ThemeProvider } from './chunk-DKQN5FVU.js';
|
|
3
3
|
import { SelectionProvider, EntityDataProvider } from './chunk-Y7IHEYYE.js';
|
|
4
4
|
import { useEventBus, EventBusProvider } from './chunk-YXZM3WCF.js';
|
|
@@ -8751,8 +8751,36 @@ type GameAction = {
|
|
|
8751
8751
|
} | {
|
|
8752
8752
|
type: 'EXECUTE_TRAITS';
|
|
8753
8753
|
};
|
|
8754
|
+
/**
|
|
8755
|
+
* Create the initial game state with board and units.
|
|
8756
|
+
*
|
|
8757
|
+
* @param {number} width - Board width in tiles
|
|
8758
|
+
* @param {number} height - Board height in tiles
|
|
8759
|
+
* @param {GameUnit[]} units - Initial units to place on the board
|
|
8760
|
+
* @param {string} [defaultTerrain] - Default terrain type for empty tiles
|
|
8761
|
+
* @returns {GameState} The initialized game state
|
|
8762
|
+
*/
|
|
8754
8763
|
declare function createInitialGameState(width: number, height: number, units: GameUnit[], defaultTerrain?: string): GameState;
|
|
8764
|
+
/**
|
|
8765
|
+
* Calculate valid movement positions for a unit.
|
|
8766
|
+
*
|
|
8767
|
+
* Returns all tiles within the unit's movement range that are
|
|
8768
|
+
* not blocked and don't contain other units.
|
|
8769
|
+
*
|
|
8770
|
+
* @param {GameState} state - Current game state
|
|
8771
|
+
* @param {string} unitId - ID of the unit to calculate moves for
|
|
8772
|
+
* @returns {Position[]} Array of valid move positions
|
|
8773
|
+
*/
|
|
8755
8774
|
declare function calculateValidMoves(state: GameState, unitId: string): Position[];
|
|
8775
|
+
/**
|
|
8776
|
+
* Calculate valid attack targets for a unit.
|
|
8777
|
+
*
|
|
8778
|
+
* Returns adjacent positions containing enemy units that can be attacked.
|
|
8779
|
+
*
|
|
8780
|
+
* @param {GameState} state - Current game state
|
|
8781
|
+
* @param {string} unitId - ID of the unit to calculate targets for
|
|
8782
|
+
* @returns {Position[]} Array of valid attack target positions
|
|
8783
|
+
*/
|
|
8756
8784
|
declare function calculateAttackTargets(state: GameState, unitId: string): Position[];
|
|
8757
8785
|
|
|
8758
8786
|
/**
|
|
@@ -8782,6 +8810,16 @@ interface CombatEffect {
|
|
|
8782
8810
|
sound?: string;
|
|
8783
8811
|
}
|
|
8784
8812
|
declare const combatEffects: Record<string, CombatEffect>;
|
|
8813
|
+
/**
|
|
8814
|
+
* Apply a temporary combat effect to an HTML element.
|
|
8815
|
+
*
|
|
8816
|
+
* Adds the effect's CSS class to the element and removes it after
|
|
8817
|
+
* the effect duration completes.
|
|
8818
|
+
*
|
|
8819
|
+
* @param {HTMLElement} element - The DOM element to apply the effect to
|
|
8820
|
+
* @param {CombatEffect} effect - The combat effect to apply
|
|
8821
|
+
* @param {() => void} [onComplete] - Optional callback when effect completes
|
|
8822
|
+
*/
|
|
8785
8823
|
declare function applyTemporaryEffect(element: HTMLElement, effect: CombatEffect, onComplete?: () => void): void;
|
|
8786
8824
|
interface DamageResult {
|
|
8787
8825
|
baseDamage: number;
|
|
@@ -8790,6 +8828,15 @@ interface DamageResult {
|
|
|
8790
8828
|
isBlocked: boolean;
|
|
8791
8829
|
damageReduction: number;
|
|
8792
8830
|
}
|
|
8831
|
+
/**
|
|
8832
|
+
* Calculate combat damage with defense and critical hit mechanics.
|
|
8833
|
+
*
|
|
8834
|
+
* @param {number} attack - Attacker's attack power
|
|
8835
|
+
* @param {number} defense - Defender's defense power
|
|
8836
|
+
* @param {boolean} [isDefending] - Whether defender is in defend stance (doubles defense)
|
|
8837
|
+
* @param {number} [criticalChance] - Probability of critical hit (0-1, default 0.1)
|
|
8838
|
+
* @returns {DamageResult} Calculated damage with critical/block info
|
|
8839
|
+
*/
|
|
8793
8840
|
declare function calculateDamage(attack: number, defense: number, isDefending?: boolean, criticalChance?: number): DamageResult;
|
|
8794
8841
|
type CombatEventType = 'attack' | 'critical' | 'defend' | 'heal' | 'defeat' | 'level_up' | 'state_change';
|
|
8795
8842
|
interface CombatEventData {
|
package/dist/components/index.js
CHANGED
|
@@ -4,8 +4,8 @@ export { ENTITY_EVENTS, useAgentChat, useAuthContext, useCompile, useConnectGitH
|
|
|
4
4
|
export { clearEntities, getAllEntities, getByType, getEntity, getSingleton, removeEntity, spawnEntity, updateEntity, updateSingleton } from '../chunk-N7MVUW4R.js';
|
|
5
5
|
import { subscribeToTraitChanges, getAllTraits } from '../chunk-42YQ6JVR.js';
|
|
6
6
|
import '../chunk-3HJHHULT.js';
|
|
7
|
-
import { VStack, HStack, Typography, Button, Icon, Box, Card, Avatar, Badge, SearchInput, Checkbox, Menu as Menu$1, Pagination, LoadingState, EmptyState, Modal, ErrorState, QuizBlock, CodeBlock, ScaledDiagram, MarkdownContent, Divider, ProgressBar, isoToScreen, IsometricCanvas_default, Stack, Select, Drawer, Toast, Tabs, Input, ThemeToggle, TILE_WIDTH, EntityDisplayEvents, StateIndicator, Accordion, ButtonGroup, Container } from '../chunk-
|
|
8
|
-
export { ALL_PRESETS, Accordion, ActionButton, ActionButtons, Card2 as ActionCard, Alert, AnimatedCounter, Avatar, Badge, Box, Breadcrumb, Button, ButtonGroup, CalendarGrid, CanvasEffect, Card, CardBody, CardContent, CardFooter, CardGrid, CardHeader, CardTitle, Carousel, Center, Chart, ChartLegend, Checkbox, ChoiceButton, CodeBlock, CombatLog, ComboCounter, ConditionalWrapper, ConfettiEffect, Container, ControlButton, CraftingRecipe, DIAMOND_TOP_Y, DPad, DamageNumber, DataGrid, DataList, DataTable, DateRangeSelector, DayCell, DetailPanel, DialogueBox, DialogueBubble, Divider, Drawer, EmptyState, EnemyPlate, EntityDisplayEvents, ErrorBoundary, ErrorState, FEATURE_COLORS, FLOOR_HEIGHT, FilterGroup, Flex, FlipCard, FlipContainer, FloatingActionButton, Form, FormField, FormSectionHeader, GameCanvas2D, GameHud, GameMenu, GameOverScreen, GraphView, Grid, HStack, Heading, HealthBar, HealthPanel, Icon, InfiniteScrollSentinel, Input, InputGroup, InventoryGrid, InventoryPanel, IsometricCanvas, ItemSlot, Label, LawReferenceTooltip, Lightbox, LineChart, LoadingState, MapView, MarkdownContent, MasterDetail, Menu, Meter, MiniMap, Modal, NumberStepper, Overlay, PageHeader, Pagination, PlatformerCanvas, Popover, PowerupSlots, ProgressBar, ProgressDots, PullToRefresh, QuestTracker, QuizBlock, Radio, RangeSlider, RelationSelect, RepeatableFormSection, ResourceBar, ResourceCounter, ScaledDiagram, ScoreBoard, ScoreDisplay, SearchInput, Select, SidePanel, SimpleGrid, SimulationCanvas, SimulationControls, SimulationGraph, Skeleton, SlotContentRenderer, SortableList, Spacer, Spinner, Sprite, Stack, StarRating, StatBadge, StatCard, StatDisplay, StateIndicator, StatusDot, StatusEffect, SwipeableRow, Switch, TILE_HEIGHT, TILE_WIDTH, Tabs, Text, TextHighlight, Textarea, ThemeSelector, ThemeToggle, TimeSlotCell, TimerDisplay, Toast, Tooltip, TrendIndicator, TurnIndicator, TurnPanel, TypewriterText, Typography, UISlotComponent, UISlotRenderer, UnitCommandBar, UploadDropZone, VStack, ViolationAlert, WaypointMarker, WizardNavigation, WizardProgress, XPBar, drawSprite, isoToScreen, pendulum, projectileMotion, screenToIso, springOscillator, useCamera, useImageCache } from '../chunk-
|
|
7
|
+
import { VStack, HStack, Typography, Button, Icon, Box, Card, Avatar, Badge, SearchInput, Checkbox, Menu as Menu$1, Pagination, LoadingState, EmptyState, Modal, ErrorState, QuizBlock, CodeBlock, ScaledDiagram, MarkdownContent, Divider, ProgressBar, isoToScreen, IsometricCanvas_default, Stack, Select, Drawer, Toast, Tabs, Input, ThemeToggle, TILE_WIDTH, EntityDisplayEvents, StateIndicator, Accordion, ButtonGroup, Container } from '../chunk-77CBR3Z7.js';
|
|
8
|
+
export { ALL_PRESETS, Accordion, ActionButton, ActionButtons, Card2 as ActionCard, Alert, AnimatedCounter, Avatar, Badge, Box, Breadcrumb, Button, ButtonGroup, CalendarGrid, CanvasEffect, Card, CardBody, CardContent, CardFooter, CardGrid, CardHeader, CardTitle, Carousel, Center, Chart, ChartLegend, Checkbox, ChoiceButton, CodeBlock, CombatLog, ComboCounter, ConditionalWrapper, ConfettiEffect, Container, ControlButton, CraftingRecipe, DIAMOND_TOP_Y, DPad, DamageNumber, DataGrid, DataList, DataTable, DateRangeSelector, DayCell, DetailPanel, DialogueBox, DialogueBubble, Divider, Drawer, EmptyState, EnemyPlate, EntityDisplayEvents, ErrorBoundary, ErrorState, FEATURE_COLORS, FLOOR_HEIGHT, FilterGroup, Flex, FlipCard, FlipContainer, FloatingActionButton, Form, FormField, FormSectionHeader, GameCanvas2D, GameHud, GameMenu, GameOverScreen, GraphView, Grid, HStack, Heading, HealthBar, HealthPanel, Icon, InfiniteScrollSentinel, Input, InputGroup, InventoryGrid, InventoryPanel, IsometricCanvas, ItemSlot, Label, LawReferenceTooltip, Lightbox, LineChart, LoadingState, MapView, MarkdownContent, MasterDetail, Menu, Meter, MiniMap, Modal, NumberStepper, Overlay, PageHeader, Pagination, PlatformerCanvas, Popover, PowerupSlots, ProgressBar, ProgressDots, PullToRefresh, QuestTracker, QuizBlock, Radio, RangeSlider, RelationSelect, RepeatableFormSection, ResourceBar, ResourceCounter, ScaledDiagram, ScoreBoard, ScoreDisplay, SearchInput, Select, SidePanel, SimpleGrid, SimulationCanvas, SimulationControls, SimulationGraph, Skeleton, SlotContentRenderer, SortableList, Spacer, Spinner, Sprite, Stack, StarRating, StatBadge, StatCard, StatDisplay, StateIndicator, StatusDot, StatusEffect, SwipeableRow, Switch, TILE_HEIGHT, TILE_WIDTH, Tabs, Text, TextHighlight, Textarea, ThemeSelector, ThemeToggle, TimeSlotCell, TimerDisplay, Toast, Tooltip, TrendIndicator, TurnIndicator, TurnPanel, TypewriterText, Typography, UISlotComponent, UISlotRenderer, UnitCommandBar, UploadDropZone, VStack, ViolationAlert, WaypointMarker, WizardNavigation, WizardProgress, XPBar, drawSprite, isoToScreen, pendulum, projectileMotion, screenToIso, springOscillator, useCamera, useImageCache } from '../chunk-77CBR3Z7.js';
|
|
9
9
|
import '../chunk-DKQN5FVU.js';
|
|
10
10
|
import { useTranslate } from '../chunk-Y7IHEYYE.js';
|
|
11
11
|
export { EntityDataProvider, I18nProvider, createTranslate, entityDataKeys, parseQueryBinding, useDragReorder, useEntity, useEntityDataAdapter, useEntityDetail, useEntityList, useEntityListSuspense, useEntitySuspense, useInfiniteScroll, useLongPress, usePullToRefresh, useQuerySingleton, useSwipeGesture, useTranslate } from '../chunk-Y7IHEYYE.js';
|
package/dist/providers/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { FetchedDataContext, FetchedDataProvider, OfflineModeProvider, OrbitalProvider, VerificationProvider, useFetchedData, useFetchedDataContext, useFetchedEntity, useOfflineMode, useOptionalOfflineMode } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { FetchedDataContext, FetchedDataProvider, OfflineModeProvider, OrbitalProvider, VerificationProvider, useFetchedData, useFetchedDataContext, useFetchedEntity, useOfflineMode, useOptionalOfflineMode } from '../chunk-ZW5N4AUU.js';
|
|
2
|
+
import '../chunk-77CBR3Z7.js';
|
|
3
3
|
import '../chunk-DKQN5FVU.js';
|
|
4
4
|
export { SelectionContext, SelectionProvider, useSelection, useSelectionOptional } from '../chunk-Y7IHEYYE.js';
|
|
5
5
|
export { EventBusContext, EventBusProvider } from '../chunk-YXZM3WCF.js';
|
package/dist/runtime/index.js
CHANGED
|
@@ -2,8 +2,8 @@ import '../chunk-PERGHHON.js';
|
|
|
2
2
|
import '../chunk-N7MVUW4R.js';
|
|
3
3
|
import { registerTrait, unregisterTrait, updateTraitState } from '../chunk-42YQ6JVR.js';
|
|
4
4
|
import '../chunk-3HJHHULT.js';
|
|
5
|
-
import { useFetchedDataContext } from '../chunk-
|
|
6
|
-
import '../chunk-
|
|
5
|
+
import { useFetchedDataContext } from '../chunk-ZW5N4AUU.js';
|
|
6
|
+
import '../chunk-77CBR3Z7.js';
|
|
7
7
|
import '../chunk-DKQN5FVU.js';
|
|
8
8
|
import '../chunk-Y7IHEYYE.js';
|
|
9
9
|
import { useEventBus } from '../chunk-YXZM3WCF.js';
|
|
@@ -107,6 +107,8 @@ function useTraitStateMachine(traitBindings, slotsActions, options) {
|
|
|
107
107
|
const [traitStates, setTraitStates] = useState(() => {
|
|
108
108
|
return manager.getAllStates();
|
|
109
109
|
});
|
|
110
|
+
const eventQueueRef = useRef([]);
|
|
111
|
+
const processingRef = useRef(false);
|
|
110
112
|
const traitBindingsRef = useRef(traitBindings);
|
|
111
113
|
const managerRef = useRef(manager);
|
|
112
114
|
const slotsActionsRef = useRef(slotsActions);
|
|
@@ -311,7 +313,7 @@ function useTraitStateMachine(traitBindings, slotsActions, options) {
|
|
|
311
313
|
for (const id of intervals) clearInterval(id);
|
|
312
314
|
};
|
|
313
315
|
}, [traitBindings, runTickEffects]);
|
|
314
|
-
const
|
|
316
|
+
const processEventQueued = useCallback(async (eventKey, payload) => {
|
|
315
317
|
const normalizedEvent = normalizeEventKey(eventKey);
|
|
316
318
|
const bindings = traitBindingsRef.current;
|
|
317
319
|
const currentManager = managerRef.current;
|
|
@@ -443,7 +445,8 @@ function useTraitStateMachine(traitBindings, slotsActions, options) {
|
|
|
443
445
|
entityId
|
|
444
446
|
};
|
|
445
447
|
const executor = new EffectExecutor({ handlers, bindings: bindingCtx, context: effectContext });
|
|
446
|
-
|
|
448
|
+
try {
|
|
449
|
+
await executor.executeAll(result.effects);
|
|
447
450
|
console.log(
|
|
448
451
|
"[TraitStateMachine] After executeAll, pendingSlots:",
|
|
449
452
|
Object.fromEntries(pendingSlots.entries())
|
|
@@ -464,14 +467,14 @@ function useTraitStateMachine(traitBindings, slotsActions, options) {
|
|
|
464
467
|
fetchedDataContext.setData({ [linkedEntity]: updated });
|
|
465
468
|
}
|
|
466
469
|
}
|
|
467
|
-
}
|
|
470
|
+
} catch (error) {
|
|
468
471
|
console.error(
|
|
469
472
|
"[TraitStateMachine] Effect execution error:",
|
|
470
473
|
error,
|
|
471
474
|
"| effects:",
|
|
472
475
|
JSON.stringify(result.effects)
|
|
473
476
|
);
|
|
474
|
-
}
|
|
477
|
+
}
|
|
475
478
|
} else if (!result.executed) {
|
|
476
479
|
if (result.guardResult === false) {
|
|
477
480
|
console.log(
|
|
@@ -533,9 +536,28 @@ function useTraitStateMachine(traitBindings, slotsActions, options) {
|
|
|
533
536
|
onEventProcessed(normalizedEvent, payload);
|
|
534
537
|
}
|
|
535
538
|
}, [entities, fetchedDataContext, eventBus]);
|
|
539
|
+
const drainEventQueue = useCallback(async () => {
|
|
540
|
+
if (processingRef.current) return;
|
|
541
|
+
processingRef.current = true;
|
|
542
|
+
try {
|
|
543
|
+
while (eventQueueRef.current.length > 0) {
|
|
544
|
+
const entry = eventQueueRef.current.shift();
|
|
545
|
+
await processEventQueued(entry.eventKey, entry.payload);
|
|
546
|
+
}
|
|
547
|
+
} finally {
|
|
548
|
+
processingRef.current = false;
|
|
549
|
+
}
|
|
550
|
+
}, [processEventQueued]);
|
|
551
|
+
const enqueueAndDrain = useCallback((eventKey, payload) => {
|
|
552
|
+
eventQueueRef.current.push({ eventKey, payload });
|
|
553
|
+
void drainEventQueue();
|
|
554
|
+
}, [drainEventQueue]);
|
|
555
|
+
useCallback((eventKey, payload) => {
|
|
556
|
+
enqueueAndDrain(eventKey, payload);
|
|
557
|
+
}, [enqueueAndDrain]);
|
|
536
558
|
const sendEvent = useCallback((eventKey, payload) => {
|
|
537
|
-
|
|
538
|
-
}, [
|
|
559
|
+
enqueueAndDrain(eventKey, payload);
|
|
560
|
+
}, [enqueueAndDrain]);
|
|
539
561
|
const getTraitState = useCallback((traitName) => {
|
|
540
562
|
return managerRef.current.getState(traitName);
|
|
541
563
|
}, []);
|
|
@@ -561,7 +583,7 @@ function useTraitStateMachine(traitBindings, slotsActions, options) {
|
|
|
561
583
|
}
|
|
562
584
|
const unsub = eventBus.on(`UI:${eventKey}`, (event) => {
|
|
563
585
|
console.log("[TraitStateMachine] Received event:", `UI:${eventKey}`, event);
|
|
564
|
-
|
|
586
|
+
enqueueAndDrain(eventKey, event.payload);
|
|
565
587
|
});
|
|
566
588
|
unsubscribes.push(unsub);
|
|
567
589
|
}
|
|
@@ -570,7 +592,7 @@ function useTraitStateMachine(traitBindings, slotsActions, options) {
|
|
|
570
592
|
unsub();
|
|
571
593
|
}
|
|
572
594
|
};
|
|
573
|
-
}, [traitBindings, eventBus,
|
|
595
|
+
}, [traitBindings, eventBus, enqueueAndDrain]);
|
|
574
596
|
return {
|
|
575
597
|
traitStates,
|
|
576
598
|
sendEvent,
|
package/package.json
CHANGED
package/themes/arctic.css
CHANGED
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
/* Border radius - Precise, clean */
|
|
26
26
|
--radius-none: 0px;
|
|
27
27
|
--radius-sm: 4px;
|
|
28
|
-
--radius-md:
|
|
29
|
-
--radius-lg:
|
|
28
|
+
--radius-md: 8px;
|
|
29
|
+
--radius-lg: 12px;
|
|
30
30
|
--radius-xl: 14px;
|
|
31
31
|
--radius-full: 9999px;
|
|
32
32
|
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
|
|
72
72
|
/* Typography */
|
|
73
73
|
--font-family:
|
|
74
|
-
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
74
|
+
"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
75
75
|
--font-weight-normal: 400;
|
|
76
76
|
--font-weight-medium: 500;
|
|
77
77
|
--font-weight-bold: 600;
|
|
@@ -119,8 +119,8 @@
|
|
|
119
119
|
/* Border radius - Precise, clean */
|
|
120
120
|
--radius-none: 0px;
|
|
121
121
|
--radius-sm: 4px;
|
|
122
|
-
--radius-md:
|
|
123
|
-
--radius-lg:
|
|
122
|
+
--radius-md: 8px;
|
|
123
|
+
--radius-lg: 12px;
|
|
124
124
|
--radius-xl: 14px;
|
|
125
125
|
--radius-full: 9999px;
|
|
126
126
|
|
|
@@ -165,7 +165,7 @@
|
|
|
165
165
|
|
|
166
166
|
/* Typography */
|
|
167
167
|
--font-family:
|
|
168
|
-
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
168
|
+
"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
169
169
|
--font-weight-normal: 400;
|
|
170
170
|
--font-weight-medium: 500;
|
|
171
171
|
--font-weight-bold: 600;
|
package/themes/copper.css
CHANGED
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
|
|
72
72
|
/* Typography - Heavier weights, functional */
|
|
73
73
|
--font-family:
|
|
74
|
-
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
74
|
+
"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
75
75
|
--font-weight-normal: 500;
|
|
76
76
|
--font-weight-medium: 600;
|
|
77
77
|
--font-weight-bold: 700;
|
|
@@ -165,7 +165,7 @@
|
|
|
165
165
|
|
|
166
166
|
/* Typography - Heavier weights, functional */
|
|
167
167
|
--font-family:
|
|
168
|
-
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
168
|
+
"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
169
169
|
--font-weight-normal: 500;
|
|
170
170
|
--font-weight-medium: 600;
|
|
171
171
|
--font-weight-bold: 700;
|
package/themes/ember.css
CHANGED
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
/* Border radius - Controlled, not too rounded */
|
|
27
27
|
--radius-none: 0px;
|
|
28
28
|
--radius-sm: 4px;
|
|
29
|
-
--radius-md:
|
|
30
|
-
--radius-lg:
|
|
29
|
+
--radius-md: 8px;
|
|
30
|
+
--radius-lg: 12px;
|
|
31
31
|
--radius-xl: 12px;
|
|
32
32
|
--radius-full: 9999px;
|
|
33
33
|
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
|
|
73
73
|
/* Typography - Bold, heavy */
|
|
74
74
|
--font-family:
|
|
75
|
-
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
75
|
+
"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
76
76
|
--font-weight-normal: 500;
|
|
77
77
|
--font-weight-medium: 600;
|
|
78
78
|
--font-weight-bold: 800;
|
|
@@ -122,8 +122,8 @@
|
|
|
122
122
|
/* Border radius - Controlled, not too rounded */
|
|
123
123
|
--radius-none: 0px;
|
|
124
124
|
--radius-sm: 4px;
|
|
125
|
-
--radius-md:
|
|
126
|
-
--radius-lg:
|
|
125
|
+
--radius-md: 8px;
|
|
126
|
+
--radius-lg: 12px;
|
|
127
127
|
--radius-xl: 12px;
|
|
128
128
|
--radius-full: 9999px;
|
|
129
129
|
|
|
@@ -168,7 +168,7 @@
|
|
|
168
168
|
|
|
169
169
|
/* Typography - Bold, heavy */
|
|
170
170
|
--font-family:
|
|
171
|
-
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
171
|
+
"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
172
172
|
--font-weight-normal: 500;
|
|
173
173
|
--font-weight-medium: 600;
|
|
174
174
|
--font-weight-bold: 800;
|
package/themes/forest.css
CHANGED
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
|
|
73
73
|
/* Typography - Natural, grounded */
|
|
74
74
|
--font-family:
|
|
75
|
-
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
75
|
+
"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
76
76
|
--font-weight-normal: 400;
|
|
77
77
|
--font-weight-medium: 500;
|
|
78
78
|
--font-weight-bold: 600;
|
|
@@ -168,7 +168,7 @@
|
|
|
168
168
|
|
|
169
169
|
/* Typography - Natural, grounded */
|
|
170
170
|
--font-family:
|
|
171
|
-
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
171
|
+
"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
172
172
|
--font-weight-normal: 400;
|
|
173
173
|
--font-weight-medium: 500;
|
|
174
174
|
--font-weight-bold: 600;
|
package/themes/lavender.css
CHANGED
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
|
|
70
70
|
/* Typography - Clean, slightly loose */
|
|
71
71
|
--font-family:
|
|
72
|
-
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
72
|
+
"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
73
73
|
--font-weight-normal: 400;
|
|
74
74
|
--font-weight-medium: 500;
|
|
75
75
|
--font-weight-bold: 600;
|
|
@@ -163,7 +163,7 @@
|
|
|
163
163
|
|
|
164
164
|
/* Typography */
|
|
165
165
|
--font-family:
|
|
166
|
-
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
166
|
+
"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
167
167
|
--font-weight-normal: 400;
|
|
168
168
|
--font-weight-medium: 500;
|
|
169
169
|
--font-weight-bold: 600;
|
package/themes/midnight.css
CHANGED
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
|
|
71
71
|
/* Typography - Wide, elegant */
|
|
72
72
|
--font-family:
|
|
73
|
-
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
73
|
+
"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
74
74
|
--font-weight-normal: 300;
|
|
75
75
|
--font-weight-medium: 450;
|
|
76
76
|
--font-weight-bold: 600;
|
|
@@ -164,7 +164,7 @@
|
|
|
164
164
|
|
|
165
165
|
/* Typography */
|
|
166
166
|
--font-family:
|
|
167
|
-
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
167
|
+
"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
168
168
|
--font-weight-normal: 300;
|
|
169
169
|
--font-weight-medium: 450;
|
|
170
170
|
--font-weight-bold: 600;
|
package/themes/minimalist.css
CHANGED
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
/* Border radius - Gentle curves */
|
|
24
24
|
--radius-none: 0px;
|
|
25
25
|
--radius-sm: 4px;
|
|
26
|
-
--radius-md:
|
|
27
|
-
--radius-lg:
|
|
26
|
+
--radius-md: 10px;
|
|
27
|
+
--radius-lg: 14px;
|
|
28
28
|
--radius-xl: 16px;
|
|
29
29
|
--radius-full: 9999px;
|
|
30
30
|
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
--color-muted: #f4f4f5;
|
|
49
49
|
--color-muted-foreground: #71717a;
|
|
50
50
|
|
|
51
|
-
--color-background: #
|
|
51
|
+
--color-background: #f8fafc;
|
|
52
52
|
--color-foreground: #18181b;
|
|
53
53
|
--color-card: #ffffff;
|
|
54
54
|
--color-card-foreground: #18181b;
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
|
|
70
70
|
/* Typography - Light, elegant */
|
|
71
71
|
--font-family:
|
|
72
|
-
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
72
|
+
"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
73
73
|
--font-weight-normal: 400;
|
|
74
74
|
--font-weight-medium: 500;
|
|
75
75
|
--font-weight-bold: 600;
|
|
@@ -117,8 +117,8 @@
|
|
|
117
117
|
/* Border radius - Gentle curves */
|
|
118
118
|
--radius-none: 0px;
|
|
119
119
|
--radius-sm: 4px;
|
|
120
|
-
--radius-md:
|
|
121
|
-
--radius-lg:
|
|
120
|
+
--radius-md: 10px;
|
|
121
|
+
--radius-lg: 14px;
|
|
122
122
|
--radius-xl: 16px;
|
|
123
123
|
--radius-full: 9999px;
|
|
124
124
|
|
|
@@ -163,7 +163,7 @@
|
|
|
163
163
|
|
|
164
164
|
/* Typography */
|
|
165
165
|
--font-family:
|
|
166
|
-
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
166
|
+
"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
167
167
|
--font-weight-normal: 400;
|
|
168
168
|
--font-weight-medium: 500;
|
|
169
169
|
--font-weight-bold: 600;
|
package/themes/neon.css
CHANGED
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
/* Border radius - Sharp, tech aesthetic */
|
|
27
27
|
--radius-none: 0px;
|
|
28
28
|
--radius-sm: 2px;
|
|
29
|
-
--radius-md:
|
|
30
|
-
--radius-lg:
|
|
29
|
+
--radius-md: 6px;
|
|
30
|
+
--radius-lg: 10px;
|
|
31
31
|
--radius-xl: 6px;
|
|
32
32
|
--radius-full: 9999px;
|
|
33
33
|
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
|
|
73
73
|
/* Typography - Wide, tech */
|
|
74
74
|
--font-family:
|
|
75
|
-
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
75
|
+
"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
76
76
|
--font-weight-normal: 500;
|
|
77
77
|
--font-weight-medium: 600;
|
|
78
78
|
--font-weight-bold: 800;
|
|
@@ -124,8 +124,8 @@
|
|
|
124
124
|
/* Border radius - Sharp, tech aesthetic */
|
|
125
125
|
--radius-none: 0px;
|
|
126
126
|
--radius-sm: 2px;
|
|
127
|
-
--radius-md:
|
|
128
|
-
--radius-lg:
|
|
127
|
+
--radius-md: 6px;
|
|
128
|
+
--radius-lg: 10px;
|
|
129
129
|
--radius-xl: 6px;
|
|
130
130
|
--radius-full: 9999px;
|
|
131
131
|
|
|
@@ -170,7 +170,7 @@
|
|
|
170
170
|
|
|
171
171
|
/* Typography - Wide, tech */
|
|
172
172
|
--font-family:
|
|
173
|
-
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
173
|
+
"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
174
174
|
--font-weight-normal: 500;
|
|
175
175
|
--font-weight-medium: 600;
|
|
176
176
|
--font-weight-bold: 800;
|
package/themes/ocean.css
CHANGED
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
|
|
73
73
|
/* Typography - Clean, spacious */
|
|
74
74
|
--font-family:
|
|
75
|
-
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
75
|
+
"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
76
76
|
--font-weight-normal: 400;
|
|
77
77
|
--font-weight-medium: 500;
|
|
78
78
|
--font-weight-bold: 600;
|
|
@@ -168,7 +168,7 @@
|
|
|
168
168
|
|
|
169
169
|
/* Typography - Clean, spacious */
|
|
170
170
|
--font-family:
|
|
171
|
-
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
171
|
+
"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
172
172
|
--font-weight-normal: 400;
|
|
173
173
|
--font-weight-medium: 500;
|
|
174
174
|
--font-weight-bold: 600;
|
package/themes/rose.css
CHANGED
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
|
|
70
70
|
/* Typography - Light, elegant */
|
|
71
71
|
--font-family:
|
|
72
|
-
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
72
|
+
"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
73
73
|
--font-weight-normal: 300;
|
|
74
74
|
--font-weight-medium: 450;
|
|
75
75
|
--font-weight-bold: 600;
|
|
@@ -163,7 +163,7 @@
|
|
|
163
163
|
|
|
164
164
|
/* Typography */
|
|
165
165
|
--font-family:
|
|
166
|
-
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
166
|
+
"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
167
167
|
--font-weight-normal: 300;
|
|
168
168
|
--font-weight-medium: 450;
|
|
169
169
|
--font-weight-bold: 600;
|
package/themes/sand.css
CHANGED
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
/* Border radius - Natural, soft */
|
|
25
25
|
--radius-none: 0px;
|
|
26
26
|
--radius-sm: 6px;
|
|
27
|
-
--radius-md:
|
|
28
|
-
--radius-lg:
|
|
27
|
+
--radius-md: 10px;
|
|
28
|
+
--radius-lg: 14px;
|
|
29
29
|
--radius-xl: 16px;
|
|
30
30
|
--radius-full: 9999px;
|
|
31
31
|
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
|
|
71
71
|
/* Typography */
|
|
72
72
|
--font-family:
|
|
73
|
-
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
73
|
+
"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
74
74
|
--font-weight-normal: 400;
|
|
75
75
|
--font-weight-medium: 500;
|
|
76
76
|
--font-weight-bold: 600;
|
|
@@ -118,8 +118,8 @@
|
|
|
118
118
|
/* Border radius - Natural, soft */
|
|
119
119
|
--radius-none: 0px;
|
|
120
120
|
--radius-sm: 6px;
|
|
121
|
-
--radius-md:
|
|
122
|
-
--radius-lg:
|
|
121
|
+
--radius-md: 10px;
|
|
122
|
+
--radius-lg: 14px;
|
|
123
123
|
--radius-xl: 16px;
|
|
124
124
|
--radius-full: 9999px;
|
|
125
125
|
|
|
@@ -164,7 +164,7 @@
|
|
|
164
164
|
|
|
165
165
|
/* Typography */
|
|
166
166
|
--font-family:
|
|
167
|
-
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
167
|
+
"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
168
168
|
--font-weight-normal: 400;
|
|
169
169
|
--font-weight-medium: 500;
|
|
170
170
|
--font-weight-bold: 600;
|
package/themes/slate.css
CHANGED
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
/* Border radius - Almost sharp, corporate */
|
|
25
25
|
--radius-none: 0px;
|
|
26
26
|
--radius-sm: 2px;
|
|
27
|
-
--radius-md:
|
|
28
|
-
--radius-lg:
|
|
27
|
+
--radius-md: 6px;
|
|
28
|
+
--radius-lg: 10px;
|
|
29
29
|
--radius-xl: 8px;
|
|
30
30
|
--radius-full: 9999px;
|
|
31
31
|
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
|
|
71
71
|
/* Typography */
|
|
72
72
|
--font-family:
|
|
73
|
-
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
73
|
+
"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
74
74
|
--font-weight-normal: 400;
|
|
75
75
|
--font-weight-medium: 500;
|
|
76
76
|
--font-weight-bold: 700;
|
|
@@ -117,8 +117,8 @@
|
|
|
117
117
|
/* Border radius - Almost sharp, corporate */
|
|
118
118
|
--radius-none: 0px;
|
|
119
119
|
--radius-sm: 2px;
|
|
120
|
-
--radius-md:
|
|
121
|
-
--radius-lg:
|
|
120
|
+
--radius-md: 6px;
|
|
121
|
+
--radius-lg: 10px;
|
|
122
122
|
--radius-xl: 8px;
|
|
123
123
|
--radius-full: 9999px;
|
|
124
124
|
|
|
@@ -163,7 +163,7 @@
|
|
|
163
163
|
|
|
164
164
|
/* Typography */
|
|
165
165
|
--font-family:
|
|
166
|
-
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
166
|
+
"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
167
167
|
--font-weight-normal: 400;
|
|
168
168
|
--font-weight-medium: 500;
|
|
169
169
|
--font-weight-bold: 700;
|
package/themes/sunset.css
CHANGED
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
|
|
73
73
|
/* Typography - Tight, expressive */
|
|
74
74
|
--font-family:
|
|
75
|
-
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
75
|
+
"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
76
76
|
--font-weight-normal: 400;
|
|
77
77
|
--font-weight-medium: 500;
|
|
78
78
|
--font-weight-bold: 600;
|
|
@@ -168,7 +168,7 @@
|
|
|
168
168
|
|
|
169
169
|
/* Typography - Tight, expressive */
|
|
170
170
|
--font-family:
|
|
171
|
-
"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
171
|
+
"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
172
172
|
--font-weight-normal: 400;
|
|
173
173
|
--font-weight-medium: 500;
|
|
174
174
|
--font-weight-bold: 600;
|