@almadar/ui 5.21.10 → 5.21.11

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.
@@ -5,6 +5,7 @@ var React97 = require('react');
5
5
  var logger = require('@almadar/logger');
6
6
  var ELK = require('elkjs/lib/elk.bundled.js');
7
7
  var react = require('@xyflow/react');
8
+ var hooks = require('@almadar/ui/hooks');
8
9
  var LucideIcons2 = require('lucide-react');
9
10
  var PhosphorIcons = require('@phosphor-icons/react');
10
11
  var TablerIcons = require('@tabler/icons-react');
@@ -3900,504 +3901,6 @@ var init_Stack = __esm({
3900
3901
  HStack = (props) => /* @__PURE__ */ jsxRuntime.jsx(Stack, { direction: "horizontal", ...props });
3901
3902
  }
3902
3903
  });
3903
-
3904
- // locales/en.json
3905
- var en_default;
3906
- var init_en = __esm({
3907
- "locales/en.json"() {
3908
- en_default = {
3909
- $meta: {
3910
- locale: "en",
3911
- direction: "ltr"
3912
- },
3913
- "common.save": "Save",
3914
- "common.cancel": "Cancel",
3915
- "common.delete": "Delete",
3916
- "common.close": "Close",
3917
- "common.confirm": "Are you sure?",
3918
- "common.create": "Create",
3919
- "common.edit": "Edit",
3920
- "common.view": "View",
3921
- "common.add": "Add",
3922
- "common.remove": "Remove",
3923
- "common.search": "Search...",
3924
- "common.filter": "Filter",
3925
- "common.actions": "Actions",
3926
- "common.yes": "Yes",
3927
- "common.no": "No",
3928
- "common.selected": "selected",
3929
- "common.ok": "OK",
3930
- "common.done": "Done",
3931
- "common.apply": "Apply",
3932
- "common.reset": "Reset",
3933
- "common.refresh": "Refresh",
3934
- "common.export": "Export",
3935
- "common.import": "Import",
3936
- "common.copy": "Copy",
3937
- "common.settings": "Settings",
3938
- "nav.previous": "Previous",
3939
- "nav.next": "Next",
3940
- "nav.back": "Back",
3941
- "nav.home": "Home",
3942
- "form.submit": "Submit",
3943
- "form.saving": "Saving...",
3944
- "form.required": "This field is required",
3945
- "form.invalidEmail": "Enter a valid email address",
3946
- "form.selectPlaceholder": "Select {{label}}...",
3947
- "form.searchPlaceholder": "Search {{entity}}...",
3948
- "table.empty.title": "No items found",
3949
- "table.empty.description": "No items to display.",
3950
- "table.search.placeholder": "Search...",
3951
- "table.pagination.showing": "Showing {{start}} to {{end}} of {{total}} results",
3952
- "table.pagination.page": "Page {{page}} of {{totalPages}}",
3953
- "table.bulk.selected": "{{count}} selected",
3954
- "table.loading": "Loading...",
3955
- "status.loading": "Loading...",
3956
- "status.scheduled": "Scheduled",
3957
- "status.inProgress": "In Progress",
3958
- "status.completed": "Completed",
3959
- "status.cancelled": "Cancelled",
3960
- "status.pending": "Pending",
3961
- "status.active": "Active",
3962
- "status.inactive": "Inactive",
3963
- "status.draft": "Draft",
3964
- "status.archived": "Archived",
3965
- "error.generic": "Something went wrong",
3966
- "error.retry": "Try again",
3967
- "error.notFound": "Not found",
3968
- "error.loadFailed": "Failed to load: {{message}}",
3969
- "error.configMissing": "Configuration not found for: {{id}}",
3970
- "common.loading": "Loading...",
3971
- "common.showMore": "Show More",
3972
- "common.showLess": "Show Less",
3973
- "common.noResults": "No results found",
3974
- "common.saveChanges": "Save Changes",
3975
- "common.retry": "Retry",
3976
- "common.open": "Open",
3977
- "common.back": "Back",
3978
- "empty.noItems": "No items",
3979
- "empty.noData": "No data available",
3980
- "empty.noItemsYet": "No items yet",
3981
- "empty.noItemsAdded": "No items added yet",
3982
- "empty.noOptionsFound": "No options found",
3983
- "list.addItemPlaceholder": "Add new item...",
3984
- "error.occurred": "An error occurred",
3985
- "error.failedToLoad": "Failed to load data",
3986
- "wizard.back": "Back",
3987
- "wizard.next": "Next",
3988
- "wizard.complete": "Complete",
3989
- "wizard.stepOf": "Step {{current}} of {{total}}",
3990
- "pagination.previous": "Previous",
3991
- "pagination.next": "Next",
3992
- "pagination.total": "Total:",
3993
- "pagination.show": "Show:",
3994
- "pagination.goTo": "Go to:",
3995
- "pagination.go": "Go",
3996
- "auth.signIn": "Sign in",
3997
- "auth.signOut": "Sign out",
3998
- "dialog.confirm": "Confirm",
3999
- "dialog.cancel": "Cancel",
4000
- "dialog.loading": "Loading...",
4001
- "dialog.delete.title": "Delete {{item}}?",
4002
- "dialog.delete.message": "This action cannot be undone.",
4003
- "trait.availableActions": "Available Actions",
4004
- "trait.transitions": "Transitions",
4005
- "trait.availableNow": "Available now",
4006
- "book.startReading": "Start Reading",
4007
- "book.tableOfContents": "Table of Contents",
4008
- "book.partNumber": "Part {{number}}",
4009
- "book.print": "Print",
4010
- "book.previousPage": "Previous page",
4011
- "book.nextPage": "Next page",
4012
- "quiz.showAnswer": "Show answer",
4013
- "quiz.hideAnswer": "Hide answer",
4014
- "aria.closeModal": "Close modal",
4015
- "aria.closeToast": "Dismiss toast",
4016
- "aria.closeAlert": "Dismiss alert",
4017
- "aria.removeFilter": "Remove filter",
4018
- "aria.closeDrawer": "Close drawer",
4019
- "aria.closePanel": "Close panel",
4020
- "aria.previousImage": "Previous image",
4021
- "aria.nextImage": "Next image",
4022
- "aria.dismiss": "Dismiss",
4023
- "aria.previousSlide": "Previous slide",
4024
- "aria.nextSlide": "Next slide",
4025
- "aria.previousDays": "Previous days",
4026
- "aria.nextDays": "Next days",
4027
- "aria.decrease": "Decrease",
4028
- "aria.increase": "Increase",
4029
- "aria.breadcrumb": "Breadcrumb",
4030
- "aria.tableOfContents": "Table of contents",
4031
- "aria.docsSidebar": "Documentation sidebar",
4032
- "aria.selectAllRows": "Select all rows",
4033
- "aria.selectAll": "Select all",
4034
- "aria.upvote": "Upvote",
4035
- "aria.downvote": "Downvote",
4036
- "aria.qrScanner": "QR scanner",
4037
- "aria.mockScanDev": "Mock scan (dev)",
4038
- "aria.openMenu": "Open menu",
4039
- "aria.closeMenu": "Close menu",
4040
- "aria.openSidebar": "Open sidebar",
4041
- "sidebar.expand": "Expand sidebar",
4042
- "sidebar.collapse": "Collapse sidebar",
4043
- "sidebar.close": "Close sidebar",
4044
- "loading.items": "Loading items...",
4045
- "card.imageAlt": "Image",
4046
- "canvas.emptyMessage": "No content",
4047
- "canvas.errorTitle": "Canvas error",
4048
- "book.noData": "No data",
4049
- "common.notifications": "Notifications",
4050
- "common.remaining": "{{count}} remaining",
4051
- "error.somethingWentWrong": "Something went wrong",
4052
- "error.loadingItems": "Loading items...",
4053
- "error.noItemsFound": "No items found",
4054
- "debug.noEntityData": "No entity data",
4055
- "debug.noEntities": "No entities",
4056
- "debug.noTicks": "No ticks registered",
4057
- "debug.noActiveTraits": "No active traits",
4058
- "debug.noGuardEvaluations": "No guard evaluations",
4059
- "debug.noBridgeData": "No bridge data",
4060
- "debug.status": "Status",
4061
- "debug.eventsForwarded": "Events Forwarded (Client \u2192 Server)",
4062
- "debug.eventsReceived": "Events Received (Server \u2192 Client)",
4063
- "debug.lastHeartbeat": "Last Heartbeat",
4064
- "debug.noEventsYet": "No events yet",
4065
- "debug.noTransitionsRecorded": "No transitions recorded",
4066
- "debug.noVerificationChecks": "No verification checks yet",
4067
- "display.chartError": "Chart error",
4068
- "display.codeViewerError": "Code viewer error",
4069
- "display.noCode": "No code",
4070
- "display.documentError": "Document error",
4071
- "display.noDocument": "No document",
4072
- "display.graphError": "Graph error",
4073
- "display.noGraphData": "No graph data",
4074
- "display.galleryError": "Gallery error",
4075
- "display.noMedia": "No media",
4076
- "display.meterError": "Meter error",
4077
- "display.signaturePadError": "Signature pad error",
4078
- "display.timelineError": "Timeline error",
4079
- "display.noEvents": "No events",
4080
- "template.features": "Features",
4081
- "template.howItWorks": "How It Works",
4082
- "template.showcase": "Showcase",
4083
- "template.faq": "Frequently Asked Questions",
4084
- "template.ourTeam": "Our Team",
4085
- "template.caseStudies": "Case Studies",
4086
- "richBlockEditor.toolbar.text": "Text",
4087
- "richBlockEditor.toolbar.h1": "H1",
4088
- "richBlockEditor.toolbar.h2": "H2",
4089
- "richBlockEditor.toolbar.h3": "H3",
4090
- "richBlockEditor.toolbar.bulletList": "Bullet list",
4091
- "richBlockEditor.toolbar.numbered": "Numbered",
4092
- "richBlockEditor.toolbar.quote": "Quote",
4093
- "richBlockEditor.toolbar.code": "Code",
4094
- "richBlockEditor.toolbar.divider": "Divider",
4095
- "richBlockEditor.toolbar.image": "Image",
4096
- "richBlockEditor.blockType.paragraph": "Text",
4097
- "richBlockEditor.blockType.heading1": "Heading 1",
4098
- "richBlockEditor.blockType.heading2": "Heading 2",
4099
- "richBlockEditor.blockType.heading3": "Heading 3",
4100
- "richBlockEditor.blockType.bulletList": "Bullet list",
4101
- "richBlockEditor.blockType.numberedList": "Numbered list",
4102
- "richBlockEditor.blockType.quote": "Quote",
4103
- "richBlockEditor.blockType.code": "Code",
4104
- "richBlockEditor.blockType.divider": "Divider",
4105
- "richBlockEditor.blockType.image": "Image",
4106
- "richBlockEditor.blockActions": "Block actions",
4107
- "richBlockEditor.duplicate": "Duplicate",
4108
- "richBlockEditor.turnInto": "Turn into",
4109
- "richBlockEditor.placeholder.heading1": "Heading 1",
4110
- "richBlockEditor.placeholder.heading2": "Heading 2",
4111
- "richBlockEditor.placeholder.heading3": "Heading 3",
4112
- "richBlockEditor.placeholder.quote": "Quote",
4113
- "richBlockEditor.placeholder.code": "Enter code",
4114
- "richBlockEditor.placeholder.paragraph": "Start writing...",
4115
- "richBlockEditor.placeholder.listItem": "List item",
4116
- "richBlockEditor.placeholder.caption": "Caption (optional)",
4117
- "richBlockEditor.aria.heading1Block": "Heading 1 block",
4118
- "richBlockEditor.aria.heading2Block": "Heading 2 block",
4119
- "richBlockEditor.aria.heading3Block": "Heading 3 block",
4120
- "richBlockEditor.aria.quoteBlock": "Quote block",
4121
- "richBlockEditor.aria.codeBlock": "Code block",
4122
- "richBlockEditor.aria.codeLanguage": "Code language",
4123
- "richBlockEditor.aria.imageUrl": "Image URL",
4124
- "richBlockEditor.aria.imageCaption": "Image caption",
4125
- "richBlockEditor.aria.listItem": "List item",
4126
- "richBlockEditor.aria.removeListItem": "Remove list item",
4127
- "richBlockEditor.aria.paragraphBlock": "Paragraph block",
4128
- "richBlockEditor.embeddedImage": "Embedded image",
4129
- "richBlockEditor.noImageUrl": "No image URL set",
4130
- "richBlockEditor.addItem": "Add item",
4131
- "richBlockEditor.insertParagraphBelow": "Insert paragraph below",
4132
- "richBlockEditor.editorToolbar": "Block editor toolbar",
4133
- "richBlockEditor.insertEntry": "Insert {{label}}",
4134
- "versionDiff.compare": "Compare",
4135
- "versionDiff.to": "to",
4136
- "versionDiff.beforeRevision": "Before revision",
4137
- "versionDiff.afterRevision": "After revision",
4138
- "versionDiff.switchToInline": "Switch to inline view",
4139
- "versionDiff.switchToSideBySide": "Switch to side-by-side view",
4140
- "versionDiff.revert": "Revert",
4141
- "versionDiff.byAuthor": " by {{author}}",
4142
- "violationAlert.actionType.measure": "Corrective Measure",
4143
- "violationAlert.actionType.admin": "Administrative Action",
4144
- "violationAlert.actionType.penalty": "Penalty Proceedings",
4145
- "violationAlert.fallbackMessage": "Violation",
4146
- "violationAlert.adminLabel": "Admin:",
4147
- "violationAlert.penaltyLabel": "Penalty:",
4148
- "violationAlert.goToField": "Go to field",
4149
- "branchingLogic.title": "Branching logic",
4150
- "branchingLogic.if": "If",
4151
- "branchingLogic.goTo": "go to",
4152
- "branchingLogic.rules": "Rules",
4153
- "branchingLogic.logicGraph": "Logic graph",
4154
- "branchingLogic.addRule": "Add rule",
4155
- "branchingLogic.deleteRule": "Delete rule",
4156
- "branchingLogic.endOfSurvey": "End of survey",
4157
- "branchingLogic.brokenReference": "Broken reference",
4158
- "branchingLogic.selectQuestion": "Select question",
4159
- "branchingLogic.selectTarget": "Select target",
4160
- "branchingLogic.selectValue": "Select value",
4161
- "branchingLogic.addValue": "Add value",
4162
- "branchingLogic.value": "Value",
4163
- "branchingLogic.typeValuePressEnter": "Type value, press Enter",
4164
- "branchingLogic.operatorEquals": "equals",
4165
- "branchingLogic.operatorNotEquals": "does not equal",
4166
- "branchingLogic.operatorContains": "contains",
4167
- "branchingLogic.operatorIn": "is one of",
4168
- "branchingLogic.graphAriaLabel": "Branching logic graph",
4169
- "branchingLogic.ruleCountOne": "{{count}} rule",
4170
- "branchingLogic.ruleCountOther": "{{count}} rules",
4171
- "branchingLogic.brokenCount": "{{count}} broken",
4172
- "branchingLogic.emptyNoQuestions": "Add questions before building branching rules.",
4173
- "branchingLogic.emptyNoRules": "No rules yet. Add a rule to define branching logic.",
4174
- "filterGroup.filters": "Filters",
4175
- "filterGroup.all": "All",
4176
- "filterGroup.clear": "Clear",
4177
- "filterGroup.clearAll": "Clear all",
4178
- "filterGroup.from": "From",
4179
- "filterGroup.to": "To",
4180
- "filterGroup.allOf": "All {{label}}",
4181
- "filterGroup.activeCount": "{{count}} active",
4182
- "debug.guardEvaluationsHint": "Guard evaluations will appear when transitions or ticks with guards execute",
4183
- "debug.expression": "Expression",
4184
- "debug.inputs": "Inputs",
4185
- "debug.trait": "Trait",
4186
- "debug.filterAll": "All",
4187
- "debug.filterPassed": "Passed",
4188
- "debug.filterFailed": "Failed",
4189
- "debug.traitsInitHint": "Traits will appear when the state machine initializes",
4190
- "debug.traitsMountHint": "Traits will appear when components using them are mounted",
4191
- "debug.activeStates": "Active States",
4192
- "debug.availableEvents": "Available Events",
4193
- "debug.noTransitionsFromState": "No transitions from current state",
4194
- "debug.guarded": "guarded",
4195
- "debug.otherEvents": "Other Events (not available from current state)",
4196
- "debug.recentTransitions": "Recent Transitions",
4197
- "debug.transitionsCount": "{{count}} transitions",
4198
- "debug.states": "States",
4199
- "debug.transitions": "Transitions",
4200
- "debug.guards": "Guards",
4201
- "debug.debugModeHint": "Debug mode may not be enabled",
4202
- "debug.entitiesSpawnHint": "Entities will appear when spawned",
4203
- "debug.singleton": "Singleton",
4204
- "debug.singletonsCount": "Singletons ({{count}})",
4205
- "debug.runtimeCount": "Runtime ({{count}})",
4206
- "debug.moreEntities": "+{{count}} more entities",
4207
- "debug.persistent": "Persistent",
4208
- "debug.loadedCount": "{{count}} loaded",
4209
- "debug.notLoaded": "not loaded",
4210
- "debug.eventsExecuteHint": "Events will appear as traits, ticks, and other systems execute",
4211
- "debug.allCount": "All ({{count}})",
4212
- "debug.autoScroll": "Auto-scroll",
4213
- "debug.transitionsProcessHint": "Transitions will appear as the state machine processes events",
4214
- "debug.transitionsRecorded": "{{count}} transitions recorded",
4215
- "debug.guardLabel": "guard:",
4216
- "debug.effectsCount": "{{count}} effects",
4217
- "debug.bridgeInitHint": "The ServerBridge has not been initialized. Bridge health will appear once the runtime connects to the server.",
4218
- "debug.never": "Never",
4219
- "debug.connected": "Connected",
4220
- "debug.disconnected": "Disconnected",
4221
- "debug.lastError": "Last Error",
4222
- "debug.totalEventsProcessed": "{{count}} total events processed",
4223
- "debug.server": "server",
4224
- "debug.clientEffectsCount": "{{count}} clientEffects",
4225
- "debug.emitLabel": "emit:",
4226
- "debug.rowsCount": "{{count}} rows",
4227
- "debug.serverResponse": "server response",
4228
- "debug.collapseVerificationTimeline": "Collapse verification timeline",
4229
- "debug.expandVerificationTimeline": "Expand verification timeline",
4230
- "debug.failCount": "{{count}} fail",
4231
- "debug.ok": "OK",
4232
- "debug.localCount": "{{count}} local",
4233
- "debug.serverCount": "{{count}} server",
4234
- "debug.waitingForTransitions": "Waiting for transitions...",
4235
- "debug.tabDispatch": "Dispatch",
4236
- "debug.tabVerify": "Verify",
4237
- "debug.tabVerifyAlert": "Verify (!)",
4238
- "debug.tabTimeline": "Timeline",
4239
- "debug.tabBridge": "Bridge",
4240
- "debug.tabTraits": "Traits",
4241
- "debug.tabTicks": "Ticks",
4242
- "debug.tabEntities": "Entities",
4243
- "debug.tabEvents": "Events",
4244
- "debug.tabGuards": "Guards",
4245
- "debug.debugger": "Debugger",
4246
- "debug.failedCount": "{{count}} failed",
4247
- "debug.traitsCount": "{{count}} traits",
4248
- "debug.idle": "Idle",
4249
- "debug.openDebugger": "Open Debugger (`)",
4250
- "debug.kflowVerifier": "KFlow Verifier",
4251
- "debug.allPassing": "All passing",
4252
- "debug.runtime": "Runtime",
4253
- "debug.close": "Close (`)",
4254
- "debug.toggleHint": "Press ` to toggle | window.__orbitalVerification for automation",
4255
- "replyTree.expandReplies": "Expand replies",
4256
- "replyTree.collapseReplies": "Collapse replies",
4257
- "replyTree.voteOnReplyBy": "Vote on reply by {{author}}",
4258
- "replyTree.replyTo": "Reply to {{author}}",
4259
- "replyTree.replyToPlaceholder": "Reply to {{author}}\u2026",
4260
- "replyTree.reply": "Reply",
4261
- "replyTree.flagReplyBy": "Flag reply by {{author}}",
4262
- "replyTree.flag": "Flag",
4263
- "replyTree.send": "Send",
4264
- "replyTree.continueThread": "Continue thread",
4265
- "replyTree.noRepliesYet": "No replies yet.",
4266
- "signaturePad.label": "Signature",
4267
- "signaturePad.helperText": "Draw your signature above",
4268
- "signaturePad.clear": "Clear",
4269
- "signaturePad.confirm": "Confirm",
4270
- "qrScanner.cameraUnavailable": "Camera unavailable",
4271
- "qrScanner.paused": "Paused",
4272
- "qrScanner.resumeScanning": "Resume scanning",
4273
- "qrScanner.pauseScanning": "Pause scanning",
4274
- "qrScanner.switchToFrontCamera": "Switch to front camera",
4275
- "qrScanner.switchToRearCamera": "Switch to rear camera",
4276
- "qrScanner.mockScan": "Mock Scan",
4277
- "docSearch.placeholder": "Search documentation...",
4278
- "stateMachine.loading": "Loading state machine\u2026",
4279
- "stateMachine.noStateMachine": "No state machine to visualize",
4280
- "avl.trigger": "Trigger",
4281
- "avl.guard": "Guard",
4282
- "avl.effects": "Effects",
4283
- "avl.props": "Props",
4284
- "avl.entity": "Entity",
4285
- "avl.traits": "Traits",
4286
- "avl.transition": "Transition",
4287
- "avl.onEntity": "on {{entity}}",
4288
- "avl.linkedTo": "linked to {{entity}}",
4289
- "avl.pressEscToZoomOut": "Press Esc to zoom out",
4290
- "avl.zoomIn": "Zoom in",
4291
- "avl.zoomOut": "Zoom out",
4292
- "avl.orbitalLabel": "Orbital: {{name}}",
4293
- "avl.orbitalLabelHighlighted": "Orbital: {{name}} (highlighted)",
4294
- "avl.noTraitData": "No trait data",
4295
- "avl.computingLayout": "Computing layout...",
4296
- "avl.noStateMachine": "No state machine",
4297
- "avl.listensFor": "listens for {{event}}",
4298
- "avl.emits": "emits {{event}}",
4299
- "avl.pageLayout": "Page Layout",
4300
- "avl.overlaySuffix": "(overlay)",
4301
- "orbPreview.previewBadge": "Preview",
4302
- "orbPreview.doubleClickToOpen": "Double-click to open",
4303
- "orbPreview.dropToAddAndOpen": "Drop to add and open",
4304
- "orbPreview.dispatching": "Coordinator is dispatching to this orbital",
4305
- "orbPreview.noPreview": "No preview available",
4306
- "orbPreview.screensCount": "{{count}} screens",
4307
- "detailView.noTransitionData": "No transition data",
4308
- "orbInspector.required": "req",
4309
- "orbInspector.addField": "Add Field",
4310
- "orbInspector.serviceMode": "Service Mode",
4311
- "orbInspector.standalone": "Standalone",
4312
- "orbInspector.embedded": "Embedded",
4313
- "orbInspector.rendersOwnUi": "Renders its own UI",
4314
- "orbInspector.headless": "Headless, wired to other behaviors",
4315
- "orbInspector.addEffect": "Add Effect",
4316
- "orbInspector.guardExpression": "Guard expression",
4317
- "orbInspector.selectPatternForStyles": "Select a pattern to view its style tokens.",
4318
- "orbInspector.tokens": "Tokens",
4319
- "orbInspector.noTokenContract": "No token contract declared for this pattern.",
4320
- "orbInspector.variant": "Variant",
4321
- "orbInspector.size": "Size",
4322
- "orbInspector.statesCount": "{{count}} states",
4323
- "orbInspector.onEntity": " on {{entity}}",
4324
- "orbInspector.projectThemeTokens": "Project theme tokens",
4325
- "orbInspector.tokenGroup.colors": "Colors",
4326
- "orbInspector.tokenGroup.radii": "Radii",
4327
- "orbInspector.tokenGroup.spacing": "Spacing",
4328
- "orbInspector.tokenGroup.shadows": "Shadows",
4329
- "orbInspector.tab.inspector": "Inspector",
4330
- "orbInspector.tab.styles": "Styles",
4331
- "orbInspector.tab.code": "Code",
4332
- "canvas.goBackToOverview": "Go back to overview",
4333
- "canvas.overview": "Overview",
4334
- "canvas.expanded": "Expanded",
4335
- "canvas.modulesCount": "{{count}} modules",
4336
- "canvas.screensCount": "{{count}} screens",
4337
- "canvas.switchToView": "Switch to {{label}} view",
4338
- "lawReference.viewFullText": "View full law text",
4339
- "statCard.defaultLabel": "Stat",
4340
- "statCard.vsLastPeriod": "vs last period",
4341
- "mediaGallery.upload": "Upload",
4342
- "mediaGallery.noMediaDescription": "No media items to display.",
4343
- "pagination.jumpPlaceholder": "Page",
4344
- "table.selectRow": "Select row {{id}}",
4345
- "card.selectItem": "Select {{item}}",
4346
- "card.itemFallback": "item",
4347
- "fileTree.noFiles": "No files",
4348
- "masterDetail.selectItem": "Select an item to view details",
4349
- "empty.createFirst": "Create your first item to get started.",
4350
- "upload.dropOrBrowse": "Drop files here or click to browse",
4351
- "upload.dropFilesHere": "Drop files here",
4352
- "upload.accepted": "Accepted: {{accept}}",
4353
- "upload.maxSize": "Max size: {{size}}",
4354
- "upload.maxFiles": "Up to {{count}} files",
4355
- "upload.error.maxFiles": "Maximum {{count}} files allowed",
4356
- "upload.error.invalidType": "Invalid file type: {{name}}",
4357
- "upload.error.tooLarge": "File too large: {{name}} (max {{size}})",
4358
- "optionConstraint.requiredOne": "Required, pick 1",
4359
- "optionConstraint.optionalOne": "Optional, pick up to 1",
4360
- "optionConstraint.pickExactly": "Pick exactly {{count}}",
4361
- "optionConstraint.pickRange": "Pick {{min}}-{{max}}",
4362
- "optionConstraint.pickAtLeast": "Pick at least {{count}}",
4363
- "optionConstraint.pickUpTo": "Pick up to {{count}}",
4364
- "optionConstraint.optional": "Optional",
4365
- "optionConstraint.outOfStock": "Out of stock",
4366
- "optionConstraint.error.pickOne": "Pick 1 option",
4367
- "optionConstraint.error.pickOnlyOne": "Pick only 1 option",
4368
- "optionConstraint.error.pickMore": "Pick at least {{count}} more",
4369
- "optionConstraint.error.removeOptions": "Remove {{count}} options",
4370
- "stateMachine.pinned": "Pinned",
4371
- "stateMachine.eventCount": "{{count}} events",
4372
- "stateMachine.externalEffects": "External Effects",
4373
- "stateMachine.legend.initial": "Initial",
4374
- "stateMachine.legend.final": "Final",
4375
- "stateMachine.legend.state": "State",
4376
- "stateMachine.legend.multiEvent": "Multi-event",
4377
- "relationSelect.selectPlaceholder": "Select..."
4378
- };
4379
- }
4380
- });
4381
- function useTranslate() {
4382
- return React97.useContext(I18nContext);
4383
- }
4384
- var _meta, coreMessages, coreLocale, I18nContext;
4385
- var init_useTranslate = __esm({
4386
- "hooks/useTranslate.ts"() {
4387
- "use client";
4388
- init_en();
4389
- ({ $meta: _meta, ...coreMessages } = en_default);
4390
- coreLocale = coreMessages;
4391
- I18nContext = React97.createContext({
4392
- locale: "en",
4393
- direction: "ltr",
4394
- t: (key) => coreLocale[key] ?? key
4395
- // core locale fallback
4396
- });
4397
- I18nContext.displayName = "I18nContext";
4398
- I18nContext.Provider;
4399
- }
4400
- });
4401
3904
  var MAX_VISIBLE_EFFECTS; exports.AvlTransitionLane = void 0;
4402
3905
  var init_AvlTransitionLane = __esm({
4403
3906
  "components/avl/molecules/AvlTransitionLane.tsx"() {
@@ -5027,7 +4530,6 @@ var log2, SWIM_GUTTER, CENTER_W; exports.BehaviorView = void 0;
5027
4530
  var init_BehaviorView = __esm({
5028
4531
  "components/avl/molecules/BehaviorView.tsx"() {
5029
4532
  "use client";
5030
- init_useTranslate();
5031
4533
  init_AvlState();
5032
4534
  init_AvlTransitionLane();
5033
4535
  init_AvlSwimLane();
@@ -5037,7 +4539,7 @@ var init_BehaviorView = __esm({
5037
4539
  SWIM_GUTTER = 120;
5038
4540
  CENTER_W = 360;
5039
4541
  exports.BehaviorView = ({ data }) => {
5040
- const { t } = useTranslate();
4542
+ const { t } = hooks.useTranslate();
5041
4543
  const [layout, setLayout] = React97.useState(null);
5042
4544
  const traitName = data.traits[0]?.name;
5043
4545
  const traitData = traitName ? data.traitDetails[traitName] : void 0;
@@ -6879,7 +6381,6 @@ var init_Modal = __esm({
6879
6381
  init_Overlay();
6880
6382
  init_cn();
6881
6383
  init_useEventBus();
6882
- init_useTranslate();
6883
6384
  sizeClasses2 = {
6884
6385
  sm: "max-w-md",
6885
6386
  md: "max-w-2xl",
@@ -6917,7 +6418,7 @@ var init_Modal = __esm({
6917
6418
  look = "centered-card"
6918
6419
  }) => {
6919
6420
  const eventBus = useEventBus();
6920
- const { t } = useTranslate();
6421
+ const { t } = hooks.useTranslate();
6921
6422
  const modalRef = React97.useRef(null);
6922
6423
  const previousActiveElement = React97.useRef(null);
6923
6424
  const [dragY, setDragY] = React97.useState(0);
@@ -7101,7 +6602,6 @@ var init_Drawer = __esm({
7101
6602
  init_Overlay();
7102
6603
  init_cn();
7103
6604
  init_useEventBus();
7104
- init_useTranslate();
7105
6605
  sizeWidths = {
7106
6606
  sm: "w-full sm:w-80",
7107
6607
  // 320px
@@ -7127,7 +6627,7 @@ var init_Drawer = __esm({
7127
6627
  closeEvent
7128
6628
  }) => {
7129
6629
  const eventBus = useEventBus();
7130
- const { t } = useTranslate();
6630
+ const { t } = hooks.useTranslate();
7131
6631
  const drawerRef = React97.useRef(null);
7132
6632
  const previousActiveElement = React97.useRef(null);
7133
6633
  React97.useEffect(() => {
@@ -7374,7 +6874,6 @@ var init_Toast = __esm({
7374
6874
  init_Badge();
7375
6875
  init_cn();
7376
6876
  init_useEventBus();
7377
- init_useTranslate();
7378
6877
  variantClasses = {
7379
6878
  success: "bg-card border-[length:var(--border-width)] border-success",
7380
6879
  error: "bg-card border-[length:var(--border-width)] border-error",
@@ -7408,7 +6907,7 @@ var init_Toast = __esm({
7408
6907
  actionEvent
7409
6908
  }) => {
7410
6909
  const eventBus = useEventBus();
7411
- const { t } = useTranslate();
6910
+ const { t } = hooks.useTranslate();
7412
6911
  const handleDismiss = () => {
7413
6912
  if (dismissEvent) eventBus.emit(`UI:${dismissEvent}`, {});
7414
6913
  onDismiss?.();
@@ -8336,7 +7835,6 @@ var init_Input = __esm({
8336
7835
  "components/core/atoms/Input.tsx"() {
8337
7836
  init_cn();
8338
7837
  init_Icon();
8339
- init_useTranslate();
8340
7838
  Input = React97__namespace.default.forwardRef(
8341
7839
  ({
8342
7840
  className,
@@ -8354,7 +7852,7 @@ var init_Input = __esm({
8354
7852
  onChange,
8355
7853
  ...props
8356
7854
  }, ref) => {
8357
- const { t } = useTranslate();
7855
+ const { t } = hooks.useTranslate();
8358
7856
  const type = inputType || htmlType || "text";
8359
7857
  const IconComponent = typeof iconProp === "string" ? resolveIcon(iconProp) : iconProp;
8360
7858
  const resolvedLeftIcon = leftIcon || IconComponent && /* @__PURE__ */ jsxRuntime.jsx(IconComponent, { className: "h-icon-default w-icon-default" });
@@ -8720,7 +8218,6 @@ var init_FilterPill = __esm({
8720
8218
  "components/core/atoms/FilterPill.tsx"() {
8721
8219
  init_cn();
8722
8220
  init_useEventBus();
8723
- init_useTranslate();
8724
8221
  init_Icon();
8725
8222
  variantStyles5 = {
8726
8223
  default: [
@@ -8776,7 +8273,7 @@ var init_FilterPill = __esm({
8776
8273
  ...props
8777
8274
  }, ref) => {
8778
8275
  const eventBus = useEventBus();
8779
- const { t } = useTranslate();
8276
+ const { t } = hooks.useTranslate();
8780
8277
  const payloadLabel = typeof children === "string" || typeof children === "number" ? children : label;
8781
8278
  const handleClick = React97.useCallback(() => {
8782
8279
  onClick?.();
@@ -9846,7 +9343,6 @@ var init_LawReferenceTooltip = __esm({
9846
9343
  init_Typography();
9847
9344
  init_Divider();
9848
9345
  init_cn();
9849
- init_useTranslate();
9850
9346
  positionStyles2 = {
9851
9347
  top: "bottom-full left-1/2 -translate-x-1/2 mb-2",
9852
9348
  bottom: "top-full left-1/2 -translate-x-1/2 mt-2",
@@ -9865,7 +9361,7 @@ var init_LawReferenceTooltip = __esm({
9865
9361
  position = "top",
9866
9362
  className
9867
9363
  }) => {
9868
- const { t } = useTranslate();
9364
+ const { t } = hooks.useTranslate();
9869
9365
  const [isVisible, setIsVisible] = React97__namespace.default.useState(false);
9870
9366
  const timeoutRef = React97__namespace.default.useRef(null);
9871
9367
  const handleMouseEnter = () => {
@@ -12842,7 +12338,6 @@ var init_ErrorState = __esm({
12842
12338
  init_Typography();
12843
12339
  init_Icon();
12844
12340
  init_useEventBus();
12845
- init_useTranslate();
12846
12341
  ErrorState = ({
12847
12342
  title,
12848
12343
  message,
@@ -12852,7 +12347,7 @@ var init_ErrorState = __esm({
12852
12347
  retryEvent
12853
12348
  }) => {
12854
12349
  const eventBus = useEventBus();
12855
- const { t } = useTranslate();
12350
+ const { t } = hooks.useTranslate();
12856
12351
  const handleRetry = () => {
12857
12352
  if (retryEvent) eventBus.emit(`UI:${retryEvent}`, {});
12858
12353
  onRetry?.();
@@ -12885,9 +12380,8 @@ var init_ErrorBoundary = __esm({
12885
12380
  "use client";
12886
12381
  init_cn();
12887
12382
  init_ErrorState();
12888
- init_useTranslate();
12889
12383
  DefaultFallback = ({ error, onRetry }) => {
12890
- const { t } = useTranslate();
12384
+ const { t } = hooks.useTranslate();
12891
12385
  return /* @__PURE__ */ jsxRuntime.jsx(
12892
12386
  ErrorState,
12893
12387
  {
@@ -13014,7 +12508,7 @@ function Skeleton({
13014
12508
  fields,
13015
12509
  className
13016
12510
  }) {
13017
- const { t: _t } = useTranslate();
12511
+ const { t: _t } = hooks.useTranslate();
13018
12512
  switch (variant) {
13019
12513
  case "header":
13020
12514
  return /* @__PURE__ */ jsxRuntime.jsx(HeaderSkeleton, { className });
@@ -13035,7 +12529,6 @@ var init_Skeleton = __esm({
13035
12529
  "components/core/molecules/Skeleton.tsx"() {
13036
12530
  "use client";
13037
12531
  init_cn();
13038
- init_useTranslate();
13039
12532
  init_Box();
13040
12533
  init_Stack();
13041
12534
  init_Stack();
@@ -13712,7 +13205,6 @@ var AboutPageTemplate;
13712
13205
  var init_AboutPageTemplate = __esm({
13713
13206
  "components/marketing/templates/AboutPageTemplate.tsx"() {
13714
13207
  init_cn();
13715
- init_useTranslate();
13716
13208
  init_Stack();
13717
13209
  init_Box();
13718
13210
  init_Typography();
@@ -13728,7 +13220,7 @@ var init_AboutPageTemplate = __esm({
13728
13220
  entity,
13729
13221
  className
13730
13222
  }) => {
13731
- const { t } = useTranslate();
13223
+ const { t } = hooks.useTranslate();
13732
13224
  const resolved = entity && typeof entity === "object" && !Array.isArray(entity) ? entity : void 0;
13733
13225
  if (!resolved) return null;
13734
13226
  return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "none", className: cn("w-full", className), children: [
@@ -13817,7 +13309,6 @@ var init_Alert = __esm({
13817
13309
  init_Icon();
13818
13310
  init_Typography();
13819
13311
  init_useEventBus();
13820
- init_useTranslate();
13821
13312
  variantBorderClasses = {
13822
13313
  info: "border-info",
13823
13314
  success: "border-success",
@@ -13849,7 +13340,7 @@ var init_Alert = __esm({
13849
13340
  dismissEvent
13850
13341
  }) => {
13851
13342
  const eventBus = useEventBus();
13852
- const { t } = useTranslate();
13343
+ const { t } = hooks.useTranslate();
13853
13344
  const handleDismissCallback = onDismiss || onClose;
13854
13345
  const handleDismiss = () => {
13855
13346
  if (dismissEvent) eventBus.emit(`UI:${dismissEvent}`, {});
@@ -14177,7 +13668,6 @@ var init_Menu = __esm({
14177
13668
  init_Badge();
14178
13669
  init_cn();
14179
13670
  init_useEventBus();
14180
- init_useTranslate();
14181
13671
  Menu = ({
14182
13672
  trigger,
14183
13673
  items,
@@ -14185,7 +13675,7 @@ var init_Menu = __esm({
14185
13675
  className
14186
13676
  }) => {
14187
13677
  const eventBus = useEventBus();
14188
- const { t } = useTranslate();
13678
+ const { t } = hooks.useTranslate();
14189
13679
  const [isOpen, setIsOpen] = React97.useState(false);
14190
13680
  const [activeSubMenu, setActiveSubMenu] = React97.useState(null);
14191
13681
  const [triggerRect, setTriggerRect] = React97.useState(null);
@@ -14465,7 +13955,6 @@ var init_FloatingActionButton = __esm({
14465
13955
  init_Typography();
14466
13956
  init_cn();
14467
13957
  init_useEventBus();
14468
- init_useTranslate();
14469
13958
  FloatingActionButton = ({
14470
13959
  action,
14471
13960
  actionPayload,
@@ -14478,7 +13967,7 @@ var init_FloatingActionButton = __esm({
14478
13967
  className
14479
13968
  }) => {
14480
13969
  const eventBus = useEventBus();
14481
- const { t } = useTranslate();
13970
+ const { t } = hooks.useTranslate();
14482
13971
  const resolvedAction = icon ? {
14483
13972
  icon,
14484
13973
  onClick: () => {
@@ -14649,7 +14138,7 @@ var init_MapView = __esm({
14649
14138
  L.Marker.prototype.options.icon = defaultIcon;
14650
14139
  const { useEffect: useEffect79, useRef: useRef71, useCallback: useCallback122, useState: useState113 } = React97__namespace.default;
14651
14140
  const { Typography: Typography2 } = await Promise.resolve().then(() => (init_Typography(), Typography_exports));
14652
- const { useEventBus: useEventBus2 } = await Promise.resolve().then(() => (init_useEventBus(), useEventBus_exports));
14141
+ const { useEventBus: useEventBus3 } = await Promise.resolve().then(() => (init_useEventBus(), useEventBus_exports));
14653
14142
  function MapUpdater({ centerLat, centerLng, zoom }) {
14654
14143
  const map = useMap();
14655
14144
  const prevRef = useRef71({ centerLat, centerLng, zoom });
@@ -14691,7 +14180,7 @@ var init_MapView = __esm({
14691
14180
  className,
14692
14181
  showAttribution = true
14693
14182
  }) {
14694
- const eventBus = useEventBus2();
14183
+ const eventBus = useEventBus3();
14695
14184
  const [clickedPosition, setClickedPosition] = useState113(null);
14696
14185
  const handleMapClick = useCallback122((lat, lng) => {
14697
14186
  if (showClickedPin) {
@@ -15348,7 +14837,7 @@ function ActionTile({
15348
14837
  categoryColors,
15349
14838
  className
15350
14839
  }) {
15351
- useTranslate();
14840
+ hooks.useTranslate();
15352
14841
  const config = SIZE_CONFIG[size];
15353
14842
  const catColor = categoryColors?.[action.category];
15354
14843
  const handleDragStart = React97.useCallback((e) => {
@@ -15387,7 +14876,6 @@ var init_ActionTile = __esm({
15387
14876
  "components/game/organisms/puzzles/sequencer/ActionTile.tsx"() {
15388
14877
  init_atoms2();
15389
14878
  init_cn();
15390
- init_useTranslate();
15391
14879
  DRAG_MIME = "application/x-almadar-slot-item";
15392
14880
  SIZE_CONFIG = {
15393
14881
  sm: { px: "px-2 py-1", icon: "text-lg", text: "text-xs" },
@@ -15406,7 +14894,7 @@ function ActionPalette({
15406
14894
  label,
15407
14895
  className
15408
14896
  }) {
15409
- const { t } = useTranslate();
14897
+ const { t } = hooks.useTranslate();
15410
14898
  return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { className: cn("p-3 rounded-lg bg-card border border-border", className), gap: "sm", children: [
15411
14899
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body2", className: "text-muted-foreground font-medium", children: label ?? t("sequencer.actions") }),
15412
14900
  /* @__PURE__ */ jsxRuntime.jsx(HStack, { className: "flex-wrap", gap: "sm", children: (actions ?? []).map((action) => /* @__PURE__ */ jsxRuntime.jsx(
@@ -15425,7 +14913,6 @@ var init_ActionPalette = __esm({
15425
14913
  "components/game/organisms/puzzles/sequencer/ActionPalette.tsx"() {
15426
14914
  init_atoms2();
15427
14915
  init_cn();
15428
- init_useTranslate();
15429
14916
  init_ActionTile();
15430
14917
  ActionPalette.displayName = "ActionPalette";
15431
14918
  }
@@ -15435,7 +14922,6 @@ var init_AuthLayout = __esm({
15435
14922
  "components/core/templates/AuthLayout.tsx"() {
15436
14923
  "use client";
15437
14924
  init_cn();
15438
- init_useTranslate();
15439
14925
  init_Box();
15440
14926
  init_Stack();
15441
14927
  init_Typography();
@@ -15446,7 +14932,7 @@ var init_AuthLayout = __esm({
15446
14932
  showBranding = true,
15447
14933
  brandingContent
15448
14934
  }) => {
15449
- const { t } = useTranslate();
14935
+ const { t } = hooks.useTranslate();
15450
14936
  return /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "min-h-screen flex", children: [
15451
14937
  showBranding && /* @__PURE__ */ jsxRuntime.jsxs(
15452
14938
  VStack,
@@ -15580,13 +15066,12 @@ var init_LoadingState = __esm({
15580
15066
  init_atoms2();
15581
15067
  init_Stack();
15582
15068
  init_Typography();
15583
- init_useTranslate();
15584
15069
  LoadingState = ({
15585
15070
  title,
15586
15071
  message,
15587
15072
  className
15588
15073
  }) => {
15589
- const { t } = useTranslate();
15074
+ const { t } = hooks.useTranslate();
15590
15075
  const displayMessage = message ?? t("common.loading");
15591
15076
  return /* @__PURE__ */ jsxRuntime.jsxs(
15592
15077
  VStack,
@@ -16100,7 +15585,7 @@ function IsometricCanvas({
16100
15585
  const unitsProp = Array.isArray(_unitsPropRaw) ? _unitsPropRaw : [];
16101
15586
  const featuresProp = Array.isArray(_featuresPropRaw) ? _featuresPropRaw : [];
16102
15587
  const eventBus = useEventBus();
16103
- const { t } = useTranslate();
15588
+ const { t } = hooks.useTranslate();
16104
15589
  const canvasRef = React97.useRef(null);
16105
15590
  const containerRef = React97.useRef(null);
16106
15591
  const minimapRef = React97.useRef(null);
@@ -16796,7 +16281,6 @@ var init_IsometricCanvas = __esm({
16796
16281
  "use client";
16797
16282
  init_cn();
16798
16283
  init_useEventBus();
16799
- init_useTranslate();
16800
16284
  init_Box();
16801
16285
  init_Stack();
16802
16286
  init_Icon();
@@ -16856,7 +16340,7 @@ function BattleBoard({
16856
16340
  const currentTurn = entity.turn;
16857
16341
  const gameResult = entity.gameResult;
16858
16342
  const eventBus = useEventBus();
16859
- const { t } = useTranslate();
16343
+ const { t } = hooks.useTranslate();
16860
16344
  const [hoveredTile, setHoveredTile] = React97.useState(null);
16861
16345
  const [isShaking, setIsShaking] = React97.useState(false);
16862
16346
  const selectedUnit = React97.useMemo(
@@ -17160,7 +16644,6 @@ var init_BattleBoard = __esm({
17160
16644
  "use client";
17161
16645
  init_cn();
17162
16646
  init_useEventBus();
17163
- init_useTranslate();
17164
16647
  init_Box();
17165
16648
  init_Button();
17166
16649
  init_Typography();
@@ -17205,14 +16688,13 @@ var MIN_DIAGRAM_WIDTH, ScaledDiagram;
17205
16688
  var init_ScaledDiagram = __esm({
17206
16689
  "components/core/molecules/ScaledDiagram.tsx"() {
17207
16690
  init_Box();
17208
- init_useTranslate();
17209
16691
  init_cn();
17210
16692
  MIN_DIAGRAM_WIDTH = 200;
17211
16693
  ScaledDiagram = ({
17212
16694
  children,
17213
16695
  className
17214
16696
  }) => {
17215
- const { t: _t } = useTranslate();
16697
+ const { t: _t } = hooks.useTranslate();
17216
16698
  const wrapperRef = React97.useRef(null);
17217
16699
  const contentRef = React97.useRef(null);
17218
16700
  const [layout, setLayout] = React97.useState(null);
@@ -17348,7 +16830,6 @@ var init_CodeBlock = __esm({
17348
16830
  init_Textarea();
17349
16831
  init_Icon();
17350
16832
  init_useEventBus();
17351
- init_useTranslate();
17352
16833
  SyntaxHighlighter__default.default.registerLanguage("json", langJson__default.default);
17353
16834
  SyntaxHighlighter__default.default.registerLanguage("javascript", langJavascript__default.default);
17354
16835
  SyntaxHighlighter__default.default.registerLanguage("js", langJavascript__default.default);
@@ -17437,7 +16918,7 @@ var init_CodeBlock = __esm({
17437
16918
  const isLolo = language === "lolo";
17438
16919
  const activeStyle = isOrb ? orbStyle : isLolo ? loloStyle : dark__default.default;
17439
16920
  const eventBus = useEventBus();
17440
- const { t } = useTranslate();
16921
+ const { t } = hooks.useTranslate();
17441
16922
  const scrollRef = React97.useRef(null);
17442
16923
  const codeRef = React97.useRef(null);
17443
16924
  const savedScrollLeftRef = React97.useRef(0);
@@ -17855,11 +17336,10 @@ var init_MarkdownContent = __esm({
17855
17336
  init_katex_min();
17856
17337
  init_Box();
17857
17338
  init_CodeBlock();
17858
- init_useTranslate();
17859
17339
  init_cn();
17860
17340
  MarkdownContent = React97__namespace.default.memo(
17861
17341
  ({ content, direction, className }) => {
17862
- const { t: _t } = useTranslate();
17342
+ const { t: _t } = hooks.useTranslate();
17863
17343
  const safeContent = typeof content === "string" ? content : String(content ?? "");
17864
17344
  return /* @__PURE__ */ jsxRuntime.jsx(
17865
17345
  Box,
@@ -18085,7 +17565,7 @@ function Card2({
18085
17565
  longPressPayload
18086
17566
  }) {
18087
17567
  const eventBus = useEventBus();
18088
- const { t } = useTranslate();
17568
+ const { t } = hooks.useTranslate();
18089
17569
  const isClickable = !!onClick || !!action;
18090
17570
  const handleLongPress = React97.useCallback(() => {
18091
17571
  if (longPressEvent) {
@@ -18160,7 +17640,6 @@ var init_Card2 = __esm({
18160
17640
  "components/core/molecules/Card.tsx"() {
18161
17641
  "use client";
18162
17642
  init_useEventBus();
18163
- init_useTranslate();
18164
17643
  init_useLongPress();
18165
17644
  Card2.displayName = "Card";
18166
17645
  }
@@ -18174,14 +17653,13 @@ var init_QuizBlock = __esm({
18174
17653
  init_Button();
18175
17654
  init_Icon();
18176
17655
  init_Box();
18177
- init_useTranslate();
18178
17656
  init_cn();
18179
17657
  QuizBlock = ({
18180
17658
  question,
18181
17659
  answer,
18182
17660
  className
18183
17661
  }) => {
18184
- const { t } = useTranslate();
17662
+ const { t } = hooks.useTranslate();
18185
17663
  const [revealed, setRevealed] = React97.useState(false);
18186
17664
  return /* @__PURE__ */ jsxRuntime.jsx(Card2, { className: cn("my-4 border-blue-200 dark:border-blue-800", className), children: /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "sm", className: "p-4", children: [
18187
17665
  /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "sm", align: "start", children: [
@@ -18217,11 +17695,10 @@ var init_StateMachineView = __esm({
18217
17695
  init_Typography();
18218
17696
  init_Button();
18219
17697
  init_Icon();
18220
- init_useTranslate();
18221
17698
  init_useEventBus();
18222
17699
  init_cn();
18223
17700
  StateNode = ({ state, config }) => {
18224
- const { t } = useTranslate();
17701
+ const { t } = hooks.useTranslate();
18225
17702
  const size = state.radius * 2;
18226
17703
  let borderColor = config.colors.nodeBorder;
18227
17704
  let borderWidth = 2;
@@ -18328,7 +17805,7 @@ var init_StateMachineView = __esm({
18328
17805
  );
18329
17806
  };
18330
17807
  TransitionBundleArrow = ({ bundle, states, bundleIndex, config, onClick, onHover }) => {
18331
- const { t } = useTranslate();
17808
+ const { t } = hooks.useTranslate();
18332
17809
  const groupRef = React97.useRef(null);
18333
17810
  const fromState = states.find((s) => s.name === bundle.from);
18334
17811
  const toState = states.find((s) => s.name === bundle.to);
@@ -18578,7 +18055,7 @@ var init_StateMachineView = __esm({
18578
18055
  );
18579
18056
  };
18580
18057
  BundleTooltip = ({ tooltip, config }) => {
18581
- const { t } = useTranslate();
18058
+ const { t } = hooks.useTranslate();
18582
18059
  if (!tooltip.visible || !tooltip.bundle) return null;
18583
18060
  const { bundle } = tooltip;
18584
18061
  const isSingle = bundle.labels.length === 1;
@@ -18730,7 +18207,7 @@ var init_StateMachineView = __esm({
18730
18207
  );
18731
18208
  };
18732
18209
  EntityBox = ({ entity, config }) => {
18733
- const { t } = useTranslate();
18210
+ const { t } = hooks.useTranslate();
18734
18211
  return /* @__PURE__ */ jsxRuntime.jsxs(
18735
18212
  VStack,
18736
18213
  {
@@ -18771,7 +18248,7 @@ var init_StateMachineView = __esm({
18771
18248
  );
18772
18249
  };
18773
18250
  OutputsBox = ({ outputs, config }) => {
18774
- const { t } = useTranslate();
18251
+ const { t } = hooks.useTranslate();
18775
18252
  return /* @__PURE__ */ jsxRuntime.jsxs(
18776
18253
  VStack,
18777
18254
  {
@@ -18813,7 +18290,7 @@ var init_StateMachineView = __esm({
18813
18290
  );
18814
18291
  };
18815
18292
  Legend = ({ config, y }) => {
18816
- const { t } = useTranslate();
18293
+ const { t } = hooks.useTranslate();
18817
18294
  const items = [
18818
18295
  { key: "initial", label: t("stateMachine.legend.initial"), color: config.colors.initialNode, isMultiEvent: false },
18819
18296
  { key: "final", label: t("stateMachine.legend.final"), color: config.colors.finalNode, isMultiEvent: false },
@@ -18857,7 +18334,7 @@ var init_StateMachineView = __esm({
18857
18334
  isLoading: _isLoading,
18858
18335
  error: _error
18859
18336
  }) => {
18860
- const { t } = useTranslate();
18337
+ const { t } = hooks.useTranslate();
18861
18338
  const [tooltip, setTooltip] = React97.useState({
18862
18339
  visible: false,
18863
18340
  pinned: false,
@@ -19584,7 +19061,6 @@ var init_JazariStateMachine = __esm({
19584
19061
  init_StateMachineView();
19585
19062
  init_visualizer();
19586
19063
  init_svg_paths();
19587
- init_useTranslate();
19588
19064
  init_cn();
19589
19065
  JAZARI_VISUALIZER_CONFIG = {
19590
19066
  ...DEFAULT_CONFIG,
@@ -19620,7 +19096,7 @@ var init_JazariStateMachine = __esm({
19620
19096
  isLoading = false,
19621
19097
  error = null
19622
19098
  }) => {
19623
- const { t } = useTranslate();
19099
+ const { t } = hooks.useTranslate();
19624
19100
  const resolvedTrait = React97.useMemo(
19625
19101
  () => extractTrait(schema, traitProp, traitIndex),
19626
19102
  [schema, traitProp, traitIndex]
@@ -19740,7 +19216,6 @@ var init_ContentRenderer = __esm({
19740
19216
  init_ScaledDiagram();
19741
19217
  init_JazariStateMachine();
19742
19218
  init_parseContentSegments();
19743
- init_useTranslate();
19744
19219
  init_cn();
19745
19220
  ContentRenderer = ({
19746
19221
  content,
@@ -19748,7 +19223,7 @@ var init_ContentRenderer = __esm({
19748
19223
  direction,
19749
19224
  className
19750
19225
  }) => {
19751
- const { t: _t } = useTranslate();
19226
+ const { t: _t } = hooks.useTranslate();
19752
19227
  const segments = React97.useMemo(
19753
19228
  () => segmentsProp ?? parseContentSegments(content),
19754
19229
  [segmentsProp, content]
@@ -19834,14 +19309,13 @@ var init_BookChapterView = __esm({
19834
19309
  init_ScaledDiagram();
19835
19310
  init_ContentRenderer();
19836
19311
  init_JazariStateMachine();
19837
- init_useTranslate();
19838
19312
  init_cn();
19839
19313
  BookChapterView = ({
19840
19314
  chapter,
19841
19315
  direction,
19842
19316
  className
19843
19317
  }) => {
19844
- const { t: _t } = useTranslate();
19318
+ const { t: _t } = hooks.useTranslate();
19845
19319
  return /* @__PURE__ */ jsxRuntime.jsxs(
19846
19320
  VStack,
19847
19321
  {
@@ -19873,7 +19347,6 @@ var init_BookCoverPage = __esm({
19873
19347
  init_Typography();
19874
19348
  init_Button();
19875
19349
  init_Box();
19876
- init_useTranslate();
19877
19350
  init_cn();
19878
19351
  BookCoverPage = ({
19879
19352
  title,
@@ -19883,7 +19356,7 @@ var init_BookCoverPage = __esm({
19883
19356
  direction,
19884
19357
  className
19885
19358
  }) => {
19886
- const { t } = useTranslate();
19359
+ const { t } = hooks.useTranslate();
19887
19360
  return /* @__PURE__ */ jsxRuntime.jsxs(
19888
19361
  VStack,
19889
19362
  {
@@ -19953,7 +19426,6 @@ var init_BookNavBar = __esm({
19953
19426
  init_Typography();
19954
19427
  init_ProgressBar();
19955
19428
  init_Box();
19956
- init_useTranslate();
19957
19429
  init_cn();
19958
19430
  BookNavBar = ({
19959
19431
  currentPage,
@@ -19962,7 +19434,7 @@ var init_BookNavBar = __esm({
19962
19434
  direction,
19963
19435
  className
19964
19436
  }) => {
19965
- const { t } = useTranslate();
19437
+ const { t } = hooks.useTranslate();
19966
19438
  const isRtl = direction === "rtl";
19967
19439
  const progress = totalPages > 1 ? currentPage / (totalPages - 1) * 100 : 0;
19968
19440
  const PrevIcon = isRtl ? LucideIcons2.ChevronRight : LucideIcons2.ChevronLeft;
@@ -20055,7 +19527,6 @@ var init_BookTableOfContents = __esm({
20055
19527
  init_Button();
20056
19528
  init_Box();
20057
19529
  init_Badge();
20058
- init_useTranslate();
20059
19530
  init_cn();
20060
19531
  BookTableOfContents = ({
20061
19532
  parts,
@@ -20063,7 +19534,7 @@ var init_BookTableOfContents = __esm({
20063
19534
  direction,
20064
19535
  className
20065
19536
  }) => {
20066
- const { t } = useTranslate();
19537
+ const { t } = hooks.useTranslate();
20067
19538
  return /* @__PURE__ */ jsxRuntime.jsxs(
20068
19539
  VStack,
20069
19540
  {
@@ -20115,7 +19586,6 @@ var init_EmptyState = __esm({
20115
19586
  init_Stack();
20116
19587
  init_Typography();
20117
19588
  init_useEventBus();
20118
- init_useTranslate();
20119
19589
  ICON_NAME_ALIASES = {
20120
19590
  check: "check-circle",
20121
19591
  error: "x-circle",
@@ -20141,7 +19611,7 @@ var init_EmptyState = __esm({
20141
19611
  look = "icon-only"
20142
19612
  }) => {
20143
19613
  const eventBus = useEventBus();
20144
- const { t } = useTranslate();
19614
+ const { t } = hooks.useTranslate();
20145
19615
  const handleAction = () => {
20146
19616
  if (actionEvent) eventBus.emit(`UI:${actionEvent}`, {});
20147
19617
  onAction?.();
@@ -20286,7 +19756,6 @@ var init_BookViewer = __esm({
20286
19756
  init_Box();
20287
19757
  init_Stack();
20288
19758
  init_useEventBus();
20289
- init_useTranslate();
20290
19759
  init_cn();
20291
19760
  init_BookCoverPage();
20292
19761
  init_BookTableOfContents();
@@ -20312,7 +19781,7 @@ var init_BookViewer = __esm({
20312
19781
  className
20313
19782
  }) => {
20314
19783
  const eventBus = useEventBus();
20315
- const { t } = useTranslate();
19784
+ const { t } = hooks.useTranslate();
20316
19785
  const [currentPage, setCurrentPage] = React97.useState(initialPage);
20317
19786
  const resolvedFieldMap = React97.useMemo(() => resolveFieldMap(fieldMap), [fieldMap]);
20318
19787
  const book = React97.useMemo(() => {
@@ -20718,7 +20187,6 @@ var init_BranchingLogicBuilder = __esm({
20718
20187
  init_FilterPill();
20719
20188
  init_Box();
20720
20189
  init_useEventBus();
20721
- init_useTranslate();
20722
20190
  init_cn();
20723
20191
  END_OF_SURVEY = "end-of-survey";
20724
20192
  RuleRow = ({
@@ -20729,7 +20197,7 @@ var init_BranchingLogicBuilder = __esm({
20729
20197
  onChange,
20730
20198
  onDelete
20731
20199
  }) => {
20732
- const { t } = useTranslate();
20200
+ const { t } = hooks.useTranslate();
20733
20201
  const operatorOptions = React97.useMemo(
20734
20202
  () => [
20735
20203
  { value: "equals", label: t("branchingLogic.operatorEquals") },
@@ -20904,7 +20372,7 @@ var init_BranchingLogicBuilder = __esm({
20904
20372
  NODE_GAP_Y = 80;
20905
20373
  PADDING = 32;
20906
20374
  LogicGraph = ({ questions, rules }) => {
20907
- const { t } = useTranslate();
20375
+ const { t } = hooks.useTranslate();
20908
20376
  const endOfSurveyLabel = t("branchingLogic.endOfSurvey");
20909
20377
  const layout = React97.useMemo(() => {
20910
20378
  const items = [
@@ -21036,7 +20504,7 @@ var init_BranchingLogicBuilder = __esm({
21036
20504
  readOnly = false,
21037
20505
  className
21038
20506
  }) => {
21039
- const { t } = useTranslate();
20507
+ const { t } = hooks.useTranslate();
21040
20508
  const eventBus = useEventBus();
21041
20509
  const questions = Array.isArray(questionsProp) ? questionsProp : [];
21042
20510
  const rulesInitial = Array.isArray(rulesProp) ? rulesProp : [];
@@ -21171,7 +20639,6 @@ var init_Breadcrumb = __esm({
21171
20639
  init_Typography();
21172
20640
  init_cn();
21173
20641
  init_useEventBus();
21174
- init_useTranslate();
21175
20642
  Breadcrumb = ({
21176
20643
  items,
21177
20644
  separator = "chevron-right",
@@ -21179,7 +20646,7 @@ var init_Breadcrumb = __esm({
21179
20646
  className
21180
20647
  }) => {
21181
20648
  const eventBus = useEventBus();
21182
- const { t } = useTranslate();
20649
+ const { t } = hooks.useTranslate();
21183
20650
  const displayItems = maxItems && items.length > maxItems ? [
21184
20651
  ...items.slice(0, 1),
21185
20652
  { label: "...", isCurrent: false },
@@ -21258,7 +20725,7 @@ function BuilderBoard({
21258
20725
  className
21259
20726
  }) {
21260
20727
  const { emit } = useEventBus();
21261
- const { t } = useTranslate();
20728
+ const { t } = hooks.useTranslate();
21262
20729
  const resolved = Array.isArray(entity) ? entity[0] : entity;
21263
20730
  const [placements, setPlacements] = React97.useState({});
21264
20731
  const [headerError, setHeaderError] = React97.useState(false);
@@ -21407,7 +20874,6 @@ var init_BuilderBoard = __esm({
21407
20874
  "components/game/organisms/puzzles/builder/BuilderBoard.tsx"() {
21408
20875
  init_atoms2();
21409
20876
  init_useEventBus();
21410
- init_useTranslate();
21411
20877
  BuilderBoard.displayName = "BuilderBoard";
21412
20878
  }
21413
20879
  });
@@ -21675,7 +21141,7 @@ function CalendarGrid({
21675
21141
  }) {
21676
21142
  const evs = Array.isArray(events2) ? events2 : events2 ? [events2] : [];
21677
21143
  const eventBus = useEventBus();
21678
- const { t } = useTranslate();
21144
+ const { t } = hooks.useTranslate();
21679
21145
  const longPressTimer = React97.useRef(null);
21680
21146
  const resolvedWeekStart = React97.useMemo(
21681
21147
  () => weekStart ? getStartOfWeek(weekStart) : getStartOfWeek(/* @__PURE__ */ new Date()),
@@ -21885,7 +21351,6 @@ var init_CalendarGrid = __esm({
21885
21351
  init_TimeSlotCell();
21886
21352
  init_useEventBus();
21887
21353
  init_useSwipeGesture();
21888
- init_useTranslate();
21889
21354
  SHORT_DATE = { month: "short", day: "numeric" };
21890
21355
  CalendarGrid.displayName = "CalendarGrid";
21891
21356
  }
@@ -23194,7 +22659,6 @@ var init_Pagination = __esm({
23194
22659
  init_Stack();
23195
22660
  init_cn();
23196
22661
  init_useEventBus();
23197
- init_useTranslate();
23198
22662
  Pagination = ({
23199
22663
  currentPage,
23200
22664
  totalPages,
@@ -23213,7 +22677,7 @@ var init_Pagination = __esm({
23213
22677
  pageSizeChangeEvent
23214
22678
  }) => {
23215
22679
  const eventBus = useEventBus();
23216
- const { t } = useTranslate();
22680
+ const { t } = hooks.useTranslate();
23217
22681
  const [jumpToPage, setJumpToPage] = React97.useState("");
23218
22682
  const handlePageChange = (page) => {
23219
22683
  if (pageChangeEvent) eventBus.emit(`UI:${pageChangeEvent}`, { page });
@@ -23398,7 +22862,6 @@ var init_CardGrid = __esm({
23398
22862
  init_cn();
23399
22863
  init_getNestedValue();
23400
22864
  init_useEventBus();
23401
- init_useTranslate();
23402
22865
  init_atoms2();
23403
22866
  init_Badge();
23404
22867
  init_Box();
@@ -23442,7 +22905,7 @@ var init_CardGrid = __esm({
23442
22905
  imageField
23443
22906
  }) => {
23444
22907
  const eventBus = useEventBus();
23445
- const { t } = useTranslate();
22908
+ const { t } = hooks.useTranslate();
23446
22909
  const effectiveFieldNames = normalizeFields(fields).length > 0 ? normalizeFields(fields) : fieldNames ?? normalizeFields(columns);
23447
22910
  const gridTemplateColumns = `repeat(auto-fit, minmax(min(${minCardWidth}px, 100%), 1fr))`;
23448
22911
  const normalizedData = Array.isArray(entity) ? entity : entity ? [entity] : [];
@@ -23627,7 +23090,6 @@ var init_Carousel = __esm({
23627
23090
  init_cn();
23628
23091
  init_useEventBus();
23629
23092
  init_useSwipeGesture();
23630
- init_useTranslate();
23631
23093
  init_Box();
23632
23094
  init_Stack();
23633
23095
  init_Button();
@@ -23648,7 +23110,7 @@ var init_Carousel = __esm({
23648
23110
  const scrollRef = React97.useRef(null);
23649
23111
  const autoPlayRef = React97.useRef(null);
23650
23112
  const eventBus = useSafeEventBus3();
23651
- const { t } = useTranslate();
23113
+ const { t } = hooks.useTranslate();
23652
23114
  const safeItems = items ?? [];
23653
23115
  const totalSlides = safeItems.length;
23654
23116
  const emitSlideChange = React97.useCallback(
@@ -23864,7 +23326,6 @@ var init_CaseStudyOrganism = __esm({
23864
23326
  "use client";
23865
23327
  init_cn();
23866
23328
  init_useEventBus();
23867
- init_useTranslate();
23868
23329
  init_Stack();
23869
23330
  init_Typography();
23870
23331
  init_SimpleGrid();
@@ -23880,7 +23341,7 @@ var init_CaseStudyOrganism = __esm({
23880
23341
  subtitle
23881
23342
  }) => {
23882
23343
  useEventBus();
23883
- const { t } = useTranslate();
23344
+ const { t } = hooks.useTranslate();
23884
23345
  const items = React97.useMemo(
23885
23346
  () => Array.isArray(entity) ? entity : entity && typeof entity === "object" ? [entity] : [],
23886
23347
  [entity]
@@ -24069,7 +23530,6 @@ var init_Chart = __esm({
24069
23530
  init_ErrorState();
24070
23531
  init_EmptyState();
24071
23532
  init_useEventBus();
24072
- init_useTranslate();
24073
23533
  CHART_COLORS = [
24074
23534
  "var(--color-primary)",
24075
23535
  "var(--color-success)",
@@ -24642,7 +24102,7 @@ var init_Chart = __esm({
24642
24102
  }) => {
24643
24103
  const resolvedLook = look ?? (chartType ? LOOK_FROM_CHART_TYPE[chartType] : "bar-vertical");
24644
24104
  const eventBus = useEventBus();
24645
- const { t } = useTranslate();
24105
+ const { t } = hooks.useTranslate();
24646
24106
  const handleAction = React97.useCallback(
24647
24107
  (action) => {
24648
24108
  if (action.event) {
@@ -24839,7 +24299,7 @@ function ClassifierBoard({
24839
24299
  className
24840
24300
  }) {
24841
24301
  const { emit } = useEventBus();
24842
- const { t } = useTranslate();
24302
+ const { t } = hooks.useTranslate();
24843
24303
  const resolved = Array.isArray(entity) ? entity[0] : entity;
24844
24304
  const [assignments, setAssignments] = React97.useState({});
24845
24305
  const [headerError, setHeaderError] = React97.useState(false);
@@ -24977,7 +24437,6 @@ var init_ClassifierBoard = __esm({
24977
24437
  "components/game/organisms/puzzles/classifier/ClassifierBoard.tsx"() {
24978
24438
  init_atoms2();
24979
24439
  init_useEventBus();
24980
- init_useTranslate();
24981
24440
  ClassifierBoard.displayName = "ClassifierBoard";
24982
24441
  }
24983
24442
  });
@@ -24987,7 +24446,7 @@ function CodeView({
24987
24446
  defaultExpanded = false,
24988
24447
  className
24989
24448
  }) {
24990
- const { t } = useTranslate();
24449
+ const { t } = hooks.useTranslate();
24991
24450
  const [expanded, setExpanded] = React97.useState(defaultExpanded);
24992
24451
  const jsonString = JSON.stringify(data, null, 2);
24993
24452
  return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { className: cn("rounded-lg border border-border overflow-hidden", className), gap: "none", children: [
@@ -25009,7 +24468,6 @@ var init_CodeView = __esm({
25009
24468
  "components/game/organisms/puzzles/state-architect/CodeView.tsx"() {
25010
24469
  init_atoms2();
25011
24470
  init_cn();
25012
- init_useTranslate();
25013
24471
  CodeView.displayName = "CodeView";
25014
24472
  }
25015
24473
  });
@@ -25023,7 +24481,6 @@ var init_Tabs = __esm({
25023
24481
  init_Box();
25024
24482
  init_cn();
25025
24483
  init_useEventBus();
25026
- init_useTranslate();
25027
24484
  Tabs = ({
25028
24485
  items,
25029
24486
  tabs,
@@ -25041,7 +24498,7 @@ var init_Tabs = __esm({
25041
24498
  id: id || value || ""
25042
24499
  }));
25043
24500
  const eventBus = useEventBus();
25044
- const { t } = useTranslate();
24501
+ const { t } = hooks.useTranslate();
25045
24502
  const initialActive = safeItems.find((item) => item.active)?.id;
25046
24503
  const [internalActiveTab, setInternalActiveTab] = React97.useState(
25047
24504
  defaultActiveTab || initialActive || safeItems[0]?.id || ""
@@ -25200,7 +24657,6 @@ var init_CodeViewer = __esm({
25200
24657
  init_EmptyState();
25201
24658
  init_Tabs();
25202
24659
  init_useEventBus();
25203
- init_useTranslate();
25204
24660
  DIFF_STYLES = {
25205
24661
  add: {
25206
24662
  bg: "bg-success/10",
@@ -25238,7 +24694,7 @@ var init_CodeViewer = __esm({
25238
24694
  className
25239
24695
  }) => {
25240
24696
  const eventBus = useEventBus();
25241
- const { t } = useTranslate();
24697
+ const { t } = hooks.useTranslate();
25242
24698
  const [copied, setCopied] = React97.useState(false);
25243
24699
  const [wrap, setWrap] = React97.useState(wordWrap);
25244
24700
  const [activeFileIndex, setActiveFileIndex] = React97.useState(0);
@@ -25572,7 +25028,6 @@ var init_ConfirmDialog = __esm({
25572
25028
  init_Box();
25573
25029
  init_Stack();
25574
25030
  init_cn();
25575
- init_useTranslate();
25576
25031
  variantConfig = {
25577
25032
  danger: {
25578
25033
  icon: LucideIcons2.Trash2,
@@ -25620,7 +25075,7 @@ var init_ConfirmDialog = __esm({
25620
25075
  className
25621
25076
  }) => {
25622
25077
  const config = variantConfig[variant];
25623
- const { t } = useTranslate();
25078
+ const { t } = hooks.useTranslate();
25624
25079
  const resolvedMessage = message ?? description ?? "";
25625
25080
  const resolvedConfirmText = confirmText ?? confirmLabel ?? t("dialog.confirm");
25626
25081
  const resolvedCancelText = cancelText ?? cancelLabel ?? t("dialog.cancel");
@@ -26054,7 +25509,6 @@ var init_DashboardGrid = __esm({
26054
25509
  "components/core/organisms/layout/DashboardGrid.tsx"() {
26055
25510
  init_cn();
26056
25511
  init_Box();
26057
- init_useTranslate();
26058
25512
  gapStyles5 = {
26059
25513
  sm: "gap-2",
26060
25514
  md: "gap-4",
@@ -26081,7 +25535,7 @@ var init_DashboardGrid = __esm({
26081
25535
  cells,
26082
25536
  className
26083
25537
  }) => {
26084
- const { t: _t } = useTranslate();
25538
+ const { t: _t } = hooks.useTranslate();
26085
25539
  return /* @__PURE__ */ jsxRuntime.jsx(
26086
25540
  Box,
26087
25541
  {
@@ -26148,7 +25602,6 @@ var init_DashboardLayout = __esm({
26148
25602
  init_Icon();
26149
25603
  init_useAuthContext();
26150
25604
  init_useEventBus();
26151
- init_useTranslate();
26152
25605
  init_CurrentPagePathContext();
26153
25606
  DashboardLayout = ({
26154
25607
  appName = "{{APP_TITLE}}",
@@ -26207,7 +25660,7 @@ var init_DashboardLayout = __esm({
26207
25660
  const activePath = currentPath ?? ctxPagePath ?? location.pathname;
26208
25661
  const { signOut: authSignOut } = useAuthContext();
26209
25662
  const user = userProp || (null);
26210
- const { t } = useTranslate();
25663
+ const { t } = hooks.useTranslate();
26211
25664
  const handleSignOut = onSignOutProp || authSignOut;
26212
25665
  const showSidebar = layoutMode === "sidebar";
26213
25666
  const showHeader = layoutMode !== "minimal";
@@ -27178,7 +26631,7 @@ function DataGrid({
27178
26631
  look = "dense"
27179
26632
  }) {
27180
26633
  const eventBus = useEventBus();
27181
- const { t } = useTranslate();
26634
+ const { t } = hooks.useTranslate();
27182
26635
  const [selectedIds, setSelectedIds] = React97.useState(/* @__PURE__ */ new Set());
27183
26636
  const [visibleCount, setVisibleCount] = React97.useState(pageSize || Infinity);
27184
26637
  const fieldDefs = fields ?? columns ?? [];
@@ -27493,7 +26946,6 @@ var init_DataGrid = __esm({
27493
26946
  init_cn();
27494
26947
  init_getNestedValue();
27495
26948
  init_useEventBus();
27496
- init_useTranslate();
27497
26949
  init_Box();
27498
26950
  init_Stack();
27499
26951
  init_Typography();
@@ -27618,7 +27070,7 @@ function DataList({
27618
27070
  look = "dense"
27619
27071
  }) {
27620
27072
  const eventBus = useEventBus();
27621
- const { t } = useTranslate();
27073
+ const { t } = hooks.useTranslate();
27622
27074
  const [visibleCount, setVisibleCount] = React97__namespace.default.useState(pageSize || Infinity);
27623
27075
  const fieldDefs = fields ?? columns ?? [];
27624
27076
  const allDataRaw = Array.isArray(entity) ? entity : entity ? [entity] : [];
@@ -27932,7 +27384,6 @@ var init_DataList = __esm({
27932
27384
  init_cn();
27933
27385
  init_getNestedValue();
27934
27386
  init_useEventBus();
27935
- init_useTranslate();
27936
27387
  init_Box();
27937
27388
  init_Stack();
27938
27389
  init_Typography();
@@ -27987,7 +27438,6 @@ var init_FileTree = __esm({
27987
27438
  init_Box();
27988
27439
  init_Typography();
27989
27440
  init_Icon();
27990
- init_useTranslate();
27991
27441
  TreeNodeItem = ({
27992
27442
  node,
27993
27443
  depth,
@@ -28073,7 +27523,7 @@ var init_FileTree = __esm({
28073
27523
  className,
28074
27524
  indent = 16
28075
27525
  }) => {
28076
- const { t } = useTranslate();
27526
+ const { t } = hooks.useTranslate();
28077
27527
  if (tree.length === 0) {
28078
27528
  return /* @__PURE__ */ jsxRuntime.jsx(Box, { className: `p-4 ${className ?? ""}`, children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", color: "muted", children: t("fileTree.noFiles") }) });
28079
27529
  }
@@ -28194,7 +27644,6 @@ var init_FilterGroup = __esm({
28194
27644
  init_Icon();
28195
27645
  init_useEventBus();
28196
27646
  init_useQuerySingleton();
28197
- init_useTranslate();
28198
27647
  resolveFilterType = (filter) => filter.filterType ?? filter.type;
28199
27648
  lookStyles6 = {
28200
27649
  toolbar: "",
@@ -28215,7 +27664,7 @@ var init_FilterGroup = __esm({
28215
27664
  isLoading,
28216
27665
  look = "toolbar"
28217
27666
  }) => {
28218
- const { t } = useTranslate();
27667
+ const { t } = hooks.useTranslate();
28219
27668
  const eventBus = useEventBus();
28220
27669
  const queryState = useQuerySingleton(query);
28221
27670
  const [selectedValues, setSelectedValues] = React97.useState(
@@ -28836,7 +28285,6 @@ var init_RelationSelect = __esm({
28836
28285
  init_Spinner();
28837
28286
  init_Typography();
28838
28287
  init_debug();
28839
- init_useTranslate();
28840
28288
  isRelationsDebugEnabled = () => isDebugEnabled();
28841
28289
  RelationSelect = ({
28842
28290
  value,
@@ -28853,7 +28301,7 @@ var init_RelationSelect = __esm({
28853
28301
  searchPlaceholder,
28854
28302
  emptyMessage
28855
28303
  }) => {
28856
- const { t } = useTranslate();
28304
+ const { t } = hooks.useTranslate();
28857
28305
  const resolvedPlaceholder = placeholder ?? t("relationSelect.selectPlaceholder");
28858
28306
  const resolvedSearchPlaceholder = searchPlaceholder ?? t("common.search");
28859
28307
  const resolvedEmptyMessage = emptyMessage ?? t("empty.noOptionsFound");
@@ -29061,7 +28509,6 @@ var init_SearchInput = __esm({
29061
28509
  init_cn();
29062
28510
  init_useEventBus();
29063
28511
  init_useQuerySingleton();
29064
- init_useTranslate();
29065
28512
  SearchInput = ({
29066
28513
  value,
29067
28514
  onSearch,
@@ -29076,7 +28523,7 @@ var init_SearchInput = __esm({
29076
28523
  ...props
29077
28524
  }) => {
29078
28525
  const eventBus = useEventBus();
29079
- const { t } = useTranslate();
28526
+ const { t } = hooks.useTranslate();
29080
28527
  const resolvedPlaceholder = placeholder ?? t("common.search");
29081
28528
  const queryState = useQuerySingleton(query);
29082
28529
  const initialValue = queryState?.search ?? value ?? "";
@@ -29164,7 +28611,6 @@ var init_SidePanel = __esm({
29164
28611
  init_Typography();
29165
28612
  init_cn();
29166
28613
  init_useEventBus();
29167
- init_useTranslate();
29168
28614
  SidePanel = ({
29169
28615
  title,
29170
28616
  children,
@@ -29177,7 +28623,7 @@ var init_SidePanel = __esm({
29177
28623
  closeEvent
29178
28624
  }) => {
29179
28625
  const eventBus = useEventBus();
29180
- const { t } = useTranslate();
28626
+ const { t } = hooks.useTranslate();
29181
28627
  const handleClose = () => {
29182
28628
  if (closeEvent) eventBus.emit(`UI:${closeEvent}`, {});
29183
28629
  onClose();
@@ -29343,7 +28789,6 @@ var init_WizardNavigation = __esm({
29343
28789
  init_Icon();
29344
28790
  init_cn();
29345
28791
  init_useEventBus();
29346
- init_useTranslate();
29347
28792
  WizardNavigation = ({
29348
28793
  currentStep,
29349
28794
  totalSteps,
@@ -29364,7 +28809,7 @@ var init_WizardNavigation = __esm({
29364
28809
  className
29365
28810
  }) => {
29366
28811
  const eventBus = useSafeEventBus4();
29367
- const { t } = useTranslate();
28812
+ const { t } = hooks.useTranslate();
29368
28813
  const resolvedBackLabel = backLabel ?? t("wizard.back");
29369
28814
  const resolvedNextLabel = nextLabel ?? t("wizard.next");
29370
28815
  const resolvedCompleteLabel = completeLabel ?? t("wizard.complete");
@@ -29431,7 +28876,6 @@ var init_RepeatableFormSection = __esm({
29431
28876
  init_Card();
29432
28877
  init_Icon();
29433
28878
  init_useEventBus();
29434
- init_useTranslate();
29435
28879
  RepeatableFormSection = ({
29436
28880
  sectionType,
29437
28881
  title,
@@ -29452,7 +28896,7 @@ var init_RepeatableFormSection = __esm({
29452
28896
  showAuditInfo = false
29453
28897
  }) => {
29454
28898
  const eventBus = useEventBus();
29455
- const { t } = useTranslate();
28899
+ const { t } = hooks.useTranslate();
29456
28900
  const resolvedAddLabel = addLabel ?? t("common.add");
29457
28901
  const resolvedEmptyMessage = emptyMessage ?? t("empty.noItemsAdded");
29458
28902
  const safeItems = items ?? [];
@@ -29562,7 +29006,6 @@ var actionTypeLabelKeys, actionTypeIcons, ViolationAlert;
29562
29006
  var init_ViolationAlert = __esm({
29563
29007
  "components/core/molecules/ViolationAlert.tsx"() {
29564
29008
  init_cn();
29565
- init_useTranslate();
29566
29009
  init_Box();
29567
29010
  init_Stack();
29568
29011
  init_Typography();
@@ -29588,7 +29031,7 @@ var init_ViolationAlert = __esm({
29588
29031
  className,
29589
29032
  ...flatProps
29590
29033
  }) => {
29591
- const { t } = useTranslate();
29034
+ const { t } = hooks.useTranslate();
29592
29035
  const resolvedViolation = violation ?? {
29593
29036
  law: "",
29594
29037
  article: "",
@@ -30068,7 +29511,6 @@ var init_LineChart = __esm({
30068
29511
  "use client";
30069
29512
  init_cn();
30070
29513
  init_atoms2();
30071
- init_useTranslate();
30072
29514
  LineChart2 = ({
30073
29515
  data,
30074
29516
  width = 400,
@@ -30080,7 +29522,7 @@ var init_LineChart = __esm({
30080
29522
  areaColor = "var(--color-primary)",
30081
29523
  className
30082
29524
  }) => {
30083
- const { t } = useTranslate();
29525
+ const { t } = hooks.useTranslate();
30084
29526
  const gradientId = React97.useId();
30085
29527
  const safeData = data ?? [];
30086
29528
  const sortedData = React97.useMemo(() => {
@@ -32024,7 +31466,6 @@ var init_GraphView = __esm({
32024
31466
  "use client";
32025
31467
  init_cn();
32026
31468
  init_atoms2();
32027
- init_useTranslate();
32028
31469
  GROUP_COLORS = [
32029
31470
  "#3b82f6",
32030
31471
  // blue-500
@@ -32057,7 +31498,7 @@ var init_GraphView = __esm({
32057
31498
  showLabels = true,
32058
31499
  zoomToFit = true
32059
31500
  }) => {
32060
- const { t } = useTranslate();
31501
+ const { t } = hooks.useTranslate();
32061
31502
  const containerRef = React97.useRef(null);
32062
31503
  const animRef = React97.useRef(0);
32063
31504
  const [simNodes, setSimNodes] = React97.useState([]);
@@ -32350,7 +31791,6 @@ var init_NumberStepper = __esm({
32350
31791
  init_cn();
32351
31792
  init_Icon();
32352
31793
  init_useEventBus();
32353
- init_useTranslate();
32354
31794
  sizeStyles10 = {
32355
31795
  sm: {
32356
31796
  button: "w-7 h-7",
@@ -32384,7 +31824,7 @@ var init_NumberStepper = __esm({
32384
31824
  label
32385
31825
  }) => {
32386
31826
  const eventBus = useSafeEventBus5();
32387
- const { t } = useTranslate();
31827
+ const { t } = hooks.useTranslate();
32388
31828
  const intervalRef = React97.useRef(null);
32389
31829
  const timeoutRef = React97.useRef(null);
32390
31830
  const isAtMin = min !== void 0 && value <= min;
@@ -32691,7 +32131,6 @@ var init_UploadDropZone = __esm({
32691
32131
  init_Icon();
32692
32132
  init_Typography();
32693
32133
  init_useEventBus();
32694
- init_useTranslate();
32695
32134
  UploadDropZone = ({
32696
32135
  accept,
32697
32136
  maxSize,
@@ -32704,7 +32143,7 @@ var init_UploadDropZone = __esm({
32704
32143
  onFiles,
32705
32144
  className
32706
32145
  }) => {
32707
- const { t } = useTranslate();
32146
+ const { t } = hooks.useTranslate();
32708
32147
  const resolvedLabel = label ?? t("upload.dropOrBrowse");
32709
32148
  const [isDragOver, setIsDragOver] = React97.useState(false);
32710
32149
  const [error, setError] = React97.useState(null);
@@ -32858,7 +32297,6 @@ var init_Lightbox = __esm({
32858
32297
  init_Icon();
32859
32298
  init_cn();
32860
32299
  init_useEventBus();
32861
- init_useTranslate();
32862
32300
  Lightbox = ({
32863
32301
  images = [],
32864
32302
  currentIndex = 0,
@@ -32873,7 +32311,7 @@ var init_Lightbox = __esm({
32873
32311
  const [index, setIndex] = React97.useState(currentIndex);
32874
32312
  const [touchStartX, setTouchStartX] = React97.useState(null);
32875
32313
  const eventBus = useSafeEventBus8();
32876
- const { t } = useTranslate();
32314
+ const { t } = hooks.useTranslate();
32877
32315
  React97.useEffect(() => {
32878
32316
  setIndex(currentIndex);
32879
32317
  }, [currentIndex]);
@@ -33111,7 +32549,7 @@ function TableView({
33111
32549
  dndRoot
33112
32550
  }) {
33113
32551
  const eventBus = useEventBus();
33114
- const { t } = useTranslate();
32552
+ const { t } = hooks.useTranslate();
33115
32553
  const [visibleCount, setVisibleCount] = React97__namespace.default.useState(pageSize > 0 ? pageSize : Infinity);
33116
32554
  const [localSelected, setLocalSelected] = React97__namespace.default.useState(/* @__PURE__ */ new Set());
33117
32555
  const colDefs = columns ?? fields ?? [];
@@ -33343,7 +32781,6 @@ var init_TableView = __esm({
33343
32781
  init_cn();
33344
32782
  init_getNestedValue();
33345
32783
  init_useEventBus();
33346
- init_useTranslate();
33347
32784
  init_Box();
33348
32785
  init_Stack();
33349
32786
  init_Typography();
@@ -33547,7 +32984,6 @@ var init_Meter = __esm({
33547
32984
  init_LoadingState();
33548
32985
  init_ErrorState();
33549
32986
  init_useEventBus();
33550
- init_useTranslate();
33551
32987
  DEFAULT_THRESHOLDS = [
33552
32988
  { value: 30, color: "var(--color-error)" },
33553
32989
  { value: 70, color: "var(--color-warning)" },
@@ -33575,7 +33011,7 @@ var init_Meter = __esm({
33575
33011
  className
33576
33012
  }) => {
33577
33013
  const eventBus = useEventBus();
33578
- const { t } = useTranslate();
33014
+ const { t } = hooks.useTranslate();
33579
33015
  const handleAction = React97.useCallback(
33580
33016
  (action) => {
33581
33017
  if (action.event) {
@@ -35494,7 +34930,6 @@ var init_VoteStack = __esm({
35494
34930
  init_cn();
35495
34931
  init_Icon();
35496
34932
  init_useEventBus();
35497
- init_useTranslate();
35498
34933
  sizeStyles12 = {
35499
34934
  sm: {
35500
34935
  button: "w-7 h-7",
@@ -35527,7 +34962,7 @@ var init_VoteStack = __esm({
35527
34962
  const isUp = userVote === "up";
35528
34963
  const isDown = userVote === "down";
35529
34964
  const eventBus = useEventBus();
35530
- const { t } = useTranslate();
34965
+ const { t } = hooks.useTranslate();
35531
34966
  const handleUp = React97.useCallback(() => {
35532
34967
  const next = isUp ? null : "up";
35533
34968
  onVote?.(next);
@@ -35949,7 +35384,6 @@ var init_QrScanner = __esm({
35949
35384
  init_atoms2();
35950
35385
  init_Icon();
35951
35386
  init_useEventBus();
35952
- init_useTranslate();
35953
35387
  QrScanner = ({
35954
35388
  onScan,
35955
35389
  scanEvent,
@@ -35962,7 +35396,7 @@ var init_QrScanner = __esm({
35962
35396
  className
35963
35397
  }) => {
35964
35398
  const eventBus = useEventBus();
35965
- const { t } = useTranslate();
35399
+ const { t } = hooks.useTranslate();
35966
35400
  const videoRef = React97.useRef(null);
35967
35401
  const streamRef = React97.useRef(null);
35968
35402
  const scanIntervalRef = React97.useRef(null);
@@ -36176,7 +35610,6 @@ var init_OptionConstraintGroup = __esm({
36176
35610
  "components/core/molecules/OptionConstraintGroup.tsx"() {
36177
35611
  init_cn();
36178
35612
  init_useEventBus();
36179
- init_useTranslate();
36180
35613
  init_Typography();
36181
35614
  init_Box();
36182
35615
  init_Label();
@@ -36232,7 +35665,7 @@ var init_OptionConstraintGroup = __esm({
36232
35665
  className
36233
35666
  }) => {
36234
35667
  const eventBus = useEventBus();
36235
- const { t } = useTranslate();
35668
+ const { t } = hooks.useTranslate();
36236
35669
  const hint = constraintHint(constraint, t);
36237
35670
  const error = validateSelection(selected, constraint, t);
36238
35671
  const inputName = `option-${groupId}`;
@@ -36656,7 +36089,7 @@ function changeBlockType(block, type) {
36656
36089
  return { id: block.id, type, content: seed };
36657
36090
  }
36658
36091
  function BlockMenu({ block, readOnly, onDelete, onDuplicate, onChangeType }) {
36659
- const { t } = useTranslate();
36092
+ const { t } = hooks.useTranslate();
36660
36093
  const [open, setOpen] = React97.useState(false);
36661
36094
  const ref = React97.useRef(null);
36662
36095
  React97.useEffect(() => {
@@ -36813,7 +36246,7 @@ function BlockRow({
36813
36246
  onInsertAfter,
36814
36247
  onChangeType
36815
36248
  }) {
36816
- const { t } = useTranslate();
36249
+ const { t } = hooks.useTranslate();
36817
36250
  const setContent = React97.useCallback(
36818
36251
  (next) => onUpdate((b) => ({ ...b, content: next })),
36819
36252
  [onUpdate]
@@ -37132,7 +36565,6 @@ var init_RichBlockEditor = __esm({
37132
36565
  init_Input();
37133
36566
  init_Icon();
37134
36567
  init_useEventBus();
37135
- init_useTranslate();
37136
36568
  TOOLBAR_ENTRIES = [
37137
36569
  { type: "paragraph", labelKey: "richBlockEditor.toolbar.text", icon: LucideIcons2.Type },
37138
36570
  { type: "heading-1", labelKey: "richBlockEditor.toolbar.h1", icon: LucideIcons2.Heading1 },
@@ -37189,7 +36621,7 @@ var init_RichBlockEditor = __esm({
37189
36621
  showToolbar = true,
37190
36622
  className
37191
36623
  }) => {
37192
- const { t } = useTranslate();
36624
+ const { t } = hooks.useTranslate();
37193
36625
  const [blocks, setBlocks] = React97.useState(
37194
36626
  () => normalizeBlocks(initialBlocks)
37195
36627
  );
@@ -37323,7 +36755,6 @@ var init_ReplyTree = __esm({
37323
36755
  "use client";
37324
36756
  init_cn();
37325
36757
  init_useEventBus();
37326
- init_useTranslate();
37327
36758
  init_atoms2();
37328
36759
  init_VoteStack();
37329
36760
  ReplyTreeNode = ({
@@ -37343,7 +36774,7 @@ var init_ReplyTree = __esm({
37343
36774
  showActions
37344
36775
  }) => {
37345
36776
  const eventBus = useEventBus();
37346
- const { t } = useTranslate();
36777
+ const { t } = hooks.useTranslate();
37347
36778
  const hasReplies = !!node.replies && node.replies.length > 0;
37348
36779
  const isCollapsed = collapsedSet.has(node.id);
37349
36780
  const atMaxDepth = depth >= maxDepth;
@@ -37534,7 +36965,7 @@ var init_ReplyTree = __esm({
37534
36965
  showActions = true,
37535
36966
  className
37536
36967
  }) => {
37537
- const { t } = useTranslate();
36968
+ const { t } = hooks.useTranslate();
37538
36969
  const nodeList = Array.isArray(nodes) ? nodes : nodes ? [nodes] : [];
37539
36970
  const [collapsedSet, setCollapsedSet] = React97.useState(() => {
37540
36971
  const acc = /* @__PURE__ */ new Set();
@@ -37631,7 +37062,6 @@ var init_VersionDiff = __esm({
37631
37062
  "use client";
37632
37063
  init_cn();
37633
37064
  init_useEventBus();
37634
- init_useTranslate();
37635
37065
  init_atoms2();
37636
37066
  init_Stack();
37637
37067
  INLINE_STYLES = {
@@ -37654,7 +37084,7 @@ var init_VersionDiff = __esm({
37654
37084
  language,
37655
37085
  className
37656
37086
  }) => {
37657
- const { t } = useTranslate();
37087
+ const { t } = hooks.useTranslate();
37658
37088
  const eventBus = useEventBus();
37659
37089
  const revisions = Array.isArray(revisionsProp) ? revisionsProp : [];
37660
37090
  const fallbackBefore = revisions[0]?.id ?? "";
@@ -37947,12 +37377,11 @@ var init_DocBreadcrumb = __esm({
37947
37377
  init_Stack();
37948
37378
  init_Typography();
37949
37379
  init_Icon();
37950
- init_useTranslate();
37951
37380
  DocBreadcrumb = ({
37952
37381
  items,
37953
37382
  className
37954
37383
  }) => {
37955
- const { t } = useTranslate();
37384
+ const { t } = hooks.useTranslate();
37956
37385
  return /* @__PURE__ */ jsxRuntime.jsx(
37957
37386
  Box,
37958
37387
  {
@@ -38203,7 +37632,7 @@ function DocSearch({
38203
37632
  onSearch,
38204
37633
  className
38205
37634
  }) {
38206
- const { t } = useTranslate();
37635
+ const { t } = hooks.useTranslate();
38207
37636
  const resolvedPlaceholder = placeholder ?? t("docSearch.placeholder");
38208
37637
  const [query, setQuery] = React97.useState("");
38209
37638
  const [results, setResults] = React97.useState([]);
@@ -38376,7 +37805,6 @@ var init_DocSearch = __esm({
38376
37805
  init_Typography();
38377
37806
  init_Icon();
38378
37807
  init_Input();
38379
- init_useTranslate();
38380
37808
  }
38381
37809
  });
38382
37810
  var DocSidebarCategory, DocSidebar;
@@ -38389,7 +37817,6 @@ var init_DocSidebar = __esm({
38389
37817
  init_Stack();
38390
37818
  init_Typography();
38391
37819
  init_Icon();
38392
- init_useTranslate();
38393
37820
  DocSidebarCategory = ({ item, depth }) => {
38394
37821
  const [expanded, setExpanded] = React97.useState(
38395
37822
  () => item.items?.some(function hasActive(child) {
@@ -38474,7 +37901,7 @@ var init_DocSidebar = __esm({
38474
37901
  items,
38475
37902
  className
38476
37903
  }) => {
38477
- const { t } = useTranslate();
37904
+ const { t } = hooks.useTranslate();
38478
37905
  return /* @__PURE__ */ jsxRuntime.jsx(
38479
37906
  Box,
38480
37907
  {
@@ -38496,13 +37923,12 @@ var init_DocTOC = __esm({
38496
37923
  init_Box();
38497
37924
  init_Stack();
38498
37925
  init_Typography();
38499
- init_useTranslate();
38500
37926
  DocTOC = ({
38501
37927
  items,
38502
37928
  activeId,
38503
37929
  className
38504
37930
  }) => {
38505
- const { t } = useTranslate();
37931
+ const { t } = hooks.useTranslate();
38506
37932
  return /* @__PURE__ */ jsxRuntime.jsx(
38507
37933
  Box,
38508
37934
  {
@@ -38822,7 +38248,6 @@ var init_Header = __esm({
38822
38248
  init_Stack();
38823
38249
  init_Typography();
38824
38250
  init_cn();
38825
- init_useTranslate();
38826
38251
  lookStyles8 = {
38827
38252
  "compact-bar": "",
38828
38253
  hero: "py-section min-h-[200px] [&_h1]:text-display-1",
@@ -38851,7 +38276,7 @@ var init_Header = __esm({
38851
38276
  onLogoClick,
38852
38277
  className
38853
38278
  }) => {
38854
- const { t } = useTranslate();
38279
+ const { t } = hooks.useTranslate();
38855
38280
  const resolvedSearchPlaceholder = searchPlaceholder ?? t("common.search");
38856
38281
  const userInitials = userAvatar?.initials || userName?.[0]?.toUpperCase() || "U";
38857
38282
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -39142,7 +38567,6 @@ var init_Sidebar = __esm({
39142
38567
  init_Typography();
39143
38568
  init_cn();
39144
38569
  init_useEventBus();
39145
- init_useTranslate();
39146
38570
  SidebarNavItem = ({ item, collapsed }) => {
39147
38571
  const Icon3 = item.icon;
39148
38572
  const isActive = item.active ?? item.isActive;
@@ -39206,7 +38630,7 @@ var init_Sidebar = __esm({
39206
38630
  className
39207
38631
  }) => {
39208
38632
  const { emit } = useEventBus();
39209
- const { t } = useTranslate();
38633
+ const { t } = hooks.useTranslate();
39210
38634
  const [internalCollapsed, setInternalCollapsed] = React97.useState(defaultCollapsed);
39211
38635
  const collapsed = controlledCollapsed !== void 0 ? controlledCollapsed : internalCollapsed;
39212
38636
  const handleToggle = React97.useCallback(() => {
@@ -39396,7 +38820,6 @@ var init_WizardContainer = __esm({
39396
38820
  init_Stack();
39397
38821
  init_Icon();
39398
38822
  init_cn();
39399
- init_useTranslate();
39400
38823
  WizardContainer = ({
39401
38824
  steps,
39402
38825
  currentStep: controlledStep,
@@ -39409,7 +38832,7 @@ var init_WizardContainer = __esm({
39409
38832
  entity: _entity
39410
38833
  // Accept but don't use directly yet
39411
38834
  }) => {
39412
- const { t } = useTranslate();
38835
+ const { t } = hooks.useTranslate();
39413
38836
  const [internalStep, setInternalStep] = React97.useState(0);
39414
38837
  const normalizedControlledStep = (() => {
39415
38838
  if (controlledStep === void 0 || controlledStep === null)
@@ -39970,7 +39393,6 @@ var init_SignaturePad = __esm({
39970
39393
  init_LoadingState();
39971
39394
  init_ErrorState();
39972
39395
  init_useEventBus();
39973
- init_useTranslate();
39974
39396
  SignaturePad = ({
39975
39397
  label,
39976
39398
  helperText,
@@ -39988,7 +39410,7 @@ var init_SignaturePad = __esm({
39988
39410
  className
39989
39411
  }) => {
39990
39412
  const eventBus = useEventBus();
39991
- const { t } = useTranslate();
39413
+ const { t } = hooks.useTranslate();
39992
39414
  const resolvedLabel = label ?? t("signaturePad.label");
39993
39415
  const resolvedHelperText = helperText ?? t("signaturePad.helperText");
39994
39416
  const canvasRef = React97.useRef(null);
@@ -40164,7 +39586,6 @@ var init_DocumentViewer = __esm({
40164
39586
  init_EmptyState();
40165
39587
  init_Tabs();
40166
39588
  init_useEventBus();
40167
- init_useTranslate();
40168
39589
  DocumentViewer = ({
40169
39590
  title,
40170
39591
  src,
@@ -40184,7 +39605,7 @@ var init_DocumentViewer = __esm({
40184
39605
  className
40185
39606
  }) => {
40186
39607
  const eventBus = useEventBus();
40187
- const { t } = useTranslate();
39608
+ const { t } = hooks.useTranslate();
40188
39609
  const [zoom, setZoom] = React97.useState(100);
40189
39610
  const [currentPage, setCurrentPage] = React97.useState(propPage ?? 1);
40190
39611
  const [activeDocIndex, setActiveDocIndex] = React97.useState(0);
@@ -40369,7 +39790,6 @@ var init_GraphCanvas = __esm({
40369
39790
  init_ErrorState();
40370
39791
  init_EmptyState();
40371
39792
  init_useEventBus();
40372
- init_useTranslate();
40373
39793
  GROUP_COLORS2 = [
40374
39794
  "var(--color-primary)",
40375
39795
  "var(--color-success)",
@@ -40396,7 +39816,7 @@ var init_GraphCanvas = __esm({
40396
39816
  className
40397
39817
  }) => {
40398
39818
  const eventBus = useEventBus();
40399
- const { t } = useTranslate();
39819
+ const { t } = hooks.useTranslate();
40400
39820
  const canvasRef = React97.useRef(null);
40401
39821
  const animRef = React97.useRef(0);
40402
39822
  const [zoom, setZoom] = React97.useState(1);
@@ -40746,7 +40166,7 @@ function DataTable({
40746
40166
  null
40747
40167
  );
40748
40168
  const eventBus = useEventBus();
40749
- const { t } = useTranslate();
40169
+ const { t } = hooks.useTranslate();
40750
40170
  const resolvedEmptyTitle = emptyTitle ?? t("table.empty.title");
40751
40171
  const resolvedEmptyDescription = emptyDescription ?? t("table.empty.description");
40752
40172
  const resolvedSearchPlaceholder = searchPlaceholder ?? t("common.search");
@@ -41107,7 +40527,6 @@ var init_DataTable = __esm({
41107
40527
  init_molecules2();
41108
40528
  init_Icon();
41109
40529
  init_useEventBus();
41110
- init_useTranslate();
41111
40530
  init_types3();
41112
40531
  lookStyles9 = {
41113
40532
  dense: "",
@@ -41125,7 +40544,7 @@ function DebuggerBoard({
41125
40544
  className
41126
40545
  }) {
41127
40546
  const { emit } = useEventBus();
41128
- const { t } = useTranslate();
40547
+ const { t } = hooks.useTranslate();
41129
40548
  const resolved = Array.isArray(entity) ? entity[0] : entity;
41130
40549
  const [flaggedLines, setFlaggedLines] = React97.useState(/* @__PURE__ */ new Set());
41131
40550
  const [headerError, setHeaderError] = React97.useState(false);
@@ -41254,7 +40673,6 @@ var init_DebuggerBoard = __esm({
41254
40673
  "components/game/organisms/puzzles/debugger/DebuggerBoard.tsx"() {
41255
40674
  init_atoms2();
41256
40675
  init_useEventBus();
41257
- init_useTranslate();
41258
40676
  DebuggerBoard.displayName = "DebuggerBoard";
41259
40677
  }
41260
40678
  });
@@ -41425,7 +40843,6 @@ var init_DetailPanel = __esm({
41425
40843
  init_cn();
41426
40844
  init_getNestedValue();
41427
40845
  init_useEventBus();
41428
- init_useTranslate();
41429
40846
  ReactMarkdown2 = React97.lazy(() => import('react-markdown'));
41430
40847
  DetailPanel = ({
41431
40848
  title: propTitle,
@@ -41445,7 +40862,7 @@ var init_DetailPanel = __esm({
41445
40862
  error
41446
40863
  }) => {
41447
40864
  const eventBus = useEventBus();
41448
- const { t } = useTranslate();
40865
+ const { t } = hooks.useTranslate();
41449
40866
  const isFieldDefArray = (arr) => {
41450
40867
  if (!arr || arr.length === 0) return false;
41451
40868
  const first = arr[0];
@@ -41843,7 +41260,7 @@ function CompactView({
41843
41260
  stateStyles,
41844
41261
  className
41845
41262
  }) {
41846
- const { t } = useTranslate();
41263
+ const { t } = hooks.useTranslate();
41847
41264
  const config = SIZE_CONFIG2[size || "md"];
41848
41265
  const currentTransitions = trait.transitions.filter((t2) => t2.from === trait.currentState);
41849
41266
  return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { className: cn("p-3 rounded-container bg-card border border-border", className), gap: "sm", children: [
@@ -41879,7 +41296,7 @@ function FullView({
41879
41296
  stateStyles,
41880
41297
  className
41881
41298
  }) {
41882
- const { t } = useTranslate();
41299
+ const { t } = hooks.useTranslate();
41883
41300
  const config = SIZE_CONFIG2[size || "md"];
41884
41301
  const currentTransitions = trait.transitions.filter((t2) => t2.from === trait.currentState);
41885
41302
  return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { className: cn("p-3 rounded-container bg-card border border-border", className), gap: "sm", children: [
@@ -42004,7 +41421,6 @@ var init_TraitStateViewer = __esm({
42004
41421
  "components/game/organisms/TraitStateViewer.tsx"() {
42005
41422
  "use client";
42006
41423
  init_cn();
42007
- init_useTranslate();
42008
41424
  init_Box();
42009
41425
  init_Typography();
42010
41426
  init_Stack();
@@ -42026,7 +41442,7 @@ function RuleEditor({
42026
41442
  disabled = false,
42027
41443
  className
42028
41444
  }) {
42029
- const { t } = useTranslate();
41445
+ const { t } = hooks.useTranslate();
42030
41446
  const handleWhenChange = React97.useCallback((e) => {
42031
41447
  onChange({ ...rule, whenEvent: e.target.value });
42032
41448
  }, [rule, onChange]);
@@ -42063,7 +41479,6 @@ var init_RuleEditor = __esm({
42063
41479
  "components/game/organisms/puzzles/event-handler/RuleEditor.tsx"() {
42064
41480
  init_atoms2();
42065
41481
  init_cn();
42066
- init_useTranslate();
42067
41482
  RuleEditor.displayName = "RuleEditor";
42068
41483
  }
42069
41484
  });
@@ -42073,7 +41488,7 @@ function ObjectRulePanel({
42073
41488
  disabled = false,
42074
41489
  className
42075
41490
  }) {
42076
- const { t } = useTranslate();
41491
+ const { t } = hooks.useTranslate();
42077
41492
  const maxRules = object.maxRules || 3;
42078
41493
  const canAdd = object.rules.length < maxRules;
42079
41494
  const handleRuleChange = React97.useCallback((index, updatedRule) => {
@@ -42138,7 +41553,6 @@ var init_ObjectRulePanel = __esm({
42138
41553
  "components/game/organisms/puzzles/event-handler/ObjectRulePanel.tsx"() {
42139
41554
  init_atoms2();
42140
41555
  init_cn();
42141
- init_useTranslate();
42142
41556
  init_TraitStateViewer();
42143
41557
  init_RuleEditor();
42144
41558
  nextRuleId = 1;
@@ -42151,7 +41565,7 @@ function EventLog({
42151
41565
  label,
42152
41566
  className
42153
41567
  }) {
42154
- const { t } = useTranslate();
41568
+ const { t } = hooks.useTranslate();
42155
41569
  const scrollRef = React97.useRef(null);
42156
41570
  React97.useEffect(() => {
42157
41571
  if (scrollRef.current) {
@@ -42183,7 +41597,6 @@ var init_EventLog = __esm({
42183
41597
  "components/game/organisms/puzzles/event-handler/EventLog.tsx"() {
42184
41598
  init_atoms2();
42185
41599
  init_cn();
42186
- init_useTranslate();
42187
41600
  STATUS_STYLES = {
42188
41601
  pending: "text-muted-foreground",
42189
41602
  active: "text-primary animate-pulse",
@@ -42207,7 +41620,7 @@ function EventHandlerBoard({
42207
41620
  className
42208
41621
  }) {
42209
41622
  const { emit } = useEventBus();
42210
- const { t } = useTranslate();
41623
+ const { t } = hooks.useTranslate();
42211
41624
  const resolved = Array.isArray(entity) ? entity[0] : entity;
42212
41625
  const entityObjects = resolved?.objects ?? [];
42213
41626
  const [objects, setObjects] = React97.useState(entityObjects);
@@ -42397,7 +41810,6 @@ var init_EventHandlerBoard = __esm({
42397
41810
  init_atoms2();
42398
41811
  init_cn();
42399
41812
  init_useEventBus();
42400
- init_useTranslate();
42401
41813
  init_TraitStateViewer();
42402
41814
  init_ObjectRulePanel();
42403
41815
  init_EventLog();
@@ -42467,7 +41879,6 @@ var init_FeatureGridOrganism = __esm({
42467
41879
  "use client";
42468
41880
  init_cn();
42469
41881
  init_useEventBus();
42470
- init_useTranslate();
42471
41882
  init_Stack();
42472
41883
  init_Typography();
42473
41884
  init_FeatureGrid();
@@ -42483,7 +41894,7 @@ var init_FeatureGridOrganism = __esm({
42483
41894
  subtitle
42484
41895
  }) => {
42485
41896
  const eventBus = useEventBus();
42486
- const { t } = useTranslate();
41897
+ const { t } = hooks.useTranslate();
42487
41898
  const items = React97.useMemo(
42488
41899
  () => Array.isArray(entity) ? entity : entity && typeof entity === "object" ? [entity] : [],
42489
41900
  [entity]
@@ -42650,7 +42061,6 @@ var init_Form = __esm({
42650
42061
  init_RelationSelect();
42651
42062
  init_Alert();
42652
42063
  init_useEventBus();
42653
- init_useTranslate();
42654
42064
  init_debug();
42655
42065
  layoutStyles = {
42656
42066
  vertical: "flex flex-col",
@@ -42701,7 +42111,7 @@ var init_Form = __esm({
42701
42111
  ...props
42702
42112
  }) => {
42703
42113
  const eventBus = useEventBus();
42704
- const { t } = useTranslate();
42114
+ const { t } = hooks.useTranslate();
42705
42115
  const resolvedSubmitLabel = submitLabel ?? t("common.save");
42706
42116
  const resolvedCancelLabel = cancelLabel ?? t("common.cancel");
42707
42117
  const isSchemaEntity = isOrbitalEntitySchema(entity);
@@ -43810,7 +43220,6 @@ var init_HeroOrganism = __esm({
43810
43220
  "use client";
43811
43221
  init_cn();
43812
43222
  init_useEventBus();
43813
- init_useTranslate();
43814
43223
  init_HeroSection();
43815
43224
  init_LoadingState();
43816
43225
  init_ErrorState();
@@ -43822,7 +43231,7 @@ var init_HeroOrganism = __esm({
43822
43231
  children
43823
43232
  }) => {
43824
43233
  const eventBus = useEventBus();
43825
- const { t } = useTranslate();
43234
+ const { t } = hooks.useTranslate();
43826
43235
  const resolved = React97.useMemo(
43827
43236
  () => Array.isArray(entity) ? entity[0] : entity && typeof entity === "object" ? entity : void 0,
43828
43237
  [entity]
@@ -43916,7 +43325,6 @@ var LandingPageTemplate;
43916
43325
  var init_LandingPageTemplate = __esm({
43917
43326
  "components/marketing/templates/LandingPageTemplate.tsx"() {
43918
43327
  init_cn();
43919
- init_useTranslate();
43920
43328
  init_Stack();
43921
43329
  init_Box();
43922
43330
  init_Container();
@@ -43934,7 +43342,7 @@ var init_LandingPageTemplate = __esm({
43934
43342
  featureColumns = 3,
43935
43343
  className
43936
43344
  }) => {
43937
- const { t } = useTranslate();
43345
+ const { t } = hooks.useTranslate();
43938
43346
  const resolved = entity && typeof entity === "object" && !Array.isArray(entity) ? entity : void 0;
43939
43347
  if (!resolved) return null;
43940
43348
  return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "none", className: cn("w-full", className), children: [
@@ -44116,7 +43524,6 @@ var init_List = __esm({
44116
43524
  init_cn();
44117
43525
  init_getNestedValue();
44118
43526
  init_useEventBus();
44119
- init_useTranslate();
44120
43527
  init_types3();
44121
43528
  STATUS_STYLES2 = {
44122
43529
  complete: {
@@ -44241,7 +43648,7 @@ var init_List = __esm({
44241
43648
  entityType
44242
43649
  }) => {
44243
43650
  const eventBus = useEventBus();
44244
- const { t } = useTranslate();
43651
+ const { t } = hooks.useTranslate();
44245
43652
  const resolvedEmptyMessage = emptyMessage ?? t("empty.noData");
44246
43653
  const effectiveFieldNames = normalizeFields2(fields).length > 0 ? normalizeFields2(fields) : fieldNames;
44247
43654
  const rawItems = React97.useMemo(() => {
@@ -44588,7 +43995,7 @@ function MasterDetail({
44588
43995
  className,
44589
43996
  ...rest
44590
43997
  }) {
44591
- const { t } = useTranslate();
43998
+ const { t } = hooks.useTranslate();
44592
43999
  const loading = externalLoading ?? false;
44593
44000
  const isLoading = externalIsLoading ?? false;
44594
44001
  const error = externalError ?? null;
@@ -44611,7 +44018,6 @@ var init_MasterDetail = __esm({
44611
44018
  "components/core/organisms/MasterDetail.tsx"() {
44612
44019
  "use client";
44613
44020
  init_DataTable();
44614
- init_useTranslate();
44615
44021
  MasterDetail.displayName = "MasterDetail";
44616
44022
  }
44617
44023
  });
@@ -44620,9 +44026,8 @@ var init_MasterDetailLayout = __esm({
44620
44026
  "components/core/organisms/layout/MasterDetailLayout.tsx"() {
44621
44027
  init_cn();
44622
44028
  init_Typography();
44623
- init_useTranslate();
44624
44029
  DefaultEmptyDetail = () => {
44625
- const { t } = useTranslate();
44030
+ const { t } = hooks.useTranslate();
44626
44031
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center h-full border-2 border-dashed border-border", children: /* @__PURE__ */ jsxRuntime.jsx(
44627
44032
  Typography,
44628
44033
  {
@@ -44681,7 +44086,6 @@ var init_MediaGallery = __esm({
44681
44086
  init_ErrorState();
44682
44087
  init_EmptyState();
44683
44088
  init_useEventBus();
44684
- init_useTranslate();
44685
44089
  COLUMN_CLASSES = {
44686
44090
  2: "grid-cols-2",
44687
44091
  3: "grid-cols-2 sm:grid-cols-3",
@@ -44710,7 +44114,7 @@ var init_MediaGallery = __esm({
44710
44114
  className
44711
44115
  }) => {
44712
44116
  const eventBus = useEventBus();
44713
- const { t } = useTranslate();
44117
+ const { t } = hooks.useTranslate();
44714
44118
  const [lightboxItem, setLightboxItem] = React97.useState(null);
44715
44119
  const closeLightbox = React97.useCallback(() => setLightboxItem(null), []);
44716
44120
  useEventListener("UI:LIGHTBOX_CLOSE", closeLightbox);
@@ -44952,7 +44356,7 @@ function NegotiatorBoard({
44952
44356
  className
44953
44357
  }) {
44954
44358
  const { emit } = useEventBus();
44955
- const { t } = useTranslate();
44359
+ const { t } = hooks.useTranslate();
44956
44360
  const resolved = Array.isArray(entity) ? entity[0] : entity;
44957
44361
  const [history, setHistory] = React97.useState([]);
44958
44362
  const [headerError, setHeaderError] = React97.useState(false);
@@ -45082,7 +44486,6 @@ var init_NegotiatorBoard = __esm({
45082
44486
  "components/game/organisms/puzzles/negotiator/NegotiatorBoard.tsx"() {
45083
44487
  init_atoms2();
45084
44488
  init_useEventBus();
45085
- init_useTranslate();
45086
44489
  NegotiatorBoard.displayName = "NegotiatorBoard";
45087
44490
  }
45088
44491
  });
@@ -45092,7 +44495,6 @@ var init_PricingOrganism = __esm({
45092
44495
  "use client";
45093
44496
  init_cn();
45094
44497
  init_useEventBus();
45095
- init_useTranslate();
45096
44498
  init_Stack();
45097
44499
  init_Typography();
45098
44500
  init_PricingGrid();
@@ -45107,7 +44509,7 @@ var init_PricingOrganism = __esm({
45107
44509
  subtitle
45108
44510
  }) => {
45109
44511
  useEventBus();
45110
- const { t } = useTranslate();
44512
+ const { t } = hooks.useTranslate();
45111
44513
  const items = React97.useMemo(
45112
44514
  () => Array.isArray(entity) ? entity : entity && typeof entity === "object" ? [entity] : [],
45113
44515
  [entity]
@@ -45142,7 +44544,6 @@ var PricingPageTemplate;
45142
44544
  var init_PricingPageTemplate = __esm({
45143
44545
  "components/marketing/templates/PricingPageTemplate.tsx"() {
45144
44546
  init_cn();
45145
- init_useTranslate();
45146
44547
  init_Stack();
45147
44548
  init_Box();
45148
44549
  init_Container();
@@ -45155,7 +44556,7 @@ var init_PricingPageTemplate = __esm({
45155
44556
  entity,
45156
44557
  className
45157
44558
  }) => {
45158
- const { t } = useTranslate();
44559
+ const { t } = hooks.useTranslate();
45159
44560
  const resolved = entity && typeof entity === "object" && !Array.isArray(entity) ? entity : void 0;
45160
44561
  if (!resolved) return null;
45161
44562
  return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "none", className: cn("w-full", className), children: [
@@ -45657,7 +45058,7 @@ var init_WalkMinimap = __esm({
45657
45058
  }
45658
45059
  });
45659
45060
  function TraitsTab({ traits: traits2 }) {
45660
- const { t } = useTranslate();
45061
+ const { t } = hooks.useTranslate();
45661
45062
  if (traits2.length === 0) {
45662
45063
  return /* @__PURE__ */ jsxRuntime.jsx(
45663
45064
  EmptyState,
@@ -45725,12 +45126,11 @@ var init_TraitsTab = __esm({
45725
45126
  init_Typography();
45726
45127
  init_Stack();
45727
45128
  init_EmptyState();
45728
- init_useTranslate();
45729
45129
  TraitsTab.displayName = "TraitsTab";
45730
45130
  }
45731
45131
  });
45732
45132
  function TicksTab({ ticks: ticks2 }) {
45733
- const { t } = useTranslate();
45133
+ const { t } = hooks.useTranslate();
45734
45134
  const activeTicks = ticks2.filter((t2) => t2.active);
45735
45135
  const inactiveTicks = ticks2.filter((t2) => !t2.active);
45736
45136
  if (ticks2.length === 0) {
@@ -45803,12 +45203,11 @@ var init_TicksTab = __esm({
45803
45203
  init_Stack();
45804
45204
  init_Card();
45805
45205
  init_EmptyState();
45806
- init_useTranslate();
45807
45206
  TicksTab.displayName = "TicksTab";
45808
45207
  }
45809
45208
  });
45810
45209
  function EntitiesTab({ snapshot }) {
45811
- const { t } = useTranslate();
45210
+ const { t } = hooks.useTranslate();
45812
45211
  if (!snapshot) {
45813
45212
  return /* @__PURE__ */ jsxRuntime.jsx(
45814
45213
  EmptyState,
@@ -45877,12 +45276,11 @@ var init_EntitiesTab = __esm({
45877
45276
  init_Typography();
45878
45277
  init_Stack();
45879
45278
  init_EmptyState();
45880
- init_useTranslate();
45881
45279
  EntitiesTab.displayName = "EntitiesTab";
45882
45280
  }
45883
45281
  });
45884
45282
  function EventFlowTab({ events: events2 }) {
45885
- const { t } = useTranslate();
45283
+ const { t } = hooks.useTranslate();
45886
45284
  const [filter, setFilter] = React97__namespace.useState("all");
45887
45285
  const containerRef = React97__namespace.useRef(null);
45888
45286
  const [autoScroll, setAutoScroll] = React97__namespace.useState(true);
@@ -45994,7 +45392,6 @@ var init_EventFlowTab = __esm({
45994
45392
  init_Button();
45995
45393
  init_Checkbox();
45996
45394
  init_EmptyState();
45997
- init_useTranslate();
45998
45395
  TYPE_BADGES = {
45999
45396
  trait: { variant: "primary", icon: "\u{1F504}" },
46000
45397
  tick: { variant: "warning", icon: "\u23F1\uFE0F" },
@@ -46007,7 +45404,7 @@ var init_EventFlowTab = __esm({
46007
45404
  }
46008
45405
  });
46009
45406
  function GuardsPanel({ guards }) {
46010
- const { t } = useTranslate();
45407
+ const { t } = hooks.useTranslate();
46011
45408
  const [filter, setFilter] = React97__namespace.useState("all");
46012
45409
  if (guards.length === 0) {
46013
45410
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -46089,12 +45486,11 @@ var init_GuardsPanel = __esm({
46089
45486
  init_ButtonGroup();
46090
45487
  init_Button();
46091
45488
  init_EmptyState();
46092
- init_useTranslate();
46093
45489
  GuardsPanel.displayName = "GuardsPanel";
46094
45490
  }
46095
45491
  });
46096
45492
  function VerificationTab({ checks, summary }) {
46097
- const { t } = useTranslate();
45493
+ const { t } = hooks.useTranslate();
46098
45494
  if (checks.length === 0) {
46099
45495
  return /* @__PURE__ */ jsxRuntime.jsx(
46100
45496
  EmptyState,
@@ -46165,7 +45561,6 @@ var init_VerificationTab = __esm({
46165
45561
  init_Typography();
46166
45562
  init_Stack();
46167
45563
  init_EmptyState();
46168
- init_useTranslate();
46169
45564
  STATUS_CONFIG = {
46170
45565
  pass: { variant: "success", icon: "\u2713", label: "PASS" },
46171
45566
  fail: { variant: "danger", icon: "\u2717", label: "FAIL" },
@@ -46185,7 +45580,7 @@ function EffectBadge({ effect }) {
46185
45580
  ] });
46186
45581
  }
46187
45582
  function TransitionTimeline({ transitions }) {
46188
- const { t } = useTranslate();
45583
+ const { t } = hooks.useTranslate();
46189
45584
  const containerRef = React97__namespace.useRef(null);
46190
45585
  const [autoScroll, setAutoScroll] = React97__namespace.useState(true);
46191
45586
  const [expandedId, setExpandedId] = React97__namespace.useState(null);
@@ -46301,7 +45696,6 @@ var init_TransitionTimeline = __esm({
46301
45696
  init_Typography();
46302
45697
  init_EmptyState();
46303
45698
  init_Checkbox();
46304
- init_useTranslate();
46305
45699
  EFFECT_STATUS_VARIANT = {
46306
45700
  executed: "success",
46307
45701
  failed: "danger",
@@ -46317,7 +45711,7 @@ function StatRow({ label, value, variant }) {
46317
45711
  ] });
46318
45712
  }
46319
45713
  function ServerBridgeTab({ bridge }) {
46320
- const { t } = useTranslate();
45714
+ const { t } = hooks.useTranslate();
46321
45715
  if (!bridge) {
46322
45716
  return /* @__PURE__ */ jsxRuntime.jsx(
46323
45717
  EmptyState,
@@ -46391,7 +45785,6 @@ var init_ServerBridgeTab = __esm({
46391
45785
  init_Stack();
46392
45786
  init_Card();
46393
45787
  init_EmptyState();
46394
- init_useTranslate();
46395
45788
  ServerBridgeTab.displayName = "ServerBridgeTab";
46396
45789
  }
46397
45790
  });
@@ -46470,7 +45863,7 @@ function getAllEvents(traits2) {
46470
45863
  }
46471
45864
  function EventDispatcherTab({ traits: traits2, schema }) {
46472
45865
  const eventBus = useEventBus();
46473
- const { t } = useTranslate();
45866
+ const { t } = hooks.useTranslate();
46474
45867
  const [log16, setLog] = React97__namespace.useState([]);
46475
45868
  const prevStatesRef = React97__namespace.useRef(/* @__PURE__ */ new Map());
46476
45869
  React97__namespace.useEffect(() => {
@@ -46556,7 +45949,6 @@ var init_EventDispatcherTab = __esm({
46556
45949
  init_Stack();
46557
45950
  init_EmptyState();
46558
45951
  init_useEventBus();
46559
- init_useTranslate();
46560
45952
  EventDispatcherTab.displayName = "EventDispatcherTab";
46561
45953
  }
46562
45954
  });
@@ -46567,7 +45959,7 @@ var init_RuntimeDebugger = __esm({
46567
45959
  }
46568
45960
  });
46569
45961
  function ServerResponseRow({ sr }) {
46570
- const { t } = useTranslate();
45962
+ const { t } = hooks.useTranslate();
46571
45963
  const entityEntries = Object.entries(sr.dataEntities);
46572
45964
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ml-4 pl-2 border-l border-purple-500/30 py-0.5 text-xs font-mono", children: [
46573
45965
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
@@ -46593,7 +45985,7 @@ function ServerResponseRow({ sr }) {
46593
45985
  ] });
46594
45986
  }
46595
45987
  function TransitionRow({ trace }) {
46596
- const { t } = useTranslate();
45988
+ const { t } = hooks.useTranslate();
46597
45989
  const isServerEntry = !!trace.serverResponse && trace.traitName.startsWith("server:");
46598
45990
  const hasFailedEffects = trace.effects.some((e) => e.status === "failed");
46599
45991
  if (isServerEntry && trace.serverResponse) {
@@ -46642,7 +46034,7 @@ function VerifyModePanel({
46642
46034
  serverCount,
46643
46035
  localCount
46644
46036
  }) {
46645
- const { t } = useTranslate();
46037
+ const { t } = hooks.useTranslate();
46646
46038
  const [expanded, setExpanded] = React97__namespace.useState(true);
46647
46039
  const scrollRef = React97__namespace.useRef(null);
46648
46040
  const prevCountRef = React97__namespace.useRef(0);
@@ -46702,7 +46094,7 @@ function RuntimeDebugger({
46702
46094
  defaultTab,
46703
46095
  schema
46704
46096
  }) {
46705
- const { t } = useTranslate();
46097
+ const { t } = hooks.useTranslate();
46706
46098
  const [isCollapsed, setIsCollapsed] = React97__namespace.useState(mode === "verify" ? true : defaultCollapsed);
46707
46099
  const [isVisible, setIsVisible] = React97__namespace.useState(mode === "inline" || mode === "verify" || isDebugEnabled2());
46708
46100
  const debugData = useDebugData();
@@ -46931,7 +46323,6 @@ var init_RuntimeDebugger2 = __esm({
46931
46323
  init_TransitionTimeline();
46932
46324
  init_ServerBridgeTab();
46933
46325
  init_EventDispatcherTab();
46934
- init_useTranslate();
46935
46326
  init_RuntimeDebugger();
46936
46327
  RuntimeDebugger.displayName = "RuntimeDebugger";
46937
46328
  }
@@ -47225,7 +46616,7 @@ function SequencerBoard({
47225
46616
  className
47226
46617
  }) {
47227
46618
  const { emit } = useEventBus();
47228
- const { t } = useTranslate();
46619
+ const { t } = hooks.useTranslate();
47229
46620
  const resolved = Array.isArray(entity) ? entity[0] : entity;
47230
46621
  const [headerError, setHeaderError] = React97.useState(false);
47231
46622
  const [slots, setSlots] = React97.useState(
@@ -47418,7 +46809,6 @@ var init_SequencerBoard = __esm({
47418
46809
  init_atoms2();
47419
46810
  init_cn();
47420
46811
  init_useEventBus();
47421
- init_useTranslate();
47422
46812
  init_TraitStateViewer();
47423
46813
  init_SequenceBar();
47424
46814
  init_ActionPalette();
@@ -47437,7 +46827,6 @@ var init_ShowcaseOrganism = __esm({
47437
46827
  "use client";
47438
46828
  init_cn();
47439
46829
  init_useEventBus();
47440
- init_useTranslate();
47441
46830
  init_Stack();
47442
46831
  init_Typography();
47443
46832
  init_SimpleGrid();
@@ -47454,7 +46843,7 @@ var init_ShowcaseOrganism = __esm({
47454
46843
  subtitle
47455
46844
  }) => {
47456
46845
  useEventBus();
47457
- const { t } = useTranslate();
46846
+ const { t } = hooks.useTranslate();
47458
46847
  const items = React97.useMemo(
47459
46848
  () => Array.isArray(entity) ? entity : entity && typeof entity === "object" ? [entity] : [],
47460
46849
  [entity]
@@ -47848,7 +47237,7 @@ function SimulatorBoard({
47848
47237
  className
47849
47238
  }) {
47850
47239
  const { emit } = useEventBus();
47851
- const { t } = useTranslate();
47240
+ const { t } = hooks.useTranslate();
47852
47241
  const resolved = Array.isArray(entity) ? entity[0] : entity;
47853
47242
  const parameters = resolved?.parameters ?? [];
47854
47243
  const [values, setValues] = React97.useState(() => {
@@ -47996,7 +47385,6 @@ var init_SimulatorBoard = __esm({
47996
47385
  "components/game/organisms/puzzles/simulator/SimulatorBoard.tsx"() {
47997
47386
  init_atoms2();
47998
47387
  init_useEventBus();
47999
- init_useTranslate();
48000
47388
  SimulatorBoard.displayName = "SimulatorBoard";
48001
47389
  }
48002
47390
  });
@@ -48101,7 +47489,6 @@ var init_StatCard = __esm({
48101
47489
  init_Button();
48102
47490
  init_Sparkline();
48103
47491
  init_useEventBus();
48104
- init_useTranslate();
48105
47492
  init_Icon();
48106
47493
  StatCard = ({
48107
47494
  label: propLabel,
@@ -48128,7 +47515,7 @@ var init_StatCard = __esm({
48128
47515
  const Icon3 = typeof iconProp === "string" ? resolveIcon(iconProp) ?? void 0 : iconProp;
48129
47516
  const labelToUse = propLabel ?? propTitle;
48130
47517
  const eventBus = useEventBus();
48131
- const { t } = useTranslate();
47518
+ const { t } = hooks.useTranslate();
48132
47519
  const handleActionClick = React97__namespace.default.useCallback(() => {
48133
47520
  if (action?.event) {
48134
47521
  eventBus.emit(`UI:${action.event}`, {});
@@ -48419,7 +47806,7 @@ function VariablePanel({
48419
47806
  variables,
48420
47807
  className
48421
47808
  }) {
48422
- const { t } = useTranslate();
47809
+ const { t } = hooks.useTranslate();
48423
47810
  return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { className: cn("p-3 rounded-lg bg-card border border-border", className), gap: "sm", children: [
48424
47811
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body2", className: "text-muted-foreground font-medium", children: t("stateArchitect.variables", { name: entityName }) }),
48425
47812
  variables.map((v) => {
@@ -48457,7 +47844,6 @@ var init_VariablePanel = __esm({
48457
47844
  "components/game/organisms/puzzles/state-architect/VariablePanel.tsx"() {
48458
47845
  init_atoms2();
48459
47846
  init_cn();
48460
- init_useTranslate();
48461
47847
  VariablePanel.displayName = "VariablePanel";
48462
47848
  }
48463
47849
  });
@@ -48483,7 +47869,7 @@ function StateArchitectBoard({
48483
47869
  className
48484
47870
  }) {
48485
47871
  const { emit } = useEventBus();
48486
- const { t } = useTranslate();
47872
+ const { t } = hooks.useTranslate();
48487
47873
  const resolved = Array.isArray(entity) ? entity[0] : entity;
48488
47874
  const [transitions, setTransitions] = React97.useState(resolved?.transitions ?? []);
48489
47875
  const [headerError, setHeaderError] = React97.useState(false);
@@ -48774,7 +48160,6 @@ var init_StateArchitectBoard = __esm({
48774
48160
  init_atoms2();
48775
48161
  init_cn();
48776
48162
  init_useEventBus();
48777
- init_useTranslate();
48778
48163
  init_TraitStateViewer();
48779
48164
  init_StateNode();
48780
48165
  init_TransitionArrow();
@@ -48794,7 +48179,6 @@ var init_StatsOrganism = __esm({
48794
48179
  "components/marketing/organisms/StatsOrganism.tsx"() {
48795
48180
  "use client";
48796
48181
  init_cn();
48797
- init_useTranslate();
48798
48182
  init_StatsGrid();
48799
48183
  init_LoadingState();
48800
48184
  init_ErrorState();
@@ -48805,7 +48189,7 @@ var init_StatsOrganism = __esm({
48805
48189
  className,
48806
48190
  columns = 3
48807
48191
  }) => {
48808
- const { t } = useTranslate();
48192
+ const { t } = hooks.useTranslate();
48809
48193
  const items = React97.useMemo(
48810
48194
  () => Array.isArray(entity) ? entity : entity && typeof entity === "object" ? [entity] : [],
48811
48195
  [entity]
@@ -48837,7 +48221,6 @@ var init_StepFlowOrganism = __esm({
48837
48221
  "components/core/organisms/StepFlowOrganism.tsx"() {
48838
48222
  "use client";
48839
48223
  init_cn();
48840
- init_useTranslate();
48841
48224
  init_Stack();
48842
48225
  init_Typography();
48843
48226
  init_StepFlow();
@@ -48853,7 +48236,7 @@ var init_StepFlowOrganism = __esm({
48853
48236
  heading,
48854
48237
  subtitle
48855
48238
  }) => {
48856
- const { t } = useTranslate();
48239
+ const { t } = hooks.useTranslate();
48857
48240
  const items = React97.useMemo(
48858
48241
  () => Array.isArray(entity) ? entity : entity && typeof entity === "object" ? [entity] : [],
48859
48242
  [entity]
@@ -49007,7 +48390,6 @@ var init_TeamOrganism = __esm({
49007
48390
  "components/marketing/organisms/TeamOrganism.tsx"() {
49008
48391
  "use client";
49009
48392
  init_cn();
49010
- init_useTranslate();
49011
48393
  init_Stack();
49012
48394
  init_Typography();
49013
48395
  init_SimpleGrid();
@@ -49022,7 +48404,7 @@ var init_TeamOrganism = __esm({
49022
48404
  heading,
49023
48405
  subtitle
49024
48406
  }) => {
49025
- const { t } = useTranslate();
48407
+ const { t } = hooks.useTranslate();
49026
48408
  const items = React97.useMemo(
49027
48409
  () => Array.isArray(entity) ? entity : entity && typeof entity === "object" ? [entity] : [],
49028
48410
  [entity]
@@ -49065,7 +48447,6 @@ var init_Timeline = __esm({
49065
48447
  init_LoadingState();
49066
48448
  init_ErrorState();
49067
48449
  init_EmptyState();
49068
- init_useTranslate();
49069
48450
  lookStyles10 = {
49070
48451
  "vertical-compact": "gap-1 [&>*]:py-1",
49071
48452
  "vertical-spacious": "",
@@ -49105,7 +48486,7 @@ var init_Timeline = __esm({
49105
48486
  className,
49106
48487
  look = "vertical-spacious"
49107
48488
  }) => {
49108
- const { t } = useTranslate();
48489
+ const { t } = hooks.useTranslate();
49109
48490
  const entityData = Array.isArray(entity) ? entity : [];
49110
48491
  const items = React97__namespace.default.useMemo(() => {
49111
48492
  if (propItems) return propItems;
@@ -50557,7 +49938,7 @@ function UISlotComponent({
50557
49938
  }) {
50558
49939
  const { slots, clear } = useUISlots();
50559
49940
  const eventBus = useEventBus();
50560
- const { t } = useTranslate();
49941
+ const { t } = hooks.useTranslate();
50561
49942
  const suspenseConfig = React97.useContext(SuspenseConfigContext);
50562
49943
  const contained = React97.useContext(SlotContainedContext);
50563
49944
  const content = slots[slot];
@@ -50659,7 +50040,7 @@ function CompiledPortal({ slot, className, pattern, sourceTrait, children }) {
50659
50040
  const [portalRoot, setPortalRoot] = React97.useState(null);
50660
50041
  const slotsBus = useUISlots();
50661
50042
  const eventBus = useEventBus();
50662
- const { t } = useTranslate();
50043
+ const { t } = hooks.useTranslate();
50663
50044
  React97.useEffect(() => {
50664
50045
  setPortalRoot(getOrCreatePortalRoot());
50665
50046
  }, []);
@@ -50949,7 +50330,7 @@ function SlotContentRenderer({
50949
50330
  }
50950
50331
  }
50951
50332
  const eventBus = useEventBus();
50952
- const { t } = useTranslate();
50333
+ const { t } = hooks.useTranslate();
50953
50334
  const schemaCtx = useEntitySchemaOptional();
50954
50335
  let entityDef;
50955
50336
  if (typeof entityProp === "string" && entityProp.length > 0 && schemaCtx) {
@@ -51139,7 +50520,6 @@ var init_UISlotRenderer = __esm({
51139
50520
  init_Box();
51140
50521
  init_Typography();
51141
50522
  init_useEventBus();
51142
- init_useTranslate();
51143
50523
  init_slot_types();
51144
50524
  init_cn();
51145
50525
  init_ErrorBoundary();
@@ -52468,9 +51848,6 @@ var AvlEmitListen = ({
52468
51848
  ] });
52469
51849
  };
52470
51850
  AvlEmitListen.displayName = "AvlEmitListen";
52471
-
52472
- // components/avl/molecules/AvlSlotMap.tsx
52473
- init_useTranslate();
52474
51851
  var SLOT_PRESETS = {
52475
51852
  header: { x: 10, y: 5, width: 340, height: 35 },
52476
51853
  main: { x: 120, y: 50, width: 230, height: 195 },
@@ -52515,7 +51892,7 @@ var AvlSlotMap = ({
52515
51892
  color = "var(--color-primary)",
52516
51893
  animated = false
52517
51894
  }) => {
52518
- const { t } = useTranslate();
51895
+ const { t } = hooks.useTranslate();
52519
51896
  const ox = (600 - pageWidth) / 2;
52520
51897
  const oy = (400 - pageHeight) / 2;
52521
51898
  let unknownIdx = 0;
@@ -53547,12 +52924,11 @@ var SystemNode = ({ data }) => {
53547
52924
  SystemNode.displayName = "SystemNode";
53548
52925
 
53549
52926
  // components/avl/molecules/DetailView.tsx
53550
- init_useTranslate();
53551
52927
  init_AvlState();
53552
52928
  init_AvlEffect();
53553
52929
  init_types();
53554
52930
  var DetailView = ({ data }) => {
53555
- const { t } = useTranslate();
52931
+ const { t } = hooks.useTranslate();
53556
52932
  const traitName = data.traits[0]?.name;
53557
52933
  const traitData = traitName ? data.traitDetails[traitName] : void 0;
53558
52934
  if (!traitData || traitData.transitions.length === 0) {
@@ -53632,7 +53008,6 @@ AvlOrbitalNode.displayName = "AvlOrbitalNode";
53632
53008
 
53633
53009
  // components/avl/molecules/AvlTransitionEdge.tsx
53634
53010
  init_types();
53635
- init_useTranslate();
53636
53011
  var AvlTransitionEdge = ({
53637
53012
  id,
53638
53013
  sourceX,
@@ -53645,7 +53020,7 @@ var AvlTransitionEdge = ({
53645
53020
  markerEnd,
53646
53021
  style
53647
53022
  }) => {
53648
- const { t } = useTranslate();
53023
+ const { t } = hooks.useTranslate();
53649
53024
  const [path, labelX, labelY] = react.getBezierPath({
53650
53025
  sourceX,
53651
53026
  sourceY,
@@ -55088,9 +54463,6 @@ function convertObjectProps(props) {
55088
54463
  function convertFnFormLambdasInProps(props) {
55089
54464
  return convertObjectProps(props);
55090
54465
  }
55091
-
55092
- // hooks/index.ts
55093
- init_useEventBus();
55094
54466
  var log12 = logger.createLogger("almadar:ui:effects:client-handlers");
55095
54467
  function createClientEffectHandlers(options) {
55096
54468
  const { eventBus, slotSetter, navigate, notify, callService } = options;
@@ -55159,7 +54531,7 @@ function normalizeEventKey(eventKey) {
55159
54531
  return eventKey.startsWith("UI:") ? eventKey.slice(3) : eventKey;
55160
54532
  }
55161
54533
  function useTraitStateMachine(traitBindings, uiSlots, options) {
55162
- const eventBus = useEventBus();
54534
+ const eventBus = hooks.useEventBus();
55163
54535
  const { entities } = useEntitySchema();
55164
54536
  const traitConfigsByName = options?.traitConfigsByName;
55165
54537
  const orbitalsByTrait = options?.orbitalsByTrait;
@@ -57000,7 +56372,6 @@ function BrowserPlayground({
57000
56372
 
57001
56373
  // components/avl/molecules/OrbPreviewNode.tsx
57002
56374
  init_useEventBus();
57003
- init_useTranslate();
57004
56375
 
57005
56376
  // components/avl/molecules/useCanvasDnd.tsx
57006
56377
  init_useEventBus();
@@ -57488,7 +56859,7 @@ var OrbPreviewNodeInner = (props) => {
57488
56859
  const screenSize = React97.useContext(ScreenSizeContext);
57489
56860
  const preset = SCREEN_SIZE_PRESETS[screenSize];
57490
56861
  const { select } = React97.useContext(PatternSelectionContext);
57491
- const { t } = useTranslate();
56862
+ const { t } = hooks.useTranslate();
57492
56863
  const eventBus = useEventBus();
57493
56864
  const reactFlow = react.useReactFlow();
57494
56865
  const contentRef = React97.useRef(null);
@@ -58215,7 +57586,6 @@ init_AvlEffect();
58215
57586
  init_AvlFieldType();
58216
57587
  init_types();
58217
57588
  init_useEventBus();
58218
- init_useTranslate();
58219
57589
  var inspectorLog = logger.createLogger("almadar:ui:inspector");
58220
57590
  function formatExpression(expr) {
58221
57591
  if (!expr) return "";
@@ -58314,7 +57684,7 @@ function OrbInspector({ node, schema, editable = false, userType = "builder", th
58314
57684
  const { selected: selectedPattern } = React97.useContext(PatternSelectionContext);
58315
57685
  const [activeTab, setActiveTab] = React97.useState("inspector");
58316
57686
  const eventBus = useEventBus();
58317
- const { t } = useTranslate();
57687
+ const { t } = hooks.useTranslate();
58318
57688
  const orbitalName = node.orbitalName ?? "";
58319
57689
  const traitName = node.traitName ?? "";
58320
57690
  const transitionEvent = node.transitionEvent ?? "";
@@ -58730,7 +58100,7 @@ function OrbInspector({ node, schema, editable = false, userType = "builder", th
58730
58100
  }
58731
58101
  function AddEffectButton({ onAdd }) {
58732
58102
  const [open, setOpen] = React97.useState(false);
58733
- const { t } = useTranslate();
58103
+ const { t } = hooks.useTranslate();
58734
58104
  return /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "relative mt-2", children: [
58735
58105
  /* @__PURE__ */ jsxRuntime.jsxs(
58736
58106
  Button,
@@ -58800,7 +58170,7 @@ var PHASE_2_TOKEN_FALLBACK = {
58800
58170
  toast: ["--color-card", "--shadow-lg", "--radius-md"]
58801
58171
  };
58802
58172
  function StylesTab({ patternType, patternDef, patternConfig, editable, onPropChange, themeManifest, isDesignSystem }) {
58803
- const { t } = useTranslate();
58173
+ const { t } = hooks.useTranslate();
58804
58174
  if (!patternType) {
58805
58175
  return /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "p-4", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-xs", children: t("orbInspector.selectPatternForStyles") }) });
58806
58176
  }
@@ -58876,7 +58246,7 @@ var TOKEN_GROUPS = [
58876
58246
  { group: "shadows", labelKey: "orbInspector.tokenGroup.shadows" }
58877
58247
  ];
58878
58248
  function TokenEditorSection({ themeManifest, onPropChange }) {
58879
- const { t } = useTranslate();
58249
+ const { t } = hooks.useTranslate();
58880
58250
  const tokens = themeManifest.tokens ?? {};
58881
58251
  return /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "flex flex-col gap-3 pt-2 border-t border-border/40", children: [
58882
58252
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-xs uppercase tracking-wider text-muted-foreground", children: t("orbInspector.projectThemeTokens") }),
@@ -58932,7 +58302,6 @@ init_Typography();
58932
58302
  init_Badge();
58933
58303
 
58934
58304
  // components/avl/organisms/AvlTraitScene.tsx
58935
- init_useTranslate();
58936
58305
  init_AvlState();
58937
58306
  init_AvlTransitionLane();
58938
58307
  init_AvlSwimLane();
@@ -58946,7 +58315,7 @@ var AvlTraitScene = ({
58946
58315
  color = "var(--color-primary)",
58947
58316
  onTransitionClick
58948
58317
  }) => {
58949
- const { t } = useTranslate();
58318
+ const { t } = hooks.useTranslate();
58950
58319
  const [layout, setLayout] = React97.useState(null);
58951
58320
  const dataKey = React97.useMemo(() => JSON.stringify(data), [data]);
58952
58321
  React97.useEffect(() => {
@@ -59045,9 +58414,6 @@ var AvlTraitScene = ({
59045
58414
  );
59046
58415
  };
59047
58416
  AvlTraitScene.displayName = "AvlTraitScene";
59048
-
59049
- // components/avl/molecules/TraitCardNode.tsx
59050
- init_useTranslate();
59051
58417
  var TraitCardSelectionContext = React97.createContext({
59052
58418
  selectTransition: () => {
59053
58419
  }
@@ -59057,7 +58423,7 @@ var SCENE_WIDTH = 600;
59057
58423
  var SCENE_HEIGHT = 400;
59058
58424
  var TraitCardNodeInner = (props) => {
59059
58425
  const data = props.data;
59060
- const { t } = useTranslate();
58426
+ const { t } = hooks.useTranslate();
59061
58427
  const { selectTransition } = React97.useContext(TraitCardSelectionContext);
59062
58428
  const orbitalName = data.orbitalName;
59063
58429
  const traitName = data.traitName ?? "";
@@ -59147,7 +58513,6 @@ TraitCardNode.displayName = "TraitCardNode";
59147
58513
 
59148
58514
  // components/avl/organisms/FlowCanvas.tsx
59149
58515
  init_useEventBus();
59150
- init_useTranslate();
59151
58516
  var flowCanvasLog = logger.createLogger("almadar:ui:flow-canvas");
59152
58517
  var NODE_TYPES = {
59153
58518
  preview: OrbPreviewNode,
@@ -59191,7 +58556,7 @@ function FlowCanvasInner({
59191
58556
  userType = "builder",
59192
58557
  themeManifest
59193
58558
  }) {
59194
- const { t } = useTranslate();
58559
+ const { t } = hooks.useTranslate();
59195
58560
  const NODE_TYPES2 = React97.useMemo(() => ({
59196
58561
  preview: OrbPreviewNode,
59197
58562
  behaviorCompose: BehaviorComposeNode,
@@ -59906,7 +59271,6 @@ init_Stack();
59906
59271
  init_Typography();
59907
59272
  init_Button();
59908
59273
  init_Icon();
59909
- init_useTranslate();
59910
59274
  var UNIT_DISPLAY_W = 240;
59911
59275
  var UNIT_DISPLAY_H = 160;
59912
59276
  function layoutOrbitals(count, containerW, containerH) {
@@ -60097,7 +59461,7 @@ var AvlOrbitalsCosmicZoom = ({
60097
59461
  minZoom = 0.4,
60098
59462
  maxZoom = 3
60099
59463
  }) => {
60100
- const { t } = useTranslate();
59464
+ const { t } = hooks.useTranslate();
60101
59465
  const parsedSchema = React97.useMemo(() => {
60102
59466
  if (typeof schemaProp === "string") return JSON.parse(schemaProp);
60103
59467
  return schemaProp;