@almadar/ui 5.61.0 → 5.63.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.
- package/dist/avl/index.cjs +3599 -1810
- package/dist/avl/index.js +2431 -642
- package/dist/components/core/atoms/Box.d.ts +2 -0
- package/dist/components/core/molecules/CalendarGrid.d.ts +9 -1
- package/dist/components/core/molecules/GraphCanvas.d.ts +4 -0
- package/dist/components/core/molecules/PositionedCanvas.d.ts +14 -1
- package/dist/components/core/molecules/ReplyTree.d.ts +13 -1
- package/dist/components/core/templates/index.d.ts +4 -0
- package/dist/components/game/molecules/CardHand.d.ts +35 -0
- package/dist/components/game/molecules/DialogueBox.d.ts +8 -2
- package/dist/components/game/molecules/index.d.ts +1 -0
- package/dist/components/game/molecules/three/index.cjs +283 -115
- package/dist/components/game/molecules/three/index.js +283 -115
- package/dist/components/game/organisms/CardBattlerBoard.d.ts +46 -0
- package/dist/components/game/organisms/CityBuilderBoard.d.ts +63 -0
- package/dist/components/game/organisms/TopDownShooterBoard.d.ts +64 -0
- package/dist/components/game/organisms/TowerDefenseBoard.d.ts +10 -1
- package/dist/components/game/organisms/TraitSlot.d.ts +1 -3
- package/dist/components/game/organisms/VisualNovelBoard.d.ts +53 -0
- package/dist/components/game/organisms/hooks/useCamera.d.ts +16 -0
- package/dist/components/game/organisms/index.d.ts +4 -0
- package/dist/components/game/templates/CardBattlerTemplate.d.ts +35 -0
- package/dist/components/game/templates/CityBuilderTemplate.d.ts +40 -0
- package/dist/components/game/templates/GameCanvas3DBattleTemplate.d.ts +5 -2
- package/dist/components/game/templates/GameCanvas3DCastleTemplate.d.ts +5 -2
- package/dist/components/game/templates/GameCanvas3DWorldMapTemplate.d.ts +5 -2
- package/dist/components/game/templates/TopDownShooterTemplate.d.ts +42 -0
- package/dist/components/game/templates/VisualNovelTemplate.d.ts +28 -0
- package/dist/components/game/templates/game3dAssetManifest.d.ts +50 -0
- package/dist/components/game/templates/index.d.ts +4 -0
- package/dist/components/index.cjs +3465 -1659
- package/dist/components/index.js +2444 -647
- package/dist/components/marketing/organisms/CaseStudyOrganism.d.ts +10 -1
- package/dist/components/marketing/organisms/FeatureGridOrganism.d.ts +10 -1
- package/dist/components/marketing/organisms/HeroOrganism.d.ts +24 -1
- package/dist/components/marketing/organisms/PricingOrganism.d.ts +14 -1
- package/dist/components/marketing/organisms/ShowcaseOrganism.d.ts +14 -1
- package/dist/components/marketing/organisms/StatsOrganism.d.ts +6 -1
- package/dist/components/marketing/organisms/StepFlowOrganism.d.ts +9 -1
- package/dist/components/marketing/organisms/TeamOrganism.d.ts +10 -1
- package/dist/docs/index.cjs +169 -1
- package/dist/docs/index.d.cts +2 -0
- package/dist/docs/index.js +169 -1
- package/dist/hooks/index.cjs +253 -1
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.js +252 -2
- package/dist/hooks/useCanvasGestures.d.ts +44 -0
- package/dist/hooks/useTapReveal.d.ts +32 -0
- package/dist/locales/index.cjs +315 -3
- package/dist/locales/index.js +315 -3
- package/dist/marketing/index.cjs +59 -0
- package/dist/marketing/index.d.cts +2 -0
- package/dist/marketing/index.js +59 -0
- package/dist/providers/index.cjs +3408 -1619
- package/dist/providers/index.js +2407 -618
- package/dist/runtime/index.cjs +3464 -1675
- package/dist/runtime/index.js +2411 -622
- package/locales/ar.json +105 -1
- package/locales/en.json +105 -1
- package/locales/sl.json +105 -1
- package/package.json +2 -2
package/dist/locales/index.js
CHANGED
|
@@ -468,7 +468,111 @@ var en_default = {
|
|
|
468
468
|
"stateMachine.legend.final": "Final",
|
|
469
469
|
"stateMachine.legend.state": "State",
|
|
470
470
|
"stateMachine.legend.multiEvent": "Multi-event",
|
|
471
|
-
"relationSelect.selectPlaceholder": "Select..."
|
|
471
|
+
"relationSelect.selectPlaceholder": "Select...",
|
|
472
|
+
"battle.cancel": "Cancel",
|
|
473
|
+
"battle.defeat": "Defeat",
|
|
474
|
+
"battle.endTurn": "End Turn",
|
|
475
|
+
"battle.playAgain": "Play Again",
|
|
476
|
+
"battle.turnsPlayed": "Turns Played",
|
|
477
|
+
"battle.victory": "Victory",
|
|
478
|
+
"builder.allPlaced": "All placed",
|
|
479
|
+
"builder.blueprint": "Blueprint",
|
|
480
|
+
"builder.build": "Build",
|
|
481
|
+
"builder.components": "Components",
|
|
482
|
+
"builder.empty": "Empty",
|
|
483
|
+
"builder.reset": "Reset",
|
|
484
|
+
"builder.success": "Success",
|
|
485
|
+
"classifier.allCorrect": "All correct!",
|
|
486
|
+
"classifier.check": "Check",
|
|
487
|
+
"classifier.correct": "correct",
|
|
488
|
+
"classifier.itemsToSort": "Items to sort",
|
|
489
|
+
"classifier.reset": "Reset",
|
|
490
|
+
"common.error": "Error",
|
|
491
|
+
"debugger.allFound": "All bugs found!",
|
|
492
|
+
"debugger.bugsFound": "bugs found",
|
|
493
|
+
"debugger.findBugs": "Find {{count}} bugs",
|
|
494
|
+
"debugger.reset": "Reset",
|
|
495
|
+
"debugger.submit": "Submit",
|
|
496
|
+
"error.genericLoad": "Failed to load",
|
|
497
|
+
"error.loadingData": "Loading data",
|
|
498
|
+
"eventHandler.addRule": "Add Rule",
|
|
499
|
+
"eventHandler.chainComplete": "Chain complete!",
|
|
500
|
+
"eventHandler.clickObject": "Click objects",
|
|
501
|
+
"eventHandler.eventLog": "Event Log",
|
|
502
|
+
"eventHandler.heardEvent": "{{object}} heard {{event}} \u2192 {{action}}",
|
|
503
|
+
"eventHandler.noEvents": "No events yet",
|
|
504
|
+
"eventHandler.noListeners": "No listeners for {{event}}",
|
|
505
|
+
"eventHandler.rules": "{{count}}/{{max}} rules",
|
|
506
|
+
"eventHandler.simulationStarted": "Simulating: {{events}}",
|
|
507
|
+
"eventHandler.state": "State",
|
|
508
|
+
"eventHandler.then": "then",
|
|
509
|
+
"eventHandler.when": "When",
|
|
510
|
+
"game.goal": "Goal",
|
|
511
|
+
"game.hint": "Hint",
|
|
512
|
+
"game.play": "Play",
|
|
513
|
+
"game.reset": "Reset",
|
|
514
|
+
"game.runTests": "Run Tests",
|
|
515
|
+
"negotiator.chooseAction": "Choose an action",
|
|
516
|
+
"negotiator.failed": "Negotiation failed",
|
|
517
|
+
"negotiator.finalScore": "Final score",
|
|
518
|
+
"negotiator.history": "History",
|
|
519
|
+
"negotiator.opponent": "Opponent",
|
|
520
|
+
"negotiator.playAgain": "Play Again",
|
|
521
|
+
"negotiator.round": "Round {{current}} of {{total}}",
|
|
522
|
+
"negotiator.success": "Negotiation successful",
|
|
523
|
+
"negotiator.target": "Target",
|
|
524
|
+
"negotiator.you": "You",
|
|
525
|
+
"platformer.level": "Level",
|
|
526
|
+
"platformer.lost": "Game Over",
|
|
527
|
+
"platformer.nextLevel": "Next Level",
|
|
528
|
+
"platformer.noLives": "No lives left",
|
|
529
|
+
"platformer.playAgain": "Play Again",
|
|
530
|
+
"platformer.score": "Score",
|
|
531
|
+
"platformer.won": "You won!",
|
|
532
|
+
"puzzle.tryAgainButton": "Try Again",
|
|
533
|
+
"roguelike.atk": "ATK",
|
|
534
|
+
"roguelike.cleared": "Dungeon cleared! Depth reached: {{depth}}",
|
|
535
|
+
"roguelike.defeat": "Defeated!",
|
|
536
|
+
"roguelike.depth": "Depth",
|
|
537
|
+
"roguelike.enemy": "Enemy",
|
|
538
|
+
"roguelike.hp": "HP",
|
|
539
|
+
"roguelike.phase": "Phase",
|
|
540
|
+
"roguelike.playAgain": "Play Again",
|
|
541
|
+
"roguelike.player": "Hero",
|
|
542
|
+
"roguelike.victory": "Victory!",
|
|
543
|
+
"sequencer.actions": "Actions",
|
|
544
|
+
"sequencer.dragActions": "Drag actions here",
|
|
545
|
+
"sequencer.levelComplete": "Level complete!",
|
|
546
|
+
"sequencer.yourSequence": "Your sequence",
|
|
547
|
+
"simulator.correct": "Correct",
|
|
548
|
+
"simulator.incorrect": "Incorrect",
|
|
549
|
+
"simulator.parameters": "Parameters",
|
|
550
|
+
"simulator.reset": "Reset",
|
|
551
|
+
"simulator.simulate": "Simulate",
|
|
552
|
+
"simulator.target": "Target",
|
|
553
|
+
"stateArchitect.addTransition": "Add transition from {{state}}",
|
|
554
|
+
"stateArchitect.addTransitionPrompt": "Click target state",
|
|
555
|
+
"stateArchitect.allPassed": "All tests passed!",
|
|
556
|
+
"stateArchitect.clickTarget": "Click a target state (current: {{state}})",
|
|
557
|
+
"stateArchitect.gotState": "Got state: {{state}}",
|
|
558
|
+
"stateArchitect.graph": "Graph",
|
|
559
|
+
"stateArchitect.hideJson": "Hide JSON",
|
|
560
|
+
"stateArchitect.showJson": "Show JSON",
|
|
561
|
+
"stateArchitect.testResults": "Test Results",
|
|
562
|
+
"stateArchitect.transitions": "{{count}} transitions",
|
|
563
|
+
"stateArchitect.variables": "Variables: {{name}}",
|
|
564
|
+
"stateArchitect.viewCode": "View Code",
|
|
565
|
+
"td.defeat": "Defeat",
|
|
566
|
+
"td.gold": "Gold",
|
|
567
|
+
"td.lives": "Lives",
|
|
568
|
+
"td.livesReachedZero": "Your base was overrun",
|
|
569
|
+
"td.placeTower": "Place tower",
|
|
570
|
+
"td.playAgain": "Play Again",
|
|
571
|
+
"td.startWave": "Start Wave",
|
|
572
|
+
"td.survivedAllWaves": "Survived all waves!",
|
|
573
|
+
"td.victory": "Victory!",
|
|
574
|
+
"td.wave": "Wave",
|
|
575
|
+
"td.waveInProgress": "Wave in progress\u2026"
|
|
472
576
|
};
|
|
473
577
|
|
|
474
578
|
// locales/ar.json
|
|
@@ -941,7 +1045,111 @@ var ar_default = {
|
|
|
941
1045
|
"common.showMore": "\u0639\u0631\u0636 \u0627\u0644\u0645\u0632\u064A\u062F",
|
|
942
1046
|
"common.showLess": "\u0639\u0631\u0636 \u0623\u0642\u0644",
|
|
943
1047
|
"common.noResults": "\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C",
|
|
944
|
-
"relationSelect.selectPlaceholder": "\u0627\u062E\u062A\u0631..."
|
|
1048
|
+
"relationSelect.selectPlaceholder": "\u0627\u062E\u062A\u0631...",
|
|
1049
|
+
"battle.cancel": "\u0625\u0644\u063A\u0627\u0621",
|
|
1050
|
+
"battle.defeat": "\u0647\u0632\u064A\u0645\u0629",
|
|
1051
|
+
"battle.endTurn": "\u0625\u0646\u0647\u0627\u0621 \u0627\u0644\u062F\u0648\u0631",
|
|
1052
|
+
"battle.playAgain": "\u0627\u0644\u0644\u0639\u0628 \u0645\u0631\u0629 \u0623\u062E\u0631\u0649",
|
|
1053
|
+
"battle.turnsPlayed": "\u0627\u0644\u0623\u062F\u0648\u0627\u0631 \u0627\u0644\u0645\u0644\u0639\u0648\u0628\u0629",
|
|
1054
|
+
"battle.victory": "\u0627\u0646\u062A\u0635\u0627\u0631",
|
|
1055
|
+
"builder.allPlaced": "\u062A\u0645 \u0648\u0636\u0639 \u0627\u0644\u0643\u0644",
|
|
1056
|
+
"builder.blueprint": "\u0645\u062E\u0637\u0637",
|
|
1057
|
+
"builder.build": "\u0628\u0646\u0627\u0621",
|
|
1058
|
+
"builder.components": "\u0645\u0643\u0648\u0651\u0646\u0627\u062A",
|
|
1059
|
+
"builder.empty": "\u0641\u0627\u0631\u063A",
|
|
1060
|
+
"builder.reset": "\u0625\u0639\u0627\u062F\u0629 \u062A\u0639\u064A\u064A\u0646",
|
|
1061
|
+
"builder.success": "\u0646\u062C\u0627\u062D",
|
|
1062
|
+
"classifier.allCorrect": "\u0643\u0644\u0647\u0627 \u0635\u062D\u064A\u062D\u0629!",
|
|
1063
|
+
"classifier.check": "\u062A\u062D\u0642\u0642",
|
|
1064
|
+
"classifier.correct": "\u0635\u062D\u064A\u062D",
|
|
1065
|
+
"classifier.itemsToSort": "\u0639\u0646\u0627\u0635\u0631 \u0644\u0644\u0641\u0631\u0632",
|
|
1066
|
+
"classifier.reset": "\u0625\u0639\u0627\u062F\u0629 \u062A\u0639\u064A\u064A\u0646",
|
|
1067
|
+
"common.error": "\u062E\u0637\u0623",
|
|
1068
|
+
"debugger.allFound": "\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0643\u0644 \u0627\u0644\u0623\u062E\u0637\u0627\u0621!",
|
|
1069
|
+
"debugger.bugsFound": "\u0623\u062E\u0637\u0627\u0621 \u0645\u064F\u0639\u062B\u064E\u0631\u0629 \u0639\u0644\u064A\u0647\u0627",
|
|
1070
|
+
"debugger.findBugs": "\u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 {{count}} \u0623\u062E\u0637\u0627\u0621",
|
|
1071
|
+
"debugger.reset": "\u0625\u0639\u0627\u062F\u0629 \u062A\u0639\u064A\u064A\u0646",
|
|
1072
|
+
"debugger.submit": "\u0625\u0631\u0633\u0627\u0644",
|
|
1073
|
+
"error.genericLoad": "\u0641\u0634\u0644 \u0627\u0644\u062A\u062D\u0645\u064A\u0644",
|
|
1074
|
+
"error.loadingData": "\u062C\u0627\u0631\u064D \u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A",
|
|
1075
|
+
"eventHandler.addRule": "\u0625\u0636\u0627\u0641\u0629 \u0642\u0627\u0639\u062F\u0629",
|
|
1076
|
+
"eventHandler.chainComplete": "\u0627\u0643\u062A\u0645\u0644 \u0627\u0644\u0633\u0644\u0633\u0644!",
|
|
1077
|
+
"eventHandler.clickObject": "\u0627\u0646\u0642\u0631 \u0639\u0644\u0649 \u0627\u0644\u0643\u0627\u0626\u0646\u0627\u062A",
|
|
1078
|
+
"eventHandler.eventLog": "\u0633\u062C\u0644 \u0627\u0644\u0623\u062D\u062F\u0627\u062B",
|
|
1079
|
+
"eventHandler.heardEvent": "{{object}} \u0627\u0633\u062A\u0642\u0628\u0644 {{event}} \u2192 {{action}}",
|
|
1080
|
+
"eventHandler.noEvents": "\u0644\u0627 \u062A\u0648\u062C\u062F \u0623\u062D\u062F\u0627\u062B \u0628\u0639\u062F",
|
|
1081
|
+
"eventHandler.noListeners": "\u0644\u0627 \u064A\u0648\u062C\u062F \u0645\u0633\u062A\u0645\u0639\u0648\u0646 \u0644\u0640 {{event}}",
|
|
1082
|
+
"eventHandler.rules": "{{count}}/{{max}} \u0642\u0648\u0627\u0639\u062F",
|
|
1083
|
+
"eventHandler.simulationStarted": "\u0645\u062D\u0627\u0643\u0627\u0629: {{events}}",
|
|
1084
|
+
"eventHandler.state": "\u0627\u0644\u062D\u0627\u0644\u0629",
|
|
1085
|
+
"eventHandler.then": "\u062B\u0645",
|
|
1086
|
+
"eventHandler.when": "\u0639\u0646\u062F\u0645\u0627",
|
|
1087
|
+
"game.goal": "\u0627\u0644\u0647\u062F\u0641",
|
|
1088
|
+
"game.hint": "\u062A\u0644\u0645\u064A\u062D",
|
|
1089
|
+
"game.play": "\u062A\u0634\u063A\u064A\u0644",
|
|
1090
|
+
"game.reset": "\u0625\u0639\u0627\u062F\u0629 \u062A\u0639\u064A\u064A\u0646",
|
|
1091
|
+
"game.runTests": "\u062A\u0634\u063A\u064A\u0644 \u0627\u0644\u0627\u062E\u062A\u0628\u0627\u0631\u0627\u062A",
|
|
1092
|
+
"negotiator.chooseAction": "\u0627\u062E\u062A\u0631 \u0625\u062C\u0631\u0627\u0621\u064B",
|
|
1093
|
+
"negotiator.failed": "\u0641\u0634\u0644 \u0627\u0644\u062A\u0641\u0627\u0648\u0636",
|
|
1094
|
+
"negotiator.finalScore": "\u0627\u0644\u0646\u062A\u064A\u062C\u0629 \u0627\u0644\u0646\u0647\u0627\u0626\u064A\u0629",
|
|
1095
|
+
"negotiator.history": "\u0627\u0644\u062A\u0627\u0631\u064A\u062E",
|
|
1096
|
+
"negotiator.opponent": "\u0627\u0644\u062E\u0635\u0645",
|
|
1097
|
+
"negotiator.playAgain": "\u0627\u0644\u0644\u0639\u0628 \u0645\u0631\u0629 \u0623\u062E\u0631\u0649",
|
|
1098
|
+
"negotiator.round": "\u0627\u0644\u062C\u0648\u0644\u0629 {{current}} \u0645\u0646 {{total}}",
|
|
1099
|
+
"negotiator.success": "\u0646\u062C\u062D \u0627\u0644\u062A\u0641\u0627\u0648\u0636",
|
|
1100
|
+
"negotiator.target": "\u0627\u0644\u0647\u062F\u0641",
|
|
1101
|
+
"negotiator.you": "\u0623\u0646\u062A",
|
|
1102
|
+
"platformer.level": "\u0627\u0644\u0645\u0633\u062A\u0648\u0649",
|
|
1103
|
+
"platformer.lost": "\u0627\u0646\u062A\u0647\u062A \u0627\u0644\u0644\u0639\u0628\u0629",
|
|
1104
|
+
"platformer.nextLevel": "\u0627\u0644\u0645\u0633\u062A\u0648\u0649 \u0627\u0644\u062A\u0627\u0644\u064A",
|
|
1105
|
+
"platformer.noLives": "\u0644\u0645 \u062A\u062A\u0628\u0642\u064E \u0623\u0631\u0648\u0627\u062D",
|
|
1106
|
+
"platformer.playAgain": "\u0627\u0644\u0644\u0639\u0628 \u0645\u0631\u0629 \u0623\u062E\u0631\u0649",
|
|
1107
|
+
"platformer.score": "\u0627\u0644\u0646\u0642\u0627\u0637",
|
|
1108
|
+
"platformer.won": "\u0644\u0642\u062F \u0641\u0632\u062A!",
|
|
1109
|
+
"puzzle.tryAgainButton": "\u062D\u0627\u0648\u0644 \u0645\u0631\u0629 \u0623\u062E\u0631\u0649",
|
|
1110
|
+
"roguelike.atk": "\u0647\u062C\u0648\u0645",
|
|
1111
|
+
"roguelike.cleared": "\u062A\u0645 \u062A\u0637\u0647\u064A\u0631 \u0627\u0644\u0632\u0646\u0632\u0627\u0646\u0629! \u0627\u0644\u0639\u0645\u0642 \u0627\u0644\u0645\u064F\u062D\u0642\u0642: {{depth}}",
|
|
1112
|
+
"roguelike.defeat": "\u0647\u064F\u0632\u0645\u062A!",
|
|
1113
|
+
"roguelike.depth": "\u0627\u0644\u0639\u0645\u0642",
|
|
1114
|
+
"roguelike.enemy": "\u0639\u062F\u0648",
|
|
1115
|
+
"roguelike.hp": "\u0635\u062D\u0629",
|
|
1116
|
+
"roguelike.phase": "\u0627\u0644\u0645\u0631\u062D\u0644\u0629",
|
|
1117
|
+
"roguelike.playAgain": "\u0627\u0644\u0644\u0639\u0628 \u0645\u0631\u0629 \u0623\u062E\u0631\u0649",
|
|
1118
|
+
"roguelike.player": "\u0628\u0637\u0644",
|
|
1119
|
+
"roguelike.victory": "\u0627\u0646\u062A\u0635\u0627\u0631!",
|
|
1120
|
+
"sequencer.actions": "\u0625\u062C\u0631\u0627\u0621\u0627\u062A",
|
|
1121
|
+
"sequencer.dragActions": "\u0627\u0633\u062D\u0628 \u0627\u0644\u0625\u062C\u0631\u0627\u0621\u0627\u062A \u0647\u0646\u0627",
|
|
1122
|
+
"sequencer.levelComplete": "\u0627\u0643\u062A\u0645\u0644 \u0627\u0644\u0645\u0633\u062A\u0648\u0649!",
|
|
1123
|
+
"sequencer.yourSequence": "\u062A\u0633\u0644\u0633\u0644\u0643",
|
|
1124
|
+
"simulator.correct": "\u0635\u062D\u064A\u062D",
|
|
1125
|
+
"simulator.incorrect": "\u063A\u064A\u0631 \u0635\u062D\u064A\u062D",
|
|
1126
|
+
"simulator.parameters": "\u0645\u0639\u0627\u0645\u0644\u0627\u062A",
|
|
1127
|
+
"simulator.reset": "\u0625\u0639\u0627\u062F\u0629 \u062A\u0639\u064A\u064A\u0646",
|
|
1128
|
+
"simulator.simulate": "\u0645\u062D\u0627\u0643\u0627\u0629",
|
|
1129
|
+
"simulator.target": "\u0627\u0644\u0647\u062F\u0641",
|
|
1130
|
+
"stateArchitect.addTransition": "\u0625\u0636\u0627\u0641\u0629 \u0627\u0646\u062A\u0642\u0627\u0644 \u0645\u0646 {{state}}",
|
|
1131
|
+
"stateArchitect.addTransitionPrompt": "\u0627\u0646\u0642\u0631 \u0639\u0644\u0649 \u0627\u0644\u062D\u0627\u0644\u0629 \u0627\u0644\u0645\u0633\u062A\u0647\u062F\u0641\u0629",
|
|
1132
|
+
"stateArchitect.allPassed": "\u0646\u062C\u062D\u062A \u062C\u0645\u064A\u0639 \u0627\u0644\u0627\u062E\u062A\u0628\u0627\u0631\u0627\u062A!",
|
|
1133
|
+
"stateArchitect.clickTarget": "\u0627\u0646\u0642\u0631 \u0639\u0644\u0649 \u062D\u0627\u0644\u0629 \u0645\u0633\u062A\u0647\u062F\u0641\u0629 (\u0627\u0644\u062D\u0627\u0644\u064A\u0629: {{state}})",
|
|
1134
|
+
"stateArchitect.gotState": "\u0627\u0644\u062D\u0627\u0644\u0629 \u0627\u0644\u0645\u0633\u062A\u0644\u0645\u0629: {{state}}",
|
|
1135
|
+
"stateArchitect.graph": "\u0631\u0633\u0645 \u0628\u064A\u0627\u0646\u064A",
|
|
1136
|
+
"stateArchitect.hideJson": "\u0625\u062E\u0641\u0627\u0621 JSON",
|
|
1137
|
+
"stateArchitect.showJson": "\u0625\u0638\u0647\u0627\u0631 JSON",
|
|
1138
|
+
"stateArchitect.testResults": "\u0646\u062A\u0627\u0626\u062C \u0627\u0644\u0627\u062E\u062A\u0628\u0627\u0631\u0627\u062A",
|
|
1139
|
+
"stateArchitect.transitions": "{{count}} \u0627\u0646\u062A\u0642\u0627\u0644\u0627\u062A",
|
|
1140
|
+
"stateArchitect.variables": "\u0645\u062A\u063A\u064A\u0631\u0627\u062A: {{name}}",
|
|
1141
|
+
"stateArchitect.viewCode": "\u0639\u0631\u0636 \u0627\u0644\u0643\u0648\u062F",
|
|
1142
|
+
"td.defeat": "\u0647\u0632\u064A\u0645\u0629",
|
|
1143
|
+
"td.gold": "\u0630\u0647\u0628",
|
|
1144
|
+
"td.lives": "\u0623\u0631\u0648\u0627\u062D",
|
|
1145
|
+
"td.livesReachedZero": "\u062A\u0645 \u0627\u062C\u062A\u064A\u0627\u062D \u0642\u0627\u0639\u062F\u062A\u0643",
|
|
1146
|
+
"td.placeTower": "\u0636\u0639 \u0628\u0631\u062C\u064B\u0627",
|
|
1147
|
+
"td.playAgain": "\u0627\u0644\u0644\u0639\u0628 \u0645\u0631\u0629 \u0623\u062E\u0631\u0649",
|
|
1148
|
+
"td.startWave": "\u0628\u062F\u0621 \u0627\u0644\u0645\u0648\u062C\u0629",
|
|
1149
|
+
"td.survivedAllWaves": "\u0646\u062C\u0648\u062A \u0645\u0646 \u062C\u0645\u064A\u0639 \u0627\u0644\u0645\u0648\u062C\u0627\u062A!",
|
|
1150
|
+
"td.victory": "\u0627\u0646\u062A\u0635\u0627\u0631!",
|
|
1151
|
+
"td.wave": "\u0645\u0648\u062C\u0629",
|
|
1152
|
+
"td.waveInProgress": "\u0627\u0644\u0645\u0648\u062C\u0629 \u0642\u064A\u062F \u0627\u0644\u062A\u0642\u062F\u0645\u2026"
|
|
945
1153
|
};
|
|
946
1154
|
|
|
947
1155
|
// locales/sl.json
|
|
@@ -1414,7 +1622,111 @@ var sl_default = {
|
|
|
1414
1622
|
"common.showMore": "Poka\u017Ei ve\u010D",
|
|
1415
1623
|
"common.showLess": "Poka\u017Ei manj",
|
|
1416
1624
|
"common.noResults": "Ni rezultatov",
|
|
1417
|
-
"relationSelect.selectPlaceholder": "Izberi..."
|
|
1625
|
+
"relationSelect.selectPlaceholder": "Izberi...",
|
|
1626
|
+
"battle.cancel": "Prekli\u010Di",
|
|
1627
|
+
"battle.defeat": "Poraz",
|
|
1628
|
+
"battle.endTurn": "Kon\u010Daj potezo",
|
|
1629
|
+
"battle.playAgain": "Igraj znova",
|
|
1630
|
+
"battle.turnsPlayed": "Odigrane poteze",
|
|
1631
|
+
"battle.victory": "Zmaga",
|
|
1632
|
+
"builder.allPlaced": "Vse postavljeno",
|
|
1633
|
+
"builder.blueprint": "Na\u010Drt",
|
|
1634
|
+
"builder.build": "Zgradi",
|
|
1635
|
+
"builder.components": "Komponente",
|
|
1636
|
+
"builder.empty": "Prazno",
|
|
1637
|
+
"builder.reset": "Ponastavi",
|
|
1638
|
+
"builder.success": "Uspeh",
|
|
1639
|
+
"classifier.allCorrect": "Vse pravilno!",
|
|
1640
|
+
"classifier.check": "Preveri",
|
|
1641
|
+
"classifier.correct": "pravilno",
|
|
1642
|
+
"classifier.itemsToSort": "Elementi za razvr\u0161\u010Danje",
|
|
1643
|
+
"classifier.reset": "Ponastavi",
|
|
1644
|
+
"common.error": "Napaka",
|
|
1645
|
+
"debugger.allFound": "Vsi hro\u0161\u010Di najdeni!",
|
|
1646
|
+
"debugger.bugsFound": "najdenih hro\u0161\u010Dev",
|
|
1647
|
+
"debugger.findBugs": "Poi\u0161\u010Di {{count}} hro\u0161\u010Dev",
|
|
1648
|
+
"debugger.reset": "Ponastavi",
|
|
1649
|
+
"debugger.submit": "Po\u0161lji",
|
|
1650
|
+
"error.genericLoad": "Nalaganje ni uspelo",
|
|
1651
|
+
"error.loadingData": "Nalaganje podatkov",
|
|
1652
|
+
"eventHandler.addRule": "Dodaj pravilo",
|
|
1653
|
+
"eventHandler.chainComplete": "Veriga zaklju\u010Dena!",
|
|
1654
|
+
"eventHandler.clickObject": "Klikni predmete",
|
|
1655
|
+
"eventHandler.eventLog": "Dnevnik dogodkov",
|
|
1656
|
+
"eventHandler.heardEvent": "{{object}} je sli\u0161al {{event}} \u2192 {{action}}",
|
|
1657
|
+
"eventHandler.noEvents": "\u0160e ni dogodkov",
|
|
1658
|
+
"eventHandler.noListeners": "Ni poslu\u0161alcev za {{event}}",
|
|
1659
|
+
"eventHandler.rules": "{{count}}/{{max}} pravil",
|
|
1660
|
+
"eventHandler.simulationStarted": "Simulacija: {{events}}",
|
|
1661
|
+
"eventHandler.state": "Stanje",
|
|
1662
|
+
"eventHandler.then": "potem",
|
|
1663
|
+
"eventHandler.when": "Ko",
|
|
1664
|
+
"game.goal": "Cilj",
|
|
1665
|
+
"game.hint": "Namig",
|
|
1666
|
+
"game.play": "Predvajaj",
|
|
1667
|
+
"game.reset": "Ponastavi",
|
|
1668
|
+
"game.runTests": "Za\u017Eeni preizkuse",
|
|
1669
|
+
"negotiator.chooseAction": "Izberi dejanje",
|
|
1670
|
+
"negotiator.failed": "Pogajanje ni uspelo",
|
|
1671
|
+
"negotiator.finalScore": "Kon\u010Dni rezultat",
|
|
1672
|
+
"negotiator.history": "Zgodovina",
|
|
1673
|
+
"negotiator.opponent": "Nasprotnik",
|
|
1674
|
+
"negotiator.playAgain": "Igraj znova",
|
|
1675
|
+
"negotiator.round": "Krog {{current}} od {{total}}",
|
|
1676
|
+
"negotiator.success": "Pogajanje uspe\u0161no",
|
|
1677
|
+
"negotiator.target": "Cilj",
|
|
1678
|
+
"negotiator.you": "Ti",
|
|
1679
|
+
"platformer.level": "Raven",
|
|
1680
|
+
"platformer.lost": "Konec igre",
|
|
1681
|
+
"platformer.nextLevel": "Naslednja raven",
|
|
1682
|
+
"platformer.noLives": "Ni ve\u010D \u017Eivljenj",
|
|
1683
|
+
"platformer.playAgain": "Igraj znova",
|
|
1684
|
+
"platformer.score": "To\u010Dke",
|
|
1685
|
+
"platformer.won": "Zmagal si!",
|
|
1686
|
+
"puzzle.tryAgainButton": "Poskusi znova",
|
|
1687
|
+
"roguelike.atk": "NAP",
|
|
1688
|
+
"roguelike.cleared": "Klet o\u010Di\u0161\u010Dena! Dose\u017Eena globina: {{depth}}",
|
|
1689
|
+
"roguelike.defeat": "Pora\u017Een!",
|
|
1690
|
+
"roguelike.depth": "Globina",
|
|
1691
|
+
"roguelike.enemy": "Sovra\u017Enik",
|
|
1692
|
+
"roguelike.hp": "\u017DP",
|
|
1693
|
+
"roguelike.phase": "Faza",
|
|
1694
|
+
"roguelike.playAgain": "Igraj znova",
|
|
1695
|
+
"roguelike.player": "Junak",
|
|
1696
|
+
"roguelike.victory": "Zmaga!",
|
|
1697
|
+
"sequencer.actions": "Dejanja",
|
|
1698
|
+
"sequencer.dragActions": "Povleci dejanja sem",
|
|
1699
|
+
"sequencer.levelComplete": "Raven zaklju\u010Dena!",
|
|
1700
|
+
"sequencer.yourSequence": "Tvoje zaporedje",
|
|
1701
|
+
"simulator.correct": "Pravilno",
|
|
1702
|
+
"simulator.incorrect": "Nepravilno",
|
|
1703
|
+
"simulator.parameters": "Parametri",
|
|
1704
|
+
"simulator.reset": "Ponastavi",
|
|
1705
|
+
"simulator.simulate": "Simuliraj",
|
|
1706
|
+
"simulator.target": "Cilj",
|
|
1707
|
+
"stateArchitect.addTransition": "Dodaj prehod iz {{state}}",
|
|
1708
|
+
"stateArchitect.addTransitionPrompt": "Klikni ciljno stanje",
|
|
1709
|
+
"stateArchitect.allPassed": "Vsi preizkusi uspe\u0161ni!",
|
|
1710
|
+
"stateArchitect.clickTarget": "Klikni ciljno stanje (trenutno: {{state}})",
|
|
1711
|
+
"stateArchitect.gotState": "Prejeto stanje: {{state}}",
|
|
1712
|
+
"stateArchitect.graph": "Graf",
|
|
1713
|
+
"stateArchitect.hideJson": "Skrij JSON",
|
|
1714
|
+
"stateArchitect.showJson": "Poka\u017Ei JSON",
|
|
1715
|
+
"stateArchitect.testResults": "Rezultati preizkusov",
|
|
1716
|
+
"stateArchitect.transitions": "{{count}} prehodov",
|
|
1717
|
+
"stateArchitect.variables": "Spremenljivke: {{name}}",
|
|
1718
|
+
"stateArchitect.viewCode": "Prika\u017Ei kodo",
|
|
1719
|
+
"td.defeat": "Poraz",
|
|
1720
|
+
"td.gold": "Zlato",
|
|
1721
|
+
"td.lives": "\u017Divljenja",
|
|
1722
|
+
"td.livesReachedZero": "Va\u0161a baza je bila preplavljena",
|
|
1723
|
+
"td.placeTower": "Postavi stolp",
|
|
1724
|
+
"td.playAgain": "Igraj znova",
|
|
1725
|
+
"td.startWave": "Za\u010Dni val",
|
|
1726
|
+
"td.survivedAllWaves": "Pre\u017Eiveli vse valove!",
|
|
1727
|
+
"td.victory": "Zmaga!",
|
|
1728
|
+
"td.wave": "Val",
|
|
1729
|
+
"td.waveInProgress": "Val v teku\u2026"
|
|
1418
1730
|
};
|
|
1419
1731
|
|
|
1420
1732
|
// locales/index.ts
|
package/dist/marketing/index.cjs
CHANGED
|
@@ -2625,6 +2625,49 @@ function useEventBus() {
|
|
|
2625
2625
|
};
|
|
2626
2626
|
}, [baseBus, scope]);
|
|
2627
2627
|
}
|
|
2628
|
+
function useTapReveal(options = {}) {
|
|
2629
|
+
const { onReveal, onDismiss, refs, enabled = true } = options;
|
|
2630
|
+
const [revealed, setRevealed] = React9.useState(false);
|
|
2631
|
+
const onRevealRef = React9.useRef(onReveal);
|
|
2632
|
+
const onDismissRef = React9.useRef(onDismiss);
|
|
2633
|
+
onRevealRef.current = onReveal;
|
|
2634
|
+
onDismissRef.current = onDismiss;
|
|
2635
|
+
const reveal = React9.useCallback(() => {
|
|
2636
|
+
setRevealed((wasRevealed) => {
|
|
2637
|
+
if (!wasRevealed) onRevealRef.current?.();
|
|
2638
|
+
return true;
|
|
2639
|
+
});
|
|
2640
|
+
}, []);
|
|
2641
|
+
const dismiss = React9.useCallback(() => {
|
|
2642
|
+
setRevealed((wasRevealed) => {
|
|
2643
|
+
if (wasRevealed) onDismissRef.current?.();
|
|
2644
|
+
return false;
|
|
2645
|
+
});
|
|
2646
|
+
}, []);
|
|
2647
|
+
const onPointerDown = React9.useCallback(
|
|
2648
|
+
(e) => {
|
|
2649
|
+
if (!enabled || e.pointerType === "mouse") return;
|
|
2650
|
+
if (revealed) dismiss();
|
|
2651
|
+
else reveal();
|
|
2652
|
+
},
|
|
2653
|
+
[enabled, revealed, reveal, dismiss]
|
|
2654
|
+
);
|
|
2655
|
+
React9.useEffect(() => {
|
|
2656
|
+
if (!revealed || typeof document === "undefined") return;
|
|
2657
|
+
const onDocDown = (ev) => {
|
|
2658
|
+
const target = ev.target;
|
|
2659
|
+
if (!(target instanceof Node)) return;
|
|
2660
|
+
const inside = (refs ?? []).some((r2) => r2.current?.contains(target));
|
|
2661
|
+
if (!inside) dismiss();
|
|
2662
|
+
};
|
|
2663
|
+
const id = setTimeout(() => document.addEventListener("pointerdown", onDocDown), 0);
|
|
2664
|
+
return () => {
|
|
2665
|
+
clearTimeout(id);
|
|
2666
|
+
document.removeEventListener("pointerdown", onDocDown);
|
|
2667
|
+
};
|
|
2668
|
+
}, [revealed, refs, dismiss]);
|
|
2669
|
+
return { revealed, triggerProps: { onPointerDown }, reveal, dismiss };
|
|
2670
|
+
}
|
|
2628
2671
|
|
|
2629
2672
|
// components/core/atoms/Box.tsx
|
|
2630
2673
|
var paddingStyles = {
|
|
@@ -2752,10 +2795,12 @@ var Box = React9__default.default.forwardRef(
|
|
|
2752
2795
|
action,
|
|
2753
2796
|
actionPayload,
|
|
2754
2797
|
hoverEvent,
|
|
2798
|
+
tapReveal = true,
|
|
2755
2799
|
maxWidth,
|
|
2756
2800
|
onClick,
|
|
2757
2801
|
onMouseEnter,
|
|
2758
2802
|
onMouseLeave,
|
|
2803
|
+
onPointerDown,
|
|
2759
2804
|
...rest
|
|
2760
2805
|
}, ref) => {
|
|
2761
2806
|
const eventBus = useEventBus();
|
|
@@ -2778,6 +2823,19 @@ var Box = React9__default.default.forwardRef(
|
|
|
2778
2823
|
}
|
|
2779
2824
|
onMouseLeave?.(e);
|
|
2780
2825
|
}, [hoverEvent, eventBus, onMouseLeave]);
|
|
2826
|
+
const { triggerProps } = useTapReveal({
|
|
2827
|
+
enabled: tapReveal && !!hoverEvent,
|
|
2828
|
+
onReveal: React9.useCallback(() => {
|
|
2829
|
+
if (hoverEvent) eventBus.emit(`UI:${hoverEvent}`, { hovered: true });
|
|
2830
|
+
}, [hoverEvent, eventBus]),
|
|
2831
|
+
onDismiss: React9.useCallback(() => {
|
|
2832
|
+
if (hoverEvent) eventBus.emit(`UI:${hoverEvent}`, { hovered: false });
|
|
2833
|
+
}, [hoverEvent, eventBus])
|
|
2834
|
+
});
|
|
2835
|
+
const handlePointerDown = React9.useCallback((e) => {
|
|
2836
|
+
if (hoverEvent && tapReveal) triggerProps.onPointerDown(e);
|
|
2837
|
+
onPointerDown?.(e);
|
|
2838
|
+
}, [hoverEvent, tapReveal, triggerProps, onPointerDown]);
|
|
2781
2839
|
const isClickable = action || onClick;
|
|
2782
2840
|
return React9__default.default.createElement(
|
|
2783
2841
|
Component,
|
|
@@ -2805,6 +2863,7 @@ var Box = React9__default.default.forwardRef(
|
|
|
2805
2863
|
onClick: isClickable ? handleClick : void 0,
|
|
2806
2864
|
onMouseEnter: hoverEvent || onMouseEnter ? handleMouseEnter : void 0,
|
|
2807
2865
|
onMouseLeave: hoverEvent || onMouseLeave ? handleMouseLeave : void 0,
|
|
2866
|
+
onPointerDown: hoverEvent && tapReveal || onPointerDown ? handlePointerDown : void 0,
|
|
2808
2867
|
style: maxWidth ? { maxWidth, ...rest.style } : rest.style,
|
|
2809
2868
|
...rest
|
|
2810
2869
|
},
|
|
@@ -55,6 +55,8 @@ interface BoxProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
55
55
|
actionPayload?: EventPayload;
|
|
56
56
|
/** Declarative hover event — emits UI:{hoverEvent} with { hovered: true/false } on mouseEnter/mouseLeave */
|
|
57
57
|
hoverEvent?: EventKey;
|
|
58
|
+
/** When true (default), a touch/pen tap also fires `hoverEvent` (toggling hovered) so hover-only reveals work on touch. */
|
|
59
|
+
tapReveal?: boolean;
|
|
58
60
|
/** Maximum width (CSS value, e.g., "550px", "80rem") */
|
|
59
61
|
maxWidth?: string;
|
|
60
62
|
/** Children elements */
|
package/dist/marketing/index.js
CHANGED
|
@@ -2601,6 +2601,49 @@ function useEventBus() {
|
|
|
2601
2601
|
};
|
|
2602
2602
|
}, [baseBus, scope]);
|
|
2603
2603
|
}
|
|
2604
|
+
function useTapReveal(options = {}) {
|
|
2605
|
+
const { onReveal, onDismiss, refs, enabled = true } = options;
|
|
2606
|
+
const [revealed, setRevealed] = useState(false);
|
|
2607
|
+
const onRevealRef = useRef(onReveal);
|
|
2608
|
+
const onDismissRef = useRef(onDismiss);
|
|
2609
|
+
onRevealRef.current = onReveal;
|
|
2610
|
+
onDismissRef.current = onDismiss;
|
|
2611
|
+
const reveal = useCallback(() => {
|
|
2612
|
+
setRevealed((wasRevealed) => {
|
|
2613
|
+
if (!wasRevealed) onRevealRef.current?.();
|
|
2614
|
+
return true;
|
|
2615
|
+
});
|
|
2616
|
+
}, []);
|
|
2617
|
+
const dismiss = useCallback(() => {
|
|
2618
|
+
setRevealed((wasRevealed) => {
|
|
2619
|
+
if (wasRevealed) onDismissRef.current?.();
|
|
2620
|
+
return false;
|
|
2621
|
+
});
|
|
2622
|
+
}, []);
|
|
2623
|
+
const onPointerDown = useCallback(
|
|
2624
|
+
(e) => {
|
|
2625
|
+
if (!enabled || e.pointerType === "mouse") return;
|
|
2626
|
+
if (revealed) dismiss();
|
|
2627
|
+
else reveal();
|
|
2628
|
+
},
|
|
2629
|
+
[enabled, revealed, reveal, dismiss]
|
|
2630
|
+
);
|
|
2631
|
+
useEffect(() => {
|
|
2632
|
+
if (!revealed || typeof document === "undefined") return;
|
|
2633
|
+
const onDocDown = (ev) => {
|
|
2634
|
+
const target = ev.target;
|
|
2635
|
+
if (!(target instanceof Node)) return;
|
|
2636
|
+
const inside = (refs ?? []).some((r2) => r2.current?.contains(target));
|
|
2637
|
+
if (!inside) dismiss();
|
|
2638
|
+
};
|
|
2639
|
+
const id = setTimeout(() => document.addEventListener("pointerdown", onDocDown), 0);
|
|
2640
|
+
return () => {
|
|
2641
|
+
clearTimeout(id);
|
|
2642
|
+
document.removeEventListener("pointerdown", onDocDown);
|
|
2643
|
+
};
|
|
2644
|
+
}, [revealed, refs, dismiss]);
|
|
2645
|
+
return { revealed, triggerProps: { onPointerDown }, reveal, dismiss };
|
|
2646
|
+
}
|
|
2604
2647
|
|
|
2605
2648
|
// components/core/atoms/Box.tsx
|
|
2606
2649
|
var paddingStyles = {
|
|
@@ -2728,10 +2771,12 @@ var Box = React9.forwardRef(
|
|
|
2728
2771
|
action,
|
|
2729
2772
|
actionPayload,
|
|
2730
2773
|
hoverEvent,
|
|
2774
|
+
tapReveal = true,
|
|
2731
2775
|
maxWidth,
|
|
2732
2776
|
onClick,
|
|
2733
2777
|
onMouseEnter,
|
|
2734
2778
|
onMouseLeave,
|
|
2779
|
+
onPointerDown,
|
|
2735
2780
|
...rest
|
|
2736
2781
|
}, ref) => {
|
|
2737
2782
|
const eventBus = useEventBus();
|
|
@@ -2754,6 +2799,19 @@ var Box = React9.forwardRef(
|
|
|
2754
2799
|
}
|
|
2755
2800
|
onMouseLeave?.(e);
|
|
2756
2801
|
}, [hoverEvent, eventBus, onMouseLeave]);
|
|
2802
|
+
const { triggerProps } = useTapReveal({
|
|
2803
|
+
enabled: tapReveal && !!hoverEvent,
|
|
2804
|
+
onReveal: useCallback(() => {
|
|
2805
|
+
if (hoverEvent) eventBus.emit(`UI:${hoverEvent}`, { hovered: true });
|
|
2806
|
+
}, [hoverEvent, eventBus]),
|
|
2807
|
+
onDismiss: useCallback(() => {
|
|
2808
|
+
if (hoverEvent) eventBus.emit(`UI:${hoverEvent}`, { hovered: false });
|
|
2809
|
+
}, [hoverEvent, eventBus])
|
|
2810
|
+
});
|
|
2811
|
+
const handlePointerDown = useCallback((e) => {
|
|
2812
|
+
if (hoverEvent && tapReveal) triggerProps.onPointerDown(e);
|
|
2813
|
+
onPointerDown?.(e);
|
|
2814
|
+
}, [hoverEvent, tapReveal, triggerProps, onPointerDown]);
|
|
2757
2815
|
const isClickable = action || onClick;
|
|
2758
2816
|
return React9.createElement(
|
|
2759
2817
|
Component,
|
|
@@ -2781,6 +2839,7 @@ var Box = React9.forwardRef(
|
|
|
2781
2839
|
onClick: isClickable ? handleClick : void 0,
|
|
2782
2840
|
onMouseEnter: hoverEvent || onMouseEnter ? handleMouseEnter : void 0,
|
|
2783
2841
|
onMouseLeave: hoverEvent || onMouseLeave ? handleMouseLeave : void 0,
|
|
2842
|
+
onPointerDown: hoverEvent && tapReveal || onPointerDown ? handlePointerDown : void 0,
|
|
2784
2843
|
style: maxWidth ? { maxWidth, ...rest.style } : rest.style,
|
|
2785
2844
|
...rest
|
|
2786
2845
|
},
|