@almadar/ui 5.21.9 → 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,503 +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
- };
4378
- }
4379
- });
4380
- function useTranslate() {
4381
- return React97.useContext(I18nContext);
4382
- }
4383
- var _meta, coreMessages, coreLocale, I18nContext;
4384
- var init_useTranslate = __esm({
4385
- "hooks/useTranslate.ts"() {
4386
- "use client";
4387
- init_en();
4388
- ({ $meta: _meta, ...coreMessages } = en_default);
4389
- coreLocale = coreMessages;
4390
- I18nContext = React97.createContext({
4391
- locale: "en",
4392
- direction: "ltr",
4393
- t: (key) => coreLocale[key] ?? key
4394
- // core locale fallback
4395
- });
4396
- I18nContext.displayName = "I18nContext";
4397
- I18nContext.Provider;
4398
- }
4399
- });
4400
3904
  var MAX_VISIBLE_EFFECTS; exports.AvlTransitionLane = void 0;
4401
3905
  var init_AvlTransitionLane = __esm({
4402
3906
  "components/avl/molecules/AvlTransitionLane.tsx"() {
@@ -5026,7 +4530,6 @@ var log2, SWIM_GUTTER, CENTER_W; exports.BehaviorView = void 0;
5026
4530
  var init_BehaviorView = __esm({
5027
4531
  "components/avl/molecules/BehaviorView.tsx"() {
5028
4532
  "use client";
5029
- init_useTranslate();
5030
4533
  init_AvlState();
5031
4534
  init_AvlTransitionLane();
5032
4535
  init_AvlSwimLane();
@@ -5036,7 +4539,7 @@ var init_BehaviorView = __esm({
5036
4539
  SWIM_GUTTER = 120;
5037
4540
  CENTER_W = 360;
5038
4541
  exports.BehaviorView = ({ data }) => {
5039
- const { t } = useTranslate();
4542
+ const { t } = hooks.useTranslate();
5040
4543
  const [layout, setLayout] = React97.useState(null);
5041
4544
  const traitName = data.traits[0]?.name;
5042
4545
  const traitData = traitName ? data.traitDetails[traitName] : void 0;
@@ -6878,7 +6381,6 @@ var init_Modal = __esm({
6878
6381
  init_Overlay();
6879
6382
  init_cn();
6880
6383
  init_useEventBus();
6881
- init_useTranslate();
6882
6384
  sizeClasses2 = {
6883
6385
  sm: "max-w-md",
6884
6386
  md: "max-w-2xl",
@@ -6916,7 +6418,7 @@ var init_Modal = __esm({
6916
6418
  look = "centered-card"
6917
6419
  }) => {
6918
6420
  const eventBus = useEventBus();
6919
- const { t } = useTranslate();
6421
+ const { t } = hooks.useTranslate();
6920
6422
  const modalRef = React97.useRef(null);
6921
6423
  const previousActiveElement = React97.useRef(null);
6922
6424
  const [dragY, setDragY] = React97.useState(0);
@@ -7100,7 +6602,6 @@ var init_Drawer = __esm({
7100
6602
  init_Overlay();
7101
6603
  init_cn();
7102
6604
  init_useEventBus();
7103
- init_useTranslate();
7104
6605
  sizeWidths = {
7105
6606
  sm: "w-full sm:w-80",
7106
6607
  // 320px
@@ -7126,7 +6627,7 @@ var init_Drawer = __esm({
7126
6627
  closeEvent
7127
6628
  }) => {
7128
6629
  const eventBus = useEventBus();
7129
- const { t } = useTranslate();
6630
+ const { t } = hooks.useTranslate();
7130
6631
  const drawerRef = React97.useRef(null);
7131
6632
  const previousActiveElement = React97.useRef(null);
7132
6633
  React97.useEffect(() => {
@@ -7373,7 +6874,6 @@ var init_Toast = __esm({
7373
6874
  init_Badge();
7374
6875
  init_cn();
7375
6876
  init_useEventBus();
7376
- init_useTranslate();
7377
6877
  variantClasses = {
7378
6878
  success: "bg-card border-[length:var(--border-width)] border-success",
7379
6879
  error: "bg-card border-[length:var(--border-width)] border-error",
@@ -7407,7 +6907,7 @@ var init_Toast = __esm({
7407
6907
  actionEvent
7408
6908
  }) => {
7409
6909
  const eventBus = useEventBus();
7410
- const { t } = useTranslate();
6910
+ const { t } = hooks.useTranslate();
7411
6911
  const handleDismiss = () => {
7412
6912
  if (dismissEvent) eventBus.emit(`UI:${dismissEvent}`, {});
7413
6913
  onDismiss?.();
@@ -8335,7 +7835,6 @@ var init_Input = __esm({
8335
7835
  "components/core/atoms/Input.tsx"() {
8336
7836
  init_cn();
8337
7837
  init_Icon();
8338
- init_useTranslate();
8339
7838
  Input = React97__namespace.default.forwardRef(
8340
7839
  ({
8341
7840
  className,
@@ -8353,7 +7852,7 @@ var init_Input = __esm({
8353
7852
  onChange,
8354
7853
  ...props
8355
7854
  }, ref) => {
8356
- const { t } = useTranslate();
7855
+ const { t } = hooks.useTranslate();
8357
7856
  const type = inputType || htmlType || "text";
8358
7857
  const IconComponent = typeof iconProp === "string" ? resolveIcon(iconProp) : iconProp;
8359
7858
  const resolvedLeftIcon = leftIcon || IconComponent && /* @__PURE__ */ jsxRuntime.jsx(IconComponent, { className: "h-icon-default w-icon-default" });
@@ -8719,7 +8218,6 @@ var init_FilterPill = __esm({
8719
8218
  "components/core/atoms/FilterPill.tsx"() {
8720
8219
  init_cn();
8721
8220
  init_useEventBus();
8722
- init_useTranslate();
8723
8221
  init_Icon();
8724
8222
  variantStyles5 = {
8725
8223
  default: [
@@ -8775,7 +8273,7 @@ var init_FilterPill = __esm({
8775
8273
  ...props
8776
8274
  }, ref) => {
8777
8275
  const eventBus = useEventBus();
8778
- const { t } = useTranslate();
8276
+ const { t } = hooks.useTranslate();
8779
8277
  const payloadLabel = typeof children === "string" || typeof children === "number" ? children : label;
8780
8278
  const handleClick = React97.useCallback(() => {
8781
8279
  onClick?.();
@@ -9845,7 +9343,6 @@ var init_LawReferenceTooltip = __esm({
9845
9343
  init_Typography();
9846
9344
  init_Divider();
9847
9345
  init_cn();
9848
- init_useTranslate();
9849
9346
  positionStyles2 = {
9850
9347
  top: "bottom-full left-1/2 -translate-x-1/2 mb-2",
9851
9348
  bottom: "top-full left-1/2 -translate-x-1/2 mt-2",
@@ -9864,7 +9361,7 @@ var init_LawReferenceTooltip = __esm({
9864
9361
  position = "top",
9865
9362
  className
9866
9363
  }) => {
9867
- const { t } = useTranslate();
9364
+ const { t } = hooks.useTranslate();
9868
9365
  const [isVisible, setIsVisible] = React97__namespace.default.useState(false);
9869
9366
  const timeoutRef = React97__namespace.default.useRef(null);
9870
9367
  const handleMouseEnter = () => {
@@ -12841,7 +12338,6 @@ var init_ErrorState = __esm({
12841
12338
  init_Typography();
12842
12339
  init_Icon();
12843
12340
  init_useEventBus();
12844
- init_useTranslate();
12845
12341
  ErrorState = ({
12846
12342
  title,
12847
12343
  message,
@@ -12851,7 +12347,7 @@ var init_ErrorState = __esm({
12851
12347
  retryEvent
12852
12348
  }) => {
12853
12349
  const eventBus = useEventBus();
12854
- const { t } = useTranslate();
12350
+ const { t } = hooks.useTranslate();
12855
12351
  const handleRetry = () => {
12856
12352
  if (retryEvent) eventBus.emit(`UI:${retryEvent}`, {});
12857
12353
  onRetry?.();
@@ -12884,9 +12380,8 @@ var init_ErrorBoundary = __esm({
12884
12380
  "use client";
12885
12381
  init_cn();
12886
12382
  init_ErrorState();
12887
- init_useTranslate();
12888
12383
  DefaultFallback = ({ error, onRetry }) => {
12889
- const { t } = useTranslate();
12384
+ const { t } = hooks.useTranslate();
12890
12385
  return /* @__PURE__ */ jsxRuntime.jsx(
12891
12386
  ErrorState,
12892
12387
  {
@@ -13013,7 +12508,7 @@ function Skeleton({
13013
12508
  fields,
13014
12509
  className
13015
12510
  }) {
13016
- const { t: _t } = useTranslate();
12511
+ const { t: _t } = hooks.useTranslate();
13017
12512
  switch (variant) {
13018
12513
  case "header":
13019
12514
  return /* @__PURE__ */ jsxRuntime.jsx(HeaderSkeleton, { className });
@@ -13034,7 +12529,6 @@ var init_Skeleton = __esm({
13034
12529
  "components/core/molecules/Skeleton.tsx"() {
13035
12530
  "use client";
13036
12531
  init_cn();
13037
- init_useTranslate();
13038
12532
  init_Box();
13039
12533
  init_Stack();
13040
12534
  init_Stack();
@@ -13711,7 +13205,6 @@ var AboutPageTemplate;
13711
13205
  var init_AboutPageTemplate = __esm({
13712
13206
  "components/marketing/templates/AboutPageTemplate.tsx"() {
13713
13207
  init_cn();
13714
- init_useTranslate();
13715
13208
  init_Stack();
13716
13209
  init_Box();
13717
13210
  init_Typography();
@@ -13727,7 +13220,7 @@ var init_AboutPageTemplate = __esm({
13727
13220
  entity,
13728
13221
  className
13729
13222
  }) => {
13730
- const { t } = useTranslate();
13223
+ const { t } = hooks.useTranslate();
13731
13224
  const resolved = entity && typeof entity === "object" && !Array.isArray(entity) ? entity : void 0;
13732
13225
  if (!resolved) return null;
13733
13226
  return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "none", className: cn("w-full", className), children: [
@@ -13816,7 +13309,6 @@ var init_Alert = __esm({
13816
13309
  init_Icon();
13817
13310
  init_Typography();
13818
13311
  init_useEventBus();
13819
- init_useTranslate();
13820
13312
  variantBorderClasses = {
13821
13313
  info: "border-info",
13822
13314
  success: "border-success",
@@ -13848,7 +13340,7 @@ var init_Alert = __esm({
13848
13340
  dismissEvent
13849
13341
  }) => {
13850
13342
  const eventBus = useEventBus();
13851
- const { t } = useTranslate();
13343
+ const { t } = hooks.useTranslate();
13852
13344
  const handleDismissCallback = onDismiss || onClose;
13853
13345
  const handleDismiss = () => {
13854
13346
  if (dismissEvent) eventBus.emit(`UI:${dismissEvent}`, {});
@@ -14176,7 +13668,6 @@ var init_Menu = __esm({
14176
13668
  init_Badge();
14177
13669
  init_cn();
14178
13670
  init_useEventBus();
14179
- init_useTranslate();
14180
13671
  Menu = ({
14181
13672
  trigger,
14182
13673
  items,
@@ -14184,7 +13675,7 @@ var init_Menu = __esm({
14184
13675
  className
14185
13676
  }) => {
14186
13677
  const eventBus = useEventBus();
14187
- const { t } = useTranslate();
13678
+ const { t } = hooks.useTranslate();
14188
13679
  const [isOpen, setIsOpen] = React97.useState(false);
14189
13680
  const [activeSubMenu, setActiveSubMenu] = React97.useState(null);
14190
13681
  const [triggerRect, setTriggerRect] = React97.useState(null);
@@ -14464,7 +13955,6 @@ var init_FloatingActionButton = __esm({
14464
13955
  init_Typography();
14465
13956
  init_cn();
14466
13957
  init_useEventBus();
14467
- init_useTranslate();
14468
13958
  FloatingActionButton = ({
14469
13959
  action,
14470
13960
  actionPayload,
@@ -14477,7 +13967,7 @@ var init_FloatingActionButton = __esm({
14477
13967
  className
14478
13968
  }) => {
14479
13969
  const eventBus = useEventBus();
14480
- const { t } = useTranslate();
13970
+ const { t } = hooks.useTranslate();
14481
13971
  const resolvedAction = icon ? {
14482
13972
  icon,
14483
13973
  onClick: () => {
@@ -14648,7 +14138,7 @@ var init_MapView = __esm({
14648
14138
  L.Marker.prototype.options.icon = defaultIcon;
14649
14139
  const { useEffect: useEffect79, useRef: useRef71, useCallback: useCallback122, useState: useState113 } = React97__namespace.default;
14650
14140
  const { Typography: Typography2 } = await Promise.resolve().then(() => (init_Typography(), Typography_exports));
14651
- const { useEventBus: useEventBus2 } = await Promise.resolve().then(() => (init_useEventBus(), useEventBus_exports));
14141
+ const { useEventBus: useEventBus3 } = await Promise.resolve().then(() => (init_useEventBus(), useEventBus_exports));
14652
14142
  function MapUpdater({ centerLat, centerLng, zoom }) {
14653
14143
  const map = useMap();
14654
14144
  const prevRef = useRef71({ centerLat, centerLng, zoom });
@@ -14690,7 +14180,7 @@ var init_MapView = __esm({
14690
14180
  className,
14691
14181
  showAttribution = true
14692
14182
  }) {
14693
- const eventBus = useEventBus2();
14183
+ const eventBus = useEventBus3();
14694
14184
  const [clickedPosition, setClickedPosition] = useState113(null);
14695
14185
  const handleMapClick = useCallback122((lat, lng) => {
14696
14186
  if (showClickedPin) {
@@ -15347,7 +14837,7 @@ function ActionTile({
15347
14837
  categoryColors,
15348
14838
  className
15349
14839
  }) {
15350
- useTranslate();
14840
+ hooks.useTranslate();
15351
14841
  const config = SIZE_CONFIG[size];
15352
14842
  const catColor = categoryColors?.[action.category];
15353
14843
  const handleDragStart = React97.useCallback((e) => {
@@ -15386,7 +14876,6 @@ var init_ActionTile = __esm({
15386
14876
  "components/game/organisms/puzzles/sequencer/ActionTile.tsx"() {
15387
14877
  init_atoms2();
15388
14878
  init_cn();
15389
- init_useTranslate();
15390
14879
  DRAG_MIME = "application/x-almadar-slot-item";
15391
14880
  SIZE_CONFIG = {
15392
14881
  sm: { px: "px-2 py-1", icon: "text-lg", text: "text-xs" },
@@ -15405,7 +14894,7 @@ function ActionPalette({
15405
14894
  label,
15406
14895
  className
15407
14896
  }) {
15408
- const { t } = useTranslate();
14897
+ const { t } = hooks.useTranslate();
15409
14898
  return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { className: cn("p-3 rounded-lg bg-card border border-border", className), gap: "sm", children: [
15410
14899
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body2", className: "text-muted-foreground font-medium", children: label ?? t("sequencer.actions") }),
15411
14900
  /* @__PURE__ */ jsxRuntime.jsx(HStack, { className: "flex-wrap", gap: "sm", children: (actions ?? []).map((action) => /* @__PURE__ */ jsxRuntime.jsx(
@@ -15424,7 +14913,6 @@ var init_ActionPalette = __esm({
15424
14913
  "components/game/organisms/puzzles/sequencer/ActionPalette.tsx"() {
15425
14914
  init_atoms2();
15426
14915
  init_cn();
15427
- init_useTranslate();
15428
14916
  init_ActionTile();
15429
14917
  ActionPalette.displayName = "ActionPalette";
15430
14918
  }
@@ -15434,7 +14922,6 @@ var init_AuthLayout = __esm({
15434
14922
  "components/core/templates/AuthLayout.tsx"() {
15435
14923
  "use client";
15436
14924
  init_cn();
15437
- init_useTranslate();
15438
14925
  init_Box();
15439
14926
  init_Stack();
15440
14927
  init_Typography();
@@ -15445,7 +14932,7 @@ var init_AuthLayout = __esm({
15445
14932
  showBranding = true,
15446
14933
  brandingContent
15447
14934
  }) => {
15448
- const { t } = useTranslate();
14935
+ const { t } = hooks.useTranslate();
15449
14936
  return /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "min-h-screen flex", children: [
15450
14937
  showBranding && /* @__PURE__ */ jsxRuntime.jsxs(
15451
14938
  VStack,
@@ -15579,13 +15066,12 @@ var init_LoadingState = __esm({
15579
15066
  init_atoms2();
15580
15067
  init_Stack();
15581
15068
  init_Typography();
15582
- init_useTranslate();
15583
15069
  LoadingState = ({
15584
15070
  title,
15585
15071
  message,
15586
15072
  className
15587
15073
  }) => {
15588
- const { t } = useTranslate();
15074
+ const { t } = hooks.useTranslate();
15589
15075
  const displayMessage = message ?? t("common.loading");
15590
15076
  return /* @__PURE__ */ jsxRuntime.jsxs(
15591
15077
  VStack,
@@ -16099,7 +15585,7 @@ function IsometricCanvas({
16099
15585
  const unitsProp = Array.isArray(_unitsPropRaw) ? _unitsPropRaw : [];
16100
15586
  const featuresProp = Array.isArray(_featuresPropRaw) ? _featuresPropRaw : [];
16101
15587
  const eventBus = useEventBus();
16102
- const { t } = useTranslate();
15588
+ const { t } = hooks.useTranslate();
16103
15589
  const canvasRef = React97.useRef(null);
16104
15590
  const containerRef = React97.useRef(null);
16105
15591
  const minimapRef = React97.useRef(null);
@@ -16795,7 +16281,6 @@ var init_IsometricCanvas = __esm({
16795
16281
  "use client";
16796
16282
  init_cn();
16797
16283
  init_useEventBus();
16798
- init_useTranslate();
16799
16284
  init_Box();
16800
16285
  init_Stack();
16801
16286
  init_Icon();
@@ -16855,7 +16340,7 @@ function BattleBoard({
16855
16340
  const currentTurn = entity.turn;
16856
16341
  const gameResult = entity.gameResult;
16857
16342
  const eventBus = useEventBus();
16858
- const { t } = useTranslate();
16343
+ const { t } = hooks.useTranslate();
16859
16344
  const [hoveredTile, setHoveredTile] = React97.useState(null);
16860
16345
  const [isShaking, setIsShaking] = React97.useState(false);
16861
16346
  const selectedUnit = React97.useMemo(
@@ -17159,7 +16644,6 @@ var init_BattleBoard = __esm({
17159
16644
  "use client";
17160
16645
  init_cn();
17161
16646
  init_useEventBus();
17162
- init_useTranslate();
17163
16647
  init_Box();
17164
16648
  init_Button();
17165
16649
  init_Typography();
@@ -17204,14 +16688,13 @@ var MIN_DIAGRAM_WIDTH, ScaledDiagram;
17204
16688
  var init_ScaledDiagram = __esm({
17205
16689
  "components/core/molecules/ScaledDiagram.tsx"() {
17206
16690
  init_Box();
17207
- init_useTranslate();
17208
16691
  init_cn();
17209
16692
  MIN_DIAGRAM_WIDTH = 200;
17210
16693
  ScaledDiagram = ({
17211
16694
  children,
17212
16695
  className
17213
16696
  }) => {
17214
- const { t: _t } = useTranslate();
16697
+ const { t: _t } = hooks.useTranslate();
17215
16698
  const wrapperRef = React97.useRef(null);
17216
16699
  const contentRef = React97.useRef(null);
17217
16700
  const [layout, setLayout] = React97.useState(null);
@@ -17347,7 +16830,6 @@ var init_CodeBlock = __esm({
17347
16830
  init_Textarea();
17348
16831
  init_Icon();
17349
16832
  init_useEventBus();
17350
- init_useTranslate();
17351
16833
  SyntaxHighlighter__default.default.registerLanguage("json", langJson__default.default);
17352
16834
  SyntaxHighlighter__default.default.registerLanguage("javascript", langJavascript__default.default);
17353
16835
  SyntaxHighlighter__default.default.registerLanguage("js", langJavascript__default.default);
@@ -17436,7 +16918,7 @@ var init_CodeBlock = __esm({
17436
16918
  const isLolo = language === "lolo";
17437
16919
  const activeStyle = isOrb ? orbStyle : isLolo ? loloStyle : dark__default.default;
17438
16920
  const eventBus = useEventBus();
17439
- const { t } = useTranslate();
16921
+ const { t } = hooks.useTranslate();
17440
16922
  const scrollRef = React97.useRef(null);
17441
16923
  const codeRef = React97.useRef(null);
17442
16924
  const savedScrollLeftRef = React97.useRef(0);
@@ -17854,11 +17336,10 @@ var init_MarkdownContent = __esm({
17854
17336
  init_katex_min();
17855
17337
  init_Box();
17856
17338
  init_CodeBlock();
17857
- init_useTranslate();
17858
17339
  init_cn();
17859
17340
  MarkdownContent = React97__namespace.default.memo(
17860
17341
  ({ content, direction, className }) => {
17861
- const { t: _t } = useTranslate();
17342
+ const { t: _t } = hooks.useTranslate();
17862
17343
  const safeContent = typeof content === "string" ? content : String(content ?? "");
17863
17344
  return /* @__PURE__ */ jsxRuntime.jsx(
17864
17345
  Box,
@@ -18084,7 +17565,7 @@ function Card2({
18084
17565
  longPressPayload
18085
17566
  }) {
18086
17567
  const eventBus = useEventBus();
18087
- const { t } = useTranslate();
17568
+ const { t } = hooks.useTranslate();
18088
17569
  const isClickable = !!onClick || !!action;
18089
17570
  const handleLongPress = React97.useCallback(() => {
18090
17571
  if (longPressEvent) {
@@ -18159,7 +17640,6 @@ var init_Card2 = __esm({
18159
17640
  "components/core/molecules/Card.tsx"() {
18160
17641
  "use client";
18161
17642
  init_useEventBus();
18162
- init_useTranslate();
18163
17643
  init_useLongPress();
18164
17644
  Card2.displayName = "Card";
18165
17645
  }
@@ -18173,14 +17653,13 @@ var init_QuizBlock = __esm({
18173
17653
  init_Button();
18174
17654
  init_Icon();
18175
17655
  init_Box();
18176
- init_useTranslate();
18177
17656
  init_cn();
18178
17657
  QuizBlock = ({
18179
17658
  question,
18180
17659
  answer,
18181
17660
  className
18182
17661
  }) => {
18183
- const { t } = useTranslate();
17662
+ const { t } = hooks.useTranslate();
18184
17663
  const [revealed, setRevealed] = React97.useState(false);
18185
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: [
18186
17665
  /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "sm", align: "start", children: [
@@ -18216,11 +17695,10 @@ var init_StateMachineView = __esm({
18216
17695
  init_Typography();
18217
17696
  init_Button();
18218
17697
  init_Icon();
18219
- init_useTranslate();
18220
17698
  init_useEventBus();
18221
17699
  init_cn();
18222
17700
  StateNode = ({ state, config }) => {
18223
- const { t } = useTranslate();
17701
+ const { t } = hooks.useTranslate();
18224
17702
  const size = state.radius * 2;
18225
17703
  let borderColor = config.colors.nodeBorder;
18226
17704
  let borderWidth = 2;
@@ -18327,7 +17805,7 @@ var init_StateMachineView = __esm({
18327
17805
  );
18328
17806
  };
18329
17807
  TransitionBundleArrow = ({ bundle, states, bundleIndex, config, onClick, onHover }) => {
18330
- const { t } = useTranslate();
17808
+ const { t } = hooks.useTranslate();
18331
17809
  const groupRef = React97.useRef(null);
18332
17810
  const fromState = states.find((s) => s.name === bundle.from);
18333
17811
  const toState = states.find((s) => s.name === bundle.to);
@@ -18577,7 +18055,7 @@ var init_StateMachineView = __esm({
18577
18055
  );
18578
18056
  };
18579
18057
  BundleTooltip = ({ tooltip, config }) => {
18580
- const { t } = useTranslate();
18058
+ const { t } = hooks.useTranslate();
18581
18059
  if (!tooltip.visible || !tooltip.bundle) return null;
18582
18060
  const { bundle } = tooltip;
18583
18061
  const isSingle = bundle.labels.length === 1;
@@ -18729,7 +18207,7 @@ var init_StateMachineView = __esm({
18729
18207
  );
18730
18208
  };
18731
18209
  EntityBox = ({ entity, config }) => {
18732
- const { t } = useTranslate();
18210
+ const { t } = hooks.useTranslate();
18733
18211
  return /* @__PURE__ */ jsxRuntime.jsxs(
18734
18212
  VStack,
18735
18213
  {
@@ -18770,7 +18248,7 @@ var init_StateMachineView = __esm({
18770
18248
  );
18771
18249
  };
18772
18250
  OutputsBox = ({ outputs, config }) => {
18773
- const { t } = useTranslate();
18251
+ const { t } = hooks.useTranslate();
18774
18252
  return /* @__PURE__ */ jsxRuntime.jsxs(
18775
18253
  VStack,
18776
18254
  {
@@ -18812,7 +18290,7 @@ var init_StateMachineView = __esm({
18812
18290
  );
18813
18291
  };
18814
18292
  Legend = ({ config, y }) => {
18815
- const { t } = useTranslate();
18293
+ const { t } = hooks.useTranslate();
18816
18294
  const items = [
18817
18295
  { key: "initial", label: t("stateMachine.legend.initial"), color: config.colors.initialNode, isMultiEvent: false },
18818
18296
  { key: "final", label: t("stateMachine.legend.final"), color: config.colors.finalNode, isMultiEvent: false },
@@ -18856,7 +18334,7 @@ var init_StateMachineView = __esm({
18856
18334
  isLoading: _isLoading,
18857
18335
  error: _error
18858
18336
  }) => {
18859
- const { t } = useTranslate();
18337
+ const { t } = hooks.useTranslate();
18860
18338
  const [tooltip, setTooltip] = React97.useState({
18861
18339
  visible: false,
18862
18340
  pinned: false,
@@ -19583,7 +19061,6 @@ var init_JazariStateMachine = __esm({
19583
19061
  init_StateMachineView();
19584
19062
  init_visualizer();
19585
19063
  init_svg_paths();
19586
- init_useTranslate();
19587
19064
  init_cn();
19588
19065
  JAZARI_VISUALIZER_CONFIG = {
19589
19066
  ...DEFAULT_CONFIG,
@@ -19619,7 +19096,7 @@ var init_JazariStateMachine = __esm({
19619
19096
  isLoading = false,
19620
19097
  error = null
19621
19098
  }) => {
19622
- const { t } = useTranslate();
19099
+ const { t } = hooks.useTranslate();
19623
19100
  const resolvedTrait = React97.useMemo(
19624
19101
  () => extractTrait(schema, traitProp, traitIndex),
19625
19102
  [schema, traitProp, traitIndex]
@@ -19739,7 +19216,6 @@ var init_ContentRenderer = __esm({
19739
19216
  init_ScaledDiagram();
19740
19217
  init_JazariStateMachine();
19741
19218
  init_parseContentSegments();
19742
- init_useTranslate();
19743
19219
  init_cn();
19744
19220
  ContentRenderer = ({
19745
19221
  content,
@@ -19747,7 +19223,7 @@ var init_ContentRenderer = __esm({
19747
19223
  direction,
19748
19224
  className
19749
19225
  }) => {
19750
- const { t: _t } = useTranslate();
19226
+ const { t: _t } = hooks.useTranslate();
19751
19227
  const segments = React97.useMemo(
19752
19228
  () => segmentsProp ?? parseContentSegments(content),
19753
19229
  [segmentsProp, content]
@@ -19833,14 +19309,13 @@ var init_BookChapterView = __esm({
19833
19309
  init_ScaledDiagram();
19834
19310
  init_ContentRenderer();
19835
19311
  init_JazariStateMachine();
19836
- init_useTranslate();
19837
19312
  init_cn();
19838
19313
  BookChapterView = ({
19839
19314
  chapter,
19840
19315
  direction,
19841
19316
  className
19842
19317
  }) => {
19843
- const { t: _t } = useTranslate();
19318
+ const { t: _t } = hooks.useTranslate();
19844
19319
  return /* @__PURE__ */ jsxRuntime.jsxs(
19845
19320
  VStack,
19846
19321
  {
@@ -19872,7 +19347,6 @@ var init_BookCoverPage = __esm({
19872
19347
  init_Typography();
19873
19348
  init_Button();
19874
19349
  init_Box();
19875
- init_useTranslate();
19876
19350
  init_cn();
19877
19351
  BookCoverPage = ({
19878
19352
  title,
@@ -19882,7 +19356,7 @@ var init_BookCoverPage = __esm({
19882
19356
  direction,
19883
19357
  className
19884
19358
  }) => {
19885
- const { t } = useTranslate();
19359
+ const { t } = hooks.useTranslate();
19886
19360
  return /* @__PURE__ */ jsxRuntime.jsxs(
19887
19361
  VStack,
19888
19362
  {
@@ -19952,7 +19426,6 @@ var init_BookNavBar = __esm({
19952
19426
  init_Typography();
19953
19427
  init_ProgressBar();
19954
19428
  init_Box();
19955
- init_useTranslate();
19956
19429
  init_cn();
19957
19430
  BookNavBar = ({
19958
19431
  currentPage,
@@ -19961,7 +19434,7 @@ var init_BookNavBar = __esm({
19961
19434
  direction,
19962
19435
  className
19963
19436
  }) => {
19964
- const { t } = useTranslate();
19437
+ const { t } = hooks.useTranslate();
19965
19438
  const isRtl = direction === "rtl";
19966
19439
  const progress = totalPages > 1 ? currentPage / (totalPages - 1) * 100 : 0;
19967
19440
  const PrevIcon = isRtl ? LucideIcons2.ChevronRight : LucideIcons2.ChevronLeft;
@@ -20054,7 +19527,6 @@ var init_BookTableOfContents = __esm({
20054
19527
  init_Button();
20055
19528
  init_Box();
20056
19529
  init_Badge();
20057
- init_useTranslate();
20058
19530
  init_cn();
20059
19531
  BookTableOfContents = ({
20060
19532
  parts,
@@ -20062,7 +19534,7 @@ var init_BookTableOfContents = __esm({
20062
19534
  direction,
20063
19535
  className
20064
19536
  }) => {
20065
- const { t } = useTranslate();
19537
+ const { t } = hooks.useTranslate();
20066
19538
  return /* @__PURE__ */ jsxRuntime.jsxs(
20067
19539
  VStack,
20068
19540
  {
@@ -20114,7 +19586,6 @@ var init_EmptyState = __esm({
20114
19586
  init_Stack();
20115
19587
  init_Typography();
20116
19588
  init_useEventBus();
20117
- init_useTranslate();
20118
19589
  ICON_NAME_ALIASES = {
20119
19590
  check: "check-circle",
20120
19591
  error: "x-circle",
@@ -20140,7 +19611,7 @@ var init_EmptyState = __esm({
20140
19611
  look = "icon-only"
20141
19612
  }) => {
20142
19613
  const eventBus = useEventBus();
20143
- const { t } = useTranslate();
19614
+ const { t } = hooks.useTranslate();
20144
19615
  const handleAction = () => {
20145
19616
  if (actionEvent) eventBus.emit(`UI:${actionEvent}`, {});
20146
19617
  onAction?.();
@@ -20285,7 +19756,6 @@ var init_BookViewer = __esm({
20285
19756
  init_Box();
20286
19757
  init_Stack();
20287
19758
  init_useEventBus();
20288
- init_useTranslate();
20289
19759
  init_cn();
20290
19760
  init_BookCoverPage();
20291
19761
  init_BookTableOfContents();
@@ -20311,7 +19781,7 @@ var init_BookViewer = __esm({
20311
19781
  className
20312
19782
  }) => {
20313
19783
  const eventBus = useEventBus();
20314
- const { t } = useTranslate();
19784
+ const { t } = hooks.useTranslate();
20315
19785
  const [currentPage, setCurrentPage] = React97.useState(initialPage);
20316
19786
  const resolvedFieldMap = React97.useMemo(() => resolveFieldMap(fieldMap), [fieldMap]);
20317
19787
  const book = React97.useMemo(() => {
@@ -20717,7 +20187,6 @@ var init_BranchingLogicBuilder = __esm({
20717
20187
  init_FilterPill();
20718
20188
  init_Box();
20719
20189
  init_useEventBus();
20720
- init_useTranslate();
20721
20190
  init_cn();
20722
20191
  END_OF_SURVEY = "end-of-survey";
20723
20192
  RuleRow = ({
@@ -20728,7 +20197,7 @@ var init_BranchingLogicBuilder = __esm({
20728
20197
  onChange,
20729
20198
  onDelete
20730
20199
  }) => {
20731
- const { t } = useTranslate();
20200
+ const { t } = hooks.useTranslate();
20732
20201
  const operatorOptions = React97.useMemo(
20733
20202
  () => [
20734
20203
  { value: "equals", label: t("branchingLogic.operatorEquals") },
@@ -20903,7 +20372,7 @@ var init_BranchingLogicBuilder = __esm({
20903
20372
  NODE_GAP_Y = 80;
20904
20373
  PADDING = 32;
20905
20374
  LogicGraph = ({ questions, rules }) => {
20906
- const { t } = useTranslate();
20375
+ const { t } = hooks.useTranslate();
20907
20376
  const endOfSurveyLabel = t("branchingLogic.endOfSurvey");
20908
20377
  const layout = React97.useMemo(() => {
20909
20378
  const items = [
@@ -21035,7 +20504,7 @@ var init_BranchingLogicBuilder = __esm({
21035
20504
  readOnly = false,
21036
20505
  className
21037
20506
  }) => {
21038
- const { t } = useTranslate();
20507
+ const { t } = hooks.useTranslate();
21039
20508
  const eventBus = useEventBus();
21040
20509
  const questions = Array.isArray(questionsProp) ? questionsProp : [];
21041
20510
  const rulesInitial = Array.isArray(rulesProp) ? rulesProp : [];
@@ -21170,7 +20639,6 @@ var init_Breadcrumb = __esm({
21170
20639
  init_Typography();
21171
20640
  init_cn();
21172
20641
  init_useEventBus();
21173
- init_useTranslate();
21174
20642
  Breadcrumb = ({
21175
20643
  items,
21176
20644
  separator = "chevron-right",
@@ -21178,7 +20646,7 @@ var init_Breadcrumb = __esm({
21178
20646
  className
21179
20647
  }) => {
21180
20648
  const eventBus = useEventBus();
21181
- const { t } = useTranslate();
20649
+ const { t } = hooks.useTranslate();
21182
20650
  const displayItems = maxItems && items.length > maxItems ? [
21183
20651
  ...items.slice(0, 1),
21184
20652
  { label: "...", isCurrent: false },
@@ -21257,7 +20725,7 @@ function BuilderBoard({
21257
20725
  className
21258
20726
  }) {
21259
20727
  const { emit } = useEventBus();
21260
- const { t } = useTranslate();
20728
+ const { t } = hooks.useTranslate();
21261
20729
  const resolved = Array.isArray(entity) ? entity[0] : entity;
21262
20730
  const [placements, setPlacements] = React97.useState({});
21263
20731
  const [headerError, setHeaderError] = React97.useState(false);
@@ -21406,7 +20874,6 @@ var init_BuilderBoard = __esm({
21406
20874
  "components/game/organisms/puzzles/builder/BuilderBoard.tsx"() {
21407
20875
  init_atoms2();
21408
20876
  init_useEventBus();
21409
- init_useTranslate();
21410
20877
  BuilderBoard.displayName = "BuilderBoard";
21411
20878
  }
21412
20879
  });
@@ -21674,7 +21141,7 @@ function CalendarGrid({
21674
21141
  }) {
21675
21142
  const evs = Array.isArray(events2) ? events2 : events2 ? [events2] : [];
21676
21143
  const eventBus = useEventBus();
21677
- const { t } = useTranslate();
21144
+ const { t } = hooks.useTranslate();
21678
21145
  const longPressTimer = React97.useRef(null);
21679
21146
  const resolvedWeekStart = React97.useMemo(
21680
21147
  () => weekStart ? getStartOfWeek(weekStart) : getStartOfWeek(/* @__PURE__ */ new Date()),
@@ -21884,7 +21351,6 @@ var init_CalendarGrid = __esm({
21884
21351
  init_TimeSlotCell();
21885
21352
  init_useEventBus();
21886
21353
  init_useSwipeGesture();
21887
- init_useTranslate();
21888
21354
  SHORT_DATE = { month: "short", day: "numeric" };
21889
21355
  CalendarGrid.displayName = "CalendarGrid";
21890
21356
  }
@@ -23193,7 +22659,6 @@ var init_Pagination = __esm({
23193
22659
  init_Stack();
23194
22660
  init_cn();
23195
22661
  init_useEventBus();
23196
- init_useTranslate();
23197
22662
  Pagination = ({
23198
22663
  currentPage,
23199
22664
  totalPages,
@@ -23212,7 +22677,7 @@ var init_Pagination = __esm({
23212
22677
  pageSizeChangeEvent
23213
22678
  }) => {
23214
22679
  const eventBus = useEventBus();
23215
- const { t } = useTranslate();
22680
+ const { t } = hooks.useTranslate();
23216
22681
  const [jumpToPage, setJumpToPage] = React97.useState("");
23217
22682
  const handlePageChange = (page) => {
23218
22683
  if (pageChangeEvent) eventBus.emit(`UI:${pageChangeEvent}`, { page });
@@ -23397,7 +22862,6 @@ var init_CardGrid = __esm({
23397
22862
  init_cn();
23398
22863
  init_getNestedValue();
23399
22864
  init_useEventBus();
23400
- init_useTranslate();
23401
22865
  init_atoms2();
23402
22866
  init_Badge();
23403
22867
  init_Box();
@@ -23441,7 +22905,7 @@ var init_CardGrid = __esm({
23441
22905
  imageField
23442
22906
  }) => {
23443
22907
  const eventBus = useEventBus();
23444
- const { t } = useTranslate();
22908
+ const { t } = hooks.useTranslate();
23445
22909
  const effectiveFieldNames = normalizeFields(fields).length > 0 ? normalizeFields(fields) : fieldNames ?? normalizeFields(columns);
23446
22910
  const gridTemplateColumns = `repeat(auto-fit, minmax(min(${minCardWidth}px, 100%), 1fr))`;
23447
22911
  const normalizedData = Array.isArray(entity) ? entity : entity ? [entity] : [];
@@ -23626,7 +23090,6 @@ var init_Carousel = __esm({
23626
23090
  init_cn();
23627
23091
  init_useEventBus();
23628
23092
  init_useSwipeGesture();
23629
- init_useTranslate();
23630
23093
  init_Box();
23631
23094
  init_Stack();
23632
23095
  init_Button();
@@ -23647,7 +23110,7 @@ var init_Carousel = __esm({
23647
23110
  const scrollRef = React97.useRef(null);
23648
23111
  const autoPlayRef = React97.useRef(null);
23649
23112
  const eventBus = useSafeEventBus3();
23650
- const { t } = useTranslate();
23113
+ const { t } = hooks.useTranslate();
23651
23114
  const safeItems = items ?? [];
23652
23115
  const totalSlides = safeItems.length;
23653
23116
  const emitSlideChange = React97.useCallback(
@@ -23863,7 +23326,6 @@ var init_CaseStudyOrganism = __esm({
23863
23326
  "use client";
23864
23327
  init_cn();
23865
23328
  init_useEventBus();
23866
- init_useTranslate();
23867
23329
  init_Stack();
23868
23330
  init_Typography();
23869
23331
  init_SimpleGrid();
@@ -23879,7 +23341,7 @@ var init_CaseStudyOrganism = __esm({
23879
23341
  subtitle
23880
23342
  }) => {
23881
23343
  useEventBus();
23882
- const { t } = useTranslate();
23344
+ const { t } = hooks.useTranslate();
23883
23345
  const items = React97.useMemo(
23884
23346
  () => Array.isArray(entity) ? entity : entity && typeof entity === "object" ? [entity] : [],
23885
23347
  [entity]
@@ -24068,7 +23530,6 @@ var init_Chart = __esm({
24068
23530
  init_ErrorState();
24069
23531
  init_EmptyState();
24070
23532
  init_useEventBus();
24071
- init_useTranslate();
24072
23533
  CHART_COLORS = [
24073
23534
  "var(--color-primary)",
24074
23535
  "var(--color-success)",
@@ -24641,7 +24102,7 @@ var init_Chart = __esm({
24641
24102
  }) => {
24642
24103
  const resolvedLook = look ?? (chartType ? LOOK_FROM_CHART_TYPE[chartType] : "bar-vertical");
24643
24104
  const eventBus = useEventBus();
24644
- const { t } = useTranslate();
24105
+ const { t } = hooks.useTranslate();
24645
24106
  const handleAction = React97.useCallback(
24646
24107
  (action) => {
24647
24108
  if (action.event) {
@@ -24838,7 +24299,7 @@ function ClassifierBoard({
24838
24299
  className
24839
24300
  }) {
24840
24301
  const { emit } = useEventBus();
24841
- const { t } = useTranslate();
24302
+ const { t } = hooks.useTranslate();
24842
24303
  const resolved = Array.isArray(entity) ? entity[0] : entity;
24843
24304
  const [assignments, setAssignments] = React97.useState({});
24844
24305
  const [headerError, setHeaderError] = React97.useState(false);
@@ -24976,7 +24437,6 @@ var init_ClassifierBoard = __esm({
24976
24437
  "components/game/organisms/puzzles/classifier/ClassifierBoard.tsx"() {
24977
24438
  init_atoms2();
24978
24439
  init_useEventBus();
24979
- init_useTranslate();
24980
24440
  ClassifierBoard.displayName = "ClassifierBoard";
24981
24441
  }
24982
24442
  });
@@ -24986,7 +24446,7 @@ function CodeView({
24986
24446
  defaultExpanded = false,
24987
24447
  className
24988
24448
  }) {
24989
- const { t } = useTranslate();
24449
+ const { t } = hooks.useTranslate();
24990
24450
  const [expanded, setExpanded] = React97.useState(defaultExpanded);
24991
24451
  const jsonString = JSON.stringify(data, null, 2);
24992
24452
  return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { className: cn("rounded-lg border border-border overflow-hidden", className), gap: "none", children: [
@@ -25008,7 +24468,6 @@ var init_CodeView = __esm({
25008
24468
  "components/game/organisms/puzzles/state-architect/CodeView.tsx"() {
25009
24469
  init_atoms2();
25010
24470
  init_cn();
25011
- init_useTranslate();
25012
24471
  CodeView.displayName = "CodeView";
25013
24472
  }
25014
24473
  });
@@ -25022,7 +24481,6 @@ var init_Tabs = __esm({
25022
24481
  init_Box();
25023
24482
  init_cn();
25024
24483
  init_useEventBus();
25025
- init_useTranslate();
25026
24484
  Tabs = ({
25027
24485
  items,
25028
24486
  tabs,
@@ -25040,7 +24498,7 @@ var init_Tabs = __esm({
25040
24498
  id: id || value || ""
25041
24499
  }));
25042
24500
  const eventBus = useEventBus();
25043
- const { t } = useTranslate();
24501
+ const { t } = hooks.useTranslate();
25044
24502
  const initialActive = safeItems.find((item) => item.active)?.id;
25045
24503
  const [internalActiveTab, setInternalActiveTab] = React97.useState(
25046
24504
  defaultActiveTab || initialActive || safeItems[0]?.id || ""
@@ -25199,7 +24657,6 @@ var init_CodeViewer = __esm({
25199
24657
  init_EmptyState();
25200
24658
  init_Tabs();
25201
24659
  init_useEventBus();
25202
- init_useTranslate();
25203
24660
  DIFF_STYLES = {
25204
24661
  add: {
25205
24662
  bg: "bg-success/10",
@@ -25237,7 +24694,7 @@ var init_CodeViewer = __esm({
25237
24694
  className
25238
24695
  }) => {
25239
24696
  const eventBus = useEventBus();
25240
- const { t } = useTranslate();
24697
+ const { t } = hooks.useTranslate();
25241
24698
  const [copied, setCopied] = React97.useState(false);
25242
24699
  const [wrap, setWrap] = React97.useState(wordWrap);
25243
24700
  const [activeFileIndex, setActiveFileIndex] = React97.useState(0);
@@ -25571,7 +25028,6 @@ var init_ConfirmDialog = __esm({
25571
25028
  init_Box();
25572
25029
  init_Stack();
25573
25030
  init_cn();
25574
- init_useTranslate();
25575
25031
  variantConfig = {
25576
25032
  danger: {
25577
25033
  icon: LucideIcons2.Trash2,
@@ -25619,7 +25075,7 @@ var init_ConfirmDialog = __esm({
25619
25075
  className
25620
25076
  }) => {
25621
25077
  const config = variantConfig[variant];
25622
- const { t } = useTranslate();
25078
+ const { t } = hooks.useTranslate();
25623
25079
  const resolvedMessage = message ?? description ?? "";
25624
25080
  const resolvedConfirmText = confirmText ?? confirmLabel ?? t("dialog.confirm");
25625
25081
  const resolvedCancelText = cancelText ?? cancelLabel ?? t("dialog.cancel");
@@ -26053,7 +25509,6 @@ var init_DashboardGrid = __esm({
26053
25509
  "components/core/organisms/layout/DashboardGrid.tsx"() {
26054
25510
  init_cn();
26055
25511
  init_Box();
26056
- init_useTranslate();
26057
25512
  gapStyles5 = {
26058
25513
  sm: "gap-2",
26059
25514
  md: "gap-4",
@@ -26080,7 +25535,7 @@ var init_DashboardGrid = __esm({
26080
25535
  cells,
26081
25536
  className
26082
25537
  }) => {
26083
- const { t: _t } = useTranslate();
25538
+ const { t: _t } = hooks.useTranslate();
26084
25539
  return /* @__PURE__ */ jsxRuntime.jsx(
26085
25540
  Box,
26086
25541
  {
@@ -26147,7 +25602,6 @@ var init_DashboardLayout = __esm({
26147
25602
  init_Icon();
26148
25603
  init_useAuthContext();
26149
25604
  init_useEventBus();
26150
- init_useTranslate();
26151
25605
  init_CurrentPagePathContext();
26152
25606
  DashboardLayout = ({
26153
25607
  appName = "{{APP_TITLE}}",
@@ -26206,7 +25660,7 @@ var init_DashboardLayout = __esm({
26206
25660
  const activePath = currentPath ?? ctxPagePath ?? location.pathname;
26207
25661
  const { signOut: authSignOut } = useAuthContext();
26208
25662
  const user = userProp || (null);
26209
- const { t } = useTranslate();
25663
+ const { t } = hooks.useTranslate();
26210
25664
  const handleSignOut = onSignOutProp || authSignOut;
26211
25665
  const showSidebar = layoutMode === "sidebar";
26212
25666
  const showHeader = layoutMode !== "minimal";
@@ -27177,7 +26631,7 @@ function DataGrid({
27177
26631
  look = "dense"
27178
26632
  }) {
27179
26633
  const eventBus = useEventBus();
27180
- const { t } = useTranslate();
26634
+ const { t } = hooks.useTranslate();
27181
26635
  const [selectedIds, setSelectedIds] = React97.useState(/* @__PURE__ */ new Set());
27182
26636
  const [visibleCount, setVisibleCount] = React97.useState(pageSize || Infinity);
27183
26637
  const fieldDefs = fields ?? columns ?? [];
@@ -27492,7 +26946,6 @@ var init_DataGrid = __esm({
27492
26946
  init_cn();
27493
26947
  init_getNestedValue();
27494
26948
  init_useEventBus();
27495
- init_useTranslate();
27496
26949
  init_Box();
27497
26950
  init_Stack();
27498
26951
  init_Typography();
@@ -27617,7 +27070,7 @@ function DataList({
27617
27070
  look = "dense"
27618
27071
  }) {
27619
27072
  const eventBus = useEventBus();
27620
- const { t } = useTranslate();
27073
+ const { t } = hooks.useTranslate();
27621
27074
  const [visibleCount, setVisibleCount] = React97__namespace.default.useState(pageSize || Infinity);
27622
27075
  const fieldDefs = fields ?? columns ?? [];
27623
27076
  const allDataRaw = Array.isArray(entity) ? entity : entity ? [entity] : [];
@@ -27931,7 +27384,6 @@ var init_DataList = __esm({
27931
27384
  init_cn();
27932
27385
  init_getNestedValue();
27933
27386
  init_useEventBus();
27934
- init_useTranslate();
27935
27387
  init_Box();
27936
27388
  init_Stack();
27937
27389
  init_Typography();
@@ -27986,7 +27438,6 @@ var init_FileTree = __esm({
27986
27438
  init_Box();
27987
27439
  init_Typography();
27988
27440
  init_Icon();
27989
- init_useTranslate();
27990
27441
  TreeNodeItem = ({
27991
27442
  node,
27992
27443
  depth,
@@ -28072,7 +27523,7 @@ var init_FileTree = __esm({
28072
27523
  className,
28073
27524
  indent = 16
28074
27525
  }) => {
28075
- const { t } = useTranslate();
27526
+ const { t } = hooks.useTranslate();
28076
27527
  if (tree.length === 0) {
28077
27528
  return /* @__PURE__ */ jsxRuntime.jsx(Box, { className: `p-4 ${className ?? ""}`, children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", color: "muted", children: t("fileTree.noFiles") }) });
28078
27529
  }
@@ -28193,7 +27644,6 @@ var init_FilterGroup = __esm({
28193
27644
  init_Icon();
28194
27645
  init_useEventBus();
28195
27646
  init_useQuerySingleton();
28196
- init_useTranslate();
28197
27647
  resolveFilterType = (filter) => filter.filterType ?? filter.type;
28198
27648
  lookStyles6 = {
28199
27649
  toolbar: "",
@@ -28214,7 +27664,7 @@ var init_FilterGroup = __esm({
28214
27664
  isLoading,
28215
27665
  look = "toolbar"
28216
27666
  }) => {
28217
- const { t } = useTranslate();
27667
+ const { t } = hooks.useTranslate();
28218
27668
  const eventBus = useEventBus();
28219
27669
  const queryState = useQuerySingleton(query);
28220
27670
  const [selectedValues, setSelectedValues] = React97.useState(
@@ -28835,13 +28285,12 @@ var init_RelationSelect = __esm({
28835
28285
  init_Spinner();
28836
28286
  init_Typography();
28837
28287
  init_debug();
28838
- init_useTranslate();
28839
28288
  isRelationsDebugEnabled = () => isDebugEnabled();
28840
28289
  RelationSelect = ({
28841
28290
  value,
28842
28291
  onChange,
28843
28292
  options = [],
28844
- placeholder = "Select...",
28293
+ placeholder,
28845
28294
  required = false,
28846
28295
  disabled = false,
28847
28296
  isLoading = false,
@@ -28852,7 +28301,8 @@ var init_RelationSelect = __esm({
28852
28301
  searchPlaceholder,
28853
28302
  emptyMessage
28854
28303
  }) => {
28855
- const { t } = useTranslate();
28304
+ const { t } = hooks.useTranslate();
28305
+ const resolvedPlaceholder = placeholder ?? t("relationSelect.selectPlaceholder");
28856
28306
  const resolvedSearchPlaceholder = searchPlaceholder ?? t("common.search");
28857
28307
  const resolvedEmptyMessage = emptyMessage ?? t("empty.noOptionsFound");
28858
28308
  const [isOpen, setIsOpen] = React97.useState(false);
@@ -28962,7 +28412,7 @@ var init_RelationSelect = __esm({
28962
28412
  children: isLoading ? /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "xs", align: "center", children: [
28963
28413
  /* @__PURE__ */ jsxRuntime.jsx(Spinner, { size: "sm" }),
28964
28414
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { as: "span", children: t("common.loading") })
28965
- ] }) : selectedOption ? selectedOption.label : placeholder
28415
+ ] }) : selectedOption ? selectedOption.label : resolvedPlaceholder
28966
28416
  }
28967
28417
  ),
28968
28418
  /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "xs", align: "center", children: [
@@ -29059,7 +28509,6 @@ var init_SearchInput = __esm({
29059
28509
  init_cn();
29060
28510
  init_useEventBus();
29061
28511
  init_useQuerySingleton();
29062
- init_useTranslate();
29063
28512
  SearchInput = ({
29064
28513
  value,
29065
28514
  onSearch,
@@ -29074,7 +28523,7 @@ var init_SearchInput = __esm({
29074
28523
  ...props
29075
28524
  }) => {
29076
28525
  const eventBus = useEventBus();
29077
- const { t } = useTranslate();
28526
+ const { t } = hooks.useTranslate();
29078
28527
  const resolvedPlaceholder = placeholder ?? t("common.search");
29079
28528
  const queryState = useQuerySingleton(query);
29080
28529
  const initialValue = queryState?.search ?? value ?? "";
@@ -29162,7 +28611,6 @@ var init_SidePanel = __esm({
29162
28611
  init_Typography();
29163
28612
  init_cn();
29164
28613
  init_useEventBus();
29165
- init_useTranslate();
29166
28614
  SidePanel = ({
29167
28615
  title,
29168
28616
  children,
@@ -29175,7 +28623,7 @@ var init_SidePanel = __esm({
29175
28623
  closeEvent
29176
28624
  }) => {
29177
28625
  const eventBus = useEventBus();
29178
- const { t } = useTranslate();
28626
+ const { t } = hooks.useTranslate();
29179
28627
  const handleClose = () => {
29180
28628
  if (closeEvent) eventBus.emit(`UI:${closeEvent}`, {});
29181
28629
  onClose();
@@ -29341,7 +28789,6 @@ var init_WizardNavigation = __esm({
29341
28789
  init_Icon();
29342
28790
  init_cn();
29343
28791
  init_useEventBus();
29344
- init_useTranslate();
29345
28792
  WizardNavigation = ({
29346
28793
  currentStep,
29347
28794
  totalSteps,
@@ -29362,7 +28809,7 @@ var init_WizardNavigation = __esm({
29362
28809
  className
29363
28810
  }) => {
29364
28811
  const eventBus = useSafeEventBus4();
29365
- const { t } = useTranslate();
28812
+ const { t } = hooks.useTranslate();
29366
28813
  const resolvedBackLabel = backLabel ?? t("wizard.back");
29367
28814
  const resolvedNextLabel = nextLabel ?? t("wizard.next");
29368
28815
  const resolvedCompleteLabel = completeLabel ?? t("wizard.complete");
@@ -29429,7 +28876,6 @@ var init_RepeatableFormSection = __esm({
29429
28876
  init_Card();
29430
28877
  init_Icon();
29431
28878
  init_useEventBus();
29432
- init_useTranslate();
29433
28879
  RepeatableFormSection = ({
29434
28880
  sectionType,
29435
28881
  title,
@@ -29450,7 +28896,7 @@ var init_RepeatableFormSection = __esm({
29450
28896
  showAuditInfo = false
29451
28897
  }) => {
29452
28898
  const eventBus = useEventBus();
29453
- const { t } = useTranslate();
28899
+ const { t } = hooks.useTranslate();
29454
28900
  const resolvedAddLabel = addLabel ?? t("common.add");
29455
28901
  const resolvedEmptyMessage = emptyMessage ?? t("empty.noItemsAdded");
29456
28902
  const safeItems = items ?? [];
@@ -29560,7 +29006,6 @@ var actionTypeLabelKeys, actionTypeIcons, ViolationAlert;
29560
29006
  var init_ViolationAlert = __esm({
29561
29007
  "components/core/molecules/ViolationAlert.tsx"() {
29562
29008
  init_cn();
29563
- init_useTranslate();
29564
29009
  init_Box();
29565
29010
  init_Stack();
29566
29011
  init_Typography();
@@ -29586,7 +29031,7 @@ var init_ViolationAlert = __esm({
29586
29031
  className,
29587
29032
  ...flatProps
29588
29033
  }) => {
29589
- const { t } = useTranslate();
29034
+ const { t } = hooks.useTranslate();
29590
29035
  const resolvedViolation = violation ?? {
29591
29036
  law: "",
29592
29037
  article: "",
@@ -30066,7 +29511,6 @@ var init_LineChart = __esm({
30066
29511
  "use client";
30067
29512
  init_cn();
30068
29513
  init_atoms2();
30069
- init_useTranslate();
30070
29514
  LineChart2 = ({
30071
29515
  data,
30072
29516
  width = 400,
@@ -30078,7 +29522,7 @@ var init_LineChart = __esm({
30078
29522
  areaColor = "var(--color-primary)",
30079
29523
  className
30080
29524
  }) => {
30081
- const { t } = useTranslate();
29525
+ const { t } = hooks.useTranslate();
30082
29526
  const gradientId = React97.useId();
30083
29527
  const safeData = data ?? [];
30084
29528
  const sortedData = React97.useMemo(() => {
@@ -32022,7 +31466,6 @@ var init_GraphView = __esm({
32022
31466
  "use client";
32023
31467
  init_cn();
32024
31468
  init_atoms2();
32025
- init_useTranslate();
32026
31469
  GROUP_COLORS = [
32027
31470
  "#3b82f6",
32028
31471
  // blue-500
@@ -32055,7 +31498,7 @@ var init_GraphView = __esm({
32055
31498
  showLabels = true,
32056
31499
  zoomToFit = true
32057
31500
  }) => {
32058
- const { t } = useTranslate();
31501
+ const { t } = hooks.useTranslate();
32059
31502
  const containerRef = React97.useRef(null);
32060
31503
  const animRef = React97.useRef(0);
32061
31504
  const [simNodes, setSimNodes] = React97.useState([]);
@@ -32348,7 +31791,6 @@ var init_NumberStepper = __esm({
32348
31791
  init_cn();
32349
31792
  init_Icon();
32350
31793
  init_useEventBus();
32351
- init_useTranslate();
32352
31794
  sizeStyles10 = {
32353
31795
  sm: {
32354
31796
  button: "w-7 h-7",
@@ -32382,7 +31824,7 @@ var init_NumberStepper = __esm({
32382
31824
  label
32383
31825
  }) => {
32384
31826
  const eventBus = useSafeEventBus5();
32385
- const { t } = useTranslate();
31827
+ const { t } = hooks.useTranslate();
32386
31828
  const intervalRef = React97.useRef(null);
32387
31829
  const timeoutRef = React97.useRef(null);
32388
31830
  const isAtMin = min !== void 0 && value <= min;
@@ -32689,7 +32131,6 @@ var init_UploadDropZone = __esm({
32689
32131
  init_Icon();
32690
32132
  init_Typography();
32691
32133
  init_useEventBus();
32692
- init_useTranslate();
32693
32134
  UploadDropZone = ({
32694
32135
  accept,
32695
32136
  maxSize,
@@ -32702,7 +32143,7 @@ var init_UploadDropZone = __esm({
32702
32143
  onFiles,
32703
32144
  className
32704
32145
  }) => {
32705
- const { t } = useTranslate();
32146
+ const { t } = hooks.useTranslate();
32706
32147
  const resolvedLabel = label ?? t("upload.dropOrBrowse");
32707
32148
  const [isDragOver, setIsDragOver] = React97.useState(false);
32708
32149
  const [error, setError] = React97.useState(null);
@@ -32856,7 +32297,6 @@ var init_Lightbox = __esm({
32856
32297
  init_Icon();
32857
32298
  init_cn();
32858
32299
  init_useEventBus();
32859
- init_useTranslate();
32860
32300
  Lightbox = ({
32861
32301
  images = [],
32862
32302
  currentIndex = 0,
@@ -32871,7 +32311,7 @@ var init_Lightbox = __esm({
32871
32311
  const [index, setIndex] = React97.useState(currentIndex);
32872
32312
  const [touchStartX, setTouchStartX] = React97.useState(null);
32873
32313
  const eventBus = useSafeEventBus8();
32874
- const { t } = useTranslate();
32314
+ const { t } = hooks.useTranslate();
32875
32315
  React97.useEffect(() => {
32876
32316
  setIndex(currentIndex);
32877
32317
  }, [currentIndex]);
@@ -33109,7 +32549,7 @@ function TableView({
33109
32549
  dndRoot
33110
32550
  }) {
33111
32551
  const eventBus = useEventBus();
33112
- const { t } = useTranslate();
32552
+ const { t } = hooks.useTranslate();
33113
32553
  const [visibleCount, setVisibleCount] = React97__namespace.default.useState(pageSize > 0 ? pageSize : Infinity);
33114
32554
  const [localSelected, setLocalSelected] = React97__namespace.default.useState(/* @__PURE__ */ new Set());
33115
32555
  const colDefs = columns ?? fields ?? [];
@@ -33341,7 +32781,6 @@ var init_TableView = __esm({
33341
32781
  init_cn();
33342
32782
  init_getNestedValue();
33343
32783
  init_useEventBus();
33344
- init_useTranslate();
33345
32784
  init_Box();
33346
32785
  init_Stack();
33347
32786
  init_Typography();
@@ -33545,7 +32984,6 @@ var init_Meter = __esm({
33545
32984
  init_LoadingState();
33546
32985
  init_ErrorState();
33547
32986
  init_useEventBus();
33548
- init_useTranslate();
33549
32987
  DEFAULT_THRESHOLDS = [
33550
32988
  { value: 30, color: "var(--color-error)" },
33551
32989
  { value: 70, color: "var(--color-warning)" },
@@ -33573,7 +33011,7 @@ var init_Meter = __esm({
33573
33011
  className
33574
33012
  }) => {
33575
33013
  const eventBus = useEventBus();
33576
- const { t } = useTranslate();
33014
+ const { t } = hooks.useTranslate();
33577
33015
  const handleAction = React97.useCallback(
33578
33016
  (action) => {
33579
33017
  if (action.event) {
@@ -35492,7 +34930,6 @@ var init_VoteStack = __esm({
35492
34930
  init_cn();
35493
34931
  init_Icon();
35494
34932
  init_useEventBus();
35495
- init_useTranslate();
35496
34933
  sizeStyles12 = {
35497
34934
  sm: {
35498
34935
  button: "w-7 h-7",
@@ -35525,7 +34962,7 @@ var init_VoteStack = __esm({
35525
34962
  const isUp = userVote === "up";
35526
34963
  const isDown = userVote === "down";
35527
34964
  const eventBus = useEventBus();
35528
- const { t } = useTranslate();
34965
+ const { t } = hooks.useTranslate();
35529
34966
  const handleUp = React97.useCallback(() => {
35530
34967
  const next = isUp ? null : "up";
35531
34968
  onVote?.(next);
@@ -35947,7 +35384,6 @@ var init_QrScanner = __esm({
35947
35384
  init_atoms2();
35948
35385
  init_Icon();
35949
35386
  init_useEventBus();
35950
- init_useTranslate();
35951
35387
  QrScanner = ({
35952
35388
  onScan,
35953
35389
  scanEvent,
@@ -35960,7 +35396,7 @@ var init_QrScanner = __esm({
35960
35396
  className
35961
35397
  }) => {
35962
35398
  const eventBus = useEventBus();
35963
- const { t } = useTranslate();
35399
+ const { t } = hooks.useTranslate();
35964
35400
  const videoRef = React97.useRef(null);
35965
35401
  const streamRef = React97.useRef(null);
35966
35402
  const scanIntervalRef = React97.useRef(null);
@@ -36174,7 +35610,6 @@ var init_OptionConstraintGroup = __esm({
36174
35610
  "components/core/molecules/OptionConstraintGroup.tsx"() {
36175
35611
  init_cn();
36176
35612
  init_useEventBus();
36177
- init_useTranslate();
36178
35613
  init_Typography();
36179
35614
  init_Box();
36180
35615
  init_Label();
@@ -36230,7 +35665,7 @@ var init_OptionConstraintGroup = __esm({
36230
35665
  className
36231
35666
  }) => {
36232
35667
  const eventBus = useEventBus();
36233
- const { t } = useTranslate();
35668
+ const { t } = hooks.useTranslate();
36234
35669
  const hint = constraintHint(constraint, t);
36235
35670
  const error = validateSelection(selected, constraint, t);
36236
35671
  const inputName = `option-${groupId}`;
@@ -36654,7 +36089,7 @@ function changeBlockType(block, type) {
36654
36089
  return { id: block.id, type, content: seed };
36655
36090
  }
36656
36091
  function BlockMenu({ block, readOnly, onDelete, onDuplicate, onChangeType }) {
36657
- const { t } = useTranslate();
36092
+ const { t } = hooks.useTranslate();
36658
36093
  const [open, setOpen] = React97.useState(false);
36659
36094
  const ref = React97.useRef(null);
36660
36095
  React97.useEffect(() => {
@@ -36811,7 +36246,7 @@ function BlockRow({
36811
36246
  onInsertAfter,
36812
36247
  onChangeType
36813
36248
  }) {
36814
- const { t } = useTranslate();
36249
+ const { t } = hooks.useTranslate();
36815
36250
  const setContent = React97.useCallback(
36816
36251
  (next) => onUpdate((b) => ({ ...b, content: next })),
36817
36252
  [onUpdate]
@@ -37130,7 +36565,6 @@ var init_RichBlockEditor = __esm({
37130
36565
  init_Input();
37131
36566
  init_Icon();
37132
36567
  init_useEventBus();
37133
- init_useTranslate();
37134
36568
  TOOLBAR_ENTRIES = [
37135
36569
  { type: "paragraph", labelKey: "richBlockEditor.toolbar.text", icon: LucideIcons2.Type },
37136
36570
  { type: "heading-1", labelKey: "richBlockEditor.toolbar.h1", icon: LucideIcons2.Heading1 },
@@ -37187,7 +36621,7 @@ var init_RichBlockEditor = __esm({
37187
36621
  showToolbar = true,
37188
36622
  className
37189
36623
  }) => {
37190
- const { t } = useTranslate();
36624
+ const { t } = hooks.useTranslate();
37191
36625
  const [blocks, setBlocks] = React97.useState(
37192
36626
  () => normalizeBlocks(initialBlocks)
37193
36627
  );
@@ -37321,7 +36755,6 @@ var init_ReplyTree = __esm({
37321
36755
  "use client";
37322
36756
  init_cn();
37323
36757
  init_useEventBus();
37324
- init_useTranslate();
37325
36758
  init_atoms2();
37326
36759
  init_VoteStack();
37327
36760
  ReplyTreeNode = ({
@@ -37341,7 +36774,7 @@ var init_ReplyTree = __esm({
37341
36774
  showActions
37342
36775
  }) => {
37343
36776
  const eventBus = useEventBus();
37344
- const { t } = useTranslate();
36777
+ const { t } = hooks.useTranslate();
37345
36778
  const hasReplies = !!node.replies && node.replies.length > 0;
37346
36779
  const isCollapsed = collapsedSet.has(node.id);
37347
36780
  const atMaxDepth = depth >= maxDepth;
@@ -37532,7 +36965,7 @@ var init_ReplyTree = __esm({
37532
36965
  showActions = true,
37533
36966
  className
37534
36967
  }) => {
37535
- const { t } = useTranslate();
36968
+ const { t } = hooks.useTranslate();
37536
36969
  const nodeList = Array.isArray(nodes) ? nodes : nodes ? [nodes] : [];
37537
36970
  const [collapsedSet, setCollapsedSet] = React97.useState(() => {
37538
36971
  const acc = /* @__PURE__ */ new Set();
@@ -37629,7 +37062,6 @@ var init_VersionDiff = __esm({
37629
37062
  "use client";
37630
37063
  init_cn();
37631
37064
  init_useEventBus();
37632
- init_useTranslate();
37633
37065
  init_atoms2();
37634
37066
  init_Stack();
37635
37067
  INLINE_STYLES = {
@@ -37652,7 +37084,7 @@ var init_VersionDiff = __esm({
37652
37084
  language,
37653
37085
  className
37654
37086
  }) => {
37655
- const { t } = useTranslate();
37087
+ const { t } = hooks.useTranslate();
37656
37088
  const eventBus = useEventBus();
37657
37089
  const revisions = Array.isArray(revisionsProp) ? revisionsProp : [];
37658
37090
  const fallbackBefore = revisions[0]?.id ?? "";
@@ -37945,12 +37377,11 @@ var init_DocBreadcrumb = __esm({
37945
37377
  init_Stack();
37946
37378
  init_Typography();
37947
37379
  init_Icon();
37948
- init_useTranslate();
37949
37380
  DocBreadcrumb = ({
37950
37381
  items,
37951
37382
  className
37952
37383
  }) => {
37953
- const { t } = useTranslate();
37384
+ const { t } = hooks.useTranslate();
37954
37385
  return /* @__PURE__ */ jsxRuntime.jsx(
37955
37386
  Box,
37956
37387
  {
@@ -38201,7 +37632,7 @@ function DocSearch({
38201
37632
  onSearch,
38202
37633
  className
38203
37634
  }) {
38204
- const { t } = useTranslate();
37635
+ const { t } = hooks.useTranslate();
38205
37636
  const resolvedPlaceholder = placeholder ?? t("docSearch.placeholder");
38206
37637
  const [query, setQuery] = React97.useState("");
38207
37638
  const [results, setResults] = React97.useState([]);
@@ -38374,7 +37805,6 @@ var init_DocSearch = __esm({
38374
37805
  init_Typography();
38375
37806
  init_Icon();
38376
37807
  init_Input();
38377
- init_useTranslate();
38378
37808
  }
38379
37809
  });
38380
37810
  var DocSidebarCategory, DocSidebar;
@@ -38387,7 +37817,6 @@ var init_DocSidebar = __esm({
38387
37817
  init_Stack();
38388
37818
  init_Typography();
38389
37819
  init_Icon();
38390
- init_useTranslate();
38391
37820
  DocSidebarCategory = ({ item, depth }) => {
38392
37821
  const [expanded, setExpanded] = React97.useState(
38393
37822
  () => item.items?.some(function hasActive(child) {
@@ -38472,7 +37901,7 @@ var init_DocSidebar = __esm({
38472
37901
  items,
38473
37902
  className
38474
37903
  }) => {
38475
- const { t } = useTranslate();
37904
+ const { t } = hooks.useTranslate();
38476
37905
  return /* @__PURE__ */ jsxRuntime.jsx(
38477
37906
  Box,
38478
37907
  {
@@ -38494,13 +37923,12 @@ var init_DocTOC = __esm({
38494
37923
  init_Box();
38495
37924
  init_Stack();
38496
37925
  init_Typography();
38497
- init_useTranslate();
38498
37926
  DocTOC = ({
38499
37927
  items,
38500
37928
  activeId,
38501
37929
  className
38502
37930
  }) => {
38503
- const { t } = useTranslate();
37931
+ const { t } = hooks.useTranslate();
38504
37932
  return /* @__PURE__ */ jsxRuntime.jsx(
38505
37933
  Box,
38506
37934
  {
@@ -38820,7 +38248,6 @@ var init_Header = __esm({
38820
38248
  init_Stack();
38821
38249
  init_Typography();
38822
38250
  init_cn();
38823
- init_useTranslate();
38824
38251
  lookStyles8 = {
38825
38252
  "compact-bar": "",
38826
38253
  hero: "py-section min-h-[200px] [&_h1]:text-display-1",
@@ -38849,7 +38276,7 @@ var init_Header = __esm({
38849
38276
  onLogoClick,
38850
38277
  className
38851
38278
  }) => {
38852
- const { t } = useTranslate();
38279
+ const { t } = hooks.useTranslate();
38853
38280
  const resolvedSearchPlaceholder = searchPlaceholder ?? t("common.search");
38854
38281
  const userInitials = userAvatar?.initials || userName?.[0]?.toUpperCase() || "U";
38855
38282
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -39140,7 +38567,6 @@ var init_Sidebar = __esm({
39140
38567
  init_Typography();
39141
38568
  init_cn();
39142
38569
  init_useEventBus();
39143
- init_useTranslate();
39144
38570
  SidebarNavItem = ({ item, collapsed }) => {
39145
38571
  const Icon3 = item.icon;
39146
38572
  const isActive = item.active ?? item.isActive;
@@ -39204,7 +38630,7 @@ var init_Sidebar = __esm({
39204
38630
  className
39205
38631
  }) => {
39206
38632
  const { emit } = useEventBus();
39207
- const { t } = useTranslate();
38633
+ const { t } = hooks.useTranslate();
39208
38634
  const [internalCollapsed, setInternalCollapsed] = React97.useState(defaultCollapsed);
39209
38635
  const collapsed = controlledCollapsed !== void 0 ? controlledCollapsed : internalCollapsed;
39210
38636
  const handleToggle = React97.useCallback(() => {
@@ -39394,7 +38820,6 @@ var init_WizardContainer = __esm({
39394
38820
  init_Stack();
39395
38821
  init_Icon();
39396
38822
  init_cn();
39397
- init_useTranslate();
39398
38823
  WizardContainer = ({
39399
38824
  steps,
39400
38825
  currentStep: controlledStep,
@@ -39407,7 +38832,7 @@ var init_WizardContainer = __esm({
39407
38832
  entity: _entity
39408
38833
  // Accept but don't use directly yet
39409
38834
  }) => {
39410
- const { t } = useTranslate();
38835
+ const { t } = hooks.useTranslate();
39411
38836
  const [internalStep, setInternalStep] = React97.useState(0);
39412
38837
  const normalizedControlledStep = (() => {
39413
38838
  if (controlledStep === void 0 || controlledStep === null)
@@ -39968,7 +39393,6 @@ var init_SignaturePad = __esm({
39968
39393
  init_LoadingState();
39969
39394
  init_ErrorState();
39970
39395
  init_useEventBus();
39971
- init_useTranslate();
39972
39396
  SignaturePad = ({
39973
39397
  label,
39974
39398
  helperText,
@@ -39986,7 +39410,7 @@ var init_SignaturePad = __esm({
39986
39410
  className
39987
39411
  }) => {
39988
39412
  const eventBus = useEventBus();
39989
- const { t } = useTranslate();
39413
+ const { t } = hooks.useTranslate();
39990
39414
  const resolvedLabel = label ?? t("signaturePad.label");
39991
39415
  const resolvedHelperText = helperText ?? t("signaturePad.helperText");
39992
39416
  const canvasRef = React97.useRef(null);
@@ -40162,7 +39586,6 @@ var init_DocumentViewer = __esm({
40162
39586
  init_EmptyState();
40163
39587
  init_Tabs();
40164
39588
  init_useEventBus();
40165
- init_useTranslate();
40166
39589
  DocumentViewer = ({
40167
39590
  title,
40168
39591
  src,
@@ -40182,7 +39605,7 @@ var init_DocumentViewer = __esm({
40182
39605
  className
40183
39606
  }) => {
40184
39607
  const eventBus = useEventBus();
40185
- const { t } = useTranslate();
39608
+ const { t } = hooks.useTranslate();
40186
39609
  const [zoom, setZoom] = React97.useState(100);
40187
39610
  const [currentPage, setCurrentPage] = React97.useState(propPage ?? 1);
40188
39611
  const [activeDocIndex, setActiveDocIndex] = React97.useState(0);
@@ -40367,7 +39790,6 @@ var init_GraphCanvas = __esm({
40367
39790
  init_ErrorState();
40368
39791
  init_EmptyState();
40369
39792
  init_useEventBus();
40370
- init_useTranslate();
40371
39793
  GROUP_COLORS2 = [
40372
39794
  "var(--color-primary)",
40373
39795
  "var(--color-success)",
@@ -40394,7 +39816,7 @@ var init_GraphCanvas = __esm({
40394
39816
  className
40395
39817
  }) => {
40396
39818
  const eventBus = useEventBus();
40397
- const { t } = useTranslate();
39819
+ const { t } = hooks.useTranslate();
40398
39820
  const canvasRef = React97.useRef(null);
40399
39821
  const animRef = React97.useRef(0);
40400
39822
  const [zoom, setZoom] = React97.useState(1);
@@ -40744,7 +40166,7 @@ function DataTable({
40744
40166
  null
40745
40167
  );
40746
40168
  const eventBus = useEventBus();
40747
- const { t } = useTranslate();
40169
+ const { t } = hooks.useTranslate();
40748
40170
  const resolvedEmptyTitle = emptyTitle ?? t("table.empty.title");
40749
40171
  const resolvedEmptyDescription = emptyDescription ?? t("table.empty.description");
40750
40172
  const resolvedSearchPlaceholder = searchPlaceholder ?? t("common.search");
@@ -41105,7 +40527,6 @@ var init_DataTable = __esm({
41105
40527
  init_molecules2();
41106
40528
  init_Icon();
41107
40529
  init_useEventBus();
41108
- init_useTranslate();
41109
40530
  init_types3();
41110
40531
  lookStyles9 = {
41111
40532
  dense: "",
@@ -41123,7 +40544,7 @@ function DebuggerBoard({
41123
40544
  className
41124
40545
  }) {
41125
40546
  const { emit } = useEventBus();
41126
- const { t } = useTranslate();
40547
+ const { t } = hooks.useTranslate();
41127
40548
  const resolved = Array.isArray(entity) ? entity[0] : entity;
41128
40549
  const [flaggedLines, setFlaggedLines] = React97.useState(/* @__PURE__ */ new Set());
41129
40550
  const [headerError, setHeaderError] = React97.useState(false);
@@ -41252,7 +40673,6 @@ var init_DebuggerBoard = __esm({
41252
40673
  "components/game/organisms/puzzles/debugger/DebuggerBoard.tsx"() {
41253
40674
  init_atoms2();
41254
40675
  init_useEventBus();
41255
- init_useTranslate();
41256
40676
  DebuggerBoard.displayName = "DebuggerBoard";
41257
40677
  }
41258
40678
  });
@@ -41423,7 +40843,6 @@ var init_DetailPanel = __esm({
41423
40843
  init_cn();
41424
40844
  init_getNestedValue();
41425
40845
  init_useEventBus();
41426
- init_useTranslate();
41427
40846
  ReactMarkdown2 = React97.lazy(() => import('react-markdown'));
41428
40847
  DetailPanel = ({
41429
40848
  title: propTitle,
@@ -41443,7 +40862,7 @@ var init_DetailPanel = __esm({
41443
40862
  error
41444
40863
  }) => {
41445
40864
  const eventBus = useEventBus();
41446
- const { t } = useTranslate();
40865
+ const { t } = hooks.useTranslate();
41447
40866
  const isFieldDefArray = (arr) => {
41448
40867
  if (!arr || arr.length === 0) return false;
41449
40868
  const first = arr[0];
@@ -41841,7 +41260,7 @@ function CompactView({
41841
41260
  stateStyles,
41842
41261
  className
41843
41262
  }) {
41844
- const { t } = useTranslate();
41263
+ const { t } = hooks.useTranslate();
41845
41264
  const config = SIZE_CONFIG2[size || "md"];
41846
41265
  const currentTransitions = trait.transitions.filter((t2) => t2.from === trait.currentState);
41847
41266
  return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { className: cn("p-3 rounded-container bg-card border border-border", className), gap: "sm", children: [
@@ -41877,7 +41296,7 @@ function FullView({
41877
41296
  stateStyles,
41878
41297
  className
41879
41298
  }) {
41880
- const { t } = useTranslate();
41299
+ const { t } = hooks.useTranslate();
41881
41300
  const config = SIZE_CONFIG2[size || "md"];
41882
41301
  const currentTransitions = trait.transitions.filter((t2) => t2.from === trait.currentState);
41883
41302
  return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { className: cn("p-3 rounded-container bg-card border border-border", className), gap: "sm", children: [
@@ -42002,7 +41421,6 @@ var init_TraitStateViewer = __esm({
42002
41421
  "components/game/organisms/TraitStateViewer.tsx"() {
42003
41422
  "use client";
42004
41423
  init_cn();
42005
- init_useTranslate();
42006
41424
  init_Box();
42007
41425
  init_Typography();
42008
41426
  init_Stack();
@@ -42024,7 +41442,7 @@ function RuleEditor({
42024
41442
  disabled = false,
42025
41443
  className
42026
41444
  }) {
42027
- const { t } = useTranslate();
41445
+ const { t } = hooks.useTranslate();
42028
41446
  const handleWhenChange = React97.useCallback((e) => {
42029
41447
  onChange({ ...rule, whenEvent: e.target.value });
42030
41448
  }, [rule, onChange]);
@@ -42061,7 +41479,6 @@ var init_RuleEditor = __esm({
42061
41479
  "components/game/organisms/puzzles/event-handler/RuleEditor.tsx"() {
42062
41480
  init_atoms2();
42063
41481
  init_cn();
42064
- init_useTranslate();
42065
41482
  RuleEditor.displayName = "RuleEditor";
42066
41483
  }
42067
41484
  });
@@ -42071,7 +41488,7 @@ function ObjectRulePanel({
42071
41488
  disabled = false,
42072
41489
  className
42073
41490
  }) {
42074
- const { t } = useTranslate();
41491
+ const { t } = hooks.useTranslate();
42075
41492
  const maxRules = object.maxRules || 3;
42076
41493
  const canAdd = object.rules.length < maxRules;
42077
41494
  const handleRuleChange = React97.useCallback((index, updatedRule) => {
@@ -42136,7 +41553,6 @@ var init_ObjectRulePanel = __esm({
42136
41553
  "components/game/organisms/puzzles/event-handler/ObjectRulePanel.tsx"() {
42137
41554
  init_atoms2();
42138
41555
  init_cn();
42139
- init_useTranslate();
42140
41556
  init_TraitStateViewer();
42141
41557
  init_RuleEditor();
42142
41558
  nextRuleId = 1;
@@ -42149,7 +41565,7 @@ function EventLog({
42149
41565
  label,
42150
41566
  className
42151
41567
  }) {
42152
- const { t } = useTranslate();
41568
+ const { t } = hooks.useTranslate();
42153
41569
  const scrollRef = React97.useRef(null);
42154
41570
  React97.useEffect(() => {
42155
41571
  if (scrollRef.current) {
@@ -42181,7 +41597,6 @@ var init_EventLog = __esm({
42181
41597
  "components/game/organisms/puzzles/event-handler/EventLog.tsx"() {
42182
41598
  init_atoms2();
42183
41599
  init_cn();
42184
- init_useTranslate();
42185
41600
  STATUS_STYLES = {
42186
41601
  pending: "text-muted-foreground",
42187
41602
  active: "text-primary animate-pulse",
@@ -42205,7 +41620,7 @@ function EventHandlerBoard({
42205
41620
  className
42206
41621
  }) {
42207
41622
  const { emit } = useEventBus();
42208
- const { t } = useTranslate();
41623
+ const { t } = hooks.useTranslate();
42209
41624
  const resolved = Array.isArray(entity) ? entity[0] : entity;
42210
41625
  const entityObjects = resolved?.objects ?? [];
42211
41626
  const [objects, setObjects] = React97.useState(entityObjects);
@@ -42395,7 +41810,6 @@ var init_EventHandlerBoard = __esm({
42395
41810
  init_atoms2();
42396
41811
  init_cn();
42397
41812
  init_useEventBus();
42398
- init_useTranslate();
42399
41813
  init_TraitStateViewer();
42400
41814
  init_ObjectRulePanel();
42401
41815
  init_EventLog();
@@ -42465,7 +41879,6 @@ var init_FeatureGridOrganism = __esm({
42465
41879
  "use client";
42466
41880
  init_cn();
42467
41881
  init_useEventBus();
42468
- init_useTranslate();
42469
41882
  init_Stack();
42470
41883
  init_Typography();
42471
41884
  init_FeatureGrid();
@@ -42481,7 +41894,7 @@ var init_FeatureGridOrganism = __esm({
42481
41894
  subtitle
42482
41895
  }) => {
42483
41896
  const eventBus = useEventBus();
42484
- const { t } = useTranslate();
41897
+ const { t } = hooks.useTranslate();
42485
41898
  const items = React97.useMemo(
42486
41899
  () => Array.isArray(entity) ? entity : entity && typeof entity === "object" ? [entity] : [],
42487
41900
  [entity]
@@ -42648,7 +42061,6 @@ var init_Form = __esm({
42648
42061
  init_RelationSelect();
42649
42062
  init_Alert();
42650
42063
  init_useEventBus();
42651
- init_useTranslate();
42652
42064
  init_debug();
42653
42065
  layoutStyles = {
42654
42066
  vertical: "flex flex-col",
@@ -42699,7 +42111,7 @@ var init_Form = __esm({
42699
42111
  ...props
42700
42112
  }) => {
42701
42113
  const eventBus = useEventBus();
42702
- const { t } = useTranslate();
42114
+ const { t } = hooks.useTranslate();
42703
42115
  const resolvedSubmitLabel = submitLabel ?? t("common.save");
42704
42116
  const resolvedCancelLabel = cancelLabel ?? t("common.cancel");
42705
42117
  const isSchemaEntity = isOrbitalEntitySchema(entity);
@@ -43808,7 +43220,6 @@ var init_HeroOrganism = __esm({
43808
43220
  "use client";
43809
43221
  init_cn();
43810
43222
  init_useEventBus();
43811
- init_useTranslate();
43812
43223
  init_HeroSection();
43813
43224
  init_LoadingState();
43814
43225
  init_ErrorState();
@@ -43820,7 +43231,7 @@ var init_HeroOrganism = __esm({
43820
43231
  children
43821
43232
  }) => {
43822
43233
  const eventBus = useEventBus();
43823
- const { t } = useTranslate();
43234
+ const { t } = hooks.useTranslate();
43824
43235
  const resolved = React97.useMemo(
43825
43236
  () => Array.isArray(entity) ? entity[0] : entity && typeof entity === "object" ? entity : void 0,
43826
43237
  [entity]
@@ -43914,7 +43325,6 @@ var LandingPageTemplate;
43914
43325
  var init_LandingPageTemplate = __esm({
43915
43326
  "components/marketing/templates/LandingPageTemplate.tsx"() {
43916
43327
  init_cn();
43917
- init_useTranslate();
43918
43328
  init_Stack();
43919
43329
  init_Box();
43920
43330
  init_Container();
@@ -43932,7 +43342,7 @@ var init_LandingPageTemplate = __esm({
43932
43342
  featureColumns = 3,
43933
43343
  className
43934
43344
  }) => {
43935
- const { t } = useTranslate();
43345
+ const { t } = hooks.useTranslate();
43936
43346
  const resolved = entity && typeof entity === "object" && !Array.isArray(entity) ? entity : void 0;
43937
43347
  if (!resolved) return null;
43938
43348
  return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "none", className: cn("w-full", className), children: [
@@ -44114,7 +43524,6 @@ var init_List = __esm({
44114
43524
  init_cn();
44115
43525
  init_getNestedValue();
44116
43526
  init_useEventBus();
44117
- init_useTranslate();
44118
43527
  init_types3();
44119
43528
  STATUS_STYLES2 = {
44120
43529
  complete: {
@@ -44239,7 +43648,7 @@ var init_List = __esm({
44239
43648
  entityType
44240
43649
  }) => {
44241
43650
  const eventBus = useEventBus();
44242
- const { t } = useTranslate();
43651
+ const { t } = hooks.useTranslate();
44243
43652
  const resolvedEmptyMessage = emptyMessage ?? t("empty.noData");
44244
43653
  const effectiveFieldNames = normalizeFields2(fields).length > 0 ? normalizeFields2(fields) : fieldNames;
44245
43654
  const rawItems = React97.useMemo(() => {
@@ -44586,7 +43995,7 @@ function MasterDetail({
44586
43995
  className,
44587
43996
  ...rest
44588
43997
  }) {
44589
- const { t } = useTranslate();
43998
+ const { t } = hooks.useTranslate();
44590
43999
  const loading = externalLoading ?? false;
44591
44000
  const isLoading = externalIsLoading ?? false;
44592
44001
  const error = externalError ?? null;
@@ -44609,7 +44018,6 @@ var init_MasterDetail = __esm({
44609
44018
  "components/core/organisms/MasterDetail.tsx"() {
44610
44019
  "use client";
44611
44020
  init_DataTable();
44612
- init_useTranslate();
44613
44021
  MasterDetail.displayName = "MasterDetail";
44614
44022
  }
44615
44023
  });
@@ -44618,9 +44026,8 @@ var init_MasterDetailLayout = __esm({
44618
44026
  "components/core/organisms/layout/MasterDetailLayout.tsx"() {
44619
44027
  init_cn();
44620
44028
  init_Typography();
44621
- init_useTranslate();
44622
44029
  DefaultEmptyDetail = () => {
44623
- const { t } = useTranslate();
44030
+ const { t } = hooks.useTranslate();
44624
44031
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center h-full border-2 border-dashed border-border", children: /* @__PURE__ */ jsxRuntime.jsx(
44625
44032
  Typography,
44626
44033
  {
@@ -44679,7 +44086,6 @@ var init_MediaGallery = __esm({
44679
44086
  init_ErrorState();
44680
44087
  init_EmptyState();
44681
44088
  init_useEventBus();
44682
- init_useTranslate();
44683
44089
  COLUMN_CLASSES = {
44684
44090
  2: "grid-cols-2",
44685
44091
  3: "grid-cols-2 sm:grid-cols-3",
@@ -44708,7 +44114,7 @@ var init_MediaGallery = __esm({
44708
44114
  className
44709
44115
  }) => {
44710
44116
  const eventBus = useEventBus();
44711
- const { t } = useTranslate();
44117
+ const { t } = hooks.useTranslate();
44712
44118
  const [lightboxItem, setLightboxItem] = React97.useState(null);
44713
44119
  const closeLightbox = React97.useCallback(() => setLightboxItem(null), []);
44714
44120
  useEventListener("UI:LIGHTBOX_CLOSE", closeLightbox);
@@ -44950,7 +44356,7 @@ function NegotiatorBoard({
44950
44356
  className
44951
44357
  }) {
44952
44358
  const { emit } = useEventBus();
44953
- const { t } = useTranslate();
44359
+ const { t } = hooks.useTranslate();
44954
44360
  const resolved = Array.isArray(entity) ? entity[0] : entity;
44955
44361
  const [history, setHistory] = React97.useState([]);
44956
44362
  const [headerError, setHeaderError] = React97.useState(false);
@@ -45080,7 +44486,6 @@ var init_NegotiatorBoard = __esm({
45080
44486
  "components/game/organisms/puzzles/negotiator/NegotiatorBoard.tsx"() {
45081
44487
  init_atoms2();
45082
44488
  init_useEventBus();
45083
- init_useTranslate();
45084
44489
  NegotiatorBoard.displayName = "NegotiatorBoard";
45085
44490
  }
45086
44491
  });
@@ -45090,7 +44495,6 @@ var init_PricingOrganism = __esm({
45090
44495
  "use client";
45091
44496
  init_cn();
45092
44497
  init_useEventBus();
45093
- init_useTranslate();
45094
44498
  init_Stack();
45095
44499
  init_Typography();
45096
44500
  init_PricingGrid();
@@ -45105,7 +44509,7 @@ var init_PricingOrganism = __esm({
45105
44509
  subtitle
45106
44510
  }) => {
45107
44511
  useEventBus();
45108
- const { t } = useTranslate();
44512
+ const { t } = hooks.useTranslate();
45109
44513
  const items = React97.useMemo(
45110
44514
  () => Array.isArray(entity) ? entity : entity && typeof entity === "object" ? [entity] : [],
45111
44515
  [entity]
@@ -45140,7 +44544,6 @@ var PricingPageTemplate;
45140
44544
  var init_PricingPageTemplate = __esm({
45141
44545
  "components/marketing/templates/PricingPageTemplate.tsx"() {
45142
44546
  init_cn();
45143
- init_useTranslate();
45144
44547
  init_Stack();
45145
44548
  init_Box();
45146
44549
  init_Container();
@@ -45153,7 +44556,7 @@ var init_PricingPageTemplate = __esm({
45153
44556
  entity,
45154
44557
  className
45155
44558
  }) => {
45156
- const { t } = useTranslate();
44559
+ const { t } = hooks.useTranslate();
45157
44560
  const resolved = entity && typeof entity === "object" && !Array.isArray(entity) ? entity : void 0;
45158
44561
  if (!resolved) return null;
45159
44562
  return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "none", className: cn("w-full", className), children: [
@@ -45655,7 +45058,7 @@ var init_WalkMinimap = __esm({
45655
45058
  }
45656
45059
  });
45657
45060
  function TraitsTab({ traits: traits2 }) {
45658
- const { t } = useTranslate();
45061
+ const { t } = hooks.useTranslate();
45659
45062
  if (traits2.length === 0) {
45660
45063
  return /* @__PURE__ */ jsxRuntime.jsx(
45661
45064
  EmptyState,
@@ -45723,12 +45126,11 @@ var init_TraitsTab = __esm({
45723
45126
  init_Typography();
45724
45127
  init_Stack();
45725
45128
  init_EmptyState();
45726
- init_useTranslate();
45727
45129
  TraitsTab.displayName = "TraitsTab";
45728
45130
  }
45729
45131
  });
45730
45132
  function TicksTab({ ticks: ticks2 }) {
45731
- const { t } = useTranslate();
45133
+ const { t } = hooks.useTranslate();
45732
45134
  const activeTicks = ticks2.filter((t2) => t2.active);
45733
45135
  const inactiveTicks = ticks2.filter((t2) => !t2.active);
45734
45136
  if (ticks2.length === 0) {
@@ -45801,12 +45203,11 @@ var init_TicksTab = __esm({
45801
45203
  init_Stack();
45802
45204
  init_Card();
45803
45205
  init_EmptyState();
45804
- init_useTranslate();
45805
45206
  TicksTab.displayName = "TicksTab";
45806
45207
  }
45807
45208
  });
45808
45209
  function EntitiesTab({ snapshot }) {
45809
- const { t } = useTranslate();
45210
+ const { t } = hooks.useTranslate();
45810
45211
  if (!snapshot) {
45811
45212
  return /* @__PURE__ */ jsxRuntime.jsx(
45812
45213
  EmptyState,
@@ -45875,12 +45276,11 @@ var init_EntitiesTab = __esm({
45875
45276
  init_Typography();
45876
45277
  init_Stack();
45877
45278
  init_EmptyState();
45878
- init_useTranslate();
45879
45279
  EntitiesTab.displayName = "EntitiesTab";
45880
45280
  }
45881
45281
  });
45882
45282
  function EventFlowTab({ events: events2 }) {
45883
- const { t } = useTranslate();
45283
+ const { t } = hooks.useTranslate();
45884
45284
  const [filter, setFilter] = React97__namespace.useState("all");
45885
45285
  const containerRef = React97__namespace.useRef(null);
45886
45286
  const [autoScroll, setAutoScroll] = React97__namespace.useState(true);
@@ -45992,7 +45392,6 @@ var init_EventFlowTab = __esm({
45992
45392
  init_Button();
45993
45393
  init_Checkbox();
45994
45394
  init_EmptyState();
45995
- init_useTranslate();
45996
45395
  TYPE_BADGES = {
45997
45396
  trait: { variant: "primary", icon: "\u{1F504}" },
45998
45397
  tick: { variant: "warning", icon: "\u23F1\uFE0F" },
@@ -46005,7 +45404,7 @@ var init_EventFlowTab = __esm({
46005
45404
  }
46006
45405
  });
46007
45406
  function GuardsPanel({ guards }) {
46008
- const { t } = useTranslate();
45407
+ const { t } = hooks.useTranslate();
46009
45408
  const [filter, setFilter] = React97__namespace.useState("all");
46010
45409
  if (guards.length === 0) {
46011
45410
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -46087,12 +45486,11 @@ var init_GuardsPanel = __esm({
46087
45486
  init_ButtonGroup();
46088
45487
  init_Button();
46089
45488
  init_EmptyState();
46090
- init_useTranslate();
46091
45489
  GuardsPanel.displayName = "GuardsPanel";
46092
45490
  }
46093
45491
  });
46094
45492
  function VerificationTab({ checks, summary }) {
46095
- const { t } = useTranslate();
45493
+ const { t } = hooks.useTranslate();
46096
45494
  if (checks.length === 0) {
46097
45495
  return /* @__PURE__ */ jsxRuntime.jsx(
46098
45496
  EmptyState,
@@ -46163,7 +45561,6 @@ var init_VerificationTab = __esm({
46163
45561
  init_Typography();
46164
45562
  init_Stack();
46165
45563
  init_EmptyState();
46166
- init_useTranslate();
46167
45564
  STATUS_CONFIG = {
46168
45565
  pass: { variant: "success", icon: "\u2713", label: "PASS" },
46169
45566
  fail: { variant: "danger", icon: "\u2717", label: "FAIL" },
@@ -46183,7 +45580,7 @@ function EffectBadge({ effect }) {
46183
45580
  ] });
46184
45581
  }
46185
45582
  function TransitionTimeline({ transitions }) {
46186
- const { t } = useTranslate();
45583
+ const { t } = hooks.useTranslate();
46187
45584
  const containerRef = React97__namespace.useRef(null);
46188
45585
  const [autoScroll, setAutoScroll] = React97__namespace.useState(true);
46189
45586
  const [expandedId, setExpandedId] = React97__namespace.useState(null);
@@ -46299,7 +45696,6 @@ var init_TransitionTimeline = __esm({
46299
45696
  init_Typography();
46300
45697
  init_EmptyState();
46301
45698
  init_Checkbox();
46302
- init_useTranslate();
46303
45699
  EFFECT_STATUS_VARIANT = {
46304
45700
  executed: "success",
46305
45701
  failed: "danger",
@@ -46315,7 +45711,7 @@ function StatRow({ label, value, variant }) {
46315
45711
  ] });
46316
45712
  }
46317
45713
  function ServerBridgeTab({ bridge }) {
46318
- const { t } = useTranslate();
45714
+ const { t } = hooks.useTranslate();
46319
45715
  if (!bridge) {
46320
45716
  return /* @__PURE__ */ jsxRuntime.jsx(
46321
45717
  EmptyState,
@@ -46389,7 +45785,6 @@ var init_ServerBridgeTab = __esm({
46389
45785
  init_Stack();
46390
45786
  init_Card();
46391
45787
  init_EmptyState();
46392
- init_useTranslate();
46393
45788
  ServerBridgeTab.displayName = "ServerBridgeTab";
46394
45789
  }
46395
45790
  });
@@ -46468,7 +45863,7 @@ function getAllEvents(traits2) {
46468
45863
  }
46469
45864
  function EventDispatcherTab({ traits: traits2, schema }) {
46470
45865
  const eventBus = useEventBus();
46471
- const { t } = useTranslate();
45866
+ const { t } = hooks.useTranslate();
46472
45867
  const [log16, setLog] = React97__namespace.useState([]);
46473
45868
  const prevStatesRef = React97__namespace.useRef(/* @__PURE__ */ new Map());
46474
45869
  React97__namespace.useEffect(() => {
@@ -46554,7 +45949,6 @@ var init_EventDispatcherTab = __esm({
46554
45949
  init_Stack();
46555
45950
  init_EmptyState();
46556
45951
  init_useEventBus();
46557
- init_useTranslate();
46558
45952
  EventDispatcherTab.displayName = "EventDispatcherTab";
46559
45953
  }
46560
45954
  });
@@ -46565,7 +45959,7 @@ var init_RuntimeDebugger = __esm({
46565
45959
  }
46566
45960
  });
46567
45961
  function ServerResponseRow({ sr }) {
46568
- const { t } = useTranslate();
45962
+ const { t } = hooks.useTranslate();
46569
45963
  const entityEntries = Object.entries(sr.dataEntities);
46570
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: [
46571
45965
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
@@ -46591,7 +45985,7 @@ function ServerResponseRow({ sr }) {
46591
45985
  ] });
46592
45986
  }
46593
45987
  function TransitionRow({ trace }) {
46594
- const { t } = useTranslate();
45988
+ const { t } = hooks.useTranslate();
46595
45989
  const isServerEntry = !!trace.serverResponse && trace.traitName.startsWith("server:");
46596
45990
  const hasFailedEffects = trace.effects.some((e) => e.status === "failed");
46597
45991
  if (isServerEntry && trace.serverResponse) {
@@ -46640,7 +46034,7 @@ function VerifyModePanel({
46640
46034
  serverCount,
46641
46035
  localCount
46642
46036
  }) {
46643
- const { t } = useTranslate();
46037
+ const { t } = hooks.useTranslate();
46644
46038
  const [expanded, setExpanded] = React97__namespace.useState(true);
46645
46039
  const scrollRef = React97__namespace.useRef(null);
46646
46040
  const prevCountRef = React97__namespace.useRef(0);
@@ -46700,7 +46094,7 @@ function RuntimeDebugger({
46700
46094
  defaultTab,
46701
46095
  schema
46702
46096
  }) {
46703
- const { t } = useTranslate();
46097
+ const { t } = hooks.useTranslate();
46704
46098
  const [isCollapsed, setIsCollapsed] = React97__namespace.useState(mode === "verify" ? true : defaultCollapsed);
46705
46099
  const [isVisible, setIsVisible] = React97__namespace.useState(mode === "inline" || mode === "verify" || isDebugEnabled2());
46706
46100
  const debugData = useDebugData();
@@ -46929,7 +46323,6 @@ var init_RuntimeDebugger2 = __esm({
46929
46323
  init_TransitionTimeline();
46930
46324
  init_ServerBridgeTab();
46931
46325
  init_EventDispatcherTab();
46932
- init_useTranslate();
46933
46326
  init_RuntimeDebugger();
46934
46327
  RuntimeDebugger.displayName = "RuntimeDebugger";
46935
46328
  }
@@ -47223,7 +46616,7 @@ function SequencerBoard({
47223
46616
  className
47224
46617
  }) {
47225
46618
  const { emit } = useEventBus();
47226
- const { t } = useTranslate();
46619
+ const { t } = hooks.useTranslate();
47227
46620
  const resolved = Array.isArray(entity) ? entity[0] : entity;
47228
46621
  const [headerError, setHeaderError] = React97.useState(false);
47229
46622
  const [slots, setSlots] = React97.useState(
@@ -47416,7 +46809,6 @@ var init_SequencerBoard = __esm({
47416
46809
  init_atoms2();
47417
46810
  init_cn();
47418
46811
  init_useEventBus();
47419
- init_useTranslate();
47420
46812
  init_TraitStateViewer();
47421
46813
  init_SequenceBar();
47422
46814
  init_ActionPalette();
@@ -47435,7 +46827,6 @@ var init_ShowcaseOrganism = __esm({
47435
46827
  "use client";
47436
46828
  init_cn();
47437
46829
  init_useEventBus();
47438
- init_useTranslate();
47439
46830
  init_Stack();
47440
46831
  init_Typography();
47441
46832
  init_SimpleGrid();
@@ -47452,7 +46843,7 @@ var init_ShowcaseOrganism = __esm({
47452
46843
  subtitle
47453
46844
  }) => {
47454
46845
  useEventBus();
47455
- const { t } = useTranslate();
46846
+ const { t } = hooks.useTranslate();
47456
46847
  const items = React97.useMemo(
47457
46848
  () => Array.isArray(entity) ? entity : entity && typeof entity === "object" ? [entity] : [],
47458
46849
  [entity]
@@ -47846,7 +47237,7 @@ function SimulatorBoard({
47846
47237
  className
47847
47238
  }) {
47848
47239
  const { emit } = useEventBus();
47849
- const { t } = useTranslate();
47240
+ const { t } = hooks.useTranslate();
47850
47241
  const resolved = Array.isArray(entity) ? entity[0] : entity;
47851
47242
  const parameters = resolved?.parameters ?? [];
47852
47243
  const [values, setValues] = React97.useState(() => {
@@ -47994,7 +47385,6 @@ var init_SimulatorBoard = __esm({
47994
47385
  "components/game/organisms/puzzles/simulator/SimulatorBoard.tsx"() {
47995
47386
  init_atoms2();
47996
47387
  init_useEventBus();
47997
- init_useTranslate();
47998
47388
  SimulatorBoard.displayName = "SimulatorBoard";
47999
47389
  }
48000
47390
  });
@@ -48099,7 +47489,6 @@ var init_StatCard = __esm({
48099
47489
  init_Button();
48100
47490
  init_Sparkline();
48101
47491
  init_useEventBus();
48102
- init_useTranslate();
48103
47492
  init_Icon();
48104
47493
  StatCard = ({
48105
47494
  label: propLabel,
@@ -48126,7 +47515,7 @@ var init_StatCard = __esm({
48126
47515
  const Icon3 = typeof iconProp === "string" ? resolveIcon(iconProp) ?? void 0 : iconProp;
48127
47516
  const labelToUse = propLabel ?? propTitle;
48128
47517
  const eventBus = useEventBus();
48129
- const { t } = useTranslate();
47518
+ const { t } = hooks.useTranslate();
48130
47519
  const handleActionClick = React97__namespace.default.useCallback(() => {
48131
47520
  if (action?.event) {
48132
47521
  eventBus.emit(`UI:${action.event}`, {});
@@ -48417,7 +47806,7 @@ function VariablePanel({
48417
47806
  variables,
48418
47807
  className
48419
47808
  }) {
48420
- const { t } = useTranslate();
47809
+ const { t } = hooks.useTranslate();
48421
47810
  return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { className: cn("p-3 rounded-lg bg-card border border-border", className), gap: "sm", children: [
48422
47811
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body2", className: "text-muted-foreground font-medium", children: t("stateArchitect.variables", { name: entityName }) }),
48423
47812
  variables.map((v) => {
@@ -48455,7 +47844,6 @@ var init_VariablePanel = __esm({
48455
47844
  "components/game/organisms/puzzles/state-architect/VariablePanel.tsx"() {
48456
47845
  init_atoms2();
48457
47846
  init_cn();
48458
- init_useTranslate();
48459
47847
  VariablePanel.displayName = "VariablePanel";
48460
47848
  }
48461
47849
  });
@@ -48481,7 +47869,7 @@ function StateArchitectBoard({
48481
47869
  className
48482
47870
  }) {
48483
47871
  const { emit } = useEventBus();
48484
- const { t } = useTranslate();
47872
+ const { t } = hooks.useTranslate();
48485
47873
  const resolved = Array.isArray(entity) ? entity[0] : entity;
48486
47874
  const [transitions, setTransitions] = React97.useState(resolved?.transitions ?? []);
48487
47875
  const [headerError, setHeaderError] = React97.useState(false);
@@ -48772,7 +48160,6 @@ var init_StateArchitectBoard = __esm({
48772
48160
  init_atoms2();
48773
48161
  init_cn();
48774
48162
  init_useEventBus();
48775
- init_useTranslate();
48776
48163
  init_TraitStateViewer();
48777
48164
  init_StateNode();
48778
48165
  init_TransitionArrow();
@@ -48792,7 +48179,6 @@ var init_StatsOrganism = __esm({
48792
48179
  "components/marketing/organisms/StatsOrganism.tsx"() {
48793
48180
  "use client";
48794
48181
  init_cn();
48795
- init_useTranslate();
48796
48182
  init_StatsGrid();
48797
48183
  init_LoadingState();
48798
48184
  init_ErrorState();
@@ -48803,7 +48189,7 @@ var init_StatsOrganism = __esm({
48803
48189
  className,
48804
48190
  columns = 3
48805
48191
  }) => {
48806
- const { t } = useTranslate();
48192
+ const { t } = hooks.useTranslate();
48807
48193
  const items = React97.useMemo(
48808
48194
  () => Array.isArray(entity) ? entity : entity && typeof entity === "object" ? [entity] : [],
48809
48195
  [entity]
@@ -48835,7 +48221,6 @@ var init_StepFlowOrganism = __esm({
48835
48221
  "components/core/organisms/StepFlowOrganism.tsx"() {
48836
48222
  "use client";
48837
48223
  init_cn();
48838
- init_useTranslate();
48839
48224
  init_Stack();
48840
48225
  init_Typography();
48841
48226
  init_StepFlow();
@@ -48851,7 +48236,7 @@ var init_StepFlowOrganism = __esm({
48851
48236
  heading,
48852
48237
  subtitle
48853
48238
  }) => {
48854
- const { t } = useTranslate();
48239
+ const { t } = hooks.useTranslate();
48855
48240
  const items = React97.useMemo(
48856
48241
  () => Array.isArray(entity) ? entity : entity && typeof entity === "object" ? [entity] : [],
48857
48242
  [entity]
@@ -49005,7 +48390,6 @@ var init_TeamOrganism = __esm({
49005
48390
  "components/marketing/organisms/TeamOrganism.tsx"() {
49006
48391
  "use client";
49007
48392
  init_cn();
49008
- init_useTranslate();
49009
48393
  init_Stack();
49010
48394
  init_Typography();
49011
48395
  init_SimpleGrid();
@@ -49020,7 +48404,7 @@ var init_TeamOrganism = __esm({
49020
48404
  heading,
49021
48405
  subtitle
49022
48406
  }) => {
49023
- const { t } = useTranslate();
48407
+ const { t } = hooks.useTranslate();
49024
48408
  const items = React97.useMemo(
49025
48409
  () => Array.isArray(entity) ? entity : entity && typeof entity === "object" ? [entity] : [],
49026
48410
  [entity]
@@ -49063,7 +48447,6 @@ var init_Timeline = __esm({
49063
48447
  init_LoadingState();
49064
48448
  init_ErrorState();
49065
48449
  init_EmptyState();
49066
- init_useTranslate();
49067
48450
  lookStyles10 = {
49068
48451
  "vertical-compact": "gap-1 [&>*]:py-1",
49069
48452
  "vertical-spacious": "",
@@ -49103,7 +48486,7 @@ var init_Timeline = __esm({
49103
48486
  className,
49104
48487
  look = "vertical-spacious"
49105
48488
  }) => {
49106
- const { t } = useTranslate();
48489
+ const { t } = hooks.useTranslate();
49107
48490
  const entityData = Array.isArray(entity) ? entity : [];
49108
48491
  const items = React97__namespace.default.useMemo(() => {
49109
48492
  if (propItems) return propItems;
@@ -50555,7 +49938,7 @@ function UISlotComponent({
50555
49938
  }) {
50556
49939
  const { slots, clear } = useUISlots();
50557
49940
  const eventBus = useEventBus();
50558
- const { t } = useTranslate();
49941
+ const { t } = hooks.useTranslate();
50559
49942
  const suspenseConfig = React97.useContext(SuspenseConfigContext);
50560
49943
  const contained = React97.useContext(SlotContainedContext);
50561
49944
  const content = slots[slot];
@@ -50657,7 +50040,7 @@ function CompiledPortal({ slot, className, pattern, sourceTrait, children }) {
50657
50040
  const [portalRoot, setPortalRoot] = React97.useState(null);
50658
50041
  const slotsBus = useUISlots();
50659
50042
  const eventBus = useEventBus();
50660
- const { t } = useTranslate();
50043
+ const { t } = hooks.useTranslate();
50661
50044
  React97.useEffect(() => {
50662
50045
  setPortalRoot(getOrCreatePortalRoot());
50663
50046
  }, []);
@@ -50947,7 +50330,7 @@ function SlotContentRenderer({
50947
50330
  }
50948
50331
  }
50949
50332
  const eventBus = useEventBus();
50950
- const { t } = useTranslate();
50333
+ const { t } = hooks.useTranslate();
50951
50334
  const schemaCtx = useEntitySchemaOptional();
50952
50335
  let entityDef;
50953
50336
  if (typeof entityProp === "string" && entityProp.length > 0 && schemaCtx) {
@@ -51137,7 +50520,6 @@ var init_UISlotRenderer = __esm({
51137
50520
  init_Box();
51138
50521
  init_Typography();
51139
50522
  init_useEventBus();
51140
- init_useTranslate();
51141
50523
  init_slot_types();
51142
50524
  init_cn();
51143
50525
  init_ErrorBoundary();
@@ -52466,9 +51848,6 @@ var AvlEmitListen = ({
52466
51848
  ] });
52467
51849
  };
52468
51850
  AvlEmitListen.displayName = "AvlEmitListen";
52469
-
52470
- // components/avl/molecules/AvlSlotMap.tsx
52471
- init_useTranslate();
52472
51851
  var SLOT_PRESETS = {
52473
51852
  header: { x: 10, y: 5, width: 340, height: 35 },
52474
51853
  main: { x: 120, y: 50, width: 230, height: 195 },
@@ -52513,7 +51892,7 @@ var AvlSlotMap = ({
52513
51892
  color = "var(--color-primary)",
52514
51893
  animated = false
52515
51894
  }) => {
52516
- const { t } = useTranslate();
51895
+ const { t } = hooks.useTranslate();
52517
51896
  const ox = (600 - pageWidth) / 2;
52518
51897
  const oy = (400 - pageHeight) / 2;
52519
51898
  let unknownIdx = 0;
@@ -53545,12 +52924,11 @@ var SystemNode = ({ data }) => {
53545
52924
  SystemNode.displayName = "SystemNode";
53546
52925
 
53547
52926
  // components/avl/molecules/DetailView.tsx
53548
- init_useTranslate();
53549
52927
  init_AvlState();
53550
52928
  init_AvlEffect();
53551
52929
  init_types();
53552
52930
  var DetailView = ({ data }) => {
53553
- const { t } = useTranslate();
52931
+ const { t } = hooks.useTranslate();
53554
52932
  const traitName = data.traits[0]?.name;
53555
52933
  const traitData = traitName ? data.traitDetails[traitName] : void 0;
53556
52934
  if (!traitData || traitData.transitions.length === 0) {
@@ -53630,7 +53008,6 @@ AvlOrbitalNode.displayName = "AvlOrbitalNode";
53630
53008
 
53631
53009
  // components/avl/molecules/AvlTransitionEdge.tsx
53632
53010
  init_types();
53633
- init_useTranslate();
53634
53011
  var AvlTransitionEdge = ({
53635
53012
  id,
53636
53013
  sourceX,
@@ -53643,7 +53020,7 @@ var AvlTransitionEdge = ({
53643
53020
  markerEnd,
53644
53021
  style
53645
53022
  }) => {
53646
- const { t } = useTranslate();
53023
+ const { t } = hooks.useTranslate();
53647
53024
  const [path, labelX, labelY] = react.getBezierPath({
53648
53025
  sourceX,
53649
53026
  sourceY,
@@ -55086,9 +54463,6 @@ function convertObjectProps(props) {
55086
54463
  function convertFnFormLambdasInProps(props) {
55087
54464
  return convertObjectProps(props);
55088
54465
  }
55089
-
55090
- // hooks/index.ts
55091
- init_useEventBus();
55092
54466
  var log12 = logger.createLogger("almadar:ui:effects:client-handlers");
55093
54467
  function createClientEffectHandlers(options) {
55094
54468
  const { eventBus, slotSetter, navigate, notify, callService } = options;
@@ -55157,7 +54531,7 @@ function normalizeEventKey(eventKey) {
55157
54531
  return eventKey.startsWith("UI:") ? eventKey.slice(3) : eventKey;
55158
54532
  }
55159
54533
  function useTraitStateMachine(traitBindings, uiSlots, options) {
55160
- const eventBus = useEventBus();
54534
+ const eventBus = hooks.useEventBus();
55161
54535
  const { entities } = useEntitySchema();
55162
54536
  const traitConfigsByName = options?.traitConfigsByName;
55163
54537
  const orbitalsByTrait = options?.orbitalsByTrait;
@@ -56998,7 +56372,6 @@ function BrowserPlayground({
56998
56372
 
56999
56373
  // components/avl/molecules/OrbPreviewNode.tsx
57000
56374
  init_useEventBus();
57001
- init_useTranslate();
57002
56375
 
57003
56376
  // components/avl/molecules/useCanvasDnd.tsx
57004
56377
  init_useEventBus();
@@ -57486,7 +56859,7 @@ var OrbPreviewNodeInner = (props) => {
57486
56859
  const screenSize = React97.useContext(ScreenSizeContext);
57487
56860
  const preset = SCREEN_SIZE_PRESETS[screenSize];
57488
56861
  const { select } = React97.useContext(PatternSelectionContext);
57489
- const { t } = useTranslate();
56862
+ const { t } = hooks.useTranslate();
57490
56863
  const eventBus = useEventBus();
57491
56864
  const reactFlow = react.useReactFlow();
57492
56865
  const contentRef = React97.useRef(null);
@@ -58213,7 +57586,6 @@ init_AvlEffect();
58213
57586
  init_AvlFieldType();
58214
57587
  init_types();
58215
57588
  init_useEventBus();
58216
- init_useTranslate();
58217
57589
  var inspectorLog = logger.createLogger("almadar:ui:inspector");
58218
57590
  function formatExpression(expr) {
58219
57591
  if (!expr) return "";
@@ -58312,7 +57684,7 @@ function OrbInspector({ node, schema, editable = false, userType = "builder", th
58312
57684
  const { selected: selectedPattern } = React97.useContext(PatternSelectionContext);
58313
57685
  const [activeTab, setActiveTab] = React97.useState("inspector");
58314
57686
  const eventBus = useEventBus();
58315
- const { t } = useTranslate();
57687
+ const { t } = hooks.useTranslate();
58316
57688
  const orbitalName = node.orbitalName ?? "";
58317
57689
  const traitName = node.traitName ?? "";
58318
57690
  const transitionEvent = node.transitionEvent ?? "";
@@ -58728,7 +58100,7 @@ function OrbInspector({ node, schema, editable = false, userType = "builder", th
58728
58100
  }
58729
58101
  function AddEffectButton({ onAdd }) {
58730
58102
  const [open, setOpen] = React97.useState(false);
58731
- const { t } = useTranslate();
58103
+ const { t } = hooks.useTranslate();
58732
58104
  return /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "relative mt-2", children: [
58733
58105
  /* @__PURE__ */ jsxRuntime.jsxs(
58734
58106
  Button,
@@ -58798,7 +58170,7 @@ var PHASE_2_TOKEN_FALLBACK = {
58798
58170
  toast: ["--color-card", "--shadow-lg", "--radius-md"]
58799
58171
  };
58800
58172
  function StylesTab({ patternType, patternDef, patternConfig, editable, onPropChange, themeManifest, isDesignSystem }) {
58801
- const { t } = useTranslate();
58173
+ const { t } = hooks.useTranslate();
58802
58174
  if (!patternType) {
58803
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") }) });
58804
58176
  }
@@ -58874,7 +58246,7 @@ var TOKEN_GROUPS = [
58874
58246
  { group: "shadows", labelKey: "orbInspector.tokenGroup.shadows" }
58875
58247
  ];
58876
58248
  function TokenEditorSection({ themeManifest, onPropChange }) {
58877
- const { t } = useTranslate();
58249
+ const { t } = hooks.useTranslate();
58878
58250
  const tokens = themeManifest.tokens ?? {};
58879
58251
  return /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "flex flex-col gap-3 pt-2 border-t border-border/40", children: [
58880
58252
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-xs uppercase tracking-wider text-muted-foreground", children: t("orbInspector.projectThemeTokens") }),
@@ -58930,7 +58302,6 @@ init_Typography();
58930
58302
  init_Badge();
58931
58303
 
58932
58304
  // components/avl/organisms/AvlTraitScene.tsx
58933
- init_useTranslate();
58934
58305
  init_AvlState();
58935
58306
  init_AvlTransitionLane();
58936
58307
  init_AvlSwimLane();
@@ -58944,7 +58315,7 @@ var AvlTraitScene = ({
58944
58315
  color = "var(--color-primary)",
58945
58316
  onTransitionClick
58946
58317
  }) => {
58947
- const { t } = useTranslate();
58318
+ const { t } = hooks.useTranslate();
58948
58319
  const [layout, setLayout] = React97.useState(null);
58949
58320
  const dataKey = React97.useMemo(() => JSON.stringify(data), [data]);
58950
58321
  React97.useEffect(() => {
@@ -59043,9 +58414,6 @@ var AvlTraitScene = ({
59043
58414
  );
59044
58415
  };
59045
58416
  AvlTraitScene.displayName = "AvlTraitScene";
59046
-
59047
- // components/avl/molecules/TraitCardNode.tsx
59048
- init_useTranslate();
59049
58417
  var TraitCardSelectionContext = React97.createContext({
59050
58418
  selectTransition: () => {
59051
58419
  }
@@ -59055,7 +58423,7 @@ var SCENE_WIDTH = 600;
59055
58423
  var SCENE_HEIGHT = 400;
59056
58424
  var TraitCardNodeInner = (props) => {
59057
58425
  const data = props.data;
59058
- const { t } = useTranslate();
58426
+ const { t } = hooks.useTranslate();
59059
58427
  const { selectTransition } = React97.useContext(TraitCardSelectionContext);
59060
58428
  const orbitalName = data.orbitalName;
59061
58429
  const traitName = data.traitName ?? "";
@@ -59145,7 +58513,6 @@ TraitCardNode.displayName = "TraitCardNode";
59145
58513
 
59146
58514
  // components/avl/organisms/FlowCanvas.tsx
59147
58515
  init_useEventBus();
59148
- init_useTranslate();
59149
58516
  var flowCanvasLog = logger.createLogger("almadar:ui:flow-canvas");
59150
58517
  var NODE_TYPES = {
59151
58518
  preview: OrbPreviewNode,
@@ -59189,7 +58556,7 @@ function FlowCanvasInner({
59189
58556
  userType = "builder",
59190
58557
  themeManifest
59191
58558
  }) {
59192
- const { t } = useTranslate();
58559
+ const { t } = hooks.useTranslate();
59193
58560
  const NODE_TYPES2 = React97.useMemo(() => ({
59194
58561
  preview: OrbPreviewNode,
59195
58562
  behaviorCompose: BehaviorComposeNode,
@@ -59904,7 +59271,6 @@ init_Stack();
59904
59271
  init_Typography();
59905
59272
  init_Button();
59906
59273
  init_Icon();
59907
- init_useTranslate();
59908
59274
  var UNIT_DISPLAY_W = 240;
59909
59275
  var UNIT_DISPLAY_H = 160;
59910
59276
  function layoutOrbitals(count, containerW, containerH) {
@@ -60095,7 +59461,7 @@ var AvlOrbitalsCosmicZoom = ({
60095
59461
  minZoom = 0.4,
60096
59462
  maxZoom = 3
60097
59463
  }) => {
60098
- const { t } = useTranslate();
59464
+ const { t } = hooks.useTranslate();
60099
59465
  const parsedSchema = React97.useMemo(() => {
60100
59466
  if (typeof schemaProp === "string") return JSON.parse(schemaProp);
60101
59467
  return schemaProp;