@almadar/ui 5.21.10 → 5.21.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,6 +11,7 @@ var PhosphorIcons = require('@phosphor-icons/react');
11
11
  var TablerIcons = require('@tabler/icons-react');
12
12
  var FaIcons = require('react-icons/fa');
13
13
  var reactDom = require('react-dom');
14
+ var hooks = require('@almadar/ui/hooks');
14
15
  var evaluator = require('@almadar/evaluator');
15
16
  var context = require('@almadar/ui/context');
16
17
  var reactRouterDom = require('react-router-dom');
@@ -1957,504 +1958,6 @@ var init_Overlay = __esm({
1957
1958
  };
1958
1959
  }
1959
1960
  });
1960
-
1961
- // locales/en.json
1962
- var en_default;
1963
- var init_en = __esm({
1964
- "locales/en.json"() {
1965
- en_default = {
1966
- $meta: {
1967
- locale: "en",
1968
- direction: "ltr"
1969
- },
1970
- "common.save": "Save",
1971
- "common.cancel": "Cancel",
1972
- "common.delete": "Delete",
1973
- "common.close": "Close",
1974
- "common.confirm": "Are you sure?",
1975
- "common.create": "Create",
1976
- "common.edit": "Edit",
1977
- "common.view": "View",
1978
- "common.add": "Add",
1979
- "common.remove": "Remove",
1980
- "common.search": "Search...",
1981
- "common.filter": "Filter",
1982
- "common.actions": "Actions",
1983
- "common.yes": "Yes",
1984
- "common.no": "No",
1985
- "common.selected": "selected",
1986
- "common.ok": "OK",
1987
- "common.done": "Done",
1988
- "common.apply": "Apply",
1989
- "common.reset": "Reset",
1990
- "common.refresh": "Refresh",
1991
- "common.export": "Export",
1992
- "common.import": "Import",
1993
- "common.copy": "Copy",
1994
- "common.settings": "Settings",
1995
- "nav.previous": "Previous",
1996
- "nav.next": "Next",
1997
- "nav.back": "Back",
1998
- "nav.home": "Home",
1999
- "form.submit": "Submit",
2000
- "form.saving": "Saving...",
2001
- "form.required": "This field is required",
2002
- "form.invalidEmail": "Enter a valid email address",
2003
- "form.selectPlaceholder": "Select {{label}}...",
2004
- "form.searchPlaceholder": "Search {{entity}}...",
2005
- "table.empty.title": "No items found",
2006
- "table.empty.description": "No items to display.",
2007
- "table.search.placeholder": "Search...",
2008
- "table.pagination.showing": "Showing {{start}} to {{end}} of {{total}} results",
2009
- "table.pagination.page": "Page {{page}} of {{totalPages}}",
2010
- "table.bulk.selected": "{{count}} selected",
2011
- "table.loading": "Loading...",
2012
- "status.loading": "Loading...",
2013
- "status.scheduled": "Scheduled",
2014
- "status.inProgress": "In Progress",
2015
- "status.completed": "Completed",
2016
- "status.cancelled": "Cancelled",
2017
- "status.pending": "Pending",
2018
- "status.active": "Active",
2019
- "status.inactive": "Inactive",
2020
- "status.draft": "Draft",
2021
- "status.archived": "Archived",
2022
- "error.generic": "Something went wrong",
2023
- "error.retry": "Try again",
2024
- "error.notFound": "Not found",
2025
- "error.loadFailed": "Failed to load: {{message}}",
2026
- "error.configMissing": "Configuration not found for: {{id}}",
2027
- "common.loading": "Loading...",
2028
- "common.showMore": "Show More",
2029
- "common.showLess": "Show Less",
2030
- "common.noResults": "No results found",
2031
- "common.saveChanges": "Save Changes",
2032
- "common.retry": "Retry",
2033
- "common.open": "Open",
2034
- "common.back": "Back",
2035
- "empty.noItems": "No items",
2036
- "empty.noData": "No data available",
2037
- "empty.noItemsYet": "No items yet",
2038
- "empty.noItemsAdded": "No items added yet",
2039
- "empty.noOptionsFound": "No options found",
2040
- "list.addItemPlaceholder": "Add new item...",
2041
- "error.occurred": "An error occurred",
2042
- "error.failedToLoad": "Failed to load data",
2043
- "wizard.back": "Back",
2044
- "wizard.next": "Next",
2045
- "wizard.complete": "Complete",
2046
- "wizard.stepOf": "Step {{current}} of {{total}}",
2047
- "pagination.previous": "Previous",
2048
- "pagination.next": "Next",
2049
- "pagination.total": "Total:",
2050
- "pagination.show": "Show:",
2051
- "pagination.goTo": "Go to:",
2052
- "pagination.go": "Go",
2053
- "auth.signIn": "Sign in",
2054
- "auth.signOut": "Sign out",
2055
- "dialog.confirm": "Confirm",
2056
- "dialog.cancel": "Cancel",
2057
- "dialog.loading": "Loading...",
2058
- "dialog.delete.title": "Delete {{item}}?",
2059
- "dialog.delete.message": "This action cannot be undone.",
2060
- "trait.availableActions": "Available Actions",
2061
- "trait.transitions": "Transitions",
2062
- "trait.availableNow": "Available now",
2063
- "book.startReading": "Start Reading",
2064
- "book.tableOfContents": "Table of Contents",
2065
- "book.partNumber": "Part {{number}}",
2066
- "book.print": "Print",
2067
- "book.previousPage": "Previous page",
2068
- "book.nextPage": "Next page",
2069
- "quiz.showAnswer": "Show answer",
2070
- "quiz.hideAnswer": "Hide answer",
2071
- "aria.closeModal": "Close modal",
2072
- "aria.closeToast": "Dismiss toast",
2073
- "aria.closeAlert": "Dismiss alert",
2074
- "aria.removeFilter": "Remove filter",
2075
- "aria.closeDrawer": "Close drawer",
2076
- "aria.closePanel": "Close panel",
2077
- "aria.previousImage": "Previous image",
2078
- "aria.nextImage": "Next image",
2079
- "aria.dismiss": "Dismiss",
2080
- "aria.previousSlide": "Previous slide",
2081
- "aria.nextSlide": "Next slide",
2082
- "aria.previousDays": "Previous days",
2083
- "aria.nextDays": "Next days",
2084
- "aria.decrease": "Decrease",
2085
- "aria.increase": "Increase",
2086
- "aria.breadcrumb": "Breadcrumb",
2087
- "aria.tableOfContents": "Table of contents",
2088
- "aria.docsSidebar": "Documentation sidebar",
2089
- "aria.selectAllRows": "Select all rows",
2090
- "aria.selectAll": "Select all",
2091
- "aria.upvote": "Upvote",
2092
- "aria.downvote": "Downvote",
2093
- "aria.qrScanner": "QR scanner",
2094
- "aria.mockScanDev": "Mock scan (dev)",
2095
- "aria.openMenu": "Open menu",
2096
- "aria.closeMenu": "Close menu",
2097
- "aria.openSidebar": "Open sidebar",
2098
- "sidebar.expand": "Expand sidebar",
2099
- "sidebar.collapse": "Collapse sidebar",
2100
- "sidebar.close": "Close sidebar",
2101
- "loading.items": "Loading items...",
2102
- "card.imageAlt": "Image",
2103
- "canvas.emptyMessage": "No content",
2104
- "canvas.errorTitle": "Canvas error",
2105
- "book.noData": "No data",
2106
- "common.notifications": "Notifications",
2107
- "common.remaining": "{{count}} remaining",
2108
- "error.somethingWentWrong": "Something went wrong",
2109
- "error.loadingItems": "Loading items...",
2110
- "error.noItemsFound": "No items found",
2111
- "debug.noEntityData": "No entity data",
2112
- "debug.noEntities": "No entities",
2113
- "debug.noTicks": "No ticks registered",
2114
- "debug.noActiveTraits": "No active traits",
2115
- "debug.noGuardEvaluations": "No guard evaluations",
2116
- "debug.noBridgeData": "No bridge data",
2117
- "debug.status": "Status",
2118
- "debug.eventsForwarded": "Events Forwarded (Client \u2192 Server)",
2119
- "debug.eventsReceived": "Events Received (Server \u2192 Client)",
2120
- "debug.lastHeartbeat": "Last Heartbeat",
2121
- "debug.noEventsYet": "No events yet",
2122
- "debug.noTransitionsRecorded": "No transitions recorded",
2123
- "debug.noVerificationChecks": "No verification checks yet",
2124
- "display.chartError": "Chart error",
2125
- "display.codeViewerError": "Code viewer error",
2126
- "display.noCode": "No code",
2127
- "display.documentError": "Document error",
2128
- "display.noDocument": "No document",
2129
- "display.graphError": "Graph error",
2130
- "display.noGraphData": "No graph data",
2131
- "display.galleryError": "Gallery error",
2132
- "display.noMedia": "No media",
2133
- "display.meterError": "Meter error",
2134
- "display.signaturePadError": "Signature pad error",
2135
- "display.timelineError": "Timeline error",
2136
- "display.noEvents": "No events",
2137
- "template.features": "Features",
2138
- "template.howItWorks": "How It Works",
2139
- "template.showcase": "Showcase",
2140
- "template.faq": "Frequently Asked Questions",
2141
- "template.ourTeam": "Our Team",
2142
- "template.caseStudies": "Case Studies",
2143
- "richBlockEditor.toolbar.text": "Text",
2144
- "richBlockEditor.toolbar.h1": "H1",
2145
- "richBlockEditor.toolbar.h2": "H2",
2146
- "richBlockEditor.toolbar.h3": "H3",
2147
- "richBlockEditor.toolbar.bulletList": "Bullet list",
2148
- "richBlockEditor.toolbar.numbered": "Numbered",
2149
- "richBlockEditor.toolbar.quote": "Quote",
2150
- "richBlockEditor.toolbar.code": "Code",
2151
- "richBlockEditor.toolbar.divider": "Divider",
2152
- "richBlockEditor.toolbar.image": "Image",
2153
- "richBlockEditor.blockType.paragraph": "Text",
2154
- "richBlockEditor.blockType.heading1": "Heading 1",
2155
- "richBlockEditor.blockType.heading2": "Heading 2",
2156
- "richBlockEditor.blockType.heading3": "Heading 3",
2157
- "richBlockEditor.blockType.bulletList": "Bullet list",
2158
- "richBlockEditor.blockType.numberedList": "Numbered list",
2159
- "richBlockEditor.blockType.quote": "Quote",
2160
- "richBlockEditor.blockType.code": "Code",
2161
- "richBlockEditor.blockType.divider": "Divider",
2162
- "richBlockEditor.blockType.image": "Image",
2163
- "richBlockEditor.blockActions": "Block actions",
2164
- "richBlockEditor.duplicate": "Duplicate",
2165
- "richBlockEditor.turnInto": "Turn into",
2166
- "richBlockEditor.placeholder.heading1": "Heading 1",
2167
- "richBlockEditor.placeholder.heading2": "Heading 2",
2168
- "richBlockEditor.placeholder.heading3": "Heading 3",
2169
- "richBlockEditor.placeholder.quote": "Quote",
2170
- "richBlockEditor.placeholder.code": "Enter code",
2171
- "richBlockEditor.placeholder.paragraph": "Start writing...",
2172
- "richBlockEditor.placeholder.listItem": "List item",
2173
- "richBlockEditor.placeholder.caption": "Caption (optional)",
2174
- "richBlockEditor.aria.heading1Block": "Heading 1 block",
2175
- "richBlockEditor.aria.heading2Block": "Heading 2 block",
2176
- "richBlockEditor.aria.heading3Block": "Heading 3 block",
2177
- "richBlockEditor.aria.quoteBlock": "Quote block",
2178
- "richBlockEditor.aria.codeBlock": "Code block",
2179
- "richBlockEditor.aria.codeLanguage": "Code language",
2180
- "richBlockEditor.aria.imageUrl": "Image URL",
2181
- "richBlockEditor.aria.imageCaption": "Image caption",
2182
- "richBlockEditor.aria.listItem": "List item",
2183
- "richBlockEditor.aria.removeListItem": "Remove list item",
2184
- "richBlockEditor.aria.paragraphBlock": "Paragraph block",
2185
- "richBlockEditor.embeddedImage": "Embedded image",
2186
- "richBlockEditor.noImageUrl": "No image URL set",
2187
- "richBlockEditor.addItem": "Add item",
2188
- "richBlockEditor.insertParagraphBelow": "Insert paragraph below",
2189
- "richBlockEditor.editorToolbar": "Block editor toolbar",
2190
- "richBlockEditor.insertEntry": "Insert {{label}}",
2191
- "versionDiff.compare": "Compare",
2192
- "versionDiff.to": "to",
2193
- "versionDiff.beforeRevision": "Before revision",
2194
- "versionDiff.afterRevision": "After revision",
2195
- "versionDiff.switchToInline": "Switch to inline view",
2196
- "versionDiff.switchToSideBySide": "Switch to side-by-side view",
2197
- "versionDiff.revert": "Revert",
2198
- "versionDiff.byAuthor": " by {{author}}",
2199
- "violationAlert.actionType.measure": "Corrective Measure",
2200
- "violationAlert.actionType.admin": "Administrative Action",
2201
- "violationAlert.actionType.penalty": "Penalty Proceedings",
2202
- "violationAlert.fallbackMessage": "Violation",
2203
- "violationAlert.adminLabel": "Admin:",
2204
- "violationAlert.penaltyLabel": "Penalty:",
2205
- "violationAlert.goToField": "Go to field",
2206
- "branchingLogic.title": "Branching logic",
2207
- "branchingLogic.if": "If",
2208
- "branchingLogic.goTo": "go to",
2209
- "branchingLogic.rules": "Rules",
2210
- "branchingLogic.logicGraph": "Logic graph",
2211
- "branchingLogic.addRule": "Add rule",
2212
- "branchingLogic.deleteRule": "Delete rule",
2213
- "branchingLogic.endOfSurvey": "End of survey",
2214
- "branchingLogic.brokenReference": "Broken reference",
2215
- "branchingLogic.selectQuestion": "Select question",
2216
- "branchingLogic.selectTarget": "Select target",
2217
- "branchingLogic.selectValue": "Select value",
2218
- "branchingLogic.addValue": "Add value",
2219
- "branchingLogic.value": "Value",
2220
- "branchingLogic.typeValuePressEnter": "Type value, press Enter",
2221
- "branchingLogic.operatorEquals": "equals",
2222
- "branchingLogic.operatorNotEquals": "does not equal",
2223
- "branchingLogic.operatorContains": "contains",
2224
- "branchingLogic.operatorIn": "is one of",
2225
- "branchingLogic.graphAriaLabel": "Branching logic graph",
2226
- "branchingLogic.ruleCountOne": "{{count}} rule",
2227
- "branchingLogic.ruleCountOther": "{{count}} rules",
2228
- "branchingLogic.brokenCount": "{{count}} broken",
2229
- "branchingLogic.emptyNoQuestions": "Add questions before building branching rules.",
2230
- "branchingLogic.emptyNoRules": "No rules yet. Add a rule to define branching logic.",
2231
- "filterGroup.filters": "Filters",
2232
- "filterGroup.all": "All",
2233
- "filterGroup.clear": "Clear",
2234
- "filterGroup.clearAll": "Clear all",
2235
- "filterGroup.from": "From",
2236
- "filterGroup.to": "To",
2237
- "filterGroup.allOf": "All {{label}}",
2238
- "filterGroup.activeCount": "{{count}} active",
2239
- "debug.guardEvaluationsHint": "Guard evaluations will appear when transitions or ticks with guards execute",
2240
- "debug.expression": "Expression",
2241
- "debug.inputs": "Inputs",
2242
- "debug.trait": "Trait",
2243
- "debug.filterAll": "All",
2244
- "debug.filterPassed": "Passed",
2245
- "debug.filterFailed": "Failed",
2246
- "debug.traitsInitHint": "Traits will appear when the state machine initializes",
2247
- "debug.traitsMountHint": "Traits will appear when components using them are mounted",
2248
- "debug.activeStates": "Active States",
2249
- "debug.availableEvents": "Available Events",
2250
- "debug.noTransitionsFromState": "No transitions from current state",
2251
- "debug.guarded": "guarded",
2252
- "debug.otherEvents": "Other Events (not available from current state)",
2253
- "debug.recentTransitions": "Recent Transitions",
2254
- "debug.transitionsCount": "{{count}} transitions",
2255
- "debug.states": "States",
2256
- "debug.transitions": "Transitions",
2257
- "debug.guards": "Guards",
2258
- "debug.debugModeHint": "Debug mode may not be enabled",
2259
- "debug.entitiesSpawnHint": "Entities will appear when spawned",
2260
- "debug.singleton": "Singleton",
2261
- "debug.singletonsCount": "Singletons ({{count}})",
2262
- "debug.runtimeCount": "Runtime ({{count}})",
2263
- "debug.moreEntities": "+{{count}} more entities",
2264
- "debug.persistent": "Persistent",
2265
- "debug.loadedCount": "{{count}} loaded",
2266
- "debug.notLoaded": "not loaded",
2267
- "debug.eventsExecuteHint": "Events will appear as traits, ticks, and other systems execute",
2268
- "debug.allCount": "All ({{count}})",
2269
- "debug.autoScroll": "Auto-scroll",
2270
- "debug.transitionsProcessHint": "Transitions will appear as the state machine processes events",
2271
- "debug.transitionsRecorded": "{{count}} transitions recorded",
2272
- "debug.guardLabel": "guard:",
2273
- "debug.effectsCount": "{{count}} effects",
2274
- "debug.bridgeInitHint": "The ServerBridge has not been initialized. Bridge health will appear once the runtime connects to the server.",
2275
- "debug.never": "Never",
2276
- "debug.connected": "Connected",
2277
- "debug.disconnected": "Disconnected",
2278
- "debug.lastError": "Last Error",
2279
- "debug.totalEventsProcessed": "{{count}} total events processed",
2280
- "debug.server": "server",
2281
- "debug.clientEffectsCount": "{{count}} clientEffects",
2282
- "debug.emitLabel": "emit:",
2283
- "debug.rowsCount": "{{count}} rows",
2284
- "debug.serverResponse": "server response",
2285
- "debug.collapseVerificationTimeline": "Collapse verification timeline",
2286
- "debug.expandVerificationTimeline": "Expand verification timeline",
2287
- "debug.failCount": "{{count}} fail",
2288
- "debug.ok": "OK",
2289
- "debug.localCount": "{{count}} local",
2290
- "debug.serverCount": "{{count}} server",
2291
- "debug.waitingForTransitions": "Waiting for transitions...",
2292
- "debug.tabDispatch": "Dispatch",
2293
- "debug.tabVerify": "Verify",
2294
- "debug.tabVerifyAlert": "Verify (!)",
2295
- "debug.tabTimeline": "Timeline",
2296
- "debug.tabBridge": "Bridge",
2297
- "debug.tabTraits": "Traits",
2298
- "debug.tabTicks": "Ticks",
2299
- "debug.tabEntities": "Entities",
2300
- "debug.tabEvents": "Events",
2301
- "debug.tabGuards": "Guards",
2302
- "debug.debugger": "Debugger",
2303
- "debug.failedCount": "{{count}} failed",
2304
- "debug.traitsCount": "{{count}} traits",
2305
- "debug.idle": "Idle",
2306
- "debug.openDebugger": "Open Debugger (`)",
2307
- "debug.kflowVerifier": "KFlow Verifier",
2308
- "debug.allPassing": "All passing",
2309
- "debug.runtime": "Runtime",
2310
- "debug.close": "Close (`)",
2311
- "debug.toggleHint": "Press ` to toggle | window.__orbitalVerification for automation",
2312
- "replyTree.expandReplies": "Expand replies",
2313
- "replyTree.collapseReplies": "Collapse replies",
2314
- "replyTree.voteOnReplyBy": "Vote on reply by {{author}}",
2315
- "replyTree.replyTo": "Reply to {{author}}",
2316
- "replyTree.replyToPlaceholder": "Reply to {{author}}\u2026",
2317
- "replyTree.reply": "Reply",
2318
- "replyTree.flagReplyBy": "Flag reply by {{author}}",
2319
- "replyTree.flag": "Flag",
2320
- "replyTree.send": "Send",
2321
- "replyTree.continueThread": "Continue thread",
2322
- "replyTree.noRepliesYet": "No replies yet.",
2323
- "signaturePad.label": "Signature",
2324
- "signaturePad.helperText": "Draw your signature above",
2325
- "signaturePad.clear": "Clear",
2326
- "signaturePad.confirm": "Confirm",
2327
- "qrScanner.cameraUnavailable": "Camera unavailable",
2328
- "qrScanner.paused": "Paused",
2329
- "qrScanner.resumeScanning": "Resume scanning",
2330
- "qrScanner.pauseScanning": "Pause scanning",
2331
- "qrScanner.switchToFrontCamera": "Switch to front camera",
2332
- "qrScanner.switchToRearCamera": "Switch to rear camera",
2333
- "qrScanner.mockScan": "Mock Scan",
2334
- "docSearch.placeholder": "Search documentation...",
2335
- "stateMachine.loading": "Loading state machine\u2026",
2336
- "stateMachine.noStateMachine": "No state machine to visualize",
2337
- "avl.trigger": "Trigger",
2338
- "avl.guard": "Guard",
2339
- "avl.effects": "Effects",
2340
- "avl.props": "Props",
2341
- "avl.entity": "Entity",
2342
- "avl.traits": "Traits",
2343
- "avl.transition": "Transition",
2344
- "avl.onEntity": "on {{entity}}",
2345
- "avl.linkedTo": "linked to {{entity}}",
2346
- "avl.pressEscToZoomOut": "Press Esc to zoom out",
2347
- "avl.zoomIn": "Zoom in",
2348
- "avl.zoomOut": "Zoom out",
2349
- "avl.orbitalLabel": "Orbital: {{name}}",
2350
- "avl.orbitalLabelHighlighted": "Orbital: {{name}} (highlighted)",
2351
- "avl.noTraitData": "No trait data",
2352
- "avl.computingLayout": "Computing layout...",
2353
- "avl.noStateMachine": "No state machine",
2354
- "avl.listensFor": "listens for {{event}}",
2355
- "avl.emits": "emits {{event}}",
2356
- "avl.pageLayout": "Page Layout",
2357
- "avl.overlaySuffix": "(overlay)",
2358
- "orbPreview.previewBadge": "Preview",
2359
- "orbPreview.doubleClickToOpen": "Double-click to open",
2360
- "orbPreview.dropToAddAndOpen": "Drop to add and open",
2361
- "orbPreview.dispatching": "Coordinator is dispatching to this orbital",
2362
- "orbPreview.noPreview": "No preview available",
2363
- "orbPreview.screensCount": "{{count}} screens",
2364
- "detailView.noTransitionData": "No transition data",
2365
- "orbInspector.required": "req",
2366
- "orbInspector.addField": "Add Field",
2367
- "orbInspector.serviceMode": "Service Mode",
2368
- "orbInspector.standalone": "Standalone",
2369
- "orbInspector.embedded": "Embedded",
2370
- "orbInspector.rendersOwnUi": "Renders its own UI",
2371
- "orbInspector.headless": "Headless, wired to other behaviors",
2372
- "orbInspector.addEffect": "Add Effect",
2373
- "orbInspector.guardExpression": "Guard expression",
2374
- "orbInspector.selectPatternForStyles": "Select a pattern to view its style tokens.",
2375
- "orbInspector.tokens": "Tokens",
2376
- "orbInspector.noTokenContract": "No token contract declared for this pattern.",
2377
- "orbInspector.variant": "Variant",
2378
- "orbInspector.size": "Size",
2379
- "orbInspector.statesCount": "{{count}} states",
2380
- "orbInspector.onEntity": " on {{entity}}",
2381
- "orbInspector.projectThemeTokens": "Project theme tokens",
2382
- "orbInspector.tokenGroup.colors": "Colors",
2383
- "orbInspector.tokenGroup.radii": "Radii",
2384
- "orbInspector.tokenGroup.spacing": "Spacing",
2385
- "orbInspector.tokenGroup.shadows": "Shadows",
2386
- "orbInspector.tab.inspector": "Inspector",
2387
- "orbInspector.tab.styles": "Styles",
2388
- "orbInspector.tab.code": "Code",
2389
- "canvas.goBackToOverview": "Go back to overview",
2390
- "canvas.overview": "Overview",
2391
- "canvas.expanded": "Expanded",
2392
- "canvas.modulesCount": "{{count}} modules",
2393
- "canvas.screensCount": "{{count}} screens",
2394
- "canvas.switchToView": "Switch to {{label}} view",
2395
- "lawReference.viewFullText": "View full law text",
2396
- "statCard.defaultLabel": "Stat",
2397
- "statCard.vsLastPeriod": "vs last period",
2398
- "mediaGallery.upload": "Upload",
2399
- "mediaGallery.noMediaDescription": "No media items to display.",
2400
- "pagination.jumpPlaceholder": "Page",
2401
- "table.selectRow": "Select row {{id}}",
2402
- "card.selectItem": "Select {{item}}",
2403
- "card.itemFallback": "item",
2404
- "fileTree.noFiles": "No files",
2405
- "masterDetail.selectItem": "Select an item to view details",
2406
- "empty.createFirst": "Create your first item to get started.",
2407
- "upload.dropOrBrowse": "Drop files here or click to browse",
2408
- "upload.dropFilesHere": "Drop files here",
2409
- "upload.accepted": "Accepted: {{accept}}",
2410
- "upload.maxSize": "Max size: {{size}}",
2411
- "upload.maxFiles": "Up to {{count}} files",
2412
- "upload.error.maxFiles": "Maximum {{count}} files allowed",
2413
- "upload.error.invalidType": "Invalid file type: {{name}}",
2414
- "upload.error.tooLarge": "File too large: {{name}} (max {{size}})",
2415
- "optionConstraint.requiredOne": "Required, pick 1",
2416
- "optionConstraint.optionalOne": "Optional, pick up to 1",
2417
- "optionConstraint.pickExactly": "Pick exactly {{count}}",
2418
- "optionConstraint.pickRange": "Pick {{min}}-{{max}}",
2419
- "optionConstraint.pickAtLeast": "Pick at least {{count}}",
2420
- "optionConstraint.pickUpTo": "Pick up to {{count}}",
2421
- "optionConstraint.optional": "Optional",
2422
- "optionConstraint.outOfStock": "Out of stock",
2423
- "optionConstraint.error.pickOne": "Pick 1 option",
2424
- "optionConstraint.error.pickOnlyOne": "Pick only 1 option",
2425
- "optionConstraint.error.pickMore": "Pick at least {{count}} more",
2426
- "optionConstraint.error.removeOptions": "Remove {{count}} options",
2427
- "stateMachine.pinned": "Pinned",
2428
- "stateMachine.eventCount": "{{count}} events",
2429
- "stateMachine.externalEffects": "External Effects",
2430
- "stateMachine.legend.initial": "Initial",
2431
- "stateMachine.legend.final": "Final",
2432
- "stateMachine.legend.state": "State",
2433
- "stateMachine.legend.multiEvent": "Multi-event",
2434
- "relationSelect.selectPlaceholder": "Select..."
2435
- };
2436
- }
2437
- });
2438
- function useTranslate() {
2439
- return React85.useContext(I18nContext);
2440
- }
2441
- var _meta, coreMessages, coreLocale, I18nContext;
2442
- var init_useTranslate = __esm({
2443
- "hooks/useTranslate.ts"() {
2444
- "use client";
2445
- init_en();
2446
- ({ $meta: _meta, ...coreMessages } = en_default);
2447
- coreLocale = coreMessages;
2448
- I18nContext = React85.createContext({
2449
- locale: "en",
2450
- direction: "ltr",
2451
- t: (key) => coreLocale[key] ?? key
2452
- // core locale fallback
2453
- });
2454
- I18nContext.displayName = "I18nContext";
2455
- I18nContext.Provider;
2456
- }
2457
- });
2458
1961
  var sizeClasses2, minWidthClasses, lookStyles, Modal;
2459
1962
  var init_Modal = __esm({
2460
1963
  "components/core/molecules/Modal.tsx"() {
@@ -2466,7 +1969,6 @@ var init_Modal = __esm({
2466
1969
  init_Overlay();
2467
1970
  init_cn();
2468
1971
  init_useEventBus();
2469
- init_useTranslate();
2470
1972
  sizeClasses2 = {
2471
1973
  sm: "max-w-md",
2472
1974
  md: "max-w-2xl",
@@ -2504,7 +2006,7 @@ var init_Modal = __esm({
2504
2006
  look = "centered-card"
2505
2007
  }) => {
2506
2008
  const eventBus = useEventBus();
2507
- const { t } = useTranslate();
2009
+ const { t } = hooks.useTranslate();
2508
2010
  const modalRef = React85.useRef(null);
2509
2011
  const previousActiveElement = React85.useRef(null);
2510
2012
  const [dragY, setDragY] = React85.useState(0);
@@ -2688,7 +2190,6 @@ var init_Drawer = __esm({
2688
2190
  init_Overlay();
2689
2191
  init_cn();
2690
2192
  init_useEventBus();
2691
- init_useTranslate();
2692
2193
  sizeWidths = {
2693
2194
  sm: "w-full sm:w-80",
2694
2195
  // 320px
@@ -2714,7 +2215,7 @@ var init_Drawer = __esm({
2714
2215
  closeEvent
2715
2216
  }) => {
2716
2217
  const eventBus = useEventBus();
2717
- const { t } = useTranslate();
2218
+ const { t } = hooks.useTranslate();
2718
2219
  const drawerRef = React85.useRef(null);
2719
2220
  const previousActiveElement = React85.useRef(null);
2720
2221
  React85.useEffect(() => {
@@ -2961,7 +2462,6 @@ var init_Toast = __esm({
2961
2462
  init_Badge();
2962
2463
  init_cn();
2963
2464
  init_useEventBus();
2964
- init_useTranslate();
2965
2465
  variantClasses = {
2966
2466
  success: "bg-card border-[length:var(--border-width)] border-success",
2967
2467
  error: "bg-card border-[length:var(--border-width)] border-error",
@@ -2995,7 +2495,7 @@ var init_Toast = __esm({
2995
2495
  actionEvent
2996
2496
  }) => {
2997
2497
  const eventBus = useEventBus();
2998
- const { t } = useTranslate();
2498
+ const { t } = hooks.useTranslate();
2999
2499
  const handleDismiss = () => {
3000
2500
  if (dismissEvent) eventBus.emit(`UI:${dismissEvent}`, {});
3001
2501
  onDismiss?.();
@@ -3923,7 +3423,6 @@ var init_Input = __esm({
3923
3423
  "components/core/atoms/Input.tsx"() {
3924
3424
  init_cn();
3925
3425
  init_Icon();
3926
- init_useTranslate();
3927
3426
  Input = React85__namespace.default.forwardRef(
3928
3427
  ({
3929
3428
  className,
@@ -3941,7 +3440,7 @@ var init_Input = __esm({
3941
3440
  onChange,
3942
3441
  ...props
3943
3442
  }, ref) => {
3944
- const { t } = useTranslate();
3443
+ const { t } = hooks.useTranslate();
3945
3444
  const type = inputType || htmlType || "text";
3946
3445
  const IconComponent = typeof iconProp === "string" ? resolveIcon(iconProp) : iconProp;
3947
3446
  const resolvedLeftIcon = leftIcon || IconComponent && /* @__PURE__ */ jsxRuntime.jsx(IconComponent, { className: "h-icon-default w-icon-default" });
@@ -4307,7 +3806,6 @@ var init_FilterPill = __esm({
4307
3806
  "components/core/atoms/FilterPill.tsx"() {
4308
3807
  init_cn();
4309
3808
  init_useEventBus();
4310
- init_useTranslate();
4311
3809
  init_Icon();
4312
3810
  variantStyles5 = {
4313
3811
  default: [
@@ -4363,7 +3861,7 @@ var init_FilterPill = __esm({
4363
3861
  ...props
4364
3862
  }, ref) => {
4365
3863
  const eventBus = useEventBus();
4366
- const { t } = useTranslate();
3864
+ const { t } = hooks.useTranslate();
4367
3865
  const payloadLabel = typeof children === "string" || typeof children === "number" ? children : label;
4368
3866
  const handleClick = React85.useCallback(() => {
4369
3867
  onClick?.();
@@ -5519,7 +5017,6 @@ var init_LawReferenceTooltip = __esm({
5519
5017
  init_Typography();
5520
5018
  init_Divider();
5521
5019
  init_cn();
5522
- init_useTranslate();
5523
5020
  positionStyles2 = {
5524
5021
  top: "bottom-full left-1/2 -translate-x-1/2 mb-2",
5525
5022
  bottom: "top-full left-1/2 -translate-x-1/2 mt-2",
@@ -5538,7 +5035,7 @@ var init_LawReferenceTooltip = __esm({
5538
5035
  position = "top",
5539
5036
  className
5540
5037
  }) => {
5541
- const { t } = useTranslate();
5038
+ const { t } = hooks.useTranslate();
5542
5039
  const [isVisible, setIsVisible] = React85__namespace.default.useState(false);
5543
5040
  const timeoutRef = React85__namespace.default.useRef(null);
5544
5041
  const handleMouseEnter = () => {
@@ -8513,7 +8010,6 @@ var init_ErrorState = __esm({
8513
8010
  init_Typography();
8514
8011
  init_Icon();
8515
8012
  init_useEventBus();
8516
- init_useTranslate();
8517
8013
  ErrorState = ({
8518
8014
  title,
8519
8015
  message,
@@ -8523,7 +8019,7 @@ var init_ErrorState = __esm({
8523
8019
  retryEvent
8524
8020
  }) => {
8525
8021
  const eventBus = useEventBus();
8526
- const { t } = useTranslate();
8022
+ const { t } = hooks.useTranslate();
8527
8023
  const handleRetry = () => {
8528
8024
  if (retryEvent) eventBus.emit(`UI:${retryEvent}`, {});
8529
8025
  onRetry?.();
@@ -8556,9 +8052,8 @@ var init_ErrorBoundary = __esm({
8556
8052
  "use client";
8557
8053
  init_cn();
8558
8054
  init_ErrorState();
8559
- init_useTranslate();
8560
8055
  DefaultFallback = ({ error, onRetry }) => {
8561
- const { t } = useTranslate();
8056
+ const { t } = hooks.useTranslate();
8562
8057
  return /* @__PURE__ */ jsxRuntime.jsx(
8563
8058
  ErrorState,
8564
8059
  {
@@ -8685,7 +8180,7 @@ function Skeleton({
8685
8180
  fields,
8686
8181
  className
8687
8182
  }) {
8688
- const { t: _t } = useTranslate();
8183
+ const { t: _t } = hooks.useTranslate();
8689
8184
  switch (variant) {
8690
8185
  case "header":
8691
8186
  return /* @__PURE__ */ jsxRuntime.jsx(HeaderSkeleton, { className });
@@ -8706,7 +8201,6 @@ var init_Skeleton = __esm({
8706
8201
  "components/core/molecules/Skeleton.tsx"() {
8707
8202
  "use client";
8708
8203
  init_cn();
8709
- init_useTranslate();
8710
8204
  init_Box();
8711
8205
  init_Stack();
8712
8206
  init_Stack();
@@ -9739,7 +9233,6 @@ var AboutPageTemplate;
9739
9233
  var init_AboutPageTemplate = __esm({
9740
9234
  "components/marketing/templates/AboutPageTemplate.tsx"() {
9741
9235
  init_cn();
9742
- init_useTranslate();
9743
9236
  init_Stack();
9744
9237
  init_Box();
9745
9238
  init_Typography();
@@ -9755,7 +9248,7 @@ var init_AboutPageTemplate = __esm({
9755
9248
  entity,
9756
9249
  className
9757
9250
  }) => {
9758
- const { t } = useTranslate();
9251
+ const { t } = hooks.useTranslate();
9759
9252
  const resolved = entity && typeof entity === "object" && !Array.isArray(entity) ? entity : void 0;
9760
9253
  if (!resolved) return null;
9761
9254
  return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "none", className: cn("w-full", className), children: [
@@ -9844,7 +9337,6 @@ var init_Alert = __esm({
9844
9337
  init_Icon();
9845
9338
  init_Typography();
9846
9339
  init_useEventBus();
9847
- init_useTranslate();
9848
9340
  variantBorderClasses = {
9849
9341
  info: "border-info",
9850
9342
  success: "border-success",
@@ -9876,7 +9368,7 @@ var init_Alert = __esm({
9876
9368
  dismissEvent
9877
9369
  }) => {
9878
9370
  const eventBus = useEventBus();
9879
- const { t } = useTranslate();
9371
+ const { t } = hooks.useTranslate();
9880
9372
  const handleDismissCallback = onDismiss || onClose;
9881
9373
  const handleDismiss = () => {
9882
9374
  if (dismissEvent) eventBus.emit(`UI:${dismissEvent}`, {});
@@ -10204,7 +9696,6 @@ var init_Menu = __esm({
10204
9696
  init_Badge();
10205
9697
  init_cn();
10206
9698
  init_useEventBus();
10207
- init_useTranslate();
10208
9699
  Menu = ({
10209
9700
  trigger,
10210
9701
  items,
@@ -10212,7 +9703,7 @@ var init_Menu = __esm({
10212
9703
  className
10213
9704
  }) => {
10214
9705
  const eventBus = useEventBus();
10215
- const { t } = useTranslate();
9706
+ const { t } = hooks.useTranslate();
10216
9707
  const [isOpen, setIsOpen] = React85.useState(false);
10217
9708
  const [activeSubMenu, setActiveSubMenu] = React85.useState(null);
10218
9709
  const [triggerRect, setTriggerRect] = React85.useState(null);
@@ -10492,7 +9983,6 @@ var init_FloatingActionButton = __esm({
10492
9983
  init_Typography();
10493
9984
  init_cn();
10494
9985
  init_useEventBus();
10495
- init_useTranslate();
10496
9986
  FloatingActionButton = ({
10497
9987
  action,
10498
9988
  actionPayload,
@@ -10505,7 +9995,7 @@ var init_FloatingActionButton = __esm({
10505
9995
  className
10506
9996
  }) => {
10507
9997
  const eventBus = useEventBus();
10508
- const { t } = useTranslate();
9998
+ const { t } = hooks.useTranslate();
10509
9999
  const resolvedAction = icon ? {
10510
10000
  icon,
10511
10001
  onClick: () => {
@@ -11375,7 +10865,7 @@ function ActionTile({
11375
10865
  categoryColors,
11376
10866
  className
11377
10867
  }) {
11378
- useTranslate();
10868
+ hooks.useTranslate();
11379
10869
  const config = SIZE_CONFIG[size];
11380
10870
  const catColor = categoryColors?.[action.category];
11381
10871
  const handleDragStart = React85.useCallback((e) => {
@@ -11414,7 +10904,6 @@ var init_ActionTile = __esm({
11414
10904
  "components/game/organisms/puzzles/sequencer/ActionTile.tsx"() {
11415
10905
  init_atoms2();
11416
10906
  init_cn();
11417
- init_useTranslate();
11418
10907
  DRAG_MIME = "application/x-almadar-slot-item";
11419
10908
  SIZE_CONFIG = {
11420
10909
  sm: { px: "px-2 py-1", icon: "text-lg", text: "text-xs" },
@@ -11433,7 +10922,7 @@ function ActionPalette({
11433
10922
  label,
11434
10923
  className
11435
10924
  }) {
11436
- const { t } = useTranslate();
10925
+ const { t } = hooks.useTranslate();
11437
10926
  return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { className: cn("p-3 rounded-lg bg-card border border-border", className), gap: "sm", children: [
11438
10927
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body2", className: "text-muted-foreground font-medium", children: label ?? t("sequencer.actions") }),
11439
10928
  /* @__PURE__ */ jsxRuntime.jsx(HStack, { className: "flex-wrap", gap: "sm", children: (actions ?? []).map((action) => /* @__PURE__ */ jsxRuntime.jsx(
@@ -11452,7 +10941,6 @@ var init_ActionPalette = __esm({
11452
10941
  "components/game/organisms/puzzles/sequencer/ActionPalette.tsx"() {
11453
10942
  init_atoms2();
11454
10943
  init_cn();
11455
- init_useTranslate();
11456
10944
  init_ActionTile();
11457
10945
  ActionPalette.displayName = "ActionPalette";
11458
10946
  }
@@ -11462,7 +10950,6 @@ var init_AuthLayout = __esm({
11462
10950
  "components/core/templates/AuthLayout.tsx"() {
11463
10951
  "use client";
11464
10952
  init_cn();
11465
- init_useTranslate();
11466
10953
  init_Box();
11467
10954
  init_Stack();
11468
10955
  init_Typography();
@@ -11473,7 +10960,7 @@ var init_AuthLayout = __esm({
11473
10960
  showBranding = true,
11474
10961
  brandingContent
11475
10962
  }) => {
11476
- const { t } = useTranslate();
10963
+ const { t } = hooks.useTranslate();
11477
10964
  return /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "min-h-screen flex", children: [
11478
10965
  showBranding && /* @__PURE__ */ jsxRuntime.jsxs(
11479
10966
  VStack,
@@ -11607,13 +11094,12 @@ var init_LoadingState = __esm({
11607
11094
  init_atoms2();
11608
11095
  init_Stack();
11609
11096
  init_Typography();
11610
- init_useTranslate();
11611
11097
  LoadingState = ({
11612
11098
  title,
11613
11099
  message,
11614
11100
  className
11615
11101
  }) => {
11616
- const { t } = useTranslate();
11102
+ const { t } = hooks.useTranslate();
11617
11103
  const displayMessage = message ?? t("common.loading");
11618
11104
  return /* @__PURE__ */ jsxRuntime.jsxs(
11619
11105
  VStack,
@@ -12083,7 +11569,7 @@ function IsometricCanvas({
12083
11569
  const unitsProp = Array.isArray(_unitsPropRaw) ? _unitsPropRaw : [];
12084
11570
  const featuresProp = Array.isArray(_featuresPropRaw) ? _featuresPropRaw : [];
12085
11571
  const eventBus = useEventBus();
12086
- const { t } = useTranslate();
11572
+ const { t } = hooks.useTranslate();
12087
11573
  const canvasRef = React85.useRef(null);
12088
11574
  const containerRef = React85.useRef(null);
12089
11575
  const minimapRef = React85.useRef(null);
@@ -12779,7 +12265,6 @@ var init_IsometricCanvas = __esm({
12779
12265
  "use client";
12780
12266
  init_cn();
12781
12267
  init_useEventBus();
12782
- init_useTranslate();
12783
12268
  init_Box();
12784
12269
  init_Stack();
12785
12270
  init_Icon();
@@ -12839,7 +12324,7 @@ function BattleBoard({
12839
12324
  const currentTurn = entity.turn;
12840
12325
  const gameResult = entity.gameResult;
12841
12326
  const eventBus = useEventBus();
12842
- const { t } = useTranslate();
12327
+ const { t } = hooks.useTranslate();
12843
12328
  const [hoveredTile, setHoveredTile] = React85.useState(null);
12844
12329
  const [isShaking, setIsShaking] = React85.useState(false);
12845
12330
  const selectedUnit = React85.useMemo(
@@ -13143,7 +12628,6 @@ var init_BattleBoard = __esm({
13143
12628
  "use client";
13144
12629
  init_cn();
13145
12630
  init_useEventBus();
13146
- init_useTranslate();
13147
12631
  init_Box();
13148
12632
  init_Button();
13149
12633
  init_Typography();
@@ -13903,7 +13387,6 @@ var log7, SWIM_GUTTER, CENTER_W, BehaviorView;
13903
13387
  var init_BehaviorView = __esm({
13904
13388
  "components/avl/molecules/BehaviorView.tsx"() {
13905
13389
  "use client";
13906
- init_useTranslate();
13907
13390
  init_AvlState();
13908
13391
  init_AvlTransitionLane();
13909
13392
  init_AvlSwimLane();
@@ -13913,7 +13396,7 @@ var init_BehaviorView = __esm({
13913
13396
  SWIM_GUTTER = 120;
13914
13397
  CENTER_W = 360;
13915
13398
  BehaviorView = ({ data }) => {
13916
- const { t } = useTranslate();
13399
+ const { t } = hooks.useTranslate();
13917
13400
  const [layout, setLayout] = React85.useState(null);
13918
13401
  const traitName = data.traits[0]?.name;
13919
13402
  const traitData = traitName ? data.traitDetails[traitName] : void 0;
@@ -14018,14 +13501,13 @@ var MIN_DIAGRAM_WIDTH, ScaledDiagram;
14018
13501
  var init_ScaledDiagram = __esm({
14019
13502
  "components/core/molecules/ScaledDiagram.tsx"() {
14020
13503
  init_Box();
14021
- init_useTranslate();
14022
13504
  init_cn();
14023
13505
  MIN_DIAGRAM_WIDTH = 200;
14024
13506
  ScaledDiagram = ({
14025
13507
  children,
14026
13508
  className
14027
13509
  }) => {
14028
- const { t: _t } = useTranslate();
13510
+ const { t: _t } = hooks.useTranslate();
14029
13511
  const wrapperRef = React85.useRef(null);
14030
13512
  const contentRef = React85.useRef(null);
14031
13513
  const [layout, setLayout] = React85.useState(null);
@@ -14161,7 +13643,6 @@ var init_CodeBlock = __esm({
14161
13643
  init_Textarea();
14162
13644
  init_Icon();
14163
13645
  init_useEventBus();
14164
- init_useTranslate();
14165
13646
  SyntaxHighlighter__default.default.registerLanguage("json", langJson__default.default);
14166
13647
  SyntaxHighlighter__default.default.registerLanguage("javascript", langJavascript__default.default);
14167
13648
  SyntaxHighlighter__default.default.registerLanguage("js", langJavascript__default.default);
@@ -14250,7 +13731,7 @@ var init_CodeBlock = __esm({
14250
13731
  const isLolo = language === "lolo";
14251
13732
  const activeStyle = isOrb ? orbStyle : isLolo ? loloStyle : dark__default.default;
14252
13733
  const eventBus = useEventBus();
14253
- const { t } = useTranslate();
13734
+ const { t } = hooks.useTranslate();
14254
13735
  const scrollRef = React85.useRef(null);
14255
13736
  const codeRef = React85.useRef(null);
14256
13737
  const savedScrollLeftRef = React85.useRef(0);
@@ -14668,11 +14149,10 @@ var init_MarkdownContent = __esm({
14668
14149
  init_katex_min();
14669
14150
  init_Box();
14670
14151
  init_CodeBlock();
14671
- init_useTranslate();
14672
14152
  init_cn();
14673
14153
  MarkdownContent = React85__namespace.default.memo(
14674
14154
  ({ content, direction, className }) => {
14675
- const { t: _t } = useTranslate();
14155
+ const { t: _t } = hooks.useTranslate();
14676
14156
  const safeContent = typeof content === "string" ? content : String(content ?? "");
14677
14157
  return /* @__PURE__ */ jsxRuntime.jsx(
14678
14158
  Box,
@@ -14898,7 +14378,7 @@ function Card2({
14898
14378
  longPressPayload
14899
14379
  }) {
14900
14380
  const eventBus = useEventBus();
14901
- const { t } = useTranslate();
14381
+ const { t } = hooks.useTranslate();
14902
14382
  const isClickable = !!onClick || !!action;
14903
14383
  const handleLongPress = React85.useCallback(() => {
14904
14384
  if (longPressEvent) {
@@ -14973,7 +14453,6 @@ var init_Card2 = __esm({
14973
14453
  "components/core/molecules/Card.tsx"() {
14974
14454
  "use client";
14975
14455
  init_useEventBus();
14976
- init_useTranslate();
14977
14456
  init_useLongPress();
14978
14457
  Card2.displayName = "Card";
14979
14458
  }
@@ -14987,14 +14466,13 @@ var init_QuizBlock = __esm({
14987
14466
  init_Button();
14988
14467
  init_Icon();
14989
14468
  init_Box();
14990
- init_useTranslate();
14991
14469
  init_cn();
14992
14470
  QuizBlock = ({
14993
14471
  question,
14994
14472
  answer,
14995
14473
  className
14996
14474
  }) => {
14997
- const { t } = useTranslate();
14475
+ const { t } = hooks.useTranslate();
14998
14476
  const [revealed, setRevealed] = React85.useState(false);
14999
14477
  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: [
15000
14478
  /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "sm", align: "start", children: [
@@ -15030,11 +14508,10 @@ var init_StateMachineView = __esm({
15030
14508
  init_Typography();
15031
14509
  init_Button();
15032
14510
  init_Icon();
15033
- init_useTranslate();
15034
14511
  init_useEventBus();
15035
14512
  init_cn();
15036
14513
  StateNode = ({ state, config }) => {
15037
- const { t } = useTranslate();
14514
+ const { t } = hooks.useTranslate();
15038
14515
  const size = state.radius * 2;
15039
14516
  let borderColor = config.colors.nodeBorder;
15040
14517
  let borderWidth = 2;
@@ -15141,7 +14618,7 @@ var init_StateMachineView = __esm({
15141
14618
  );
15142
14619
  };
15143
14620
  TransitionBundleArrow = ({ bundle, states, bundleIndex, config, onClick, onHover }) => {
15144
- const { t } = useTranslate();
14621
+ const { t } = hooks.useTranslate();
15145
14622
  const groupRef = React85.useRef(null);
15146
14623
  const fromState = states.find((s) => s.name === bundle.from);
15147
14624
  const toState = states.find((s) => s.name === bundle.to);
@@ -15391,7 +14868,7 @@ var init_StateMachineView = __esm({
15391
14868
  );
15392
14869
  };
15393
14870
  BundleTooltip = ({ tooltip, config }) => {
15394
- const { t } = useTranslate();
14871
+ const { t } = hooks.useTranslate();
15395
14872
  if (!tooltip.visible || !tooltip.bundle) return null;
15396
14873
  const { bundle } = tooltip;
15397
14874
  const isSingle = bundle.labels.length === 1;
@@ -15543,7 +15020,7 @@ var init_StateMachineView = __esm({
15543
15020
  );
15544
15021
  };
15545
15022
  EntityBox = ({ entity, config }) => {
15546
- const { t } = useTranslate();
15023
+ const { t } = hooks.useTranslate();
15547
15024
  return /* @__PURE__ */ jsxRuntime.jsxs(
15548
15025
  VStack,
15549
15026
  {
@@ -15584,7 +15061,7 @@ var init_StateMachineView = __esm({
15584
15061
  );
15585
15062
  };
15586
15063
  OutputsBox = ({ outputs, config }) => {
15587
- const { t } = useTranslate();
15064
+ const { t } = hooks.useTranslate();
15588
15065
  return /* @__PURE__ */ jsxRuntime.jsxs(
15589
15066
  VStack,
15590
15067
  {
@@ -15626,7 +15103,7 @@ var init_StateMachineView = __esm({
15626
15103
  );
15627
15104
  };
15628
15105
  Legend = ({ config, y }) => {
15629
- const { t } = useTranslate();
15106
+ const { t } = hooks.useTranslate();
15630
15107
  const items = [
15631
15108
  { key: "initial", label: t("stateMachine.legend.initial"), color: config.colors.initialNode, isMultiEvent: false },
15632
15109
  { key: "final", label: t("stateMachine.legend.final"), color: config.colors.finalNode, isMultiEvent: false },
@@ -15670,7 +15147,7 @@ var init_StateMachineView = __esm({
15670
15147
  isLoading: _isLoading,
15671
15148
  error: _error
15672
15149
  }) => {
15673
- const { t } = useTranslate();
15150
+ const { t } = hooks.useTranslate();
15674
15151
  const [tooltip, setTooltip] = React85.useState({
15675
15152
  visible: false,
15676
15153
  pinned: false,
@@ -16397,7 +15874,6 @@ var init_JazariStateMachine = __esm({
16397
15874
  init_StateMachineView();
16398
15875
  init_visualizer();
16399
15876
  init_svg_paths();
16400
- init_useTranslate();
16401
15877
  init_cn();
16402
15878
  JAZARI_VISUALIZER_CONFIG = {
16403
15879
  ...DEFAULT_CONFIG,
@@ -16433,7 +15909,7 @@ var init_JazariStateMachine = __esm({
16433
15909
  isLoading = false,
16434
15910
  error = null
16435
15911
  }) => {
16436
- const { t } = useTranslate();
15912
+ const { t } = hooks.useTranslate();
16437
15913
  const resolvedTrait = React85.useMemo(
16438
15914
  () => extractTrait(schema, traitProp, traitIndex),
16439
15915
  [schema, traitProp, traitIndex]
@@ -16553,7 +16029,6 @@ var init_ContentRenderer = __esm({
16553
16029
  init_ScaledDiagram();
16554
16030
  init_JazariStateMachine();
16555
16031
  init_parseContentSegments();
16556
- init_useTranslate();
16557
16032
  init_cn();
16558
16033
  ContentRenderer = ({
16559
16034
  content,
@@ -16561,7 +16036,7 @@ var init_ContentRenderer = __esm({
16561
16036
  direction,
16562
16037
  className
16563
16038
  }) => {
16564
- const { t: _t } = useTranslate();
16039
+ const { t: _t } = hooks.useTranslate();
16565
16040
  const segments = React85.useMemo(
16566
16041
  () => segmentsProp ?? parseContentSegments(content),
16567
16042
  [segmentsProp, content]
@@ -16647,14 +16122,13 @@ var init_BookChapterView = __esm({
16647
16122
  init_ScaledDiagram();
16648
16123
  init_ContentRenderer();
16649
16124
  init_JazariStateMachine();
16650
- init_useTranslate();
16651
16125
  init_cn();
16652
16126
  BookChapterView = ({
16653
16127
  chapter,
16654
16128
  direction,
16655
16129
  className
16656
16130
  }) => {
16657
- const { t: _t } = useTranslate();
16131
+ const { t: _t } = hooks.useTranslate();
16658
16132
  return /* @__PURE__ */ jsxRuntime.jsxs(
16659
16133
  VStack,
16660
16134
  {
@@ -16686,7 +16160,6 @@ var init_BookCoverPage = __esm({
16686
16160
  init_Typography();
16687
16161
  init_Button();
16688
16162
  init_Box();
16689
- init_useTranslate();
16690
16163
  init_cn();
16691
16164
  BookCoverPage = ({
16692
16165
  title,
@@ -16696,7 +16169,7 @@ var init_BookCoverPage = __esm({
16696
16169
  direction,
16697
16170
  className
16698
16171
  }) => {
16699
- const { t } = useTranslate();
16172
+ const { t } = hooks.useTranslate();
16700
16173
  return /* @__PURE__ */ jsxRuntime.jsxs(
16701
16174
  VStack,
16702
16175
  {
@@ -16766,7 +16239,6 @@ var init_BookNavBar = __esm({
16766
16239
  init_Typography();
16767
16240
  init_ProgressBar();
16768
16241
  init_Box();
16769
- init_useTranslate();
16770
16242
  init_cn();
16771
16243
  BookNavBar = ({
16772
16244
  currentPage,
@@ -16775,7 +16247,7 @@ var init_BookNavBar = __esm({
16775
16247
  direction,
16776
16248
  className
16777
16249
  }) => {
16778
- const { t } = useTranslate();
16250
+ const { t } = hooks.useTranslate();
16779
16251
  const isRtl = direction === "rtl";
16780
16252
  const progress = totalPages > 1 ? currentPage / (totalPages - 1) * 100 : 0;
16781
16253
  const PrevIcon = isRtl ? LucideIcons2.ChevronRight : LucideIcons2.ChevronLeft;
@@ -16868,7 +16340,6 @@ var init_BookTableOfContents = __esm({
16868
16340
  init_Button();
16869
16341
  init_Box();
16870
16342
  init_Badge();
16871
- init_useTranslate();
16872
16343
  init_cn();
16873
16344
  BookTableOfContents = ({
16874
16345
  parts,
@@ -16876,7 +16347,7 @@ var init_BookTableOfContents = __esm({
16876
16347
  direction,
16877
16348
  className
16878
16349
  }) => {
16879
- const { t } = useTranslate();
16350
+ const { t } = hooks.useTranslate();
16880
16351
  return /* @__PURE__ */ jsxRuntime.jsxs(
16881
16352
  VStack,
16882
16353
  {
@@ -16928,7 +16399,6 @@ var init_EmptyState = __esm({
16928
16399
  init_Stack();
16929
16400
  init_Typography();
16930
16401
  init_useEventBus();
16931
- init_useTranslate();
16932
16402
  ICON_NAME_ALIASES = {
16933
16403
  check: "check-circle",
16934
16404
  error: "x-circle",
@@ -16954,7 +16424,7 @@ var init_EmptyState = __esm({
16954
16424
  look = "icon-only"
16955
16425
  }) => {
16956
16426
  const eventBus = useEventBus();
16957
- const { t } = useTranslate();
16427
+ const { t } = hooks.useTranslate();
16958
16428
  const handleAction = () => {
16959
16429
  if (actionEvent) eventBus.emit(`UI:${actionEvent}`, {});
16960
16430
  onAction?.();
@@ -17099,7 +16569,6 @@ var init_BookViewer = __esm({
17099
16569
  init_Box();
17100
16570
  init_Stack();
17101
16571
  init_useEventBus();
17102
- init_useTranslate();
17103
16572
  init_cn();
17104
16573
  init_BookCoverPage();
17105
16574
  init_BookTableOfContents();
@@ -17125,7 +16594,7 @@ var init_BookViewer = __esm({
17125
16594
  className
17126
16595
  }) => {
17127
16596
  const eventBus = useEventBus();
17128
- const { t } = useTranslate();
16597
+ const { t } = hooks.useTranslate();
17129
16598
  const [currentPage, setCurrentPage] = React85.useState(initialPage);
17130
16599
  const resolvedFieldMap = React85.useMemo(() => resolveFieldMap(fieldMap), [fieldMap]);
17131
16600
  const book = React85.useMemo(() => {
@@ -17531,7 +17000,6 @@ var init_BranchingLogicBuilder = __esm({
17531
17000
  init_FilterPill();
17532
17001
  init_Box();
17533
17002
  init_useEventBus();
17534
- init_useTranslate();
17535
17003
  init_cn();
17536
17004
  END_OF_SURVEY = "end-of-survey";
17537
17005
  RuleRow = ({
@@ -17542,7 +17010,7 @@ var init_BranchingLogicBuilder = __esm({
17542
17010
  onChange,
17543
17011
  onDelete
17544
17012
  }) => {
17545
- const { t } = useTranslate();
17013
+ const { t } = hooks.useTranslate();
17546
17014
  const operatorOptions = React85.useMemo(
17547
17015
  () => [
17548
17016
  { value: "equals", label: t("branchingLogic.operatorEquals") },
@@ -17717,7 +17185,7 @@ var init_BranchingLogicBuilder = __esm({
17717
17185
  NODE_GAP_Y = 80;
17718
17186
  PADDING = 32;
17719
17187
  LogicGraph = ({ questions, rules }) => {
17720
- const { t } = useTranslate();
17188
+ const { t } = hooks.useTranslate();
17721
17189
  const endOfSurveyLabel = t("branchingLogic.endOfSurvey");
17722
17190
  const layout = React85.useMemo(() => {
17723
17191
  const items = [
@@ -17849,7 +17317,7 @@ var init_BranchingLogicBuilder = __esm({
17849
17317
  readOnly = false,
17850
17318
  className
17851
17319
  }) => {
17852
- const { t } = useTranslate();
17320
+ const { t } = hooks.useTranslate();
17853
17321
  const eventBus = useEventBus();
17854
17322
  const questions = Array.isArray(questionsProp) ? questionsProp : [];
17855
17323
  const rulesInitial = Array.isArray(rulesProp) ? rulesProp : [];
@@ -17984,7 +17452,6 @@ var init_Breadcrumb = __esm({
17984
17452
  init_Typography();
17985
17453
  init_cn();
17986
17454
  init_useEventBus();
17987
- init_useTranslate();
17988
17455
  Breadcrumb = ({
17989
17456
  items,
17990
17457
  separator = "chevron-right",
@@ -17992,7 +17459,7 @@ var init_Breadcrumb = __esm({
17992
17459
  className
17993
17460
  }) => {
17994
17461
  const eventBus = useEventBus();
17995
- const { t } = useTranslate();
17462
+ const { t } = hooks.useTranslate();
17996
17463
  const displayItems = maxItems && items.length > maxItems ? [
17997
17464
  ...items.slice(0, 1),
17998
17465
  { label: "...", isCurrent: false },
@@ -18071,7 +17538,7 @@ function BuilderBoard({
18071
17538
  className
18072
17539
  }) {
18073
17540
  const { emit } = useEventBus();
18074
- const { t } = useTranslate();
17541
+ const { t } = hooks.useTranslate();
18075
17542
  const resolved = Array.isArray(entity) ? entity[0] : entity;
18076
17543
  const [placements, setPlacements] = React85.useState({});
18077
17544
  const [headerError, setHeaderError] = React85.useState(false);
@@ -18220,7 +17687,6 @@ var init_BuilderBoard = __esm({
18220
17687
  "components/game/organisms/puzzles/builder/BuilderBoard.tsx"() {
18221
17688
  init_atoms2();
18222
17689
  init_useEventBus();
18223
- init_useTranslate();
18224
17690
  BuilderBoard.displayName = "BuilderBoard";
18225
17691
  }
18226
17692
  });
@@ -18488,7 +17954,7 @@ function CalendarGrid({
18488
17954
  }) {
18489
17955
  const evs = Array.isArray(events2) ? events2 : events2 ? [events2] : [];
18490
17956
  const eventBus = useEventBus();
18491
- const { t } = useTranslate();
17957
+ const { t } = hooks.useTranslate();
18492
17958
  const longPressTimer = React85.useRef(null);
18493
17959
  const resolvedWeekStart = React85.useMemo(
18494
17960
  () => weekStart ? getStartOfWeek(weekStart) : getStartOfWeek(/* @__PURE__ */ new Date()),
@@ -18698,7 +18164,6 @@ var init_CalendarGrid = __esm({
18698
18164
  init_TimeSlotCell();
18699
18165
  init_useEventBus();
18700
18166
  init_useSwipeGesture();
18701
- init_useTranslate();
18702
18167
  SHORT_DATE = { month: "short", day: "numeric" };
18703
18168
  CalendarGrid.displayName = "CalendarGrid";
18704
18169
  }
@@ -20007,7 +19472,6 @@ var init_Pagination = __esm({
20007
19472
  init_Stack();
20008
19473
  init_cn();
20009
19474
  init_useEventBus();
20010
- init_useTranslate();
20011
19475
  Pagination = ({
20012
19476
  currentPage,
20013
19477
  totalPages,
@@ -20026,7 +19490,7 @@ var init_Pagination = __esm({
20026
19490
  pageSizeChangeEvent
20027
19491
  }) => {
20028
19492
  const eventBus = useEventBus();
20029
- const { t } = useTranslate();
19493
+ const { t } = hooks.useTranslate();
20030
19494
  const [jumpToPage, setJumpToPage] = React85.useState("");
20031
19495
  const handlePageChange = (page) => {
20032
19496
  if (pageChangeEvent) eventBus.emit(`UI:${pageChangeEvent}`, { page });
@@ -20211,7 +19675,6 @@ var init_CardGrid = __esm({
20211
19675
  init_cn();
20212
19676
  init_getNestedValue();
20213
19677
  init_useEventBus();
20214
- init_useTranslate();
20215
19678
  init_atoms2();
20216
19679
  init_Badge();
20217
19680
  init_Box();
@@ -20255,7 +19718,7 @@ var init_CardGrid = __esm({
20255
19718
  imageField
20256
19719
  }) => {
20257
19720
  const eventBus = useEventBus();
20258
- const { t } = useTranslate();
19721
+ const { t } = hooks.useTranslate();
20259
19722
  const effectiveFieldNames = normalizeFields(fields).length > 0 ? normalizeFields(fields) : fieldNames ?? normalizeFields(columns);
20260
19723
  const gridTemplateColumns = `repeat(auto-fit, minmax(min(${minCardWidth}px, 100%), 1fr))`;
20261
19724
  const normalizedData = Array.isArray(entity) ? entity : entity ? [entity] : [];
@@ -20440,7 +19903,6 @@ var init_Carousel = __esm({
20440
19903
  init_cn();
20441
19904
  init_useEventBus();
20442
19905
  init_useSwipeGesture();
20443
- init_useTranslate();
20444
19906
  init_Box();
20445
19907
  init_Stack();
20446
19908
  init_Button();
@@ -20461,7 +19923,7 @@ var init_Carousel = __esm({
20461
19923
  const scrollRef = React85.useRef(null);
20462
19924
  const autoPlayRef = React85.useRef(null);
20463
19925
  const eventBus = useSafeEventBus3();
20464
- const { t } = useTranslate();
19926
+ const { t } = hooks.useTranslate();
20465
19927
  const safeItems = items ?? [];
20466
19928
  const totalSlides = safeItems.length;
20467
19929
  const emitSlideChange = React85.useCallback(
@@ -20677,7 +20139,6 @@ var init_CaseStudyOrganism = __esm({
20677
20139
  "use client";
20678
20140
  init_cn();
20679
20141
  init_useEventBus();
20680
- init_useTranslate();
20681
20142
  init_Stack();
20682
20143
  init_Typography();
20683
20144
  init_SimpleGrid();
@@ -20693,7 +20154,7 @@ var init_CaseStudyOrganism = __esm({
20693
20154
  subtitle
20694
20155
  }) => {
20695
20156
  useEventBus();
20696
- const { t } = useTranslate();
20157
+ const { t } = hooks.useTranslate();
20697
20158
  const items = React85.useMemo(
20698
20159
  () => Array.isArray(entity) ? entity : entity && typeof entity === "object" ? [entity] : [],
20699
20160
  [entity]
@@ -20882,7 +20343,6 @@ var init_Chart = __esm({
20882
20343
  init_ErrorState();
20883
20344
  init_EmptyState();
20884
20345
  init_useEventBus();
20885
- init_useTranslate();
20886
20346
  CHART_COLORS = [
20887
20347
  "var(--color-primary)",
20888
20348
  "var(--color-success)",
@@ -21455,7 +20915,7 @@ var init_Chart = __esm({
21455
20915
  }) => {
21456
20916
  const resolvedLook = look ?? (chartType ? LOOK_FROM_CHART_TYPE[chartType] : "bar-vertical");
21457
20917
  const eventBus = useEventBus();
21458
- const { t } = useTranslate();
20918
+ const { t } = hooks.useTranslate();
21459
20919
  const handleAction = React85.useCallback(
21460
20920
  (action) => {
21461
20921
  if (action.event) {
@@ -21652,7 +21112,7 @@ function ClassifierBoard({
21652
21112
  className
21653
21113
  }) {
21654
21114
  const { emit } = useEventBus();
21655
- const { t } = useTranslate();
21115
+ const { t } = hooks.useTranslate();
21656
21116
  const resolved = Array.isArray(entity) ? entity[0] : entity;
21657
21117
  const [assignments, setAssignments] = React85.useState({});
21658
21118
  const [headerError, setHeaderError] = React85.useState(false);
@@ -21790,7 +21250,6 @@ var init_ClassifierBoard = __esm({
21790
21250
  "components/game/organisms/puzzles/classifier/ClassifierBoard.tsx"() {
21791
21251
  init_atoms2();
21792
21252
  init_useEventBus();
21793
- init_useTranslate();
21794
21253
  ClassifierBoard.displayName = "ClassifierBoard";
21795
21254
  }
21796
21255
  });
@@ -21800,7 +21259,7 @@ function CodeView({
21800
21259
  defaultExpanded = false,
21801
21260
  className
21802
21261
  }) {
21803
- const { t } = useTranslate();
21262
+ const { t } = hooks.useTranslate();
21804
21263
  const [expanded, setExpanded] = React85.useState(defaultExpanded);
21805
21264
  const jsonString = JSON.stringify(data, null, 2);
21806
21265
  return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { className: cn("rounded-lg border border-border overflow-hidden", className), gap: "none", children: [
@@ -21822,7 +21281,6 @@ var init_CodeView = __esm({
21822
21281
  "components/game/organisms/puzzles/state-architect/CodeView.tsx"() {
21823
21282
  init_atoms2();
21824
21283
  init_cn();
21825
- init_useTranslate();
21826
21284
  CodeView.displayName = "CodeView";
21827
21285
  }
21828
21286
  });
@@ -21836,7 +21294,6 @@ var init_Tabs = __esm({
21836
21294
  init_Box();
21837
21295
  init_cn();
21838
21296
  init_useEventBus();
21839
- init_useTranslate();
21840
21297
  Tabs = ({
21841
21298
  items,
21842
21299
  tabs,
@@ -21854,7 +21311,7 @@ var init_Tabs = __esm({
21854
21311
  id: id || value || ""
21855
21312
  }));
21856
21313
  const eventBus = useEventBus();
21857
- const { t } = useTranslate();
21314
+ const { t } = hooks.useTranslate();
21858
21315
  const initialActive = safeItems.find((item) => item.active)?.id;
21859
21316
  const [internalActiveTab, setInternalActiveTab] = React85.useState(
21860
21317
  defaultActiveTab || initialActive || safeItems[0]?.id || ""
@@ -22013,7 +21470,6 @@ var init_CodeViewer = __esm({
22013
21470
  init_EmptyState();
22014
21471
  init_Tabs();
22015
21472
  init_useEventBus();
22016
- init_useTranslate();
22017
21473
  DIFF_STYLES = {
22018
21474
  add: {
22019
21475
  bg: "bg-success/10",
@@ -22051,7 +21507,7 @@ var init_CodeViewer = __esm({
22051
21507
  className
22052
21508
  }) => {
22053
21509
  const eventBus = useEventBus();
22054
- const { t } = useTranslate();
21510
+ const { t } = hooks.useTranslate();
22055
21511
  const [copied, setCopied] = React85.useState(false);
22056
21512
  const [wrap, setWrap] = React85.useState(wordWrap);
22057
21513
  const [activeFileIndex, setActiveFileIndex] = React85.useState(0);
@@ -22385,7 +21841,6 @@ var init_ConfirmDialog = __esm({
22385
21841
  init_Box();
22386
21842
  init_Stack();
22387
21843
  init_cn();
22388
- init_useTranslate();
22389
21844
  variantConfig = {
22390
21845
  danger: {
22391
21846
  icon: LucideIcons2.Trash2,
@@ -22433,7 +21888,7 @@ var init_ConfirmDialog = __esm({
22433
21888
  className
22434
21889
  }) => {
22435
21890
  const config = variantConfig[variant];
22436
- const { t } = useTranslate();
21891
+ const { t } = hooks.useTranslate();
22437
21892
  const resolvedMessage = message ?? description ?? "";
22438
21893
  const resolvedConfirmText = confirmText ?? confirmLabel ?? t("dialog.confirm");
22439
21894
  const resolvedCancelText = cancelText ?? cancelLabel ?? t("dialog.cancel");
@@ -22867,7 +22322,6 @@ var init_DashboardGrid = __esm({
22867
22322
  "components/core/organisms/layout/DashboardGrid.tsx"() {
22868
22323
  init_cn();
22869
22324
  init_Box();
22870
- init_useTranslate();
22871
22325
  gapStyles5 = {
22872
22326
  sm: "gap-2",
22873
22327
  md: "gap-4",
@@ -22894,7 +22348,7 @@ var init_DashboardGrid = __esm({
22894
22348
  cells,
22895
22349
  className
22896
22350
  }) => {
22897
- const { t: _t } = useTranslate();
22351
+ const { t: _t } = hooks.useTranslate();
22898
22352
  return /* @__PURE__ */ jsxRuntime.jsx(
22899
22353
  Box,
22900
22354
  {
@@ -22961,7 +22415,6 @@ var init_DashboardLayout = __esm({
22961
22415
  init_Icon();
22962
22416
  init_useAuthContext();
22963
22417
  init_useEventBus();
22964
- init_useTranslate();
22965
22418
  init_CurrentPagePathContext();
22966
22419
  DashboardLayout = ({
22967
22420
  appName = "{{APP_TITLE}}",
@@ -23020,7 +22473,7 @@ var init_DashboardLayout = __esm({
23020
22473
  const activePath = currentPath ?? ctxPagePath ?? location.pathname;
23021
22474
  const { signOut: authSignOut } = useAuthContext();
23022
22475
  const user = userProp || (null);
23023
- const { t } = useTranslate();
22476
+ const { t } = hooks.useTranslate();
23024
22477
  const handleSignOut = onSignOutProp || authSignOut;
23025
22478
  const showSidebar = layoutMode === "sidebar";
23026
22479
  const showHeader = layoutMode !== "minimal";
@@ -23991,7 +23444,7 @@ function DataGrid({
23991
23444
  look = "dense"
23992
23445
  }) {
23993
23446
  const eventBus = useEventBus();
23994
- const { t } = useTranslate();
23447
+ const { t } = hooks.useTranslate();
23995
23448
  const [selectedIds, setSelectedIds] = React85.useState(/* @__PURE__ */ new Set());
23996
23449
  const [visibleCount, setVisibleCount] = React85.useState(pageSize || Infinity);
23997
23450
  const fieldDefs = fields ?? columns ?? [];
@@ -24306,7 +23759,6 @@ var init_DataGrid = __esm({
24306
23759
  init_cn();
24307
23760
  init_getNestedValue();
24308
23761
  init_useEventBus();
24309
- init_useTranslate();
24310
23762
  init_Box();
24311
23763
  init_Stack();
24312
23764
  init_Typography();
@@ -24431,7 +23883,7 @@ function DataList({
24431
23883
  look = "dense"
24432
23884
  }) {
24433
23885
  const eventBus = useEventBus();
24434
- const { t } = useTranslate();
23886
+ const { t } = hooks.useTranslate();
24435
23887
  const [visibleCount, setVisibleCount] = React85__namespace.default.useState(pageSize || Infinity);
24436
23888
  const fieldDefs = fields ?? columns ?? [];
24437
23889
  const allDataRaw = Array.isArray(entity) ? entity : entity ? [entity] : [];
@@ -24745,7 +24197,6 @@ var init_DataList = __esm({
24745
24197
  init_cn();
24746
24198
  init_getNestedValue();
24747
24199
  init_useEventBus();
24748
- init_useTranslate();
24749
24200
  init_Box();
24750
24201
  init_Stack();
24751
24202
  init_Typography();
@@ -24800,7 +24251,6 @@ var init_FileTree = __esm({
24800
24251
  init_Box();
24801
24252
  init_Typography();
24802
24253
  init_Icon();
24803
- init_useTranslate();
24804
24254
  TreeNodeItem = ({
24805
24255
  node,
24806
24256
  depth,
@@ -24886,7 +24336,7 @@ var init_FileTree = __esm({
24886
24336
  className,
24887
24337
  indent = 16
24888
24338
  }) => {
24889
- const { t } = useTranslate();
24339
+ const { t } = hooks.useTranslate();
24890
24340
  if (tree.length === 0) {
24891
24341
  return /* @__PURE__ */ jsxRuntime.jsx(Box, { className: `p-4 ${className ?? ""}`, children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", color: "muted", children: t("fileTree.noFiles") }) });
24892
24342
  }
@@ -25007,7 +24457,6 @@ var init_FilterGroup = __esm({
25007
24457
  init_Icon();
25008
24458
  init_useEventBus();
25009
24459
  init_useQuerySingleton();
25010
- init_useTranslate();
25011
24460
  resolveFilterType = (filter) => filter.filterType ?? filter.type;
25012
24461
  lookStyles6 = {
25013
24462
  toolbar: "",
@@ -25028,7 +24477,7 @@ var init_FilterGroup = __esm({
25028
24477
  isLoading,
25029
24478
  look = "toolbar"
25030
24479
  }) => {
25031
- const { t } = useTranslate();
24480
+ const { t } = hooks.useTranslate();
25032
24481
  const eventBus = useEventBus();
25033
24482
  const queryState = useQuerySingleton(query);
25034
24483
  const [selectedValues, setSelectedValues] = React85.useState(
@@ -25649,7 +25098,6 @@ var init_RelationSelect = __esm({
25649
25098
  init_Spinner();
25650
25099
  init_Typography();
25651
25100
  init_debug();
25652
- init_useTranslate();
25653
25101
  isRelationsDebugEnabled = () => isDebugEnabled();
25654
25102
  RelationSelect = ({
25655
25103
  value,
@@ -25666,7 +25114,7 @@ var init_RelationSelect = __esm({
25666
25114
  searchPlaceholder,
25667
25115
  emptyMessage
25668
25116
  }) => {
25669
- const { t } = useTranslate();
25117
+ const { t } = hooks.useTranslate();
25670
25118
  const resolvedPlaceholder = placeholder ?? t("relationSelect.selectPlaceholder");
25671
25119
  const resolvedSearchPlaceholder = searchPlaceholder ?? t("common.search");
25672
25120
  const resolvedEmptyMessage = emptyMessage ?? t("empty.noOptionsFound");
@@ -25874,7 +25322,6 @@ var init_SearchInput = __esm({
25874
25322
  init_cn();
25875
25323
  init_useEventBus();
25876
25324
  init_useQuerySingleton();
25877
- init_useTranslate();
25878
25325
  SearchInput = ({
25879
25326
  value,
25880
25327
  onSearch,
@@ -25889,7 +25336,7 @@ var init_SearchInput = __esm({
25889
25336
  ...props
25890
25337
  }) => {
25891
25338
  const eventBus = useEventBus();
25892
- const { t } = useTranslate();
25339
+ const { t } = hooks.useTranslate();
25893
25340
  const resolvedPlaceholder = placeholder ?? t("common.search");
25894
25341
  const queryState = useQuerySingleton(query);
25895
25342
  const initialValue = queryState?.search ?? value ?? "";
@@ -25977,7 +25424,6 @@ var init_SidePanel = __esm({
25977
25424
  init_Typography();
25978
25425
  init_cn();
25979
25426
  init_useEventBus();
25980
- init_useTranslate();
25981
25427
  SidePanel = ({
25982
25428
  title,
25983
25429
  children,
@@ -25990,7 +25436,7 @@ var init_SidePanel = __esm({
25990
25436
  closeEvent
25991
25437
  }) => {
25992
25438
  const eventBus = useEventBus();
25993
- const { t } = useTranslate();
25439
+ const { t } = hooks.useTranslate();
25994
25440
  const handleClose = () => {
25995
25441
  if (closeEvent) eventBus.emit(`UI:${closeEvent}`, {});
25996
25442
  onClose();
@@ -26156,7 +25602,6 @@ var init_WizardNavigation = __esm({
26156
25602
  init_Icon();
26157
25603
  init_cn();
26158
25604
  init_useEventBus();
26159
- init_useTranslate();
26160
25605
  WizardNavigation = ({
26161
25606
  currentStep,
26162
25607
  totalSteps,
@@ -26177,7 +25622,7 @@ var init_WizardNavigation = __esm({
26177
25622
  className
26178
25623
  }) => {
26179
25624
  const eventBus = useSafeEventBus4();
26180
- const { t } = useTranslate();
25625
+ const { t } = hooks.useTranslate();
26181
25626
  const resolvedBackLabel = backLabel ?? t("wizard.back");
26182
25627
  const resolvedNextLabel = nextLabel ?? t("wizard.next");
26183
25628
  const resolvedCompleteLabel = completeLabel ?? t("wizard.complete");
@@ -26244,7 +25689,6 @@ var init_RepeatableFormSection = __esm({
26244
25689
  init_Card();
26245
25690
  init_Icon();
26246
25691
  init_useEventBus();
26247
- init_useTranslate();
26248
25692
  RepeatableFormSection = ({
26249
25693
  sectionType,
26250
25694
  title,
@@ -26265,7 +25709,7 @@ var init_RepeatableFormSection = __esm({
26265
25709
  showAuditInfo = false
26266
25710
  }) => {
26267
25711
  const eventBus = useEventBus();
26268
- const { t } = useTranslate();
25712
+ const { t } = hooks.useTranslate();
26269
25713
  const resolvedAddLabel = addLabel ?? t("common.add");
26270
25714
  const resolvedEmptyMessage = emptyMessage ?? t("empty.noItemsAdded");
26271
25715
  const safeItems = items ?? [];
@@ -26375,7 +25819,6 @@ var actionTypeLabelKeys, actionTypeIcons, ViolationAlert;
26375
25819
  var init_ViolationAlert = __esm({
26376
25820
  "components/core/molecules/ViolationAlert.tsx"() {
26377
25821
  init_cn();
26378
- init_useTranslate();
26379
25822
  init_Box();
26380
25823
  init_Stack();
26381
25824
  init_Typography();
@@ -26401,7 +25844,7 @@ var init_ViolationAlert = __esm({
26401
25844
  className,
26402
25845
  ...flatProps
26403
25846
  }) => {
26404
- const { t } = useTranslate();
25847
+ const { t } = hooks.useTranslate();
26405
25848
  const resolvedViolation = violation ?? {
26406
25849
  law: "",
26407
25850
  article: "",
@@ -26881,7 +26324,6 @@ var init_LineChart = __esm({
26881
26324
  "use client";
26882
26325
  init_cn();
26883
26326
  init_atoms2();
26884
- init_useTranslate();
26885
26327
  LineChart2 = ({
26886
26328
  data,
26887
26329
  width = 400,
@@ -26893,7 +26335,7 @@ var init_LineChart = __esm({
26893
26335
  areaColor = "var(--color-primary)",
26894
26336
  className
26895
26337
  }) => {
26896
- const { t } = useTranslate();
26338
+ const { t } = hooks.useTranslate();
26897
26339
  const gradientId = React85.useId();
26898
26340
  const safeData = data ?? [];
26899
26341
  const sortedData = React85.useMemo(() => {
@@ -28837,7 +28279,6 @@ var init_GraphView = __esm({
28837
28279
  "use client";
28838
28280
  init_cn();
28839
28281
  init_atoms2();
28840
- init_useTranslate();
28841
28282
  GROUP_COLORS = [
28842
28283
  "#3b82f6",
28843
28284
  // blue-500
@@ -28870,7 +28311,7 @@ var init_GraphView = __esm({
28870
28311
  showLabels = true,
28871
28312
  zoomToFit = true
28872
28313
  }) => {
28873
- const { t } = useTranslate();
28314
+ const { t } = hooks.useTranslate();
28874
28315
  const containerRef = React85.useRef(null);
28875
28316
  const animRef = React85.useRef(0);
28876
28317
  const [simNodes, setSimNodes] = React85.useState([]);
@@ -29163,7 +28604,6 @@ var init_NumberStepper = __esm({
29163
28604
  init_cn();
29164
28605
  init_Icon();
29165
28606
  init_useEventBus();
29166
- init_useTranslate();
29167
28607
  sizeStyles10 = {
29168
28608
  sm: {
29169
28609
  button: "w-7 h-7",
@@ -29197,7 +28637,7 @@ var init_NumberStepper = __esm({
29197
28637
  label
29198
28638
  }) => {
29199
28639
  const eventBus = useSafeEventBus5();
29200
- const { t } = useTranslate();
28640
+ const { t } = hooks.useTranslate();
29201
28641
  const intervalRef = React85.useRef(null);
29202
28642
  const timeoutRef = React85.useRef(null);
29203
28643
  const isAtMin = min !== void 0 && value <= min;
@@ -29504,7 +28944,6 @@ var init_UploadDropZone = __esm({
29504
28944
  init_Icon();
29505
28945
  init_Typography();
29506
28946
  init_useEventBus();
29507
- init_useTranslate();
29508
28947
  UploadDropZone = ({
29509
28948
  accept,
29510
28949
  maxSize,
@@ -29517,7 +28956,7 @@ var init_UploadDropZone = __esm({
29517
28956
  onFiles,
29518
28957
  className
29519
28958
  }) => {
29520
- const { t } = useTranslate();
28959
+ const { t } = hooks.useTranslate();
29521
28960
  const resolvedLabel = label ?? t("upload.dropOrBrowse");
29522
28961
  const [isDragOver, setIsDragOver] = React85.useState(false);
29523
28962
  const [error, setError] = React85.useState(null);
@@ -29671,7 +29110,6 @@ var init_Lightbox = __esm({
29671
29110
  init_Icon();
29672
29111
  init_cn();
29673
29112
  init_useEventBus();
29674
- init_useTranslate();
29675
29113
  Lightbox = ({
29676
29114
  images = [],
29677
29115
  currentIndex = 0,
@@ -29686,7 +29124,7 @@ var init_Lightbox = __esm({
29686
29124
  const [index, setIndex] = React85.useState(currentIndex);
29687
29125
  const [touchStartX, setTouchStartX] = React85.useState(null);
29688
29126
  const eventBus = useSafeEventBus8();
29689
- const { t } = useTranslate();
29127
+ const { t } = hooks.useTranslate();
29690
29128
  React85.useEffect(() => {
29691
29129
  setIndex(currentIndex);
29692
29130
  }, [currentIndex]);
@@ -29924,7 +29362,7 @@ function TableView({
29924
29362
  dndRoot
29925
29363
  }) {
29926
29364
  const eventBus = useEventBus();
29927
- const { t } = useTranslate();
29365
+ const { t } = hooks.useTranslate();
29928
29366
  const [visibleCount, setVisibleCount] = React85__namespace.default.useState(pageSize > 0 ? pageSize : Infinity);
29929
29367
  const [localSelected, setLocalSelected] = React85__namespace.default.useState(/* @__PURE__ */ new Set());
29930
29368
  const colDefs = columns ?? fields ?? [];
@@ -30156,7 +29594,6 @@ var init_TableView = __esm({
30156
29594
  init_cn();
30157
29595
  init_getNestedValue();
30158
29596
  init_useEventBus();
30159
- init_useTranslate();
30160
29597
  init_Box();
30161
29598
  init_Stack();
30162
29599
  init_Typography();
@@ -30360,7 +29797,6 @@ var init_Meter = __esm({
30360
29797
  init_LoadingState();
30361
29798
  init_ErrorState();
30362
29799
  init_useEventBus();
30363
- init_useTranslate();
30364
29800
  DEFAULT_THRESHOLDS = [
30365
29801
  { value: 30, color: "var(--color-error)" },
30366
29802
  { value: 70, color: "var(--color-warning)" },
@@ -30388,7 +29824,7 @@ var init_Meter = __esm({
30388
29824
  className
30389
29825
  }) => {
30390
29826
  const eventBus = useEventBus();
30391
- const { t } = useTranslate();
29827
+ const { t } = hooks.useTranslate();
30392
29828
  const handleAction = React85.useCallback(
30393
29829
  (action) => {
30394
29830
  if (action.event) {
@@ -32307,7 +31743,6 @@ var init_VoteStack = __esm({
32307
31743
  init_cn();
32308
31744
  init_Icon();
32309
31745
  init_useEventBus();
32310
- init_useTranslate();
32311
31746
  sizeStyles12 = {
32312
31747
  sm: {
32313
31748
  button: "w-7 h-7",
@@ -32340,7 +31775,7 @@ var init_VoteStack = __esm({
32340
31775
  const isUp = userVote === "up";
32341
31776
  const isDown = userVote === "down";
32342
31777
  const eventBus = useEventBus();
32343
- const { t } = useTranslate();
31778
+ const { t } = hooks.useTranslate();
32344
31779
  const handleUp = React85.useCallback(() => {
32345
31780
  const next = isUp ? null : "up";
32346
31781
  onVote?.(next);
@@ -32762,7 +32197,6 @@ var init_QrScanner = __esm({
32762
32197
  init_atoms2();
32763
32198
  init_Icon();
32764
32199
  init_useEventBus();
32765
- init_useTranslate();
32766
32200
  QrScanner = ({
32767
32201
  onScan,
32768
32202
  scanEvent,
@@ -32775,7 +32209,7 @@ var init_QrScanner = __esm({
32775
32209
  className
32776
32210
  }) => {
32777
32211
  const eventBus = useEventBus();
32778
- const { t } = useTranslate();
32212
+ const { t } = hooks.useTranslate();
32779
32213
  const videoRef = React85.useRef(null);
32780
32214
  const streamRef = React85.useRef(null);
32781
32215
  const scanIntervalRef = React85.useRef(null);
@@ -32989,7 +32423,6 @@ var init_OptionConstraintGroup = __esm({
32989
32423
  "components/core/molecules/OptionConstraintGroup.tsx"() {
32990
32424
  init_cn();
32991
32425
  init_useEventBus();
32992
- init_useTranslate();
32993
32426
  init_Typography();
32994
32427
  init_Box();
32995
32428
  init_Label();
@@ -33045,7 +32478,7 @@ var init_OptionConstraintGroup = __esm({
33045
32478
  className
33046
32479
  }) => {
33047
32480
  const eventBus = useEventBus();
33048
- const { t } = useTranslate();
32481
+ const { t } = hooks.useTranslate();
33049
32482
  const hint = constraintHint(constraint, t);
33050
32483
  const error = validateSelection(selected, constraint, t);
33051
32484
  const inputName = `option-${groupId}`;
@@ -33469,7 +32902,7 @@ function changeBlockType(block, type) {
33469
32902
  return { id: block.id, type, content: seed };
33470
32903
  }
33471
32904
  function BlockMenu({ block, readOnly, onDelete, onDuplicate, onChangeType }) {
33472
- const { t } = useTranslate();
32905
+ const { t } = hooks.useTranslate();
33473
32906
  const [open, setOpen] = React85.useState(false);
33474
32907
  const ref = React85.useRef(null);
33475
32908
  React85.useEffect(() => {
@@ -33626,7 +33059,7 @@ function BlockRow({
33626
33059
  onInsertAfter,
33627
33060
  onChangeType
33628
33061
  }) {
33629
- const { t } = useTranslate();
33062
+ const { t } = hooks.useTranslate();
33630
33063
  const setContent = React85.useCallback(
33631
33064
  (next) => onUpdate((b) => ({ ...b, content: next })),
33632
33065
  [onUpdate]
@@ -33945,7 +33378,6 @@ var init_RichBlockEditor = __esm({
33945
33378
  init_Input();
33946
33379
  init_Icon();
33947
33380
  init_useEventBus();
33948
- init_useTranslate();
33949
33381
  TOOLBAR_ENTRIES = [
33950
33382
  { type: "paragraph", labelKey: "richBlockEditor.toolbar.text", icon: LucideIcons2.Type },
33951
33383
  { type: "heading-1", labelKey: "richBlockEditor.toolbar.h1", icon: LucideIcons2.Heading1 },
@@ -34002,7 +33434,7 @@ var init_RichBlockEditor = __esm({
34002
33434
  showToolbar = true,
34003
33435
  className
34004
33436
  }) => {
34005
- const { t } = useTranslate();
33437
+ const { t } = hooks.useTranslate();
34006
33438
  const [blocks, setBlocks] = React85.useState(
34007
33439
  () => normalizeBlocks(initialBlocks)
34008
33440
  );
@@ -34136,7 +33568,6 @@ var init_ReplyTree = __esm({
34136
33568
  "use client";
34137
33569
  init_cn();
34138
33570
  init_useEventBus();
34139
- init_useTranslate();
34140
33571
  init_atoms2();
34141
33572
  init_VoteStack();
34142
33573
  ReplyTreeNode = ({
@@ -34156,7 +33587,7 @@ var init_ReplyTree = __esm({
34156
33587
  showActions
34157
33588
  }) => {
34158
33589
  const eventBus = useEventBus();
34159
- const { t } = useTranslate();
33590
+ const { t } = hooks.useTranslate();
34160
33591
  const hasReplies = !!node.replies && node.replies.length > 0;
34161
33592
  const isCollapsed = collapsedSet.has(node.id);
34162
33593
  const atMaxDepth = depth >= maxDepth;
@@ -34347,7 +33778,7 @@ var init_ReplyTree = __esm({
34347
33778
  showActions = true,
34348
33779
  className
34349
33780
  }) => {
34350
- const { t } = useTranslate();
33781
+ const { t } = hooks.useTranslate();
34351
33782
  const nodeList = Array.isArray(nodes) ? nodes : nodes ? [nodes] : [];
34352
33783
  const [collapsedSet, setCollapsedSet] = React85.useState(() => {
34353
33784
  const acc = /* @__PURE__ */ new Set();
@@ -34444,7 +33875,6 @@ var init_VersionDiff = __esm({
34444
33875
  "use client";
34445
33876
  init_cn();
34446
33877
  init_useEventBus();
34447
- init_useTranslate();
34448
33878
  init_atoms2();
34449
33879
  init_Stack();
34450
33880
  INLINE_STYLES = {
@@ -34467,7 +33897,7 @@ var init_VersionDiff = __esm({
34467
33897
  language,
34468
33898
  className
34469
33899
  }) => {
34470
- const { t } = useTranslate();
33900
+ const { t } = hooks.useTranslate();
34471
33901
  const eventBus = useEventBus();
34472
33902
  const revisions = Array.isArray(revisionsProp) ? revisionsProp : [];
34473
33903
  const fallbackBefore = revisions[0]?.id ?? "";
@@ -34760,12 +34190,11 @@ var init_DocBreadcrumb = __esm({
34760
34190
  init_Stack();
34761
34191
  init_Typography();
34762
34192
  init_Icon();
34763
- init_useTranslate();
34764
34193
  DocBreadcrumb = ({
34765
34194
  items,
34766
34195
  className
34767
34196
  }) => {
34768
- const { t } = useTranslate();
34197
+ const { t } = hooks.useTranslate();
34769
34198
  return /* @__PURE__ */ jsxRuntime.jsx(
34770
34199
  Box,
34771
34200
  {
@@ -35016,7 +34445,7 @@ function DocSearch({
35016
34445
  onSearch,
35017
34446
  className
35018
34447
  }) {
35019
- const { t } = useTranslate();
34448
+ const { t } = hooks.useTranslate();
35020
34449
  const resolvedPlaceholder = placeholder ?? t("docSearch.placeholder");
35021
34450
  const [query, setQuery] = React85.useState("");
35022
34451
  const [results, setResults] = React85.useState([]);
@@ -35189,7 +34618,6 @@ var init_DocSearch = __esm({
35189
34618
  init_Typography();
35190
34619
  init_Icon();
35191
34620
  init_Input();
35192
- init_useTranslate();
35193
34621
  }
35194
34622
  });
35195
34623
  var DocSidebarCategory, DocSidebar;
@@ -35202,7 +34630,6 @@ var init_DocSidebar = __esm({
35202
34630
  init_Stack();
35203
34631
  init_Typography();
35204
34632
  init_Icon();
35205
- init_useTranslate();
35206
34633
  DocSidebarCategory = ({ item, depth }) => {
35207
34634
  const [expanded, setExpanded] = React85.useState(
35208
34635
  () => item.items?.some(function hasActive(child) {
@@ -35287,7 +34714,7 @@ var init_DocSidebar = __esm({
35287
34714
  items,
35288
34715
  className
35289
34716
  }) => {
35290
- const { t } = useTranslate();
34717
+ const { t } = hooks.useTranslate();
35291
34718
  return /* @__PURE__ */ jsxRuntime.jsx(
35292
34719
  Box,
35293
34720
  {
@@ -35309,13 +34736,12 @@ var init_DocTOC = __esm({
35309
34736
  init_Box();
35310
34737
  init_Stack();
35311
34738
  init_Typography();
35312
- init_useTranslate();
35313
34739
  DocTOC = ({
35314
34740
  items,
35315
34741
  activeId,
35316
34742
  className
35317
34743
  }) => {
35318
- const { t } = useTranslate();
34744
+ const { t } = hooks.useTranslate();
35319
34745
  return /* @__PURE__ */ jsxRuntime.jsx(
35320
34746
  Box,
35321
34747
  {
@@ -36044,7 +35470,6 @@ var init_Header = __esm({
36044
35470
  init_Stack();
36045
35471
  init_Typography();
36046
35472
  init_cn();
36047
- init_useTranslate();
36048
35473
  lookStyles8 = {
36049
35474
  "compact-bar": "",
36050
35475
  hero: "py-section min-h-[200px] [&_h1]:text-display-1",
@@ -36073,7 +35498,7 @@ var init_Header = __esm({
36073
35498
  onLogoClick,
36074
35499
  className
36075
35500
  }) => {
36076
- const { t } = useTranslate();
35501
+ const { t } = hooks.useTranslate();
36077
35502
  const resolvedSearchPlaceholder = searchPlaceholder ?? t("common.search");
36078
35503
  const userInitials = userAvatar?.initials || userName?.[0]?.toUpperCase() || "U";
36079
35504
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -36364,7 +35789,6 @@ var init_Sidebar = __esm({
36364
35789
  init_Typography();
36365
35790
  init_cn();
36366
35791
  init_useEventBus();
36367
- init_useTranslate();
36368
35792
  SidebarNavItem = ({ item, collapsed }) => {
36369
35793
  const Icon3 = item.icon;
36370
35794
  const isActive = item.active ?? item.isActive;
@@ -36428,7 +35852,7 @@ var init_Sidebar = __esm({
36428
35852
  className
36429
35853
  }) => {
36430
35854
  const { emit } = useEventBus();
36431
- const { t } = useTranslate();
35855
+ const { t } = hooks.useTranslate();
36432
35856
  const [internalCollapsed, setInternalCollapsed] = React85.useState(defaultCollapsed);
36433
35857
  const collapsed = controlledCollapsed !== void 0 ? controlledCollapsed : internalCollapsed;
36434
35858
  const handleToggle = React85.useCallback(() => {
@@ -36618,7 +36042,6 @@ var init_WizardContainer = __esm({
36618
36042
  init_Stack();
36619
36043
  init_Icon();
36620
36044
  init_cn();
36621
- init_useTranslate();
36622
36045
  WizardContainer = ({
36623
36046
  steps,
36624
36047
  currentStep: controlledStep,
@@ -36631,7 +36054,7 @@ var init_WizardContainer = __esm({
36631
36054
  entity: _entity
36632
36055
  // Accept but don't use directly yet
36633
36056
  }) => {
36634
- const { t } = useTranslate();
36057
+ const { t } = hooks.useTranslate();
36635
36058
  const [internalStep, setInternalStep] = React85.useState(0);
36636
36059
  const normalizedControlledStep = (() => {
36637
36060
  if (controlledStep === void 0 || controlledStep === null)
@@ -37192,7 +36615,6 @@ var init_SignaturePad = __esm({
37192
36615
  init_LoadingState();
37193
36616
  init_ErrorState();
37194
36617
  init_useEventBus();
37195
- init_useTranslate();
37196
36618
  SignaturePad = ({
37197
36619
  label,
37198
36620
  helperText,
@@ -37210,7 +36632,7 @@ var init_SignaturePad = __esm({
37210
36632
  className
37211
36633
  }) => {
37212
36634
  const eventBus = useEventBus();
37213
- const { t } = useTranslate();
36635
+ const { t } = hooks.useTranslate();
37214
36636
  const resolvedLabel = label ?? t("signaturePad.label");
37215
36637
  const resolvedHelperText = helperText ?? t("signaturePad.helperText");
37216
36638
  const canvasRef = React85.useRef(null);
@@ -37386,7 +36808,6 @@ var init_DocumentViewer = __esm({
37386
36808
  init_EmptyState();
37387
36809
  init_Tabs();
37388
36810
  init_useEventBus();
37389
- init_useTranslate();
37390
36811
  DocumentViewer = ({
37391
36812
  title,
37392
36813
  src,
@@ -37406,7 +36827,7 @@ var init_DocumentViewer = __esm({
37406
36827
  className
37407
36828
  }) => {
37408
36829
  const eventBus = useEventBus();
37409
- const { t } = useTranslate();
36830
+ const { t } = hooks.useTranslate();
37410
36831
  const [zoom, setZoom] = React85.useState(100);
37411
36832
  const [currentPage, setCurrentPage] = React85.useState(propPage ?? 1);
37412
36833
  const [activeDocIndex, setActiveDocIndex] = React85.useState(0);
@@ -37591,7 +37012,6 @@ var init_GraphCanvas = __esm({
37591
37012
  init_ErrorState();
37592
37013
  init_EmptyState();
37593
37014
  init_useEventBus();
37594
- init_useTranslate();
37595
37015
  GROUP_COLORS2 = [
37596
37016
  "var(--color-primary)",
37597
37017
  "var(--color-success)",
@@ -37618,7 +37038,7 @@ var init_GraphCanvas = __esm({
37618
37038
  className
37619
37039
  }) => {
37620
37040
  const eventBus = useEventBus();
37621
- const { t } = useTranslate();
37041
+ const { t } = hooks.useTranslate();
37622
37042
  const canvasRef = React85.useRef(null);
37623
37043
  const animRef = React85.useRef(0);
37624
37044
  const [zoom, setZoom] = React85.useState(1);
@@ -37968,7 +37388,7 @@ function DataTable({
37968
37388
  null
37969
37389
  );
37970
37390
  const eventBus = useEventBus();
37971
- const { t } = useTranslate();
37391
+ const { t } = hooks.useTranslate();
37972
37392
  const resolvedEmptyTitle = emptyTitle ?? t("table.empty.title");
37973
37393
  const resolvedEmptyDescription = emptyDescription ?? t("table.empty.description");
37974
37394
  const resolvedSearchPlaceholder = searchPlaceholder ?? t("common.search");
@@ -38329,7 +37749,6 @@ var init_DataTable = __esm({
38329
37749
  init_molecules2();
38330
37750
  init_Icon();
38331
37751
  init_useEventBus();
38332
- init_useTranslate();
38333
37752
  init_types3();
38334
37753
  lookStyles9 = {
38335
37754
  dense: "",
@@ -38347,7 +37766,7 @@ function DebuggerBoard({
38347
37766
  className
38348
37767
  }) {
38349
37768
  const { emit } = useEventBus();
38350
- const { t } = useTranslate();
37769
+ const { t } = hooks.useTranslate();
38351
37770
  const resolved = Array.isArray(entity) ? entity[0] : entity;
38352
37771
  const [flaggedLines, setFlaggedLines] = React85.useState(/* @__PURE__ */ new Set());
38353
37772
  const [headerError, setHeaderError] = React85.useState(false);
@@ -38476,7 +37895,6 @@ var init_DebuggerBoard = __esm({
38476
37895
  "components/game/organisms/puzzles/debugger/DebuggerBoard.tsx"() {
38477
37896
  init_atoms2();
38478
37897
  init_useEventBus();
38479
- init_useTranslate();
38480
37898
  DebuggerBoard.displayName = "DebuggerBoard";
38481
37899
  }
38482
37900
  });
@@ -38647,7 +38065,6 @@ var init_DetailPanel = __esm({
38647
38065
  init_cn();
38648
38066
  init_getNestedValue();
38649
38067
  init_useEventBus();
38650
- init_useTranslate();
38651
38068
  ReactMarkdown2 = React85.lazy(() => import('react-markdown'));
38652
38069
  DetailPanel = ({
38653
38070
  title: propTitle,
@@ -38667,7 +38084,7 @@ var init_DetailPanel = __esm({
38667
38084
  error
38668
38085
  }) => {
38669
38086
  const eventBus = useEventBus();
38670
- const { t } = useTranslate();
38087
+ const { t } = hooks.useTranslate();
38671
38088
  const isFieldDefArray = (arr) => {
38672
38089
  if (!arr || arr.length === 0) return false;
38673
38090
  const first = arr[0];
@@ -39065,7 +38482,7 @@ function CompactView({
39065
38482
  stateStyles,
39066
38483
  className
39067
38484
  }) {
39068
- const { t } = useTranslate();
38485
+ const { t } = hooks.useTranslate();
39069
38486
  const config = SIZE_CONFIG2[size || "md"];
39070
38487
  const currentTransitions = trait.transitions.filter((t2) => t2.from === trait.currentState);
39071
38488
  return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { className: cn("p-3 rounded-container bg-card border border-border", className), gap: "sm", children: [
@@ -39101,7 +38518,7 @@ function FullView({
39101
38518
  stateStyles,
39102
38519
  className
39103
38520
  }) {
39104
- const { t } = useTranslate();
38521
+ const { t } = hooks.useTranslate();
39105
38522
  const config = SIZE_CONFIG2[size || "md"];
39106
38523
  const currentTransitions = trait.transitions.filter((t2) => t2.from === trait.currentState);
39107
38524
  return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { className: cn("p-3 rounded-container bg-card border border-border", className), gap: "sm", children: [
@@ -39226,7 +38643,6 @@ var init_TraitStateViewer = __esm({
39226
38643
  "components/game/organisms/TraitStateViewer.tsx"() {
39227
38644
  "use client";
39228
38645
  init_cn();
39229
- init_useTranslate();
39230
38646
  init_Box();
39231
38647
  init_Typography();
39232
38648
  init_Stack();
@@ -39248,7 +38664,7 @@ function RuleEditor({
39248
38664
  disabled = false,
39249
38665
  className
39250
38666
  }) {
39251
- const { t } = useTranslate();
38667
+ const { t } = hooks.useTranslate();
39252
38668
  const handleWhenChange = React85.useCallback((e) => {
39253
38669
  onChange({ ...rule, whenEvent: e.target.value });
39254
38670
  }, [rule, onChange]);
@@ -39285,7 +38701,6 @@ var init_RuleEditor = __esm({
39285
38701
  "components/game/organisms/puzzles/event-handler/RuleEditor.tsx"() {
39286
38702
  init_atoms2();
39287
38703
  init_cn();
39288
- init_useTranslate();
39289
38704
  RuleEditor.displayName = "RuleEditor";
39290
38705
  }
39291
38706
  });
@@ -39295,7 +38710,7 @@ function ObjectRulePanel({
39295
38710
  disabled = false,
39296
38711
  className
39297
38712
  }) {
39298
- const { t } = useTranslate();
38713
+ const { t } = hooks.useTranslate();
39299
38714
  const maxRules = object.maxRules || 3;
39300
38715
  const canAdd = object.rules.length < maxRules;
39301
38716
  const handleRuleChange = React85.useCallback((index, updatedRule) => {
@@ -39360,7 +38775,6 @@ var init_ObjectRulePanel = __esm({
39360
38775
  "components/game/organisms/puzzles/event-handler/ObjectRulePanel.tsx"() {
39361
38776
  init_atoms2();
39362
38777
  init_cn();
39363
- init_useTranslate();
39364
38778
  init_TraitStateViewer();
39365
38779
  init_RuleEditor();
39366
38780
  nextRuleId = 1;
@@ -39373,7 +38787,7 @@ function EventLog({
39373
38787
  label,
39374
38788
  className
39375
38789
  }) {
39376
- const { t } = useTranslate();
38790
+ const { t } = hooks.useTranslate();
39377
38791
  const scrollRef = React85.useRef(null);
39378
38792
  React85.useEffect(() => {
39379
38793
  if (scrollRef.current) {
@@ -39405,7 +38819,6 @@ var init_EventLog = __esm({
39405
38819
  "components/game/organisms/puzzles/event-handler/EventLog.tsx"() {
39406
38820
  init_atoms2();
39407
38821
  init_cn();
39408
- init_useTranslate();
39409
38822
  STATUS_STYLES = {
39410
38823
  pending: "text-muted-foreground",
39411
38824
  active: "text-primary animate-pulse",
@@ -39429,7 +38842,7 @@ function EventHandlerBoard({
39429
38842
  className
39430
38843
  }) {
39431
38844
  const { emit } = useEventBus();
39432
- const { t } = useTranslate();
38845
+ const { t } = hooks.useTranslate();
39433
38846
  const resolved = Array.isArray(entity) ? entity[0] : entity;
39434
38847
  const entityObjects = resolved?.objects ?? [];
39435
38848
  const [objects, setObjects] = React85.useState(entityObjects);
@@ -39619,7 +39032,6 @@ var init_EventHandlerBoard = __esm({
39619
39032
  init_atoms2();
39620
39033
  init_cn();
39621
39034
  init_useEventBus();
39622
- init_useTranslate();
39623
39035
  init_TraitStateViewer();
39624
39036
  init_ObjectRulePanel();
39625
39037
  init_EventLog();
@@ -39689,7 +39101,6 @@ var init_FeatureGridOrganism = __esm({
39689
39101
  "use client";
39690
39102
  init_cn();
39691
39103
  init_useEventBus();
39692
- init_useTranslate();
39693
39104
  init_Stack();
39694
39105
  init_Typography();
39695
39106
  init_FeatureGrid();
@@ -39705,7 +39116,7 @@ var init_FeatureGridOrganism = __esm({
39705
39116
  subtitle
39706
39117
  }) => {
39707
39118
  const eventBus = useEventBus();
39708
- const { t } = useTranslate();
39119
+ const { t } = hooks.useTranslate();
39709
39120
  const items = React85.useMemo(
39710
39121
  () => Array.isArray(entity) ? entity : entity && typeof entity === "object" ? [entity] : [],
39711
39122
  [entity]
@@ -39872,7 +39283,6 @@ var init_Form = __esm({
39872
39283
  init_RelationSelect();
39873
39284
  init_Alert();
39874
39285
  init_useEventBus();
39875
- init_useTranslate();
39876
39286
  init_debug();
39877
39287
  layoutStyles = {
39878
39288
  vertical: "flex flex-col",
@@ -39923,7 +39333,7 @@ var init_Form = __esm({
39923
39333
  ...props
39924
39334
  }) => {
39925
39335
  const eventBus = useEventBus();
39926
- const { t } = useTranslate();
39336
+ const { t } = hooks.useTranslate();
39927
39337
  const resolvedSubmitLabel = submitLabel ?? t("common.save");
39928
39338
  const resolvedCancelLabel = cancelLabel ?? t("common.cancel");
39929
39339
  const isSchemaEntity = isOrbitalEntitySchema(entity);
@@ -41032,7 +40442,6 @@ var init_HeroOrganism = __esm({
41032
40442
  "use client";
41033
40443
  init_cn();
41034
40444
  init_useEventBus();
41035
- init_useTranslate();
41036
40445
  init_HeroSection();
41037
40446
  init_LoadingState();
41038
40447
  init_ErrorState();
@@ -41044,7 +40453,7 @@ var init_HeroOrganism = __esm({
41044
40453
  children
41045
40454
  }) => {
41046
40455
  const eventBus = useEventBus();
41047
- const { t } = useTranslate();
40456
+ const { t } = hooks.useTranslate();
41048
40457
  const resolved = React85.useMemo(
41049
40458
  () => Array.isArray(entity) ? entity[0] : entity && typeof entity === "object" ? entity : void 0,
41050
40459
  [entity]
@@ -41138,7 +40547,6 @@ var LandingPageTemplate;
41138
40547
  var init_LandingPageTemplate = __esm({
41139
40548
  "components/marketing/templates/LandingPageTemplate.tsx"() {
41140
40549
  init_cn();
41141
- init_useTranslate();
41142
40550
  init_Stack();
41143
40551
  init_Box();
41144
40552
  init_Container();
@@ -41156,7 +40564,7 @@ var init_LandingPageTemplate = __esm({
41156
40564
  featureColumns = 3,
41157
40565
  className
41158
40566
  }) => {
41159
- const { t } = useTranslate();
40567
+ const { t } = hooks.useTranslate();
41160
40568
  const resolved = entity && typeof entity === "object" && !Array.isArray(entity) ? entity : void 0;
41161
40569
  if (!resolved) return null;
41162
40570
  return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "none", className: cn("w-full", className), children: [
@@ -41338,7 +40746,6 @@ var init_List = __esm({
41338
40746
  init_cn();
41339
40747
  init_getNestedValue();
41340
40748
  init_useEventBus();
41341
- init_useTranslate();
41342
40749
  init_types3();
41343
40750
  STATUS_STYLES2 = {
41344
40751
  complete: {
@@ -41463,7 +40870,7 @@ var init_List = __esm({
41463
40870
  entityType
41464
40871
  }) => {
41465
40872
  const eventBus = useEventBus();
41466
- const { t } = useTranslate();
40873
+ const { t } = hooks.useTranslate();
41467
40874
  const resolvedEmptyMessage = emptyMessage ?? t("empty.noData");
41468
40875
  const effectiveFieldNames = normalizeFields2(fields).length > 0 ? normalizeFields2(fields) : fieldNames;
41469
40876
  const rawItems = React85.useMemo(() => {
@@ -41810,7 +41217,7 @@ function MasterDetail({
41810
41217
  className,
41811
41218
  ...rest
41812
41219
  }) {
41813
- const { t } = useTranslate();
41220
+ const { t } = hooks.useTranslate();
41814
41221
  const loading = externalLoading ?? false;
41815
41222
  const isLoading = externalIsLoading ?? false;
41816
41223
  const error = externalError ?? null;
@@ -41833,7 +41240,6 @@ var init_MasterDetail = __esm({
41833
41240
  "components/core/organisms/MasterDetail.tsx"() {
41834
41241
  "use client";
41835
41242
  init_DataTable();
41836
- init_useTranslate();
41837
41243
  MasterDetail.displayName = "MasterDetail";
41838
41244
  }
41839
41245
  });
@@ -41842,9 +41248,8 @@ var init_MasterDetailLayout = __esm({
41842
41248
  "components/core/organisms/layout/MasterDetailLayout.tsx"() {
41843
41249
  init_cn();
41844
41250
  init_Typography();
41845
- init_useTranslate();
41846
41251
  DefaultEmptyDetail = () => {
41847
- const { t } = useTranslate();
41252
+ const { t } = hooks.useTranslate();
41848
41253
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center h-full border-2 border-dashed border-border", children: /* @__PURE__ */ jsxRuntime.jsx(
41849
41254
  Typography,
41850
41255
  {
@@ -41903,7 +41308,6 @@ var init_MediaGallery = __esm({
41903
41308
  init_ErrorState();
41904
41309
  init_EmptyState();
41905
41310
  init_useEventBus();
41906
- init_useTranslate();
41907
41311
  COLUMN_CLASSES = {
41908
41312
  2: "grid-cols-2",
41909
41313
  3: "grid-cols-2 sm:grid-cols-3",
@@ -41932,7 +41336,7 @@ var init_MediaGallery = __esm({
41932
41336
  className
41933
41337
  }) => {
41934
41338
  const eventBus = useEventBus();
41935
- const { t } = useTranslate();
41339
+ const { t } = hooks.useTranslate();
41936
41340
  const [lightboxItem, setLightboxItem] = React85.useState(null);
41937
41341
  const closeLightbox = React85.useCallback(() => setLightboxItem(null), []);
41938
41342
  useEventListener("UI:LIGHTBOX_CLOSE", closeLightbox);
@@ -42174,7 +41578,7 @@ function NegotiatorBoard({
42174
41578
  className
42175
41579
  }) {
42176
41580
  const { emit } = useEventBus();
42177
- const { t } = useTranslate();
41581
+ const { t } = hooks.useTranslate();
42178
41582
  const resolved = Array.isArray(entity) ? entity[0] : entity;
42179
41583
  const [history, setHistory] = React85.useState([]);
42180
41584
  const [headerError, setHeaderError] = React85.useState(false);
@@ -42304,7 +41708,6 @@ var init_NegotiatorBoard = __esm({
42304
41708
  "components/game/organisms/puzzles/negotiator/NegotiatorBoard.tsx"() {
42305
41709
  init_atoms2();
42306
41710
  init_useEventBus();
42307
- init_useTranslate();
42308
41711
  NegotiatorBoard.displayName = "NegotiatorBoard";
42309
41712
  }
42310
41713
  });
@@ -42314,7 +41717,6 @@ var init_PricingOrganism = __esm({
42314
41717
  "use client";
42315
41718
  init_cn();
42316
41719
  init_useEventBus();
42317
- init_useTranslate();
42318
41720
  init_Stack();
42319
41721
  init_Typography();
42320
41722
  init_PricingGrid();
@@ -42329,7 +41731,7 @@ var init_PricingOrganism = __esm({
42329
41731
  subtitle
42330
41732
  }) => {
42331
41733
  useEventBus();
42332
- const { t } = useTranslate();
41734
+ const { t } = hooks.useTranslate();
42333
41735
  const items = React85.useMemo(
42334
41736
  () => Array.isArray(entity) ? entity : entity && typeof entity === "object" ? [entity] : [],
42335
41737
  [entity]
@@ -42364,7 +41766,6 @@ var PricingPageTemplate;
42364
41766
  var init_PricingPageTemplate = __esm({
42365
41767
  "components/marketing/templates/PricingPageTemplate.tsx"() {
42366
41768
  init_cn();
42367
- init_useTranslate();
42368
41769
  init_Stack();
42369
41770
  init_Box();
42370
41771
  init_Container();
@@ -42377,7 +41778,7 @@ var init_PricingPageTemplate = __esm({
42377
41778
  entity,
42378
41779
  className
42379
41780
  }) => {
42380
- const { t } = useTranslate();
41781
+ const { t } = hooks.useTranslate();
42381
41782
  const resolved = entity && typeof entity === "object" && !Array.isArray(entity) ? entity : void 0;
42382
41783
  if (!resolved) return null;
42383
41784
  return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "none", className: cn("w-full", className), children: [
@@ -42860,7 +42261,7 @@ var init_WalkMinimap = __esm({
42860
42261
  }
42861
42262
  });
42862
42263
  function TraitsTab({ traits: traits2 }) {
42863
- const { t } = useTranslate();
42264
+ const { t } = hooks.useTranslate();
42864
42265
  if (traits2.length === 0) {
42865
42266
  return /* @__PURE__ */ jsxRuntime.jsx(
42866
42267
  EmptyState,
@@ -42928,12 +42329,11 @@ var init_TraitsTab = __esm({
42928
42329
  init_Typography();
42929
42330
  init_Stack();
42930
42331
  init_EmptyState();
42931
- init_useTranslate();
42932
42332
  TraitsTab.displayName = "TraitsTab";
42933
42333
  }
42934
42334
  });
42935
42335
  function TicksTab({ ticks: ticks2 }) {
42936
- const { t } = useTranslate();
42336
+ const { t } = hooks.useTranslate();
42937
42337
  const activeTicks = ticks2.filter((t2) => t2.active);
42938
42338
  const inactiveTicks = ticks2.filter((t2) => !t2.active);
42939
42339
  if (ticks2.length === 0) {
@@ -43006,12 +42406,11 @@ var init_TicksTab = __esm({
43006
42406
  init_Stack();
43007
42407
  init_Card();
43008
42408
  init_EmptyState();
43009
- init_useTranslate();
43010
42409
  TicksTab.displayName = "TicksTab";
43011
42410
  }
43012
42411
  });
43013
42412
  function EntitiesTab({ snapshot }) {
43014
- const { t } = useTranslate();
42413
+ const { t } = hooks.useTranslate();
43015
42414
  if (!snapshot) {
43016
42415
  return /* @__PURE__ */ jsxRuntime.jsx(
43017
42416
  EmptyState,
@@ -43080,12 +42479,11 @@ var init_EntitiesTab = __esm({
43080
42479
  init_Typography();
43081
42480
  init_Stack();
43082
42481
  init_EmptyState();
43083
- init_useTranslate();
43084
42482
  EntitiesTab.displayName = "EntitiesTab";
43085
42483
  }
43086
42484
  });
43087
42485
  function EventFlowTab({ events: events2 }) {
43088
- const { t } = useTranslate();
42486
+ const { t } = hooks.useTranslate();
43089
42487
  const [filter, setFilter] = React85__namespace.useState("all");
43090
42488
  const containerRef = React85__namespace.useRef(null);
43091
42489
  const [autoScroll, setAutoScroll] = React85__namespace.useState(true);
@@ -43197,7 +42595,6 @@ var init_EventFlowTab = __esm({
43197
42595
  init_Button();
43198
42596
  init_Checkbox();
43199
42597
  init_EmptyState();
43200
- init_useTranslate();
43201
42598
  TYPE_BADGES = {
43202
42599
  trait: { variant: "primary", icon: "\u{1F504}" },
43203
42600
  tick: { variant: "warning", icon: "\u23F1\uFE0F" },
@@ -43210,7 +42607,7 @@ var init_EventFlowTab = __esm({
43210
42607
  }
43211
42608
  });
43212
42609
  function GuardsPanel({ guards }) {
43213
- const { t } = useTranslate();
42610
+ const { t } = hooks.useTranslate();
43214
42611
  const [filter, setFilter] = React85__namespace.useState("all");
43215
42612
  if (guards.length === 0) {
43216
42613
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -43292,12 +42689,11 @@ var init_GuardsPanel = __esm({
43292
42689
  init_ButtonGroup();
43293
42690
  init_Button();
43294
42691
  init_EmptyState();
43295
- init_useTranslate();
43296
42692
  GuardsPanel.displayName = "GuardsPanel";
43297
42693
  }
43298
42694
  });
43299
42695
  function VerificationTab({ checks, summary }) {
43300
- const { t } = useTranslate();
42696
+ const { t } = hooks.useTranslate();
43301
42697
  if (checks.length === 0) {
43302
42698
  return /* @__PURE__ */ jsxRuntime.jsx(
43303
42699
  EmptyState,
@@ -43368,7 +42764,6 @@ var init_VerificationTab = __esm({
43368
42764
  init_Typography();
43369
42765
  init_Stack();
43370
42766
  init_EmptyState();
43371
- init_useTranslate();
43372
42767
  STATUS_CONFIG = {
43373
42768
  pass: { variant: "success", icon: "\u2713", label: "PASS" },
43374
42769
  fail: { variant: "danger", icon: "\u2717", label: "FAIL" },
@@ -43388,7 +42783,7 @@ function EffectBadge({ effect }) {
43388
42783
  ] });
43389
42784
  }
43390
42785
  function TransitionTimeline({ transitions }) {
43391
- const { t } = useTranslate();
42786
+ const { t } = hooks.useTranslate();
43392
42787
  const containerRef = React85__namespace.useRef(null);
43393
42788
  const [autoScroll, setAutoScroll] = React85__namespace.useState(true);
43394
42789
  const [expandedId, setExpandedId] = React85__namespace.useState(null);
@@ -43504,7 +42899,6 @@ var init_TransitionTimeline = __esm({
43504
42899
  init_Typography();
43505
42900
  init_EmptyState();
43506
42901
  init_Checkbox();
43507
- init_useTranslate();
43508
42902
  EFFECT_STATUS_VARIANT = {
43509
42903
  executed: "success",
43510
42904
  failed: "danger",
@@ -43520,7 +42914,7 @@ function StatRow({ label, value, variant }) {
43520
42914
  ] });
43521
42915
  }
43522
42916
  function ServerBridgeTab({ bridge }) {
43523
- const { t } = useTranslate();
42917
+ const { t } = hooks.useTranslate();
43524
42918
  if (!bridge) {
43525
42919
  return /* @__PURE__ */ jsxRuntime.jsx(
43526
42920
  EmptyState,
@@ -43594,7 +42988,6 @@ var init_ServerBridgeTab = __esm({
43594
42988
  init_Stack();
43595
42989
  init_Card();
43596
42990
  init_EmptyState();
43597
- init_useTranslate();
43598
42991
  ServerBridgeTab.displayName = "ServerBridgeTab";
43599
42992
  }
43600
42993
  });
@@ -43673,7 +43066,7 @@ function getAllEvents(traits2) {
43673
43066
  }
43674
43067
  function EventDispatcherTab({ traits: traits2, schema }) {
43675
43068
  const eventBus = useEventBus();
43676
- const { t } = useTranslate();
43069
+ const { t } = hooks.useTranslate();
43677
43070
  const [log12, setLog] = React85__namespace.useState([]);
43678
43071
  const prevStatesRef = React85__namespace.useRef(/* @__PURE__ */ new Map());
43679
43072
  React85__namespace.useEffect(() => {
@@ -43759,7 +43152,6 @@ var init_EventDispatcherTab = __esm({
43759
43152
  init_Stack();
43760
43153
  init_EmptyState();
43761
43154
  init_useEventBus();
43762
- init_useTranslate();
43763
43155
  EventDispatcherTab.displayName = "EventDispatcherTab";
43764
43156
  }
43765
43157
  });
@@ -43770,7 +43162,7 @@ var init_RuntimeDebugger = __esm({
43770
43162
  }
43771
43163
  });
43772
43164
  function ServerResponseRow({ sr }) {
43773
- const { t } = useTranslate();
43165
+ const { t } = hooks.useTranslate();
43774
43166
  const entityEntries = Object.entries(sr.dataEntities);
43775
43167
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ml-4 pl-2 border-l border-purple-500/30 py-0.5 text-xs font-mono", children: [
43776
43168
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
@@ -43796,7 +43188,7 @@ function ServerResponseRow({ sr }) {
43796
43188
  ] });
43797
43189
  }
43798
43190
  function TransitionRow({ trace }) {
43799
- const { t } = useTranslate();
43191
+ const { t } = hooks.useTranslate();
43800
43192
  const isServerEntry = !!trace.serverResponse && trace.traitName.startsWith("server:");
43801
43193
  const hasFailedEffects = trace.effects.some((e) => e.status === "failed");
43802
43194
  if (isServerEntry && trace.serverResponse) {
@@ -43845,7 +43237,7 @@ function VerifyModePanel({
43845
43237
  serverCount,
43846
43238
  localCount
43847
43239
  }) {
43848
- const { t } = useTranslate();
43240
+ const { t } = hooks.useTranslate();
43849
43241
  const [expanded, setExpanded] = React85__namespace.useState(true);
43850
43242
  const scrollRef = React85__namespace.useRef(null);
43851
43243
  const prevCountRef = React85__namespace.useRef(0);
@@ -43905,7 +43297,7 @@ function RuntimeDebugger({
43905
43297
  defaultTab,
43906
43298
  schema
43907
43299
  }) {
43908
- const { t } = useTranslate();
43300
+ const { t } = hooks.useTranslate();
43909
43301
  const [isCollapsed, setIsCollapsed] = React85__namespace.useState(mode === "verify" ? true : defaultCollapsed);
43910
43302
  const [isVisible, setIsVisible] = React85__namespace.useState(mode === "inline" || mode === "verify" || isDebugEnabled2());
43911
43303
  const debugData = useDebugData();
@@ -44134,7 +43526,6 @@ var init_RuntimeDebugger2 = __esm({
44134
43526
  init_TransitionTimeline();
44135
43527
  init_ServerBridgeTab();
44136
43528
  init_EventDispatcherTab();
44137
- init_useTranslate();
44138
43529
  init_RuntimeDebugger();
44139
43530
  RuntimeDebugger.displayName = "RuntimeDebugger";
44140
43531
  }
@@ -44428,7 +43819,7 @@ function SequencerBoard({
44428
43819
  className
44429
43820
  }) {
44430
43821
  const { emit } = useEventBus();
44431
- const { t } = useTranslate();
43822
+ const { t } = hooks.useTranslate();
44432
43823
  const resolved = Array.isArray(entity) ? entity[0] : entity;
44433
43824
  const [headerError, setHeaderError] = React85.useState(false);
44434
43825
  const [slots, setSlots] = React85.useState(
@@ -44621,7 +44012,6 @@ var init_SequencerBoard = __esm({
44621
44012
  init_atoms2();
44622
44013
  init_cn();
44623
44014
  init_useEventBus();
44624
- init_useTranslate();
44625
44015
  init_TraitStateViewer();
44626
44016
  init_SequenceBar();
44627
44017
  init_ActionPalette();
@@ -44640,7 +44030,6 @@ var init_ShowcaseOrganism = __esm({
44640
44030
  "use client";
44641
44031
  init_cn();
44642
44032
  init_useEventBus();
44643
- init_useTranslate();
44644
44033
  init_Stack();
44645
44034
  init_Typography();
44646
44035
  init_SimpleGrid();
@@ -44657,7 +44046,7 @@ var init_ShowcaseOrganism = __esm({
44657
44046
  subtitle
44658
44047
  }) => {
44659
44048
  useEventBus();
44660
- const { t } = useTranslate();
44049
+ const { t } = hooks.useTranslate();
44661
44050
  const items = React85.useMemo(
44662
44051
  () => Array.isArray(entity) ? entity : entity && typeof entity === "object" ? [entity] : [],
44663
44052
  [entity]
@@ -45051,7 +44440,7 @@ function SimulatorBoard({
45051
44440
  className
45052
44441
  }) {
45053
44442
  const { emit } = useEventBus();
45054
- const { t } = useTranslate();
44443
+ const { t } = hooks.useTranslate();
45055
44444
  const resolved = Array.isArray(entity) ? entity[0] : entity;
45056
44445
  const parameters = resolved?.parameters ?? [];
45057
44446
  const [values, setValues] = React85.useState(() => {
@@ -45199,7 +44588,6 @@ var init_SimulatorBoard = __esm({
45199
44588
  "components/game/organisms/puzzles/simulator/SimulatorBoard.tsx"() {
45200
44589
  init_atoms2();
45201
44590
  init_useEventBus();
45202
- init_useTranslate();
45203
44591
  SimulatorBoard.displayName = "SimulatorBoard";
45204
44592
  }
45205
44593
  });
@@ -45304,7 +44692,6 @@ var init_StatCard = __esm({
45304
44692
  init_Button();
45305
44693
  init_Sparkline();
45306
44694
  init_useEventBus();
45307
- init_useTranslate();
45308
44695
  init_Icon();
45309
44696
  StatCard = ({
45310
44697
  label: propLabel,
@@ -45331,7 +44718,7 @@ var init_StatCard = __esm({
45331
44718
  const Icon3 = typeof iconProp === "string" ? resolveIcon(iconProp) ?? void 0 : iconProp;
45332
44719
  const labelToUse = propLabel ?? propTitle;
45333
44720
  const eventBus = useEventBus();
45334
- const { t } = useTranslate();
44721
+ const { t } = hooks.useTranslate();
45335
44722
  const handleActionClick = React85__namespace.default.useCallback(() => {
45336
44723
  if (action?.event) {
45337
44724
  eventBus.emit(`UI:${action.event}`, {});
@@ -45622,7 +45009,7 @@ function VariablePanel({
45622
45009
  variables,
45623
45010
  className
45624
45011
  }) {
45625
- const { t } = useTranslate();
45012
+ const { t } = hooks.useTranslate();
45626
45013
  return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { className: cn("p-3 rounded-lg bg-card border border-border", className), gap: "sm", children: [
45627
45014
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body2", className: "text-muted-foreground font-medium", children: t("stateArchitect.variables", { name: entityName }) }),
45628
45015
  variables.map((v) => {
@@ -45660,7 +45047,6 @@ var init_VariablePanel = __esm({
45660
45047
  "components/game/organisms/puzzles/state-architect/VariablePanel.tsx"() {
45661
45048
  init_atoms2();
45662
45049
  init_cn();
45663
- init_useTranslate();
45664
45050
  VariablePanel.displayName = "VariablePanel";
45665
45051
  }
45666
45052
  });
@@ -45686,7 +45072,7 @@ function StateArchitectBoard({
45686
45072
  className
45687
45073
  }) {
45688
45074
  const { emit } = useEventBus();
45689
- const { t } = useTranslate();
45075
+ const { t } = hooks.useTranslate();
45690
45076
  const resolved = Array.isArray(entity) ? entity[0] : entity;
45691
45077
  const [transitions, setTransitions] = React85.useState(resolved?.transitions ?? []);
45692
45078
  const [headerError, setHeaderError] = React85.useState(false);
@@ -45977,7 +45363,6 @@ var init_StateArchitectBoard = __esm({
45977
45363
  init_atoms2();
45978
45364
  init_cn();
45979
45365
  init_useEventBus();
45980
- init_useTranslate();
45981
45366
  init_TraitStateViewer();
45982
45367
  init_StateNode();
45983
45368
  init_TransitionArrow();
@@ -45997,7 +45382,6 @@ var init_StatsOrganism = __esm({
45997
45382
  "components/marketing/organisms/StatsOrganism.tsx"() {
45998
45383
  "use client";
45999
45384
  init_cn();
46000
- init_useTranslate();
46001
45385
  init_StatsGrid();
46002
45386
  init_LoadingState();
46003
45387
  init_ErrorState();
@@ -46008,7 +45392,7 @@ var init_StatsOrganism = __esm({
46008
45392
  className,
46009
45393
  columns = 3
46010
45394
  }) => {
46011
- const { t } = useTranslate();
45395
+ const { t } = hooks.useTranslate();
46012
45396
  const items = React85.useMemo(
46013
45397
  () => Array.isArray(entity) ? entity : entity && typeof entity === "object" ? [entity] : [],
46014
45398
  [entity]
@@ -46040,7 +45424,6 @@ var init_StepFlowOrganism = __esm({
46040
45424
  "components/core/organisms/StepFlowOrganism.tsx"() {
46041
45425
  "use client";
46042
45426
  init_cn();
46043
- init_useTranslate();
46044
45427
  init_Stack();
46045
45428
  init_Typography();
46046
45429
  init_StepFlow();
@@ -46056,7 +45439,7 @@ var init_StepFlowOrganism = __esm({
46056
45439
  heading,
46057
45440
  subtitle
46058
45441
  }) => {
46059
- const { t } = useTranslate();
45442
+ const { t } = hooks.useTranslate();
46060
45443
  const items = React85.useMemo(
46061
45444
  () => Array.isArray(entity) ? entity : entity && typeof entity === "object" ? [entity] : [],
46062
45445
  [entity]
@@ -46210,7 +45593,6 @@ var init_TeamOrganism = __esm({
46210
45593
  "components/marketing/organisms/TeamOrganism.tsx"() {
46211
45594
  "use client";
46212
45595
  init_cn();
46213
- init_useTranslate();
46214
45596
  init_Stack();
46215
45597
  init_Typography();
46216
45598
  init_SimpleGrid();
@@ -46225,7 +45607,7 @@ var init_TeamOrganism = __esm({
46225
45607
  heading,
46226
45608
  subtitle
46227
45609
  }) => {
46228
- const { t } = useTranslate();
45610
+ const { t } = hooks.useTranslate();
46229
45611
  const items = React85.useMemo(
46230
45612
  () => Array.isArray(entity) ? entity : entity && typeof entity === "object" ? [entity] : [],
46231
45613
  [entity]
@@ -46268,7 +45650,6 @@ var init_Timeline = __esm({
46268
45650
  init_LoadingState();
46269
45651
  init_ErrorState();
46270
45652
  init_EmptyState();
46271
- init_useTranslate();
46272
45653
  lookStyles10 = {
46273
45654
  "vertical-compact": "gap-1 [&>*]:py-1",
46274
45655
  "vertical-spacious": "",
@@ -46308,7 +45689,7 @@ var init_Timeline = __esm({
46308
45689
  className,
46309
45690
  look = "vertical-spacious"
46310
45691
  }) => {
46311
- const { t } = useTranslate();
45692
+ const { t } = hooks.useTranslate();
46312
45693
  const entityData = Array.isArray(entity) ? entity : [];
46313
45694
  const items = React85__namespace.default.useMemo(() => {
46314
45695
  if (propItems) return propItems;
@@ -47760,7 +47141,7 @@ function UISlotComponent({
47760
47141
  }) {
47761
47142
  const { slots, clear } = context.useUISlots();
47762
47143
  const eventBus = useEventBus();
47763
- const { t } = useTranslate();
47144
+ const { t } = hooks.useTranslate();
47764
47145
  const suspenseConfig = React85.useContext(SuspenseConfigContext);
47765
47146
  const contained = React85.useContext(SlotContainedContext);
47766
47147
  const content = slots[slot];
@@ -47862,7 +47243,7 @@ function CompiledPortal({ slot, className, pattern, sourceTrait, children }) {
47862
47243
  const [portalRoot, setPortalRoot] = React85.useState(null);
47863
47244
  const slotsBus = context.useUISlots();
47864
47245
  const eventBus = useEventBus();
47865
- const { t } = useTranslate();
47246
+ const { t } = hooks.useTranslate();
47866
47247
  React85.useEffect(() => {
47867
47248
  setPortalRoot(getOrCreatePortalRoot());
47868
47249
  }, []);
@@ -48152,7 +47533,7 @@ function SlotContentRenderer({
48152
47533
  }
48153
47534
  }
48154
47535
  const eventBus = useEventBus();
48155
- const { t } = useTranslate();
47536
+ const { t } = hooks.useTranslate();
48156
47537
  const schemaCtx = useEntitySchemaOptional();
48157
47538
  let entityDef;
48158
47539
  if (typeof entityProp === "string" && entityProp.length > 0 && schemaCtx) {
@@ -48340,7 +47721,6 @@ var init_UISlotRenderer = __esm({
48340
47721
  init_Box();
48341
47722
  init_Typography();
48342
47723
  init_useEventBus();
48343
- init_useTranslate();
48344
47724
  init_slot_types();
48345
47725
  init_cn();
48346
47726
  init_ErrorBoundary();