@nice2dev/ui 1.0.21 → 1.0.23

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.
Files changed (123) hide show
  1. package/CHANGELOG.md +198 -0
  2. package/dist/NiceErrorBoundary-B0262Ffc.js +770 -0
  3. package/dist/NiceErrorBoundary-BNhkOZtq.cjs +1 -0
  4. package/dist/NiceErrorBoundary-BXOLv-zG.cjs +1 -0
  5. package/dist/NiceErrorBoundary-DsreAsON.cjs +1 -0
  6. package/dist/NiceErrorBoundary-DyPWyuki.js +770 -0
  7. package/dist/NiceErrorBoundary-HMfrXIir.js +770 -0
  8. package/dist/NiceForm-B7D1MASh.js +5383 -0
  9. package/dist/NiceForm-BA9zZdm8.cjs +382 -0
  10. package/dist/NiceForm-Ba9rvBoT.cjs +382 -0
  11. package/dist/NiceForm-DAGMJpgx.js +5383 -0
  12. package/dist/NiceForm-D_ifvkIf.js +5386 -0
  13. package/dist/NiceForm-kd4essRP.cjs +382 -0
  14. package/dist/NiceForm.css +1 -1
  15. package/dist/NiceModal-4DLpDmAl.js +95 -0
  16. package/dist/NiceModal-BVT9cZbf.cjs +1 -0
  17. package/dist/NiceModal-CiOYOWJy.cjs +1 -0
  18. package/dist/NiceModal-D2xJTZZf.cjs +1 -0
  19. package/dist/NiceModal-DZbHCdKq.js +95 -0
  20. package/dist/NiceModal-MeC1cNtW.js +95 -0
  21. package/dist/NiceModuleLifecyclePanel-BZMUuDad.js +6807 -0
  22. package/dist/NiceModuleLifecyclePanel-BiX4KxaK.js +6781 -0
  23. package/dist/NiceModuleLifecyclePanel-C54g5eV_.cjs +1 -0
  24. package/dist/NiceModuleLifecyclePanel-CDo0iVfr.js +6781 -0
  25. package/dist/NiceModuleLifecyclePanel-DEJpoz5a.cjs +1 -0
  26. package/dist/NiceModuleLifecyclePanel-DrDTpH6K.cjs +1 -0
  27. package/dist/NiceModuleLifecyclePanel.css +1 -1
  28. package/dist/NicePagination-3be3_sVK.js +171 -0
  29. package/dist/NicePagination-BCRsVzkR.cjs +1 -0
  30. package/dist/NicePagination-C8gx6Bcl.js +171 -0
  31. package/dist/NicePagination-CNxEAb4C.cjs +1 -0
  32. package/dist/NicePagination-Cg_WEf-R.cjs +1 -0
  33. package/dist/NicePagination-DQXdzx7W.js +171 -0
  34. package/dist/NicePinCodeInput-3WugpLHi.js +12240 -0
  35. package/dist/NicePinCodeInput-BD2bMmVF.cjs +696 -0
  36. package/dist/NicePinCodeInput-CSfRHs4v.cjs +419 -0
  37. package/dist/NicePinCodeInput-CjwFvOEQ.js +13092 -0
  38. package/dist/NicePinCodeInput-DCLRLR8a.js +13097 -0
  39. package/dist/NicePinCodeInput-DoBQnMj9.cjs +694 -0
  40. package/dist/NiceSavedQueryPanel-DFDDuKWd.js +6597 -0
  41. package/dist/NiceSavedQueryPanel-DT9v7kUB.cjs +596 -0
  42. package/dist/NiceSavedQueryPanel-DTU4eiIH.cjs +596 -0
  43. package/dist/NiceSavedQueryPanel-RLj3BnDR.js +6866 -0
  44. package/dist/NiceSavedQueryPanel-qtWETcRP.cjs +596 -0
  45. package/dist/NiceSavedQueryPanel-z29D7N_A.js +6584 -0
  46. package/dist/NiceTabs-B4dM77y_.js +1657 -0
  47. package/dist/NiceTabs-BTVTtRZR.cjs +1 -0
  48. package/dist/NiceTabs-BXGmot7J.cjs +1 -0
  49. package/dist/NiceTabs-CFA8DGYR.cjs +1 -0
  50. package/dist/NiceTabs-Cx9DN6QD.js +1657 -0
  51. package/dist/NiceTabs-DJdhKste.js +1657 -0
  52. package/dist/NiceWindow-5VCSBJrc.js +1592 -0
  53. package/dist/NiceWindow-BEFAUTLp.cjs +1 -0
  54. package/dist/NiceWindow-Cs6-Dbci.js +1592 -0
  55. package/dist/NiceWindow-DYw4NCeb.js +1592 -0
  56. package/dist/NiceWindow-O_g8StvA.cjs +1 -0
  57. package/dist/NiceWindow-a4wB_m30.cjs +1 -0
  58. package/dist/NiceWindow.css +1 -0
  59. package/dist/charts-BDr6B81L.js +4657 -0
  60. package/dist/charts-Ci_KrAoU.cjs +761 -0
  61. package/dist/charts-ClxW-i5q.js +4657 -0
  62. package/dist/charts-De7FYS1U.cjs +761 -0
  63. package/dist/charts-DjFvhCdD.js +4657 -0
  64. package/dist/charts-Dr_FIPZT.cjs +761 -0
  65. package/dist/charts.cjs +1 -1
  66. package/dist/charts.mjs +1 -1
  67. package/dist/core-BIz6zQ5u.cjs +122 -0
  68. package/dist/core-BYxnKGOi.js +23141 -0
  69. package/dist/core-CT5vpy5U.js +25248 -0
  70. package/dist/core-CZE5v34h.cjs +122 -0
  71. package/dist/core-Cjw8oBvC.cjs +96 -0
  72. package/dist/core-xcuNJ-DB.js +24948 -0
  73. package/dist/data-branching-B7dCyaWr.cjs +1 -0
  74. package/dist/data-branching-BPAeL45o.js +6133 -0
  75. package/dist/data-branching-Byz79mmA.cjs +1 -0
  76. package/dist/data-branching-DjuerHfS.js +6133 -0
  77. package/dist/data-branching.cjs +1 -1
  78. package/dist/data-branching.d.ts +3 -0
  79. package/dist/data-branching.mjs +1 -1
  80. package/dist/data.cjs +1 -1
  81. package/dist/data.d.ts +45 -7
  82. package/dist/data.mjs +1 -1
  83. package/dist/devops-C3Pmbnxc.js +7684 -0
  84. package/dist/devops-CrXz348W.cjs +17 -0
  85. package/dist/devops-DYFov8j3.js +7684 -0
  86. package/dist/devops-g4qcLXah.cjs +17 -0
  87. package/dist/devops.cjs +1 -1
  88. package/dist/devops.d.ts +5 -0
  89. package/dist/devops.mjs +1 -1
  90. package/dist/editors.cjs +1 -1
  91. package/dist/editors.d.ts +175 -1
  92. package/dist/editors.mjs +44 -41
  93. package/dist/feedback.cjs +1 -1
  94. package/dist/feedback.d.ts +1 -2
  95. package/dist/feedback.mjs +2 -2
  96. package/dist/index-9Gi1mNY7.js +67912 -0
  97. package/dist/index-AEO3cK4T.cjs +5194 -0
  98. package/dist/index-BMQ-F0zE.js +65054 -0
  99. package/dist/index-BNb9q4Ll.cjs +5490 -0
  100. package/dist/index-CjdfogVa.js +66711 -0
  101. package/dist/index-Di3Cgr1P.cjs +5518 -0
  102. package/dist/index.cjs +1 -1
  103. package/dist/index.css +1 -1
  104. package/dist/index.d.ts +752 -62
  105. package/dist/index.mjs +982 -963
  106. package/dist/lazy.cjs +1 -1
  107. package/dist/lazy.d.ts +11 -0
  108. package/dist/lazy.mjs +24 -24
  109. package/dist/navigation.cjs +1 -1
  110. package/dist/navigation.d.ts +30 -4
  111. package/dist/navigation.mjs +34 -34
  112. package/dist/no-code-CHvv1KjZ.cjs +332 -0
  113. package/dist/no-code-CyvddsYt.js +7133 -0
  114. package/dist/no-code-Dl3ima61.cjs +332 -0
  115. package/dist/no-code-ktRzFaET.js +7133 -0
  116. package/dist/no-code.cjs +1 -1
  117. package/dist/no-code.d.ts +11 -0
  118. package/dist/no-code.mjs +1 -1
  119. package/dist/overlays.cjs +1 -1
  120. package/dist/overlays.d.ts +38 -0
  121. package/dist/overlays.mjs +52 -52
  122. package/dist/style.css +7 -4
  123. package/package.json +1 -1
@@ -0,0 +1,122 @@
1
+ "use strict";const d=require("react"),g=require("react/jsx-runtime"),vi={ok:"OK",cancel:"Cancel",save:"Save",close:"Close",delete:"Delete",edit:"Edit",add:"Add",remove:"Remove",search:"Search",filter:"Filter",refresh:"Refresh",loading:"Loading…",noData:"No data",error:"Error",success:"Success",warning:"Warning",info:"Information",yes:"Yes",no:"No",confirm:"Confirm",back:"Back",next:"Next",previous:"Previous",finish:"Finish",submit:"Submit",reset:"Reset",apply:"Apply",undo:"Undo",redo:"Redo",copy:"Copy",cut:"Cut",paste:"Paste",selectAll:"Select all",clear:"Clear",upload:"Upload",download:"Download",print:"Print",export:"Export",import:"Import",settings:"Settings",help:"Help",about:"About",more:"More",less:"Less",show:"Show",hide:"Hide",expand:"Expand",collapse:"Collapse",enabled:"Enabled",disabled:"Disabled",required:"Required",optional:"Optional",actions:"Actions",details:"Details",overview:"Overview",all:"All",none:"None",selected:"Selected",total:"Total",of:"of",items:"items",page:"Page",rows:"Rows","app.name":"Application","app.version":"Version","app.about":"About","nav.home":"Home","nav.back":"Back","nav.forward":"Forward","nav.menu":"Menu","nav.sidebar":"Sidebar","nav.search":"Search","nav.favorites":"Favorites","nav.recent":"Recent","nav.notifications":"Notifications","nav.profile":"Profile","nav.logout":"Log out","nav.help":"Help","navShell.home.title":"Home","navShell.help.next":"Next","navShell.help.back":"Back","navShell.help.finish":"Finish","navShell.help.skip":"Skip","navShell.help.stepOf":"of","navShell.help.topNav.title":"Top navigation","navShell.help.topNav.body":"Use the top bar to switch workspaces, search, change theme or language, and open notifications.","navShell.help.sidebar.title":"Sidebar","navShell.help.sidebar.body":"Browse the available views grouped by section. Pick a view to open it in a new tab.","navShell.help.tabs.title":"Tabs","navShell.help.tabs.body":"Each open view lives in its own tab. Pin frequently used ones and right-click for more actions.","navShell.help.content.title":"Workspace","navShell.help.content.body":"The main area shows the active view. Switching tabs or sidebar entries swaps the content here.","navShell.home.subtitle":"Pick up where you left off.","navShell.home.empty":"Open a view from the sidebar or the tabs above to fill your workspace.","navShell.home.greeting.morning":"Good morning","navShell.home.greeting.afternoon":"Good afternoon","navShell.home.greeting.evening":"Good evening","navShell.home.greeting.night":"Hello","navShell.home.sections.openTabs":"Open now","navShell.home.sections.shortcuts":"Your shortcuts","navShell.home.sections.allViews":"All views","tutorial.play":"Play","tutorial.pause":"Pause","tutorial.speed":"Speed","tutorial.close":"Close","tutorial.start":"Tutorial","tutorial.startAria":"Start tutorial","tutorial.next":"Next","tutorial.back":"Back","tutorial.finish":"Finish","tutorial.skip":"Skip","tutorial.stepOf":"of","tutorial.moduleEditor.browser.title":"Module browser","tutorial.moduleEditor.browser.content":"Pick a module here to open its manifest, entities and translations.","tutorial.moduleEditor.validate.title":"Validate","tutorial.moduleEditor.validate.content":"Check the module against the manifest schema. Issues appear in the status bar and output.","tutorial.moduleEditor.save.title":"Save","tutorial.moduleEditor.save.content":"Persist your changes through the configured data provider (e.g. write files back to disk).","tutorial.manifestEditor.intro.title":"Manifest editor","tutorial.manifestEditor.intro.content":"Edit the manifest in schema-driven sections. Toggle Form ⇄ JSON per section; validation appears in the status bar.","tutorial.schemaForm.intro.title":"Schema form","tutorial.schemaForm.intro.content":"This form is generated from a schema. Required fields and validation errors are flagged; use the JSON toggle for raw editing.","tutorial.entityEditor.intro.title":"Entity editor","tutorial.entityEditor.intro.content":"Add entities on the left, then edit each entity’s metadata and its fields (type, keys, constraints) on the right.","tutorial.i18nEditor.intro.title":"Translations","tutorial.i18nEditor.intro.content":"Edit translations as a keys × locales grid. Add keys and locales; amber cells mark missing translations.","tutorial.formBuilder.intro.title":"Form builder","tutorial.formBuilder.intro.content":"Drag fields from the palette onto the canvas, then configure each field in the properties panel. Export the schema when done.","tutorial.formDesigner.intro.title":"Form designer","tutorial.formDesigner.intro.content":"Design data-entry forms with sections, lookups and calculated fields; bind them to your entity and preview live.","tutorial.paymentProviderConfig.intro.title":"Payment provider","tutorial.paymentProviderConfig.intro.content":"Pick a provider, fill its credentials (secrets are masked), choose test/live, enable methods and copy the webhook URL.","tutorial.webhookTester.intro.title":"Webhook tester","tutorial.webhookTester.intro.content":"Pick a saved payload (or write one), optionally sign it, send it to the endpoint and inspect the response.","tutorial.apiDesigner.intro.title":"API designer","tutorial.apiDesigner.intro.content":"Define endpoints, parameters, request/response schemas and security for your OpenAPI document.","tutorial.apiTester.intro.title":"API tester","tutorial.apiTester.intro.content":"Build requests with collections and environment variables, send them and assert on the responses.","tutorial.integrationBuilder.intro.title":"Integration builder","tutorial.integrationBuilder.intro.content":"Wire a flow of nodes (triggers → actions → error handling) and connect them to build an integration.","tutorial.scriptRunner.intro.title":"Script runner","tutorial.scriptRunner.intro.content":"Write a script and sample input, click Run, then inspect the result and captured logs below.","tutorial.lifecycleHooks.intro.title":"Lifecycle hooks","tutorial.lifecycleHooks.intro.content":"Bind handlers to each trigger, set their order and enable flag, and add an optional condition that gates execution.","tutorial.revisionHistory.intro.title":"Revision history","tutorial.revisionHistory.intro.content":"Pick a revision, choose another to compare, review the side-by-side diff, then restore an earlier version if needed.","tutorial.markdownEditor.intro.title":"Markdown editor","tutorial.markdownEditor.intro.content":"Write Markdown with the formatting toolbar; toggle the live preview to see the rendered result, and export to HTML.","tutorial.htmlEditor.intro.title":"Rich text editor","tutorial.htmlEditor.intro.content":"Format text with the toolbar, insert links, images and tables, and switch to HTML or Markdown source when you need it.","tutorial.documentEditor.intro.title":"Document editor","tutorial.documentEditor.intro.content":"Compose a document from blocks: use the toolbar or slash commands to add headings, lists, media and more, then export to HTML.","tutorial.codeEditor.intro.title":"Code editor","tutorial.codeEditor.intro.content":"Edit code with syntax highlighting, IntelliSense and the toolbar. Ctrl+S saves; the status bar shows the cursor position and any problems.","tutorial.kanbanBoard.intro.title":"Kanban board","tutorial.kanbanBoard.intro.content":'Drag cards between columns to change their status, add cards with the "+" button, and click a card to edit its details.',"tutorial.queryBuilder.intro.title":"Query builder","tutorial.queryBuilder.intro.content":"Add tables, pick columns, define joins, conditions and sorting visually — the SQL is generated for you. Switch to the SQL tab to review it.","tutorial.stateDesigner.intro.title":"State designer","tutorial.stateDesigner.intro.content":"Model your store as slices with fields and actions, pick a target (e.g. Zustand) and export ready-to-use state-management code.","tutorial.componentDesigner.intro.title":"Component designer","tutorial.componentDesigner.intro.content":"Name your component, declare its props with types and requirements, and preview the generated TypeScript interface live.","tutorial.pageBuilder.intro.title":"Page builder","tutorial.pageBuilder.intro.content":"Drag components from the sidebar onto the responsive grid, switch the desktop/tablet/mobile preview, and save the layout.","tutorial.lowCodeStudio.intro.title":"Low-code studio","tutorial.lowCodeStudio.intro.content":"Drag components from the sidebar onto the canvas, then switch between Design, Preview and Code tabs to build and export your app.","tutorial.testBuilder.intro.title":"Test builder","tutorial.testBuilder.intro.content":"Build test suites visually: add cases and interaction steps with assertions, run them, and export to a ready-to-run .test.tsx file.","tutorial.workflowDesigner.intro.title":"Workflow designer","tutorial.workflowDesigner.intro.content":"Add states and transitions on the canvas, validate the flow, simulate it, then test or publish your workflow.","tutorial.themeBuilder.intro.title":"Theme builder","tutorial.themeBuilder.intro.content":"Start from a preset, tweak colors, typography and other tokens by section, preview live, then apply or export the theme.","tutorial.filterBuilder.intro.title":"Filter builder","tutorial.filterBuilder.intro.content":"Build complex AND/OR filter trees: add conditions and nested groups, choose fields and operators, and save reusable presets.","tutorial.diagramDesigner.intro.title":"Diagram designer","tutorial.diagramDesigner.intro.content":"Drag shapes from the palette onto the canvas, connect them with connectors, edit properties on the right, then export to SVG, PNG or JSON.","tutorial.reportBuilder.intro.title":"Report builder","tutorial.reportBuilder.intro.content":"Drag sections onto the report, bind them to data sources, arrange the layout, then export to PDF, HTML or XLSX.","tutorial.erpReportDesigner.intro.title":"Report designer","tutorial.erpReportDesigner.intro.content":"Lay out banded reports: drop elements (fields, expressions, charts) into bands, bind data connections, edit properties, then preview and export.","tutorial.recipeEditor.intro.title":"Recipe editor","tutorial.recipeEditor.intro.content":"Edit recipe details, add and reorder ingredients and steps, attach photos, and import or export the recipe as JSON.","tutorial.pipelineEditor.intro.title":"Pipeline editor","tutorial.pipelineEditor.intro.content":"Build a CI/CD pipeline from stages, jobs and steps; set triggers, variables and secrets; then validate, save and run it.","tutorial.mergeRequestBuilder.intro.title":"Merge request builder","tutorial.mergeRequestBuilder.intro.content":"Pick source and target branches, write the title and description, add reviewers, labels and linked issues, then preview and submit.","tutorial.automationRuleEditor.intro.title":"Automation rule editor","tutorial.automationRuleEditor.intro.content":"Define the trigger, add optional conditions, then list the actions to run — switch between the three sections using the tabs.","tutorial.sceneActionBuilder.intro.title":"Scene action builder","tutorial.sceneActionBuilder.intro.content":"Add an action per device, set its target state and an optional delay, reorder them, and preview the scene sequence.","tutorial.backupTagEditor.intro.title":"Backup tags","tutorial.backupTagEditor.intro.content":"Tag this backup for easy retrieval: type a label and pick a color, or add one of the suggested tags; auto-generated tags are protected.","tutorial.dataMergeBuilder.intro.title":"Data merge","tutorial.dataMergeBuilder.intro.content":"Walk through the steps: choose source and target branches, preview changes, resolve conflicts, set options, then confirm the merge.","tutorial.invoiceLineEditor.intro.title":"Invoice lines","tutorial.invoiceLineEditor.intro.content":"Add line items with quantity, unit price, VAT and discount — net, gross and the VAT breakdown are calculated automatically.","tutorial.keyValueEditor.intro.title":"Key/value editor","tutorial.keyValueEditor.intro.content":"Add key/value rows for headers, params, env vars or config; mask secret values, toggle rows on/off, and watch for duplicate keys.","tutorial.imageEditor.intro.title":"Image editor","tutorial.imageEditor.intro.content":"Use the toolbar to crop, rotate, flip, adjust brightness/contrast and annotate; undo/redo your edits, then save the result.","tutorial.cropEditor.intro.title":"Crop editor","tutorial.cropEditor.intro.content":"Drag the crop box over the image, pick an aspect ratio, rotate, flip or zoom, then use the result.","tutorial.pdfAnnotationEditor.intro.title":"PDF annotations","tutorial.pdfAnnotationEditor.intro.content":"Pick a tool from the toolbar (highlight, underline, freehand, text…), mark up the page, navigate pages and zoom as needed.","tutorial.videoEditor.intro.title":"Video editor","tutorial.videoEditor.intro.content":"Add media to the timeline tracks, trim and arrange clips, edit clip properties, preview playback, then export the video.","tutorial.viewBuilder.intro.title":"View builder","tutorial.viewBuilder.intro.content":"Drag controls from the palette into the grid cells, configure each cell in the properties panel, and import, export or save the view.","tutorial.dashboardDesigner.intro.title":"Dashboard designer","tutorial.dashboardDesigner.intro.content":"Drag widgets from the palette onto the grid, resize and arrange them, configure each in the property panel, then preview or export the dashboard.","tutorial.workflowDesignerCanvas.intro.title":"Workflow designer","tutorial.workflowDesignerCanvas.intro.content":"Add trigger, action and condition nodes to the canvas and connect them; manage variables, validate the flow, then export it.","tutorial.armatureEditor.intro.title":"Armature editor","tutorial.armatureEditor.intro.content":"Select bones to edit their transforms, add or reparent bones, configure IK chains, and save or load poses.","tutorial.morphTargetEditor.intro.title":"Morph target editor","tutorial.morphTargetEditor.intro.content":"Blend the mesh’s morph targets with the per-target influence sliders, create or delete targets, and preview the interpolation.","tutorial.terrainEditor.intro.title":"Terrain editor","tutorial.terrainEditor.intro.content":"Sculpt the heightmap with brushes (raise, lower, flatten, smooth, noise), splat texture layers, generate procedural terrain, and import/export heightmaps.","tutorial.materialEditor.intro.title":"Material editor","tutorial.materialEditor.intro.content":"Build a shader as a node graph: drag nodes from the palette, wire their ports together, edit properties, and preview the compiled material.","tutorial.particleEditor.intro.title":"Particle editor","tutorial.particleEditor.intro.content":"Pick a particle system, tune its emitter and modules in the inspector, and play, pause or stop the live preview.","tutorial.uvEditor.intro.title":"UV editor","tutorial.uvEditor.intro.content":"Edit the mesh’s UV layout over the texture: select and transform UVs with the tools, switch UV channels, and apply your changes.","tutorial.fontEditor.intro.title":"Font editor","tutorial.fontEditor.intro.content":"Edit glyphs on the unicode grid, adjust font metrics and per-glyph paths and bearings, then export the font.","tutorial.iconEditor.intro.title":"Icon editor","tutorial.iconEditor.intro.content":"Draw and edit SVG shapes on the grid, tweak stroke and variant settings, preview on different backgrounds, and export to SVG, React or PNG.","tutorial.uiDesigner.intro.title":"UI designer","tutorial.uiDesigner.intro.content":"Drag components from the palette onto the canvas, edit their props in the panel, preview responsive breakpoints, and export to React/TSX.","tutorial.gameEditor.intro.title":"Game editor","tutorial.gameEditor.intro.content":"Build your scene in the viewport using the hierarchy and asset panels, tweak entities in the inspector, and save the project.","tutorial.levelEditor.intro.title":"Level editor","tutorial.levelEditor.intro.content":"Build the game world: place and snap objects across layers, paint terrain, lay out splines and lights, then bake lightmaps.","tutorial.gameMaterialEditor.intro.title":"Material editor","tutorial.gameMaterialEditor.intro.content":"Author a shader as a node graph: add and connect shader nodes, edit their properties, and compile the material.","tutorial.gameParticleEditor.intro.title":"Particle editor","tutorial.gameParticleEditor.intro.content":"Tune the particle system in the inspector — emitter, lifetime, curves and rendering — and play, pause or restart the live preview.","tutorial.floorPlanEditor.intro.title":"Floor plan editor","tutorial.floorPlanEditor.intro.content":"Draw rooms and zones with the tools, place devices on the plan, switch floors and toggle overlays like dimensions, grid and occupancy.","tutorial.buildingSceneEditor.intro.title":"Scene editor","tutorial.buildingSceneEditor.intro.content":"Create scenes that set multiple devices at once: pick a scene, choose device target states, then save or activate it.","tutorial.buildingAutomationEditor.intro.title":"Automation editor","tutorial.buildingAutomationEditor.intro.content":"Create building automations: pick one from the list, define its triggers, conditions and actions, then save, enable or delete it.","tutorial.spatialEditor.intro.title":"Spatial editor","tutorial.spatialEditor.intro.content":"Lay out floor plans across modes: draw walls, rooms and objects with the tools, manage layers, snap to the grid, then export.","tutorial.decisionTreeEditor.intro.title":"Decision tree editor","tutorial.decisionTreeEditor.intro.content":"Explore the decision tree: click nodes to inspect conditions and outcomes, toggle metrics, probabilities and samples, and highlight a path for an input.","tutorial.diagramEditor.intro.title":"Diagram editor","tutorial.diagramEditor.intro.content":"Pick a tool to add and connect nodes on the canvas, edit them in the property panel, and export the diagram from the toolbar.","tutorial.contractEditor.intro.title":"Contract editor","tutorial.contractEditor.intro.content":"Assemble the contract from the clause library, fill template variables, track versions and approvals, then save or export to PDF/DOCX/HTML.","tutorial.invoiceDesigner.intro.title":"Invoice designer","tutorial.invoiceDesigner.intro.content":"Drag elements onto the invoice canvas, bind them to data fields, align with the grid and rulers, then save or export to PDF.","tutorial.presentationEditor.intro.title":"Presentation editor","tutorial.presentationEditor.intro.content":"Build slides from the thumbnail rail, add and arrange elements on the canvas, edit them in the property panel, then present or export.","tutorial.dashboardStudio.intro.title":"Dashboard studio","tutorial.dashboardStudio.intro.content":"Drag widgets from the palette onto the grid, bind them to data sources, add filters, then toggle Edit/View, refresh and save.","tutorial.biReportBuilder.intro.title":"Report builder","tutorial.biReportBuilder.intro.content":"Drag elements from the palette onto the report, bind them to data sources, switch design/preview, then export to PDF or Excel.","tutorial.etlBuilder.intro.title":"ETL builder","tutorial.etlBuilder.intro.content":"Wire sources → transformations → destinations into a pipeline, switch the views, then run it and save the configuration.","tutorial.videoEditorPro.intro.title":"Video editor","tutorial.videoEditorPro.intro.content":"Add media to the timeline, arrange and trim clips, apply effects and transitions, then configure and run the export.","tutorial.mlStudio.intro.title":"ML studio","tutorial.mlStudio.intro.content":"Work through the tabs: prepare datasets, run experiments, compare and pick models, then deploy the best one.","tutorial.mathEditor.intro.title":"Math editor","tutorial.mathEditor.intro.content":"Write equations as LaTeX or insert symbols from the palette; switch to handwriting input, and preview the rendered formula live.","tutorial.dmxEditor.intro.title":"DMX editor","tutorial.dmxEditor.intro.content":"Pick the FTDI device and port, then set each DMX channel’s value with the sliders to control your lighting fixtures live.","sidebar.menu.open":"Open","sidebar.menu.openNewTab":"Open in new tab","sidebar.menu.openBrowserTab":"Open in new browser tab","sidebar.menu.pinFavorite":"Add to favorites","sidebar.menu.unpinFavorite":"Remove from favorites","sidebar.menu.hide":"Hide","sidebar.menu.copyLink":"Copy link","sidebar.menu.pinSource":"Pin source","sidebar.menu.unpinSource":"Unpin source","sidebar.menu.hideSource":"Hide source","sidebar.prefs.general":"General","sidebar.prefs.display":"Display","sidebar.prefs.order":"Order","sidebar.prefs.hidden":"Hidden items","sidebar.prefs.reset":"Reset","sidebar.prefs.general.title":"General","sidebar.prefs.general.desc":"Behavior of the sidebar tree and what a left click does.","sidebar.prefs.general.autoExpand":"Auto-expand all branches","sidebar.prefs.general.autoExpandHint":"When off, branches start collapsed and remember the last state per session.","sidebar.prefs.general.leftClickBehavior":"Left-click behavior","sidebar.prefs.general.focusExisting":"Focus the existing tab","sidebar.prefs.general.openNew":"Always open in a new tab","sidebar.prefs.general.leftClickHint":'Right-click → "Open in new tab" is always available regardless of this setting.',"sidebar.prefs.display.title":"Display","sidebar.prefs.display.desc":"Which modes appear in the strip and how deep the tree goes per mode.","sidebar.prefs.display.enableModeIcons":"Show mode switcher icons","sidebar.prefs.display.enabledModes":"Visible modes","sidebar.prefs.display.preferencesAlwaysOn":"Preferences is always shown.","sidebar.prefs.display.maxDepth":"Tree depth per mode","sidebar.prefs.order.title":"Order items","sidebar.prefs.order.desc":"Drag items to reorder how they appear in the selected mode.","sidebar.prefs.order.pickMode":"Mode","sidebar.prefs.order.visibilityHint":"Order applies to top-level items inside each source group. Collapse a source header to see only top-level entries when verifying the change.","sidebar.prefs.order.empty":"No reorderable items in this mode.","sidebar.prefs.order.resetMode":"Reset to default order","sidebar.prefs.hidden.title":"Hidden items","sidebar.prefs.hidden.desc":"Items you hid from the tree. Restore them to bring them back.","sidebar.prefs.hidden.empty":"Nothing hidden yet.","sidebar.prefs.hidden.restore":"Restore","sidebar.prefs.reset.title":"Reset","sidebar.prefs.reset.desc":"Clear every customisation and restore the original sidebar layout.","sidebar.prefs.reset.button":"Reset all preferences","sidebar.prefs.reset.confirm":"This will erase your favorites, hidden items, custom order, and all other sidebar preferences. This cannot be undone.","sidebar.prefs.reset.confirmYes":"Yes, reset everything","sidebar.prefs.reset.cancel":"Cancel","carousel.prev":"Previous slide","carousel.next":"Next slide","carousel.slide":"Slide","carousel.of":"of","carousel.autoplay":"Auto-play","carousel.pause":"Pause","confirm.yes":"Yes","confirm.no":"No","confirm.ok":"OK","confirm.cancel":"Cancel","confirm.title":"Confirmation","confirm.deleteMessage":"Are you sure you want to delete this?","confirm.unsavedChanges":"You have unsaved changes. Discard?","console.shell":"Shell","console.terminal":"Terminal","console.prompt":"Enter command…","console.clear":"Clear console","console.run":"Run","console.output":"Output","console.newSession":"New session","console.closeSession":"Close session","controls.save":"Save","controls.cancel":"Cancel","controls.delete":"Delete","controls.edit":"Edit","controls.add":"Add","controls.remove":"Remove","controls.close":"Close","controls.open":"Open","controls.refresh":"Refresh","controls.new":"New","controls.duplicate":"Duplicate","controls.sort":"Sort","controls.group":"Group","controls.pin":"Pin","controls.unpin":"Unpin","controls.lock":"Lock","controls.unlock":"Unlock","controls.share":"Share","controls.archive":"Archive","cookie.title":"Cookie consent","cookie.message":"This site uses cookies to improve your experience.","cookie.accept":"Accept all","cookie.reject":"Reject all","cookie.settings":"Cookie settings","cookie.necessary":"Necessary","cookie.analytics":"Analytics","cookie.marketing":"Marketing","dashboard.title":"Dashboard","dashboard.addWidget":"Add widget","dashboard.removeWidget":"Remove widget","dashboard.layout":"Layout","dashboard.settings":"Settings","dashboard.customize":"Customize","dashboard.resetLayout":"Reset layout","datetime.today":"Today","datetime.yesterday":"Yesterday","datetime.tomorrow":"Tomorrow","datetime.selectDate":"Select date","datetime.selectTime":"Select time","datetime.startDate":"Start date","datetime.endDate":"End date","datetime.startTime":"Start time","datetime.endTime":"End time","datetime.am":"AM","datetime.pm":"PM","desktop.start":"Start","desktop.taskbar":"Taskbar","desktop.systemTray":"System tray","desktop.wallpaper":"Wallpaper","desktop.icons":"Desktop icons","desktop.arrangeIcons":"Arrange icons","dock.pin":"Pin to dock","dock.unpin":"Unpin from dock","dock.close":"Close","dock.minimize":"Minimize","dock.maximize":"Maximize","dock.restore":"Restore","docEditor.paragraph":"Paragraph","docEditor.heading":"Heading","docEditor.heading1":"Heading 1","docEditor.heading2":"Heading 2","docEditor.heading3":"Heading 3","docEditor.bulletList":"Bullet list","docEditor.numberedList":"Numbered list","docEditor.quote":"Quote","docEditor.code":"Code block","docEditor.divider":"Divider","docEditor.image":"Image","docEditor.table":"Table","docEditor.callout":"Callout","docEditor.placeholder":"Start typing…","docEditor.slashCommand":"Type / for commands","files.upload":"Upload file","files.download":"Download","files.delete":"Delete file","files.rename":"Rename","files.newFolder":"New folder","files.selectFile":"Select file","files.dropzone":"Drop files here","files.dragDrop":"Drag & drop files here or click to browse","files.maxSize":"Maximum file size","files.fileType":"File type","forms.required":"This field is required","forms.optional":"Optional","forms.submit":"Submit","forms.reset":"Reset","forms.validate":"Validate","forms.invalid":"Invalid value","forms.minLength":"Minimum length: {0}","forms.maxLength":"Maximum length: {0}","forms.email":"Enter a valid email","forms.phone":"Enter a valid phone number","imageEditor.crop":"Crop","imageEditor.rotate":"Rotate","imageEditor.flip":"Flip","imageEditor.resize":"Resize","imageEditor.filter":"Filter","imageEditor.draw":"Draw","imageEditor.text":"Text","imageEditor.undo":"Undo","imageEditor.redo":"Redo","imageEditor.save":"Save","imageEditor.brightness":"Brightness","imageEditor.contrast":"Contrast","imageEditor.saturation":"Saturation","inbox.compose":"Compose","inbox.reply":"Reply","inbox.replyAll":"Reply all","inbox.forward":"Forward","inbox.delete":"Delete","inbox.archive":"Archive","inbox.markRead":"Mark as read","inbox.markUnread":"Mark as unread","inbox.folders":"Folders","inbox.inbox":"Inbox","inbox.sent":"Sent","inbox.drafts":"Drafts","inbox.trash":"Trash","inbox.spam":"Spam","inbox.starred":"Starred","inbox.to":"To","inbox.cc":"Cc","inbox.bcc":"Bcc","inbox.subject":"Subject","inbox.send":"Send","inbox.discard":"Discard","inbox.attachFile":"Attach file","kanban.addCard":"Add card","kanban.addColumn":"Add column","kanban.moveCard":"Move card","kanban.editCard":"Edit card","kanban.deleteCard":"Delete card","kanban.editColumn":"Edit column","kanban.deleteColumn":"Delete column","lang.en":"English","lang.pl":"Polish","lang.de":"German","lang.fr":"French","lang.es":"Spanish","lang.it":"Italian","lang.pt":"Portuguese","lang.nl":"Dutch","lang.sv":"Swedish","lang.no":"Norwegian","lang.da":"Danish","lang.fi":"Finnish","lang.cs":"Czech","lang.sk":"Slovak","lang.hu":"Hungarian","lang.ro":"Romanian","lang.bg":"Bulgarian","lang.uk":"Ukrainian","lang.ja":"Japanese","lang.ko":"Korean","lang.zh":"Chinese","lang.ar":"Arabic","login.username":"Username","login.password":"Password","login.signIn":"Sign in","login.signOut":"Sign out","login.forgotPassword":"Forgot password?","login.register":"Register","login.rememberMe":"Remember me","login.newPassword":"New password","login.confirmPassword":"Confirm password","login.twoFactor":"Two-factor authentication","password.strength":"Password strength","password.weak":"Weak","password.medium":"Medium","password.strong":"Strong","password.requirements":"Password requirements","pdfviewer.page":"Page","pdfviewer.of":"of","pdfviewer.zoom":"Zoom","pdfviewer.fitPage":"Fit page","pdfviewer.fitWidth":"Fit width","pdfviewer.download":"Download","pdfviewer.print":"Print","pdfviewer.search":"Search in document","pdfviewer.bookmark":"Bookmarks","pdfviewer.thumbnail":"Thumbnails","picklist.available":"Available","picklist.selected":"Selected","picklist.addAll":"Add all","picklist.removeAll":"Remove all","picklist.filter":"Filter items","scheduling.calendar":"Calendar","scheduling.event":"Event","scheduling.allDay":"All day","scheduling.today":"Today","scheduling.week":"Week","scheduling.month":"Month","scheduling.year":"Year","scheduling.day":"Day","scheduling.agenda":"Agenda","scheduling.addEvent":"Add event","scheduling.editEvent":"Edit event","scheduling.deleteEvent":"Delete event","scheduling.noEvents":"No events","shortcuts.title":"Keyboard shortcuts","shortcuts.description":"Available shortcuts","shortcuts.key":"Key","shortcuts.command":"Command","shortcuts.search":"Search shortcuts","signature.clear":"Clear","signature.save":"Save","signature.sign":"Sign here","signature.draw":"Draw your signature","spreadsheet.cell":"Cell","spreadsheet.row":"Row","spreadsheet.column":"Column","spreadsheet.formula":"Formula","spreadsheet.insert":"Insert","spreadsheet.delete":"Delete","spreadsheet.sort":"Sort","spreadsheet.sortAsc":"Sort ascending","spreadsheet.sortDesc":"Sort descending","spreadsheet.filter":"Filter","spreadsheet.export":"Export","spreadsheet.import":"Import","spreadsheet.addRow":"Add row","spreadsheet.addColumn":"Add column","spreadsheet.deleteRow":"Delete row","spreadsheet.deleteColumn":"Delete column","spreadsheet.freezeRow":"Freeze row","spreadsheet.freezeColumn":"Freeze column","spreadsheet.merge":"Merge cells","spreadsheet.unmerge":"Unmerge cells","terminal.run":"Run","terminal.clear":"Clear","terminal.copy":"Copy","terminal.paste":"Paste","terminal.newSession":"New session","terminal.closeSession":"Close session","terminal.selectAll":"Select all","theme.light":"Light","theme.dark":"Dark","theme.system":"System","theme.custom":"Custom","theme.colors":"Colors","theme.fonts":"Fonts","theme.apply":"Apply theme","theme.preview":"Preview","theme.reset":"Reset to default","theme.gallery":"Theme gallery","users.profile":"Profile","users.settings":"Settings","users.permissions":"Permissions","users.role":"Role","users.active":"Active","users.inactive":"Inactive","users.online":"Online","users.offline":"Offline","users.lastSeen":"Last seen","wm.close":"Close","wm.minimize":"Minimize","wm.maximize":"Maximize","wm.restore":"Restore","wm.tile":"Tile windows","wm.cascade":"Cascade windows","wm.closeAll":"Close all","wm.minimizeAll":"Minimize all","wm.newWindow":"New window","wm.moveToFront":"Move to front","noCode.title":"No-Code Studio","noCode.description":"Build applications visually","noCode.newProject":"New Project","noCode.openProject":"Open Project","noCode.saveProject":"Save Project","noCode.exportProject":"Export Project","noCode.importProject":"Import Project","noCode.projectName":"Project Name","noCode.projectSettings":"Project Settings","noCode.recentProjects":"Recent Projects","noCode.templates":"Templates","noCode.preview":"Preview","noCode.codeView":"Code View","noCode.splitView":"Split View","noCode.visualView":"Visual View","noCode.generate":"Generate Code","noCode.deploy":"Deploy","noCode.componentDesigner.title":"Component Designer","noCode.componentDesigner.newComponent":"New Component","noCode.componentDesigner.componentName":"Component Name","noCode.componentDesigner.addProp":"Add Prop","noCode.componentDesigner.editProp":"Edit Prop","noCode.componentDesigner.deleteProp":"Delete Prop","noCode.componentDesigner.propName":"Prop Name","noCode.componentDesigner.propType":"Prop Type","noCode.componentDesigner.propRequired":"Required","noCode.componentDesigner.propDefault":"Default Value","noCode.componentDesigner.addState":"Add State","noCode.componentDesigner.stateName":"State Name","noCode.componentDesigner.stateType":"State Type","noCode.componentDesigner.stateDefault":"Initial Value","noCode.componentDesigner.addHook":"Add Hook","noCode.componentDesigner.hooks":"Hooks","noCode.componentDesigner.template":"Template","noCode.componentDesigner.styles":"Styles","noCode.componentDesigner.events":"Events","noCode.componentDesigner.palette":"Component Palette","noCode.componentDesigner.dragDrop":"Drag components here","noCode.pageBuilder.title":"Page Builder","noCode.pageBuilder.newPage":"New Page","noCode.pageBuilder.pageName":"Page Name","noCode.pageBuilder.pageRoute":"Route Path","noCode.pageBuilder.addSection":"Add Section","noCode.pageBuilder.editSection":"Edit Section","noCode.pageBuilder.deleteSection":"Delete Section","noCode.pageBuilder.sectionLayout":"Section Layout","noCode.pageBuilder.columns":"Columns","noCode.pageBuilder.responsive":"Responsive","noCode.pageBuilder.mobile":"Mobile","noCode.pageBuilder.tablet":"Tablet","noCode.pageBuilder.desktop":"Desktop","noCode.pageBuilder.showGrid":"Show Grid","noCode.pageBuilder.hideGrid":"Hide Grid","noCode.pageBuilder.metadata":"Page Metadata","noCode.pageBuilder.seo":"SEO Settings","noCode.stateDesigner.title":"State Designer","noCode.stateDesigner.newStore":"New Store","noCode.stateDesigner.storeName":"Store Name","noCode.stateDesigner.storeType":"Store Type","noCode.stateDesigner.addState":"Add State Field","noCode.stateDesigner.addAction":"Add Action","noCode.stateDesigner.editAction":"Edit Action","noCode.stateDesigner.deleteAction":"Delete Action","noCode.stateDesigner.actionName":"Action Name","noCode.stateDesigner.actionParams":"Parameters","noCode.stateDesigner.actionBody":"Action Body","noCode.stateDesigner.asyncAction":"Async Action","noCode.stateDesigner.addSelector":"Add Selector","noCode.stateDesigner.selectorName":"Selector Name","noCode.stateDesigner.selectorBody":"Selector Logic","noCode.stateDesigner.persistence":"Persistence","noCode.stateDesigner.devtools":"DevTools","noCode.apiFlow.title":"API Flow Designer","noCode.apiFlow.newEndpoint":"New Endpoint","noCode.apiFlow.endpointUrl":"Endpoint URL","noCode.apiFlow.method":"HTTP Method","noCode.apiFlow.headers":"Headers","noCode.apiFlow.body":"Request Body","noCode.apiFlow.response":"Response","noCode.apiFlow.auth":"Authentication","noCode.apiFlow.authType":"Auth Type","noCode.apiFlow.bearerToken":"Bearer Token","noCode.apiFlow.apiKey":"API Key","noCode.apiFlow.testEndpoint":"Test Endpoint","noCode.apiFlow.mockResponse":"Mock Response","noCode.apiFlow.errorHandling":"Error Handling","noCode.apiFlow.retry":"Retry Policy","noCode.apiFlow.cache":"Caching","noCode.dataMapper.title":"Data Mapper","noCode.dataMapper.sourceSchema":"Source Schema","noCode.dataMapper.targetSchema":"Target Schema","noCode.dataMapper.addMapping":"Add Mapping","noCode.dataMapper.editMapping":"Edit Mapping","noCode.dataMapper.deleteMapping":"Delete Mapping","noCode.dataMapper.sourceField":"Source Field","noCode.dataMapper.targetField":"Target Field","noCode.dataMapper.transform":"Transform","noCode.dataMapper.validation":"Validation","noCode.dataMapper.testData":"Test Data","noCode.dataMapper.preview":"Preview Result","noCode.dataMapper.autoMap":"Auto Map","noCode.eventOrchestrator.title":"Event Orchestrator","noCode.eventOrchestrator.newFlow":"New Event Flow","noCode.eventOrchestrator.flowName":"Flow Name","noCode.eventOrchestrator.trigger":"Trigger","noCode.eventOrchestrator.triggerType":"Trigger Type","noCode.eventOrchestrator.addHandler":"Add Handler","noCode.eventOrchestrator.editHandler":"Edit Handler","noCode.eventOrchestrator.deleteHandler":"Delete Handler","noCode.eventOrchestrator.handlerName":"Handler Name","noCode.eventOrchestrator.debounce":"Debounce","noCode.eventOrchestrator.throttle":"Throttle","noCode.eventOrchestrator.delay":"Delay","noCode.eventOrchestrator.condition":"Condition","noCode.eventOrchestrator.chain":"Chain Events","noCode.testBuilder.title":"Test Builder","noCode.testBuilder.newTest":"New Test","noCode.testBuilder.testName":"Test Name","noCode.testBuilder.testDescription":"Description","noCode.testBuilder.addScenario":"Add Scenario","noCode.testBuilder.editScenario":"Edit Scenario","noCode.testBuilder.deleteScenario":"Delete Scenario","noCode.testBuilder.addAssertion":"Add Assertion","noCode.testBuilder.assertionType":"Assertion Type","noCode.testBuilder.expected":"Expected Value","noCode.testBuilder.actual":"Actual Value","noCode.testBuilder.mock":"Mock Setup","noCode.testBuilder.runTests":"Run Tests","noCode.testBuilder.testsPassed":"Tests Passed","noCode.testBuilder.testsFailed":"Tests Failed","noCode.testBuilder.coverage":"Coverage","noCode.testBuilder.accessibility":"Accessibility Check","noCode.codeTemplate.title":"Code Templates","noCode.codeTemplate.newTemplate":"New Template","noCode.codeTemplate.templateName":"Template Name","noCode.codeTemplate.templateEngine":"Template Engine","noCode.codeTemplate.variables":"Variables","noCode.codeTemplate.addVariable":"Add Variable","noCode.codeTemplate.variableName":"Variable Name","noCode.codeTemplate.variableType":"Variable Type","noCode.codeTemplate.variableDefault":"Default Value","noCode.codeTemplate.generateFiles":"Generate Files","noCode.codeTemplate.outputPath":"Output Path","noCode.codeTemplate.presets":"Presets","noCode.codeTemplate.presetReact":"React Component","noCode.codeTemplate.presetNextPage":"Next.js Page","noCode.codeTemplate.presetHook":"Custom Hook","noCode.codeTemplate.presetStore":"Store Module","noCode.codePreview.title":"Code Preview","noCode.codePreview.showDiff":"Show Diff","noCode.codePreview.hideDiff":"Hide Diff","noCode.codePreview.copyCode":"Copy Code","noCode.codePreview.downloadCode":"Download Code","noCode.codePreview.importCode":"Import Code","noCode.codePreview.language":"Language","noCode.codePreview.format":"Format Code","noCode.codePreview.linesChanged":"Lines Changed","noCode.codePreview.noChanges":"No Changes","vectorEditor.menu.file":"File","vectorEditor.menu.edit":"Edit","vectorEditor.menu.object":"Object","vectorEditor.menu.path":"Path","vectorEditor.menu.view":"View","vectorEditor.menu.newCanvas":"New canvas","vectorEditor.menu.openSvg":"Open SVG…","vectorEditor.menu.pasteSvg":"Paste SVG…","vectorEditor.menu.exportSvg":"Export SVG","vectorEditor.menu.exportPng":"Export PNG","vectorEditor.menu.exportJpg":"Export JPG","vectorEditor.menu.exportWebp":"Export WebP","vectorEditor.menu.exportBmp":"Export BMP","vectorEditor.menu.saveToLibrary":"📦 Save to Library","vectorEditor.menu.exportIconSnippet":"📋 Export Icon Snippet","vectorEditor.menu.exportIcon":"📋 Export Icon","vectorEditor.menu.undo":"Undo (Ctrl+Z)","vectorEditor.menu.redo":"Redo (Ctrl+Y)","vectorEditor.menu.copy":"Copy (Ctrl+C)","vectorEditor.menu.paste":"Paste (Ctrl+V)","vectorEditor.menu.duplicate":"Duplicate (Ctrl+D)","vectorEditor.menu.delete":"Delete (Del)","vectorEditor.menu.bringToFront":"Bring to Front","vectorEditor.menu.sendToBack":"Send to Back","vectorEditor.menu.flipH":"Flip Horizontal","vectorEditor.menu.flipV":"Flip Vertical","vectorEditor.menu.alignLeft":"Align Left","vectorEditor.menu.alignCenter":"Align Center","vectorEditor.menu.alignRight":"Align Right","vectorEditor.menu.union":"Union (∪)","vectorEditor.menu.subtract":"Subtract (−)","vectorEditor.menu.intersect":"Intersect (∩)","vectorEditor.menu.exclude":"Exclude (⊕)","vectorEditor.menu.outlineStroke":"Outline stroke","vectorEditor.menu.snapToGrid":"Snap to grid","vectorEditor.menu.snap":"Snap","vectorEditor.menu.secondShape":"2nd Shape","vectorEditor.tabs.properties":"Properties","vectorEditor.tabs.layers":"Layers","vectorEditor.tabs.library":"Library","vectorEditor.tabs.timeline":"Timeline","vectorEditor.timeline.preset":"Preset","vectorEditor.timeline.duration":"Duration (ms)","vectorEditor.timeline.repeat":"Repeat","vectorEditor.timeline.direction":"Direction","vectorEditor.timeline.remove":"Remove animation","vectorEditor.timeline.play":"Play","vectorEditor.timeline.pause":"Pause","vectorEditor.timeline.stop":"Stop","vectorEditor.timeline.copyCss":"Copy CSS","vectorEditor.timeline.keyframes":"Keyframes","vectorEditor.timeline.addKeyframe":"+ Add keyframe","vectorEditor.timeline.noSelection":"Select a shape to animate.","vectorEditor.timeline.animationTitle":"Animation","vectorEditor.timeline.playbackTitle":"Playback","vectorEditor.timeline.attachHint":"Select a shape to attach an animation.","vectorEditor.timeline.playLabel":"▶ Play","vectorEditor.timeline.pauseLabel":"⏸ Pause","vectorEditor.timeline.stopLabel":"⏹ Stop","vectorEditor.timeline.copyCssKeyframes":"📋 Copy CSS keyframes","vectorEditor.timeline.tLabel":"t","vectorEditor.layers.empty":"No layers yet. Use the tools to draw, or insert from the Library tab.","vectorEditor.layers.moveUp":"Move up","vectorEditor.layers.moveDown":"Move down","vectorEditor.library.passProp":"Pass a library prop to NiceVectorEditor to populate this tab with insertable icons.","vectorEditor.statusBar.zoom":"Zoom","vectorEditor.statusBar.shapes":"shape(s)","vectorEditor.statusBar.selected":"Selected","vectorEditor.statusBar.snap":"Snap","vectorEditor.library.empty":"No icons in library.","vectorEditor.snippet.title":"✅ Icon snippet copied to clipboard","vectorEditor.snippet.pasteHint":"Paste into","vectorEditor.snippet.copyAgain":"Copy again","vectorEditor.snippet.close":"Close","vectorEditor.properties.appearance":"Appearance","vectorEditor.properties.fill":"Fill","vectorEditor.properties.solid":"Solid","vectorEditor.properties.gradient":"Gradient","vectorEditor.properties.hideEditor":"▼ Hide Editor","vectorEditor.properties.editGradient":"► Edit Gradient","vectorEditor.properties.type":"Type","vectorEditor.properties.linear":"Linear","vectorEditor.properties.radial":"Radial","vectorEditor.properties.angle":"Angle","vectorEditor.properties.cx":"CX","vectorEditor.properties.cy":"CY","vectorEditor.properties.r":"R","vectorEditor.properties.colorStops":"Color Stops:","vectorEditor.properties.addStop":"+ Add Stop","vectorEditor.properties.removeStop":"- Remove","vectorEditor.properties.stroke":"Stroke","vectorEditor.properties.width":"Width","vectorEditor.properties.opacity":"Opacity","vectorEditor.properties.rotation":"Rotation","vectorEditor.properties.toolOptions":"Tool Options","vectorEditor.properties.radius":"Radius","vectorEditor.properties.sides":"Sides","vectorEditor.properties.points":"Points","vectorEditor.properties.innerR":"Inner R","vectorEditor.properties.size":"Size","vectorEditor.properties.font":"Font","vectorEditor.properties.grid":"Grid","vectorEditor.properties.transform":"Transform","vectorEditor.properties.x":"X","vectorEditor.properties.y":"Y","vectorEditor.properties.w":"W","vectorEditor.properties.h":"H","vectorEditor.layers.title":"Layers","vectorEditor.layers.show":"Show","vectorEditor.layers.hide":"Hide","vectorEditor.layers.lock":"Lock","vectorEditor.layers.unlock":"Unlock"},wi={ok:"OK",cancel:"Anuluj",save:"Zapisz",close:"Zamknij",delete:"Usuń",edit:"Edytuj",add:"Dodaj",remove:"Usuń",search:"Szukaj",filter:"Filtruj",refresh:"Odśwież",loading:"Ładowanie…",noData:"Brak danych",error:"Błąd",success:"Sukces",warning:"Ostrzeżenie",info:"Informacja",yes:"Tak",no:"Nie",confirm:"Potwierdź",back:"Wstecz",next:"Dalej",previous:"Poprzedni",finish:"Zakończ",submit:"Wyślij",reset:"Resetuj",apply:"Zastosuj",undo:"Cofnij",redo:"Ponów",copy:"Kopiuj",cut:"Wytnij",paste:"Wklej",selectAll:"Zaznacz wszystko",clear:"Wyczyść",upload:"Prześlij",download:"Pobierz",print:"Drukuj",export:"Eksportuj",import:"Importuj",settings:"Ustawienia",help:"Pomoc",about:"O programie",more:"Więcej",less:"Mniej",show:"Pokaż",hide:"Ukryj",expand:"Rozwiń",collapse:"Zwiń",enabled:"Włączony",disabled:"Wyłączony",required:"Wymagane",optional:"Opcjonalne",actions:"Akcje",details:"Szczegóły",overview:"Przegląd",all:"Wszystkie",none:"Żaden",selected:"Zaznaczono",total:"Razem",of:"z",items:"elementów",page:"Strona",rows:"Wiersze","app.name":"Aplikacja","app.version":"Wersja","app.about":"O programie","nav.home":"Strona główna","nav.back":"Wstecz","nav.forward":"Dalej","nav.menu":"Menu","nav.sidebar":"Panel boczny","nav.search":"Szukaj","nav.favorites":"Ulubione","nav.recent":"Ostatnie","nav.notifications":"Powiadomienia","nav.profile":"Profil","nav.logout":"Wyloguj się","nav.help":"Pomoc","navShell.home.title":"Pulpit","navShell.help.next":"Dalej","navShell.help.back":"Wstecz","navShell.help.finish":"Zakończ","navShell.help.skip":"Pomiń","navShell.help.stepOf":"z","navShell.help.topNav.title":"Górny pasek","navShell.help.topNav.body":"Z górnego paska zmienisz workspace, wyszukasz treści, zmienisz motyw lub język i sprawdzisz powiadomienia.","navShell.help.sidebar.title":"Panel boczny","navShell.help.sidebar.body":"Przeglądaj dostępne widoki pogrupowane w sekcje. Wybierz widok, aby otworzyć go w nowej karcie.","navShell.help.tabs.title":"Karty","navShell.help.tabs.body":"Każdy otwarty widok ma własną kartę. Przypnij te najczęściej używane, a prawym przyciskiem otworzysz dodatkowe akcje.","navShell.help.content.title":"Obszar roboczy","navShell.help.content.body":"Tutaj wyświetla się aktywny widok. Zmiana karty lub pozycji w panelu bocznym podmienia zawartość w tym miejscu.","navShell.home.subtitle":"Wróć tam, gdzie skończyłeś.","navShell.home.empty":"Otwórz widok z panelu bocznego lub kart powyżej, aby wypełnić obszar roboczy.","navShell.home.greeting.morning":"Dzień dobry","navShell.home.greeting.afternoon":"Miłego popołudnia","navShell.home.greeting.evening":"Dobry wieczór","navShell.home.greeting.night":"Witaj","navShell.home.sections.openTabs":"Otwarte teraz","navShell.home.sections.shortcuts":"Twoje skróty","navShell.home.sections.allViews":"Wszystkie widoki","tutorial.play":"Odtwórz","tutorial.pause":"Pauza","tutorial.speed":"Prędkość","tutorial.close":"Zamknij","tutorial.start":"Samouczek","tutorial.startAria":"Uruchom samouczek","tutorial.next":"Dalej","tutorial.back":"Wstecz","tutorial.finish":"Zakończ","tutorial.skip":"Pomiń","tutorial.stepOf":"z","tutorial.moduleEditor.browser.title":"Przeglądarka modułów","tutorial.moduleEditor.browser.content":"Wybierz moduł, aby otworzyć jego manifest, encje i tłumaczenia.","tutorial.moduleEditor.validate.title":"Walidacja","tutorial.moduleEditor.validate.content":"Sprawdź moduł względem schematu manifestu. Problemy pojawią się na pasku statusu i w logach.","tutorial.moduleEditor.save.title":"Zapis","tutorial.moduleEditor.save.content":"Zapisz zmiany przez skonfigurowany data provider (np. zapis plików na dysk).","tutorial.manifestEditor.intro.title":"Edytor manifestu","tutorial.manifestEditor.intro.content":"Edytuj manifest w sekcjach opartych na schemacie. Przełączaj Formularz ⇄ JSON w sekcji; walidacja widoczna na pasku statusu.","tutorial.schemaForm.intro.title":"Formularz ze schematu","tutorial.schemaForm.intro.content":"Ten formularz jest generowany ze schematu. Pola wymagane i błędy walidacji są oznaczane; użyj przełącznika JSON do edycji surowej.","tutorial.entityEditor.intro.title":"Edytor encji","tutorial.entityEditor.intro.content":"Dodawaj encje po lewej, a po prawej edytuj metadane encji i jej pola (typ, klucze, ograniczenia).","tutorial.i18nEditor.intro.title":"Tłumaczenia","tutorial.i18nEditor.intro.content":"Edytuj tłumaczenia w siatce klucze × locale. Dodawaj klucze i języki; bursztynowe komórki oznaczają braki.","tutorial.formBuilder.intro.title":"Kreator formularzy","tutorial.formBuilder.intro.content":"Przeciągaj pola z palety na kanwę, a potem konfiguruj każde pole w panelu właściwości. Na koniec wyeksportuj schemat.","tutorial.formDesigner.intro.title":"Projektant formularzy","tutorial.formDesigner.intro.content":"Projektuj formularze z sekcjami, lookupami i polami wyliczanymi; powiąż je z encją i podglądaj na żywo.","tutorial.paymentProviderConfig.intro.title":"Dostawca płatności","tutorial.paymentProviderConfig.intro.content":"Wybierz dostawcę, uzupełnij dane (sekrety są maskowane), wybierz test/live, włącz metody i skopiuj URL webhooka.","tutorial.webhookTester.intro.title":"Tester webhooków","tutorial.webhookTester.intro.content":"Wybierz zapisany payload (lub napisz własny), opcjonalnie go podpisz, wyślij na endpoint i sprawdź odpowiedź.","tutorial.apiDesigner.intro.title":"Projektant API","tutorial.apiDesigner.intro.content":"Zdefiniuj endpointy, parametry, schematy żądań/odpowiedzi i zabezpieczenia dokumentu OpenAPI.","tutorial.apiTester.intro.title":"Tester API","tutorial.apiTester.intro.content":"Buduj żądania z kolekcjami i zmiennymi środowiska, wysyłaj je i sprawdzaj asercje na odpowiedziach.","tutorial.integrationBuilder.intro.title":"Kreator integracji","tutorial.integrationBuilder.intro.content":"Połącz przepływ węzłów (wyzwalacze → akcje → obsługa błędów), aby zbudować integrację.","tutorial.scriptRunner.intro.title":"Runner skryptów","tutorial.scriptRunner.intro.content":"Napisz skrypt i przykładowe dane wejściowe, kliknij Uruchom, a poniżej sprawdź wynik i przechwycone logi.","tutorial.lifecycleHooks.intro.title":"Haki cyklu życia","tutorial.lifecycleHooks.intro.content":"Przypisz uchwyty do każdego wyzwalacza, ustaw ich kolejność i flagę włączenia oraz dodaj opcjonalny warunek wykonania.","tutorial.revisionHistory.intro.title":"Historia wersji","tutorial.revisionHistory.intro.content":"Wybierz wersję, wskaż drugą do porównania, przejrzyj różnice obok siebie, a w razie potrzeby przywróć wcześniejszą wersję.","tutorial.markdownEditor.intro.title":"Edytor Markdown","tutorial.markdownEditor.intro.content":"Pisz w Markdown za pomocą paska formatowania; włącz podgląd na żywo, aby zobaczyć wynik, i eksportuj do HTML.","tutorial.htmlEditor.intro.title":"Edytor tekstu sformatowanego","tutorial.htmlEditor.intro.content":"Formatuj tekst paskiem narzędzi, wstawiaj linki, obrazy i tabele oraz przełączaj się na źródło HTML lub Markdown, gdy tego potrzebujesz.","tutorial.documentEditor.intro.title":"Edytor dokumentów","tutorial.documentEditor.intro.content":"Twórz dokument z bloków: użyj paska narzędzi lub komend slash, aby dodać nagłówki, listy, media i więcej, a następnie wyeksportuj do HTML.","tutorial.codeEditor.intro.title":"Edytor kodu","tutorial.codeEditor.intro.content":"Edytuj kod z podświetlaniem składni, IntelliSense i paskiem narzędzi. Ctrl+S zapisuje; pasek stanu pokazuje pozycję kursora i ewentualne problemy.","tutorial.kanbanBoard.intro.title":"Tablica Kanban","tutorial.kanbanBoard.intro.content":'Przeciągaj karty między kolumnami, aby zmienić ich status, dodawaj karty przyciskiem „+", a kliknij kartę, aby edytować jej szczegóły.',"tutorial.queryBuilder.intro.title":"Kreator zapytań","tutorial.queryBuilder.intro.content":"Dodawaj tabele, wybieraj kolumny, definiuj złączenia, warunki i sortowanie wizualnie — SQL zostanie wygenerowany automatycznie. Przejdź na kartę SQL, aby go sprawdzić.","tutorial.stateDesigner.intro.title":"Projektant stanu","tutorial.stateDesigner.intro.content":"Modeluj magazyn jako wycinki z polami i akcjami, wybierz cel (np. Zustand) i wyeksportuj gotowy kod zarządzania stanem.","tutorial.componentDesigner.intro.title":"Projektant komponentów","tutorial.componentDesigner.intro.content":"Nazwij komponent, zadeklaruj jego właściwości wraz z typami i wymaganiami oraz zobacz na żywo wygenerowany interfejs TypeScript.","tutorial.pageBuilder.intro.title":"Kreator stron","tutorial.pageBuilder.intro.content":"Przeciągaj komponenty z paska bocznego na responsywną siatkę, przełączaj podgląd desktop/tablet/mobile i zapisz układ.","tutorial.lowCodeStudio.intro.title":"Studio low-code","tutorial.lowCodeStudio.intro.content":"Przeciągaj komponenty z paska bocznego na kanwę, a następnie przełączaj się między kartami Projekt, Podgląd i Kod, aby zbudować i wyeksportować aplikację.","tutorial.testBuilder.intro.title":"Kreator testów","tutorial.testBuilder.intro.content":"Buduj zestawy testów wizualnie: dodawaj przypadki i kroki interakcji z asercjami, uruchamiaj je i eksportuj do gotowego pliku .test.tsx.","tutorial.workflowDesigner.intro.title":"Projektant przepływów","tutorial.workflowDesigner.intro.content":"Dodawaj stany i przejścia na kanwie, sprawdzaj poprawność przepływu, symuluj go, a następnie testuj lub publikuj swój workflow.","tutorial.themeBuilder.intro.title":"Kreator motywów","tutorial.themeBuilder.intro.content":"Zacznij od gotowego motywu, dostosuj kolory, typografię i inne tokeny według sekcji, podglądaj na żywo, a następnie zastosuj lub wyeksportuj motyw.","tutorial.filterBuilder.intro.title":"Kreator filtrów","tutorial.filterBuilder.intro.content":"Buduj złożone drzewa filtrów AND/OR: dodawaj warunki i zagnieżdżone grupy, wybieraj pola i operatory oraz zapisuj wielokrotnego użytku presety.","tutorial.diagramDesigner.intro.title":"Projektant diagramów","tutorial.diagramDesigner.intro.content":"Przeciągaj kształty z palety na kanwę, łącz je konektorami, edytuj właściwości po prawej, a następnie eksportuj do SVG, PNG lub JSON.","tutorial.reportBuilder.intro.title":"Kreator raportów","tutorial.reportBuilder.intro.content":"Przeciągaj sekcje na raport, wiąż je ze źródłami danych, układaj układ, a następnie eksportuj do PDF, HTML lub XLSX.","tutorial.erpReportDesigner.intro.title":"Projektant raportów","tutorial.erpReportDesigner.intro.content":"Projektuj raporty pasmowe: umieszczaj elementy (pola, wyrażenia, wykresy) w pasmach, wiąż połączenia danych, edytuj właściwości, a następnie podglądaj i eksportuj.","tutorial.recipeEditor.intro.title":"Edytor przepisów","tutorial.recipeEditor.intro.content":"Edytuj szczegóły przepisu, dodawaj i zmieniaj kolejność składników i kroków, dołączaj zdjęcia oraz importuj lub eksportuj przepis jako JSON.","tutorial.pipelineEditor.intro.title":"Edytor pipeline’ów","tutorial.pipelineEditor.intro.content":"Zbuduj pipeline CI/CD z etapów, zadań i kroków; ustaw wyzwalacze, zmienne i sekrety; następnie sprawdź, zapisz i uruchom go.","tutorial.mergeRequestBuilder.intro.title":"Kreator merge requestów","tutorial.mergeRequestBuilder.intro.content":"Wybierz gałąź źródłową i docelową, napisz tytuł i opis, dodaj recenzentów, etykiety i powiązane zgłoszenia, a następnie podejrzyj i wyślij.","tutorial.automationRuleEditor.intro.title":"Edytor reguł automatyzacji","tutorial.automationRuleEditor.intro.content":"Zdefiniuj wyzwalacz, dodaj opcjonalne warunki, a następnie wypisz akcje do wykonania — przełączaj się między trzema sekcjami za pomocą kart.","tutorial.sceneActionBuilder.intro.title":"Kreator akcji sceny","tutorial.sceneActionBuilder.intro.content":"Dodaj akcję dla każdego urządzenia, ustaw jego stan docelowy i opcjonalne opóźnienie, zmieniaj kolejność i podglądaj sekwencję sceny.","tutorial.backupTagEditor.intro.title":"Tagi kopii zapasowej","tutorial.backupTagEditor.intro.content":"Otaguj tę kopię zapasową dla łatwego odnalezienia: wpisz etykietę i wybierz kolor lub dodaj jeden z sugerowanych tagów; tagi automatyczne są chronione.","tutorial.dataMergeBuilder.intro.title":"Scalanie danych","tutorial.dataMergeBuilder.intro.content":"Przejdź przez kroki: wybierz gałąź źródłową i docelową, podejrzyj zmiany, rozwiąż konflikty, ustaw opcje, a następnie potwierdź scalanie.","tutorial.invoiceLineEditor.intro.title":"Pozycje faktury","tutorial.invoiceLineEditor.intro.content":"Dodawaj pozycje z ilością, ceną jednostkową, VAT i rabatem — kwoty netto, brutto i rozbicie VAT są obliczane automatycznie.","tutorial.keyValueEditor.intro.title":"Edytor klucz/wartość","tutorial.keyValueEditor.intro.content":"Dodawaj wiersze klucz/wartość dla nagłówków, parametrów, zmiennych środowiskowych lub konfiguracji; maskuj sekrety, włączaj/wyłączaj wiersze i wykrywaj duplikaty kluczy.","tutorial.imageEditor.intro.title":"Edytor obrazów","tutorial.imageEditor.intro.content":"Użyj paska narzędzi, aby przyciąć, obrócić, odbić, dostosować jasność/kontrast i dodać adnotacje; cofaj/ponawiaj zmiany, a następnie zapisz wynik.","tutorial.cropEditor.intro.title":"Edytor kadrowania","tutorial.cropEditor.intro.content":"Przeciągnij ramkę kadrowania na obrazie, wybierz proporcje, obróć, odbij lub przybliż, a następnie użyj wyniku.","tutorial.pdfAnnotationEditor.intro.title":"Adnotacje PDF","tutorial.pdfAnnotationEditor.intro.content":"Wybierz narzędzie z paska (zakreślacz, podkreślenie, odręczne, tekst…), nanieś adnotacje na stronę, przechodź między stronami i przybliżaj w razie potrzeby.","tutorial.videoEditor.intro.title":"Edytor wideo","tutorial.videoEditor.intro.content":"Dodawaj media do ścieżek osi czasu, przycinaj i układaj klipy, edytuj właściwości klipów, podglądaj odtwarzanie, a następnie eksportuj wideo.","tutorial.viewBuilder.intro.title":"Kreator widoków","tutorial.viewBuilder.intro.content":"Przeciągaj kontrolki z palety do komórek siatki, konfiguruj każdą komórkę w panelu właściwości oraz importuj, eksportuj lub zapisz widok.","tutorial.dashboardDesigner.intro.title":"Projektant dashboardów","tutorial.dashboardDesigner.intro.content":"Przeciągaj widżety z palety na siatkę, zmieniaj ich rozmiar i układ, konfiguruj każdy w panelu właściwości, a następnie podglądaj lub eksportuj dashboard.","tutorial.workflowDesignerCanvas.intro.title":"Projektant przepływów","tutorial.workflowDesignerCanvas.intro.content":"Dodawaj na kanwę węzły wyzwalaczy, akcji i warunków i łącz je; zarządzaj zmiennymi, sprawdzaj poprawność przepływu, a następnie eksportuj.","tutorial.armatureEditor.intro.title":"Edytor szkieletu","tutorial.armatureEditor.intro.content":"Zaznaczaj kości, aby edytować ich transformacje, dodawaj lub zmieniaj rodzica kości, konfiguruj łańcuchy IK oraz zapisuj i wczytuj pozy.","tutorial.morphTargetEditor.intro.title":"Edytor morph targetów","tutorial.morphTargetEditor.intro.content":"Mieszaj morph targety siatki suwakami wpływu, twórz lub usuwaj cele i podglądaj interpolację.","tutorial.terrainEditor.intro.title":"Edytor terenu","tutorial.terrainEditor.intro.content":"Rzeźb mapę wysokości pędzlami (podnieś, obniż, spłaszcz, wygładź, szum), nakładaj warstwy tekstur, generuj teren proceduralnie oraz importuj/eksportuj mapy wysokości.","tutorial.materialEditor.intro.title":"Edytor materiałów","tutorial.materialEditor.intro.content":"Zbuduj shader jako graf węzłów: przeciągaj węzły z palety, łącz ich porty, edytuj właściwości i podglądaj skompilowany materiał.","tutorial.particleEditor.intro.title":"Edytor cząstek","tutorial.particleEditor.intro.content":"Wybierz system cząstek, dostrój jego emiter i moduły w inspektorze oraz odtwarzaj, pauzuj lub zatrzymuj podgląd na żywo.","tutorial.uvEditor.intro.title":"Edytor UV","tutorial.uvEditor.intro.content":"Edytuj układ UV siatki na teksturze: zaznaczaj i przekształcaj UV narzędziami, przełączaj kanały UV i zatwierdzaj zmiany.","tutorial.fontEditor.intro.title":"Edytor fontów","tutorial.fontEditor.intro.content":"Edytuj glify na siatce unicode, dostosuj metryki fontu oraz ścieżki i odstępy poszczególnych glifów, a następnie wyeksportuj font.","tutorial.iconEditor.intro.title":"Edytor ikon","tutorial.iconEditor.intro.content":"Rysuj i edytuj kształty SVG na siatce, dostosuj ustawienia obrysu i wariantu, podglądaj na różnych tłach i eksportuj do SVG, React lub PNG.","tutorial.uiDesigner.intro.title":"Projektant UI","tutorial.uiDesigner.intro.content":"Przeciągaj komponenty z palety na kanwę, edytuj ich właściwości w panelu, podglądaj responsywne punkty i eksportuj do React/TSX.","tutorial.gameEditor.intro.title":"Edytor gier","tutorial.gameEditor.intro.content":"Buduj scenę w widoku, korzystając z paneli hierarchii i zasobów, dostrajaj encje w inspektorze i zapisz projekt.","tutorial.levelEditor.intro.title":"Edytor poziomów","tutorial.levelEditor.intro.content":"Buduj świat gry: rozmieszczaj i przyciągaj obiekty na warstwach, maluj teren, układaj splajny i światła, a następnie wypiecz lightmapy.","tutorial.gameMaterialEditor.intro.title":"Edytor materiałów","tutorial.gameMaterialEditor.intro.content":"Twórz shader jako graf węzłów: dodawaj i łącz węzły shadera, edytuj ich właściwości i kompiluj materiał.","tutorial.gameParticleEditor.intro.title":"Edytor cząstek","tutorial.gameParticleEditor.intro.content":"Dostrój system cząstek w inspektorze — emiter, czas życia, krzywe i renderowanie — oraz odtwarzaj, pauzuj lub restartuj podgląd na żywo.","tutorial.floorPlanEditor.intro.title":"Edytor rzutu kondygnacji","tutorial.floorPlanEditor.intro.content":"Rysuj pomieszczenia i strefy narzędziami, rozmieszczaj urządzenia na planie, przełączaj kondygnacje i włączaj nakładki, takie jak wymiary, siatka i obłożenie.","tutorial.buildingSceneEditor.intro.title":"Edytor scen","tutorial.buildingSceneEditor.intro.content":"Twórz sceny ustawiające wiele urządzeń naraz: wybierz scenę, określ stany docelowe urządzeń, a następnie zapisz lub aktywuj.","tutorial.buildingAutomationEditor.intro.title":"Edytor automatyzacji","tutorial.buildingAutomationEditor.intro.content":"Twórz automatyzacje budynku: wybierz jedną z listy, zdefiniuj jej wyzwalacze, warunki i akcje, a następnie zapisz, włącz lub usuń.","tutorial.spatialEditor.intro.title":"Edytor przestrzenny","tutorial.spatialEditor.intro.content":"Projektuj rzuty w różnych trybach: rysuj ściany, pomieszczenia i obiekty narzędziami, zarządzaj warstwami, przyciągaj do siatki i eksportuj.","tutorial.decisionTreeEditor.intro.title":"Edytor drzewa decyzyjnego","tutorial.decisionTreeEditor.intro.content":"Eksploruj drzewo decyzyjne: klikaj węzły, aby sprawdzić warunki i wyniki, włączaj metryki, prawdopodobieństwa i próbki oraz podświetlaj ścieżkę dla danych wejściowych.","tutorial.diagramEditor.intro.title":"Edytor diagramów","tutorial.diagramEditor.intro.content":"Wybierz narzędzie, aby dodawać i łączyć węzły na kanwie, edytuj je w panelu właściwości i eksportuj diagram z paska narzędzi.","tutorial.contractEditor.intro.title":"Edytor umów","tutorial.contractEditor.intro.content":"Złóż umowę z biblioteki klauzul, uzupełnij zmienne szablonu, śledź wersje i zatwierdzenia, a następnie zapisz lub wyeksportuj do PDF/DOCX/HTML.","tutorial.invoiceDesigner.intro.title":"Projektant faktur","tutorial.invoiceDesigner.intro.content":"Przeciągaj elementy na kanwę faktury, wiąż je z polami danych, wyrównuj do siatki i linijek, a następnie zapisz lub wyeksportuj do PDF.","tutorial.presentationEditor.intro.title":"Edytor prezentacji","tutorial.presentationEditor.intro.content":"Buduj slajdy z paska miniatur, dodawaj i układaj elementy na kanwie, edytuj je w panelu właściwości, a następnie prezentuj lub eksportuj.","tutorial.dashboardStudio.intro.title":"Studio dashboardów","tutorial.dashboardStudio.intro.content":"Przeciągaj widżety z palety na siatkę, wiąż je ze źródłami danych, dodawaj filtry, a następnie przełączaj Edycja/Podgląd, odświeżaj i zapisz.","tutorial.biReportBuilder.intro.title":"Kreator raportów","tutorial.biReportBuilder.intro.content":"Przeciągaj elementy z palety na raport, wiąż je ze źródłami danych, przełączaj projekt/podgląd, a następnie eksportuj do PDF lub Excela.","tutorial.etlBuilder.intro.title":"Kreator ETL","tutorial.etlBuilder.intro.content":"Połącz źródła → transformacje → miejsca docelowe w potok, przełączaj widoki, a następnie uruchom go i zapisz konfigurację.","tutorial.videoEditorPro.intro.title":"Edytor wideo","tutorial.videoEditorPro.intro.content":"Dodawaj media na oś czasu, układaj i przycinaj klipy, nakładaj efekty i przejścia, a następnie skonfiguruj i uruchom eksport.","tutorial.mlStudio.intro.title":"Studio ML","tutorial.mlStudio.intro.content":"Przejdź przez karty: przygotuj zbiory danych, uruchom eksperymenty, porównaj i wybierz modele, a następnie wdroż najlepszy.","tutorial.mathEditor.intro.title":"Edytor matematyczny","tutorial.mathEditor.intro.content":"Pisz równania w LaTeX lub wstawiaj symbole z palety; przełącz się na pismo odręczne i podglądaj renderowany wzór na żywo.","tutorial.dmxEditor.intro.title":"Edytor DMX","tutorial.dmxEditor.intro.content":"Wybierz urządzenie i port FTDI, a następnie ustaw wartość każdego kanału DMX suwakami, aby sterować oprawami oświetleniowymi na żywo.","sidebar.menu.open":"Otwórz","sidebar.menu.openNewTab":"Otwórz w nowej karcie","sidebar.menu.openBrowserTab":"Otwórz w nowej karcie przeglądarki","sidebar.menu.pinFavorite":"Dodaj do ulubionych","sidebar.menu.unpinFavorite":"Usuń z ulubionych","sidebar.menu.hide":"Ukryj","sidebar.menu.copyLink":"Kopiuj link","sidebar.menu.pinSource":"Przypnij źródło","sidebar.menu.unpinSource":"Odepnij źródło","sidebar.menu.hideSource":"Ukryj źródło","sidebar.prefs.general":"Ogólne","sidebar.prefs.display":"Wygląd","sidebar.prefs.order":"Kolejność","sidebar.prefs.hidden":"Ukryte elementy","sidebar.prefs.reset":"Reset","sidebar.prefs.general.title":"Ogólne","sidebar.prefs.general.desc":"Zachowanie drzewa nawigacji i to, co robi lewy klik.","sidebar.prefs.general.autoExpand":"Rozwijaj wszystkie gałęzie","sidebar.prefs.general.autoExpandHint":"Po wyłączeniu gałęzie startują zwinięte i zapamiętują ostatni stan sesji.","sidebar.prefs.general.leftClickBehavior":"Zachowanie lewego kliku","sidebar.prefs.general.focusExisting":"Aktywuj istniejącą kartę","sidebar.prefs.general.openNew":"Zawsze otwórz w nowej karcie","sidebar.prefs.general.leftClickHint":'Prawy klik → „Otwórz w nowej karcie" jest zawsze dostępny, niezależnie od tego ustawienia.',"sidebar.prefs.display.title":"Wygląd","sidebar.prefs.display.desc":"Które tryby pokazują się w pasku i jak głębokie ma być drzewo w każdym trybie.","sidebar.prefs.display.enableModeIcons":"Pokaż ikony przełącznika trybów","sidebar.prefs.display.enabledModes":"Widoczne tryby","sidebar.prefs.display.preferencesAlwaysOn":"Preferencje są zawsze widoczne.","sidebar.prefs.display.maxDepth":"Głębokość drzewa per tryb","sidebar.prefs.order.title":"Kolejność elementów","sidebar.prefs.order.desc":"Przeciągnij pozycje, żeby zmienić ich kolejność w wybranym trybie.","sidebar.prefs.order.pickMode":"Tryb","sidebar.prefs.order.visibilityHint":"Kolejność dotyczy elementów top-level wewnątrz każdej grupy źródła. Zwiń nagłówek źródła, aby zobaczyć tylko elementy top-level i sprawdzić efekt zmiany.","sidebar.prefs.order.empty":"Brak elementów do uporządkowania w tym trybie.","sidebar.prefs.order.resetMode":"Przywróć domyślną kolejność","sidebar.prefs.hidden.title":"Ukryte elementy","sidebar.prefs.hidden.desc":"Elementy, które ukryłeś z drzewa. Przywróć, żeby wróciły.","sidebar.prefs.hidden.empty":"Nic jeszcze nie zostało ukryte.","sidebar.prefs.hidden.restore":"Przywróć","sidebar.prefs.reset.title":"Reset","sidebar.prefs.reset.desc":"Wyczyść wszystkie ustawienia i przywróć oryginalny układ panelu bocznego.","sidebar.prefs.reset.button":"Zresetuj wszystkie preferencje","sidebar.prefs.reset.confirm":"To usunie ulubione, ukryte elementy, własną kolejność i wszystkie inne preferencje panelu bocznego. Tej operacji nie da się cofnąć.","sidebar.prefs.reset.confirmYes":"Tak, resetuj wszystko","sidebar.prefs.reset.cancel":"Anuluj","carousel.prev":"Poprzedni slajd","carousel.next":"Następny slajd","carousel.slide":"Slajd","carousel.of":"z","carousel.autoplay":"Autoodtwarzanie","carousel.pause":"Pauza","confirm.yes":"Tak","confirm.no":"Nie","confirm.ok":"OK","confirm.cancel":"Anuluj","confirm.title":"Potwierdzenie","confirm.deleteMessage":"Czy na pewno chcesz to usunąć?","confirm.unsavedChanges":"Masz niezapisane zmiany. Odrzucić?","console.shell":"Powłoka","console.terminal":"Terminal","console.prompt":"Wpisz polecenie…","console.clear":"Wyczyść konsolę","console.run":"Uruchom","console.output":"Wyjście","console.newSession":"Nowa sesja","console.closeSession":"Zamknij sesję","controls.save":"Zapisz","controls.cancel":"Anuluj","controls.delete":"Usuń","controls.edit":"Edytuj","controls.add":"Dodaj","controls.remove":"Usuń","controls.close":"Zamknij","controls.open":"Otwórz","controls.refresh":"Odśwież","controls.new":"Nowy","controls.duplicate":"Duplikuj","controls.sort":"Sortuj","controls.group":"Grupuj","controls.pin":"Przypnij","controls.unpin":"Odepnij","controls.lock":"Zablokuj","controls.unlock":"Odblokuj","controls.share":"Udostępnij","controls.archive":"Archiwizuj","cookie.title":"Zgoda na pliki cookie","cookie.message":"Ta strona używa plików cookie.","cookie.accept":"Zaakceptuj wszystkie","cookie.reject":"Odrzuć wszystkie","cookie.settings":"Ustawienia cookie","cookie.necessary":"Niezbędne","cookie.analytics":"Analityczne","cookie.marketing":"Marketingowe","dashboard.title":"Pulpit","dashboard.addWidget":"Dodaj widżet","dashboard.removeWidget":"Usuń widżet","dashboard.layout":"Układ","dashboard.settings":"Ustawienia","dashboard.customize":"Dostosuj","dashboard.resetLayout":"Resetuj układ","datetime.today":"Dzisiaj","datetime.yesterday":"Wczoraj","datetime.tomorrow":"Jutro","datetime.selectDate":"Wybierz datę","datetime.selectTime":"Wybierz godzinę","datetime.startDate":"Data początkowa","datetime.endDate":"Data końcowa","datetime.startTime":"Godzina rozpoczęcia","datetime.endTime":"Godzina zakończenia","datetime.am":"AM","datetime.pm":"PM","desktop.start":"Start","desktop.taskbar":"Pasek zadań","desktop.systemTray":"Zasobnik systemowy","desktop.wallpaper":"Tapeta","desktop.icons":"Ikony pulpitu","desktop.arrangeIcons":"Ułóż ikony","dock.pin":"Przypnij do doku","dock.unpin":"Odepnij z doku","dock.close":"Zamknij","dock.minimize":"Minimalizuj","dock.maximize":"Maksymalizuj","dock.restore":"Przywróć","docEditor.paragraph":"Akapit","docEditor.heading":"Nagłówek","docEditor.heading1":"Nagłówek 1","docEditor.heading2":"Nagłówek 2","docEditor.heading3":"Nagłówek 3","docEditor.bulletList":"Lista punktowana","docEditor.numberedList":"Lista numerowana","docEditor.quote":"Cytat","docEditor.code":"Blok kodu","docEditor.divider":"Separator","docEditor.image":"Obraz","docEditor.table":"Tabela","docEditor.callout":"Wyróżnienie","docEditor.placeholder":"Zacznij pisać…","docEditor.slashCommand":"Wpisz / aby zobaczyć komendy","files.upload":"Prześlij plik","files.download":"Pobierz","files.delete":"Usuń plik","files.rename":"Zmień nazwę","files.newFolder":"Nowy folder","files.selectFile":"Wybierz plik","files.dropzone":"Upuść pliki tutaj","files.dragDrop":"Przeciągnij i upuść pliki lub kliknij aby wybrać","files.maxSize":"Maksymalny rozmiar pliku","files.fileType":"Typ pliku","forms.required":"To pole jest wymagane","forms.optional":"Opcjonalne","forms.submit":"Wyślij","forms.reset":"Resetuj","forms.validate":"Zweryfikuj","forms.invalid":"Nieprawidłowa wartość","forms.minLength":"Minimalna długość: {0}","forms.maxLength":"Maksymalna długość: {0}","forms.email":"Podaj prawidłowy adres e-mail","forms.phone":"Podaj prawidłowy numer telefonu","imageEditor.crop":"Przytnij","imageEditor.rotate":"Obróć","imageEditor.flip":"Odbij","imageEditor.resize":"Zmień rozmiar","imageEditor.filter":"Filtr","imageEditor.draw":"Rysuj","imageEditor.text":"Tekst","imageEditor.undo":"Cofnij","imageEditor.redo":"Ponów","imageEditor.save":"Zapisz","imageEditor.brightness":"Jasność","imageEditor.contrast":"Kontrast","imageEditor.saturation":"Nasycenie","inbox.compose":"Nowa wiadomość","inbox.reply":"Odpowiedz","inbox.replyAll":"Odpowiedz wszystkim","inbox.forward":"Przekaż","inbox.delete":"Usuń","inbox.archive":"Archiwizuj","inbox.markRead":"Oznacz jako przeczytane","inbox.markUnread":"Oznacz jako nieprzeczytane","inbox.folders":"Foldery","inbox.inbox":"Odebrane","inbox.sent":"Wysłane","inbox.drafts":"Wersje robocze","inbox.trash":"Kosz","inbox.spam":"Spam","inbox.starred":"Oznaczone gwiazdką","inbox.to":"Do","inbox.cc":"DW","inbox.bcc":"UDW","inbox.subject":"Temat","inbox.send":"Wyślij","inbox.discard":"Odrzuć","inbox.attachFile":"Załącz plik","kanban.addCard":"Dodaj kartę","kanban.addColumn":"Dodaj kolumnę","kanban.moveCard":"Przenieś kartę","kanban.editCard":"Edytuj kartę","kanban.deleteCard":"Usuń kartę","kanban.editColumn":"Edytuj kolumnę","kanban.deleteColumn":"Usuń kolumnę","lang.en":"Angielski","lang.pl":"Polski","lang.de":"Niemiecki","lang.fr":"Francuski","lang.es":"Hiszpański","lang.it":"Włoski","lang.pt":"Portugalski","lang.nl":"Holenderski","lang.sv":"Szwedzki","lang.no":"Norweski","lang.da":"Duński","lang.fi":"Fiński","lang.cs":"Czeski","lang.sk":"Słowacki","lang.hu":"Węgierski","lang.ro":"Rumuński","lang.bg":"Bułgarski","lang.uk":"Ukraiński","lang.ja":"Japoński","lang.ko":"Koreański","lang.zh":"Chiński","lang.ar":"Arabski","login.username":"Nazwa użytkownika","login.password":"Hasło","login.signIn":"Zaloguj się","login.signOut":"Wyloguj się","login.forgotPassword":"Zapomniałeś hasła?","login.register":"Zarejestruj się","login.rememberMe":"Zapamiętaj mnie","login.newPassword":"Nowe hasło","login.confirmPassword":"Potwierdź hasło","login.twoFactor":"Uwierzytelnianie dwuskładnikowe","password.strength":"Siła hasła","password.weak":"Słabe","password.medium":"Średnie","password.strong":"Silne","password.requirements":"Wymagania dotyczące hasła","pdfviewer.page":"Strona","pdfviewer.of":"z","pdfviewer.zoom":"Powiększenie","pdfviewer.fitPage":"Dopasuj stronę","pdfviewer.fitWidth":"Dopasuj szerokość","pdfviewer.download":"Pobierz","pdfviewer.print":"Drukuj","pdfviewer.search":"Szukaj w dokumencie","pdfviewer.bookmark":"Zakładki","pdfviewer.thumbnail":"Miniatury","picklist.available":"Dostępne","picklist.selected":"Wybrane","picklist.addAll":"Dodaj wszystkie","picklist.removeAll":"Usuń wszystkie","picklist.filter":"Filtruj elementy","scheduling.calendar":"Kalendarz","scheduling.event":"Wydarzenie","scheduling.allDay":"Cały dzień","scheduling.today":"Dzisiaj","scheduling.week":"Tydzień","scheduling.month":"Miesiąc","scheduling.year":"Rok","scheduling.day":"Dzień","scheduling.agenda":"Agenda","scheduling.addEvent":"Dodaj wydarzenie","scheduling.editEvent":"Edytuj wydarzenie","scheduling.deleteEvent":"Usuń wydarzenie","scheduling.noEvents":"Brak wydarzeń","shortcuts.title":"Skróty klawiszowe","shortcuts.description":"Dostępne skróty","shortcuts.key":"Klawisz","shortcuts.command":"Polecenie","shortcuts.search":"Szukaj skrótów","signature.clear":"Wyczyść","signature.save":"Zapisz","signature.sign":"Podpisz tutaj","signature.draw":"Narysuj swój podpis","spreadsheet.cell":"Komórka","spreadsheet.row":"Wiersz","spreadsheet.column":"Kolumna","spreadsheet.formula":"Formuła","spreadsheet.insert":"Wstaw","spreadsheet.delete":"Usuń","spreadsheet.sort":"Sortuj","spreadsheet.sortAsc":"Sortuj rosnąco","spreadsheet.sortDesc":"Sortuj malejąco","spreadsheet.filter":"Filtruj","spreadsheet.export":"Eksportuj","spreadsheet.import":"Importuj","spreadsheet.addRow":"Dodaj wiersz","spreadsheet.addColumn":"Dodaj kolumnę","spreadsheet.deleteRow":"Usuń wiersz","spreadsheet.deleteColumn":"Usuń kolumnę","spreadsheet.freezeRow":"Zamroź wiersz","spreadsheet.freezeColumn":"Zamroź kolumnę","spreadsheet.merge":"Scal komórki","spreadsheet.unmerge":"Rozdziel komórki","terminal.run":"Uruchom","terminal.clear":"Wyczyść","terminal.copy":"Kopiuj","terminal.paste":"Wklej","terminal.newSession":"Nowa sesja","terminal.closeSession":"Zamknij sesję","terminal.selectAll":"Zaznacz wszystko","theme.light":"Jasny","theme.dark":"Ciemny","theme.system":"Systemowy","theme.custom":"Własny","theme.colors":"Kolory","theme.fonts":"Czcionki","theme.apply":"Zastosuj motyw","theme.preview":"Podgląd","theme.reset":"Przywróć domyślne","theme.gallery":"Galeria motywów","users.profile":"Profil","users.settings":"Ustawienia","users.permissions":"Uprawnienia","users.role":"Rola","users.active":"Aktywny","users.inactive":"Nieaktywny","users.online":"Online","users.offline":"Offline","users.lastSeen":"Ostatnio widziano","wm.close":"Zamknij","wm.minimize":"Minimalizuj","wm.maximize":"Maksymalizuj","wm.restore":"Przywróć","wm.tile":"Ułóż kafelkowo","wm.cascade":"Ułóż kaskadowo","wm.closeAll":"Zamknij wszystkie","wm.minimizeAll":"Minimalizuj wszystkie","wm.newWindow":"Nowe okno","wm.moveToFront":"Na wierzch","noCode.title":"Studio No-Code","noCode.description":"Twórz aplikacje wizualnie","noCode.newProject":"Nowy projekt","noCode.openProject":"Otwórz projekt","noCode.saveProject":"Zapisz projekt","noCode.exportProject":"Eksportuj projekt","noCode.importProject":"Importuj projekt","noCode.projectName":"Nazwa projektu","noCode.projectSettings":"Ustawienia projektu","noCode.recentProjects":"Ostatnie projekty","noCode.templates":"Szablony","noCode.preview":"Podgląd","noCode.codeView":"Widok kodu","noCode.splitView":"Widok podzielony","noCode.visualView":"Widok wizualny","noCode.generate":"Generuj kod","noCode.deploy":"Wdrożenie","noCode.componentDesigner.title":"Projektant komponentów","noCode.componentDesigner.newComponent":"Nowy komponent","noCode.componentDesigner.componentName":"Nazwa komponentu","noCode.componentDesigner.addProp":"Dodaj właściwość","noCode.componentDesigner.editProp":"Edytuj właściwość","noCode.componentDesigner.deleteProp":"Usuń właściwość","noCode.componentDesigner.propName":"Nazwa właściwości","noCode.componentDesigner.propType":"Typ właściwości","noCode.componentDesigner.propRequired":"Wymagane","noCode.componentDesigner.propDefault":"Wartość domyślna","noCode.componentDesigner.addState":"Dodaj stan","noCode.componentDesigner.stateName":"Nazwa stanu","noCode.componentDesigner.stateType":"Typ stanu","noCode.componentDesigner.stateDefault":"Wartość początkowa","noCode.componentDesigner.addHook":"Dodaj hook","noCode.componentDesigner.hooks":"Hooki","noCode.componentDesigner.template":"Szablon","noCode.componentDesigner.styles":"Style","noCode.componentDesigner.events":"Zdarzenia","noCode.componentDesigner.palette":"Paleta komponentów","noCode.componentDesigner.dragDrop":"Przeciągnij komponenty tutaj","noCode.pageBuilder.title":"Kreator stron","noCode.pageBuilder.newPage":"Nowa strona","noCode.pageBuilder.pageName":"Nazwa strony","noCode.pageBuilder.pageRoute":"Ścieżka","noCode.pageBuilder.addSection":"Dodaj sekcję","noCode.pageBuilder.editSection":"Edytuj sekcję","noCode.pageBuilder.deleteSection":"Usuń sekcję","noCode.pageBuilder.sectionLayout":"Układ sekcji","noCode.pageBuilder.columns":"Kolumny","noCode.pageBuilder.responsive":"Responsywność","noCode.pageBuilder.mobile":"Mobilne","noCode.pageBuilder.tablet":"Tablet","noCode.pageBuilder.desktop":"Desktop","noCode.pageBuilder.showGrid":"Pokaż siatkę","noCode.pageBuilder.hideGrid":"Ukryj siatkę","noCode.pageBuilder.metadata":"Metadane strony","noCode.pageBuilder.seo":"Ustawienia SEO","noCode.stateDesigner.title":"Projektant stanu","noCode.stateDesigner.newStore":"Nowy magazyn","noCode.stateDesigner.storeName":"Nazwa magazynu","noCode.stateDesigner.storeType":"Typ magazynu","noCode.stateDesigner.addState":"Dodaj pole stanu","noCode.stateDesigner.addAction":"Dodaj akcję","noCode.stateDesigner.editAction":"Edytuj akcję","noCode.stateDesigner.deleteAction":"Usuń akcję","noCode.stateDesigner.actionName":"Nazwa akcji","noCode.stateDesigner.actionParams":"Parametry","noCode.stateDesigner.actionBody":"Ciało akcji","noCode.stateDesigner.asyncAction":"Akcja asynchroniczna","noCode.stateDesigner.addSelector":"Dodaj selektor","noCode.stateDesigner.selectorName":"Nazwa selektora","noCode.stateDesigner.selectorBody":"Logika selektora","noCode.stateDesigner.persistence":"Trwałość","noCode.stateDesigner.devtools":"Narzędzia deweloperskie","noCode.apiFlow.title":"Projektant API","noCode.apiFlow.newEndpoint":"Nowy endpoint","noCode.apiFlow.endpointUrl":"URL endpointu","noCode.apiFlow.method":"Metoda HTTP","noCode.apiFlow.headers":"Nagłówki","noCode.apiFlow.body":"Ciało żądania","noCode.apiFlow.response":"Odpowiedź","noCode.apiFlow.auth":"Uwierzytelnianie","noCode.apiFlow.authType":"Typ uwierzytelniania","noCode.apiFlow.bearerToken":"Token Bearer","noCode.apiFlow.apiKey":"Klucz API","noCode.apiFlow.testEndpoint":"Testuj endpoint","noCode.apiFlow.mockResponse":"Mockowa odpowiedź","noCode.apiFlow.errorHandling":"Obsługa błędów","noCode.apiFlow.retry":"Polityka ponawiania","noCode.apiFlow.cache":"Cache","noCode.dataMapper.title":"Mapowanie danych","noCode.dataMapper.sourceSchema":"Schemat źródłowy","noCode.dataMapper.targetSchema":"Schemat docelowy","noCode.dataMapper.addMapping":"Dodaj mapowanie","noCode.dataMapper.editMapping":"Edytuj mapowanie","noCode.dataMapper.deleteMapping":"Usuń mapowanie","noCode.dataMapper.sourceField":"Pole źródłowe","noCode.dataMapper.targetField":"Pole docelowe","noCode.dataMapper.transform":"Transformacja","noCode.dataMapper.validation":"Walidacja","noCode.dataMapper.testData":"Dane testowe","noCode.dataMapper.preview":"Podgląd wyniku","noCode.dataMapper.autoMap":"Automapowanie","noCode.eventOrchestrator.title":"Orkiestrator zdarzeń","noCode.eventOrchestrator.newFlow":"Nowy przepływ","noCode.eventOrchestrator.flowName":"Nazwa przepływu","noCode.eventOrchestrator.trigger":"Wyzwalacz","noCode.eventOrchestrator.triggerType":"Typ wyzwalacza","noCode.eventOrchestrator.addHandler":"Dodaj handler","noCode.eventOrchestrator.editHandler":"Edytuj handler","noCode.eventOrchestrator.deleteHandler":"Usuń handler","noCode.eventOrchestrator.handlerName":"Nazwa handlera","noCode.eventOrchestrator.debounce":"Debounce","noCode.eventOrchestrator.throttle":"Throttle","noCode.eventOrchestrator.delay":"Opóźnienie","noCode.eventOrchestrator.condition":"Warunek","noCode.eventOrchestrator.chain":"Łańcuch zdarzeń","noCode.testBuilder.title":"Kreator testów","noCode.testBuilder.newTest":"Nowy test","noCode.testBuilder.testName":"Nazwa testu","noCode.testBuilder.testDescription":"Opis","noCode.testBuilder.addScenario":"Dodaj scenariusz","noCode.testBuilder.editScenario":"Edytuj scenariusz","noCode.testBuilder.deleteScenario":"Usuń scenariusz","noCode.testBuilder.addAssertion":"Dodaj asercję","noCode.testBuilder.assertionType":"Typ asercji","noCode.testBuilder.expected":"Oczekiwana wartość","noCode.testBuilder.actual":"Rzeczywista wartość","noCode.testBuilder.mock":"Konfiguracja mocków","noCode.testBuilder.runTests":"Uruchom testy","noCode.testBuilder.testsPassed":"Testy zaliczone","noCode.testBuilder.testsFailed":"Testy niezaliczone","noCode.testBuilder.coverage":"Pokrycie","noCode.testBuilder.accessibility":"Sprawdzenie dostępności","noCode.codeTemplate.title":"Szablony kodu","noCode.codeTemplate.newTemplate":"Nowy szablon","noCode.codeTemplate.templateName":"Nazwa szablonu","noCode.codeTemplate.templateEngine":"Silnik szablonów","noCode.codeTemplate.variables":"Zmienne","noCode.codeTemplate.addVariable":"Dodaj zmienną","noCode.codeTemplate.variableName":"Nazwa zmiennej","noCode.codeTemplate.variableType":"Typ zmiennej","noCode.codeTemplate.variableDefault":"Wartość domyślna","noCode.codeTemplate.generateFiles":"Generuj pliki","noCode.codeTemplate.outputPath":"Ścieżka wyjściowa","noCode.codeTemplate.presets":"Ustawienia predefiniowane","noCode.codeTemplate.presetReact":"Komponent React","noCode.codeTemplate.presetNextPage":"Strona Next.js","noCode.codeTemplate.presetHook":"Własny Hook","noCode.codeTemplate.presetStore":"Moduł magazynu","noCode.codePreview.title":"Podgląd kodu","noCode.codePreview.showDiff":"Pokaż różnice","noCode.codePreview.hideDiff":"Ukryj różnice","noCode.codePreview.copyCode":"Kopiuj kod","noCode.codePreview.downloadCode":"Pobierz kod","noCode.codePreview.importCode":"Importuj kod","noCode.codePreview.language":"Język","noCode.codePreview.format":"Formatuj kod","noCode.codePreview.linesChanged":"Zmienione linie","noCode.codePreview.noChanges":"Brak zmian","vectorEditor.menu.file":"Plik","vectorEditor.menu.edit":"Edycja","vectorEditor.menu.object":"Obiekt","vectorEditor.menu.path":"Ścieżka","vectorEditor.menu.view":"Widok","vectorEditor.menu.newCanvas":"Nowy obszar","vectorEditor.menu.openSvg":"Otwórz SVG…","vectorEditor.menu.pasteSvg":"Wklej SVG…","vectorEditor.menu.exportSvg":"Eksportuj SVG","vectorEditor.menu.exportPng":"Eksportuj PNG","vectorEditor.menu.exportJpg":"Eksportuj JPG","vectorEditor.menu.exportWebp":"Eksportuj WebP","vectorEditor.menu.exportBmp":"Eksportuj BMP","vectorEditor.menu.saveToLibrary":"📦 Zapisz do biblioteki","vectorEditor.menu.exportIconSnippet":"📋 Eksportuj snippet ikony","vectorEditor.menu.exportIcon":"📋 Eksportuj ikonę","vectorEditor.menu.undo":"Cofnij (Ctrl+Z)","vectorEditor.menu.redo":"Ponów (Ctrl+Y)","vectorEditor.menu.copy":"Kopiuj (Ctrl+C)","vectorEditor.menu.paste":"Wklej (Ctrl+V)","vectorEditor.menu.duplicate":"Duplikuj (Ctrl+D)","vectorEditor.menu.delete":"Usuń (Del)","vectorEditor.menu.bringToFront":"Przenieś na wierzch","vectorEditor.menu.sendToBack":"Przenieś na spód","vectorEditor.menu.flipH":"Odbij poziomo","vectorEditor.menu.flipV":"Odbij pionowo","vectorEditor.menu.alignLeft":"Wyrównaj do lewej","vectorEditor.menu.alignCenter":"Wyrównaj do środka","vectorEditor.menu.alignRight":"Wyrównaj do prawej","vectorEditor.menu.union":"Suma (∪)","vectorEditor.menu.subtract":"Różnica (−)","vectorEditor.menu.intersect":"Część wspólna (∩)","vectorEditor.menu.exclude":"Wykluczenie (⊕)","vectorEditor.menu.outlineStroke":"Zamień obrys na kształt","vectorEditor.menu.snapToGrid":"Przyciągaj do siatki","vectorEditor.menu.snap":"Siatka","vectorEditor.menu.secondShape":"2-gi kształt","vectorEditor.tabs.properties":"Właściwości","vectorEditor.tabs.layers":"Warstwy","vectorEditor.tabs.library":"Biblioteka","vectorEditor.tabs.timeline":"Oś czasu","vectorEditor.timeline.preset":"Preset","vectorEditor.timeline.duration":"Czas (ms)","vectorEditor.timeline.repeat":"Powtórzenia","vectorEditor.timeline.direction":"Kierunek","vectorEditor.timeline.remove":"Usuń animację","vectorEditor.timeline.play":"Odtwórz","vectorEditor.timeline.pause":"Pauza","vectorEditor.timeline.stop":"Stop","vectorEditor.timeline.copyCss":"Kopiuj CSS","vectorEditor.timeline.keyframes":"Klatki kluczowe","vectorEditor.timeline.addKeyframe":"+ Dodaj klatkę","vectorEditor.timeline.noSelection":"Zaznacz kształt, aby animować.","vectorEditor.timeline.animationTitle":"Animacja","vectorEditor.timeline.playbackTitle":"Odtwarzanie","vectorEditor.timeline.attachHint":"Zaznacz kształt, aby dodać animację.","vectorEditor.timeline.playLabel":"▶ Odtwórz","vectorEditor.timeline.pauseLabel":"⏸ Pauza","vectorEditor.timeline.stopLabel":"⏹ Stop","vectorEditor.timeline.copyCssKeyframes":"📋 Kopiuj CSS keyframes","vectorEditor.timeline.tLabel":"t","vectorEditor.layers.empty":"Brak warstw. Użyj narzędzi albo wstaw z zakładki Biblioteka.","vectorEditor.layers.moveUp":"Przenieś w górę","vectorEditor.layers.moveDown":"Przenieś w dół","vectorEditor.library.passProp":"Przekaż prop library do NiceVectorEditor, aby wypełnić tę zakładkę ikonami do wstawienia.","vectorEditor.statusBar.zoom":"Zoom","vectorEditor.statusBar.shapes":"kształt(y)","vectorEditor.statusBar.selected":"Zaznaczony","vectorEditor.statusBar.snap":"Siatka","vectorEditor.library.empty":"Brak ikon w bibliotece.","vectorEditor.snippet.title":"✅ Snippet ikony skopiowany do schowka","vectorEditor.snippet.pasteHint":"Wklej do","vectorEditor.snippet.copyAgain":"Skopiuj ponownie","vectorEditor.snippet.close":"Zamknij","vectorEditor.properties.appearance":"Wygląd","vectorEditor.properties.fill":"Wypełnienie","vectorEditor.properties.solid":"Jednolite","vectorEditor.properties.gradient":"Gradient","vectorEditor.properties.hideEditor":"▼ Ukryj edytor","vectorEditor.properties.editGradient":"► Edytuj gradient","vectorEditor.properties.type":"Typ","vectorEditor.properties.linear":"Liniowy","vectorEditor.properties.radial":"Promienisty","vectorEditor.properties.angle":"Kąt","vectorEditor.properties.cx":"CX","vectorEditor.properties.cy":"CY","vectorEditor.properties.r":"R","vectorEditor.properties.colorStops":"Punkty koloru:","vectorEditor.properties.addStop":"+ Dodaj punkt","vectorEditor.properties.removeStop":"- Usuń","vectorEditor.properties.stroke":"Obrys","vectorEditor.properties.width":"Szerokość","vectorEditor.properties.opacity":"Przezroczystość","vectorEditor.properties.rotation":"Obrót","vectorEditor.properties.toolOptions":"Opcje narzędzia","vectorEditor.properties.radius":"Promień","vectorEditor.properties.sides":"Boki","vectorEditor.properties.points":"Wierzchołki","vectorEditor.properties.innerR":"Promień wewn.","vectorEditor.properties.size":"Rozmiar","vectorEditor.properties.font":"Czcionka","vectorEditor.properties.grid":"Siatka","vectorEditor.properties.transform":"Transformacja","vectorEditor.properties.x":"X","vectorEditor.properties.y":"Y","vectorEditor.properties.w":"W","vectorEditor.properties.h":"H","vectorEditor.layers.title":"Warstwy","vectorEditor.layers.show":"Pokaż","vectorEditor.layers.hide":"Ukryj","vectorEditor.layers.lock":"Zablokuj","vectorEditor.layers.unlock":"Odblokuj"},ki={ok:"OK",cancel:"Abbrechen",save:"Speichern",close:"Schließen",delete:"Löschen",edit:"Bearbeiten",add:"Hinzufügen",remove:"Entfernen",search:"Suchen",filter:"Filtern",refresh:"Aktualisieren",loading:"Laden…",noData:"Keine Daten",error:"Fehler",success:"Erfolg",warning:"Warnung",info:"Information",yes:"Ja",no:"Nein",confirm:"Bestätigen",back:"Zurück",next:"Weiter",previous:"Vorherige",finish:"Fertig",submit:"Absenden",reset:"Zurücksetzen",apply:"Anwenden",undo:"Rückgängig",redo:"Wiederholen",copy:"Kopieren",cut:"Ausschneiden",paste:"Einfügen",selectAll:"Alle auswählen",clear:"Löschen",upload:"Hochladen",download:"Herunterladen",print:"Drucken",export:"Exportieren",import:"Importieren",settings:"Einstellungen",help:"Hilfe",about:"Über",more:"Mehr",less:"Weniger",show:"Anzeigen",hide:"Ausblenden",expand:"Erweitern",collapse:"Einklappen",enabled:"Aktiviert",disabled:"Deaktiviert",required:"Erforderlich",optional:"Optional",actions:"Aktionen",details:"Details",overview:"Übersicht",all:"Alle",none:"Keine",selected:"Ausgewählt",total:"Gesamt",of:"von",items:"Einträge",page:"Seite",rows:"Zeilen","app.name":"Anwendung","app.version":"Version","app.about":"Über","nav.home":"Startseite","nav.back":"Zurück","nav.forward":"Vorwärts","nav.menu":"Menü","nav.sidebar":"Seitenleiste","nav.search":"Suchen","nav.favorites":"Favoriten","nav.recent":"Zuletzt","nav.notifications":"Benachrichtigungen","nav.profile":"Profil","nav.logout":"Abmelden","carousel.prev":"Vorherige Folie","carousel.next":"Nächste Folie","carousel.slide":"Folie","carousel.of":"von","carousel.autoplay":"Automatisch abspielen","carousel.pause":"Pause","confirm.yes":"Ja","confirm.no":"Nein","confirm.ok":"OK","confirm.cancel":"Abbrechen","confirm.title":"Bestätigung","confirm.deleteMessage":"Möchten Sie dies wirklich löschen?","confirm.unsavedChanges":"Ungespeicherte Änderungen. Verwerfen?","console.shell":"Shell","console.terminal":"Terminal","console.prompt":"Befehl eingeben…","console.clear":"Konsole leeren","console.run":"Ausführen","console.output":"Ausgabe","console.newSession":"Neue Sitzung","console.closeSession":"Sitzung schließen","controls.save":"Speichern","controls.cancel":"Abbrechen","controls.delete":"Löschen","controls.edit":"Bearbeiten","controls.add":"Hinzufügen","controls.remove":"Entfernen","controls.close":"Schließen","controls.open":"Öffnen","controls.refresh":"Aktualisieren","controls.new":"Neu","controls.duplicate":"Duplizieren","controls.sort":"Sortieren","controls.group":"Gruppieren","controls.pin":"Anheften","controls.unpin":"Lösen","controls.lock":"Sperren","controls.unlock":"Entsperren","controls.share":"Teilen","controls.archive":"Archivieren","cookie.title":"Cookie-Einwilligung","cookie.message":"Diese Website verwendet Cookies.","cookie.accept":"Alle akzeptieren","cookie.reject":"Alle ablehnen","cookie.settings":"Cookie-Einstellungen","cookie.necessary":"Erforderlich","cookie.analytics":"Analyse","cookie.marketing":"Marketing","dashboard.title":"Dashboard","dashboard.addWidget":"Widget hinzufügen","dashboard.removeWidget":"Widget entfernen","dashboard.layout":"Layout","dashboard.settings":"Einstellungen","dashboard.customize":"Anpassen","dashboard.resetLayout":"Layout zurücksetzen","datetime.today":"Heute","datetime.yesterday":"Gestern","datetime.tomorrow":"Morgen","datetime.selectDate":"Datum auswählen","datetime.selectTime":"Uhrzeit auswählen","datetime.startDate":"Startdatum","datetime.endDate":"Enddatum","datetime.startTime":"Startzeit","datetime.endTime":"Endzeit","datetime.am":"AM","datetime.pm":"PM","desktop.start":"Start","desktop.taskbar":"Taskleiste","desktop.systemTray":"Systemleiste","desktop.wallpaper":"Hintergrundbild","desktop.icons":"Desktop-Symbole","desktop.arrangeIcons":"Symbole anordnen","dock.pin":"An Dock anheften","dock.unpin":"Vom Dock lösen","dock.close":"Schließen","dock.minimize":"Minimieren","dock.maximize":"Maximieren","dock.restore":"Wiederherstellen","docEditor.paragraph":"Absatz","docEditor.heading":"Überschrift","docEditor.heading1":"Überschrift 1","docEditor.heading2":"Überschrift 2","docEditor.heading3":"Überschrift 3","docEditor.bulletList":"Aufzählungsliste","docEditor.numberedList":"Nummerierte Liste","docEditor.quote":"Zitat","docEditor.code":"Codeblock","docEditor.divider":"Trennlinie","docEditor.image":"Bild","docEditor.table":"Tabelle","docEditor.callout":"Hervorhebung","docEditor.placeholder":"Schreiben Sie los…","docEditor.slashCommand":"Tippen Sie / für Befehle","files.upload":"Datei hochladen","files.download":"Herunterladen","files.delete":"Datei löschen","files.rename":"Umbenennen","files.newFolder":"Neuer Ordner","files.selectFile":"Datei auswählen","files.dropzone":"Dateien hier ablegen","files.dragDrop":"Dateien hierher ziehen oder klicken","files.maxSize":"Maximale Dateigröße","files.fileType":"Dateityp","forms.required":"Dieses Feld ist erforderlich","forms.optional":"Optional","forms.submit":"Absenden","forms.reset":"Zurücksetzen","forms.validate":"Validieren","forms.invalid":"Ungültiger Wert","forms.minLength":"Mindestlänge: {0}","forms.maxLength":"Maximallänge: {0}","forms.email":"Gültige E-Mail eingeben","forms.phone":"Gültige Telefonnummer eingeben","imageEditor.crop":"Zuschneiden","imageEditor.rotate":"Drehen","imageEditor.flip":"Spiegeln","imageEditor.resize":"Größe ändern","imageEditor.filter":"Filter","imageEditor.draw":"Zeichnen","imageEditor.text":"Text","imageEditor.undo":"Rückgängig","imageEditor.redo":"Wiederholen","imageEditor.save":"Speichern","imageEditor.brightness":"Helligkeit","imageEditor.contrast":"Kontrast","imageEditor.saturation":"Sättigung","inbox.compose":"Verfassen","inbox.reply":"Antworten","inbox.replyAll":"Allen antworten","inbox.forward":"Weiterleiten","inbox.delete":"Löschen","inbox.archive":"Archivieren","inbox.markRead":"Als gelesen markieren","inbox.markUnread":"Als ungelesen markieren","inbox.folders":"Ordner","inbox.inbox":"Posteingang","inbox.sent":"Gesendet","inbox.drafts":"Entwürfe","inbox.trash":"Papierkorb","inbox.spam":"Spam","inbox.starred":"Markiert","inbox.to":"An","inbox.cc":"Cc","inbox.bcc":"Bcc","inbox.subject":"Betreff","inbox.send":"Senden","inbox.discard":"Verwerfen","inbox.attachFile":"Datei anhängen","kanban.addCard":"Karte hinzufügen","kanban.addColumn":"Spalte hinzufügen","kanban.moveCard":"Karte verschieben","kanban.editCard":"Karte bearbeiten","kanban.deleteCard":"Karte löschen","kanban.editColumn":"Spalte bearbeiten","kanban.deleteColumn":"Spalte löschen","lang.en":"Englisch","lang.pl":"Polnisch","lang.de":"Deutsch","lang.fr":"Französisch","lang.es":"Spanisch","lang.it":"Italienisch","lang.pt":"Portugiesisch","lang.nl":"Niederländisch","lang.sv":"Schwedisch","lang.no":"Norwegisch","lang.da":"Dänisch","lang.fi":"Finnisch","lang.cs":"Tschechisch","lang.sk":"Slowakisch","lang.hu":"Ungarisch","lang.ro":"Rumänisch","lang.bg":"Bulgarisch","lang.uk":"Ukrainisch","lang.ja":"Japanisch","lang.ko":"Koreanisch","lang.zh":"Chinesisch","lang.ar":"Arabisch","login.username":"Benutzername","login.password":"Passwort","login.signIn":"Anmelden","login.signOut":"Abmelden","login.forgotPassword":"Passwort vergessen?","login.register":"Registrieren","login.rememberMe":"Angemeldet bleiben","login.newPassword":"Neues Passwort","login.confirmPassword":"Passwort bestätigen","login.twoFactor":"Zwei-Faktor-Authentifizierung","password.strength":"Passwortstärke","password.weak":"Schwach","password.medium":"Mittel","password.strong":"Stark","password.requirements":"Passwortanforderungen","pdfviewer.page":"Seite","pdfviewer.of":"von","pdfviewer.zoom":"Zoom","pdfviewer.fitPage":"Seite einpassen","pdfviewer.fitWidth":"Breite einpassen","pdfviewer.download":"Herunterladen","pdfviewer.print":"Drucken","pdfviewer.search":"Im Dokument suchen","pdfviewer.bookmark":"Lesezeichen","pdfviewer.thumbnail":"Miniaturansichten","picklist.available":"Verfügbar","picklist.selected":"Ausgewählt","picklist.addAll":"Alle hinzufügen","picklist.removeAll":"Alle entfernen","picklist.filter":"Einträge filtern","scheduling.calendar":"Kalender","scheduling.event":"Termin","scheduling.allDay":"Ganztägig","scheduling.today":"Heute","scheduling.week":"Woche","scheduling.month":"Monat","scheduling.year":"Jahr","scheduling.day":"Tag","scheduling.agenda":"Agenda","scheduling.addEvent":"Termin hinzufügen","scheduling.editEvent":"Termin bearbeiten","scheduling.deleteEvent":"Termin löschen","scheduling.noEvents":"Keine Termine","shortcuts.title":"Tastenkombinationen","shortcuts.description":"Verfügbare Tastenkombinationen","shortcuts.key":"Taste","shortcuts.command":"Befehl","shortcuts.search":"Tastenkombinationen suchen","signature.clear":"Löschen","signature.save":"Speichern","signature.sign":"Hier unterschreiben","signature.draw":"Unterschrift zeichnen","spreadsheet.cell":"Zelle","spreadsheet.row":"Zeile","spreadsheet.column":"Spalte","spreadsheet.formula":"Formel","spreadsheet.insert":"Einfügen","spreadsheet.delete":"Löschen","spreadsheet.sort":"Sortieren","spreadsheet.sortAsc":"Aufsteigend sortieren","spreadsheet.sortDesc":"Absteigend sortieren","spreadsheet.filter":"Filtern","spreadsheet.export":"Exportieren","spreadsheet.import":"Importieren","spreadsheet.addRow":"Zeile hinzufügen","spreadsheet.addColumn":"Spalte hinzufügen","spreadsheet.deleteRow":"Zeile löschen","spreadsheet.deleteColumn":"Spalte löschen","spreadsheet.freezeRow":"Zeile einfrieren","spreadsheet.freezeColumn":"Spalte einfrieren","spreadsheet.merge":"Zellen zusammenführen","spreadsheet.unmerge":"Zellen trennen","terminal.run":"Ausführen","terminal.clear":"Leeren","terminal.copy":"Kopieren","terminal.paste":"Einfügen","terminal.newSession":"Neue Sitzung","terminal.closeSession":"Sitzung schließen","terminal.selectAll":"Alles auswählen","theme.light":"Hell","theme.dark":"Dunkel","theme.system":"System","theme.custom":"Benutzerdefiniert","theme.colors":"Farben","theme.fonts":"Schriftarten","theme.apply":"Design anwenden","theme.preview":"Vorschau","theme.reset":"Standard wiederherstellen","theme.gallery":"Design-Galerie","users.profile":"Profil","users.settings":"Einstellungen","users.permissions":"Berechtigungen","users.role":"Rolle","users.active":"Aktiv","users.inactive":"Inaktiv","users.online":"Online","users.offline":"Offline","users.lastSeen":"Zuletzt gesehen","wm.close":"Schließen","wm.minimize":"Minimieren","wm.maximize":"Maximieren","wm.restore":"Wiederherstellen","wm.tile":"Fenster kacheln","wm.cascade":"Fenster kaskadieren","wm.closeAll":"Alle schließen","wm.minimizeAll":"Alle minimieren","wm.newWindow":"Neues Fenster","wm.moveToFront":"In den Vordergrund","noCode.title":"No-Code Studio","noCode.description":"Anwendungen visuell erstellen","noCode.newProject":"Neues Projekt","noCode.openProject":"Projekt öffnen","noCode.saveProject":"Projekt speichern","noCode.exportProject":"Projekt exportieren","noCode.importProject":"Projekt importieren","noCode.projectName":"Projektname","noCode.projectSettings":"Projekteinstellungen","noCode.recentProjects":"Letzte Projekte","noCode.templates":"Vorlagen","noCode.preview":"Vorschau","noCode.codeView":"Code-Ansicht","noCode.splitView":"Geteilte Ansicht","noCode.visualView":"Visuelle Ansicht","noCode.generate":"Code generieren","noCode.deploy":"Bereitstellen","noCode.componentDesigner.title":"Komponenten-Designer","noCode.componentDesigner.newComponent":"Neue Komponente","noCode.componentDesigner.componentName":"Komponentenname","noCode.componentDesigner.addProp":"Eigenschaft hinzufügen","noCode.componentDesigner.editProp":"Eigenschaft bearbeiten","noCode.componentDesigner.deleteProp":"Eigenschaft löschen","noCode.componentDesigner.propName":"Eigenschaftsname","noCode.componentDesigner.propType":"Eigenschaftstyp","noCode.componentDesigner.propRequired":"Erforderlich","noCode.componentDesigner.propDefault":"Standardwert","noCode.componentDesigner.addState":"Status hinzufügen","noCode.componentDesigner.stateName":"Statusname","noCode.componentDesigner.stateType":"Statustyp","noCode.componentDesigner.stateDefault":"Anfangswert","noCode.componentDesigner.addHook":"Hook hinzufügen","noCode.componentDesigner.hooks":"Hooks","noCode.componentDesigner.template":"Vorlage","noCode.componentDesigner.styles":"Stile","noCode.componentDesigner.events":"Ereignisse","noCode.componentDesigner.palette":"Komponentenpalette","noCode.componentDesigner.dragDrop":"Komponenten hierher ziehen","noCode.pageBuilder.title":"Seiten-Builder","noCode.pageBuilder.newPage":"Neue Seite","noCode.pageBuilder.pageName":"Seitenname","noCode.pageBuilder.pageRoute":"Route","noCode.pageBuilder.addSection":"Abschnitt hinzufügen","noCode.pageBuilder.editSection":"Abschnitt bearbeiten","noCode.pageBuilder.deleteSection":"Abschnitt löschen","noCode.pageBuilder.sectionLayout":"Abschnittslayout","noCode.pageBuilder.columns":"Spalten","noCode.pageBuilder.responsive":"Responsiv","noCode.pageBuilder.mobile":"Mobil","noCode.pageBuilder.tablet":"Tablet","noCode.pageBuilder.desktop":"Desktop","noCode.pageBuilder.showGrid":"Raster anzeigen","noCode.pageBuilder.hideGrid":"Raster ausblenden","noCode.pageBuilder.metadata":"Seitenmetadaten","noCode.pageBuilder.seo":"SEO-Einstellungen","noCode.stateDesigner.title":"Status-Designer","noCode.stateDesigner.newStore":"Neuer Store","noCode.stateDesigner.storeName":"Store-Name","noCode.stateDesigner.storeType":"Store-Typ","noCode.stateDesigner.addState":"Statusfeld hinzufügen","noCode.stateDesigner.addAction":"Aktion hinzufügen","noCode.stateDesigner.editAction":"Aktion bearbeiten","noCode.stateDesigner.deleteAction":"Aktion löschen","noCode.stateDesigner.actionName":"Aktionsname","noCode.stateDesigner.actionParams":"Parameter","noCode.stateDesigner.actionBody":"Aktionskörper","noCode.stateDesigner.asyncAction":"Asynchrone Aktion","noCode.stateDesigner.addSelector":"Selektor hinzufügen","noCode.stateDesigner.selectorName":"Selektorname","noCode.stateDesigner.selectorBody":"Selektorlogik","noCode.stateDesigner.persistence":"Persistenz","noCode.stateDesigner.devtools":"Entwicklertools","noCode.apiFlow.title":"API-Flow-Designer","noCode.apiFlow.newEndpoint":"Neuer Endpunkt","noCode.apiFlow.endpointUrl":"Endpunkt-URL","noCode.apiFlow.method":"HTTP-Methode","noCode.apiFlow.headers":"Header","noCode.apiFlow.body":"Anfragekörper","noCode.apiFlow.response":"Antwort","noCode.apiFlow.auth":"Authentifizierung","noCode.apiFlow.authType":"Authentifizierungstyp","noCode.apiFlow.bearerToken":"Bearer-Token","noCode.apiFlow.apiKey":"API-Schlüssel","noCode.apiFlow.testEndpoint":"Endpunkt testen","noCode.apiFlow.mockResponse":"Mock-Antwort","noCode.apiFlow.errorHandling":"Fehlerbehandlung","noCode.apiFlow.retry":"Wiederholungsrichtlinie","noCode.apiFlow.cache":"Cache","noCode.dataMapper.title":"Datenmapper","noCode.dataMapper.sourceSchema":"Quellschema","noCode.dataMapper.targetSchema":"Zielschema","noCode.dataMapper.addMapping":"Zuordnung hinzufügen","noCode.dataMapper.editMapping":"Zuordnung bearbeiten","noCode.dataMapper.deleteMapping":"Zuordnung löschen","noCode.dataMapper.sourceField":"Quellfeld","noCode.dataMapper.targetField":"Zielfeld","noCode.dataMapper.transform":"Transformation","noCode.dataMapper.validation":"Validierung","noCode.dataMapper.testData":"Testdaten","noCode.dataMapper.preview":"Ergebnisvorschau","noCode.dataMapper.autoMap":"Automatisch zuordnen","noCode.eventOrchestrator.title":"Ereignis-Orchestrator","noCode.eventOrchestrator.newFlow":"Neuer Flow","noCode.eventOrchestrator.flowName":"Flow-Name","noCode.eventOrchestrator.trigger":"Auslöser","noCode.eventOrchestrator.triggerType":"Auslösertyp","noCode.eventOrchestrator.addHandler":"Handler hinzufügen","noCode.eventOrchestrator.editHandler":"Handler bearbeiten","noCode.eventOrchestrator.deleteHandler":"Handler löschen","noCode.eventOrchestrator.handlerName":"Handler-Name","noCode.eventOrchestrator.debounce":"Entprellen","noCode.eventOrchestrator.throttle":"Drosseln","noCode.eventOrchestrator.delay":"Verzögerung","noCode.eventOrchestrator.condition":"Bedingung","noCode.eventOrchestrator.chain":"Ereigniskette","noCode.testBuilder.title":"Test-Builder","noCode.testBuilder.newTest":"Neuer Test","noCode.testBuilder.testName":"Testname","noCode.testBuilder.testDescription":"Beschreibung","noCode.testBuilder.addScenario":"Szenario hinzufügen","noCode.testBuilder.editScenario":"Szenario bearbeiten","noCode.testBuilder.deleteScenario":"Szenario löschen","noCode.testBuilder.addAssertion":"Assertion hinzufügen","noCode.testBuilder.assertionType":"Assertionstyp","noCode.testBuilder.expected":"Erwarteter Wert","noCode.testBuilder.actual":"Tatsächlicher Wert","noCode.testBuilder.mock":"Mock-Konfiguration","noCode.testBuilder.runTests":"Tests ausführen","noCode.testBuilder.testsPassed":"Tests bestanden","noCode.testBuilder.testsFailed":"Tests fehlgeschlagen","noCode.testBuilder.coverage":"Abdeckung","noCode.testBuilder.accessibility":"Barrierefreiheitsprüfung","noCode.codeTemplate.title":"Code-Vorlagen","noCode.codeTemplate.newTemplate":"Neue Vorlage","noCode.codeTemplate.templateName":"Vorlagenname","noCode.codeTemplate.templateEngine":"Vorlagen-Engine","noCode.codeTemplate.variables":"Variablen","noCode.codeTemplate.addVariable":"Variable hinzufügen","noCode.codeTemplate.variableName":"Variablenname","noCode.codeTemplate.variableType":"Variablentyp","noCode.codeTemplate.variableDefault":"Standardwert","noCode.codeTemplate.generateFiles":"Dateien generieren","noCode.codeTemplate.outputPath":"Ausgabepfad","noCode.codeTemplate.presets":"Voreinstellungen","noCode.codeTemplate.presetReact":"React-Komponente","noCode.codeTemplate.presetNextPage":"Next.js-Seite","noCode.codeTemplate.presetHook":"Benutzerdefinierter Hook","noCode.codeTemplate.presetStore":"Store-Modul","noCode.codePreview.title":"Code-Vorschau","noCode.codePreview.showDiff":"Unterschiede anzeigen","noCode.codePreview.hideDiff":"Unterschiede ausblenden","noCode.codePreview.copyCode":"Code kopieren","noCode.codePreview.downloadCode":"Code herunterladen","noCode.codePreview.importCode":"Code importieren","noCode.codePreview.language":"Sprache","noCode.codePreview.format":"Code formatieren","noCode.codePreview.linesChanged":"Geänderte Zeilen","noCode.codePreview.noChanges":"Keine Änderungen","nav.help":"Hilfe","navShell.home.title":"Start","navShell.help.next":"Weiter","navShell.help.back":"Zurück","navShell.help.finish":"Fertig","navShell.help.skip":"Überspringen","navShell.help.stepOf":"von","navShell.help.topNav.title":"Obere Navigation","navShell.help.topNav.body":"Über die obere Leiste wechseln Sie Arbeitsbereiche, suchen, ändern Theme oder Sprache und öffnen Benachrichtigungen.","navShell.help.sidebar.title":"Seitenleiste","navShell.help.sidebar.body":"Durchsuchen Sie verfügbare Ansichten gruppiert nach Bereich. Wählen Sie eine Ansicht, um sie in einem neuen Tab zu öffnen.","navShell.help.tabs.title":"Tabs","navShell.help.tabs.body":"Jede geöffnete Ansicht lebt in einem eigenen Tab. Häufig genutzte anheften und mit Rechtsklick weitere Aktionen aufrufen.","navShell.help.content.title":"Arbeitsbereich","navShell.help.content.body":"Im Hauptbereich wird die aktive Ansicht angezeigt. Wechsel von Tabs oder Seitenleisten-Einträgen tauscht den Inhalt hier.","navShell.home.subtitle":"Machen Sie dort weiter, wo Sie aufgehört haben.","navShell.home.empty":"Öffnen Sie eine Ansicht aus der Seitenleiste oder den Tabs oben, um Ihren Arbeitsbereich zu füllen.","navShell.home.greeting.morning":"Guten Morgen","navShell.home.greeting.afternoon":"Guten Tag","navShell.home.greeting.evening":"Guten Abend","navShell.home.greeting.night":"Hallo","navShell.home.sections.openTabs":"Jetzt geöffnet","navShell.home.sections.shortcuts":"Ihre Verknüpfungen","navShell.home.sections.allViews":"Alle Ansichten","sidebar.menu.open":"Öffnen","sidebar.menu.openNewTab":"In neuem Tab öffnen","sidebar.menu.openBrowserTab":"In neuem Browser-Tab öffnen","sidebar.menu.pinFavorite":"Zu Favoriten hinzufügen","sidebar.menu.unpinFavorite":"Aus Favoriten entfernen","sidebar.menu.hide":"Ausblenden","sidebar.menu.copyLink":"Link kopieren","sidebar.menu.pinSource":"Quelle anheften","sidebar.menu.unpinSource":"Quelle lösen","sidebar.menu.hideSource":"Quelle ausblenden","sidebar.prefs.general":"Allgemein","sidebar.prefs.display":"Anzeige","sidebar.prefs.order":"Reihenfolge","sidebar.prefs.hidden":"Ausgeblendete Elemente","sidebar.prefs.reset":"Zurücksetzen","sidebar.prefs.general.title":"Allgemein","sidebar.prefs.general.desc":"Verhalten des Seitenleisten-Baums und Aktion bei Linksklick.","sidebar.prefs.general.autoExpand":"Alle Zweige automatisch erweitern","sidebar.prefs.general.autoExpandHint":"Wenn deaktiviert, starten Zweige eingeklappt und merken sich den letzten Zustand pro Sitzung.","sidebar.prefs.general.leftClickBehavior":"Verhalten beim Linksklick","sidebar.prefs.general.focusExisting":"Vorhandenen Tab fokussieren","sidebar.prefs.general.openNew":"Immer in neuem Tab öffnen","sidebar.prefs.general.leftClickHint":"Rechtsklick → „In neuem Tab öffnen“ ist unabhängig von dieser Einstellung immer verfügbar.","sidebar.prefs.display.title":"Anzeige","sidebar.prefs.display.desc":"Welche Modi in der Leiste erscheinen und wie tief der Baum pro Modus reicht.","sidebar.prefs.display.enableModeIcons":"Modus-Umschalter-Symbole anzeigen","sidebar.prefs.display.enabledModes":"Sichtbare Modi","sidebar.prefs.display.preferencesAlwaysOn":"Einstellungen werden immer angezeigt.","sidebar.prefs.display.maxDepth":"Baumtiefe pro Modus","sidebar.prefs.order.title":"Elemente sortieren","sidebar.prefs.order.desc":"Ziehen Sie Elemente, um deren Reihenfolge im gewählten Modus zu ändern.","sidebar.prefs.order.pickMode":"Modus","sidebar.prefs.order.empty":"Keine sortierbaren Elemente in diesem Modus.","sidebar.prefs.order.resetMode":"Auf Standardreihenfolge zurücksetzen","sidebar.prefs.hidden.title":"Ausgeblendete Elemente","sidebar.prefs.hidden.desc":"Aus dem Baum ausgeblendete Elemente. Stellen Sie sie wieder her, um sie zurückzubringen.","sidebar.prefs.hidden.empty":"Nichts ausgeblendet.","sidebar.prefs.hidden.restore":"Wiederherstellen","sidebar.prefs.reset.title":"Zurücksetzen","sidebar.prefs.reset.desc":"Alle Anpassungen löschen und das ursprüngliche Seitenleisten-Layout wiederherstellen.","sidebar.prefs.reset.button":"Alle Einstellungen zurücksetzen","sidebar.prefs.reset.confirm":"Dies löscht Ihre Favoriten, ausgeblendete Elemente, eigene Reihenfolge und alle weiteren Seitenleisten-Einstellungen. Dieser Vorgang kann nicht rückgängig gemacht werden.","sidebar.prefs.reset.confirmYes":"Ja, alles zurücksetzen","sidebar.prefs.reset.cancel":"Abbrechen","vectorEditor.menu.file":"Datei","vectorEditor.menu.edit":"Bearbeiten","vectorEditor.menu.object":"Objekt","vectorEditor.menu.path":"Pfad","vectorEditor.menu.view":"Ansicht","vectorEditor.menu.newCanvas":"Neue Leinwand","vectorEditor.menu.openSvg":"SVG öffnen…","vectorEditor.menu.pasteSvg":"SVG einfügen…","vectorEditor.menu.exportSvg":"SVG exportieren","vectorEditor.menu.exportPng":"PNG exportieren","vectorEditor.menu.exportJpg":"JPG exportieren","vectorEditor.menu.exportWebp":"WebP exportieren","vectorEditor.menu.exportBmp":"BMP exportieren","vectorEditor.menu.saveToLibrary":"📦 In Bibliothek speichern","vectorEditor.menu.exportIconSnippet":"📋 Icon-Snippet exportieren","vectorEditor.menu.exportIcon":"📋 Icon exportieren","vectorEditor.menu.undo":"Rückgängig (Strg+Z)","vectorEditor.menu.redo":"Wiederherstellen (Strg+Y)","vectorEditor.menu.copy":"Kopieren (Strg+C)","vectorEditor.menu.paste":"Einfügen (Strg+V)","vectorEditor.menu.duplicate":"Duplizieren (Strg+D)","vectorEditor.menu.delete":"Löschen (Entf)","vectorEditor.menu.bringToFront":"In den Vordergrund","vectorEditor.menu.sendToBack":"In den Hintergrund","vectorEditor.menu.flipH":"Horizontal spiegeln","vectorEditor.menu.flipV":"Vertikal spiegeln","vectorEditor.menu.alignLeft":"Links ausrichten","vectorEditor.menu.alignCenter":"Zentriert ausrichten","vectorEditor.menu.alignRight":"Rechts ausrichten","vectorEditor.menu.union":"Vereinigung (∪)","vectorEditor.menu.subtract":"Subtraktion (−)","vectorEditor.menu.intersect":"Schnittmenge (∩)","vectorEditor.menu.exclude":"Ausschluss (⊕)","vectorEditor.menu.outlineStroke":"Kontur in Pfad umwandeln","vectorEditor.menu.snapToGrid":"Am Raster ausrichten","vectorEditor.menu.snap":"Raster","vectorEditor.menu.secondShape":"2. Form","vectorEditor.tabs.properties":"Eigenschaften","vectorEditor.tabs.layers":"Ebenen","vectorEditor.tabs.library":"Bibliothek","vectorEditor.tabs.timeline":"Zeitleiste","vectorEditor.timeline.preset":"Vorlage","vectorEditor.timeline.duration":"Dauer (ms)","vectorEditor.timeline.repeat":"Wiederholen","vectorEditor.timeline.direction":"Richtung","vectorEditor.timeline.remove":"Animation entfernen","vectorEditor.timeline.play":"Abspielen","vectorEditor.timeline.pause":"Pause","vectorEditor.timeline.stop":"Stopp","vectorEditor.timeline.copyCss":"CSS kopieren","vectorEditor.timeline.keyframes":"Keyframes","vectorEditor.timeline.addKeyframe":"+ Keyframe hinzufügen","vectorEditor.timeline.noSelection":"Form auswählen, um sie zu animieren.","vectorEditor.timeline.animationTitle":"Animation","vectorEditor.timeline.playbackTitle":"Wiedergabe","vectorEditor.timeline.attachHint":"Form auswählen, um eine Animation hinzuzufügen.","vectorEditor.timeline.playLabel":"▶ Abspielen","vectorEditor.timeline.pauseLabel":"⏸ Pause","vectorEditor.timeline.stopLabel":"⏹ Stopp","vectorEditor.timeline.copyCssKeyframes":"📋 CSS-Keyframes kopieren","vectorEditor.timeline.tLabel":"t","vectorEditor.layers.empty":"Noch keine Ebenen. Verwenden Sie die Werkzeuge zum Zeichnen oder fügen Sie aus der Bibliothek ein.","vectorEditor.layers.moveUp":"Nach oben","vectorEditor.layers.moveDown":"Nach unten","vectorEditor.library.passProp":"Übergeben Sie eine library-Property an NiceVectorEditor, um diesen Tab mit einfügbaren Icons zu füllen.","vectorEditor.statusBar.zoom":"Zoom","vectorEditor.statusBar.shapes":"Form(en)","vectorEditor.statusBar.selected":"Ausgewählt","vectorEditor.statusBar.snap":"Raster","vectorEditor.library.empty":"Keine Icons in der Bibliothek.","vectorEditor.snippet.title":"✅ Icon-Snippet in die Zwischenablage kopiert","vectorEditor.snippet.pasteHint":"Einfügen in","vectorEditor.snippet.copyAgain":"Erneut kopieren","vectorEditor.snippet.close":"Schließen","vectorEditor.properties.appearance":"Erscheinungsbild","vectorEditor.properties.fill":"Füllung","vectorEditor.properties.solid":"Einfarbig","vectorEditor.properties.gradient":"Verlauf","vectorEditor.properties.hideEditor":"▼ Editor ausblenden","vectorEditor.properties.editGradient":"► Verlauf bearbeiten","vectorEditor.properties.type":"Typ","vectorEditor.properties.linear":"Linear","vectorEditor.properties.radial":"Radial","vectorEditor.properties.angle":"Winkel","vectorEditor.properties.cx":"CX","vectorEditor.properties.cy":"CY","vectorEditor.properties.r":"R","vectorEditor.properties.colorStops":"Farbstopps:","vectorEditor.properties.addStop":"+ Stopp hinzufügen","vectorEditor.properties.removeStop":"- Entfernen","vectorEditor.properties.stroke":"Kontur","vectorEditor.properties.width":"Breite","vectorEditor.properties.opacity":"Deckkraft","vectorEditor.properties.rotation":"Drehung","vectorEditor.properties.toolOptions":"Werkzeug-Optionen","vectorEditor.properties.radius":"Radius","vectorEditor.properties.sides":"Seiten","vectorEditor.properties.points":"Punkte","vectorEditor.properties.innerR":"Innerer R","vectorEditor.properties.size":"Größe","vectorEditor.properties.font":"Schrift","vectorEditor.properties.grid":"Raster","vectorEditor.properties.transform":"Transformation","vectorEditor.properties.x":"X","vectorEditor.properties.y":"Y","vectorEditor.properties.w":"B","vectorEditor.properties.h":"H","vectorEditor.layers.title":"Ebenen","vectorEditor.layers.show":"Einblenden","vectorEditor.layers.hide":"Ausblenden","vectorEditor.layers.lock":"Sperren","vectorEditor.layers.unlock":"Entsperren","tutorial.play":"Abspielen","tutorial.pause":"Pause","tutorial.speed":"Geschwindigkeit","tutorial.close":"Schließen","tutorial.start":"Tutorial","tutorial.startAria":"Tutorial starten","tutorial.next":"Weiter","tutorial.back":"Zurück","tutorial.finish":"Fertig","tutorial.skip":"Überspringen","tutorial.stepOf":"von","tutorial.moduleEditor.browser.title":"Modul-Browser","tutorial.moduleEditor.browser.content":"Wählen Sie hier ein Modul, um sein Manifest, seine Entitäten und Übersetzungen zu öffnen.","tutorial.moduleEditor.validate.title":"Prüfen","tutorial.moduleEditor.validate.content":"Prüfen Sie das Modul gegen das Manifest-Schema. Probleme erscheinen in der Statusleiste und in der Ausgabe.","tutorial.moduleEditor.save.title":"Speichern","tutorial.moduleEditor.save.content":"Speichern Sie Ihre Änderungen über den konfigurierten Datenanbieter (z. B. Dateien zurück auf die Festplatte schreiben).","tutorial.manifestEditor.intro.title":"Manifest-Editor","tutorial.manifestEditor.intro.content":"Bearbeiten Sie das Manifest in schemagesteuerten Abschnitten. Schalten Sie pro Abschnitt zwischen Formular ⇄ JSON um; die Validierung erscheint in der Statusleiste.","tutorial.schemaForm.intro.title":"Schema-Formular","tutorial.schemaForm.intro.content":"Dieses Formular wird aus einem Schema erzeugt. Pflichtfelder und Validierungsfehler werden markiert; nutzen Sie den JSON-Umschalter für die Rohbearbeitung.","tutorial.entityEditor.intro.title":"Entitäten-Editor","tutorial.entityEditor.intro.content":"Fügen Sie links Entitäten hinzu und bearbeiten Sie rechts die Metadaten jeder Entität sowie ihre Felder (Typ, Schlüssel, Einschränkungen).","tutorial.i18nEditor.intro.title":"Übersetzungen","tutorial.i18nEditor.intro.content":"Bearbeiten Sie Übersetzungen als Raster aus Schlüsseln × Sprachen. Fügen Sie Schlüssel und Sprachen hinzu; bernsteinfarbene Zellen markieren fehlende Übersetzungen.","tutorial.formBuilder.intro.title":"Formular-Builder","tutorial.formBuilder.intro.content":"Ziehen Sie Felder aus der Palette auf die Arbeitsfläche und konfigurieren Sie jedes Feld im Eigenschaftenbereich. Exportieren Sie das Schema, wenn Sie fertig sind.","tutorial.formDesigner.intro.title":"Formular-Designer","tutorial.formDesigner.intro.content":"Gestalten Sie Eingabeformulare mit Abschnitten, Nachschlagefeldern und berechneten Feldern; binden Sie sie an Ihre Entität und sehen Sie eine Live-Vorschau.","tutorial.paymentProviderConfig.intro.title":"Zahlungsanbieter","tutorial.paymentProviderConfig.intro.content":"Wählen Sie einen Anbieter, geben Sie seine Zugangsdaten ein (Geheimnisse werden maskiert), wählen Sie Test/Live, aktivieren Sie Methoden und kopieren Sie die Webhook-URL.","tutorial.webhookTester.intro.title":"Webhook-Tester","tutorial.webhookTester.intro.content":"Wählen Sie eine gespeicherte Nutzlast (oder schreiben Sie eine), signieren Sie sie optional, senden Sie sie an den Endpunkt und prüfen Sie die Antwort.","tutorial.apiDesigner.intro.title":"API-Designer","tutorial.apiDesigner.intro.content":"Definieren Sie Endpunkte, Parameter, Anfrage-/Antwortschemata und Sicherheit für Ihr OpenAPI-Dokument.","tutorial.apiTester.intro.title":"API-Tester","tutorial.apiTester.intro.content":"Erstellen Sie Anfragen mit Sammlungen und Umgebungsvariablen, senden Sie sie und prüfen Sie die Antworten.","tutorial.integrationBuilder.intro.title":"Integrations-Builder","tutorial.integrationBuilder.intro.content":"Verdrahten Sie einen Ablauf aus Knoten (Auslöser → Aktionen → Fehlerbehandlung) und verbinden Sie sie, um eine Integration zu bauen.","tutorial.scriptRunner.intro.title":"Skript-Runner","tutorial.scriptRunner.intro.content":"Schreiben Sie ein Skript und Beispieleingaben, klicken Sie auf Ausführen und prüfen Sie unten das Ergebnis und die erfassten Protokolle.","tutorial.lifecycleHooks.intro.title":"Lebenszyklus-Hooks","tutorial.lifecycleHooks.intro.content":"Binden Sie Handler an jeden Auslöser, legen Sie ihre Reihenfolge und das Aktiv-Kennzeichen fest und fügen Sie eine optionale Bedingung hinzu, die die Ausführung steuert.","tutorial.revisionHistory.intro.title":"Versionsverlauf","tutorial.revisionHistory.intro.content":"Wählen Sie eine Version, wählen Sie eine weitere zum Vergleich, prüfen Sie den Side-by-Side-Vergleich und stellen Sie bei Bedarf eine frühere Version wieder her.","tutorial.markdownEditor.intro.title":"Markdown-Editor","tutorial.markdownEditor.intro.content":"Schreiben Sie Markdown mit der Formatierungsleiste; schalten Sie die Live-Vorschau ein, um das gerenderte Ergebnis zu sehen, und exportieren Sie nach HTML.","tutorial.htmlEditor.intro.title":"Rich-Text-Editor","tutorial.htmlEditor.intro.content":"Formatieren Sie Text mit der Symbolleiste, fügen Sie Links, Bilder und Tabellen ein und wechseln Sie bei Bedarf zur HTML- oder Markdown-Quelle.","tutorial.documentEditor.intro.title":"Dokument-Editor","tutorial.documentEditor.intro.content":"Erstellen Sie ein Dokument aus Blöcken: Nutzen Sie die Symbolleiste oder Slash-Befehle, um Überschriften, Listen, Medien und mehr hinzuzufügen, und exportieren Sie nach HTML.","tutorial.codeEditor.intro.title":"Code-Editor","tutorial.codeEditor.intro.content":"Bearbeiten Sie Code mit Syntaxhervorhebung, IntelliSense und der Symbolleiste. Strg+S speichert; die Statusleiste zeigt die Cursorposition und etwaige Probleme.","tutorial.kanbanBoard.intro.title":"Kanban-Board","tutorial.kanbanBoard.intro.content":"Ziehen Sie Karten zwischen Spalten, um ihren Status zu ändern, fügen Sie Karten mit der Schaltfläche „+“ hinzu und klicken Sie auf eine Karte, um ihre Details zu bearbeiten.","tutorial.queryBuilder.intro.title":"Abfrage-Builder","tutorial.queryBuilder.intro.content":"Fügen Sie Tabellen hinzu, wählen Sie Spalten, definieren Sie Joins, Bedingungen und Sortierung visuell – das SQL wird für Sie erzeugt. Wechseln Sie zum SQL-Tab, um es zu prüfen.","tutorial.stateDesigner.intro.title":"State-Designer","tutorial.stateDesigner.intro.content":"Modellieren Sie Ihren Store als Slices mit Feldern und Aktionen, wählen Sie ein Ziel (z. B. Zustand) und exportieren Sie einsatzfertigen State-Management-Code.","tutorial.componentDesigner.intro.title":"Komponenten-Designer","tutorial.componentDesigner.intro.content":"Benennen Sie Ihre Komponente, deklarieren Sie ihre Props mit Typen und Anforderungen und sehen Sie die erzeugte TypeScript-Schnittstelle live in der Vorschau.","tutorial.pageBuilder.intro.title":"Seiten-Builder","tutorial.pageBuilder.intro.content":"Ziehen Sie Komponenten aus der Seitenleiste auf das responsive Raster, wechseln Sie die Desktop-/Tablet-/Mobil-Vorschau und speichern Sie das Layout.","tutorial.lowCodeStudio.intro.title":"Low-Code-Studio","tutorial.lowCodeStudio.intro.content":"Ziehen Sie Komponenten aus der Seitenleiste auf die Arbeitsfläche und wechseln Sie zwischen den Tabs Design, Vorschau und Code, um Ihre App zu bauen und zu exportieren.","tutorial.testBuilder.intro.title":"Test-Builder","tutorial.testBuilder.intro.content":"Erstellen Sie Test-Suiten visuell: Fügen Sie Fälle und Interaktionsschritte mit Assertions hinzu, führen Sie sie aus und exportieren Sie in eine lauffähige .test.tsx-Datei.","tutorial.workflowDesigner.intro.title":"Workflow-Designer","tutorial.workflowDesigner.intro.content":"Fügen Sie Zustände und Übergänge auf der Arbeitsfläche hinzu, validieren Sie den Ablauf, simulieren Sie ihn und testen oder veröffentlichen Sie dann Ihren Workflow.","tutorial.themeBuilder.intro.title":"Theme-Builder","tutorial.themeBuilder.intro.content":"Starten Sie mit einer Vorlage, passen Sie Farben, Typografie und weitere Tokens abschnittsweise an, sehen Sie eine Live-Vorschau und wenden Sie das Theme an oder exportieren Sie es.","tutorial.filterBuilder.intro.title":"Filter-Builder","tutorial.filterBuilder.intro.content":"Bauen Sie komplexe UND/ODER-Filterbäume: Fügen Sie Bedingungen und verschachtelte Gruppen hinzu, wählen Sie Felder und Operatoren und speichern Sie wiederverwendbare Vorlagen.","tutorial.diagramDesigner.intro.title":"Diagramm-Designer","tutorial.diagramDesigner.intro.content":"Ziehen Sie Formen aus der Palette auf die Arbeitsfläche, verbinden Sie sie mit Konnektoren, bearbeiten Sie Eigenschaften rechts und exportieren Sie nach SVG, PNG oder JSON.","tutorial.reportBuilder.intro.title":"Bericht-Builder","tutorial.reportBuilder.intro.content":"Ziehen Sie Abschnitte auf den Bericht, binden Sie sie an Datenquellen, ordnen Sie das Layout an und exportieren Sie nach PDF, HTML oder XLSX.","tutorial.erpReportDesigner.intro.title":"Bericht-Designer","tutorial.erpReportDesigner.intro.content":"Gestalten Sie Bänderberichte: Platzieren Sie Elemente (Felder, Ausdrücke, Diagramme) in Bändern, binden Sie Datenverbindungen, bearbeiten Sie Eigenschaften und sehen Sie dann Vorschau und Export.","tutorial.recipeEditor.intro.title":"Rezept-Editor","tutorial.recipeEditor.intro.content":"Bearbeiten Sie die Rezeptdetails, fügen Sie Zutaten und Schritte hinzu und ordnen Sie sie neu, hängen Sie Fotos an und importieren oder exportieren Sie das Rezept als JSON.","tutorial.pipelineEditor.intro.title":"Pipeline-Editor","tutorial.pipelineEditor.intro.content":"Bauen Sie eine CI/CD-Pipeline aus Stufen, Jobs und Schritten; legen Sie Auslöser, Variablen und Geheimnisse fest und validieren, speichern und starten Sie sie dann.","tutorial.mergeRequestBuilder.intro.title":"Merge-Request-Builder","tutorial.mergeRequestBuilder.intro.content":"Wählen Sie Quell- und Zielbranch, schreiben Sie Titel und Beschreibung, fügen Sie Reviewer, Labels und verknüpfte Issues hinzu und prüfen und senden Sie dann.","tutorial.automationRuleEditor.intro.title":"Automatisierungsregel-Editor","tutorial.automationRuleEditor.intro.content":"Definieren Sie den Auslöser, fügen Sie optionale Bedingungen hinzu und listen Sie dann die auszuführenden Aktionen auf – wechseln Sie über die Tabs zwischen den drei Abschnitten.","tutorial.sceneActionBuilder.intro.title":"Szenen-Aktions-Builder","tutorial.sceneActionBuilder.intro.content":"Fügen Sie pro Gerät eine Aktion hinzu, legen Sie ihren Zielzustand und eine optionale Verzögerung fest, ordnen Sie sie neu und sehen Sie eine Vorschau der Szenensequenz.","tutorial.backupTagEditor.intro.title":"Backup-Tags","tutorial.backupTagEditor.intro.content":"Versehen Sie dieses Backup mit Tags zur einfachen Wiederfindung: Geben Sie eine Bezeichnung ein und wählen Sie eine Farbe, oder fügen Sie einen der vorgeschlagenen Tags hinzu; automatisch erzeugte Tags sind geschützt.","tutorial.dataMergeBuilder.intro.title":"Daten-Zusammenführung","tutorial.dataMergeBuilder.intro.content":"Gehen Sie die Schritte durch: Wählen Sie Quell- und Zielbranch, sehen Sie eine Vorschau der Änderungen, lösen Sie Konflikte, legen Sie Optionen fest und bestätigen Sie dann die Zusammenführung.","tutorial.invoiceLineEditor.intro.title":"Rechnungspositionen","tutorial.invoiceLineEditor.intro.content":"Fügen Sie Positionen mit Menge, Einzelpreis, MwSt. und Rabatt hinzu – Netto, Brutto und die MwSt.-Aufschlüsselung werden automatisch berechnet.","tutorial.keyValueEditor.intro.title":"Schlüssel/Wert-Editor","tutorial.keyValueEditor.intro.content":"Fügen Sie Schlüssel/Wert-Zeilen für Header, Parameter, Umgebungsvariablen oder Konfiguration hinzu; maskieren Sie geheime Werte, schalten Sie Zeilen ein/aus und achten Sie auf doppelte Schlüssel.","tutorial.imageEditor.intro.title":"Bild-Editor","tutorial.imageEditor.intro.content":"Nutzen Sie die Symbolleiste zum Zuschneiden, Drehen, Spiegeln, Anpassen von Helligkeit/Kontrast und Annotieren; machen Sie Bearbeitungen rückgängig oder wiederholen Sie sie und speichern Sie das Ergebnis.","tutorial.cropEditor.intro.title":"Zuschneide-Editor","tutorial.cropEditor.intro.content":"Ziehen Sie den Zuschneiderahmen über das Bild, wählen Sie ein Seitenverhältnis, drehen, spiegeln oder zoomen Sie und verwenden Sie dann das Ergebnis.","tutorial.pdfAnnotationEditor.intro.title":"PDF-Anmerkungen","tutorial.pdfAnnotationEditor.intro.content":"Wählen Sie ein Werkzeug aus der Symbolleiste (Hervorheben, Unterstreichen, Freihand, Text …), kommentieren Sie die Seite und navigieren und zoomen Sie nach Bedarf.","tutorial.videoEditor.intro.title":"Video-Editor","tutorial.videoEditor.intro.content":"Fügen Sie Medien zu den Timeline-Spuren hinzu, schneiden und ordnen Sie Clips, bearbeiten Sie Clip-Eigenschaften, sehen Sie eine Wiedergabe-Vorschau und exportieren Sie dann das Video.","tutorial.viewBuilder.intro.title":"Ansichts-Builder","tutorial.viewBuilder.intro.content":"Ziehen Sie Steuerelemente aus der Palette in die Rasterzellen, konfigurieren Sie jede Zelle im Eigenschaftenbereich und importieren, exportieren oder speichern Sie die Ansicht.","tutorial.dashboardDesigner.intro.title":"Dashboard-Designer","tutorial.dashboardDesigner.intro.content":"Ziehen Sie Widgets aus der Palette auf das Raster, ändern Sie ihre Größe und ordnen Sie sie an, konfigurieren Sie jedes im Eigenschaftenbereich und sehen Sie dann Vorschau oder Export des Dashboards.","tutorial.workflowDesignerCanvas.intro.title":"Workflow-Designer","tutorial.workflowDesignerCanvas.intro.content":"Fügen Sie Auslöser-, Aktions- und Bedingungsknoten zur Arbeitsfläche hinzu und verbinden Sie sie; verwalten Sie Variablen, validieren Sie den Ablauf und exportieren Sie ihn dann.","tutorial.armatureEditor.intro.title":"Armature-Editor","tutorial.armatureEditor.intro.content":"Wählen Sie Knochen, um ihre Transformationen zu bearbeiten, fügen Sie Knochen hinzu oder ordnen Sie sie neu zu, konfigurieren Sie IK-Ketten und speichern oder laden Sie Posen.","tutorial.morphTargetEditor.intro.title":"Morph-Target-Editor","tutorial.morphTargetEditor.intro.content":"Mischen Sie die Morph-Targets des Meshes mit den Einflussreglern pro Target, erstellen oder löschen Sie Targets und sehen Sie eine Vorschau der Interpolation.","tutorial.terrainEditor.intro.title":"Terrain-Editor","tutorial.terrainEditor.intro.content":"Formen Sie die Höhenkarte mit Pinseln (Anheben, Absenken, Glätten, Weichzeichnen, Rauschen), tragen Sie Texturebenen auf, erzeugen Sie prozedurales Terrain und importieren/exportieren Sie Höhenkarten.","tutorial.materialEditor.intro.title":"Material-Editor","tutorial.materialEditor.intro.content":"Bauen Sie einen Shader als Knotengraph: Ziehen Sie Knoten aus der Palette, verdrahten Sie ihre Ports, bearbeiten Sie Eigenschaften und sehen Sie eine Vorschau des kompilierten Materials.","tutorial.particleEditor.intro.title":"Partikel-Editor","tutorial.particleEditor.intro.content":"Wählen Sie ein Partikelsystem, justieren Sie seinen Emitter und seine Module im Inspektor und spielen, pausieren oder stoppen Sie die Live-Vorschau.","tutorial.uvEditor.intro.title":"UV-Editor","tutorial.uvEditor.intro.content":"Bearbeiten Sie das UV-Layout des Meshes über der Textur: Wählen und transformieren Sie UVs mit den Werkzeugen, wechseln Sie UV-Kanäle und wenden Sie Ihre Änderungen an.","tutorial.fontEditor.intro.title":"Schriftart-Editor","tutorial.fontEditor.intro.content":"Bearbeiten Sie Glyphen im Unicode-Raster, passen Sie Schriftmetriken sowie Pfade und Vorschübe pro Glyphe an und exportieren Sie dann die Schriftart.","tutorial.iconEditor.intro.title":"Icon-Editor","tutorial.iconEditor.intro.content":"Zeichnen und bearbeiten Sie SVG-Formen im Raster, passen Sie Kontur- und Varianteneinstellungen an, sehen Sie eine Vorschau auf verschiedenen Hintergründen und exportieren Sie nach SVG, React oder PNG.","tutorial.uiDesigner.intro.title":"UI-Designer","tutorial.uiDesigner.intro.content":"Ziehen Sie Komponenten aus der Palette auf die Arbeitsfläche, bearbeiten Sie ihre Props im Bereich, sehen Sie responsive Breakpoints in der Vorschau und exportieren Sie nach React/TSX.","tutorial.gameEditor.intro.title":"Spiel-Editor","tutorial.gameEditor.intro.content":"Bauen Sie Ihre Szene im Viewport mithilfe der Hierarchie- und Asset-Bereiche, justieren Sie Entitäten im Inspektor und speichern Sie das Projekt.","tutorial.levelEditor.intro.title":"Level-Editor","tutorial.levelEditor.intro.content":"Bauen Sie die Spielwelt: Platzieren und rasten Sie Objekte über Ebenen ein, malen Sie Terrain, legen Sie Splines und Lichter an und backen Sie dann Lightmaps.","tutorial.gameMaterialEditor.intro.title":"Material-Editor","tutorial.gameMaterialEditor.intro.content":"Erstellen Sie einen Shader als Knotengraph: Fügen Sie Shader-Knoten hinzu und verbinden Sie sie, bearbeiten Sie ihre Eigenschaften und kompilieren Sie das Material.","tutorial.gameParticleEditor.intro.title":"Partikel-Editor","tutorial.gameParticleEditor.intro.content":"Justieren Sie das Partikelsystem im Inspektor – Emitter, Lebensdauer, Kurven und Rendering – und spielen, pausieren oder starten Sie die Live-Vorschau neu.","tutorial.floorPlanEditor.intro.title":"Grundriss-Editor","tutorial.floorPlanEditor.intro.content":"Zeichnen Sie Räume und Zonen mit den Werkzeugen, platzieren Sie Geräte im Plan, wechseln Sie Etagen und schalten Sie Overlays wie Maße, Raster und Belegung um.","tutorial.buildingSceneEditor.intro.title":"Szenen-Editor","tutorial.buildingSceneEditor.intro.content":"Erstellen Sie Szenen, die mehrere Geräte auf einmal einstellen: Wählen Sie eine Szene, legen Sie die Zielzustände der Geräte fest und speichern oder aktivieren Sie sie.","tutorial.buildingAutomationEditor.intro.title":"Automatisierungs-Editor","tutorial.buildingAutomationEditor.intro.content":"Erstellen Sie Gebäudeautomatisierungen: Wählen Sie eine aus der Liste, definieren Sie ihre Auslöser, Bedingungen und Aktionen und speichern, aktivieren oder löschen Sie sie.","tutorial.spatialEditor.intro.title":"Raum-Editor","tutorial.spatialEditor.intro.content":"Gestalten Sie Grundrisse über verschiedene Modi: Zeichnen Sie Wände, Räume und Objekte mit den Werkzeugen, verwalten Sie Ebenen, rasten Sie am Raster ein und exportieren Sie.","tutorial.decisionTreeEditor.intro.title":"Entscheidungsbaum-Editor","tutorial.decisionTreeEditor.intro.content":"Erkunden Sie den Entscheidungsbaum: Klicken Sie auf Knoten, um Bedingungen und Ergebnisse zu prüfen, schalten Sie Metriken, Wahrscheinlichkeiten und Stichproben um und heben Sie einen Pfad für eine Eingabe hervor.","tutorial.diagramEditor.intro.title":"Diagramm-Editor","tutorial.diagramEditor.intro.content":"Wählen Sie ein Werkzeug, um Knoten auf der Arbeitsfläche hinzuzufügen und zu verbinden, bearbeiten Sie sie im Eigenschaftenbereich und exportieren Sie das Diagramm über die Symbolleiste.","tutorial.contractEditor.intro.title":"Vertrags-Editor","tutorial.contractEditor.intro.content":"Stellen Sie den Vertrag aus der Klauselbibliothek zusammen, füllen Sie Vorlagenvariablen aus, verfolgen Sie Versionen und Freigaben und speichern oder exportieren Sie nach PDF/DOCX/HTML.","tutorial.invoiceDesigner.intro.title":"Rechnungs-Designer","tutorial.invoiceDesigner.intro.content":"Ziehen Sie Elemente auf die Rechnungsfläche, binden Sie sie an Datenfelder, richten Sie sie mit Raster und Linealen aus und speichern oder exportieren Sie nach PDF.","tutorial.presentationEditor.intro.title":"Präsentations-Editor","tutorial.presentationEditor.intro.content":"Bauen Sie Folien aus der Miniaturleiste, fügen Sie Elemente auf der Fläche hinzu und ordnen Sie sie an, bearbeiten Sie sie im Eigenschaftenbereich und präsentieren oder exportieren Sie dann.","tutorial.dashboardStudio.intro.title":"Dashboard-Studio","tutorial.dashboardStudio.intro.content":"Ziehen Sie Widgets aus der Palette auf das Raster, binden Sie sie an Datenquellen, fügen Sie Filter hinzu und schalten Sie dann zwischen Bearbeiten/Ansicht um, aktualisieren und speichern Sie.","tutorial.biReportBuilder.intro.title":"Bericht-Builder","tutorial.biReportBuilder.intro.content":"Ziehen Sie Elemente aus der Palette auf den Bericht, binden Sie sie an Datenquellen, wechseln Sie zwischen Entwurf/Vorschau und exportieren Sie nach PDF oder Excel.","tutorial.etlBuilder.intro.title":"ETL-Builder","tutorial.etlBuilder.intro.content":"Verdrahten Sie Quellen → Transformationen → Ziele zu einer Pipeline, wechseln Sie die Ansichten und führen Sie sie dann aus und speichern Sie die Konfiguration.","tutorial.videoEditorPro.intro.title":"Video-Editor","tutorial.videoEditorPro.intro.content":"Fügen Sie Medien zur Timeline hinzu, ordnen und schneiden Sie Clips, wenden Sie Effekte und Übergänge an und konfigurieren und starten Sie dann den Export.","tutorial.mlStudio.intro.title":"ML-Studio","tutorial.mlStudio.intro.content":"Arbeiten Sie sich durch die Tabs: Bereiten Sie Datensätze vor, führen Sie Experimente durch, vergleichen und wählen Sie Modelle und stellen Sie das beste bereit.","tutorial.mathEditor.intro.title":"Mathe-Editor","tutorial.mathEditor.intro.content":"Schreiben Sie Gleichungen als LaTeX oder fügen Sie Symbole aus der Palette ein; wechseln Sie zur Handschrifteingabe und sehen Sie die gerenderte Formel live in der Vorschau.","tutorial.dmxEditor.intro.title":"DMX-Editor","tutorial.dmxEditor.intro.content":"Wählen Sie das FTDI-Gerät und den Port und stellen Sie dann den Wert jedes DMX-Kanals mit den Reglern ein, um Ihre Lichtgeräte live zu steuern.","sidebar.prefs.order.visibilityHint":"Die Reihenfolge gilt für die obersten Einträge innerhalb jeder Quellgruppe. Klappen Sie einen Quell-Header zu, um beim Überprüfen der Änderung nur die obersten Einträge zu sehen."},Si={ok:"OK",cancel:"Annuler",save:"Enregistrer",close:"Fermer",delete:"Supprimer",edit:"Modifier",add:"Ajouter",remove:"Retirer",search:"Rechercher",filter:"Filtrer",refresh:"Actualiser",loading:"Chargement…",noData:"Aucune donnée",error:"Erreur",success:"Succès",warning:"Avertissement",info:"Information",yes:"Oui",no:"Non",confirm:"Confirmer",back:"Retour",next:"Suivant",previous:"Précédent",finish:"Terminer",submit:"Soumettre",reset:"Réinitialiser",apply:"Appliquer",undo:"Annuler",redo:"Rétablir",copy:"Copier",cut:"Couper",paste:"Coller",selectAll:"Tout sélectionner",clear:"Effacer",upload:"Télécharger",download:"Télécharger",print:"Imprimer",export:"Exporter",import:"Importer",settings:"Paramètres",help:"Aide",about:"À propos",more:"Plus",less:"Moins",show:"Afficher",hide:"Masquer",expand:"Développer",collapse:"Réduire",enabled:"Activé",disabled:"Désactivé",required:"Obligatoire",optional:"Facultatif",actions:"Actions",details:"Détails",overview:"Aperçu",all:"Tous",none:"Aucun",selected:"Sélectionné",total:"Total",of:"de",items:"éléments",page:"Page",rows:"Lignes","app.name":"Application","app.version":"Version","app.about":"À propos","nav.home":"Accueil","nav.back":"Retour","nav.forward":"Suivant","nav.menu":"Menu","nav.sidebar":"Barre latérale","nav.search":"Rechercher","nav.favorites":"Favoris","nav.recent":"Récent","nav.notifications":"Notifications","nav.profile":"Profil","nav.logout":"Déconnexion","carousel.prev":"Diapo précédente","carousel.next":"Diapo suivante","carousel.slide":"Diapo","carousel.of":"de","carousel.autoplay":"Lecture auto","carousel.pause":"Pause","confirm.yes":"Oui","confirm.no":"Non","confirm.ok":"OK","confirm.cancel":"Annuler","confirm.title":"Confirmation","confirm.deleteMessage":"Voulez-vous vraiment supprimer ceci ?","confirm.unsavedChanges":"Modifications non enregistrées. Abandonner ?","console.shell":"Shell","console.terminal":"Terminal","console.prompt":"Entrez une commande…","console.clear":"Effacer la console","console.run":"Exécuter","console.output":"Sortie","console.newSession":"Nouvelle session","console.closeSession":"Fermer la session","controls.save":"Enregistrer","controls.cancel":"Annuler","controls.delete":"Supprimer","controls.edit":"Modifier","controls.add":"Ajouter","controls.remove":"Retirer","controls.close":"Fermer","controls.open":"Ouvrir","controls.refresh":"Actualiser","controls.new":"Nouveau","controls.duplicate":"Dupliquer","controls.sort":"Trier","controls.group":"Grouper","controls.pin":"Épingler","controls.unpin":"Désépingler","controls.lock":"Verrouiller","controls.unlock":"Déverrouiller","controls.share":"Partager","controls.archive":"Archiver","cookie.title":"Consentement aux cookies","cookie.message":"Ce site utilise des cookies.","cookie.accept":"Tout accepter","cookie.reject":"Tout refuser","cookie.settings":"Paramètres des cookies","cookie.necessary":"Nécessaires","cookie.analytics":"Analytiques","cookie.marketing":"Marketing","dashboard.title":"Tableau de bord","dashboard.addWidget":"Ajouter un widget","dashboard.removeWidget":"Supprimer le widget","dashboard.layout":"Disposition","dashboard.settings":"Paramètres","dashboard.customize":"Personnaliser","dashboard.resetLayout":"Réinitialiser la disposition","datetime.today":"Aujourd'hui","datetime.yesterday":"Hier","datetime.tomorrow":"Demain","datetime.selectDate":"Sélectionner une date","datetime.selectTime":"Sélectionner une heure","datetime.startDate":"Date de début","datetime.endDate":"Date de fin","datetime.startTime":"Heure de début","datetime.endTime":"Heure de fin","datetime.am":"AM","datetime.pm":"PM","desktop.start":"Démarrer","desktop.taskbar":"Barre des tâches","desktop.systemTray":"Zone de notification","desktop.wallpaper":"Fond d'écran","desktop.icons":"Icônes du bureau","desktop.arrangeIcons":"Organiser les icônes","dock.pin":"Épingler au dock","dock.unpin":"Désépingler du dock","dock.close":"Fermer","dock.minimize":"Réduire","dock.maximize":"Agrandir","dock.restore":"Restaurer","docEditor.paragraph":"Paragraphe","docEditor.heading":"Titre","docEditor.heading1":"Titre 1","docEditor.heading2":"Titre 2","docEditor.heading3":"Titre 3","docEditor.bulletList":"Liste à puces","docEditor.numberedList":"Liste numérotée","docEditor.quote":"Citation","docEditor.code":"Bloc de code","docEditor.divider":"Séparateur","docEditor.image":"Image","docEditor.table":"Tableau","docEditor.callout":"Encadré","docEditor.placeholder":"Commencez à écrire…","docEditor.slashCommand":"Tapez / pour les commandes","files.upload":"Envoyer un fichier","files.download":"Télécharger","files.delete":"Supprimer le fichier","files.rename":"Renommer","files.newFolder":"Nouveau dossier","files.selectFile":"Sélectionner un fichier","files.dropzone":"Déposez les fichiers ici","files.dragDrop":"Glissez-déposez les fichiers ou cliquez","files.maxSize":"Taille maximale du fichier","files.fileType":"Type de fichier","forms.required":"Ce champ est obligatoire","forms.optional":"Facultatif","forms.submit":"Soumettre","forms.reset":"Réinitialiser","forms.validate":"Valider","forms.invalid":"Valeur invalide","forms.minLength":"Longueur minimale : {0}","forms.maxLength":"Longueur maximale : {0}","forms.email":"Saisissez un e-mail valide","forms.phone":"Saisissez un numéro valide","imageEditor.crop":"Recadrer","imageEditor.rotate":"Pivoter","imageEditor.flip":"Retourner","imageEditor.resize":"Redimensionner","imageEditor.filter":"Filtre","imageEditor.draw":"Dessiner","imageEditor.text":"Texte","imageEditor.undo":"Annuler","imageEditor.redo":"Rétablir","imageEditor.save":"Enregistrer","imageEditor.brightness":"Luminosité","imageEditor.contrast":"Contraste","imageEditor.saturation":"Saturation","inbox.compose":"Rédiger","inbox.reply":"Répondre","inbox.replyAll":"Répondre à tous","inbox.forward":"Transférer","inbox.delete":"Supprimer","inbox.archive":"Archiver","inbox.markRead":"Marquer comme lu","inbox.markUnread":"Marquer comme non lu","inbox.folders":"Dossiers","inbox.inbox":"Boîte de réception","inbox.sent":"Envoyés","inbox.drafts":"Brouillons","inbox.trash":"Corbeille","inbox.spam":"Spam","inbox.starred":"Favoris","inbox.to":"À","inbox.cc":"Cc","inbox.bcc":"Cci","inbox.subject":"Objet","inbox.send":"Envoyer","inbox.discard":"Annuler","inbox.attachFile":"Joindre un fichier","kanban.addCard":"Ajouter une carte","kanban.addColumn":"Ajouter une colonne","kanban.moveCard":"Déplacer la carte","kanban.editCard":"Modifier la carte","kanban.deleteCard":"Supprimer la carte","kanban.editColumn":"Modifier la colonne","kanban.deleteColumn":"Supprimer la colonne","lang.en":"Anglais","lang.pl":"Polonais","lang.de":"Allemand","lang.fr":"Français","lang.es":"Espagnol","lang.it":"Italien","lang.pt":"Portugais","lang.nl":"Néerlandais","lang.sv":"Suédois","lang.no":"Norvégien","lang.da":"Danois","lang.fi":"Finnois","lang.cs":"Tchèque","lang.sk":"Slovaque","lang.hu":"Hongrois","lang.ro":"Roumain","lang.bg":"Bulgare","lang.uk":"Ukrainien","lang.ja":"Japonais","lang.ko":"Coréen","lang.zh":"Chinois","lang.ar":"Arabe","login.username":"Nom d'utilisateur","login.password":"Mot de passe","login.signIn":"Se connecter","login.signOut":"Se déconnecter","login.forgotPassword":"Mot de passe oublié ?","login.register":"S'inscrire","login.rememberMe":"Se souvenir de moi","login.newPassword":"Nouveau mot de passe","login.confirmPassword":"Confirmer le mot de passe","login.twoFactor":"Authentification à deux facteurs","password.strength":"Force du mot de passe","password.weak":"Faible","password.medium":"Moyen","password.strong":"Fort","password.requirements":"Exigences du mot de passe","pdfviewer.page":"Page","pdfviewer.of":"de","pdfviewer.zoom":"Zoom","pdfviewer.fitPage":"Ajuster à la page","pdfviewer.fitWidth":"Ajuster à la largeur","pdfviewer.download":"Télécharger","pdfviewer.print":"Imprimer","pdfviewer.search":"Rechercher dans le document","pdfviewer.bookmark":"Signets","pdfviewer.thumbnail":"Miniatures","picklist.available":"Disponible","picklist.selected":"Sélectionné","picklist.addAll":"Tout ajouter","picklist.removeAll":"Tout retirer","picklist.filter":"Filtrer les éléments","scheduling.calendar":"Calendrier","scheduling.event":"Événement","scheduling.allDay":"Toute la journée","scheduling.today":"Aujourd'hui","scheduling.week":"Semaine","scheduling.month":"Mois","scheduling.year":"Année","scheduling.day":"Jour","scheduling.agenda":"Agenda","scheduling.addEvent":"Ajouter un événement","scheduling.editEvent":"Modifier l'événement","scheduling.deleteEvent":"Supprimer l'événement","scheduling.noEvents":"Aucun événement","shortcuts.title":"Raccourcis clavier","shortcuts.description":"Raccourcis disponibles","shortcuts.key":"Touche","shortcuts.command":"Commande","shortcuts.search":"Rechercher des raccourcis","signature.clear":"Effacer","signature.save":"Enregistrer","signature.sign":"Signez ici","signature.draw":"Dessinez votre signature","spreadsheet.cell":"Cellule","spreadsheet.row":"Ligne","spreadsheet.column":"Colonne","spreadsheet.formula":"Formule","spreadsheet.insert":"Insérer","spreadsheet.delete":"Supprimer","spreadsheet.sort":"Trier","spreadsheet.sortAsc":"Tri croissant","spreadsheet.sortDesc":"Tri décroissant","spreadsheet.filter":"Filtrer","spreadsheet.export":"Exporter","spreadsheet.import":"Importer","spreadsheet.addRow":"Ajouter une ligne","spreadsheet.addColumn":"Ajouter une colonne","spreadsheet.deleteRow":"Supprimer la ligne","spreadsheet.deleteColumn":"Supprimer la colonne","spreadsheet.freezeRow":"Figer la ligne","spreadsheet.freezeColumn":"Figer la colonne","spreadsheet.merge":"Fusionner les cellules","spreadsheet.unmerge":"Scinder les cellules","terminal.run":"Exécuter","terminal.clear":"Effacer","terminal.copy":"Copier","terminal.paste":"Coller","terminal.newSession":"Nouvelle session","terminal.closeSession":"Fermer la session","terminal.selectAll":"Tout sélectionner","theme.light":"Clair","theme.dark":"Sombre","theme.system":"Système","theme.custom":"Personnalisé","theme.colors":"Couleurs","theme.fonts":"Polices","theme.apply":"Appliquer le thème","theme.preview":"Aperçu","theme.reset":"Réinitialiser","theme.gallery":"Galerie de thèmes","users.profile":"Profil","users.settings":"Paramètres","users.permissions":"Autorisations","users.role":"Rôle","users.active":"Actif","users.inactive":"Inactif","users.online":"En ligne","users.offline":"Hors ligne","users.lastSeen":"Dernière connexion","wm.close":"Fermer","wm.minimize":"Réduire","wm.maximize":"Agrandir","wm.restore":"Restaurer","wm.tile":"Fenêtres en mosaïque","wm.cascade":"Fenêtres en cascade","wm.closeAll":"Tout fermer","wm.minimizeAll":"Tout réduire","wm.newWindow":"Nouvelle fenêtre","wm.moveToFront":"Au premier plan","noCode.title":"Studio No-Code","noCode.description":"Créez des applications visuellement","noCode.newProject":"Nouveau projet","noCode.openProject":"Ouvrir le projet","noCode.saveProject":"Enregistrer le projet","noCode.exportProject":"Exporter le projet","noCode.importProject":"Importer le projet","noCode.projectName":"Nom du projet","noCode.projectSettings":"Paramètres du projet","noCode.recentProjects":"Projets récents","noCode.templates":"Modèles","noCode.preview":"Aperçu","noCode.codeView":"Vue code","noCode.splitView":"Vue divisée","noCode.visualView":"Vue visuelle","noCode.generate":"Générer le code","noCode.deploy":"Déployer","noCode.componentDesigner.title":"Concepteur de composants","noCode.componentDesigner.newComponent":"Nouveau composant","noCode.componentDesigner.componentName":"Nom du composant","noCode.componentDesigner.addProp":"Ajouter une propriété","noCode.componentDesigner.editProp":"Modifier la propriété","noCode.componentDesigner.deleteProp":"Supprimer la propriété","noCode.componentDesigner.propName":"Nom de la propriété","noCode.componentDesigner.propType":"Type de propriété","noCode.componentDesigner.propRequired":"Obligatoire","noCode.componentDesigner.propDefault":"Valeur par défaut","noCode.componentDesigner.addState":"Ajouter un état","noCode.componentDesigner.stateName":"Nom de l'état","noCode.componentDesigner.stateType":"Type d'état","noCode.componentDesigner.stateDefault":"Valeur initiale","noCode.componentDesigner.addHook":"Ajouter un hook","noCode.componentDesigner.hooks":"Hooks","noCode.componentDesigner.template":"Modèle","noCode.componentDesigner.styles":"Styles","noCode.componentDesigner.events":"Événements","noCode.componentDesigner.palette":"Palette de composants","noCode.componentDesigner.dragDrop":"Glissez les composants ici","noCode.pageBuilder.title":"Créateur de pages","noCode.pageBuilder.newPage":"Nouvelle page","noCode.pageBuilder.pageName":"Nom de la page","noCode.pageBuilder.pageRoute":"Chemin de route","noCode.pageBuilder.addSection":"Ajouter une section","noCode.pageBuilder.editSection":"Modifier la section","noCode.pageBuilder.deleteSection":"Supprimer la section","noCode.pageBuilder.sectionLayout":"Disposition de section","noCode.pageBuilder.columns":"Colonnes","noCode.pageBuilder.responsive":"Réactif","noCode.pageBuilder.mobile":"Mobile","noCode.pageBuilder.tablet":"Tablette","noCode.pageBuilder.desktop":"Bureau","noCode.pageBuilder.showGrid":"Afficher la grille","noCode.pageBuilder.hideGrid":"Masquer la grille","noCode.pageBuilder.metadata":"Métadonnées de page","noCode.pageBuilder.seo":"Paramètres SEO","noCode.stateDesigner.title":"Concepteur d'état","noCode.stateDesigner.newStore":"Nouveau store","noCode.stateDesigner.storeName":"Nom du store","noCode.stateDesigner.storeType":"Type de store","noCode.stateDesigner.addState":"Ajouter un champ d'état","noCode.stateDesigner.addAction":"Ajouter une action","noCode.stateDesigner.editAction":"Modifier l'action","noCode.stateDesigner.deleteAction":"Supprimer l'action","noCode.stateDesigner.actionName":"Nom de l'action","noCode.stateDesigner.actionParams":"Paramètres","noCode.stateDesigner.actionBody":"Corps de l'action","noCode.stateDesigner.asyncAction":"Action asynchrone","noCode.stateDesigner.addSelector":"Ajouter un sélecteur","noCode.stateDesigner.selectorName":"Nom du sélecteur","noCode.stateDesigner.selectorBody":"Logique du sélecteur","noCode.stateDesigner.persistence":"Persistance","noCode.stateDesigner.devtools":"Outils de développement","noCode.apiFlow.title":"Concepteur API","noCode.apiFlow.newEndpoint":"Nouveau endpoint","noCode.apiFlow.endpointUrl":"URL du endpoint","noCode.apiFlow.method":"Méthode HTTP","noCode.apiFlow.headers":"En-têtes","noCode.apiFlow.body":"Corps de requête","noCode.apiFlow.response":"Réponse","noCode.apiFlow.auth":"Authentification","noCode.apiFlow.authType":"Type d'authentification","noCode.apiFlow.bearerToken":"Token Bearer","noCode.apiFlow.apiKey":"Clé API","noCode.apiFlow.testEndpoint":"Tester le endpoint","noCode.apiFlow.mockResponse":"Réponse simulée","noCode.apiFlow.errorHandling":"Gestion des erreurs","noCode.apiFlow.retry":"Politique de réessai","noCode.apiFlow.cache":"Cache","noCode.dataMapper.title":"Mappeur de données","noCode.dataMapper.sourceSchema":"Schéma source","noCode.dataMapper.targetSchema":"Schéma cible","noCode.dataMapper.addMapping":"Ajouter un mapping","noCode.dataMapper.editMapping":"Modifier le mapping","noCode.dataMapper.deleteMapping":"Supprimer le mapping","noCode.dataMapper.sourceField":"Champ source","noCode.dataMapper.targetField":"Champ cible","noCode.dataMapper.transform":"Transformation","noCode.dataMapper.validation":"Validation","noCode.dataMapper.testData":"Données de test","noCode.dataMapper.preview":"Aperçu du résultat","noCode.dataMapper.autoMap":"Mapping automatique","noCode.eventOrchestrator.title":"Orchestrateur d'événements","noCode.eventOrchestrator.newFlow":"Nouveau flux","noCode.eventOrchestrator.flowName":"Nom du flux","noCode.eventOrchestrator.trigger":"Déclencheur","noCode.eventOrchestrator.triggerType":"Type de déclencheur","noCode.eventOrchestrator.addHandler":"Ajouter un handler","noCode.eventOrchestrator.editHandler":"Modifier le handler","noCode.eventOrchestrator.deleteHandler":"Supprimer le handler","noCode.eventOrchestrator.handlerName":"Nom du handler","noCode.eventOrchestrator.debounce":"Rebond","noCode.eventOrchestrator.throttle":"Limitation","noCode.eventOrchestrator.delay":"Délai","noCode.eventOrchestrator.condition":"Condition","noCode.eventOrchestrator.chain":"Chaîne d'événements","noCode.testBuilder.title":"Créateur de tests","noCode.testBuilder.newTest":"Nouveau test","noCode.testBuilder.testName":"Nom du test","noCode.testBuilder.testDescription":"Description","noCode.testBuilder.addScenario":"Ajouter un scénario","noCode.testBuilder.editScenario":"Modifier le scénario","noCode.testBuilder.deleteScenario":"Supprimer le scénario","noCode.testBuilder.addAssertion":"Ajouter une assertion","noCode.testBuilder.assertionType":"Type d'assertion","noCode.testBuilder.expected":"Valeur attendue","noCode.testBuilder.actual":"Valeur réelle","noCode.testBuilder.mock":"Configuration des mocks","noCode.testBuilder.runTests":"Exécuter les tests","noCode.testBuilder.testsPassed":"Tests réussis","noCode.testBuilder.testsFailed":"Tests échoués","noCode.testBuilder.coverage":"Couverture","noCode.testBuilder.accessibility":"Vérification d'accessibilité","noCode.codeTemplate.title":"Modèles de code","noCode.codeTemplate.newTemplate":"Nouveau modèle","noCode.codeTemplate.templateName":"Nom du modèle","noCode.codeTemplate.templateEngine":"Moteur de modèle","noCode.codeTemplate.variables":"Variables","noCode.codeTemplate.addVariable":"Ajouter une variable","noCode.codeTemplate.variableName":"Nom de variable","noCode.codeTemplate.variableType":"Type de variable","noCode.codeTemplate.variableDefault":"Valeur par défaut","noCode.codeTemplate.generateFiles":"Générer les fichiers","noCode.codeTemplate.outputPath":"Chemin de sortie","noCode.codeTemplate.presets":"Préréglages","noCode.codeTemplate.presetReact":"Composant React","noCode.codeTemplate.presetNextPage":"Page Next.js","noCode.codeTemplate.presetHook":"Hook personnalisé","noCode.codeTemplate.presetStore":"Module store","noCode.codePreview.title":"Aperçu du code","noCode.codePreview.showDiff":"Afficher les différences","noCode.codePreview.hideDiff":"Masquer les différences","noCode.codePreview.copyCode":"Copier le code","noCode.codePreview.downloadCode":"Télécharger le code","noCode.codePreview.importCode":"Importer le code","noCode.codePreview.language":"Langage","noCode.codePreview.format":"Formater le code","noCode.codePreview.linesChanged":"Lignes modifiées","noCode.codePreview.noChanges":"Aucune modification","nav.help":"Aide","navShell.home.title":"Accueil","navShell.help.next":"Suivant","navShell.help.back":"Retour","navShell.help.finish":"Terminer","navShell.help.skip":"Passer","navShell.help.stepOf":"sur","navShell.help.topNav.title":"Navigation supérieure","navShell.help.topNav.body":"Utilisez la barre supérieure pour changer d'espace de travail, rechercher, modifier le thème ou la langue, et ouvrir les notifications.","navShell.help.sidebar.title":"Barre latérale","navShell.help.sidebar.body":"Parcourez les vues disponibles regroupées par section. Choisissez une vue pour l’ouvrir dans un nouvel onglet.","navShell.help.tabs.title":"Onglets","navShell.help.tabs.body":"Chaque vue ouverte vit dans son propre onglet. Épinglez celles que vous utilisez souvent et faites un clic droit pour plus d'actions.","navShell.help.content.title":"Espace de travail","navShell.help.content.body":"La zone principale affiche la vue active. Changer d’onglet ou d’entrée latérale échange le contenu ici.","navShell.home.subtitle":"Reprenez là où vous en étiez.","navShell.home.empty":"Ouvrez une vue depuis la barre latérale ou les onglets ci-dessus pour remplir votre espace de travail.","navShell.home.greeting.morning":"Bonjour","navShell.home.greeting.afternoon":"Bon après-midi","navShell.home.greeting.evening":"Bonsoir","navShell.home.greeting.night":"Bonjour","navShell.home.sections.openTabs":"Ouverts maintenant","navShell.home.sections.shortcuts":"Vos raccourcis","navShell.home.sections.allViews":"Toutes les vues","sidebar.menu.open":"Ouvrir","sidebar.menu.openNewTab":"Ouvrir dans un nouvel onglet","sidebar.menu.openBrowserTab":"Ouvrir dans un nouvel onglet du navigateur","sidebar.menu.pinFavorite":"Ajouter aux favoris","sidebar.menu.unpinFavorite":"Retirer des favoris","sidebar.menu.hide":"Masquer","sidebar.menu.copyLink":"Copier le lien","sidebar.menu.pinSource":"Épingler la source","sidebar.menu.unpinSource":"Détacher la source","sidebar.menu.hideSource":"Masquer la source","sidebar.prefs.general":"Général","sidebar.prefs.display":"Affichage","sidebar.prefs.order":"Ordre","sidebar.prefs.hidden":"Éléments masqués","sidebar.prefs.reset":"Réinitialiser","sidebar.prefs.general.title":"Général","sidebar.prefs.general.desc":"Comportement de l'arborescence latérale et action du clic gauche.","sidebar.prefs.general.autoExpand":"Développer automatiquement toutes les branches","sidebar.prefs.general.autoExpandHint":"Lorsque désactivé, les branches démarrent repliées et conservent leur dernier état par session.","sidebar.prefs.general.leftClickBehavior":"Comportement du clic gauche","sidebar.prefs.general.focusExisting":"Focaliser l’onglet existant","sidebar.prefs.general.openNew":"Toujours ouvrir dans un nouvel onglet","sidebar.prefs.general.leftClickHint":"Le clic droit → « Ouvrir dans un nouvel onglet » est toujours disponible quel que soit ce paramètre.","sidebar.prefs.display.title":"Affichage","sidebar.prefs.display.desc":"Quels modes apparaissent dans la barre et la profondeur de l'arbre par mode.","sidebar.prefs.display.enableModeIcons":"Afficher les icônes du sélecteur de mode","sidebar.prefs.display.enabledModes":"Modes visibles","sidebar.prefs.display.preferencesAlwaysOn":"Les préférences sont toujours affichées.","sidebar.prefs.display.maxDepth":"Profondeur d’arbre par mode","sidebar.prefs.order.title":"Ordonner les éléments","sidebar.prefs.order.desc":"Faites glisser les éléments pour réorganiser leur affichage dans le mode sélectionné.","sidebar.prefs.order.pickMode":"Mode","sidebar.prefs.order.empty":"Aucun élément réorganisable dans ce mode.","sidebar.prefs.order.resetMode":"Rétablir l’ordre par défaut","sidebar.prefs.hidden.title":"Éléments masqués","sidebar.prefs.hidden.desc":"Éléments que vous avez masqués de l'arborescence. Restaurez-les pour les ramener.","sidebar.prefs.hidden.empty":"Rien de masqué pour l’instant.","sidebar.prefs.hidden.restore":"Restaurer","sidebar.prefs.reset.title":"Réinitialiser","sidebar.prefs.reset.desc":"Effacer toutes les personnalisations et restaurer la disposition d'origine de la barre latérale.","sidebar.prefs.reset.button":"Réinitialiser toutes les préférences","sidebar.prefs.reset.confirm":"Cela effacera vos favoris, éléments masqués, ordre personnalisé et toutes les autres préférences de la barre latérale. Cette action est irréversible.","sidebar.prefs.reset.confirmYes":"Oui, tout réinitialiser","sidebar.prefs.reset.cancel":"Annuler","vectorEditor.menu.file":"Fichier","vectorEditor.menu.edit":"Édition","vectorEditor.menu.object":"Objet","vectorEditor.menu.path":"Chemin","vectorEditor.menu.view":"Affichage","vectorEditor.menu.newCanvas":"Nouveau canevas","vectorEditor.menu.openSvg":"Ouvrir un SVG…","vectorEditor.menu.pasteSvg":"Coller un SVG…","vectorEditor.menu.exportSvg":"Exporter en SVG","vectorEditor.menu.exportPng":"Exporter en PNG","vectorEditor.menu.exportJpg":"Exporter en JPG","vectorEditor.menu.exportWebp":"Exporter en WebP","vectorEditor.menu.exportBmp":"Exporter en BMP","vectorEditor.menu.saveToLibrary":"📦 Enregistrer dans la bibliothèque","vectorEditor.menu.exportIconSnippet":"📋 Exporter l’extrait d’icône","vectorEditor.menu.exportIcon":"📋 Exporter l’icône","vectorEditor.menu.undo":"Annuler (Ctrl+Z)","vectorEditor.menu.redo":"Rétablir (Ctrl+Y)","vectorEditor.menu.copy":"Copier (Ctrl+C)","vectorEditor.menu.paste":"Coller (Ctrl+V)","vectorEditor.menu.duplicate":"Dupliquer (Ctrl+D)","vectorEditor.menu.delete":"Supprimer (Suppr)","vectorEditor.menu.bringToFront":"Mettre au premier plan","vectorEditor.menu.sendToBack":"Mettre à l’arrière-plan","vectorEditor.menu.flipH":"Retourner horizontalement","vectorEditor.menu.flipV":"Retourner verticalement","vectorEditor.menu.alignLeft":"Aligner à gauche","vectorEditor.menu.alignCenter":"Centrer","vectorEditor.menu.alignRight":"Aligner à droite","vectorEditor.menu.union":"Union (∪)","vectorEditor.menu.subtract":"Soustraire (−)","vectorEditor.menu.intersect":"Intersection (∩)","vectorEditor.menu.exclude":"Exclusion (⊕)","vectorEditor.menu.outlineStroke":"Vectoriser le contour","vectorEditor.menu.snapToGrid":"Aligner sur la grille","vectorEditor.menu.snap":"Grille","vectorEditor.menu.secondShape":"2e forme","vectorEditor.tabs.properties":"Propriétés","vectorEditor.tabs.layers":"Calques","vectorEditor.tabs.library":"Bibliothèque","vectorEditor.tabs.timeline":"Chronologie","vectorEditor.timeline.preset":"Préréglage","vectorEditor.timeline.duration":"Durée (ms)","vectorEditor.timeline.repeat":"Répétitions","vectorEditor.timeline.direction":"Direction","vectorEditor.timeline.remove":"Supprimer l’animation","vectorEditor.timeline.play":"Lecture","vectorEditor.timeline.pause":"Pause","vectorEditor.timeline.stop":"Arrêt","vectorEditor.timeline.copyCss":"Copier le CSS","vectorEditor.timeline.keyframes":"Images clés","vectorEditor.timeline.addKeyframe":"+ Ajouter une image clé","vectorEditor.timeline.noSelection":"Sélectionnez une forme à animer.","vectorEditor.timeline.animationTitle":"Animation","vectorEditor.timeline.playbackTitle":"Lecture","vectorEditor.timeline.attachHint":"Sélectionnez une forme pour y attacher une animation.","vectorEditor.timeline.playLabel":"▶ Lecture","vectorEditor.timeline.pauseLabel":"⏸ Pause","vectorEditor.timeline.stopLabel":"⏹ Arrêt","vectorEditor.timeline.copyCssKeyframes":"📋 Copier les images clés CSS","vectorEditor.timeline.tLabel":"t","vectorEditor.layers.empty":"Aucun calque pour l’instant. Utilisez les outils pour dessiner ou insérez depuis l’onglet Bibliothèque.","vectorEditor.layers.moveUp":"Monter","vectorEditor.layers.moveDown":"Descendre","vectorEditor.library.passProp":"Passez une prop library à NiceVectorEditor pour remplir cet onglet avec des icônes insérables.","vectorEditor.statusBar.zoom":"Zoom","vectorEditor.statusBar.shapes":"forme(s)","vectorEditor.statusBar.selected":"Sélectionné","vectorEditor.statusBar.snap":"Grille","vectorEditor.library.empty":"Aucune icône dans la bibliothèque.","vectorEditor.snippet.title":"✅ Extrait d’icône copié dans le presse-papiers","vectorEditor.snippet.pasteHint":"Coller dans","vectorEditor.snippet.copyAgain":"Copier à nouveau","vectorEditor.snippet.close":"Fermer","vectorEditor.properties.appearance":"Apparence","vectorEditor.properties.fill":"Remplissage","vectorEditor.properties.solid":"Uni","vectorEditor.properties.gradient":"Dégradé","vectorEditor.properties.hideEditor":"▼ Masquer l’éditeur","vectorEditor.properties.editGradient":"► Modifier le dégradé","vectorEditor.properties.type":"Type","vectorEditor.properties.linear":"Linéaire","vectorEditor.properties.radial":"Radial","vectorEditor.properties.angle":"Angle","vectorEditor.properties.cx":"CX","vectorEditor.properties.cy":"CY","vectorEditor.properties.r":"R","vectorEditor.properties.colorStops":"Étapes de couleur :","vectorEditor.properties.addStop":"+ Ajouter une étape","vectorEditor.properties.removeStop":"- Supprimer","vectorEditor.properties.stroke":"Contour","vectorEditor.properties.width":"Largeur","vectorEditor.properties.opacity":"Opacité","vectorEditor.properties.rotation":"Rotation","vectorEditor.properties.toolOptions":"Options de l’outil","vectorEditor.properties.radius":"Rayon","vectorEditor.properties.sides":"Côtés","vectorEditor.properties.points":"Points","vectorEditor.properties.innerR":"R intérieur","vectorEditor.properties.size":"Taille","vectorEditor.properties.font":"Police","vectorEditor.properties.grid":"Grille","vectorEditor.properties.transform":"Transformation","vectorEditor.properties.x":"X","vectorEditor.properties.y":"Y","vectorEditor.properties.w":"L","vectorEditor.properties.h":"H","vectorEditor.layers.title":"Calques","vectorEditor.layers.show":"Afficher","vectorEditor.layers.hide":"Masquer","vectorEditor.layers.lock":"Verrouiller","vectorEditor.layers.unlock":"Déverrouiller","tutorial.play":"Lecture","tutorial.pause":"Pause","tutorial.speed":"Vitesse","tutorial.close":"Fermer","tutorial.start":"Tutoriel","tutorial.startAria":"Démarrer le tutoriel","tutorial.next":"Suivant","tutorial.back":"Précédent","tutorial.finish":"Terminer","tutorial.skip":"Passer","tutorial.stepOf":"sur","tutorial.moduleEditor.browser.title":"Explorateur de modules","tutorial.moduleEditor.browser.content":"Sélectionnez ici un module pour ouvrir son manifeste, ses entités et ses traductions.","tutorial.moduleEditor.validate.title":"Valider","tutorial.moduleEditor.validate.content":"Vérifiez le module par rapport au schéma du manifeste. Les problèmes apparaissent dans la barre d’état et la sortie.","tutorial.moduleEditor.save.title":"Enregistrer","tutorial.moduleEditor.save.content":"Enregistrez vos modifications via le fournisseur de données configuré (par ex. réécrire les fichiers sur le disque).","tutorial.manifestEditor.intro.title":"Éditeur de manifeste","tutorial.manifestEditor.intro.content":"Modifiez le manifeste par sections pilotées par schéma. Basculez entre Formulaire ⇄ JSON par section ; la validation apparaît dans la barre d’état.","tutorial.schemaForm.intro.title":"Formulaire de schéma","tutorial.schemaForm.intro.content":"Ce formulaire est généré à partir d’un schéma. Les champs obligatoires et les erreurs de validation sont signalés ; utilisez le bouton JSON pour l’édition brute.","tutorial.entityEditor.intro.title":"Éditeur d’entités","tutorial.entityEditor.intro.content":"Ajoutez des entités à gauche, puis modifiez à droite les métadonnées de chaque entité et ses champs (type, clés, contraintes).","tutorial.i18nEditor.intro.title":"Traductions","tutorial.i18nEditor.intro.content":"Modifiez les traductions sous forme de grille clés × langues. Ajoutez des clés et des langues ; les cellules ambrées signalent les traductions manquantes.","tutorial.formBuilder.intro.title":"Générateur de formulaires","tutorial.formBuilder.intro.content":"Faites glisser des champs depuis la palette vers le canevas, puis configurez chaque champ dans le panneau des propriétés. Exportez le schéma une fois terminé.","tutorial.formDesigner.intro.title":"Concepteur de formulaires","tutorial.formDesigner.intro.content":"Concevez des formulaires de saisie avec sections, listes de recherche et champs calculés ; liez-les à votre entité et prévisualisez en direct.","tutorial.paymentProviderConfig.intro.title":"Prestataire de paiement","tutorial.paymentProviderConfig.intro.content":"Choisissez un prestataire, renseignez ses identifiants (les secrets sont masqués), choisissez test/production, activez les méthodes et copiez l’URL du webhook.","tutorial.webhookTester.intro.title":"Testeur de webhook","tutorial.webhookTester.intro.content":"Choisissez une charge utile enregistrée (ou écrivez-en une), signez-la éventuellement, envoyez-la au point de terminaison et examinez la réponse.","tutorial.apiDesigner.intro.title":"Concepteur d’API","tutorial.apiDesigner.intro.content":"Définissez les points de terminaison, les paramètres, les schémas de requête/réponse et la sécurité de votre document OpenAPI.","tutorial.apiTester.intro.title":"Testeur d’API","tutorial.apiTester.intro.content":"Construisez des requêtes avec des collections et des variables d’environnement, envoyez-les et vérifiez les réponses.","tutorial.integrationBuilder.intro.title":"Générateur d’intégrations","tutorial.integrationBuilder.intro.content":"Reliez un flux de nœuds (déclencheurs → actions → gestion des erreurs) et connectez-les pour construire une intégration.","tutorial.scriptRunner.intro.title":"Exécuteur de scripts","tutorial.scriptRunner.intro.content":"Écrivez un script et un exemple d’entrée, cliquez sur Exécuter, puis examinez le résultat et les journaux capturés ci-dessous.","tutorial.lifecycleHooks.intro.title":"Hooks de cycle de vie","tutorial.lifecycleHooks.intro.content":"Associez des gestionnaires à chaque déclencheur, définissez leur ordre et leur indicateur d’activation, et ajoutez une condition facultative qui contrôle l’exécution.","tutorial.revisionHistory.intro.title":"Historique des révisions","tutorial.revisionHistory.intro.content":"Choisissez une révision, sélectionnez-en une autre à comparer, examinez la comparaison côte à côte, puis restaurez une version antérieure si nécessaire.","tutorial.markdownEditor.intro.title":"Éditeur Markdown","tutorial.markdownEditor.intro.content":"Écrivez du Markdown avec la barre de mise en forme ; activez l’aperçu en direct pour voir le rendu, puis exportez en HTML.","tutorial.htmlEditor.intro.title":"Éditeur de texte enrichi","tutorial.htmlEditor.intro.content":"Mettez en forme le texte avec la barre d’outils, insérez des liens, des images et des tableaux, et basculez vers la source HTML ou Markdown au besoin.","tutorial.documentEditor.intro.title":"Éditeur de documents","tutorial.documentEditor.intro.content":"Composez un document à partir de blocs : utilisez la barre d’outils ou les commandes slash pour ajouter des titres, des listes, des médias et plus, puis exportez en HTML.","tutorial.codeEditor.intro.title":"Éditeur de code","tutorial.codeEditor.intro.content":"Modifiez le code avec coloration syntaxique, IntelliSense et barre d’outils. Ctrl+S enregistre ; la barre d’état indique la position du curseur et les éventuels problèmes.","tutorial.kanbanBoard.intro.title":"Tableau Kanban","tutorial.kanbanBoard.intro.content":"Faites glisser les cartes entre les colonnes pour changer leur statut, ajoutez des cartes avec le bouton « + » et cliquez sur une carte pour modifier ses détails.","tutorial.queryBuilder.intro.title":"Générateur de requêtes","tutorial.queryBuilder.intro.content":"Ajoutez des tables, choisissez des colonnes, définissez visuellement les jointures, conditions et tris — le SQL est généré pour vous. Passez à l’onglet SQL pour le vérifier.","tutorial.stateDesigner.intro.title":"Concepteur d’état","tutorial.stateDesigner.intro.content":"Modélisez votre store en tranches avec des champs et des actions, choisissez une cible (par ex. Zustand) et exportez du code de gestion d’état prêt à l’emploi.","tutorial.componentDesigner.intro.title":"Concepteur de composants","tutorial.componentDesigner.intro.content":"Nommez votre composant, déclarez ses props avec leurs types et exigences, et prévisualisez en direct l’interface TypeScript générée.","tutorial.pageBuilder.intro.title":"Générateur de pages","tutorial.pageBuilder.intro.content":"Faites glisser des composants depuis la barre latérale sur la grille responsive, changez l’aperçu bureau/tablette/mobile et enregistrez la mise en page.","tutorial.lowCodeStudio.intro.title":"Studio low-code","tutorial.lowCodeStudio.intro.content":"Faites glisser des composants depuis la barre latérale sur le canevas, puis basculez entre les onglets Conception, Aperçu et Code pour construire et exporter votre application.","tutorial.testBuilder.intro.title":"Générateur de tests","tutorial.testBuilder.intro.content":"Construisez visuellement des suites de tests : ajoutez des cas et des étapes d’interaction avec des assertions, exécutez-les et exportez vers un fichier .test.tsx prêt à l’emploi.","tutorial.workflowDesigner.intro.title":"Concepteur de workflow","tutorial.workflowDesigner.intro.content":"Ajoutez des états et des transitions sur le canevas, validez le flux, simulez-le, puis testez ou publiez votre workflow.","tutorial.themeBuilder.intro.title":"Générateur de thème","tutorial.themeBuilder.intro.content":"Partez d’un préréglage, ajustez les couleurs, la typographie et d’autres jetons par section, prévisualisez en direct, puis appliquez ou exportez le thème.","tutorial.filterBuilder.intro.title":"Générateur de filtres","tutorial.filterBuilder.intro.content":"Construisez des arbres de filtres ET/OU complexes : ajoutez des conditions et des groupes imbriqués, choisissez les champs et opérateurs, et enregistrez des préréglages réutilisables.","tutorial.diagramDesigner.intro.title":"Concepteur de diagrammes","tutorial.diagramDesigner.intro.content":"Faites glisser des formes depuis la palette sur le canevas, reliez-les avec des connecteurs, modifiez les propriétés à droite, puis exportez en SVG, PNG ou JSON.","tutorial.reportBuilder.intro.title":"Générateur de rapports","tutorial.reportBuilder.intro.content":"Faites glisser des sections sur le rapport, liez-les à des sources de données, organisez la mise en page, puis exportez en PDF, HTML ou XLSX.","tutorial.erpReportDesigner.intro.title":"Concepteur de rapports","tutorial.erpReportDesigner.intro.content":"Disposez des rapports en bandes : déposez des éléments (champs, expressions, graphiques) dans les bandes, liez les connexions de données, modifiez les propriétés, puis prévisualisez et exportez.","tutorial.recipeEditor.intro.title":"Éditeur de recettes","tutorial.recipeEditor.intro.content":"Modifiez les détails de la recette, ajoutez et réorganisez les ingrédients et les étapes, joignez des photos et importez ou exportez la recette en JSON.","tutorial.pipelineEditor.intro.title":"Éditeur de pipeline","tutorial.pipelineEditor.intro.content":"Construisez un pipeline CI/CD à partir d’étapes, de tâches et de pas ; définissez déclencheurs, variables et secrets ; puis validez, enregistrez et exécutez-le.","tutorial.mergeRequestBuilder.intro.title":"Générateur de merge request","tutorial.mergeRequestBuilder.intro.content":"Choisissez les branches source et cible, rédigez le titre et la description, ajoutez relecteurs, étiquettes et tickets liés, puis prévisualisez et soumettez.","tutorial.automationRuleEditor.intro.title":"Éditeur de règles d’automatisation","tutorial.automationRuleEditor.intro.content":"Définissez le déclencheur, ajoutez des conditions facultatives, puis listez les actions à exécuter — basculez entre les trois sections à l’aide des onglets.","tutorial.sceneActionBuilder.intro.title":"Générateur d’actions de scène","tutorial.sceneActionBuilder.intro.content":"Ajoutez une action par appareil, définissez son état cible et un délai facultatif, réorganisez-les et prévisualisez la séquence de la scène.","tutorial.backupTagEditor.intro.title":"Étiquettes de sauvegarde","tutorial.backupTagEditor.intro.content":"Étiquetez cette sauvegarde pour la retrouver facilement : saisissez un libellé et choisissez une couleur, ou ajoutez l’une des étiquettes suggérées ; les étiquettes générées automatiquement sont protégées.","tutorial.dataMergeBuilder.intro.title":"Fusion de données","tutorial.dataMergeBuilder.intro.content":"Suivez les étapes : choisissez les branches source et cible, prévisualisez les modifications, résolvez les conflits, définissez les options, puis confirmez la fusion.","tutorial.invoiceLineEditor.intro.title":"Lignes de facture","tutorial.invoiceLineEditor.intro.content":"Ajoutez des lignes avec quantité, prix unitaire, TVA et remise — le net, le brut et le détail de la TVA sont calculés automatiquement.","tutorial.keyValueEditor.intro.title":"Éditeur clé/valeur","tutorial.keyValueEditor.intro.content":"Ajoutez des lignes clé/valeur pour les en-têtes, paramètres, variables d’environnement ou configuration ; masquez les valeurs secrètes, activez/désactivez les lignes et surveillez les clés en double.","tutorial.imageEditor.intro.title":"Éditeur d’images","tutorial.imageEditor.intro.content":"Utilisez la barre d’outils pour recadrer, pivoter, retourner, ajuster la luminosité/le contraste et annoter ; annulez/rétablissez vos modifications, puis enregistrez le résultat.","tutorial.cropEditor.intro.title":"Éditeur de recadrage","tutorial.cropEditor.intro.content":"Faites glisser le cadre de recadrage sur l’image, choisissez un format, pivotez, retournez ou zoomez, puis utilisez le résultat.","tutorial.pdfAnnotationEditor.intro.title":"Annotations PDF","tutorial.pdfAnnotationEditor.intro.content":"Choisissez un outil dans la barre d’outils (surligner, souligner, main levée, texte…), annotez la page, naviguez entre les pages et zoomez au besoin.","tutorial.videoEditor.intro.title":"Éditeur vidéo","tutorial.videoEditor.intro.content":"Ajoutez des médias aux pistes de la timeline, découpez et organisez les clips, modifiez leurs propriétés, prévisualisez la lecture, puis exportez la vidéo.","tutorial.viewBuilder.intro.title":"Générateur de vues","tutorial.viewBuilder.intro.content":"Faites glisser des contrôles depuis la palette dans les cellules de la grille, configurez chaque cellule dans le panneau des propriétés, et importez, exportez ou enregistrez la vue.","tutorial.dashboardDesigner.intro.title":"Concepteur de tableau de bord","tutorial.dashboardDesigner.intro.content":"Faites glisser des widgets depuis la palette sur la grille, redimensionnez-les et organisez-les, configurez chacun dans le panneau des propriétés, puis prévisualisez ou exportez le tableau de bord.","tutorial.workflowDesignerCanvas.intro.title":"Concepteur de workflow","tutorial.workflowDesignerCanvas.intro.content":"Ajoutez des nœuds de déclencheur, d’action et de condition sur le canevas et reliez-les ; gérez les variables, validez le flux, puis exportez-le.","tutorial.armatureEditor.intro.title":"Éditeur d’armature","tutorial.armatureEditor.intro.content":"Sélectionnez des os pour modifier leurs transformations, ajoutez ou reparentez des os, configurez les chaînes IK et enregistrez ou chargez des poses.","tutorial.morphTargetEditor.intro.title":"Éditeur de morph targets","tutorial.morphTargetEditor.intro.content":"Mélangez les morph targets du maillage avec les curseurs d’influence par cible, créez ou supprimez des cibles et prévisualisez l’interpolation.","tutorial.terrainEditor.intro.title":"Éditeur de terrain","tutorial.terrainEditor.intro.content":"Sculptez la carte de hauteur avec des pinceaux (élever, abaisser, aplatir, lisser, bruit), appliquez des couches de texture, générez du terrain procédural et importez/exportez des cartes de hauteur.","tutorial.materialEditor.intro.title":"Éditeur de matériaux","tutorial.materialEditor.intro.content":"Construisez un shader sous forme de graphe de nœuds : faites glisser des nœuds depuis la palette, reliez leurs ports, modifiez les propriétés et prévisualisez le matériau compilé.","tutorial.particleEditor.intro.title":"Éditeur de particules","tutorial.particleEditor.intro.content":"Choisissez un système de particules, ajustez son émetteur et ses modules dans l’inspecteur, et lisez, mettez en pause ou arrêtez l’aperçu en direct.","tutorial.uvEditor.intro.title":"Éditeur UV","tutorial.uvEditor.intro.content":"Modifiez la disposition UV du maillage par-dessus la texture : sélectionnez et transformez les UV avec les outils, changez de canal UV et appliquez vos modifications.","tutorial.fontEditor.intro.title":"Éditeur de police","tutorial.fontEditor.intro.content":"Modifiez les glyphes sur la grille Unicode, ajustez les métriques de la police ainsi que les tracés et chasses par glyphe, puis exportez la police.","tutorial.iconEditor.intro.title":"Éditeur d’icônes","tutorial.iconEditor.intro.content":"Dessinez et modifiez des formes SVG sur la grille, ajustez les réglages de contour et de variante, prévisualisez sur différents arrière-plans et exportez en SVG, React ou PNG.","tutorial.uiDesigner.intro.title":"Concepteur d’interface","tutorial.uiDesigner.intro.content":"Faites glisser des composants depuis la palette sur le canevas, modifiez leurs props dans le panneau, prévisualisez les points de rupture responsives et exportez en React/TSX.","tutorial.gameEditor.intro.title":"Éditeur de jeu","tutorial.gameEditor.intro.content":"Construisez votre scène dans la fenêtre à l’aide des panneaux de hiérarchie et d’assets, ajustez les entités dans l’inspecteur et enregistrez le projet.","tutorial.levelEditor.intro.title":"Éditeur de niveau","tutorial.levelEditor.intro.content":"Construisez le monde du jeu : placez et alignez des objets sur plusieurs couches, peignez le terrain, disposez splines et lumières, puis précalculez les lightmaps.","tutorial.gameMaterialEditor.intro.title":"Éditeur de matériaux","tutorial.gameMaterialEditor.intro.content":"Créez un shader sous forme de graphe de nœuds : ajoutez et reliez des nœuds de shader, modifiez leurs propriétés et compilez le matériau.","tutorial.gameParticleEditor.intro.title":"Éditeur de particules","tutorial.gameParticleEditor.intro.content":"Ajustez le système de particules dans l’inspecteur — émetteur, durée de vie, courbes et rendu — et lisez, mettez en pause ou redémarrez l’aperçu en direct.","tutorial.floorPlanEditor.intro.title":"Éditeur de plan","tutorial.floorPlanEditor.intro.content":"Dessinez des pièces et des zones avec les outils, placez des appareils sur le plan, changez d’étage et activez les superpositions comme les cotes, la grille et l’occupation.","tutorial.buildingSceneEditor.intro.title":"Éditeur de scènes","tutorial.buildingSceneEditor.intro.content":"Créez des scènes qui règlent plusieurs appareils à la fois : choisissez une scène, définissez les états cibles des appareils, puis enregistrez-la ou activez-la.","tutorial.buildingAutomationEditor.intro.title":"Éditeur d’automatisation","tutorial.buildingAutomationEditor.intro.content":"Créez des automatisations de bâtiment : choisissez-en une dans la liste, définissez ses déclencheurs, conditions et actions, puis enregistrez-la, activez-la ou supprimez-la.","tutorial.spatialEditor.intro.title":"Éditeur spatial","tutorial.spatialEditor.intro.content":"Disposez des plans selon différents modes : dessinez murs, pièces et objets avec les outils, gérez les couches, alignez sur la grille, puis exportez.","tutorial.decisionTreeEditor.intro.title":"Éditeur d’arbre de décision","tutorial.decisionTreeEditor.intro.content":"Explorez l’arbre de décision : cliquez sur les nœuds pour examiner les conditions et les résultats, affichez métriques, probabilités et échantillons, et mettez en évidence un chemin pour une entrée.","tutorial.diagramEditor.intro.title":"Éditeur de diagrammes","tutorial.diagramEditor.intro.content":"Choisissez un outil pour ajouter et relier des nœuds sur le canevas, modifiez-les dans le panneau des propriétés et exportez le diagramme depuis la barre d’outils.","tutorial.contractEditor.intro.title":"Éditeur de contrats","tutorial.contractEditor.intro.content":"Assemblez le contrat à partir de la bibliothèque de clauses, remplissez les variables du modèle, suivez les versions et approbations, puis enregistrez ou exportez en PDF/DOCX/HTML.","tutorial.invoiceDesigner.intro.title":"Concepteur de factures","tutorial.invoiceDesigner.intro.content":"Faites glisser des éléments sur le canevas de la facture, liez-les à des champs de données, alignez avec la grille et les règles, puis enregistrez ou exportez en PDF.","tutorial.presentationEditor.intro.title":"Éditeur de présentation","tutorial.presentationEditor.intro.content":"Construisez des diapositives depuis le rail de miniatures, ajoutez et disposez des éléments sur le canevas, modifiez-les dans le panneau des propriétés, puis présentez ou exportez.","tutorial.dashboardStudio.intro.title":"Studio de tableau de bord","tutorial.dashboardStudio.intro.content":"Faites glisser des widgets depuis la palette sur la grille, liez-les à des sources de données, ajoutez des filtres, puis basculez entre Édition/Vue, actualisez et enregistrez.","tutorial.biReportBuilder.intro.title":"Générateur de rapports","tutorial.biReportBuilder.intro.content":"Faites glisser des éléments depuis la palette sur le rapport, liez-les à des sources de données, basculez entre conception/aperçu, puis exportez en PDF ou Excel.","tutorial.etlBuilder.intro.title":"Générateur ETL","tutorial.etlBuilder.intro.content":"Reliez sources → transformations → destinations en un pipeline, changez de vue, puis exécutez-le et enregistrez la configuration.","tutorial.videoEditorPro.intro.title":"Éditeur vidéo","tutorial.videoEditorPro.intro.content":"Ajoutez des médias à la timeline, organisez et découpez les clips, appliquez effets et transitions, puis configurez et lancez l’export.","tutorial.mlStudio.intro.title":"Studio ML","tutorial.mlStudio.intro.content":"Parcourez les onglets : préparez les jeux de données, lancez des expériences, comparez et choisissez des modèles, puis déployez le meilleur.","tutorial.mathEditor.intro.title":"Éditeur mathématique","tutorial.mathEditor.intro.content":"Écrivez des équations en LaTeX ou insérez des symboles depuis la palette ; passez à la saisie manuscrite et prévisualisez la formule rendue en direct.","tutorial.dmxEditor.intro.title":"Éditeur DMX","tutorial.dmxEditor.intro.content":"Choisissez le périphérique FTDI et le port, puis réglez la valeur de chaque canal DMX avec les curseurs pour piloter vos projecteurs en direct.","sidebar.prefs.order.visibilityHint":"L’ordre s’applique aux éléments de premier niveau dans chaque groupe de source. Repliez un en-tête de source pour ne voir que les entrées de premier niveau lors de la vérification."},xi={ok:"OK",cancel:"Cancelar",save:"Guardar",close:"Cerrar",delete:"Eliminar",edit:"Editar",add:"Agregar",remove:"Quitar",search:"Buscar",filter:"Filtrar",refresh:"Actualizar",loading:"Cargando…",noData:"Sin datos",error:"Error",success:"Éxito",warning:"Advertencia",info:"Información",yes:"Sí",no:"No",confirm:"Confirmar",back:"Atrás",next:"Siguiente",previous:"Anterior",finish:"Finalizar",submit:"Enviar",reset:"Restablecer",apply:"Aplicar",undo:"Deshacer",redo:"Rehacer",copy:"Copiar",cut:"Cortar",paste:"Pegar",selectAll:"Seleccionar todo",clear:"Borrar",upload:"Subir",download:"Descargar",print:"Imprimir",export:"Exportar",import:"Importar",settings:"Configuración",help:"Ayuda",about:"Acerca de",more:"Más",less:"Menos",show:"Mostrar",hide:"Ocultar",expand:"Expandir",collapse:"Contraer",enabled:"Habilitado",disabled:"Deshabilitado",required:"Obligatorio",optional:"Opcional",actions:"Acciones",details:"Detalles",overview:"Vista general",all:"Todos",none:"Ninguno",selected:"Seleccionado",total:"Total",of:"de",items:"elementos",page:"Página",rows:"Filas","app.name":"Aplicación","app.version":"Versión","app.about":"Acerca de","nav.home":"Inicio","nav.back":"Atrás","nav.forward":"Adelante","nav.menu":"Menú","nav.sidebar":"Barra lateral","nav.search":"Buscar","nav.favorites":"Favoritos","nav.recent":"Reciente","nav.notifications":"Notificaciones","nav.profile":"Perfil","nav.logout":"Cerrar sesión","carousel.prev":"Diapositiva anterior","carousel.next":"Diapositiva siguiente","carousel.slide":"Diapositiva","carousel.of":"de","carousel.autoplay":"Reproducción automática","carousel.pause":"Pausa","confirm.yes":"Sí","confirm.no":"No","confirm.ok":"OK","confirm.cancel":"Cancelar","confirm.title":"Confirmación","confirm.deleteMessage":"¿Seguro que desea eliminar esto?","confirm.unsavedChanges":"Hay cambios sin guardar. ¿Descartar?","console.shell":"Shell","console.terminal":"Terminal","console.prompt":"Ingrese un comando…","console.clear":"Limpiar consola","console.run":"Ejecutar","console.output":"Salida","console.newSession":"Nueva sesión","console.closeSession":"Cerrar sesión","controls.save":"Guardar","controls.cancel":"Cancelar","controls.delete":"Eliminar","controls.edit":"Editar","controls.add":"Agregar","controls.remove":"Quitar","controls.close":"Cerrar","controls.open":"Abrir","controls.refresh":"Actualizar","controls.new":"Nuevo","controls.duplicate":"Duplicar","controls.sort":"Ordenar","controls.group":"Agrupar","controls.pin":"Fijar","controls.unpin":"Desfijar","controls.lock":"Bloquear","controls.unlock":"Desbloquear","controls.share":"Compartir","controls.archive":"Archivar","cookie.title":"Consentimiento de cookies","cookie.message":"Este sitio utiliza cookies.","cookie.accept":"Aceptar todas","cookie.reject":"Rechazar todas","cookie.settings":"Configuración de cookies","cookie.necessary":"Necesarias","cookie.analytics":"Analíticas","cookie.marketing":"Marketing","dashboard.title":"Panel","dashboard.addWidget":"Agregar widget","dashboard.removeWidget":"Quitar widget","dashboard.layout":"Diseño","dashboard.settings":"Configuración","dashboard.customize":"Personalizar","dashboard.resetLayout":"Restablecer diseño","datetime.today":"Hoy","datetime.yesterday":"Ayer","datetime.tomorrow":"Mañana","datetime.selectDate":"Seleccionar fecha","datetime.selectTime":"Seleccionar hora","datetime.startDate":"Fecha de inicio","datetime.endDate":"Fecha de fin","datetime.startTime":"Hora de inicio","datetime.endTime":"Hora de fin","datetime.am":"AM","datetime.pm":"PM","desktop.start":"Inicio","desktop.taskbar":"Barra de tareas","desktop.systemTray":"Bandeja del sistema","desktop.wallpaper":"Fondo de pantalla","desktop.icons":"Iconos del escritorio","desktop.arrangeIcons":"Organizar iconos","dock.pin":"Fijar al dock","dock.unpin":"Desfijar del dock","dock.close":"Cerrar","dock.minimize":"Minimizar","dock.maximize":"Maximizar","dock.restore":"Restaurar","docEditor.paragraph":"Párrafo","docEditor.heading":"Encabezado","docEditor.heading1":"Encabezado 1","docEditor.heading2":"Encabezado 2","docEditor.heading3":"Encabezado 3","docEditor.bulletList":"Lista con viñetas","docEditor.numberedList":"Lista numerada","docEditor.quote":"Cita","docEditor.code":"Bloque de código","docEditor.divider":"Separador","docEditor.image":"Imagen","docEditor.table":"Tabla","docEditor.callout":"Destacado","docEditor.placeholder":"Empiece a escribir…","docEditor.slashCommand":"Escriba / para comandos","files.upload":"Subir archivo","files.download":"Descargar","files.delete":"Eliminar archivo","files.rename":"Renombrar","files.newFolder":"Nueva carpeta","files.selectFile":"Seleccionar archivo","files.dropzone":"Suelte archivos aquí","files.dragDrop":"Arrastre y suelte archivos o haga clic","files.maxSize":"Tamaño máximo del archivo","files.fileType":"Tipo de archivo","forms.required":"Este campo es obligatorio","forms.optional":"Opcional","forms.submit":"Enviar","forms.reset":"Restablecer","forms.validate":"Validar","forms.invalid":"Valor inválido","forms.minLength":"Longitud mínima: {0}","forms.maxLength":"Longitud máxima: {0}","forms.email":"Ingrese un correo válido","forms.phone":"Ingrese un teléfono válido","imageEditor.crop":"Recortar","imageEditor.rotate":"Rotar","imageEditor.flip":"Voltear","imageEditor.resize":"Redimensionar","imageEditor.filter":"Filtro","imageEditor.draw":"Dibujar","imageEditor.text":"Texto","imageEditor.undo":"Deshacer","imageEditor.redo":"Rehacer","imageEditor.save":"Guardar","imageEditor.brightness":"Brillo","imageEditor.contrast":"Contraste","imageEditor.saturation":"Saturación","inbox.compose":"Redactar","inbox.reply":"Responder","inbox.replyAll":"Responder a todos","inbox.forward":"Reenviar","inbox.delete":"Eliminar","inbox.archive":"Archivar","inbox.markRead":"Marcar como leído","inbox.markUnread":"Marcar como no leído","inbox.folders":"Carpetas","inbox.inbox":"Bandeja de entrada","inbox.sent":"Enviados","inbox.drafts":"Borradores","inbox.trash":"Papelera","inbox.spam":"Spam","inbox.starred":"Destacados","inbox.to":"Para","inbox.cc":"CC","inbox.bcc":"CCO","inbox.subject":"Asunto","inbox.send":"Enviar","inbox.discard":"Descartar","inbox.attachFile":"Adjuntar archivo","kanban.addCard":"Agregar tarjeta","kanban.addColumn":"Agregar columna","kanban.moveCard":"Mover tarjeta","kanban.editCard":"Editar tarjeta","kanban.deleteCard":"Eliminar tarjeta","kanban.editColumn":"Editar columna","kanban.deleteColumn":"Eliminar columna","lang.en":"Inglés","lang.pl":"Polaco","lang.de":"Alemán","lang.fr":"Francés","lang.es":"Español","lang.it":"Italiano","lang.pt":"Portugués","lang.nl":"Neerlandés","lang.sv":"Sueco","lang.no":"Noruego","lang.da":"Danés","lang.fi":"Finlandés","lang.cs":"Checo","lang.sk":"Eslovaco","lang.hu":"Húngaro","lang.ro":"Rumano","lang.bg":"Búlgaro","lang.uk":"Ucraniano","lang.ja":"Japonés","lang.ko":"Coreano","lang.zh":"Chino","lang.ar":"Árabe","login.username":"Nombre de usuario","login.password":"Contraseña","login.signIn":"Iniciar sesión","login.signOut":"Cerrar sesión","login.forgotPassword":"¿Olvidó su contraseña?","login.register":"Registrarse","login.rememberMe":"Recordarme","login.newPassword":"Nueva contraseña","login.confirmPassword":"Confirmar contraseña","login.twoFactor":"Autenticación de dos factores","password.strength":"Fuerza de la contraseña","password.weak":"Débil","password.medium":"Media","password.strong":"Fuerte","password.requirements":"Requisitos de contraseña","pdfviewer.page":"Página","pdfviewer.of":"de","pdfviewer.zoom":"Zoom","pdfviewer.fitPage":"Ajustar a página","pdfviewer.fitWidth":"Ajustar a ancho","pdfviewer.download":"Descargar","pdfviewer.print":"Imprimir","pdfviewer.search":"Buscar en el documento","pdfviewer.bookmark":"Marcadores","pdfviewer.thumbnail":"Miniaturas","picklist.available":"Disponibles","picklist.selected":"Seleccionados","picklist.addAll":"Agregar todos","picklist.removeAll":"Quitar todos","picklist.filter":"Filtrar elementos","scheduling.calendar":"Calendario","scheduling.event":"Evento","scheduling.allDay":"Todo el día","scheduling.today":"Hoy","scheduling.week":"Semana","scheduling.month":"Mes","scheduling.year":"Año","scheduling.day":"Día","scheduling.agenda":"Agenda","scheduling.addEvent":"Agregar evento","scheduling.editEvent":"Editar evento","scheduling.deleteEvent":"Eliminar evento","scheduling.noEvents":"Sin eventos","shortcuts.title":"Atajos de teclado","shortcuts.description":"Atajos disponibles","shortcuts.key":"Tecla","shortcuts.command":"Comando","shortcuts.search":"Buscar atajos","signature.clear":"Borrar","signature.save":"Guardar","signature.sign":"Firme aquí","signature.draw":"Dibuje su firma","spreadsheet.cell":"Celda","spreadsheet.row":"Fila","spreadsheet.column":"Columna","spreadsheet.formula":"Fórmula","spreadsheet.insert":"Insertar","spreadsheet.delete":"Eliminar","spreadsheet.sort":"Ordenar","spreadsheet.sortAsc":"Orden ascendente","spreadsheet.sortDesc":"Orden descendente","spreadsheet.filter":"Filtrar","spreadsheet.export":"Exportar","spreadsheet.import":"Importar","spreadsheet.addRow":"Agregar fila","spreadsheet.addColumn":"Agregar columna","spreadsheet.deleteRow":"Eliminar fila","spreadsheet.deleteColumn":"Eliminar columna","spreadsheet.freezeRow":"Inmovilizar fila","spreadsheet.freezeColumn":"Inmovilizar columna","spreadsheet.merge":"Combinar celdas","spreadsheet.unmerge":"Separar celdas","terminal.run":"Ejecutar","terminal.clear":"Limpiar","terminal.copy":"Copiar","terminal.paste":"Pegar","terminal.newSession":"Nueva sesión","terminal.closeSession":"Cerrar sesión","terminal.selectAll":"Seleccionar todo","theme.light":"Claro","theme.dark":"Oscuro","theme.system":"Sistema","theme.custom":"Personalizado","theme.colors":"Colores","theme.fonts":"Fuentes","theme.apply":"Aplicar tema","theme.preview":"Vista previa","theme.reset":"Restablecer","theme.gallery":"Galería de temas","users.profile":"Perfil","users.settings":"Configuración","users.permissions":"Permisos","users.role":"Rol","users.active":"Activo","users.inactive":"Inactivo","users.online":"En línea","users.offline":"Desconectado","users.lastSeen":"Última vez visto","wm.close":"Cerrar","wm.minimize":"Minimizar","wm.maximize":"Maximizar","wm.restore":"Restaurar","wm.tile":"Mosaico de ventanas","wm.cascade":"Cascada de ventanas","wm.closeAll":"Cerrar todo","wm.minimizeAll":"Minimizar todo","wm.newWindow":"Nueva ventana","wm.moveToFront":"Al frente","tutorial.play":"Reproducir","tutorial.pause":"Pausa","tutorial.speed":"Velocidad","tutorial.close":"Cerrar","tutorial.start":"Tutorial","tutorial.startAria":"Iniciar el tutorial","tutorial.next":"Siguiente","tutorial.back":"Atrás","tutorial.finish":"Finalizar","tutorial.skip":"Omitir","tutorial.stepOf":"de","tutorial.moduleEditor.browser.title":"Explorador de módulos","tutorial.moduleEditor.browser.content":"Selecciona aquí un módulo para abrir su manifiesto, sus entidades y sus traducciones.","tutorial.moduleEditor.validate.title":"Validar","tutorial.moduleEditor.validate.content":"Comprueba el módulo con el esquema del manifiesto. Los problemas aparecen en la barra de estado y en la salida.","tutorial.moduleEditor.save.title":"Guardar","tutorial.moduleEditor.save.content":"Guarda tus cambios mediante el proveedor de datos configurado (p. ej. escribir los archivos de nuevo en el disco).","tutorial.manifestEditor.intro.title":"Editor de manifiesto","tutorial.manifestEditor.intro.content":"Edita el manifiesto en secciones basadas en esquema. Cambia entre Formulario ⇄ JSON por sección; la validación aparece en la barra de estado.","tutorial.schemaForm.intro.title":"Formulario de esquema","tutorial.schemaForm.intro.content":"Este formulario se genera a partir de un esquema. Los campos obligatorios y los errores de validación se resaltan; usa el conmutador JSON para la edición en bruto.","tutorial.entityEditor.intro.title":"Editor de entidades","tutorial.entityEditor.intro.content":"Añade entidades a la izquierda y edita a la derecha los metadatos de cada entidad y sus campos (tipo, claves, restricciones).","tutorial.i18nEditor.intro.title":"Traducciones","tutorial.i18nEditor.intro.content":"Edita las traducciones como una cuadrícula de claves × idiomas. Añade claves e idiomas; las celdas ámbar marcan las traducciones que faltan.","tutorial.formBuilder.intro.title":"Generador de formularios","tutorial.formBuilder.intro.content":"Arrastra campos desde la paleta al lienzo y configura cada campo en el panel de propiedades. Exporta el esquema cuando termines.","tutorial.formDesigner.intro.title":"Diseñador de formularios","tutorial.formDesigner.intro.content":"Diseña formularios de entrada de datos con secciones, campos de búsqueda y campos calculados; vincúlalos a tu entidad y previsualiza en vivo.","tutorial.paymentProviderConfig.intro.title":"Proveedor de pagos","tutorial.paymentProviderConfig.intro.content":"Elige un proveedor, rellena sus credenciales (los secretos se enmascaran), elige prueba/producción, activa métodos y copia la URL del webhook.","tutorial.webhookTester.intro.title":"Probador de webhooks","tutorial.webhookTester.intro.content":"Elige una carga útil guardada (o escribe una), fírmala opcionalmente, envíala al endpoint e inspecciona la respuesta.","tutorial.apiDesigner.intro.title":"Diseñador de API","tutorial.apiDesigner.intro.content":"Define endpoints, parámetros, esquemas de solicitud/respuesta y la seguridad de tu documento OpenAPI.","tutorial.apiTester.intro.title":"Probador de API","tutorial.apiTester.intro.content":"Crea solicitudes con colecciones y variables de entorno, envíalas y verifica las respuestas.","tutorial.integrationBuilder.intro.title":"Generador de integraciones","tutorial.integrationBuilder.intro.content":"Conecta un flujo de nodos (disparadores → acciones → gestión de errores) para construir una integración.","tutorial.scriptRunner.intro.title":"Ejecutor de scripts","tutorial.scriptRunner.intro.content":"Escribe un script y datos de ejemplo, haz clic en Ejecutar y revisa el resultado y los registros capturados abajo.","tutorial.lifecycleHooks.intro.title":"Hooks de ciclo de vida","tutorial.lifecycleHooks.intro.content":"Asocia controladores a cada disparador, define su orden y su indicador de activación, y añade una condición opcional que controle la ejecución.","tutorial.revisionHistory.intro.title":"Historial de revisiones","tutorial.revisionHistory.intro.content":"Elige una revisión, selecciona otra para comparar, revisa la comparación en paralelo y restaura una versión anterior si es necesario.","tutorial.markdownEditor.intro.title":"Editor de Markdown","tutorial.markdownEditor.intro.content":"Escribe Markdown con la barra de formato; activa la vista previa en vivo para ver el resultado y expórtalo a HTML.","tutorial.htmlEditor.intro.title":"Editor de texto enriquecido","tutorial.htmlEditor.intro.content":"Da formato al texto con la barra de herramientas, inserta enlaces, imágenes y tablas, y cambia al código HTML o Markdown cuando lo necesites.","tutorial.documentEditor.intro.title":"Editor de documentos","tutorial.documentEditor.intro.content":"Compón un documento a partir de bloques: usa la barra de herramientas o los comandos con barra para añadir títulos, listas, multimedia y más, y expórtalo a HTML.","tutorial.codeEditor.intro.title":"Editor de código","tutorial.codeEditor.intro.content":"Edita código con resaltado de sintaxis, IntelliSense y barra de herramientas. Ctrl+S guarda; la barra de estado muestra la posición del cursor y los problemas.","tutorial.kanbanBoard.intro.title":"Tablero Kanban","tutorial.kanbanBoard.intro.content":"Arrastra tarjetas entre columnas para cambiar su estado, añade tarjetas con el botón «+» y haz clic en una tarjeta para editar sus detalles.","tutorial.queryBuilder.intro.title":"Generador de consultas","tutorial.queryBuilder.intro.content":"Añade tablas, elige columnas y define uniones, condiciones y ordenación de forma visual: el SQL se genera por ti. Cambia a la pestaña SQL para revisarlo.","tutorial.stateDesigner.intro.title":"Diseñador de estado","tutorial.stateDesigner.intro.content":"Modela tu store como slices con campos y acciones, elige un destino (p. ej. Zustand) y exporta código de gestión de estado listo para usar.","tutorial.componentDesigner.intro.title":"Diseñador de componentes","tutorial.componentDesigner.intro.content":"Nombra tu componente, declara sus props con tipos y requisitos, y previsualiza en vivo la interfaz TypeScript generada.","tutorial.pageBuilder.intro.title":"Generador de páginas","tutorial.pageBuilder.intro.content":"Arrastra componentes desde la barra lateral a la cuadrícula responsiva, cambia la vista previa de escritorio/tableta/móvil y guarda el diseño.","tutorial.lowCodeStudio.intro.title":"Estudio low-code","tutorial.lowCodeStudio.intro.content":"Arrastra componentes desde la barra lateral al lienzo y cambia entre las pestañas Diseño, Vista previa y Código para construir y exportar tu aplicación.","tutorial.testBuilder.intro.title":"Generador de pruebas","tutorial.testBuilder.intro.content":"Crea suites de pruebas de forma visual: añade casos y pasos de interacción con aserciones, ejecútalos y exporta a un archivo .test.tsx listo para usar.","tutorial.workflowDesigner.intro.title":"Diseñador de flujos de trabajo","tutorial.workflowDesigner.intro.content":"Añade estados y transiciones en el lienzo, valida el flujo, simúlalo y luego prueba o publica tu flujo de trabajo.","tutorial.themeBuilder.intro.title":"Generador de temas","tutorial.themeBuilder.intro.content":"Parte de un preajuste, ajusta colores, tipografía y otros tokens por sección, previsualiza en vivo y luego aplica o exporta el tema.","tutorial.filterBuilder.intro.title":"Generador de filtros","tutorial.filterBuilder.intro.content":"Construye árboles de filtros Y/O complejos: añade condiciones y grupos anidados, elige campos y operadores y guarda preajustes reutilizables.","tutorial.diagramDesigner.intro.title":"Diseñador de diagramas","tutorial.diagramDesigner.intro.content":"Arrastra formas desde la paleta al lienzo, conéctalas con conectores, edita las propiedades a la derecha y exporta a SVG, PNG o JSON.","tutorial.reportBuilder.intro.title":"Generador de informes","tutorial.reportBuilder.intro.content":"Arrastra secciones al informe, vincúlalas a fuentes de datos, organiza el diseño y exporta a PDF, HTML o XLSX.","tutorial.erpReportDesigner.intro.title":"Diseñador de informes","tutorial.erpReportDesigner.intro.content":"Diseña informes por bandas: coloca elementos (campos, expresiones, gráficos) en las bandas, vincula conexiones de datos, edita propiedades y luego previsualiza y exporta.","tutorial.recipeEditor.intro.title":"Editor de recetas","tutorial.recipeEditor.intro.content":"Edita los detalles de la receta, añade y reordena ingredientes y pasos, adjunta fotos e importa o exporta la receta como JSON.","tutorial.pipelineEditor.intro.title":"Editor de pipeline","tutorial.pipelineEditor.intro.content":"Construye un pipeline CI/CD a partir de etapas, trabajos y pasos; define disparadores, variables y secretos; y luego valídalo, guárdalo y ejecútalo.","tutorial.mergeRequestBuilder.intro.title":"Generador de merge request","tutorial.mergeRequestBuilder.intro.content":"Elige las ramas de origen y destino, escribe el título y la descripción, añade revisores, etiquetas e incidencias vinculadas, y luego previsualiza y envía.","tutorial.automationRuleEditor.intro.title":"Editor de reglas de automatización","tutorial.automationRuleEditor.intro.content":"Define el disparador, añade condiciones opcionales y luego enumera las acciones a ejecutar: cambia entre las tres secciones con las pestañas.","tutorial.sceneActionBuilder.intro.title":"Generador de acciones de escena","tutorial.sceneActionBuilder.intro.content":"Añade una acción por dispositivo, define su estado objetivo y un retardo opcional, reordénalas y previsualiza la secuencia de la escena.","tutorial.backupTagEditor.intro.title":"Etiquetas de copia de seguridad","tutorial.backupTagEditor.intro.content":"Etiqueta esta copia de seguridad para encontrarla fácilmente: escribe una etiqueta y elige un color, o añade una de las etiquetas sugeridas; las etiquetas generadas automáticamente están protegidas.","tutorial.dataMergeBuilder.intro.title":"Combinación de datos","tutorial.dataMergeBuilder.intro.content":"Sigue los pasos: elige las ramas de origen y destino, previsualiza los cambios, resuelve los conflictos, define las opciones y luego confirma la combinación.","tutorial.invoiceLineEditor.intro.title":"Líneas de factura","tutorial.invoiceLineEditor.intro.content":"Añade líneas con cantidad, precio unitario, IVA y descuento: el neto, el bruto y el desglose del IVA se calculan automáticamente.","tutorial.keyValueEditor.intro.title":"Editor de clave/valor","tutorial.keyValueEditor.intro.content":"Añade filas de clave/valor para cabeceras, parámetros, variables de entorno o configuración; enmascara los valores secretos, activa/desactiva filas y vigila las claves duplicadas.","tutorial.imageEditor.intro.title":"Editor de imágenes","tutorial.imageEditor.intro.content":"Usa la barra de herramientas para recortar, rotar, voltear, ajustar brillo/contraste y anotar; deshaz/rehaz tus ediciones y guarda el resultado.","tutorial.cropEditor.intro.title":"Editor de recorte","tutorial.cropEditor.intro.content":"Arrastra el marco de recorte sobre la imagen, elige una relación de aspecto, rota, voltea o haz zoom y luego usa el resultado.","tutorial.pdfAnnotationEditor.intro.title":"Anotaciones de PDF","tutorial.pdfAnnotationEditor.intro.content":"Elige una herramienta de la barra (resaltar, subrayar, mano alzada, texto…), anota la página y navega y haz zoom según necesites.","tutorial.videoEditor.intro.title":"Editor de vídeo","tutorial.videoEditor.intro.content":"Añade medios a las pistas de la línea de tiempo, recorta y organiza clips, edita sus propiedades, previsualiza la reproducción y luego exporta el vídeo.","tutorial.viewBuilder.intro.title":"Generador de vistas","tutorial.viewBuilder.intro.content":"Arrastra controles desde la paleta a las celdas de la cuadrícula, configura cada celda en el panel de propiedades e importa, exporta o guarda la vista.","tutorial.dashboardDesigner.intro.title":"Diseñador de paneles","tutorial.dashboardDesigner.intro.content":"Arrastra widgets desde la paleta a la cuadrícula, cambia su tamaño y organízalos, configura cada uno en el panel de propiedades y luego previsualiza o exporta el panel.","tutorial.workflowDesignerCanvas.intro.title":"Diseñador de flujos de trabajo","tutorial.workflowDesignerCanvas.intro.content":"Añade nodos de disparador, acción y condición al lienzo y conéctalos; gestiona las variables, valida el flujo y luego expórtalo.","tutorial.armatureEditor.intro.title":"Editor de esqueleto","tutorial.armatureEditor.intro.content":"Selecciona huesos para editar sus transformaciones, añade o reasigna huesos, configura cadenas IK y guarda o carga poses.","tutorial.morphTargetEditor.intro.title":"Editor de morph targets","tutorial.morphTargetEditor.intro.content":"Mezcla los morph targets de la malla con los deslizadores de influencia por objetivo, crea o elimina objetivos y previsualiza la interpolación.","tutorial.terrainEditor.intro.title":"Editor de terreno","tutorial.terrainEditor.intro.content":"Esculpe el mapa de altura con pinceles (elevar, bajar, aplanar, suavizar, ruido), aplica capas de textura, genera terreno procedural e importa/exporta mapas de altura.","tutorial.materialEditor.intro.title":"Editor de materiales","tutorial.materialEditor.intro.content":"Construye un shader como un grafo de nodos: arrastra nodos desde la paleta, conecta sus puertos, edita propiedades y previsualiza el material compilado.","tutorial.particleEditor.intro.title":"Editor de partículas","tutorial.particleEditor.intro.content":"Elige un sistema de partículas, ajusta su emisor y sus módulos en el inspector y reproduce, pausa o detén la vista previa en vivo.","tutorial.uvEditor.intro.title":"Editor de UV","tutorial.uvEditor.intro.content":"Edita la disposición UV de la malla sobre la textura: selecciona y transforma UVs con las herramientas, cambia de canal UV y aplica tus cambios.","tutorial.fontEditor.intro.title":"Editor de fuentes","tutorial.fontEditor.intro.content":"Edita glifos en la cuadrícula Unicode, ajusta las métricas de la fuente y los trazados y espaciados por glifo, y luego exporta la fuente.","tutorial.iconEditor.intro.title":"Editor de iconos","tutorial.iconEditor.intro.content":"Dibuja y edita formas SVG en la cuadrícula, ajusta los parámetros de trazo y variante, previsualiza sobre distintos fondos y exporta a SVG, React o PNG.","tutorial.uiDesigner.intro.title":"Diseñador de interfaz","tutorial.uiDesigner.intro.content":"Arrastra componentes desde la paleta al lienzo, edita sus props en el panel, previsualiza los breakpoints responsivos y exporta a React/TSX.","tutorial.gameEditor.intro.title":"Editor de juego","tutorial.gameEditor.intro.content":"Construye tu escena en el viewport con los paneles de jerarquía y de recursos, ajusta las entidades en el inspector y guarda el proyecto.","tutorial.levelEditor.intro.title":"Editor de niveles","tutorial.levelEditor.intro.content":"Construye el mundo del juego: coloca y ajusta objetos por capas, pinta el terreno, dispón splines y luces y luego hornea los lightmaps.","tutorial.gameMaterialEditor.intro.title":"Editor de materiales","tutorial.gameMaterialEditor.intro.content":"Crea un shader como un grafo de nodos: añade y conecta nodos de shader, edita sus propiedades y compila el material.","tutorial.gameParticleEditor.intro.title":"Editor de partículas","tutorial.gameParticleEditor.intro.content":"Ajusta el sistema de partículas en el inspector (emisor, vida útil, curvas y renderizado) y reproduce, pausa o reinicia la vista previa en vivo.","tutorial.floorPlanEditor.intro.title":"Editor de planos","tutorial.floorPlanEditor.intro.content":"Dibuja habitaciones y zonas con las herramientas, coloca dispositivos en el plano, cambia de planta y activa superposiciones como cotas, cuadrícula y ocupación.","tutorial.buildingSceneEditor.intro.title":"Editor de escenas","tutorial.buildingSceneEditor.intro.content":"Crea escenas que configuran varios dispositivos a la vez: elige una escena, define los estados objetivo de los dispositivos y luego guárdala o actívala.","tutorial.buildingAutomationEditor.intro.title":"Editor de automatización","tutorial.buildingAutomationEditor.intro.content":"Crea automatizaciones del edificio: elige una de la lista, define sus disparadores, condiciones y acciones, y luego guárdala, actívala o elimínala.","tutorial.spatialEditor.intro.title":"Editor espacial","tutorial.spatialEditor.intro.content":"Diseña planos en varios modos: dibuja paredes, habitaciones y objetos con las herramientas, gestiona capas, ajusta a la cuadrícula y luego exporta.","tutorial.decisionTreeEditor.intro.title":"Editor de árbol de decisión","tutorial.decisionTreeEditor.intro.content":"Explora el árbol de decisión: haz clic en los nodos para revisar condiciones y resultados, muestra métricas, probabilidades y muestras, y resalta una ruta para una entrada.","tutorial.diagramEditor.intro.title":"Editor de diagramas","tutorial.diagramEditor.intro.content":"Elige una herramienta para añadir y conectar nodos en el lienzo, edítalos en el panel de propiedades y exporta el diagrama desde la barra de herramientas.","tutorial.contractEditor.intro.title":"Editor de contratos","tutorial.contractEditor.intro.content":"Ensambla el contrato a partir de la biblioteca de cláusulas, rellena las variables de la plantilla, controla versiones y aprobaciones, y luego guárdalo o expórtalo a PDF/DOCX/HTML.","tutorial.invoiceDesigner.intro.title":"Diseñador de facturas","tutorial.invoiceDesigner.intro.content":"Arrastra elementos al lienzo de la factura, vincúlalos a campos de datos, alinéalos con la cuadrícula y las reglas, y luego guárdala o expórtala a PDF.","tutorial.presentationEditor.intro.title":"Editor de presentaciones","tutorial.presentationEditor.intro.content":"Construye diapositivas desde la tira de miniaturas, añade y organiza elementos en el lienzo, edítalos en el panel de propiedades y luego presenta o exporta.","tutorial.dashboardStudio.intro.title":"Estudio de paneles","tutorial.dashboardStudio.intro.content":"Arrastra widgets desde la paleta a la cuadrícula, vincúlalos a fuentes de datos, añade filtros y luego cambia entre Editar/Ver, actualiza y guarda.","tutorial.biReportBuilder.intro.title":"Generador de informes","tutorial.biReportBuilder.intro.content":"Arrastra elementos desde la paleta al informe, vincúlalos a fuentes de datos, cambia entre diseño/vista previa y exporta a PDF o Excel.","tutorial.etlBuilder.intro.title":"Generador de ETL","tutorial.etlBuilder.intro.content":"Conecta orígenes → transformaciones → destinos en un pipeline, cambia las vistas y luego ejecútalo y guarda la configuración.","tutorial.videoEditorPro.intro.title":"Editor de vídeo","tutorial.videoEditorPro.intro.content":"Añade medios a la línea de tiempo, organiza y recorta clips, aplica efectos y transiciones, y luego configura y ejecuta la exportación.","tutorial.mlStudio.intro.title":"Estudio de ML","tutorial.mlStudio.intro.content":"Avanza por las pestañas: prepara conjuntos de datos, ejecuta experimentos, compara y elige modelos y luego despliega el mejor.","tutorial.mathEditor.intro.title":"Editor de matemáticas","tutorial.mathEditor.intro.content":"Escribe ecuaciones en LaTeX o inserta símbolos desde la paleta; cambia a la entrada manuscrita y previsualiza la fórmula renderizada en vivo.","tutorial.dmxEditor.intro.title":"Editor DMX","tutorial.dmxEditor.intro.content":"Elige el dispositivo FTDI y el puerto, y luego ajusta el valor de cada canal DMX con los deslizadores para controlar tus luminarias en vivo.","nav.help":"Ayuda","navShell.home.title":"Inicio","navShell.help.next":"Siguiente","navShell.help.back":"Atrás","navShell.help.finish":"Finalizar","navShell.help.skip":"Omitir","navShell.help.stepOf":"de","navShell.help.topNav.title":"Navegación superior","navShell.help.topNav.body":"Usa la barra superior para cambiar de espacio de trabajo, buscar, cambiar el tema o el idioma y abrir las notificaciones.","navShell.help.sidebar.title":"Barra lateral","navShell.help.sidebar.body":"Explora las vistas disponibles agrupadas por sección. Elige una vista para abrirla en una pestaña nueva.","navShell.help.tabs.title":"Pestañas","navShell.help.tabs.body":"Cada vista abierta vive en su propia pestaña. Fija las que más uses y haz clic derecho para más acciones.","navShell.help.content.title":"Espacio de trabajo","navShell.help.content.body":"El área principal muestra la vista activa. Cambiar de pestaña o de entrada de la barra lateral cambia el contenido aquí.","navShell.home.subtitle":"Retoma donde lo dejaste.","navShell.home.empty":"Abre una vista desde la barra lateral o las pestañas de arriba para llenar tu espacio de trabajo.","navShell.home.greeting.morning":"Buenos días","navShell.home.greeting.afternoon":"Buenas tardes","navShell.home.greeting.evening":"Buenas noches","navShell.home.greeting.night":"Hola","navShell.home.sections.openTabs":"Abiertas ahora","navShell.home.sections.shortcuts":"Tus accesos directos","navShell.home.sections.allViews":"Todas las vistas","sidebar.menu.open":"Abrir","sidebar.menu.openNewTab":"Abrir en una pestaña nueva","sidebar.menu.openBrowserTab":"Abrir en una pestaña nueva del navegador","sidebar.menu.pinFavorite":"Añadir a favoritos","sidebar.menu.unpinFavorite":"Quitar de favoritos","sidebar.menu.hide":"Ocultar","sidebar.menu.copyLink":"Copiar enlace","sidebar.menu.pinSource":"Fijar origen","sidebar.menu.unpinSource":"Dejar de fijar origen","sidebar.menu.hideSource":"Ocultar origen","sidebar.prefs.general":"General","sidebar.prefs.display":"Visualización","sidebar.prefs.order":"Orden","sidebar.prefs.hidden":"Elementos ocultos","sidebar.prefs.reset":"Restablecer","sidebar.prefs.general.title":"General","sidebar.prefs.general.desc":"Comportamiento del árbol de la barra lateral y qué hace un clic izquierdo.","sidebar.prefs.general.autoExpand":"Expandir automáticamente todas las ramas","sidebar.prefs.general.autoExpandHint":"Cuando está desactivado, las ramas empiezan contraídas y recuerdan el último estado por sesión.","sidebar.prefs.general.leftClickBehavior":"Comportamiento del clic izquierdo","sidebar.prefs.general.focusExisting":"Enfocar la pestaña existente","sidebar.prefs.general.openNew":"Abrir siempre en una pestaña nueva","sidebar.prefs.general.leftClickHint":"Clic derecho → «Abrir en una pestaña nueva» está siempre disponible, independientemente de este ajuste.","sidebar.prefs.display.title":"Visualización","sidebar.prefs.display.desc":"Qué modos aparecen en la tira y hasta qué profundidad llega el árbol en cada modo.","sidebar.prefs.display.enableModeIcons":"Mostrar los iconos del selector de modos","sidebar.prefs.display.enabledModes":"Modos visibles","sidebar.prefs.display.preferencesAlwaysOn":"Preferencias se muestra siempre.","sidebar.prefs.display.maxDepth":"Profundidad del árbol por modo","sidebar.prefs.order.title":"Ordenar elementos","sidebar.prefs.order.desc":"Arrastra los elementos para reordenar cómo aparecen en el modo seleccionado.","sidebar.prefs.order.pickMode":"Modo","sidebar.prefs.order.visibilityHint":"El orden se aplica a los elementos de nivel superior dentro de cada grupo de origen. Contrae una cabecera de origen para ver solo las entradas de nivel superior al verificar el cambio.","sidebar.prefs.order.empty":"No hay elementos reordenables en este modo.","sidebar.prefs.order.resetMode":"Restablecer al orden predeterminado","sidebar.prefs.hidden.title":"Elementos ocultos","sidebar.prefs.hidden.desc":"Elementos que ocultaste del árbol. Restáuralos para recuperarlos.","sidebar.prefs.hidden.empty":"Nada oculto todavía.","sidebar.prefs.hidden.restore":"Restaurar","sidebar.prefs.reset.title":"Restablecer","sidebar.prefs.reset.desc":"Borra todas las personalizaciones y restaura el diseño original de la barra lateral.","sidebar.prefs.reset.button":"Restablecer todas las preferencias","sidebar.prefs.reset.confirm":"Esto borrará tus favoritos, los elementos ocultos, el orden personalizado y todas las demás preferencias de la barra lateral. No se puede deshacer.","sidebar.prefs.reset.confirmYes":"Sí, restablecer todo","sidebar.prefs.reset.cancel":"Cancelar","noCode.title":"Estudio No-Code","noCode.description":"Crea aplicaciones visualmente","noCode.newProject":"Nuevo proyecto","noCode.openProject":"Abrir proyecto","noCode.saveProject":"Guardar proyecto","noCode.exportProject":"Exportar proyecto","noCode.importProject":"Importar proyecto","noCode.projectName":"Nombre del proyecto","noCode.projectSettings":"Configuración del proyecto","noCode.recentProjects":"Proyectos recientes","noCode.templates":"Plantillas","noCode.preview":"Vista previa","noCode.codeView":"Vista de código","noCode.splitView":"Vista dividida","noCode.visualView":"Vista visual","noCode.generate":"Generar código","noCode.deploy":"Desplegar","noCode.componentDesigner.title":"Diseñador de componentes","noCode.componentDesigner.newComponent":"Nuevo componente","noCode.componentDesigner.componentName":"Nombre del componente","noCode.componentDesigner.addProp":"Añadir prop","noCode.componentDesigner.editProp":"Editar prop","noCode.componentDesigner.deleteProp":"Eliminar prop","noCode.componentDesigner.propName":"Nombre de la prop","noCode.componentDesigner.propType":"Tipo de prop","noCode.componentDesigner.propRequired":"Obligatoria","noCode.componentDesigner.propDefault":"Valor por defecto","noCode.componentDesigner.addState":"Añadir estado","noCode.componentDesigner.stateName":"Nombre del estado","noCode.componentDesigner.stateType":"Tipo de estado","noCode.componentDesigner.stateDefault":"Valor inicial","noCode.componentDesigner.addHook":"Añadir hook","noCode.componentDesigner.hooks":"Hooks","noCode.componentDesigner.template":"Plantilla","noCode.componentDesigner.styles":"Estilos","noCode.componentDesigner.events":"Eventos","noCode.componentDesigner.palette":"Paleta de componentes","noCode.componentDesigner.dragDrop":"Arrastra componentes aquí","noCode.pageBuilder.title":"Generador de páginas","noCode.pageBuilder.newPage":"Nueva página","noCode.pageBuilder.pageName":"Nombre de la página","noCode.pageBuilder.pageRoute":"Ruta","noCode.pageBuilder.addSection":"Añadir sección","noCode.pageBuilder.editSection":"Editar sección","noCode.pageBuilder.deleteSection":"Eliminar sección","noCode.pageBuilder.sectionLayout":"Diseño de la sección","noCode.pageBuilder.columns":"Columnas","noCode.pageBuilder.responsive":"Responsivo","noCode.pageBuilder.mobile":"Móvil","noCode.pageBuilder.tablet":"Tableta","noCode.pageBuilder.desktop":"Escritorio","noCode.pageBuilder.showGrid":"Mostrar cuadrícula","noCode.pageBuilder.hideGrid":"Ocultar cuadrícula","noCode.pageBuilder.metadata":"Metadatos de la página","noCode.pageBuilder.seo":"Configuración SEO","noCode.stateDesigner.title":"Diseñador de estado","noCode.stateDesigner.newStore":"Nuevo store","noCode.stateDesigner.storeName":"Nombre del store","noCode.stateDesigner.storeType":"Tipo de store","noCode.stateDesigner.addState":"Añadir campo de estado","noCode.stateDesigner.addAction":"Añadir acción","noCode.stateDesigner.editAction":"Editar acción","noCode.stateDesigner.deleteAction":"Eliminar acción","noCode.stateDesigner.actionName":"Nombre de la acción","noCode.stateDesigner.actionParams":"Parámetros","noCode.stateDesigner.actionBody":"Cuerpo de la acción","noCode.stateDesigner.asyncAction":"Acción asíncrona","noCode.stateDesigner.addSelector":"Añadir selector","noCode.stateDesigner.selectorName":"Nombre del selector","noCode.stateDesigner.selectorBody":"Lógica del selector","noCode.stateDesigner.persistence":"Persistencia","noCode.stateDesigner.devtools":"DevTools","noCode.apiFlow.title":"Diseñador de flujos de API","noCode.apiFlow.newEndpoint":"Nuevo endpoint","noCode.apiFlow.endpointUrl":"URL del endpoint","noCode.apiFlow.method":"Método HTTP","noCode.apiFlow.headers":"Cabeceras","noCode.apiFlow.body":"Cuerpo de la solicitud","noCode.apiFlow.response":"Respuesta","noCode.apiFlow.auth":"Autenticación","noCode.apiFlow.authType":"Tipo de autenticación","noCode.apiFlow.bearerToken":"Token Bearer","noCode.apiFlow.apiKey":"Clave de API","noCode.apiFlow.testEndpoint":"Probar endpoint","noCode.apiFlow.mockResponse":"Respuesta simulada","noCode.apiFlow.errorHandling":"Gestión de errores","noCode.apiFlow.retry":"Política de reintentos","noCode.apiFlow.cache":"Almacenamiento en caché","noCode.dataMapper.title":"Mapeador de datos","noCode.dataMapper.sourceSchema":"Esquema de origen","noCode.dataMapper.targetSchema":"Esquema de destino","noCode.dataMapper.addMapping":"Añadir mapeo","noCode.dataMapper.editMapping":"Editar mapeo","noCode.dataMapper.deleteMapping":"Eliminar mapeo","noCode.dataMapper.sourceField":"Campo de origen","noCode.dataMapper.targetField":"Campo de destino","noCode.dataMapper.transform":"Transformar","noCode.dataMapper.validation":"Validación","noCode.dataMapper.testData":"Datos de prueba","noCode.dataMapper.preview":"Previsualizar resultado","noCode.dataMapper.autoMap":"Mapeo automático","noCode.eventOrchestrator.title":"Orquestador de eventos","noCode.eventOrchestrator.newFlow":"Nuevo flujo de eventos","noCode.eventOrchestrator.flowName":"Nombre del flujo","noCode.eventOrchestrator.trigger":"Disparador","noCode.eventOrchestrator.triggerType":"Tipo de disparador","noCode.eventOrchestrator.addHandler":"Añadir controlador","noCode.eventOrchestrator.editHandler":"Editar controlador","noCode.eventOrchestrator.deleteHandler":"Eliminar controlador","noCode.eventOrchestrator.handlerName":"Nombre del controlador","noCode.eventOrchestrator.debounce":"Debounce","noCode.eventOrchestrator.throttle":"Throttle","noCode.eventOrchestrator.delay":"Retardo","noCode.eventOrchestrator.condition":"Condición","noCode.eventOrchestrator.chain":"Encadenar eventos","noCode.testBuilder.title":"Generador de pruebas","noCode.testBuilder.newTest":"Nueva prueba","noCode.testBuilder.testName":"Nombre de la prueba","noCode.testBuilder.testDescription":"Descripción","noCode.testBuilder.addScenario":"Añadir escenario","noCode.testBuilder.editScenario":"Editar escenario","noCode.testBuilder.deleteScenario":"Eliminar escenario","noCode.testBuilder.addAssertion":"Añadir aserción","noCode.testBuilder.assertionType":"Tipo de aserción","noCode.testBuilder.expected":"Valor esperado","noCode.testBuilder.actual":"Valor real","noCode.testBuilder.mock":"Configuración de mock","noCode.testBuilder.runTests":"Ejecutar pruebas","noCode.testBuilder.testsPassed":"Pruebas superadas","noCode.testBuilder.testsFailed":"Pruebas fallidas","noCode.testBuilder.coverage":"Cobertura","noCode.testBuilder.accessibility":"Comprobación de accesibilidad","noCode.codeTemplate.title":"Plantillas de código","noCode.codeTemplate.newTemplate":"Nueva plantilla","noCode.codeTemplate.templateName":"Nombre de la plantilla","noCode.codeTemplate.templateEngine":"Motor de plantillas","noCode.codeTemplate.variables":"Variables","noCode.codeTemplate.addVariable":"Añadir variable","noCode.codeTemplate.variableName":"Nombre de la variable","noCode.codeTemplate.variableType":"Tipo de variable","noCode.codeTemplate.variableDefault":"Valor por defecto","noCode.codeTemplate.generateFiles":"Generar archivos","noCode.codeTemplate.outputPath":"Ruta de salida","noCode.codeTemplate.presets":"Preajustes","noCode.codeTemplate.presetReact":"Componente React","noCode.codeTemplate.presetNextPage":"Página de Next.js","noCode.codeTemplate.presetHook":"Hook personalizado","noCode.codeTemplate.presetStore":"Módulo de store","noCode.codePreview.title":"Vista previa del código","noCode.codePreview.showDiff":"Mostrar diferencias","noCode.codePreview.hideDiff":"Ocultar diferencias","noCode.codePreview.copyCode":"Copiar código","noCode.codePreview.downloadCode":"Descargar código","noCode.codePreview.importCode":"Importar código","noCode.codePreview.language":"Lenguaje","noCode.codePreview.format":"Formatear código","noCode.codePreview.linesChanged":"Líneas cambiadas","noCode.codePreview.noChanges":"Sin cambios","vectorEditor.menu.file":"Archivo","vectorEditor.menu.edit":"Editar","vectorEditor.menu.object":"Objeto","vectorEditor.menu.path":"Trazado","vectorEditor.menu.view":"Ver","vectorEditor.menu.newCanvas":"Nuevo lienzo","vectorEditor.menu.openSvg":"Abrir SVG…","vectorEditor.menu.pasteSvg":"Pegar SVG…","vectorEditor.menu.exportSvg":"Exportar SVG","vectorEditor.menu.exportPng":"Exportar PNG","vectorEditor.menu.exportJpg":"Exportar JPG","vectorEditor.menu.exportWebp":"Exportar WebP","vectorEditor.menu.exportBmp":"Exportar BMP","vectorEditor.menu.saveToLibrary":"📦 Guardar en la biblioteca","vectorEditor.menu.exportIconSnippet":"📋 Exportar fragmento de icono","vectorEditor.menu.exportIcon":"📋 Exportar icono","vectorEditor.menu.undo":"Deshacer (Ctrl+Z)","vectorEditor.menu.redo":"Rehacer (Ctrl+Y)","vectorEditor.menu.copy":"Copiar (Ctrl+C)","vectorEditor.menu.paste":"Pegar (Ctrl+V)","vectorEditor.menu.duplicate":"Duplicar (Ctrl+D)","vectorEditor.menu.delete":"Eliminar (Supr)","vectorEditor.menu.bringToFront":"Traer al frente","vectorEditor.menu.sendToBack":"Enviar al fondo","vectorEditor.menu.flipH":"Voltear horizontal","vectorEditor.menu.flipV":"Voltear vertical","vectorEditor.menu.alignLeft":"Alinear a la izquierda","vectorEditor.menu.alignCenter":"Centrar","vectorEditor.menu.alignRight":"Alinear a la derecha","vectorEditor.menu.union":"Unión (∪)","vectorEditor.menu.subtract":"Restar (−)","vectorEditor.menu.intersect":"Intersecar (∩)","vectorEditor.menu.exclude":"Excluir (⊕)","vectorEditor.menu.outlineStroke":"Contornear trazo","vectorEditor.menu.snapToGrid":"Ajustar a la cuadrícula","vectorEditor.menu.snap":"Ajustar","vectorEditor.menu.secondShape":"2.ª forma","vectorEditor.tabs.properties":"Propiedades","vectorEditor.tabs.layers":"Capas","vectorEditor.tabs.library":"Biblioteca","vectorEditor.tabs.timeline":"Línea de tiempo","vectorEditor.timeline.preset":"Preajuste","vectorEditor.timeline.duration":"Duración (ms)","vectorEditor.timeline.repeat":"Repetir","vectorEditor.timeline.direction":"Dirección","vectorEditor.timeline.remove":"Eliminar animación","vectorEditor.timeline.play":"Reproducir","vectorEditor.timeline.pause":"Pausa","vectorEditor.timeline.stop":"Detener","vectorEditor.timeline.copyCss":"Copiar CSS","vectorEditor.timeline.keyframes":"Fotogramas clave","vectorEditor.timeline.addKeyframe":"+ Añadir fotograma clave","vectorEditor.timeline.noSelection":"Selecciona una forma para animarla.","vectorEditor.timeline.animationTitle":"Animación","vectorEditor.timeline.playbackTitle":"Reproducción","vectorEditor.timeline.attachHint":"Selecciona una forma para adjuntar una animación.","vectorEditor.timeline.playLabel":"▶ Reproducir","vectorEditor.timeline.pauseLabel":"⏸ Pausa","vectorEditor.timeline.stopLabel":"⏹ Detener","vectorEditor.timeline.copyCssKeyframes":"📋 Copiar fotogramas clave CSS","vectorEditor.timeline.tLabel":"t","vectorEditor.layers.empty":"Aún no hay capas. Usa las herramientas para dibujar o inserta desde la pestaña Biblioteca.","vectorEditor.layers.moveUp":"Subir","vectorEditor.layers.moveDown":"Bajar","vectorEditor.library.passProp":"Pasa una prop library a NiceVectorEditor para llenar esta pestaña con iconos insertables.","vectorEditor.statusBar.zoom":"Zoom","vectorEditor.statusBar.shapes":"forma(s)","vectorEditor.statusBar.selected":"Seleccionado","vectorEditor.statusBar.snap":"Ajuste","vectorEditor.library.empty":"No hay iconos en la biblioteca.","vectorEditor.snippet.title":"✅ Fragmento de icono copiado al portapapeles","vectorEditor.snippet.pasteHint":"Pegar en","vectorEditor.snippet.copyAgain":"Copiar de nuevo","vectorEditor.snippet.close":"Cerrar","vectorEditor.properties.appearance":"Apariencia","vectorEditor.properties.fill":"Relleno","vectorEditor.properties.solid":"Sólido","vectorEditor.properties.gradient":"Degradado","vectorEditor.properties.hideEditor":"▼ Ocultar editor","vectorEditor.properties.editGradient":"► Editar degradado","vectorEditor.properties.type":"Tipo","vectorEditor.properties.linear":"Lineal","vectorEditor.properties.radial":"Radial","vectorEditor.properties.angle":"Ángulo","vectorEditor.properties.cx":"CX","vectorEditor.properties.cy":"CY","vectorEditor.properties.r":"R","vectorEditor.properties.colorStops":"Paradas de color:","vectorEditor.properties.addStop":"+ Añadir parada","vectorEditor.properties.removeStop":"- Eliminar","vectorEditor.properties.stroke":"Trazo","vectorEditor.properties.width":"Ancho","vectorEditor.properties.opacity":"Opacidad","vectorEditor.properties.rotation":"Rotación","vectorEditor.properties.toolOptions":"Opciones de la herramienta","vectorEditor.properties.radius":"Radio","vectorEditor.properties.sides":"Lados","vectorEditor.properties.points":"Puntos","vectorEditor.properties.innerR":"R interior","vectorEditor.properties.size":"Tamaño","vectorEditor.properties.font":"Fuente","vectorEditor.properties.grid":"Cuadrícula","vectorEditor.properties.transform":"Transformar","vectorEditor.properties.x":"X","vectorEditor.properties.y":"Y","vectorEditor.properties.w":"An","vectorEditor.properties.h":"Al","vectorEditor.layers.title":"Capas","vectorEditor.layers.show":"Mostrar","vectorEditor.layers.hide":"Ocultar","vectorEditor.layers.lock":"Bloquear","vectorEditor.layers.unlock":"Desbloquear"},Ei={ok:"OK",cancel:"Annulla",save:"Salva",close:"Chiudi",delete:"Elimina",edit:"Modifica",add:"Aggiungi",remove:"Rimuovi",search:"Cerca",filter:"Filtra",refresh:"Aggiorna",loading:"Caricamento…",noData:"Nessun dato",error:"Errore",success:"Successo",warning:"Avviso",info:"Informazione",yes:"Sì",no:"No",confirm:"Conferma",back:"Indietro",next:"Avanti",previous:"Precedente",finish:"Fine",submit:"Invia",reset:"Ripristina",apply:"Applica",undo:"Annulla",redo:"Ripeti",copy:"Copia",cut:"Taglia",paste:"Incolla",selectAll:"Seleziona tutto",clear:"Cancella",upload:"Carica",download:"Scarica",print:"Stampa",export:"Esporta",import:"Importa",settings:"Impostazioni",help:"Aiuto",about:"Info",more:"Altro",less:"Meno",show:"Mostra",hide:"Nascondi",expand:"Espandi",collapse:"Comprimi",enabled:"Abilitato",disabled:"Disabilitato",required:"Obbligatorio",optional:"Facoltativo",actions:"Azioni",details:"Dettagli",overview:"Panoramica",all:"Tutti",none:"Nessuno",selected:"Selezionato",total:"Totale",of:"di",items:"elementi",page:"Pagina",rows:"Righe","nav.home":"Home","nav.back":"Indietro","nav.forward":"Avanti","nav.menu":"Menu","nav.sidebar":"Barra laterale","nav.search":"Cerca","nav.favorites":"Preferiti","nav.recent":"Recenti","nav.notifications":"Notifiche","nav.profile":"Profilo","nav.logout":"Esci","confirm.title":"Conferma","confirm.deleteMessage":"Sei sicuro di voler eliminare?","confirm.unsavedChanges":"Modifiche non salvate. Annullare?","login.username":"Nome utente","login.password":"Password","login.signIn":"Accedi","login.signOut":"Esci","login.forgotPassword":"Password dimenticata?","login.register":"Registrati","login.rememberMe":"Ricordami","theme.light":"Chiaro","theme.dark":"Scuro","theme.system":"Sistema","wm.close":"Chiudi","wm.minimize":"Riduci","wm.maximize":"Ingrandisci","wm.restore":"Ripristina","lang.en":"Inglese","lang.pl":"Polacco","lang.de":"Tedesco","lang.fr":"Francese","lang.es":"Spagnolo","lang.it":"Italiano","lang.pt":"Portoghese","lang.nl":"Olandese","lang.sv":"Svedese","lang.no":"Norvegese","lang.da":"Danese","lang.fi":"Finlandese","lang.cs":"Ceco","lang.sk":"Slovacco","lang.hu":"Ungherese","lang.ro":"Rumeno","lang.bg":"Bulgaro","lang.uk":"Ucraino","lang.ja":"Giapponese","lang.ko":"Coreano","lang.zh":"Cinese","lang.ar":"Arabo"},Ci={ok:"OK",cancel:"Cancelar",save:"Salvar",close:"Fechar",delete:"Excluir",edit:"Editar",add:"Adicionar",remove:"Remover",search:"Pesquisar",filter:"Filtrar",refresh:"Atualizar",loading:"Carregando…",noData:"Sem dados",error:"Erro",success:"Sucesso",warning:"Aviso",info:"Informação",yes:"Sim",no:"Não",confirm:"Confirmar",back:"Voltar",next:"Próximo",previous:"Anterior",finish:"Concluir",submit:"Enviar",reset:"Redefinir",apply:"Aplicar",undo:"Desfazer",redo:"Refazer",copy:"Copiar",cut:"Recortar",paste:"Colar",selectAll:"Selecionar tudo",clear:"Limpar",upload:"Enviar",download:"Baixar",print:"Imprimir",export:"Exportar",import:"Importar",settings:"Configurações",help:"Ajuda",about:"Sobre",more:"Mais",less:"Menos",show:"Mostrar",hide:"Ocultar",expand:"Expandir",collapse:"Recolher",enabled:"Ativado",disabled:"Desativado",required:"Obrigatório",optional:"Opcional",actions:"Ações",details:"Detalhes",overview:"Visão geral",all:"Todos",none:"Nenhum",selected:"Selecionado",total:"Total",of:"de",items:"itens",page:"Página",rows:"Linhas","app.name":"Aplicação","app.version":"Versão","app.about":"Sobre","nav.home":"Início","nav.back":"Voltar","nav.forward":"Avançar","nav.menu":"Menu","nav.sidebar":"Barra lateral","nav.search":"Pesquisar","nav.favorites":"Favoritos","nav.recent":"Recentes","nav.notifications":"Notificações","nav.profile":"Perfil","nav.logout":"Sair","carousel.prev":"Slide anterior","carousel.next":"Próximo slide","carousel.slide":"Slide","carousel.of":"de","carousel.autoplay":"Reprodução automática","carousel.pause":"Pausar","confirm.yes":"Sim","confirm.no":"Não","confirm.ok":"OK","confirm.cancel":"Cancelar","confirm.title":"Confirmação","confirm.deleteMessage":"Tem certeza de que deseja excluir?","confirm.unsavedChanges":"Alterações não salvas. Descartar?","console.shell":"Shell","console.terminal":"Terminal","console.prompt":"Digite o comando…","console.clear":"Limpar console","console.run":"Executar","console.output":"Saída","console.newSession":"Nova sessão","console.closeSession":"Fechar sessão","controls.save":"Salvar","controls.cancel":"Cancelar","controls.delete":"Excluir","controls.edit":"Editar","controls.add":"Adicionar","controls.remove":"Remover","controls.close":"Fechar","controls.open":"Abrir","controls.refresh":"Atualizar","controls.new":"Novo","controls.duplicate":"Duplicar","controls.sort":"Ordenar","controls.group":"Agrupar","controls.pin":"Fixar","controls.unpin":"Desfixar","controls.lock":"Bloquear","controls.unlock":"Desbloquear","controls.share":"Compartilhar","controls.archive":"Arquivar","cookie.title":"Consentimento de cookies","cookie.message":"Este site usa cookies para melhorar sua experiência.","cookie.accept":"Aceitar todos","cookie.reject":"Rejeitar todos","cookie.settings":"Configurações de cookies","cookie.necessary":"Necessários","cookie.analytics":"Analíticos","cookie.marketing":"Marketing","dashboard.title":"Painel","dashboard.addWidget":"Adicionar widget","dashboard.removeWidget":"Remover widget","dashboard.layout":"Layout","dashboard.settings":"Configurações","dashboard.customize":"Personalizar","dashboard.resetLayout":"Redefinir layout","datetime.today":"Hoje","datetime.yesterday":"Ontem","datetime.tomorrow":"Amanhã","datetime.selectDate":"Selecionar data","datetime.selectTime":"Selecionar hora","datetime.startDate":"Data de início","datetime.endDate":"Data de término","datetime.startTime":"Hora de início","datetime.endTime":"Hora de término","datetime.am":"AM","datetime.pm":"PM","desktop.start":"Iniciar","desktop.taskbar":"Barra de tarefas","desktop.systemTray":"Bandeja do sistema","desktop.wallpaper":"Papel de parede","desktop.icons":"Ícones da área de trabalho","desktop.arrangeIcons":"Organizar ícones","dock.pin":"Fixar no dock","dock.unpin":"Desfixar do dock","dock.close":"Fechar","dock.minimize":"Minimizar","dock.maximize":"Maximizar","dock.restore":"Restaurar","docEditor.paragraph":"Parágrafo","docEditor.heading":"Título","docEditor.heading1":"Título 1","docEditor.heading2":"Título 2","docEditor.heading3":"Título 3","docEditor.bulletList":"Lista com marcadores","docEditor.numberedList":"Lista numerada","docEditor.quote":"Citação","docEditor.code":"Bloco de código","docEditor.divider":"Divisor","docEditor.image":"Imagem","docEditor.table":"Tabela","docEditor.callout":"Destaque","docEditor.placeholder":"Comece a digitar…","docEditor.slashCommand":"Digite / para comandos","files.upload":"Enviar arquivo","files.download":"Baixar","files.delete":"Excluir arquivo","files.rename":"Renomear","files.newFolder":"Nova pasta","files.selectFile":"Selecionar arquivo","files.dropzone":"Arraste arquivos aqui","files.dragDrop":"Arraste e solte arquivos ou clique para selecionar","files.maxSize":"Tamanho máximo do arquivo","files.fileType":"Tipo de arquivo","forms.required":"Este campo é obrigatório","forms.optional":"Opcional","forms.submit":"Enviar","forms.reset":"Redefinir","forms.validate":"Validar","forms.invalid":"Valor inválido","forms.minLength":"Comprimento mínimo: {0}","forms.maxLength":"Comprimento máximo: {0}","forms.email":"Insira um e-mail válido","forms.phone":"Insira um telefone válido","imageEditor.crop":"Cortar","imageEditor.rotate":"Girar","imageEditor.flip":"Espelhar","imageEditor.resize":"Redimensionar","imageEditor.filter":"Filtro","imageEditor.draw":"Desenhar","imageEditor.text":"Texto","imageEditor.undo":"Desfazer","imageEditor.redo":"Refazer","imageEditor.save":"Salvar","imageEditor.brightness":"Brilho","imageEditor.contrast":"Contraste","imageEditor.saturation":"Saturação","inbox.compose":"Escrever","inbox.reply":"Responder","inbox.replyAll":"Responder a todos","inbox.forward":"Encaminhar","inbox.delete":"Excluir","inbox.archive":"Arquivar","inbox.markRead":"Marcar como lido","inbox.markUnread":"Marcar como não lido","inbox.folders":"Pastas","inbox.inbox":"Caixa de entrada","inbox.sent":"Enviados","inbox.drafts":"Rascunhos","inbox.trash":"Lixeira","inbox.spam":"Spam","inbox.starred":"Com estrela","inbox.to":"Para","inbox.cc":"Cc","inbox.bcc":"Cco","inbox.subject":"Assunto","inbox.send":"Enviar","inbox.discard":"Descartar","inbox.attachFile":"Anexar arquivo","kanban.addCard":"Adicionar cartão","kanban.addColumn":"Adicionar coluna","kanban.moveCard":"Mover cartão","kanban.editCard":"Editar cartão","kanban.deleteCard":"Excluir cartão","kanban.editColumn":"Editar coluna","kanban.deleteColumn":"Excluir coluna","lang.en":"Inglês","lang.pl":"Polonês","lang.de":"Alemão","lang.fr":"Francês","lang.es":"Espanhol","lang.it":"Italiano","lang.pt":"Português","lang.nl":"Holandês","lang.sv":"Sueco","lang.no":"Norueguês","lang.da":"Dinamarquês","lang.fi":"Finlandês","lang.cs":"Tcheco","lang.sk":"Eslovaco","lang.hu":"Húngaro","lang.ro":"Romeno","lang.bg":"Búlgaro","lang.uk":"Ucraniano","lang.ja":"Japonês","lang.ko":"Coreano","lang.zh":"Chinês","lang.ar":"Árabe","login.username":"Nome de usuário","login.password":"Senha","login.signIn":"Entrar","login.signOut":"Sair","login.forgotPassword":"Esqueceu a senha?","login.register":"Registrar","login.rememberMe":"Lembrar-me","login.newPassword":"Nova senha","login.confirmPassword":"Confirmar senha","login.twoFactor":"Autenticação de dois fatores","password.strength":"Força da senha","password.weak":"Fraca","password.medium":"Média","password.strong":"Forte","password.requirements":"Requisitos de senha","pdfviewer.page":"Página","pdfviewer.of":"de","pdfviewer.zoom":"Zoom","pdfviewer.fitPage":"Ajustar à página","pdfviewer.fitWidth":"Ajustar à largura","pdfviewer.download":"Baixar","pdfviewer.print":"Imprimir","pdfviewer.search":"Pesquisar no documento","pdfviewer.bookmark":"Marcadores","pdfviewer.thumbnail":"Miniaturas","picklist.available":"Disponíveis","picklist.selected":"Selecionados","picklist.addAll":"Adicionar todos","picklist.removeAll":"Remover todos","picklist.filter":"Filtrar itens","scheduling.calendar":"Calendário","scheduling.event":"Evento","scheduling.allDay":"Dia inteiro","scheduling.today":"Hoje","scheduling.week":"Semana","scheduling.month":"Mês","scheduling.year":"Ano","scheduling.day":"Dia","scheduling.agenda":"Agenda","scheduling.addEvent":"Adicionar evento","scheduling.editEvent":"Editar evento","scheduling.deleteEvent":"Excluir evento","scheduling.noEvents":"Sem eventos","shortcuts.title":"Atalhos de teclado","shortcuts.description":"Atalhos disponíveis","shortcuts.key":"Tecla","shortcuts.command":"Comando","shortcuts.search":"Pesquisar atalhos","signature.clear":"Limpar","signature.save":"Salvar","signature.sign":"Assine aqui","signature.draw":"Desenhe sua assinatura","spreadsheet.cell":"Célula","spreadsheet.row":"Linha","spreadsheet.column":"Coluna","spreadsheet.formula":"Fórmula","spreadsheet.insert":"Inserir","spreadsheet.delete":"Excluir","spreadsheet.sort":"Ordenar","spreadsheet.sortAsc":"Ordem crescente","spreadsheet.sortDesc":"Ordem decrescente","spreadsheet.filter":"Filtrar","spreadsheet.export":"Exportar","spreadsheet.import":"Importar","spreadsheet.addRow":"Adicionar linha","spreadsheet.addColumn":"Adicionar coluna","spreadsheet.deleteRow":"Excluir linha","spreadsheet.deleteColumn":"Excluir coluna","spreadsheet.freezeRow":"Congelar linha","spreadsheet.freezeColumn":"Congelar coluna","spreadsheet.merge":"Mesclar células","spreadsheet.unmerge":"Desfazer mesclagem","terminal.run":"Executar","terminal.clear":"Limpar","terminal.copy":"Copiar","terminal.paste":"Colar","terminal.newSession":"Nova sessão","terminal.closeSession":"Fechar sessão","terminal.selectAll":"Selecionar tudo","theme.light":"Claro","theme.dark":"Escuro","theme.system":"Sistema","theme.custom":"Personalizado","theme.colors":"Cores","theme.fonts":"Fontes","theme.apply":"Aplicar tema","theme.preview":"Visualizar","theme.reset":"Restaurar padrão","theme.gallery":"Galeria de temas","users.profile":"Perfil","users.settings":"Configurações","users.permissions":"Permissões","users.role":"Papel","users.active":"Ativo","users.inactive":"Inativo","users.online":"Online","users.offline":"Offline","users.lastSeen":"Último acesso","wm.close":"Fechar","wm.minimize":"Minimizar","wm.maximize":"Maximizar","wm.restore":"Restaurar","wm.tile":"Organizar janelas","wm.cascade":"Cascata","wm.closeAll":"Fechar todos","wm.minimizeAll":"Minimizar todos","wm.newWindow":"Nova janela","wm.moveToFront":"Trazer para frente"},zi={ok:"OK",cancel:"Annuleren",save:"Opslaan",close:"Sluiten",delete:"Verwijderen",edit:"Bewerken",add:"Toevoegen",remove:"Verwijderen",search:"Zoeken",filter:"Filteren",refresh:"Vernieuwen",loading:"Laden…",noData:"Geen gegevens",error:"Fout",success:"Gelukt",warning:"Waarschuwing",info:"Informatie",yes:"Ja",no:"Nee",confirm:"Bevestigen",back:"Terug",next:"Volgende",previous:"Vorige",finish:"Voltooien",submit:"Indienen",reset:"Herstellen",apply:"Toepassen",undo:"Ongedaan maken",redo:"Opnieuw",copy:"Kopiëren",cut:"Knippen",paste:"Plakken",selectAll:"Alles selecteren",clear:"Wissen",upload:"Uploaden",download:"Downloaden",print:"Afdrukken",export:"Exporteren",import:"Importeren",settings:"Instellingen",help:"Help",required:"Verplicht",optional:"Optioneel","nav.home":"Startpagina","nav.back":"Terug","nav.favorites":"Favorieten","nav.notifications":"Meldingen","nav.profile":"Profiel","nav.logout":"Uitloggen","login.username":"Gebruikersnaam","login.password":"Wachtwoord","login.signIn":"Inloggen","login.signOut":"Uitloggen","login.forgotPassword":"Wachtwoord vergeten?","login.register":"Registreren","theme.light":"Licht","theme.dark":"Donker","theme.system":"Systeem","wm.close":"Sluiten","wm.minimize":"Minimaliseren","wm.maximize":"Maximaliseren","wm.restore":"Herstellen","lang.en":"Engels","lang.pl":"Pools","lang.de":"Duits","lang.fr":"Frans","lang.es":"Spaans","lang.it":"Italiaans","lang.pt":"Portugees","lang.nl":"Nederlands","lang.sv":"Zweeds","lang.no":"Noors","lang.da":"Deens","lang.fi":"Fins","lang.cs":"Tsjechisch","lang.sk":"Slowaaks","lang.hu":"Hongaars","lang.ro":"Roemeens","lang.bg":"Bulgaars","lang.uk":"Oekraïens","lang.ja":"Japans","lang.ko":"Koreaans","lang.zh":"Chinees","lang.ar":"Arabisch"},ji={ok:"OK",cancel:"Avbryt",save:"Spara",close:"Stäng",delete:"Ta bort",edit:"Redigera",add:"Lägg till",remove:"Ta bort",search:"Sök",filter:"Filtrera",refresh:"Uppdatera",loading:"Laddar…",noData:"Ingen data",error:"Fel",success:"Lyckades",warning:"Varning",info:"Information",yes:"Ja",no:"Nej",confirm:"Bekräfta",back:"Tillbaka",next:"Nästa",undo:"Ångra",redo:"Gör om",copy:"Kopiera",cut:"Klipp",paste:"Klistra in",settings:"Inställningar",help:"Hjälp",required:"Obligatoriskt","nav.home":"Hem","nav.favorites":"Favoriter","nav.notifications":"Aviseringar","nav.logout":"Logga ut","login.username":"Användarnamn","login.password":"Lösenord","login.signIn":"Logga in","login.signOut":"Logga ut","login.forgotPassword":"Glömt lösenordet?","login.register":"Registrera","theme.light":"Ljust","theme.dark":"Mörkt","theme.system":"System","wm.close":"Stäng","wm.minimize":"Minimera","wm.maximize":"Maximera","wm.restore":"Återställ","lang.en":"Engelska","lang.pl":"Polska","lang.de":"Tyska","lang.fr":"Franska","lang.es":"Spanska","lang.it":"Italienska","lang.pt":"Portugisiska","lang.nl":"Nederländska","lang.sv":"Svenska","lang.no":"Norska","lang.da":"Danska","lang.fi":"Finska","lang.cs":"Tjeckiska","lang.sk":"Slovakiska","lang.hu":"Ungerska","lang.ro":"Rumänska","lang.bg":"Bulgariska","lang.uk":"Ukrainska","lang.ja":"Japanska","lang.ko":"Koreanska","lang.zh":"Kinesiska","lang.ar":"Arabiska"},Di={ok:"OK",cancel:"Avbryt",save:"Lagre",close:"Lukk",delete:"Slett",edit:"Rediger",add:"Legg til",remove:"Fjern",search:"Søk",filter:"Filtrer",refresh:"Oppdater",loading:"Laster…",noData:"Ingen data",error:"Feil",success:"Vellykket",warning:"Advarsel",yes:"Ja",no:"Nei",confirm:"Bekreft",back:"Tilbake",next:"Neste",undo:"Angre",redo:"Gjør om",copy:"Kopier",paste:"Lim inn",settings:"Innstillinger",help:"Hjelp","nav.home":"Hjem","nav.favorites":"Favoritter","nav.logout":"Logg ut","login.username":"Brukernavn","login.password":"Passord","login.signIn":"Logg inn","theme.light":"Lys","theme.dark":"Mørk","theme.system":"System","wm.close":"Lukk","wm.minimize":"Minimer","wm.maximize":"Maksimer","wm.restore":"Gjenopprett","lang.en":"Engelsk","lang.pl":"Polsk","lang.de":"Tysk","lang.fr":"Fransk","lang.es":"Spansk","lang.it":"Italiensk","lang.pt":"Portugisisk","lang.nl":"Nederlandsk","lang.sv":"Svensk","lang.no":"Norsk","lang.da":"Dansk","lang.fi":"Finsk","lang.cs":"Tsjekkisk","lang.sk":"Slovakisk","lang.hu":"Ungarsk","lang.ro":"Rumensk","lang.bg":"Bulgarsk","lang.uk":"Ukrainsk","lang.ja":"Japansk","lang.ko":"Koreansk","lang.zh":"Kinesisk","lang.ar":"Arabisk"},Mi={ok:"OK",cancel:"Annuller",save:"Gem",close:"Luk",delete:"Slet",edit:"Rediger",add:"Tilføj",remove:"Fjern",search:"Søg",filter:"Filtrer",refresh:"Opdater",loading:"Indlæser…",noData:"Ingen data",error:"Fejl",success:"Succes",warning:"Advarsel",yes:"Ja",no:"Nej",confirm:"Bekræft",back:"Tilbage",next:"Næste",undo:"Fortryd",redo:"Gentag",copy:"Kopiér",paste:"Indsæt",settings:"Indstillinger",help:"Hjælp","nav.home":"Hjem","nav.favorites":"Favoritter","nav.logout":"Log ud","login.username":"Brugernavn","login.password":"Adgangskode","login.signIn":"Log ind","theme.light":"Lys","theme.dark":"Mørk","theme.system":"System","wm.close":"Luk","wm.minimize":"Minimer","wm.maximize":"Maksimer","wm.restore":"Gendan","lang.en":"Engelsk","lang.pl":"Polsk","lang.de":"Tysk","lang.fr":"Fransk","lang.es":"Spansk","lang.it":"Italiensk","lang.pt":"Portugisisk","lang.nl":"Nederlandsk","lang.sv":"Svensk","lang.no":"Norsk","lang.da":"Dansk","lang.fi":"Finsk","lang.cs":"Tjekkisk","lang.sk":"Slovakisk","lang.hu":"Ungarsk","lang.ro":"Rumænsk","lang.bg":"Bulgarsk","lang.uk":"Ukrainsk","lang.ja":"Japansk","lang.ko":"Koreansk","lang.zh":"Kinesisk","lang.ar":"Arabisk"},Ai={ok:"OK",cancel:"Peruuta",save:"Tallenna",close:"Sulje",delete:"Poista",edit:"Muokkaa",add:"Lisää",remove:"Poista",search:"Hae",filter:"Suodata",refresh:"Päivitä",loading:"Lataa…",noData:"Ei tietoja",error:"Virhe",success:"Onnistui",warning:"Varoitus",yes:"Kyllä",no:"Ei",confirm:"Vahvista",back:"Takaisin",next:"Seuraava",undo:"Kumoa",redo:"Tee uudelleen",copy:"Kopioi",paste:"Liitä",settings:"Asetukset",help:"Ohje","nav.home":"Etusivu","nav.favorites":"Suosikit","nav.logout":"Kirjaudu ulos","login.username":"Käyttäjänimi","login.password":"Salasana","login.signIn":"Kirjaudu sisään","theme.light":"Vaalea","theme.dark":"Tumma","theme.system":"Järjestelmä","wm.close":"Sulje","wm.minimize":"Pienennä","wm.maximize":"Suurenna","wm.restore":"Palauta","lang.en":"Englanti","lang.pl":"Puola","lang.de":"Saksa","lang.fr":"Ranska","lang.es":"Espanja","lang.it":"Italia","lang.pt":"Portugali","lang.nl":"Hollanti","lang.sv":"Ruotsi","lang.no":"Norja","lang.da":"Tanska","lang.fi":"Suomi","lang.cs":"Tšekki","lang.sk":"Slovakia","lang.hu":"Unkari","lang.ro":"Romania","lang.bg":"Bulgaria","lang.uk":"Ukraina","lang.ja":"Japani","lang.ko":"Korea","lang.zh":"Kiina","lang.ar":"Arabia"},Pi={ok:"OK",cancel:"Zrušit",save:"Uložit",close:"Zavřít",delete:"Smazat",edit:"Upravit",add:"Přidat",remove:"Odebrat",search:"Hledat",filter:"Filtrovat",refresh:"Obnovit",loading:"Načítání…",noData:"Žádná data",error:"Chyba",success:"Úspěch",warning:"Upozornění",info:"Informace",yes:"Ano",no:"Ne",confirm:"Potvrdit",back:"Zpět",next:"Další",previous:"Předchozí",finish:"Dokončit",submit:"Odeslat",reset:"Obnovit",apply:"Použít",undo:"Zpět",redo:"Znovu",copy:"Kopírovat",cut:"Vyjmout",paste:"Vložit",selectAll:"Vybrat vše",clear:"Vymazat",upload:"Nahrát",download:"Stáhnout",print:"Tisk",export:"Exportovat",import:"Importovat",settings:"Nastavení",help:"Nápověda",about:"O aplikaci",more:"Více",less:"Méně",show:"Zobrazit",hide:"Skrýt",expand:"Rozbalit",collapse:"Sbalit",enabled:"Povoleno",disabled:"Zakázáno",required:"Povinné",optional:"Volitelné",actions:"Akce",details:"Podrobnosti",overview:"Přehled",all:"Vše",none:"Žádné",selected:"Vybráno",total:"Celkem",of:"z",items:"položek",page:"Stránka",rows:"Řádky","app.name":"Aplikace","app.version":"Verze","app.about":"O aplikaci","nav.home":"Domů","nav.back":"Zpět","nav.forward":"Vpřed","nav.menu":"Menu","nav.sidebar":"Postranní panel","nav.search":"Hledat","nav.favorites":"Oblíbené","nav.recent":"Nedávné","nav.notifications":"Oznámení","nav.profile":"Profil","nav.logout":"Odhlásit se","carousel.prev":"Předchozí snímek","carousel.next":"Další snímek","carousel.slide":"Snímek","carousel.of":"z","carousel.autoplay":"Automatické přehrávání","carousel.pause":"Pozastavit","confirm.yes":"Ano","confirm.no":"Ne","confirm.ok":"OK","confirm.cancel":"Zrušit","confirm.title":"Potvrzení","confirm.deleteMessage":"Opravdu chcete smazat?","confirm.unsavedChanges":"Máte neuložené změny. Zahodit?","console.shell":"Příkazový řádek","console.terminal":"Terminál","console.prompt":"Zadejte příkaz…","console.clear":"Vymazat konzoli","console.run":"Spustit","console.output":"Výstup","console.newSession":"Nová relace","console.closeSession":"Zavřít relaci","controls.save":"Uložit","controls.cancel":"Zrušit","controls.delete":"Smazat","controls.edit":"Upravit","controls.add":"Přidat","controls.remove":"Odebrat","controls.close":"Zavřít","controls.open":"Otevřít","controls.refresh":"Obnovit","controls.new":"Nový","controls.duplicate":"Duplikovat","controls.sort":"Řadit","controls.group":"Seskupit","controls.pin":"Připnout","controls.unpin":"Odepnout","controls.lock":"Zamknout","controls.unlock":"Odemknout","controls.share":"Sdílet","controls.archive":"Archivovat","cookie.title":"Souhlas s cookies","cookie.message":"Tento web používá cookies pro zlepšení vašeho zážitku.","cookie.accept":"Přijmout vše","cookie.reject":"Odmítnout vše","cookie.settings":"Nastavení cookies","cookie.necessary":"Nezbytné","cookie.analytics":"Analytické","cookie.marketing":"Marketingové","dashboard.title":"Nástěnka","dashboard.addWidget":"Přidat widget","dashboard.removeWidget":"Odebrat widget","dashboard.layout":"Rozložení","dashboard.settings":"Nastavení","dashboard.customize":"Přizpůsobit","dashboard.resetLayout":"Obnovit rozložení","datetime.today":"Dnes","datetime.yesterday":"Včera","datetime.tomorrow":"Zítra","datetime.selectDate":"Vybrat datum","datetime.selectTime":"Vybrat čas","datetime.startDate":"Datum zahájení","datetime.endDate":"Datum ukončení","datetime.startTime":"Čas zahájení","datetime.endTime":"Čas ukončení","datetime.am":"dop.","datetime.pm":"odp.","desktop.start":"Start","desktop.taskbar":"Hlavní panel","desktop.systemTray":"Systémová lišta","desktop.wallpaper":"Tapeta","desktop.icons":"Ikony plochy","desktop.arrangeIcons":"Uspořádat ikony","dock.pin":"Připnout na dock","dock.unpin":"Odepnout z docku","dock.close":"Zavřít","dock.minimize":"Minimalizovat","dock.maximize":"Maximalizovat","dock.restore":"Obnovit","docEditor.paragraph":"Odstavec","docEditor.heading":"Nadpis","docEditor.heading1":"Nadpis 1","docEditor.heading2":"Nadpis 2","docEditor.heading3":"Nadpis 3","docEditor.bulletList":"Odrážkový seznam","docEditor.numberedList":"Číslovaný seznam","docEditor.quote":"Citace","docEditor.code":"Blok kódu","docEditor.divider":"Oddělovač","docEditor.image":"Obrázek","docEditor.table":"Tabulka","docEditor.callout":"Upozornění","docEditor.placeholder":"Začněte psát…","docEditor.slashCommand":"Napište / pro příkazy","files.upload":"Nahrát soubor","files.download":"Stáhnout","files.delete":"Smazat soubor","files.rename":"Přejmenovat","files.newFolder":"Nová složka","files.selectFile":"Vybrat soubor","files.dropzone":"Přetáhněte soubory sem","files.dragDrop":"Přetáhněte soubory sem nebo klikněte","files.maxSize":"Maximální velikost souboru","files.fileType":"Typ souboru","forms.required":"Toto pole je povinné","forms.optional":"Volitelné","forms.submit":"Odeslat","forms.reset":"Obnovit","forms.validate":"Ověřit","forms.invalid":"Neplatná hodnota","forms.minLength":"Minimální délka: {0}","forms.maxLength":"Maximální délka: {0}","forms.email":"Zadejte platný e-mail","forms.phone":"Zadejte platné telefonní číslo","imageEditor.crop":"Oříznout","imageEditor.rotate":"Otočit","imageEditor.flip":"Překlopit","imageEditor.resize":"Změnit velikost","imageEditor.filter":"Filtr","imageEditor.draw":"Kreslit","imageEditor.text":"Text","imageEditor.undo":"Zpět","imageEditor.redo":"Znovu","imageEditor.save":"Uložit","imageEditor.brightness":"Jas","imageEditor.contrast":"Kontrast","imageEditor.saturation":"Sytost","inbox.compose":"Napsat","inbox.reply":"Odpovědět","inbox.replyAll":"Odpovědět všem","inbox.forward":"Přeposlat","inbox.delete":"Smazat","inbox.archive":"Archivovat","inbox.markRead":"Označit jako přečtené","inbox.markUnread":"Označit jako nepřečtené","inbox.folders":"Složky","inbox.inbox":"Doručená pošta","inbox.sent":"Odeslaná pošta","inbox.drafts":"Koncepty","inbox.trash":"Koš","inbox.spam":"Spam","inbox.starred":"S hvězdičkou","inbox.to":"Komu","inbox.cc":"Kopie","inbox.bcc":"Skrytá kopie","inbox.subject":"Předmět","inbox.send":"Odeslat","inbox.discard":"Zahodit","inbox.attachFile":"Připojit soubor","kanban.addCard":"Přidat kartu","kanban.addColumn":"Přidat sloupec","kanban.moveCard":"Přesunout kartu","kanban.editCard":"Upravit kartu","kanban.deleteCard":"Smazat kartu","kanban.editColumn":"Upravit sloupec","kanban.deleteColumn":"Smazat sloupec","lang.en":"Angličtina","lang.pl":"Polština","lang.de":"Němčina","lang.fr":"Francouzština","lang.es":"Španělština","lang.it":"Italština","lang.pt":"Portugalština","lang.nl":"Nizozemština","lang.sv":"Švédština","lang.no":"Norština","lang.da":"Dánština","lang.fi":"Finština","lang.cs":"Čeština","lang.sk":"Slovenčina","lang.hu":"Maďarština","lang.ro":"Rumunština","lang.bg":"Bulharština","lang.uk":"Ukrajinčina","lang.ja":"Japonština","lang.ko":"Korejština","lang.zh":"Čínština","lang.ar":"Arabština","login.username":"Uživatelské jméno","login.password":"Heslo","login.signIn":"Přihlásit se","login.signOut":"Odhlásit se","login.forgotPassword":"Zapomenuté heslo?","login.register":"Registrovat se","login.rememberMe":"Zapamatovat si mě","login.newPassword":"Nové heslo","login.confirmPassword":"Potvrdit heslo","login.twoFactor":"Dvoufaktorové ověření","password.strength":"Síla hesla","password.weak":"Slabé","password.medium":"Střední","password.strong":"Silné","password.requirements":"Požadavky na heslo","pdfviewer.page":"Stránka","pdfviewer.of":"z","pdfviewer.zoom":"Přiblížení","pdfviewer.fitPage":"Přizpůsobit stránce","pdfviewer.fitWidth":"Přizpůsobit šířce","pdfviewer.download":"Stáhnout","pdfviewer.print":"Tisk","pdfviewer.search":"Hledat v dokumentu","pdfviewer.bookmark":"Záložky","pdfviewer.thumbnail":"Miniatury","picklist.available":"Dostupné","picklist.selected":"Vybrané","picklist.addAll":"Přidat vše","picklist.removeAll":"Odebrat vše","picklist.filter":"Filtrovat položky","scheduling.calendar":"Kalendář","scheduling.event":"Událost","scheduling.allDay":"Celý den","scheduling.today":"Dnes","scheduling.week":"Týden","scheduling.month":"Měsíc","scheduling.year":"Rok","scheduling.day":"Den","scheduling.agenda":"Program","scheduling.addEvent":"Přidat událost","scheduling.editEvent":"Upravit událost","scheduling.deleteEvent":"Smazat událost","scheduling.noEvents":"Žádné události","shortcuts.title":"Klávesové zkratky","shortcuts.description":"Dostupné zkratky","shortcuts.key":"Klávesa","shortcuts.command":"Příkaz","shortcuts.search":"Hledat zkratky","signature.clear":"Vymazat","signature.save":"Uložit","signature.sign":"Podepište zde","signature.draw":"Nakreslete svůj podpis","spreadsheet.cell":"Buňka","spreadsheet.row":"Řádek","spreadsheet.column":"Sloupec","spreadsheet.formula":"Vzorec","spreadsheet.insert":"Vložit","spreadsheet.delete":"Smazat","spreadsheet.sort":"Řadit","spreadsheet.sortAsc":"Řadit vzestupně","spreadsheet.sortDesc":"Řadit sestupně","spreadsheet.filter":"Filtrovat","spreadsheet.export":"Exportovat","spreadsheet.import":"Importovat","spreadsheet.addRow":"Přidat řádek","spreadsheet.addColumn":"Přidat sloupec","spreadsheet.deleteRow":"Smazat řádek","spreadsheet.deleteColumn":"Smazat sloupec","spreadsheet.freezeRow":"Ukotvit řádek","spreadsheet.freezeColumn":"Ukotvit sloupec","spreadsheet.merge":"Sloučit buňky","spreadsheet.unmerge":"Rozdělit buňky","terminal.run":"Spustit","terminal.clear":"Vymazat","terminal.copy":"Kopírovat","terminal.paste":"Vložit","terminal.newSession":"Nová relace","terminal.closeSession":"Zavřít relaci","terminal.selectAll":"Vybrat vše","theme.light":"Světlý","theme.dark":"Tmavý","theme.system":"Systém","theme.custom":"Vlastní","theme.colors":"Barvy","theme.fonts":"Písma","theme.apply":"Použít motiv","theme.preview":"Náhled","theme.reset":"Obnovit výchozí","theme.gallery":"Galerie motivů","users.profile":"Profil","users.settings":"Nastavení","users.permissions":"Oprávnění","users.role":"Role","users.active":"Aktivní","users.inactive":"Neaktivní","users.online":"Online","users.offline":"Offline","users.lastSeen":"Naposledy viděn","wm.close":"Zavřít","wm.minimize":"Minimalizovat","wm.maximize":"Maximalizovat","wm.restore":"Obnovit","wm.tile":"Dlaždice oken","wm.cascade":"Kaskáda oken","wm.closeAll":"Zavřít vše","wm.minimizeAll":"Minimalizovat vše","wm.newWindow":"Nové okno","wm.moveToFront":"Přenést dopředu"},Ti={ok:"OK",cancel:"Zrušiť",save:"Uložiť",close:"Zavrieť",delete:"Odstrániť",edit:"Upraviť",add:"Pridať",remove:"Odobrať",search:"Hľadať",filter:"Filtrovať",refresh:"Obnoviť",loading:"Načítava sa…",noData:"Žiadne dáta",error:"Chyba",success:"Úspech",warning:"Upozornenie",yes:"Áno",no:"Nie",confirm:"Potvrdiť",back:"Späť",next:"Ďalej",undo:"Späť",redo:"Znova",copy:"Kopírovať",paste:"Vložiť",settings:"Nastavenia",help:"Pomoc","nav.home":"Domov","nav.favorites":"Obľúbené","nav.logout":"Odhlásiť sa","login.username":"Používateľské meno","login.password":"Heslo","login.signIn":"Prihlásiť sa","theme.light":"Svetlý","theme.dark":"Tmavý","theme.system":"Systém","wm.close":"Zavrieť","wm.minimize":"Minimalizovať","wm.maximize":"Maximalizovať","wm.restore":"Obnoviť","lang.en":"Angličtina","lang.pl":"Poľština","lang.de":"Nemčina","lang.fr":"Francúzština","lang.es":"Španielčina","lang.it":"Taliančina","lang.pt":"Portugalčina","lang.nl":"Holandčina","lang.sv":"Švédčina","lang.no":"Nórčina","lang.da":"Dánčina","lang.fi":"Fínčina","lang.cs":"Čeština","lang.sk":"Slovenčina","lang.hu":"Maďarčina","lang.ro":"Rumunčina","lang.bg":"Bulharčina","lang.uk":"Ukrajinčina","lang.ja":"Japončina","lang.ko":"Kórejčina","lang.zh":"Čínština","lang.ar":"Arabčina"},Fi={ok:"OK",cancel:"Mégse",save:"Mentés",close:"Bezárás",delete:"Törlés",edit:"Szerkesztés",add:"Hozzáadás",remove:"Eltávolítás",search:"Keresés",filter:"Szűrés",refresh:"Frissítés",loading:"Betöltés…",noData:"Nincs adat",error:"Hiba",success:"Sikeres",warning:"Figyelmeztetés",yes:"Igen",no:"Nem",confirm:"Megerősítés",back:"Vissza",next:"Következő",undo:"Visszavonás",redo:"Újra",copy:"Másolás",paste:"Beillesztés",settings:"Beállítások",help:"Segítség","nav.home":"Főoldal","nav.favorites":"Kedvencek","nav.logout":"Kijelentkezés","login.username":"Felhasználónév","login.password":"Jelszó","login.signIn":"Bejelentkezés","theme.light":"Világos","theme.dark":"Sötét","theme.system":"Rendszer","wm.close":"Bezárás","wm.minimize":"Kis méret","wm.maximize":"Teljes méret","wm.restore":"Visszaállítás","lang.en":"Angol","lang.pl":"Lengyel","lang.de":"Német","lang.fr":"Francia","lang.es":"Spanyol","lang.it":"Olasz","lang.pt":"Portugál","lang.nl":"Holland","lang.sv":"Svéd","lang.no":"Norvég","lang.da":"Dán","lang.fi":"Finn","lang.cs":"Cseh","lang.sk":"Szlovák","lang.hu":"Magyar","lang.ro":"Román","lang.bg":"Bolgár","lang.uk":"Ukrán","lang.ja":"Japán","lang.ko":"Koreai","lang.zh":"Kínai","lang.ar":"Arab"},Bi={ok:"OK",cancel:"Anulare",save:"Salvare",close:"Închide",delete:"Șterge",edit:"Editare",add:"Adaugă",remove:"Elimină",search:"Căutare",filter:"Filtrare",refresh:"Actualizare",loading:"Se încarcă…",noData:"Fără date",error:"Eroare",success:"Succes",warning:"Avertisment",yes:"Da",no:"Nu",confirm:"Confirmă",back:"Înapoi",next:"Următor",settings:"Setări",help:"Ajutor","nav.home":"Acasă","nav.favorites":"Favorite","nav.logout":"Deconectare","login.username":"Utilizator","login.password":"Parolă","login.signIn":"Autentificare","theme.light":"Luminos","theme.dark":"Întunecat","theme.system":"Sistem","lang.en":"Engleză","lang.pl":"Poloneză","lang.de":"Germană","lang.fr":"Franceză","lang.es":"Spaniolă","lang.it":"Italiană","lang.pt":"Portugheză","lang.nl":"Olandeză","lang.sv":"Suedeză","lang.no":"Norvegiană","lang.da":"Daneză","lang.fi":"Finlandeză","lang.cs":"Cehă","lang.sk":"Slovacă","lang.hu":"Maghiară","lang.ro":"Română","lang.bg":"Bulgară","lang.uk":"Ucraineană","lang.ja":"Japoneză","lang.ko":"Coreeană","lang.zh":"Chineză","lang.ar":"Arabă"},Ni={ok:"OK",cancel:"Отказ",save:"Запис",close:"Затвори",delete:"Изтрий",edit:"Редактирай",add:"Добави",remove:"Премахни",search:"Търси",filter:"Филтрирай",refresh:"Обнови",loading:"Зареждане…",noData:"Няма данни",error:"Грешка",success:"Успех",warning:"Предупреждение",yes:"Да",no:"Не",confirm:"Потвърди",back:"Назад",next:"Напред",settings:"Настройки",help:"Помощ","nav.home":"Начало","nav.favorites":"Любими","nav.logout":"Изход","login.username":"Потребителско име","login.password":"Парола","login.signIn":"Вход","theme.light":"Светла","theme.dark":"Тъмна","theme.system":"Системна","lang.en":"Английски","lang.pl":"Полски","lang.de":"Немски","lang.fr":"Френски","lang.es":"Испански","lang.it":"Италиански","lang.pt":"Португалски","lang.nl":"Нидерландски","lang.sv":"Шведски","lang.no":"Норвежки","lang.da":"Датски","lang.fi":"Фински","lang.cs":"Чешки","lang.sk":"Словашки","lang.hu":"Унгарски","lang.ro":"Румънски","lang.bg":"Български","lang.uk":"Украински","lang.ja":"Японски","lang.ko":"Корейски","lang.zh":"Китайски","lang.ar":"Арабски"},Ri={ok:"OK",cancel:"Скасувати",save:"Зберегти",close:"Закрити",delete:"Видалити",edit:"Редагувати",add:"Додати",remove:"Прибрати",search:"Пошук",filter:"Фільтрувати",refresh:"Оновити",loading:"Завантаження…",noData:"Немає даних",error:"Помилка",success:"Успіх",warning:"Попередження",info:"Інформація",yes:"Так",no:"Ні",confirm:"Підтвердити",back:"Назад",next:"Далі",previous:"Попередній",finish:"Завершити",submit:"Надіслати",reset:"Скинути",apply:"Застосувати",undo:"Скасувати",redo:"Повторити",copy:"Копіювати",cut:"Вирізати",paste:"Вставити",selectAll:"Вибрати все",clear:"Очистити",upload:"Завантажити",download:"Завантажити",print:"Друкувати",export:"Експортувати",import:"Імпортувати",settings:"Налаштування",help:"Допомога",about:"Про програму",more:"Більше",less:"Менше",show:"Показати",hide:"Приховати",expand:"Розгорнути",collapse:"Згорнути",enabled:"Увімкнено",disabled:"Вимкнено",required:"Обов'язково",optional:"Необов'язково",actions:"Дії",details:"Деталі",overview:"Огляд",all:"Всі",none:"Немає",selected:"Обрано",total:"Всього",of:"з",items:"елементів",page:"Сторінка",rows:"Рядки","app.name":"Додаток","app.version":"Версія","app.about":"Про програму","nav.home":"Головна","nav.back":"Назад","nav.forward":"Вперед","nav.menu":"Меню","nav.sidebar":"Бічна панель","nav.search":"Пошук","nav.favorites":"Обране","nav.recent":"Нещодавнє","nav.notifications":"Сповіщення","nav.profile":"Профіль","nav.logout":"Вийти","carousel.prev":"Попередній слайд","carousel.next":"Наступний слайд","carousel.slide":"Слайд","carousel.of":"з","carousel.autoplay":"Автопрогравання","carousel.pause":"Пауза","confirm.yes":"Так","confirm.no":"Ні","confirm.ok":"OK","confirm.cancel":"Скасувати","confirm.title":"Підтвердження","confirm.deleteMessage":"Ви впевнені, що хочете видалити?","confirm.unsavedChanges":"Незбережені зміни. Відхилити?","console.shell":"Оболонка","console.terminal":"Термінал","console.prompt":"Введіть команду…","console.clear":"Очистити консоль","console.run":"Виконати","console.output":"Вивід","console.newSession":"Нова сесія","console.closeSession":"Закрити сесію","controls.save":"Зберегти","controls.cancel":"Скасувати","controls.delete":"Видалити","controls.edit":"Редагувати","controls.add":"Додати","controls.remove":"Видалити","controls.close":"Закрити","controls.open":"Відкрити","controls.refresh":"Оновити","controls.new":"Новий","controls.duplicate":"Дублювати","controls.sort":"Сортувати","controls.group":"Групувати","controls.pin":"Закріпити","controls.unpin":"Відкріпити","controls.lock":"Заблокувати","controls.unlock":"Розблокувати","controls.share":"Поділитися","controls.archive":"Архівувати","cookie.title":"Згода на cookies","cookie.message":"Цей сайт використовує cookies.","cookie.accept":"Прийняти всі","cookie.reject":"Відхилити всі","cookie.settings":"Налаштування cookies","cookie.necessary":"Необхідні","cookie.analytics":"Аналітичні","cookie.marketing":"Маркетингові","dashboard.title":"Панель керування","dashboard.addWidget":"Додати віджет","dashboard.removeWidget":"Видалити віджет","dashboard.layout":"Макет","dashboard.settings":"Налаштування","dashboard.customize":"Налаштувати","dashboard.resetLayout":"Скинути макет","datetime.today":"Сьогодні","datetime.yesterday":"Вчора","datetime.tomorrow":"Завтра","datetime.selectDate":"Вибрати дату","datetime.selectTime":"Вибрати час","datetime.startDate":"Дата початку","datetime.endDate":"Дата закінчення","datetime.startTime":"Час початку","datetime.endTime":"Час закінчення","datetime.am":"ДП","datetime.pm":"ПП","desktop.start":"Пуск","desktop.taskbar":"Панель завдань","desktop.systemTray":"Системний лоток","desktop.wallpaper":"Шпалери","desktop.icons":"Значки робочого столу","desktop.arrangeIcons":"Упорядкувати значки","dock.pin":"Закріпити на док-панелі","dock.unpin":"Відкріпити від док-панелі","dock.close":"Закрити","dock.minimize":"Згорнути","dock.maximize":"Розгорнути","dock.restore":"Відновити","docEditor.paragraph":"Абзац","docEditor.heading":"Заголовок","docEditor.heading1":"Заголовок 1","docEditor.heading2":"Заголовок 2","docEditor.heading3":"Заголовок 3","docEditor.bulletList":"Маркований список","docEditor.numberedList":"Нумерований список","docEditor.quote":"Цитата","docEditor.code":"Блок коду","docEditor.divider":"Роздільник","docEditor.image":"Зображення","docEditor.table":"Таблиця","docEditor.callout":"Виноска","docEditor.placeholder":"Почніть писати…","docEditor.slashCommand":"Введіть / для команд","files.upload":"Завантажити файл","files.download":"Завантажити","files.delete":"Видалити файл","files.rename":"Перейменувати","files.newFolder":"Нова папка","files.selectFile":"Вибрати файл","files.dropzone":"Перетягніть файли сюди","files.dragDrop":"Перетягніть файли або натисніть","files.maxSize":"Максимальний розмір файлу","files.fileType":"Тип файлу","forms.required":"Це поле обов'язкове","forms.optional":"Необов'язково","forms.submit":"Надіслати","forms.reset":"Скинути","forms.validate":"Перевірити","forms.invalid":"Недійсне значення","forms.minLength":"Мінімальна довжина: {0}","forms.maxLength":"Максимальна довжина: {0}","forms.email":"Введіть дійсну електронну пошту","forms.phone":"Введіть дійсний номер телефону","imageEditor.crop":"Обрізати","imageEditor.rotate":"Повернути","imageEditor.flip":"Відобразити","imageEditor.resize":"Змінити розмір","imageEditor.filter":"Фільтр","imageEditor.draw":"Малювати","imageEditor.text":"Текст","imageEditor.undo":"Скасувати","imageEditor.redo":"Повторити","imageEditor.save":"Зберегти","imageEditor.brightness":"Яскравість","imageEditor.contrast":"Контрастність","imageEditor.saturation":"Насиченість","inbox.compose":"Написати","inbox.reply":"Відповісти","inbox.replyAll":"Відповісти всім","inbox.forward":"Переслати","inbox.delete":"Видалити","inbox.archive":"Архівувати","inbox.markRead":"Позначити як прочитане","inbox.markUnread":"Позначити як непрочитане","inbox.folders":"Папки","inbox.inbox":"Вхідні","inbox.sent":"Надіслані","inbox.drafts":"Чернетки","inbox.trash":"Кошик","inbox.spam":"Спам","inbox.starred":"Позначені","inbox.to":"Кому","inbox.cc":"Копія","inbox.bcc":"Прихована копія","inbox.subject":"Тема","inbox.send":"Надіслати","inbox.discard":"Скасувати","inbox.attachFile":"Прикріпити файл","kanban.addCard":"Додати картку","kanban.addColumn":"Додати колонку","kanban.moveCard":"Перемістити картку","kanban.editCard":"Редагувати картку","kanban.deleteCard":"Видалити картку","kanban.editColumn":"Редагувати колонку","kanban.deleteColumn":"Видалити колонку","lang.en":"Англійська","lang.pl":"Польська","lang.de":"Німецька","lang.fr":"Французька","lang.es":"Іспанська","lang.it":"Італійська","lang.pt":"Португальська","lang.nl":"Нідерландська","lang.sv":"Шведська","lang.no":"Норвезька","lang.da":"Данська","lang.fi":"Фінська","lang.cs":"Чеська","lang.sk":"Словацька","lang.hu":"Угорська","lang.ro":"Румунська","lang.bg":"Болгарська","lang.uk":"Українська","lang.ja":"Японська","lang.ko":"Корейська","lang.zh":"Китайська","lang.ar":"Арабська","login.username":"Ім'я користувача","login.password":"Пароль","login.signIn":"Увійти","login.signOut":"Вийти","login.forgotPassword":"Забули пароль?","login.register":"Зареєструватися","login.rememberMe":"Запам'ятати мене","login.newPassword":"Новий пароль","login.confirmPassword":"Підтвердити пароль","login.twoFactor":"Двофакторна автентифікація","password.strength":"Надійність пароля","password.weak":"Слабкий","password.medium":"Середній","password.strong":"Сильний","password.requirements":"Вимоги до пароля","pdfviewer.page":"Сторінка","pdfviewer.of":"з","pdfviewer.zoom":"Масштаб","pdfviewer.fitPage":"За розміром сторінки","pdfviewer.fitWidth":"За шириною","pdfviewer.download":"Завантажити","pdfviewer.print":"Друкувати","pdfviewer.search":"Пошук у документі","pdfviewer.bookmark":"Закладки","pdfviewer.thumbnail":"Мініатюри","picklist.available":"Доступні","picklist.selected":"Обрані","picklist.addAll":"Додати всі","picklist.removeAll":"Видалити всі","picklist.filter":"Фільтрувати елементи","scheduling.calendar":"Календар","scheduling.event":"Подія","scheduling.allDay":"Весь день","scheduling.today":"Сьогодні","scheduling.week":"Тиждень","scheduling.month":"Місяць","scheduling.year":"Рік","scheduling.day":"День","scheduling.agenda":"Порядок денний","scheduling.addEvent":"Додати подію","scheduling.editEvent":"Редагувати подію","scheduling.deleteEvent":"Видалити подію","scheduling.noEvents":"Немає подій","shortcuts.title":"Гарячі клавіші","shortcuts.description":"Доступні гарячі клавіші","shortcuts.key":"Клавіша","shortcuts.command":"Команда","shortcuts.search":"Пошук гарячих клавіш","signature.clear":"Очистити","signature.save":"Зберегти","signature.sign":"Підпишіть тут","signature.draw":"Намалюйте підпис","spreadsheet.cell":"Клітинка","spreadsheet.row":"Рядок","spreadsheet.column":"Колонка","spreadsheet.formula":"Формула","spreadsheet.insert":"Вставити","spreadsheet.delete":"Видалити","spreadsheet.sort":"Сортувати","spreadsheet.sortAsc":"За зростанням","spreadsheet.sortDesc":"За спаданням","spreadsheet.filter":"Фільтрувати","spreadsheet.export":"Експортувати","spreadsheet.import":"Імпортувати","spreadsheet.addRow":"Додати рядок","spreadsheet.addColumn":"Додати колонку","spreadsheet.deleteRow":"Видалити рядок","spreadsheet.deleteColumn":"Видалити колонку","spreadsheet.freezeRow":"Закріпити рядок","spreadsheet.freezeColumn":"Закріпити колонку","spreadsheet.merge":"Об'єднати клітинки","spreadsheet.unmerge":"Роз'єднати клітинки","terminal.run":"Виконати","terminal.clear":"Очистити","terminal.copy":"Копіювати","terminal.paste":"Вставити","terminal.newSession":"Нова сесія","terminal.closeSession":"Закрити сесію","terminal.selectAll":"Вибрати все","theme.light":"Світла","theme.dark":"Темна","theme.system":"Системна","theme.custom":"Власна","theme.colors":"Кольори","theme.fonts":"Шрифти","theme.apply":"Застосувати тему","theme.preview":"Попередній перегляд","theme.reset":"Скинути","theme.gallery":"Галерея тем","users.profile":"Профіль","users.settings":"Налаштування","users.permissions":"Дозволи","users.role":"Роль","users.active":"Активний","users.inactive":"Неактивний","users.online":"Онлайн","users.offline":"Офлайн","users.lastSeen":"Востаннє бачено","wm.close":"Закрити","wm.minimize":"Згорнути","wm.maximize":"Розгорнути","wm.restore":"Відновити","wm.tile":"Вікна плиткою","wm.cascade":"Вікна каскадом","wm.closeAll":"Закрити всі","wm.minimizeAll":"Згорнути всі","wm.newWindow":"Нове вікно","wm.moveToFront":"На передній план","tutorial.play":"Відтворити","tutorial.pause":"Пауза","tutorial.speed":"Швидкість","tutorial.close":"Закрити","tutorial.start":"Посібник","tutorial.startAria":"Запустити посібник","tutorial.next":"Далі","tutorial.back":"Назад","tutorial.finish":"Завершити","tutorial.skip":"Пропустити","tutorial.stepOf":"з","tutorial.moduleEditor.browser.title":"Браузер модулів","tutorial.moduleEditor.browser.content":"Виберіть тут модуль, щоб відкрити його маніфест, сутності та переклади.","tutorial.moduleEditor.validate.title":"Перевірити","tutorial.moduleEditor.validate.content":"Перевірте модуль за схемою маніфесту. Проблеми з’являються в рядку стану та у виводі.","tutorial.moduleEditor.save.title":"Зберегти","tutorial.moduleEditor.save.content":"Збережіть зміни через налаштований постачальник даних (напр., запис файлів назад на диск).","tutorial.manifestEditor.intro.title":"Редактор маніфесту","tutorial.manifestEditor.intro.content":"Редагуйте маніфест у розділах на основі схеми. Перемикайте Форма ⇄ JSON для кожного розділу; перевірка з’являється в рядку стану.","tutorial.schemaForm.intro.title":"Форма за схемою","tutorial.schemaForm.intro.content":"Ця форма генерується зі схеми. Обов’язкові поля та помилки перевірки підсвічуються; використовуйте перемикач JSON для прямого редагування.","tutorial.entityEditor.intro.title":"Редактор сутностей","tutorial.entityEditor.intro.content":"Додавайте сутності ліворуч, а праворуч редагуйте метадані кожної сутності та її поля (тип, ключі, обмеження).","tutorial.i18nEditor.intro.title":"Переклади","tutorial.i18nEditor.intro.content":"Редагуйте переклади як таблицю ключі × мови. Додавайте ключі та мови; бурштинові клітинки позначають відсутні переклади.","tutorial.formBuilder.intro.title":"Конструктор форм","tutorial.formBuilder.intro.content":"Перетягуйте поля з палітри на полотно та налаштовуйте кожне поле на панелі властивостей. Експортуйте схему, коли завершите.","tutorial.formDesigner.intro.title":"Дизайнер форм","tutorial.formDesigner.intro.content":"Проєктуйте форми введення даних із розділами, полями пошуку та обчислюваними полями; прив’яжіть їх до сутності та переглядайте наживо.","tutorial.paymentProviderConfig.intro.title":"Платіжний провайдер","tutorial.paymentProviderConfig.intro.content":"Виберіть провайдера, заповніть облікові дані (секрети приховуються), виберіть тест/робочий режим, увімкніть методи та скопіюйте URL вебхука.","tutorial.webhookTester.intro.title":"Тестер вебхуків","tutorial.webhookTester.intro.content":"Виберіть збережене корисне навантаження (або напишіть своє), за потреби підпишіть його, надішліть на endpoint і перегляньте відповідь.","tutorial.apiDesigner.intro.title":"Дизайнер API","tutorial.apiDesigner.intro.content":"Визначте endpoint-и, параметри, схеми запиту/відповіді та безпеку вашого документа OpenAPI.","tutorial.apiTester.intro.title":"Тестер API","tutorial.apiTester.intro.content":"Створюйте запити з колекціями та змінними середовища, надсилайте їх і перевіряйте відповіді.","tutorial.integrationBuilder.intro.title":"Конструктор інтеграцій","tutorial.integrationBuilder.intro.content":"З’єднайте потік вузлів (тригери → дії → обробка помилок), щоб побудувати інтеграцію.","tutorial.scriptRunner.intro.title":"Запуск скриптів","tutorial.scriptRunner.intro.content":"Напишіть скрипт і приклад вхідних даних, натисніть «Виконати» та перегляньте результат і зібрані журнали нижче.","tutorial.lifecycleHooks.intro.title":"Хуки життєвого циклу","tutorial.lifecycleHooks.intro.content":"Прив’яжіть обробники до кожного тригера, задайте їхній порядок і прапорець активації та додайте необов’язкову умову, що керує виконанням.","tutorial.revisionHistory.intro.title":"Історія версій","tutorial.revisionHistory.intro.content":"Виберіть версію, виберіть іншу для порівняння, перегляньте відмінності поряд і за потреби відновіть попередню версію.","tutorial.markdownEditor.intro.title":"Редактор Markdown","tutorial.markdownEditor.intro.content":"Пишіть Markdown за допомогою панелі форматування; увімкніть попередній перегляд наживо, щоб бачити результат, і експортуйте у HTML.","tutorial.htmlEditor.intro.title":"Редактор форматованого тексту","tutorial.htmlEditor.intro.content":"Форматуйте текст за допомогою панелі інструментів, вставляйте посилання, зображення й таблиці та за потреби переходьте до коду HTML або Markdown.","tutorial.documentEditor.intro.title":"Редактор документів","tutorial.documentEditor.intro.content":"Складайте документ із блоків: використовуйте панель інструментів або slash-команди, щоб додавати заголовки, списки, медіа тощо, і експортуйте у HTML.","tutorial.codeEditor.intro.title":"Редактор коду","tutorial.codeEditor.intro.content":"Редагуйте код із підсвічуванням синтаксису, IntelliSense та панеллю інструментів. Ctrl+S зберігає; рядок стану показує позицію курсора та проблеми.","tutorial.kanbanBoard.intro.title":"Дошка Kanban","tutorial.kanbanBoard.intro.content":"Перетягуйте картки між колонками, щоб змінити їхній статус, додавайте картки кнопкою «+» та клацніть картку, щоб редагувати її деталі.","tutorial.queryBuilder.intro.title":"Конструктор запитів","tutorial.queryBuilder.intro.content":"Додавайте таблиці, обирайте стовпці та візуально визначайте з’єднання, умови й сортування — SQL генерується автоматично. Перейдіть на вкладку SQL, щоб переглянути його.","tutorial.stateDesigner.intro.title":"Дизайнер стану","tutorial.stateDesigner.intro.content":"Змоделюйте сховище як зрізи з полями та діями, виберіть ціль (напр., Zustand) і експортуйте готовий код керування станом.","tutorial.componentDesigner.intro.title":"Дизайнер компонентів","tutorial.componentDesigner.intro.content":"Назвіть компонент, оголосіть його props із типами та вимогами й переглядайте згенерований інтерфейс TypeScript наживо.","tutorial.pageBuilder.intro.title":"Конструктор сторінок","tutorial.pageBuilder.intro.content":"Перетягуйте компоненти з бічної панелі на адаптивну сітку, перемикайте перегляд для комп’ютера/планшета/мобільного та зберігайте макет.","tutorial.lowCodeStudio.intro.title":"Студія low-code","tutorial.lowCodeStudio.intro.content":"Перетягуйте компоненти з бічної панелі на полотно та перемикайтеся між вкладками «Дизайн», «Перегляд» і «Код», щоб створити та експортувати застосунок.","tutorial.testBuilder.intro.title":"Конструктор тестів","tutorial.testBuilder.intro.content":"Створюйте набори тестів візуально: додавайте випадки та кроки взаємодії з перевірками, запускайте їх і експортуйте у готовий файл .test.tsx.","tutorial.workflowDesigner.intro.title":"Дизайнер робочих процесів","tutorial.workflowDesigner.intro.content":"Додавайте стани й переходи на полотні, перевіряйте потік, симулюйте його, а потім тестуйте або публікуйте робочий процес.","tutorial.themeBuilder.intro.title":"Конструктор тем","tutorial.themeBuilder.intro.content":"Почніть із пресету, налаштовуйте кольори, типографіку та інші токени за розділами, переглядайте наживо, а потім застосуйте або експортуйте тему.","tutorial.filterBuilder.intro.title":"Конструктор фільтрів","tutorial.filterBuilder.intro.content":"Будуйте складні дерева фільтрів І/АБО: додавайте умови та вкладені групи, обирайте поля й оператори та зберігайте багаторазові пресети.","tutorial.diagramDesigner.intro.title":"Дизайнер діаграм","tutorial.diagramDesigner.intro.content":"Перетягуйте фігури з палітри на полотно, з’єднуйте їх конекторами, редагуйте властивості праворуч і експортуйте у SVG, PNG або JSON.","tutorial.reportBuilder.intro.title":"Конструктор звітів","tutorial.reportBuilder.intro.content":"Перетягуйте розділи у звіт, прив’язуйте їх до джерел даних, упорядковуйте макет і експортуйте у PDF, HTML або XLSX.","tutorial.erpReportDesigner.intro.title":"Дизайнер звітів","tutorial.erpReportDesigner.intro.content":"Проєктуйте стрічкові звіти: розміщуйте елементи (поля, вирази, діаграми) у стрічках, прив’язуйте з’єднання даних, редагуйте властивості, а потім переглядайте та експортуйте.","tutorial.recipeEditor.intro.title":"Редактор рецептів","tutorial.recipeEditor.intro.content":"Редагуйте деталі рецепта, додавайте та змінюйте порядок інгредієнтів і кроків, прикріплюйте фото та імпортуйте чи експортуйте рецепт як JSON.","tutorial.pipelineEditor.intro.title":"Редактор конвеєра","tutorial.pipelineEditor.intro.content":"Будуйте конвеєр CI/CD зі стадій, завдань і кроків; задавайте тригери, змінні та секрети; а потім перевіряйте, зберігайте та запускайте його.","tutorial.mergeRequestBuilder.intro.title":"Конструктор merge request","tutorial.mergeRequestBuilder.intro.content":"Виберіть гілки джерела й призначення, напишіть заголовок і опис, додайте рецензентів, мітки та пов’язані задачі, а потім перегляньте та надішліть.","tutorial.automationRuleEditor.intro.title":"Редактор правил автоматизації","tutorial.automationRuleEditor.intro.content":"Визначте тригер, додайте необов’язкові умови, а потім перелічіть дії для виконання — перемикайтеся між трьома розділами за допомогою вкладок.","tutorial.sceneActionBuilder.intro.title":"Конструктор дій сцени","tutorial.sceneActionBuilder.intro.content":"Додайте дію для кожного пристрою, задайте її цільовий стан і необов’язкову затримку, змініть порядок і перегляньте послідовність сцени.","tutorial.backupTagEditor.intro.title":"Теги резервної копії","tutorial.backupTagEditor.intro.content":"Позначте цю резервну копію тегами для зручного пошуку: введіть підпис і виберіть колір або додайте один із запропонованих тегів; автоматично створені теги захищені.","tutorial.dataMergeBuilder.intro.title":"Об’єднання даних","tutorial.dataMergeBuilder.intro.content":"Пройдіть кроки: виберіть гілки джерела й призначення, перегляньте зміни, вирішіть конфлікти, задайте параметри, а потім підтвердьте об’єднання.","tutorial.invoiceLineEditor.intro.title":"Рядки рахунка","tutorial.invoiceLineEditor.intro.content":"Додавайте позиції з кількістю, ціною за одиницю, ПДВ і знижкою — нетто, брутто та розбивку ПДВ обчислюються автоматично.","tutorial.keyValueEditor.intro.title":"Редактор ключ/значення","tutorial.keyValueEditor.intro.content":"Додавайте рядки ключ/значення для заголовків, параметрів, змінних середовища чи конфігурації; приховуйте секретні значення, вмикайте/вимикайте рядки та стежте за дублікатами ключів.","tutorial.imageEditor.intro.title":"Редактор зображень","tutorial.imageEditor.intro.content":"Використовуйте панель інструментів, щоб обрізати, обертати, віддзеркалювати, налаштовувати яскравість/контраст та робити позначки; скасовуйте/повторюйте зміни та зберігайте результат.","tutorial.cropEditor.intro.title":"Редактор обрізання","tutorial.cropEditor.intro.content":"Перетягніть рамку обрізання на зображення, виберіть співвідношення сторін, обертайте, віддзеркалюйте або масштабуйте, а потім використайте результат.","tutorial.pdfAnnotationEditor.intro.title":"Анотації PDF","tutorial.pdfAnnotationEditor.intro.content":"Виберіть інструмент на панелі (виділення, підкреслення, від руки, текст…), робіть позначки на сторінці, гортайте сторінки та масштабуйте за потреби.","tutorial.videoEditor.intro.title":"Відеоредактор","tutorial.videoEditor.intro.content":"Додавайте медіа на доріжки таймлайну, обрізайте та впорядковуйте кліпи, редагуйте їхні властивості, переглядайте відтворення, а потім експортуйте відео.","tutorial.viewBuilder.intro.title":"Конструктор подань","tutorial.viewBuilder.intro.content":"Перетягуйте елементи керування з палітри в клітинки сітки, налаштовуйте кожну клітинку на панелі властивостей та імпортуйте, експортуйте чи зберігайте подання.","tutorial.dashboardDesigner.intro.title":"Дизайнер дашбордів","tutorial.dashboardDesigner.intro.content":"Перетягуйте віджети з палітри на сітку, змінюйте їхній розмір і впорядковуйте, налаштовуйте кожен на панелі властивостей, а потім переглядайте або експортуйте дашборд.","tutorial.workflowDesignerCanvas.intro.title":"Дизайнер робочих процесів","tutorial.workflowDesignerCanvas.intro.content":"Додавайте на полотно вузли тригерів, дій та умов і з’єднуйте їх; керуйте змінними, перевіряйте потік, а потім експортуйте його.","tutorial.armatureEditor.intro.title":"Редактор скелета","tutorial.armatureEditor.intro.content":"Виберіть кістки, щоб редагувати їхні трансформації, додавайте або змінюйте батьківські кістки, налаштовуйте IK-ланцюги та зберігайте чи завантажуйте пози.","tutorial.morphTargetEditor.intro.title":"Редактор морф-цілей","tutorial.morphTargetEditor.intro.content":"Змішуйте морф-цілі сітки повзунками впливу для кожної цілі, створюйте чи видаляйте цілі та переглядайте інтерполяцію.","tutorial.terrainEditor.intro.title":"Редактор ландшафту","tutorial.terrainEditor.intro.content":"Скульптуруйте карту висот пензлями (підняти, опустити, вирівняти, згладити, шум), накладайте текстурні шари, генеруйте процедурний ландшафт та імпортуйте/експортуйте карти висот.","tutorial.materialEditor.intro.title":"Редактор матеріалів","tutorial.materialEditor.intro.content":"Будуйте шейдер як граф вузлів: перетягуйте вузли з палітри, з’єднуйте їхні порти, редагуйте властивості та переглядайте скомпільований матеріал.","tutorial.particleEditor.intro.title":"Редактор частинок","tutorial.particleEditor.intro.content":"Виберіть систему частинок, налаштуйте її емітер і модулі в інспекторі та відтворюйте, призупиняйте чи зупиняйте перегляд наживо.","tutorial.uvEditor.intro.title":"Редактор UV","tutorial.uvEditor.intro.content":"Редагуйте UV-розгортку сітки поверх текстури: виділяйте та трансформуйте UV інструментами, перемикайте UV-канали та застосовуйте зміни.","tutorial.fontEditor.intro.title":"Редактор шрифтів","tutorial.fontEditor.intro.content":"Редагуйте гліфи на сітці Unicode, налаштовуйте метрики шрифту, контури та відступи для кожного гліфа, а потім експортуйте шрифт.","tutorial.iconEditor.intro.title":"Редактор іконок","tutorial.iconEditor.intro.content":"Малюйте та редагуйте SVG-фігури на сітці, налаштовуйте параметри обведення та варіанта, переглядайте на різних фонах та експортуйте у SVG, React або PNG.","tutorial.uiDesigner.intro.title":"Дизайнер інтерфейсу","tutorial.uiDesigner.intro.content":"Перетягуйте компоненти з палітри на полотно, редагуйте їхні props на панелі, переглядайте адаптивні breakpoint-и та експортуйте у React/TSX.","tutorial.gameEditor.intro.title":"Редактор гри","tutorial.gameEditor.intro.content":"Будуйте сцену у вікні перегляду за допомогою панелей ієрархії та ресурсів, налаштовуйте сутності в інспекторі та зберігайте проєкт.","tutorial.levelEditor.intro.title":"Редактор рівнів","tutorial.levelEditor.intro.content":"Будуйте ігровий світ: розміщуйте та прив’язуйте об’єкти за шарами, малюйте ландшафт, розставляйте сплайни й світло, а потім запікайте карти освітлення.","tutorial.gameMaterialEditor.intro.title":"Редактор матеріалів","tutorial.gameMaterialEditor.intro.content":"Створіть шейдер як граф вузлів: додавайте та з’єднуйте вузли шейдера, редагуйте їхні властивості та компілюйте матеріал.","tutorial.gameParticleEditor.intro.title":"Редактор частинок","tutorial.gameParticleEditor.intro.content":"Налаштуйте систему частинок в інспекторі — емітер, час життя, криві та рендеринг — і відтворюйте, призупиняйте чи перезапускайте перегляд наживо.","tutorial.floorPlanEditor.intro.title":"Редактор планів приміщень","tutorial.floorPlanEditor.intro.content":"Малюйте кімнати та зони інструментами, розміщуйте пристрої на плані, перемикайте поверхи та вмикайте накладки, як-от розміри, сітку й заповненість.","tutorial.buildingSceneEditor.intro.title":"Редактор сцен","tutorial.buildingSceneEditor.intro.content":"Створюйте сцени, що налаштовують кілька пристроїв одночасно: виберіть сцену, задайте цільові стани пристроїв, а потім збережіть чи активуйте її.","tutorial.buildingAutomationEditor.intro.title":"Редактор автоматизації","tutorial.buildingAutomationEditor.intro.content":"Створюйте автоматизації будівлі: виберіть одну зі списку, визначте її тригери, умови та дії, а потім збережіть, увімкніть чи видаліть її.","tutorial.spatialEditor.intro.title":"Просторовий редактор","tutorial.spatialEditor.intro.content":"Проєктуйте плани в різних режимах: малюйте стіни, кімнати й об’єкти інструментами, керуйте шарами, прив’язуйте до сітки, а потім експортуйте.","tutorial.decisionTreeEditor.intro.title":"Редактор дерева рішень","tutorial.decisionTreeEditor.intro.content":"Досліджуйте дерево рішень: клацайте вузли, щоб переглянути умови й результати, вмикайте метрики, ймовірності та вибірки й підсвічуйте шлях для заданого входу.","tutorial.diagramEditor.intro.title":"Редактор діаграм","tutorial.diagramEditor.intro.content":"Виберіть інструмент, щоб додавати та з’єднувати вузли на полотні, редагуйте їх на панелі властивостей та експортуйте діаграму з панелі інструментів.","tutorial.contractEditor.intro.title":"Редактор договорів","tutorial.contractEditor.intro.content":"Складайте договір із бібліотеки пунктів, заповнюйте змінні шаблону, відстежуйте версії та погодження, а потім зберігайте чи експортуйте у PDF/DOCX/HTML.","tutorial.invoiceDesigner.intro.title":"Дизайнер рахунків","tutorial.invoiceDesigner.intro.content":"Перетягуйте елементи на полотно рахунка, прив’язуйте їх до полів даних, вирівнюйте за сіткою та лінійками, а потім зберігайте чи експортуйте у PDF.","tutorial.presentationEditor.intro.title":"Редактор презентацій","tutorial.presentationEditor.intro.content":"Створюйте слайди зі стрічки мініатюр, додавайте та впорядковуйте елементи на полотні, редагуйте їх на панелі властивостей, а потім демонструйте чи експортуйте.","tutorial.dashboardStudio.intro.title":"Студія дашбордів","tutorial.dashboardStudio.intro.content":"Перетягуйте віджети з палітри на сітку, прив’язуйте їх до джерел даних, додавайте фільтри, а потім перемикайте «Редагування/Перегляд», оновлюйте та зберігайте.","tutorial.biReportBuilder.intro.title":"Конструктор звітів","tutorial.biReportBuilder.intro.content":"Перетягуйте елементи з палітри у звіт, прив’язуйте їх до джерел даних, перемикайтеся між дизайном/переглядом та експортуйте у PDF або Excel.","tutorial.etlBuilder.intro.title":"Конструктор ETL","tutorial.etlBuilder.intro.content":"З’єднайте джерела → перетворення → призначення в конвеєр, перемикайте подання, а потім запустіть його та збережіть конфігурацію.","tutorial.videoEditorPro.intro.title":"Відеоредактор","tutorial.videoEditorPro.intro.content":"Додавайте медіа на таймлайн, упорядковуйте та обрізайте кліпи, застосовуйте ефекти й переходи, а потім налаштуйте та запустіть експорт.","tutorial.mlStudio.intro.title":"Студія ML","tutorial.mlStudio.intro.content":"Проходьте по вкладках: готуйте набори даних, запускайте експерименти, порівнюйте та обирайте моделі, а потім розгортайте найкращу.","tutorial.mathEditor.intro.title":"Математичний редактор","tutorial.mathEditor.intro.content":"Пишіть рівняння у LaTeX або вставляйте символи з палітри; перемикайтеся на рукописне введення та переглядайте відрендерену формулу наживо.","tutorial.dmxEditor.intro.title":"Редактор DMX","tutorial.dmxEditor.intro.content":"Виберіть пристрій FTDI та порт, а потім задавайте значення кожного каналу DMX повзунками, щоб керувати освітлювальними приладами наживо.","nav.help":"Довідка","navShell.home.title":"Головна","navShell.help.next":"Далі","navShell.help.back":"Назад","navShell.help.finish":"Завершити","navShell.help.skip":"Пропустити","navShell.help.stepOf":"з","navShell.help.topNav.title":"Верхня навігація","navShell.help.topNav.body":"Використовуйте верхню панель, щоб перемикати робочі простори, шукати, змінювати тему чи мову та відкривати сповіщення.","navShell.help.sidebar.title":"Бічна панель","navShell.help.sidebar.body":"Переглядайте доступні подання, згруповані за розділами. Виберіть подання, щоб відкрити його в новій вкладці.","navShell.help.tabs.title":"Вкладки","navShell.help.tabs.body":"Кожне відкрите подання живе в окремій вкладці. Закріплюйте часто використовувані та клацайте правою кнопкою для додаткових дій.","navShell.help.content.title":"Робочий простір","navShell.help.content.body":"Головна область показує активне подання. Перемикання вкладок або записів бічної панелі змінює вміст тут.","navShell.home.subtitle":"Продовжте з того місця, де зупинилися.","navShell.home.empty":"Відкрийте подання з бічної панелі або вкладок угорі, щоб заповнити робочий простір.","navShell.home.greeting.morning":"Доброго ранку","navShell.home.greeting.afternoon":"Доброго дня","navShell.home.greeting.evening":"Доброго вечора","navShell.home.greeting.night":"Вітаємо","navShell.home.sections.openTabs":"Зараз відкрито","navShell.home.sections.shortcuts":"Ваші ярлики","navShell.home.sections.allViews":"Усі подання","sidebar.menu.open":"Відкрити","sidebar.menu.openNewTab":"Відкрити в новій вкладці","sidebar.menu.openBrowserTab":"Відкрити в новій вкладці браузера","sidebar.menu.pinFavorite":"Додати до обраного","sidebar.menu.unpinFavorite":"Прибрати з обраного","sidebar.menu.hide":"Сховати","sidebar.menu.copyLink":"Скопіювати посилання","sidebar.menu.pinSource":"Закріпити джерело","sidebar.menu.unpinSource":"Відкріпити джерело","sidebar.menu.hideSource":"Сховати джерело","sidebar.prefs.general":"Загальні","sidebar.prefs.display":"Відображення","sidebar.prefs.order":"Порядок","sidebar.prefs.hidden":"Приховані елементи","sidebar.prefs.reset":"Скинути","sidebar.prefs.general.title":"Загальні","sidebar.prefs.general.desc":"Поведінка дерева бічної панелі та що робить лівий клік.","sidebar.prefs.general.autoExpand":"Автоматично розгортати всі гілки","sidebar.prefs.general.autoExpandHint":"Коли вимкнено, гілки спочатку згорнуті та запам’ятовують останній стан для сеансу.","sidebar.prefs.general.leftClickBehavior":"Поведінка лівого кліку","sidebar.prefs.general.focusExisting":"Перейти до наявної вкладки","sidebar.prefs.general.openNew":"Завжди відкривати в новій вкладці","sidebar.prefs.general.leftClickHint":"Правий клік → «Відкрити в новій вкладці» завжди доступний, незалежно від цього налаштування.","sidebar.prefs.display.title":"Відображення","sidebar.prefs.display.desc":"Які режими з’являються в смузі та наскільки глибоко сягає дерево в кожному режимі.","sidebar.prefs.display.enableModeIcons":"Показувати іконки перемикача режимів","sidebar.prefs.display.enabledModes":"Видимі режими","sidebar.prefs.display.preferencesAlwaysOn":"«Налаштування» показуються завжди.","sidebar.prefs.display.maxDepth":"Глибина дерева для кожного режиму","sidebar.prefs.order.title":"Упорядкувати елементи","sidebar.prefs.order.desc":"Перетягуйте елементи, щоб змінити порядок їх відображення у вибраному режимі.","sidebar.prefs.order.pickMode":"Режим","sidebar.prefs.order.visibilityHint":"Порядок застосовується до елементів верхнього рівня в кожній групі джерела. Згорніть заголовок джерела, щоб під час перевірки зміни бачити лише елементи верхнього рівня.","sidebar.prefs.order.empty":"У цьому режимі немає елементів для впорядкування.","sidebar.prefs.order.resetMode":"Скинути до типового порядку","sidebar.prefs.hidden.title":"Приховані елементи","sidebar.prefs.hidden.desc":"Елементи, які ви сховали з дерева. Відновіть їх, щоб повернути.","sidebar.prefs.hidden.empty":"Поки нічого не приховано.","sidebar.prefs.hidden.restore":"Відновити","sidebar.prefs.reset.title":"Скинути","sidebar.prefs.reset.desc":"Очистити всі налаштування та відновити початковий вигляд бічної панелі.","sidebar.prefs.reset.button":"Скинути всі налаштування","sidebar.prefs.reset.confirm":"Це зітре ваше обране, приховані елементи, власний порядок та всі інші налаштування бічної панелі. Цю дію не можна скасувати.","sidebar.prefs.reset.confirmYes":"Так, скинути все","sidebar.prefs.reset.cancel":"Скасувати","noCode.title":"Студія No-Code","noCode.description":"Створюйте застосунки візуально","noCode.newProject":"Новий проєкт","noCode.openProject":"Відкрити проєкт","noCode.saveProject":"Зберегти проєкт","noCode.exportProject":"Експортувати проєкт","noCode.importProject":"Імпортувати проєкт","noCode.projectName":"Назва проєкту","noCode.projectSettings":"Налаштування проєкту","noCode.recentProjects":"Останні проєкти","noCode.templates":"Шаблони","noCode.preview":"Перегляд","noCode.codeView":"Перегляд коду","noCode.splitView":"Розділений перегляд","noCode.visualView":"Візуальний перегляд","noCode.generate":"Згенерувати код","noCode.deploy":"Розгорнути","noCode.componentDesigner.title":"Дизайнер компонентів","noCode.componentDesigner.newComponent":"Новий компонент","noCode.componentDesigner.componentName":"Назва компонента","noCode.componentDesigner.addProp":"Додати prop","noCode.componentDesigner.editProp":"Редагувати prop","noCode.componentDesigner.deleteProp":"Видалити prop","noCode.componentDesigner.propName":"Назва prop","noCode.componentDesigner.propType":"Тип prop","noCode.componentDesigner.propRequired":"Обов’язкова","noCode.componentDesigner.propDefault":"Значення за замовчуванням","noCode.componentDesigner.addState":"Додати стан","noCode.componentDesigner.stateName":"Назва стану","noCode.componentDesigner.stateType":"Тип стану","noCode.componentDesigner.stateDefault":"Початкове значення","noCode.componentDesigner.addHook":"Додати hook","noCode.componentDesigner.hooks":"Hooks","noCode.componentDesigner.template":"Шаблон","noCode.componentDesigner.styles":"Стилі","noCode.componentDesigner.events":"Події","noCode.componentDesigner.palette":"Палітра компонентів","noCode.componentDesigner.dragDrop":"Перетягніть компоненти сюди","noCode.pageBuilder.title":"Конструктор сторінок","noCode.pageBuilder.newPage":"Нова сторінка","noCode.pageBuilder.pageName":"Назва сторінки","noCode.pageBuilder.pageRoute":"Шлях маршруту","noCode.pageBuilder.addSection":"Додати розділ","noCode.pageBuilder.editSection":"Редагувати розділ","noCode.pageBuilder.deleteSection":"Видалити розділ","noCode.pageBuilder.sectionLayout":"Макет розділу","noCode.pageBuilder.columns":"Стовпці","noCode.pageBuilder.responsive":"Адаптивний","noCode.pageBuilder.mobile":"Мобільний","noCode.pageBuilder.tablet":"Планшет","noCode.pageBuilder.desktop":"Комп’ютер","noCode.pageBuilder.showGrid":"Показати сітку","noCode.pageBuilder.hideGrid":"Сховати сітку","noCode.pageBuilder.metadata":"Метадані сторінки","noCode.pageBuilder.seo":"Налаштування SEO","noCode.stateDesigner.title":"Дизайнер стану","noCode.stateDesigner.newStore":"Нове сховище","noCode.stateDesigner.storeName":"Назва сховища","noCode.stateDesigner.storeType":"Тип сховища","noCode.stateDesigner.addState":"Додати поле стану","noCode.stateDesigner.addAction":"Додати дію","noCode.stateDesigner.editAction":"Редагувати дію","noCode.stateDesigner.deleteAction":"Видалити дію","noCode.stateDesigner.actionName":"Назва дії","noCode.stateDesigner.actionParams":"Параметри","noCode.stateDesigner.actionBody":"Тіло дії","noCode.stateDesigner.asyncAction":"Асинхронна дія","noCode.stateDesigner.addSelector":"Додати селектор","noCode.stateDesigner.selectorName":"Назва селектора","noCode.stateDesigner.selectorBody":"Логіка селектора","noCode.stateDesigner.persistence":"Збереження","noCode.stateDesigner.devtools":"DevTools","noCode.apiFlow.title":"Дизайнер потоків API","noCode.apiFlow.newEndpoint":"Новий endpoint","noCode.apiFlow.endpointUrl":"URL endpoint-а","noCode.apiFlow.method":"HTTP-метод","noCode.apiFlow.headers":"Заголовки","noCode.apiFlow.body":"Тіло запиту","noCode.apiFlow.response":"Відповідь","noCode.apiFlow.auth":"Автентифікація","noCode.apiFlow.authType":"Тип автентифікації","noCode.apiFlow.bearerToken":"Bearer-токен","noCode.apiFlow.apiKey":"Ключ API","noCode.apiFlow.testEndpoint":"Тестувати endpoint","noCode.apiFlow.mockResponse":"Імітована відповідь","noCode.apiFlow.errorHandling":"Обробка помилок","noCode.apiFlow.retry":"Політика повторів","noCode.apiFlow.cache":"Кешування","noCode.dataMapper.title":"Маппер даних","noCode.dataMapper.sourceSchema":"Схема джерела","noCode.dataMapper.targetSchema":"Схема призначення","noCode.dataMapper.addMapping":"Додати зіставлення","noCode.dataMapper.editMapping":"Редагувати зіставлення","noCode.dataMapper.deleteMapping":"Видалити зіставлення","noCode.dataMapper.sourceField":"Поле джерела","noCode.dataMapper.targetField":"Поле призначення","noCode.dataMapper.transform":"Перетворення","noCode.dataMapper.validation":"Перевірка","noCode.dataMapper.testData":"Тестові дані","noCode.dataMapper.preview":"Переглянути результат","noCode.dataMapper.autoMap":"Автозіставлення","noCode.eventOrchestrator.title":"Оркестратор подій","noCode.eventOrchestrator.newFlow":"Новий потік подій","noCode.eventOrchestrator.flowName":"Назва потоку","noCode.eventOrchestrator.trigger":"Тригер","noCode.eventOrchestrator.triggerType":"Тип тригера","noCode.eventOrchestrator.addHandler":"Додати обробник","noCode.eventOrchestrator.editHandler":"Редагувати обробник","noCode.eventOrchestrator.deleteHandler":"Видалити обробник","noCode.eventOrchestrator.handlerName":"Назва обробника","noCode.eventOrchestrator.debounce":"Debounce","noCode.eventOrchestrator.throttle":"Throttle","noCode.eventOrchestrator.delay":"Затримка","noCode.eventOrchestrator.condition":"Умова","noCode.eventOrchestrator.chain":"Ланцюжок подій","noCode.testBuilder.title":"Конструктор тестів","noCode.testBuilder.newTest":"Новий тест","noCode.testBuilder.testName":"Назва тесту","noCode.testBuilder.testDescription":"Опис","noCode.testBuilder.addScenario":"Додати сценарій","noCode.testBuilder.editScenario":"Редагувати сценарій","noCode.testBuilder.deleteScenario":"Видалити сценарій","noCode.testBuilder.addAssertion":"Додати перевірку","noCode.testBuilder.assertionType":"Тип перевірки","noCode.testBuilder.expected":"Очікуване значення","noCode.testBuilder.actual":"Фактичне значення","noCode.testBuilder.mock":"Налаштування mock","noCode.testBuilder.runTests":"Запустити тести","noCode.testBuilder.testsPassed":"Тести пройдено","noCode.testBuilder.testsFailed":"Тести не пройдено","noCode.testBuilder.coverage":"Покриття","noCode.testBuilder.accessibility":"Перевірка доступності","noCode.codeTemplate.title":"Шаблони коду","noCode.codeTemplate.newTemplate":"Новий шаблон","noCode.codeTemplate.templateName":"Назва шаблону","noCode.codeTemplate.templateEngine":"Рушій шаблонів","noCode.codeTemplate.variables":"Змінні","noCode.codeTemplate.addVariable":"Додати змінну","noCode.codeTemplate.variableName":"Назва змінної","noCode.codeTemplate.variableType":"Тип змінної","noCode.codeTemplate.variableDefault":"Значення за замовчуванням","noCode.codeTemplate.generateFiles":"Згенерувати файли","noCode.codeTemplate.outputPath":"Шлях виводу","noCode.codeTemplate.presets":"Пресети","noCode.codeTemplate.presetReact":"Компонент React","noCode.codeTemplate.presetNextPage":"Сторінка Next.js","noCode.codeTemplate.presetHook":"Власний hook","noCode.codeTemplate.presetStore":"Модуль сховища","noCode.codePreview.title":"Перегляд коду","noCode.codePreview.showDiff":"Показати відмінності","noCode.codePreview.hideDiff":"Сховати відмінності","noCode.codePreview.copyCode":"Скопіювати код","noCode.codePreview.downloadCode":"Завантажити код","noCode.codePreview.importCode":"Імпортувати код","noCode.codePreview.language":"Мова","noCode.codePreview.format":"Форматувати код","noCode.codePreview.linesChanged":"Змінені рядки","noCode.codePreview.noChanges":"Без змін","vectorEditor.menu.file":"Файл","vectorEditor.menu.edit":"Редагувати","vectorEditor.menu.object":"Об’єкт","vectorEditor.menu.path":"Контур","vectorEditor.menu.view":"Вигляд","vectorEditor.menu.newCanvas":"Нове полотно","vectorEditor.menu.openSvg":"Відкрити SVG…","vectorEditor.menu.pasteSvg":"Вставити SVG…","vectorEditor.menu.exportSvg":"Експортувати SVG","vectorEditor.menu.exportPng":"Експортувати PNG","vectorEditor.menu.exportJpg":"Експортувати JPG","vectorEditor.menu.exportWebp":"Експортувати WebP","vectorEditor.menu.exportBmp":"Експортувати BMP","vectorEditor.menu.saveToLibrary":"📦 Зберегти в бібліотеку","vectorEditor.menu.exportIconSnippet":"📋 Експортувати фрагмент іконки","vectorEditor.menu.exportIcon":"📋 Експортувати іконку","vectorEditor.menu.undo":"Скасувати (Ctrl+Z)","vectorEditor.menu.redo":"Повторити (Ctrl+Y)","vectorEditor.menu.copy":"Копіювати (Ctrl+C)","vectorEditor.menu.paste":"Вставити (Ctrl+V)","vectorEditor.menu.duplicate":"Дублювати (Ctrl+D)","vectorEditor.menu.delete":"Видалити (Del)","vectorEditor.menu.bringToFront":"На передній план","vectorEditor.menu.sendToBack":"На задній план","vectorEditor.menu.flipH":"Віддзеркалити горизонтально","vectorEditor.menu.flipV":"Віддзеркалити вертикально","vectorEditor.menu.alignLeft":"Вирівняти ліворуч","vectorEditor.menu.alignCenter":"Вирівняти по центру","vectorEditor.menu.alignRight":"Вирівняти праворуч","vectorEditor.menu.union":"Об’єднання (∪)","vectorEditor.menu.subtract":"Віднімання (−)","vectorEditor.menu.intersect":"Перетин (∩)","vectorEditor.menu.exclude":"Виключення (⊕)","vectorEditor.menu.outlineStroke":"Контур обведення","vectorEditor.menu.snapToGrid":"Прив’язати до сітки","vectorEditor.menu.snap":"Прив’язка","vectorEditor.menu.secondShape":"2-га фігура","vectorEditor.tabs.properties":"Властивості","vectorEditor.tabs.layers":"Шари","vectorEditor.tabs.library":"Бібліотека","vectorEditor.tabs.timeline":"Таймлайн","vectorEditor.timeline.preset":"Пресет","vectorEditor.timeline.duration":"Тривалість (мс)","vectorEditor.timeline.repeat":"Повтор","vectorEditor.timeline.direction":"Напрямок","vectorEditor.timeline.remove":"Видалити анімацію","vectorEditor.timeline.play":"Відтворити","vectorEditor.timeline.pause":"Пауза","vectorEditor.timeline.stop":"Зупинити","vectorEditor.timeline.copyCss":"Скопіювати CSS","vectorEditor.timeline.keyframes":"Ключові кадри","vectorEditor.timeline.addKeyframe":"+ Додати ключовий кадр","vectorEditor.timeline.noSelection":"Виберіть фігуру для анімації.","vectorEditor.timeline.animationTitle":"Анімація","vectorEditor.timeline.playbackTitle":"Відтворення","vectorEditor.timeline.attachHint":"Виберіть фігуру, щоб додати анімацію.","vectorEditor.timeline.playLabel":"▶ Відтворити","vectorEditor.timeline.pauseLabel":"⏸ Пауза","vectorEditor.timeline.stopLabel":"⏹ Зупинити","vectorEditor.timeline.copyCssKeyframes":"📋 Скопіювати CSS keyframes","vectorEditor.timeline.tLabel":"t","vectorEditor.layers.empty":"Поки немає шарів. Використовуйте інструменти для малювання або вставте з вкладки «Бібліотека».","vectorEditor.layers.moveUp":"Підняти","vectorEditor.layers.moveDown":"Опустити","vectorEditor.library.passProp":"Передайте prop library у NiceVectorEditor, щоб заповнити цю вкладку іконками для вставлення.","vectorEditor.statusBar.zoom":"Масштаб","vectorEditor.statusBar.shapes":"фігур(и)","vectorEditor.statusBar.selected":"Вибрано","vectorEditor.statusBar.snap":"Прив’язка","vectorEditor.library.empty":"У бібліотеці немає іконок.","vectorEditor.snippet.title":"✅ Фрагмент іконки скопійовано в буфер обміну","vectorEditor.snippet.pasteHint":"Вставити в","vectorEditor.snippet.copyAgain":"Скопіювати ще раз","vectorEditor.snippet.close":"Закрити","vectorEditor.properties.appearance":"Вигляд","vectorEditor.properties.fill":"Заливка","vectorEditor.properties.solid":"Суцільний","vectorEditor.properties.gradient":"Градієнт","vectorEditor.properties.hideEditor":"▼ Сховати редактор","vectorEditor.properties.editGradient":"► Редагувати градієнт","vectorEditor.properties.type":"Тип","vectorEditor.properties.linear":"Лінійний","vectorEditor.properties.radial":"Радіальний","vectorEditor.properties.angle":"Кут","vectorEditor.properties.cx":"CX","vectorEditor.properties.cy":"CY","vectorEditor.properties.r":"R","vectorEditor.properties.colorStops":"Точки кольору:","vectorEditor.properties.addStop":"+ Додати точку","vectorEditor.properties.removeStop":"- Видалити","vectorEditor.properties.stroke":"Обведення","vectorEditor.properties.width":"Товщина","vectorEditor.properties.opacity":"Прозорість","vectorEditor.properties.rotation":"Обертання","vectorEditor.properties.toolOptions":"Параметри інструмента","vectorEditor.properties.radius":"Радіус","vectorEditor.properties.sides":"Сторони","vectorEditor.properties.points":"Точки","vectorEditor.properties.innerR":"Внутрішній R","vectorEditor.properties.size":"Розмір","vectorEditor.properties.font":"Шрифт","vectorEditor.properties.grid":"Сітка","vectorEditor.properties.transform":"Перетворення","vectorEditor.properties.x":"X","vectorEditor.properties.y":"Y","vectorEditor.properties.w":"Ш","vectorEditor.properties.h":"В","vectorEditor.layers.title":"Шари","vectorEditor.layers.show":"Показати","vectorEditor.layers.hide":"Сховати","vectorEditor.layers.lock":"Заблокувати","vectorEditor.layers.unlock":"Розблокувати"},Li={ok:"OK",cancel:"キャンセル",save:"保存",close:"閉じる",delete:"削除",edit:"編集",add:"追加",remove:"削除",search:"検索",filter:"フィルター",refresh:"更新",loading:"読み込み中…",noData:"データなし",error:"エラー",success:"成功",warning:"警告",info:"情報",yes:"はい",no:"いいえ",confirm:"確認",back:"戻る",next:"次へ",previous:"前へ",finish:"完了",submit:"送信",reset:"リセット",apply:"適用",undo:"元に戻す",redo:"やり直す",copy:"コピー",cut:"切り取り",paste:"貼り付け",selectAll:"すべて選択",clear:"クリア",upload:"アップロード",download:"ダウンロード",print:"印刷",export:"エクスポート",import:"インポート",settings:"設定",help:"ヘルプ",about:"バージョン情報",more:"もっと見る",less:"閉じる",show:"表示",hide:"非表示",expand:"展開",collapse:"折りたたむ",enabled:"有効",disabled:"無効",required:"必須",optional:"任意",actions:"アクション",details:"詳細",overview:"概要",all:"すべて",none:"なし",selected:"選択済み",total:"合計",of:"/",items:"件",page:"ページ",rows:"行","app.name":"アプリケーション","app.version":"バージョン","app.about":"バージョン情報","nav.home":"ホーム","nav.back":"戻る","nav.forward":"進む","nav.menu":"メニュー","nav.sidebar":"サイドバー","nav.search":"検索","nav.favorites":"お気に入り","nav.recent":"最近","nav.notifications":"通知","nav.profile":"プロフィール","nav.logout":"ログアウト","carousel.prev":"前のスライド","carousel.next":"次のスライド","carousel.slide":"スライド","carousel.of":"/","carousel.autoplay":"自動再生","carousel.pause":"一時停止","confirm.yes":"はい","confirm.no":"いいえ","confirm.ok":"OK","confirm.cancel":"キャンセル","confirm.title":"確認","confirm.deleteMessage":"本当に削除しますか?","confirm.unsavedChanges":"未保存の変更があります。破棄しますか?","console.shell":"シェル","console.terminal":"ターミナル","console.prompt":"コマンドを入力…","console.clear":"コンソールをクリア","console.run":"実行","console.output":"出力","console.newSession":"新しいセッション","console.closeSession":"セッションを閉じる","controls.save":"保存","controls.cancel":"キャンセル","controls.delete":"削除","controls.edit":"編集","controls.add":"追加","controls.remove":"削除","controls.close":"閉じる","controls.open":"開く","controls.refresh":"更新","controls.new":"新規","controls.duplicate":"複製","controls.sort":"並べ替え","controls.group":"グループ化","controls.pin":"ピン留め","controls.unpin":"ピン留め解除","controls.lock":"ロック","controls.unlock":"ロック解除","controls.share":"共有","controls.archive":"アーカイブ","cookie.title":"Cookieの同意","cookie.message":"このサイトではCookieを使用しています。","cookie.accept":"すべて許可","cookie.reject":"すべて拒否","cookie.settings":"Cookie設定","cookie.necessary":"必須","cookie.analytics":"分析","cookie.marketing":"マーケティング","dashboard.title":"ダッシュボード","dashboard.addWidget":"ウィジェットを追加","dashboard.removeWidget":"ウィジェットを削除","dashboard.layout":"レイアウト","dashboard.settings":"設定","dashboard.customize":"カスタマイズ","dashboard.resetLayout":"レイアウトをリセット","datetime.today":"今日","datetime.yesterday":"昨日","datetime.tomorrow":"明日","datetime.selectDate":"日付を選択","datetime.selectTime":"時刻を選択","datetime.startDate":"開始日","datetime.endDate":"終了日","datetime.startTime":"開始時刻","datetime.endTime":"終了時刻","datetime.am":"午前","datetime.pm":"午後","desktop.start":"スタート","desktop.taskbar":"タスクバー","desktop.systemTray":"システムトレイ","desktop.wallpaper":"壁紙","desktop.icons":"デスクトップアイコン","desktop.arrangeIcons":"アイコンの整列","dock.pin":"ドックに固定","dock.unpin":"ドックから外す","dock.close":"閉じる","dock.minimize":"最小化","dock.maximize":"最大化","dock.restore":"復元","docEditor.paragraph":"段落","docEditor.heading":"見出し","docEditor.heading1":"見出し1","docEditor.heading2":"見出し2","docEditor.heading3":"見出し3","docEditor.bulletList":"箇条書き","docEditor.numberedList":"番号付きリスト","docEditor.quote":"引用","docEditor.code":"コードブロック","docEditor.divider":"区切り線","docEditor.image":"画像","docEditor.table":"テーブル","docEditor.callout":"注意書き","docEditor.placeholder":"入力を開始…","docEditor.slashCommand":"/でコマンド入力","files.upload":"ファイルをアップロード","files.download":"ダウンロード","files.delete":"ファイルを削除","files.rename":"名前を変更","files.newFolder":"新しいフォルダー","files.selectFile":"ファイルを選択","files.dropzone":"ここにファイルをドロップ","files.dragDrop":"ファイルをドラッグ&ドロップまたはクリック","files.maxSize":"最大ファイルサイズ","files.fileType":"ファイルの種類","forms.required":"この項目は必須です","forms.optional":"任意","forms.submit":"送信","forms.reset":"リセット","forms.validate":"検証","forms.invalid":"無効な値","forms.minLength":"最小文字数: {0}","forms.maxLength":"最大文字数: {0}","forms.email":"有効なメールアドレスを入力してください","forms.phone":"有効な電話番号を入力してください","imageEditor.crop":"トリミング","imageEditor.rotate":"回転","imageEditor.flip":"反転","imageEditor.resize":"サイズ変更","imageEditor.filter":"フィルター","imageEditor.draw":"描画","imageEditor.text":"テキスト","imageEditor.undo":"元に戻す","imageEditor.redo":"やり直す","imageEditor.save":"保存","imageEditor.brightness":"明るさ","imageEditor.contrast":"コントラスト","imageEditor.saturation":"彩度","inbox.compose":"作成","inbox.reply":"返信","inbox.replyAll":"全員に返信","inbox.forward":"転送","inbox.delete":"削除","inbox.archive":"アーカイブ","inbox.markRead":"既読にする","inbox.markUnread":"未読にする","inbox.folders":"フォルダー","inbox.inbox":"受信トレイ","inbox.sent":"送信済み","inbox.drafts":"下書き","inbox.trash":"ゴミ箱","inbox.spam":"スパム","inbox.starred":"スター付き","inbox.to":"宛先","inbox.cc":"CC","inbox.bcc":"BCC","inbox.subject":"件名","inbox.send":"送信","inbox.discard":"破棄","inbox.attachFile":"ファイルを添付","kanban.addCard":"カードを追加","kanban.addColumn":"列を追加","kanban.moveCard":"カードを移動","kanban.editCard":"カードを編集","kanban.deleteCard":"カードを削除","kanban.editColumn":"列を編集","kanban.deleteColumn":"列を削除","lang.en":"英語","lang.pl":"ポーランド語","lang.de":"ドイツ語","lang.fr":"フランス語","lang.es":"スペイン語","lang.it":"イタリア語","lang.pt":"ポルトガル語","lang.nl":"オランダ語","lang.sv":"スウェーデン語","lang.no":"ノルウェー語","lang.da":"デンマーク語","lang.fi":"フィンランド語","lang.cs":"チェコ語","lang.sk":"スロバキア語","lang.hu":"ハンガリー語","lang.ro":"ルーマニア語","lang.bg":"ブルガリア語","lang.uk":"ウクライナ語","lang.ja":"日本語","lang.ko":"韓国語","lang.zh":"中国語","lang.ar":"アラビア語","login.username":"ユーザー名","login.password":"パスワード","login.signIn":"サインイン","login.signOut":"サインアウト","login.forgotPassword":"パスワードをお忘れですか?","login.register":"新規登録","login.rememberMe":"ログイン状態を保持","login.newPassword":"新しいパスワード","login.confirmPassword":"パスワードの確認","login.twoFactor":"二要素認証","password.strength":"パスワード強度","password.weak":"弱い","password.medium":"普通","password.strong":"強い","password.requirements":"パスワード要件","pdfviewer.page":"ページ","pdfviewer.of":"/","pdfviewer.zoom":"ズーム","pdfviewer.fitPage":"ページに合わせる","pdfviewer.fitWidth":"幅に合わせる","pdfviewer.download":"ダウンロード","pdfviewer.print":"印刷","pdfviewer.search":"ドキュメント内を検索","pdfviewer.bookmark":"ブックマーク","pdfviewer.thumbnail":"サムネイル","picklist.available":"利用可能","picklist.selected":"選択済み","picklist.addAll":"すべて追加","picklist.removeAll":"すべて削除","picklist.filter":"項目をフィルター","scheduling.calendar":"カレンダー","scheduling.event":"イベント","scheduling.allDay":"終日","scheduling.today":"今日","scheduling.week":"週","scheduling.month":"月","scheduling.year":"年","scheduling.day":"日","scheduling.agenda":"アジェンダ","scheduling.addEvent":"イベントを追加","scheduling.editEvent":"イベントを編集","scheduling.deleteEvent":"イベントを削除","scheduling.noEvents":"イベントなし","shortcuts.title":"キーボードショートカット","shortcuts.description":"利用可能なショートカット","shortcuts.key":"キー","shortcuts.command":"コマンド","shortcuts.search":"ショートカットを検索","signature.clear":"クリア","signature.save":"保存","signature.sign":"ここに署名","signature.draw":"署名を描いてください","spreadsheet.cell":"セル","spreadsheet.row":"行","spreadsheet.column":"列","spreadsheet.formula":"数式","spreadsheet.insert":"挿入","spreadsheet.delete":"削除","spreadsheet.sort":"並べ替え","spreadsheet.sortAsc":"昇順","spreadsheet.sortDesc":"降順","spreadsheet.filter":"フィルター","spreadsheet.export":"エクスポート","spreadsheet.import":"インポート","spreadsheet.addRow":"行を追加","spreadsheet.addColumn":"列を追加","spreadsheet.deleteRow":"行を削除","spreadsheet.deleteColumn":"列を削除","spreadsheet.freezeRow":"行を固定","spreadsheet.freezeColumn":"列を固定","spreadsheet.merge":"セルを結合","spreadsheet.unmerge":"セルの結合を解除","terminal.run":"実行","terminal.clear":"クリア","terminal.copy":"コピー","terminal.paste":"貼り付け","terminal.newSession":"新しいセッション","terminal.closeSession":"セッションを閉じる","terminal.selectAll":"すべて選択","theme.light":"ライト","theme.dark":"ダーク","theme.system":"システム","theme.custom":"カスタム","theme.colors":"色","theme.fonts":"フォント","theme.apply":"テーマを適用","theme.preview":"プレビュー","theme.reset":"デフォルトに戻す","theme.gallery":"テーマギャラリー","users.profile":"プロフィール","users.settings":"設定","users.permissions":"権限","users.role":"ロール","users.active":"アクティブ","users.inactive":"非アクティブ","users.online":"オンライン","users.offline":"オフライン","users.lastSeen":"最終ログイン","wm.close":"閉じる","wm.minimize":"最小化","wm.maximize":"最大化","wm.restore":"復元","wm.tile":"ウィンドウの並替","wm.cascade":"カスケード","wm.closeAll":"すべて閉じる","wm.minimizeAll":"すべて最小化","wm.newWindow":"新しいウィンドウ","wm.moveToFront":"最前面に移動"},Oi={ok:"확인",cancel:"취소",save:"저장",close:"닫기",delete:"삭제",edit:"편집",add:"추가",remove:"제거",search:"검색",filter:"필터",refresh:"새로고침",loading:"로딩 중…",noData:"데이터 없음",error:"오류",success:"성공",warning:"경고",info:"정보",yes:"예",no:"아니오",confirm:"확인",back:"뒤로",next:"다음",previous:"이전",finish:"완료",submit:"제출",reset:"초기화",apply:"적용",undo:"실행취소",redo:"다시실행",copy:"복사",cut:"잘라내기",paste:"붙여넣기",selectAll:"전체선택",clear:"지우기",upload:"업로드",download:"다운로드",print:"인쇄",export:"내보내기",import:"가져오기",settings:"설정",help:"도움말",about:"정보",more:"더보기",less:"줄이기",show:"표시",hide:"숨기기",expand:"펼치기",collapse:"접기",enabled:"활성",disabled:"비활성",required:"필수",optional:"선택사항",actions:"작업",details:"상세",overview:"개요",all:"전체",none:"없음",selected:"선택됨",total:"합계",of:"/",items:"개",page:"페이지",rows:"행","app.name":"애플리케이션","app.version":"버전","app.about":"정보","nav.home":"홈","nav.back":"뒤로","nav.forward":"앞으로","nav.menu":"메뉴","nav.sidebar":"사이드바","nav.search":"검색","nav.favorites":"즐겨찾기","nav.recent":"최근","nav.notifications":"알림","nav.profile":"프로필","nav.logout":"로그아웃","carousel.prev":"이전 슬라이드","carousel.next":"다음 슬라이드","carousel.slide":"슬라이드","carousel.of":"/","carousel.autoplay":"자동재생","carousel.pause":"일시정지","confirm.yes":"예","confirm.no":"아니오","confirm.ok":"확인","confirm.cancel":"취소","confirm.title":"확인","confirm.deleteMessage":"정말 삭제하시겠습니까?","confirm.unsavedChanges":"저장되지 않은 변경사항이 있습니다. 취소하시겠습니까?","console.shell":"셸","console.terminal":"터미널","console.prompt":"명령어 입력…","console.clear":"콘솔 지우기","console.run":"실행","console.output":"출력","console.newSession":"새 세션","console.closeSession":"세션 닫기","controls.save":"저장","controls.cancel":"취소","controls.delete":"삭제","controls.edit":"편집","controls.add":"추가","controls.remove":"제거","controls.close":"닫기","controls.open":"열기","controls.refresh":"새로고침","controls.new":"새로 만들기","controls.duplicate":"복제","controls.sort":"정렬","controls.group":"그룹화","controls.pin":"고정","controls.unpin":"고정 해제","controls.lock":"잠금","controls.unlock":"잠금 해제","controls.share":"공유","controls.archive":"보관","cookie.title":"쿠키 동의","cookie.message":"이 사이트는 쿠키를 사용합니다.","cookie.accept":"모두 허용","cookie.reject":"모두 거부","cookie.settings":"쿠키 설정","cookie.necessary":"필수","cookie.analytics":"분석","cookie.marketing":"마케팅","dashboard.title":"대시보드","dashboard.addWidget":"위젯 추가","dashboard.removeWidget":"위젯 제거","dashboard.layout":"레이아웃","dashboard.settings":"설정","dashboard.customize":"사용자 정의","dashboard.resetLayout":"레이아웃 초기화","datetime.today":"오늘","datetime.yesterday":"어제","datetime.tomorrow":"내일","datetime.selectDate":"날짜 선택","datetime.selectTime":"시간 선택","datetime.startDate":"시작일","datetime.endDate":"종료일","datetime.startTime":"시작 시간","datetime.endTime":"종료 시간","datetime.am":"오전","datetime.pm":"오후","desktop.start":"시작","desktop.taskbar":"작업 표시줄","desktop.systemTray":"시스템 트레이","desktop.wallpaper":"배경화면","desktop.icons":"바탕화면 아이콘","desktop.arrangeIcons":"아이콘 정렬","dock.pin":"독에 고정","dock.unpin":"독에서 해제","dock.close":"닫기","dock.minimize":"최소화","dock.maximize":"최대화","dock.restore":"복원","docEditor.paragraph":"단락","docEditor.heading":"제목","docEditor.heading1":"제목 1","docEditor.heading2":"제목 2","docEditor.heading3":"제목 3","docEditor.bulletList":"글머리 기호 목록","docEditor.numberedList":"번호 매기기 목록","docEditor.quote":"인용","docEditor.code":"코드 블록","docEditor.divider":"구분선","docEditor.image":"이미지","docEditor.table":"표","docEditor.callout":"설명","docEditor.placeholder":"입력 시작…","docEditor.slashCommand":"/로 명령 입력","files.upload":"파일 업로드","files.download":"다운로드","files.delete":"파일 삭제","files.rename":"이름 변경","files.newFolder":"새 폴더","files.selectFile":"파일 선택","files.dropzone":"여기에 파일을 드롭하세요","files.dragDrop":"파일을 드래그 앤 드롭하거나 클릭","files.maxSize":"최대 파일 크기","files.fileType":"파일 유형","forms.required":"이 항목은 필수입니다","forms.optional":"선택사항","forms.submit":"제출","forms.reset":"초기화","forms.validate":"검증","forms.invalid":"잘못된 값","forms.minLength":"최소 길이: {0}","forms.maxLength":"최대 길이: {0}","forms.email":"유효한 이메일을 입력하세요","forms.phone":"유효한 전화번호를 입력하세요","imageEditor.crop":"자르기","imageEditor.rotate":"회전","imageEditor.flip":"뒤집기","imageEditor.resize":"크기 조정","imageEditor.filter":"필터","imageEditor.draw":"그리기","imageEditor.text":"텍스트","imageEditor.undo":"실행취소","imageEditor.redo":"다시실행","imageEditor.save":"저장","imageEditor.brightness":"밝기","imageEditor.contrast":"대비","imageEditor.saturation":"채도","inbox.compose":"작성","inbox.reply":"답장","inbox.replyAll":"전체 답장","inbox.forward":"전달","inbox.delete":"삭제","inbox.archive":"보관","inbox.markRead":"읽음으로 표시","inbox.markUnread":"읽지 않음으로 표시","inbox.folders":"폴더","inbox.inbox":"받은편지함","inbox.sent":"보낸편지함","inbox.drafts":"임시보관함","inbox.trash":"휴지통","inbox.spam":"스팸","inbox.starred":"별표","inbox.to":"받는 사람","inbox.cc":"참조","inbox.bcc":"숨은 참조","inbox.subject":"제목","inbox.send":"보내기","inbox.discard":"취소","inbox.attachFile":"파일 첨부","kanban.addCard":"카드 추가","kanban.addColumn":"열 추가","kanban.moveCard":"카드 이동","kanban.editCard":"카드 편집","kanban.deleteCard":"카드 삭제","kanban.editColumn":"열 편집","kanban.deleteColumn":"열 삭제","lang.en":"영어","lang.pl":"폴란드어","lang.de":"독일어","lang.fr":"프랑스어","lang.es":"스페인어","lang.it":"이탈리아어","lang.pt":"포르투갈어","lang.nl":"네덜란드어","lang.sv":"스웨덴어","lang.no":"노르웨이어","lang.da":"덴마크어","lang.fi":"핀란드어","lang.cs":"체코어","lang.sk":"슬로바키아어","lang.hu":"헝가리어","lang.ro":"루마니아어","lang.bg":"불가리아어","lang.uk":"우크라이나어","lang.ja":"일본어","lang.ko":"한국어","lang.zh":"중국어","lang.ar":"아랍어","login.username":"사용자 이름","login.password":"비밀번호","login.signIn":"로그인","login.signOut":"로그아웃","login.forgotPassword":"비밀번호를 잊으셨나요?","login.register":"회원가입","login.rememberMe":"로그인 상태 유지","login.newPassword":"새 비밀번호","login.confirmPassword":"비밀번호 확인","login.twoFactor":"이중 인증","password.strength":"비밀번호 강도","password.weak":"약함","password.medium":"보통","password.strong":"강함","password.requirements":"비밀번호 요구사항","pdfviewer.page":"페이지","pdfviewer.of":"/","pdfviewer.zoom":"확대/축소","pdfviewer.fitPage":"페이지에 맞추기","pdfviewer.fitWidth":"너비에 맞추기","pdfviewer.download":"다운로드","pdfviewer.print":"인쇄","pdfviewer.search":"문서 내 검색","pdfviewer.bookmark":"북마크","pdfviewer.thumbnail":"썸네일","picklist.available":"사용 가능","picklist.selected":"선택됨","picklist.addAll":"전체 추가","picklist.removeAll":"전체 제거","picklist.filter":"항목 필터","scheduling.calendar":"캘린더","scheduling.event":"이벤트","scheduling.allDay":"종일","scheduling.today":"오늘","scheduling.week":"주","scheduling.month":"월","scheduling.year":"년","scheduling.day":"일","scheduling.agenda":"일정","scheduling.addEvent":"이벤트 추가","scheduling.editEvent":"이벤트 편집","scheduling.deleteEvent":"이벤트 삭제","scheduling.noEvents":"이벤트 없음","shortcuts.title":"키보드 단축키","shortcuts.description":"사용 가능한 단축키","shortcuts.key":"키","shortcuts.command":"명령","shortcuts.search":"단축키 검색","signature.clear":"지우기","signature.save":"저장","signature.sign":"여기에 서명","signature.draw":"서명을 그려주세요","spreadsheet.cell":"셀","spreadsheet.row":"행","spreadsheet.column":"열","spreadsheet.formula":"수식","spreadsheet.insert":"삽입","spreadsheet.delete":"삭제","spreadsheet.sort":"정렬","spreadsheet.sortAsc":"오름차순","spreadsheet.sortDesc":"내림차순","spreadsheet.filter":"필터","spreadsheet.export":"내보내기","spreadsheet.import":"가져오기","spreadsheet.addRow":"행 추가","spreadsheet.addColumn":"열 추가","spreadsheet.deleteRow":"행 삭제","spreadsheet.deleteColumn":"열 삭제","spreadsheet.freezeRow":"행 고정","spreadsheet.freezeColumn":"열 고정","spreadsheet.merge":"셀 병합","spreadsheet.unmerge":"셀 병합 해제","terminal.run":"실행","terminal.clear":"지우기","terminal.copy":"복사","terminal.paste":"붙여넣기","terminal.newSession":"새 세션","terminal.closeSession":"세션 닫기","terminal.selectAll":"전체선택","theme.light":"라이트","theme.dark":"다크","theme.system":"시스템","theme.custom":"사용자 정의","theme.colors":"색상","theme.fonts":"글꼴","theme.apply":"테마 적용","theme.preview":"미리보기","theme.reset":"기본값으로 복원","theme.gallery":"테마 갤러리","users.profile":"프로필","users.settings":"설정","users.permissions":"권한","users.role":"역할","users.active":"활성","users.inactive":"비활성","users.online":"온라인","users.offline":"오프라인","users.lastSeen":"마지막 접속","wm.close":"닫기","wm.minimize":"최소화","wm.maximize":"최대화","wm.restore":"복원","wm.tile":"창 정렬","wm.cascade":"계단식 배열","wm.closeAll":"모두 닫기","wm.minimizeAll":"모두 최소화","wm.newWindow":"새 창","wm.moveToFront":"맨 앞으로"},Hi={ok:"确定",cancel:"取消",save:"保存",close:"关闭",delete:"删除",edit:"编辑",add:"添加",remove:"移除",search:"搜索",filter:"筛选",refresh:"刷新",loading:"加载中…",noData:"暂无数据",error:"错误",success:"成功",warning:"警告",info:"信息",yes:"是",no:"否",confirm:"确认",back:"返回",next:"下一步",previous:"上一步",finish:"完成",submit:"提交",reset:"重置",apply:"应用",undo:"撤销",redo:"重做",copy:"复制",cut:"剪切",paste:"粘贴",selectAll:"全选",clear:"清除",upload:"上传",download:"下载",print:"打印",export:"导出",import:"导入",settings:"设置",help:"帮助",about:"关于",more:"更多",less:"收起",show:"显示",hide:"隐藏",expand:"展开",collapse:"折叠",enabled:"已启用",disabled:"已禁用",required:"必填",optional:"选填",actions:"操作",details:"详情",overview:"概览",all:"全部",none:"无",selected:"已选择",total:"合计",of:"/",items:"项",page:"页",rows:"行","app.name":"应用程序","app.version":"版本","app.about":"关于","nav.home":"首页","nav.back":"返回","nav.forward":"前进","nav.menu":"菜单","nav.sidebar":"侧边栏","nav.search":"搜索","nav.favorites":"收藏","nav.recent":"最近","nav.notifications":"通知","nav.profile":"个人资料","nav.logout":"退出登录","carousel.prev":"上一张","carousel.next":"下一张","carousel.slide":"幻灯片","carousel.of":"/","carousel.autoplay":"自动播放","carousel.pause":"暂停","confirm.yes":"是","confirm.no":"否","confirm.ok":"确定","confirm.cancel":"取消","confirm.title":"确认","confirm.deleteMessage":"确定要删除吗?","confirm.unsavedChanges":"有未保存的更改。要放弃吗?","console.shell":"命令行","console.terminal":"终端","console.prompt":"输入命令…","console.clear":"清空控制台","console.run":"运行","console.output":"输出","console.newSession":"新建会话","console.closeSession":"关闭会话","controls.save":"保存","controls.cancel":"取消","controls.delete":"删除","controls.edit":"编辑","controls.add":"添加","controls.remove":"移除","controls.close":"关闭","controls.open":"打开","controls.refresh":"刷新","controls.new":"新建","controls.duplicate":"复制","controls.sort":"排序","controls.group":"分组","controls.pin":"固定","controls.unpin":"取消固定","controls.lock":"锁定","controls.unlock":"解锁","controls.share":"分享","controls.archive":"归档","cookie.title":"Cookie 同意","cookie.message":"本网站使用 Cookie 以改善您的体验。","cookie.accept":"全部接受","cookie.reject":"全部拒绝","cookie.settings":"Cookie 设置","cookie.necessary":"必要","cookie.analytics":"分析","cookie.marketing":"营销","dashboard.title":"仪表盘","dashboard.addWidget":"添加小部件","dashboard.removeWidget":"移除小部件","dashboard.layout":"布局","dashboard.settings":"设置","dashboard.customize":"自定义","dashboard.resetLayout":"重置布局","datetime.today":"今天","datetime.yesterday":"昨天","datetime.tomorrow":"明天","datetime.selectDate":"选择日期","datetime.selectTime":"选择时间","datetime.startDate":"开始日期","datetime.endDate":"结束日期","datetime.startTime":"开始时间","datetime.endTime":"结束时间","datetime.am":"上午","datetime.pm":"下午","desktop.start":"开始","desktop.taskbar":"任务栏","desktop.systemTray":"系统托盘","desktop.wallpaper":"壁纸","desktop.icons":"桌面图标","desktop.arrangeIcons":"排列图标","dock.pin":"固定到 Dock","dock.unpin":"从 Dock 取消固定","dock.close":"关闭","dock.minimize":"最小化","dock.maximize":"最大化","dock.restore":"还原","docEditor.paragraph":"段落","docEditor.heading":"标题","docEditor.heading1":"标题 1","docEditor.heading2":"标题 2","docEditor.heading3":"标题 3","docEditor.bulletList":"无序列表","docEditor.numberedList":"有序列表","docEditor.quote":"引用","docEditor.code":"代码块","docEditor.divider":"分割线","docEditor.image":"图片","docEditor.table":"表格","docEditor.callout":"提示框","docEditor.placeholder":"开始输入…","docEditor.slashCommand":"输入 / 查看命令","files.upload":"上传文件","files.download":"下载","files.delete":"删除文件","files.rename":"重命名","files.newFolder":"新建文件夹","files.selectFile":"选择文件","files.dropzone":"将文件拖放到此处","files.dragDrop":"拖放文件或点击浏览","files.maxSize":"最大文件大小","files.fileType":"文件类型","forms.required":"此字段为必填项","forms.optional":"选填","forms.submit":"提交","forms.reset":"重置","forms.validate":"验证","forms.invalid":"无效值","forms.minLength":"最小长度:{0}","forms.maxLength":"最大长度:{0}","forms.email":"请输入有效的电子邮件","forms.phone":"请输入有效的电话号码","imageEditor.crop":"裁剪","imageEditor.rotate":"旋转","imageEditor.flip":"翻转","imageEditor.resize":"调整大小","imageEditor.filter":"滤镜","imageEditor.draw":"绘制","imageEditor.text":"文字","imageEditor.undo":"撤销","imageEditor.redo":"重做","imageEditor.save":"保存","imageEditor.brightness":"亮度","imageEditor.contrast":"对比度","imageEditor.saturation":"饱和度","inbox.compose":"撰写","inbox.reply":"回复","inbox.replyAll":"全部回复","inbox.forward":"转发","inbox.delete":"删除","inbox.archive":"归档","inbox.markRead":"标为已读","inbox.markUnread":"标为未读","inbox.folders":"文件夹","inbox.inbox":"收件箱","inbox.sent":"已发送","inbox.drafts":"草稿箱","inbox.trash":"回收站","inbox.spam":"垃圾邮件","inbox.starred":"星标邮件","inbox.to":"收件人","inbox.cc":"抄送","inbox.bcc":"密送","inbox.subject":"主题","inbox.send":"发送","inbox.discard":"放弃","inbox.attachFile":"添加附件","kanban.addCard":"添加卡片","kanban.addColumn":"添加列","kanban.moveCard":"移动卡片","kanban.editCard":"编辑卡片","kanban.deleteCard":"删除卡片","kanban.editColumn":"编辑列","kanban.deleteColumn":"删除列","lang.en":"英语","lang.pl":"波兰语","lang.de":"德语","lang.fr":"法语","lang.es":"西班牙语","lang.it":"意大利语","lang.pt":"葡萄牙语","lang.nl":"荷兰语","lang.sv":"瑞典语","lang.no":"挪威语","lang.da":"丹麦语","lang.fi":"芬兰语","lang.cs":"捷克语","lang.sk":"斯洛伐克语","lang.hu":"匈牙利语","lang.ro":"罗马尼亚语","lang.bg":"保加利亚语","lang.uk":"乌克兰语","lang.ja":"日语","lang.ko":"韩语","lang.zh":"中文","lang.ar":"阿拉伯语","login.username":"用户名","login.password":"密码","login.signIn":"登录","login.signOut":"退出","login.forgotPassword":"忘记密码?","login.register":"注册","login.rememberMe":"记住我","login.newPassword":"新密码","login.confirmPassword":"确认密码","login.twoFactor":"两步验证","password.strength":"密码强度","password.weak":"弱","password.medium":"中","password.strong":"强","password.requirements":"密码要求","pdfviewer.page":"页","pdfviewer.of":"/","pdfviewer.zoom":"缩放","pdfviewer.fitPage":"适合页面","pdfviewer.fitWidth":"适合宽度","pdfviewer.download":"下载","pdfviewer.print":"打印","pdfviewer.search":"在文档中搜索","pdfviewer.bookmark":"书签","pdfviewer.thumbnail":"缩略图","picklist.available":"可用","picklist.selected":"已选择","picklist.addAll":"全部添加","picklist.removeAll":"全部移除","picklist.filter":"筛选项目","scheduling.calendar":"日历","scheduling.event":"事件","scheduling.allDay":"全天","scheduling.today":"今天","scheduling.week":"周","scheduling.month":"月","scheduling.year":"年","scheduling.day":"日","scheduling.agenda":"日程","scheduling.addEvent":"添加事件","scheduling.editEvent":"编辑事件","scheduling.deleteEvent":"删除事件","scheduling.noEvents":"暂无事件","shortcuts.title":"键盘快捷键","shortcuts.description":"可用快捷键","shortcuts.key":"按键","shortcuts.command":"命令","shortcuts.search":"搜索快捷键","signature.clear":"清除","signature.save":"保存","signature.sign":"在此签名","signature.draw":"请绘制您的签名","spreadsheet.cell":"单元格","spreadsheet.row":"行","spreadsheet.column":"列","spreadsheet.formula":"公式","spreadsheet.insert":"插入","spreadsheet.delete":"删除","spreadsheet.sort":"排序","spreadsheet.sortAsc":"升序","spreadsheet.sortDesc":"降序","spreadsheet.filter":"筛选","spreadsheet.export":"导出","spreadsheet.import":"导入","spreadsheet.addRow":"添加行","spreadsheet.addColumn":"添加列","spreadsheet.deleteRow":"删除行","spreadsheet.deleteColumn":"删除列","spreadsheet.freezeRow":"冻结行","spreadsheet.freezeColumn":"冻结列","spreadsheet.merge":"合并单元格","spreadsheet.unmerge":"取消合并","terminal.run":"运行","terminal.clear":"清除","terminal.copy":"复制","terminal.paste":"粘贴","terminal.newSession":"新建会话","terminal.closeSession":"关闭会话","terminal.selectAll":"全选","theme.light":"浅色","theme.dark":"深色","theme.system":"跟随系统","theme.custom":"自定义","theme.colors":"颜色","theme.fonts":"字体","theme.apply":"应用主题","theme.preview":"预览","theme.reset":"恢复默认","theme.gallery":"主题库","users.profile":"个人资料","users.settings":"设置","users.permissions":"权限","users.role":"角色","users.active":"活跃","users.inactive":"不活跃","users.online":"在线","users.offline":"离线","users.lastSeen":"最后在线","wm.close":"关闭","wm.minimize":"最小化","wm.maximize":"最大化","wm.restore":"还原","wm.tile":"平铺窗口","wm.cascade":"层叠窗口","wm.closeAll":"关闭全部","wm.minimizeAll":"最小化全部","wm.newWindow":"新建窗口","wm.moveToFront":"置于最前"},Ii={ok:"حسناً",cancel:"إلغاء",save:"حفظ",close:"إغلاق",delete:"حذف",edit:"تعديل",add:"إضافة",remove:"إزالة",search:"بحث",filter:"تصفية",refresh:"تحديث",loading:"جاري التحميل…",noData:"لا توجد بيانات",error:"خطأ",success:"نجاح",warning:"تحذير",info:"معلومات",yes:"نعم",no:"لا",confirm:"تأكيد",back:"رجوع",next:"التالي",previous:"السابق",finish:"إنهاء",submit:"إرسال",reset:"إعادة تعيين",apply:"تطبيق",undo:"تراجع",redo:"إعادة",copy:"نسخ",cut:"قص",paste:"لصق",selectAll:"تحديد الكل",clear:"مسح",upload:"رفع",download:"تنزيل",print:"طباعة",export:"تصدير",import:"استيراد",settings:"إعدادات",help:"مساعدة",about:"حول",more:"المزيد",less:"أقل",show:"إظهار",hide:"إخفاء",expand:"توسيع",collapse:"طي",enabled:"مُفعّل",disabled:"مُعطّل",required:"مطلوب",optional:"اختياري",actions:"إجراءات",details:"تفاصيل",overview:"نظرة عامة",all:"الكل",none:"لا شيء",selected:"محدد",total:"المجموع",of:"من",items:"عناصر",page:"صفحة",rows:"صفوف","app.name":"التطبيق","app.version":"الإصدار","app.about":"حول","nav.home":"الرئيسية","nav.back":"رجوع","nav.forward":"تقدم","nav.menu":"القائمة","nav.sidebar":"الشريط الجانبي","nav.search":"بحث","nav.favorites":"المفضلة","nav.recent":"الأخيرة","nav.notifications":"الإشعارات","nav.profile":"الملف الشخصي","nav.logout":"تسجيل خروج","carousel.prev":"الشريحة السابقة","carousel.next":"الشريحة التالية","carousel.slide":"شريحة","carousel.of":"من","carousel.autoplay":"تشغيل تلقائي","carousel.pause":"إيقاف مؤقت","confirm.yes":"نعم","confirm.no":"لا","confirm.ok":"حسناً","confirm.cancel":"إلغاء","confirm.title":"تأكيد","confirm.deleteMessage":"هل أنت متأكد أنك تريد الحذف؟","confirm.unsavedChanges":"لديك تغييرات غير محفوظة. هل تريد التجاهل؟","console.shell":"سطر أوامر","console.terminal":"طرفية","console.prompt":"أدخل أمراً…","console.clear":"مسح وحدة التحكم","console.run":"تشغيل","console.output":"المخرجات","console.newSession":"جلسة جديدة","console.closeSession":"إغلاق الجلسة","controls.save":"حفظ","controls.cancel":"إلغاء","controls.delete":"حذف","controls.edit":"تعديل","controls.add":"إضافة","controls.remove":"إزالة","controls.close":"إغلاق","controls.open":"فتح","controls.refresh":"تحديث","controls.new":"جديد","controls.duplicate":"تكرار","controls.sort":"ترتيب","controls.group":"تجميع","controls.pin":"تثبيت","controls.unpin":"إلغاء التثبيت","controls.lock":"قفل","controls.unlock":"فتح القفل","controls.share":"مشاركة","controls.archive":"أرشفة","cookie.title":"موافقة ملفات تعريف الارتباط","cookie.message":"يستخدم هذا الموقع ملفات تعريف الارتباط لتحسين تجربتك.","cookie.accept":"قبول الكل","cookie.reject":"رفض الكل","cookie.settings":"إعدادات ملفات تعريف الارتباط","cookie.necessary":"ضرورية","cookie.analytics":"تحليلية","cookie.marketing":"تسويقية","dashboard.title":"لوحة المعلومات","dashboard.addWidget":"إضافة عنصر","dashboard.removeWidget":"إزالة عنصر","dashboard.layout":"التخطيط","dashboard.settings":"الإعدادات","dashboard.customize":"تخصيص","dashboard.resetLayout":"إعادة تعيين التخطيط","datetime.today":"اليوم","datetime.yesterday":"أمس","datetime.tomorrow":"غداً","datetime.selectDate":"اختر تاريخاً","datetime.selectTime":"اختر وقتاً","datetime.startDate":"تاريخ البداية","datetime.endDate":"تاريخ النهاية","datetime.startTime":"وقت البداية","datetime.endTime":"وقت النهاية","datetime.am":"ص","datetime.pm":"م","desktop.start":"ابدأ","desktop.taskbar":"شريط المهام","desktop.systemTray":"علبة النظام","desktop.wallpaper":"خلفية","desktop.icons":"أيقونات سطح المكتب","desktop.arrangeIcons":"ترتيب الأيقونات","dock.pin":"تثبيت في الشريط","dock.unpin":"إلغاء التثبيت من الشريط","dock.close":"إغلاق","dock.minimize":"تصغير","dock.maximize":"تكبير","dock.restore":"استعادة","docEditor.paragraph":"فقرة","docEditor.heading":"عنوان","docEditor.heading1":"عنوان 1","docEditor.heading2":"عنوان 2","docEditor.heading3":"عنوان 3","docEditor.bulletList":"قائمة نقطية","docEditor.numberedList":"قائمة مرقمة","docEditor.quote":"اقتباس","docEditor.code":"كتلة برمجية","docEditor.divider":"فاصل","docEditor.image":"صورة","docEditor.table":"جدول","docEditor.callout":"تنبيه","docEditor.placeholder":"ابدأ بالكتابة…","docEditor.slashCommand":"اكتب / للأوامر","files.upload":"رفع ملف","files.download":"تنزيل","files.delete":"حذف ملف","files.rename":"إعادة تسمية","files.newFolder":"مجلد جديد","files.selectFile":"اختر ملفاً","files.dropzone":"اسحب الملفات هنا","files.dragDrop":"اسحب وأفلت الملفات أو انقر للتصفح","files.maxSize":"الحجم الأقصى للملف","files.fileType":"نوع الملف","forms.required":"هذا الحقل مطلوب","forms.optional":"اختياري","forms.submit":"إرسال","forms.reset":"إعادة تعيين","forms.validate":"تحقق","forms.invalid":"قيمة غير صالحة","forms.minLength":"الحد الأدنى للطول: {0}","forms.maxLength":"الحد الأقصى للطول: {0}","forms.email":"أدخل بريداً إلكترونياً صالحاً","forms.phone":"أدخل رقم هاتف صالحاً","imageEditor.crop":"اقتصاص","imageEditor.rotate":"تدوير","imageEditor.flip":"قلب","imageEditor.resize":"تغيير الحجم","imageEditor.filter":"مرشح","imageEditor.draw":"رسم","imageEditor.text":"نص","imageEditor.undo":"تراجع","imageEditor.redo":"إعادة","imageEditor.save":"حفظ","imageEditor.brightness":"السطوع","imageEditor.contrast":"التباين","imageEditor.saturation":"التشبع","inbox.compose":"إنشاء","inbox.reply":"رد","inbox.replyAll":"الرد على الكل","inbox.forward":"إعادة توجيه","inbox.delete":"حذف","inbox.archive":"أرشفة","inbox.markRead":"تحديد كمقروء","inbox.markUnread":"تحديد كغير مقروء","inbox.folders":"المجلدات","inbox.inbox":"البريد الوارد","inbox.sent":"المرسل","inbox.drafts":"المسودات","inbox.trash":"المحذوفات","inbox.spam":"البريد العشوائي","inbox.starred":"المميز بنجمة","inbox.to":"إلى","inbox.cc":"نسخة","inbox.bcc":"نسخة مخفية","inbox.subject":"الموضوع","inbox.send":"إرسال","inbox.discard":"تجاهل","inbox.attachFile":"إرفاق ملف","kanban.addCard":"إضافة بطاقة","kanban.addColumn":"إضافة عمود","kanban.moveCard":"نقل بطاقة","kanban.editCard":"تعديل بطاقة","kanban.deleteCard":"حذف بطاقة","kanban.editColumn":"تعديل عمود","kanban.deleteColumn":"حذف عمود","lang.en":"الإنجليزية","lang.pl":"البولندية","lang.de":"الألمانية","lang.fr":"الفرنسية","lang.es":"الإسبانية","lang.it":"الإيطالية","lang.pt":"البرتغالية","lang.nl":"الهولندية","lang.sv":"السويدية","lang.no":"النرويجية","lang.da":"الدانماركية","lang.fi":"الفنلندية","lang.cs":"التشيكية","lang.sk":"السلوفاكية","lang.hu":"المجرية","lang.ro":"الرومانية","lang.bg":"البلغارية","lang.uk":"الأوكرانية","lang.ja":"اليابانية","lang.ko":"الكورية","lang.zh":"الصينية","lang.ar":"العربية","login.username":"اسم المستخدم","login.password":"كلمة المرور","login.signIn":"تسجيل الدخول","login.signOut":"تسجيل الخروج","login.forgotPassword":"نسيت كلمة المرور؟","login.register":"إنشاء حساب","login.rememberMe":"تذكرني","login.newPassword":"كلمة مرور جديدة","login.confirmPassword":"تأكيد كلمة المرور","login.twoFactor":"المصادقة الثنائية","password.strength":"قوة كلمة المرور","password.weak":"ضعيفة","password.medium":"متوسطة","password.strong":"قوية","password.requirements":"متطلبات كلمة المرور","pdfviewer.page":"صفحة","pdfviewer.of":"من","pdfviewer.zoom":"تكبير","pdfviewer.fitPage":"ملاءمة الصفحة","pdfviewer.fitWidth":"ملاءمة العرض","pdfviewer.download":"تنزيل","pdfviewer.print":"طباعة","pdfviewer.search":"البحث في المستند","pdfviewer.bookmark":"إشارات مرجعية","pdfviewer.thumbnail":"صور مصغرة","picklist.available":"متاح","picklist.selected":"محدد","picklist.addAll":"إضافة الكل","picklist.removeAll":"إزالة الكل","picklist.filter":"تصفية العناصر","scheduling.calendar":"التقويم","scheduling.event":"حدث","scheduling.allDay":"طوال اليوم","scheduling.today":"اليوم","scheduling.week":"أسبوع","scheduling.month":"شهر","scheduling.year":"سنة","scheduling.day":"يوم","scheduling.agenda":"جدول أعمال","scheduling.addEvent":"إضافة حدث","scheduling.editEvent":"تعديل حدث","scheduling.deleteEvent":"حذف حدث","scheduling.noEvents":"لا توجد أحداث","shortcuts.title":"اختصارات لوحة المفاتيح","shortcuts.description":"الاختصارات المتاحة","shortcuts.key":"مفتاح","shortcuts.command":"أمر","shortcuts.search":"البحث عن اختصارات","signature.clear":"مسح","signature.save":"حفظ","signature.sign":"وقّع هنا","signature.draw":"ارسم توقيعك","spreadsheet.cell":"خلية","spreadsheet.row":"صف","spreadsheet.column":"عمود","spreadsheet.formula":"صيغة","spreadsheet.insert":"إدراج","spreadsheet.delete":"حذف","spreadsheet.sort":"ترتيب","spreadsheet.sortAsc":"ترتيب تصاعدي","spreadsheet.sortDesc":"ترتيب تنازلي","spreadsheet.filter":"تصفية","spreadsheet.export":"تصدير","spreadsheet.import":"استيراد","spreadsheet.addRow":"إضافة صف","spreadsheet.addColumn":"إضافة عمود","spreadsheet.deleteRow":"حذف صف","spreadsheet.deleteColumn":"حذف عمود","spreadsheet.freezeRow":"تجميد صف","spreadsheet.freezeColumn":"تجميد عمود","spreadsheet.merge":"دمج خلايا","spreadsheet.unmerge":"إلغاء دمج خلايا","terminal.run":"تشغيل","terminal.clear":"مسح","terminal.copy":"نسخ","terminal.paste":"لصق","terminal.newSession":"جلسة جديدة","terminal.closeSession":"إغلاق الجلسة","terminal.selectAll":"تحديد الكل","theme.light":"فاتح","theme.dark":"داكن","theme.system":"النظام","theme.custom":"مخصص","theme.colors":"الألوان","theme.fonts":"الخطوط","theme.apply":"تطبيق السمة","theme.preview":"معاينة","theme.reset":"استعادة الافتراضي","theme.gallery":"معرض السمات","users.profile":"الملف الشخصي","users.settings":"الإعدادات","users.permissions":"الصلاحيات","users.role":"الدور","users.active":"نشط","users.inactive":"غير نشط","users.online":"متصل","users.offline":"غير متصل","users.lastSeen":"آخر ظهور","wm.close":"إغلاق","wm.minimize":"تصغير","wm.maximize":"تكبير","wm.restore":"استعادة","wm.tile":"ترتيب النوافذ","wm.cascade":"تتالي النوافذ","wm.closeAll":"إغلاق الكل","wm.minimizeAll":"تصغير الكل","wm.newWindow":"نافذة جديدة","wm.moveToFront":"نقل إلى الأمام"},Wi={ok:"ठीक है",cancel:"रद्द करें",save:"सहेजें",close:"बंद करें",yes:"हाँ",no:"नहीं",loading:"लोड हो रहा है…",error:"त्रुटि",success:"सफलता",search:"खोजें"},Vi={ok:"ঠিক আছে",cancel:"বাতিল",save:"সংরক্ষণ",close:"বন্ধ",yes:"হ্যাঁ",no:"না",loading:"লোড হচ্ছে…",error:"ত্রুটি",success:"সফল",search:"অনুসন্ধান"},$i={ok:"ตกลง",cancel:"ยกเลิก",save:"บันทึก",close:"ปิด",yes:"ใช่",no:"ไม่",loading:"กำลังโหลด…",error:"ข้อผิดพลาด",success:"สำเร็จ",search:"ค้นหา"},qi={ok:"OK",cancel:"Hủy",save:"Lưu",close:"Đóng",yes:"Có",no:"Không",loading:"Đang tải…",error:"Lỗi",success:"Thành công",search:"Tìm kiếm"},Ki={ok:"OK",cancel:"Batal",save:"Simpan",close:"Tutup",yes:"Ya",no:"Tidak",loading:"Memuat…",error:"Kesalahan",success:"Berhasil",search:"Cari"},Gi={ok:"Sawa",cancel:"Ghairi",save:"Hifadhi",close:"Funga",yes:"Ndiyo",no:"Hapana",loading:"Inapakia…",error:"Hitilafu",success:"Imefanikiwa",search:"Tafuta"},Ui={ok:"OK",cancel:"Kanselahin",save:"I-save",close:"Isara",yes:"Oo",no:"Hindi",loading:"Naglo-load…",error:"Error",success:"Tagumpay",search:"Maghanap"},Xi={ok:"OK",cancel:"Batal",save:"Simpan",close:"Tutup",yes:"Ya",no:"Tidak",loading:"Memuat…",error:"Ralat",success:"Berjaya",search:"Cari"},Mt={en:vi,pl:wi,de:ki,fr:Si,es:xi,it:Ei,pt:Ci,nl:zi,sv:ji,no:Di,da:Mi,fi:Ai,cs:Pi,sk:Ti,hu:Fi,ro:Bi,bg:Ni,uk:Ri,ja:Li,ko:Oi,zh:Hi,ar:Ii,hi:Wi,bn:Vi,th:$i,vi:qi,id:Ki,sw:Gi,fil:Ui,ms:Xi},Zi=(e,t)=>t,Xt=d.createContext(Zi),_i=({t:e,lang:t="en",overrides:r,children:o})=>{const a=d.useMemo(()=>{if(e)return e;const i=Mt[t]??Mt.en,s=r?{...i,...r}:i;return(n,l)=>s[n]??l},[e,t,r]);return g.jsx(Xt.Provider,{value:a,children:o})};function Y(){return{t:d.useContext(Xt)}}function Ji(e,t){var r;const o=Math.abs(e),a=Math.floor(o),i=e.toString().includes(".")&&((r=e.toString().split(".")[1])==null?void 0:r.length)||0;switch(i>0&&parseInt(e.toString().split(".")[1]||"0",10),t){case"en":case"de":case"nl":case"sv":case"no":case"da":case"fi":case"it":case"es":case"pt":return a===1&&i===0?"one":"other";case"fr":return a===0||a===1?"one":o>=1e6?"many":"other";case"pl":return a===1&&i===0?"one":i===0&&a%10>=2&&a%10<=4&&!(a%100>=12&&a%100<=14)?"few":i===0&&a!==1&&(a%10===0||a%10===1)||i===0&&a%10>=5&&a%10<=9||i===0&&a%100>=12&&a%100<=14?"many":"other";case"uk":return i===0&&a%10===1&&a%100!==11?"one":i===0&&a%10>=2&&a%10<=4&&!(a%100>=12&&a%100<=14)?"few":i===0&&a%10===0||i===0&&a%10>=5&&a%10<=9||i===0&&a%100>=11&&a%100<=14?"many":"other";case"bg":return e===1?"one":"other";case"cs":case"sk":return a===1&&i===0?"one":a>=2&&a<=4&&i===0?"few":i!==0?"many":"other";case"hu":return e===1?"one":"other";case"ro":return a===1&&i===0?"one":i!==0||e===0||e%100>=2&&e%100<=19?"few":"other";case"ja":case"ko":case"zh":return"other";case"ar":{if(e===0)return"zero";if(e===1)return"one";if(e===2)return"two";const s=e%100;return s>=3&&s<=10?"few":s>=11&&s<=99?"many":"other"}default:if(typeof Intl<"u"&&typeof Intl.PluralRules=="function")try{return new Intl.PluralRules(t).select(e)}catch{}return a===1&&i===0?"one":"other"}}function Yi(e,t){switch(t){case"en":return e%10===1&&e%100!==11?"one":e%10===2&&e%100!==12?"two":e%10===3&&e%100!==13?"few":"other";case"de":case"fr":case"es":case"it":case"pt":case"nl":case"pl":case"uk":case"cs":case"sk":case"hu":case"ro":case"bg":case"ja":case"ko":case"sv":case"no":case"da":case"fi":default:if(typeof Intl<"u"&&typeof Intl.PluralRules=="function")try{return new Intl.PluralRules(t,{type:"ordinal"}).select(e)}catch{}return"other"}}function Qi(e){var t;if(e=e.trim(),!e.includes(","))return{type:"simple",name:e};const r=e.split(",").map(i=>i.trim()),o=r[0],a=(t=r[1])==null?void 0:t.toLowerCase();if(!a||!o)return null;if(a==="number")return{type:"number",name:o,style:r[2]};if(a==="date"||a==="time")return{type:a,name:o,style:r[2]||"medium"};if(a==="plural"||a==="select"||a==="selectordinal"){const i=r.slice(2).join(",").trim(),s={},n=/(=?\w+)\s*\{([^{}]*(?:\{[^{}]*\}[^{}]*)*)\}/g;let l;for(;(l=n.exec(i))!==null;)s[l[1]]=l[2];return{type:a,name:o,options:s}}return{type:"simple",name:o}}function en(e,t,r){const o={};switch(r){case"currency":o.style="currency",o.currency="USD";break;case"percent":o.style="percent";break;case"integer":o.maximumFractionDigits=0;break}return new Intl.NumberFormat(t,o).format(e)}function tn(e,t,r){const o=e instanceof Date?e:new Date(e);let a;switch(r){case"short":a={dateStyle:"short"};break;case"long":a={dateStyle:"long"};break;case"full":a={dateStyle:"full"};break;case"medium":default:a={dateStyle:"medium"};break}return new Intl.DateTimeFormat(t,a).format(o)}function rn(e,t,r){const o=e instanceof Date?e:new Date(e);let a;switch(r){case"short":a={timeStyle:"short"};break;case"long":a={timeStyle:"long"};break;case"full":a={timeStyle:"full"};break;case"medium":default:a={timeStyle:"medium"};break}return new Intl.DateTimeFormat(t,a).format(o)}function Oe(e,t,r){return e.replace(/#/g,String(r))}function Zt(e,t={},r={}){const o=r.lang||"en",a=r.locale||o,i=/\{([^{}]*(?:\{[^{}]*\}[^{}]*)*)\}/g;return e.replace(i,(s,n)=>{const l=Qi(n);if(!l)return s;const c=t[l.name];if(c===void 0)return s;switch(l.type){case"simple":return String(c);case"number":return typeof c!="number"?s:en(c,a,l.style);case"date":return tn(c,a,l.style);case"time":return rn(c,a,l.style);case"plural":{if(typeof c!="number"||!l.options)return s;const u=Ji(c,o),m=`=${c}`,f=l.options[m]??l.options[u]??l.options.other??"";return Oe(f,l.name,c)}case"selectordinal":{if(typeof c!="number"||!l.options)return s;const u=Yi(c,o),m=l.options[u]??l.options.other??"";return Oe(m,l.name,c)}case"select":{if(!l.options)return s;const u=l.options[String(c)]??l.options.other??"";return Oe(u,l.name,c)}default:return s}})}function on(e,t="en"){return function(r,o,a){const i=e[r]??o;return a?Zt(i,a,{lang:t}):i}}d.createContext({dir:"ltr",isRTL:!1,flip:e=>e,value:e=>e.ltr});d.createContext(null);d.createContext(null);/**
2
+ * @file themeVariants.ts
3
+ * @description Extended theme variants - radius, shadows, fills, gradients, effects
4
+ *
5
+ * Allows fine-grained customization of theme appearance
6
+ *
7
+ * @version 1.0.0
8
+ * @since 2026-03
9
+ * @license MIT
10
+ */const se={none:{xs:"0",sm:"0",md:"0",lg:"0",xl:"0",full:"0"},sm:{xs:"2px",sm:"3px",md:"4px",lg:"6px",xl:"8px",full:"9999px"},md:{xs:"4px",sm:"6px",md:"8px",lg:"12px",xl:"16px",full:"9999px"},lg:{xs:"6px",sm:"10px",md:"14px",lg:"20px",xl:"28px",full:"9999px"},xl:{xs:"10px",sm:"16px",md:"24px",lg:"32px",xl:"48px",full:"9999px"},"2xl":{xs:"16px",sm:"24px",md:"32px",lg:"48px",xl:"64px",full:"9999px"},full:{xs:"9999px",sm:"9999px",md:"9999px",lg:"9999px",xl:"9999px",full:"9999px"}},we={none:"none",subtle:"0 1px 2px 0 var(--nice-overlay-5, rgba(0, 0, 0, 0.05))",md:"0 4px 6px -1px var(--nice-overlay-10, rgba(0, 0, 0, 0.1)), 0 2px 4px -2px var(--nice-overlay-10, rgba(0, 0, 0, 0.1))",lg:"0 10px 15px -3px var(--nice-overlay-10, rgba(0, 0, 0, 0.1)), 0 4px 6px -4px var(--nice-overlay-10, rgba(0, 0, 0, 0.1))",xl:"0 20px 25px -5px var(--nice-overlay-10, rgba(0, 0, 0, 0.1)), 0 8px 10px -6px var(--nice-overlay-10, rgba(0, 0, 0, 0.1))",inner:"inset 0 2px 4px 0 var(--nice-overlay-5, rgba(0, 0, 0, 0.05))",colored:"0 4px 14px 0 var(--ntd-color-primary-alpha, rgba(99, 102, 241, 0.4))",glow:"0 0 20px var(--ntd-color-primary-alpha, rgba(99, 102, 241, 0.5))"},_t={none:"none",subtle:"0 1px 2px 0 var(--nice-overlay-20, rgba(0, 0, 0, 0.2))",md:"0 4px 6px -1px var(--nice-overlay-30, rgba(0, 0, 0, 0.3)), 0 2px 4px -2px var(--nice-overlay-20, rgba(0, 0, 0, 0.2))",lg:"0 10px 15px -3px var(--nice-overlay-40, rgba(0, 0, 0, 0.4)), 0 4px 6px -4px var(--nice-overlay-30, rgba(0, 0, 0, 0.3))",xl:"0 20px 25px -5px var(--nice-overlay-50, rgba(0, 0, 0, 0.5)), 0 8px 10px -6px var(--nice-overlay-40, rgba(0, 0, 0, 0.4))",inner:"inset 0 2px 4px 0 var(--nice-overlay-30, rgba(0, 0, 0, 0.3))",colored:"0 4px 14px 0 var(--ntd-color-primary-alpha, rgba(99, 102, 241, 0.5))",glow:"0 0 30px var(--ntd-color-primary-alpha, rgba(99, 102, 241, 0.6))"},de={compact:{paddingX:"8px",paddingY:"4px",gap:"4px",fontSize:"13px",lineHeight:"1.3",inputHeight:"28px",buttonHeight:"28px"},normal:{paddingX:"12px",paddingY:"8px",gap:"8px",fontSize:"14px",lineHeight:"1.5",inputHeight:"36px",buttonHeight:"36px"},comfortable:{paddingX:"16px",paddingY:"12px",gap:"12px",fontSize:"15px",lineHeight:"1.6",inputHeight:"44px",buttonHeight:"44px"},spacious:{paddingX:"24px",paddingY:"16px",gap:"16px",fontSize:"16px",lineHeight:"1.7",inputHeight:"52px",buttonHeight:"52px"}},Ce={none:{duration:"0ms",easing:"linear",hoverScale:"1",clickScale:"1",enterAnimation:"none",exitAnimation:"none"},subtle:{duration:"150ms",easing:"cubic-bezier(0.4, 0, 0.2, 1)",hoverScale:"1.01",clickScale:"0.99",enterAnimation:"ntd-fade-in 150ms ease-out",exitAnimation:"ntd-fade-out 100ms ease-in"},normal:{duration:"200ms",easing:"cubic-bezier(0.4, 0, 0.2, 1)",hoverScale:"1.02",clickScale:"0.98",enterAnimation:"ntd-slide-up 200ms ease-out",exitAnimation:"ntd-slide-down 150ms ease-in"},playful:{duration:"300ms",easing:"cubic-bezier(0.34, 1.56, 0.64, 1)",hoverScale:"1.05",clickScale:"0.95",enterAnimation:"ntd-bounce-in 300ms cubic-bezier(0.34, 1.56, 0.64, 1)",exitAnimation:"ntd-bounce-out 200ms ease-in"},dramatic:{duration:"400ms",easing:"cubic-bezier(0.68, -0.55, 0.265, 1.55)",hoverScale:"1.08",clickScale:"0.92",enterAnimation:"ntd-zoom-in 400ms cubic-bezier(0.68, -0.55, 0.265, 1.55)",exitAnimation:"ntd-zoom-out 250ms ease-in"}};function an(e,t,r){switch(e){case"solid":return{background:t};case"gradient-linear":return{background:`linear-gradient(135deg, ${t} 0%, ${r||Z(t,-20)} 100%)`};case"gradient-radial":return{background:`radial-gradient(circle at top left, ${t} 0%, ${r||Z(t,-30)} 100%)`};case"glass":return{background:"var(--nice-overlay-light-10, rgba(255, 255, 255, 0.1))",backdropFilter:"blur(10px)",WebkitBackdropFilter:"blur(10px)",border:"1px solid var(--nice-overlay-light-20, rgba(255, 255, 255, 0.2))"};case"frosted":return{background:"var(--nice-overlay-light-70, rgba(255, 255, 255, 0.7))",backdropFilter:"blur(20px) saturate(180%)",WebkitBackdropFilter:"blur(20px) saturate(180%)",border:"1px solid var(--nice-overlay-light-30, rgba(255, 255, 255, 0.3))"};case"pattern":return{backgroundImage:`url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='${encodeURIComponent(t)}' fill-opacity='0.05'%3E%3Cpath d='M0 0h20L10 10z'/%3E%3C/g%3E%3C/svg%3E")`,backgroundColor:"var(--ntd-bg-surface)"};case"texture":return{backgroundImage:`url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")`,backgroundBlendMode:"overlay",backgroundColor:t};case"gradient-conic":return{background:`conic-gradient(from 180deg, ${t}, ${r||Z(t,-20)}, ${t})`};case"mesh":return{background:`radial-gradient(at 40% 20%, ${t} 0%, transparent 50%), radial-gradient(at 80% 0%, ${r||Z(t,30)} 0%, transparent 50%), radial-gradient(at 0% 50%, ${Z(t,-20)} 0%, transparent 50%)`,backgroundColor:"var(--ntd-bg-surface, #fff)"};default:return{background:t}}}function rt(e,t){const r={transition:"all var(--ntd-transition-duration, 200ms) var(--ntd-transition-easing, ease)"};switch(e){case"flat":return{...r,background:t,boxShadow:"none",border:"none"};case"raised":return{...r,background:t,boxShadow:"0 2px 4px var(--nice-overlay-20, rgba(0, 0, 0, 0.2))",border:"none"};case"outlined":return{...r,background:"transparent",border:`2px solid ${t}`,color:t};case"ghost":return{...r,background:"transparent",border:"none",color:t};case"soft":return{...r,background:`${t}20`,border:"none",color:t};case"gradient":return{...r,background:`linear-gradient(135deg, ${t} 0%, ${Z(t,-20)} 100%)`,border:"none",boxShadow:`0 4px 14px ${t}40`};case"3d":return{...r,background:t,border:"none",boxShadow:`0 4px 0 ${Z(t,-30)}, 0 6px 10px var(--nice-overlay-20, rgba(0, 0, 0, 0.2))`,transform:"translateY(-2px)"};case"neumorphic":return{...r,background:"var(--ntd-bg-surface)",border:"none",boxShadow:"5px 5px 10px var(--nice-overlay-10, rgba(0, 0, 0, 0.1)), -5px -5px 10px var(--nice-overlay-light-80, rgba(255, 255, 255, 0.8))",color:t};case"pill":return{...r,background:t,border:"none",borderRadius:"9999px",paddingLeft:"24px",paddingRight:"24px"};case"link":return{...r,background:"transparent",border:"none",color:t,textDecoration:"underline",padding:"0"};case"brutal":return{...r,background:t,border:"3px solid var(--nice-text, #000)",boxShadow:"4px 4px 0 var(--nice-text, #000)",borderRadius:"0"};default:return r}}function ot(e){const t={transition:"all var(--ntd-transition-duration, 200ms) var(--ntd-transition-easing, ease)"};switch(e){case"bordered":return{...t,background:"var(--ntd-bg-input, var(--bg-primary, transparent))",border:"1px solid var(--ntd-border-color, var(--border-color, #3a3a3a))",borderRadius:"var(--ntd-radius-md, 8px)"};case"filled":return{...t,background:"var(--ntd-bg-input-filled, var(--bg-secondary, rgba(255,255,255,0.06)))",border:"2px solid transparent",borderRadius:"var(--ntd-radius-md, 8px)"};case"underlined":return{...t,background:"transparent",border:"none",borderBottom:"2px solid var(--ntd-border-color, var(--border-color, #3a3a3a))",borderRadius:"0",paddingLeft:"0",paddingRight:"0"};case"floating":return{...t,background:"var(--ntd-bg-input, var(--bg-primary, transparent))",border:"1px solid var(--ntd-border-color, var(--border-color, #3a3a3a))",borderRadius:"var(--ntd-radius-md, 8px)",paddingTop:"20px"};case"soft":return{...t,background:"var(--ntd-color-primary-alpha, rgba(99, 102, 241, 0.1))",border:"none",borderRadius:"var(--ntd-radius-md, 8px)"};case"neumorphic":return{...t,background:"var(--ntd-bg-surface, var(--bg-primary, transparent))",border:"none",borderRadius:"var(--ntd-radius-md, 8px)",boxShadow:"inset 3px 3px 6px var(--nice-overlay-20, rgba(0, 0, 0, 0.2)), inset -3px -3px 6px var(--nice-overlay-light-5, rgba(255, 255, 255, 0.05))"};case"pill":return{...t,background:"var(--ntd-bg-input, var(--bg-primary, transparent))",border:"1px solid var(--ntd-border-color, var(--border-color, #3a3a3a))",borderRadius:"9999px",paddingLeft:"20px",paddingRight:"20px"};case"flush":return{...t,background:"transparent",border:"none",borderRadius:"0",padding:"0",outline:"none"};default:return t}}function at(e){const t={transition:"all var(--ntd-transition-duration, 200ms) var(--ntd-transition-easing, ease)"};switch(e){case"flat":return{...t,background:"var(--ntd-bg-surface, var(--bg-secondary, transparent))",border:"none",boxShadow:"none"};case"elevated":return{...t,background:"var(--ntd-bg-surface, var(--bg-secondary, transparent))",border:"none",boxShadow:"var(--ntd-shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1))"};case"bordered":return{...t,background:"var(--ntd-bg-surface, var(--bg-secondary, transparent))",border:"1px solid var(--ntd-border-color, var(--border-color, #3a3a3a))",boxShadow:"none"};case"glass":return{...t,background:"var(--nice-overlay-light-10, rgba(255, 255, 255, 0.1))",backdropFilter:"blur(10px)",WebkitBackdropFilter:"blur(10px)",border:"1px solid var(--nice-overlay-light-20, rgba(255, 255, 255, 0.2))",boxShadow:"0 8px 32px var(--nice-overlay-10, rgba(0, 0, 0, 0.1))"};case"gradient":return{...t,background:"linear-gradient(135deg, var(--ntd-bg-surface) 0%, var(--ntd-bg-elevated) 100%)",border:"none",boxShadow:"var(--ntd-shadow-md)"};case"neumorphic":return{...t,background:"var(--ntd-bg-surface, var(--bg-secondary, transparent))",border:"none",boxShadow:"8px 8px 16px var(--nice-overlay-20, rgba(0, 0, 0, 0.2)), -8px -8px 16px var(--nice-overlay-light-5, rgba(255, 255, 255, 0.05))"};case"outlined":return{...t,background:"transparent",border:"2px solid var(--ntd-border-color, var(--border-color, #3a3a3a))",boxShadow:"none"};case"paper":return{...t,background:"var(--ntd-bg-surface, var(--bg-secondary, transparent))",border:"none",boxShadow:"2px 3px 8px var(--nice-overlay-6, rgba(0, 0, 0, 0.06))",borderRadius:"2px"};default:return t}}function Jt(e,t){const r={display:"inline-flex",alignItems:"center",fontSize:"0.75rem",fontWeight:"600",lineHeight:"1"};switch(e){case"solid":return{...r,background:t,color:"var(--nice-bg, #fff)",padding:"2px 8px",borderRadius:"4px"};case"soft":return{...r,background:`${t}20`,color:t,padding:"2px 8px",borderRadius:"4px"};case"outlined":return{...r,background:"transparent",border:`1px solid ${t}`,color:t,padding:"2px 8px",borderRadius:"4px"};case"dot":return{...r,background:t,width:"8px",height:"8px",borderRadius:"50%",padding:"0"};case"pill":return{...r,background:t,color:"var(--nice-bg, #fff)",padding:"2px 12px",borderRadius:"9999px"};case"gradient":return{...r,background:`linear-gradient(135deg, ${t}, ${Z(t,-20)})`,color:"var(--nice-bg, #fff)",padding:"2px 8px",borderRadius:"4px"};default:return r}}function Yt(e,t){switch(e){case"underline":return{borderBottom:`2px solid ${t}`,background:"transparent",color:t};case"pills":return{background:t,color:"var(--nice-bg, #fff)",borderRadius:"9999px",padding:"6px 16px"};case"enclosed":return{background:"var(--ntd-bg-surface,#fff)",border:"1px solid var(--ntd-border-color,#e5e7eb)",borderBottom:"none",borderRadius:"8px 8px 0 0"};case"soft":return{background:`${t}15`,color:t,borderRadius:"6px",padding:"6px 16px"};case"lifted":return{background:"var(--ntd-bg-surface,#fff)",boxShadow:"0 -2px 8px var(--nice-overlay-6, rgba(0, 0, 0, 0.06))",borderRadius:"8px 8px 0 0",transform:"translateY(-2px)"};case"bordered":return{border:`2px solid ${t}`,borderBottom:"none",background:"transparent",borderRadius:"8px 8px 0 0"};default:return{}}}function Qt(e){switch(e){case"default":return{borderRadius:"12px",width:"44px",height:"24px"};case"ios":return{borderRadius:"16px",width:"51px",height:"31px",boxShadow:"inset 0 0 0 1px var(--nice-overlay-10, rgba(0, 0, 0, 0.1))"};case"flat":return{borderRadius:"4px",width:"40px",height:"22px"};case"pill":return{borderRadius:"9999px",width:"48px",height:"24px"};case"square":return{borderRadius:"0",width:"40px",height:"22px"};default:return{}}}function er(e){switch(e){case"dark":return{background:"var(--nice-text, #1f2937)",color:"var(--nice-bg-secondary, #f9fafb)",borderRadius:"6px",padding:"6px 12px",boxShadow:"0 4px 12px var(--nice-overlay-30, rgba(0, 0, 0, 0.3))"};case"light":return{background:"var(--nice-bg, #fff)",color:"var(--nice-text, #374151)",borderRadius:"6px",padding:"6px 12px",boxShadow:"0 4px 12px var(--nice-overlay-10, rgba(0, 0, 0, 0.1))",border:"1px solid var(--nice-border, #e5e7eb)"};case"primary":return{background:"var(--color-primary,#6366f1)",color:"var(--nice-bg, #fff)",borderRadius:"6px",padding:"6px 12px"};case"glass":return{background:"var(--nice-overlay-light-15, rgba(255, 255, 255, 0.15))",backdropFilter:"blur(12px)",color:"var(--nice-bg, #fff)",borderRadius:"8px",padding:"8px 14px"};case"bordered":return{background:"var(--nice-bg, #fff)",color:"var(--nice-text, #374151)",borderRadius:"6px",padding:"6px 12px",border:"2px solid var(--color-primary,#6366f1)"};default:return{}}}function tr(e){switch(e){case"default":return{borderCollapse:"collapse"};case"striped":return{borderCollapse:"collapse"};case"bordered":return{border:"1px solid var(--ntd-border-color,#e5e7eb)",borderCollapse:"collapse"};case"compact":return{borderCollapse:"collapse",fontSize:"0.8125rem"};case"hoverable":return{borderCollapse:"collapse"};case"minimal":return{borderCollapse:"collapse",borderBottom:"1px solid var(--ntd-border-color,#e5e7eb)"};default:return{}}}const U={radius:"md",shadow:"md",fill:"solid",buttonStyle:"flat",inputStyle:"bordered",cardStyle:"elevated",badgeStyle:"solid",tabStyle:"underline",toggleStyle:"default",tooltipStyle:"dark",modalStyle:"default",tableStyle:"default",menuStyle:"default",animation:"normal",density:"normal"},ze={minimal:{radius:"sm",shadow:"subtle",fill:"solid",buttonStyle:"flat",inputStyle:"underlined",cardStyle:"flat",badgeStyle:"soft",tabStyle:"underline",toggleStyle:"flat",tooltipStyle:"light",tableStyle:"minimal",animation:"subtle",density:"normal"},rounded:{radius:"xl",shadow:"md",fill:"solid",buttonStyle:"raised",inputStyle:"filled",cardStyle:"elevated",badgeStyle:"pill",tabStyle:"pills",toggleStyle:"pill",tooltipStyle:"dark",tableStyle:"default",animation:"normal",density:"comfortable"},sharp:{radius:"none",shadow:"lg",fill:"solid",buttonStyle:"flat",inputStyle:"bordered",cardStyle:"bordered",badgeStyle:"solid",tabStyle:"enclosed",toggleStyle:"square",tooltipStyle:"dark",tableStyle:"bordered",animation:"subtle",density:"compact"},glass:{radius:"lg",shadow:"none",fill:"glass",buttonStyle:"ghost",inputStyle:"soft",cardStyle:"glass",badgeStyle:"soft",tabStyle:"soft",toggleStyle:"ios",tooltipStyle:"glass",tableStyle:"minimal",animation:"normal",density:"normal"},neumorphic:{radius:"lg",shadow:"none",fill:"solid",buttonStyle:"neumorphic",inputStyle:"neumorphic",cardStyle:"neumorphic",badgeStyle:"soft",tabStyle:"lifted",toggleStyle:"ios",tooltipStyle:"light",tableStyle:"default",animation:"subtle",density:"comfortable"},playful:{radius:"2xl",shadow:"colored",fill:"gradient-linear",buttonStyle:"gradient",inputStyle:"filled",cardStyle:"gradient",badgeStyle:"gradient",tabStyle:"pills",toggleStyle:"pill",tooltipStyle:"primary",tableStyle:"hoverable",animation:"playful",density:"comfortable"},enterprise:{radius:"sm",shadow:"subtle",fill:"solid",buttonStyle:"outlined",inputStyle:"bordered",cardStyle:"bordered",badgeStyle:"outlined",tabStyle:"enclosed",toggleStyle:"default",tooltipStyle:"dark",tableStyle:"striped",animation:"subtle",density:"compact"},modern3d:{radius:"lg",shadow:"xl",fill:"gradient-linear",buttonStyle:"3d",inputStyle:"filled",cardStyle:"elevated",badgeStyle:"gradient",tabStyle:"lifted",toggleStyle:"ios",tooltipStyle:"dark",tableStyle:"default",animation:"normal",density:"normal"},brutalist:{radius:"none",shadow:"none",fill:"solid",buttonStyle:"brutal",inputStyle:"bordered",cardStyle:"outlined",badgeStyle:"solid",tabStyle:"bordered",toggleStyle:"square",tooltipStyle:"bordered",tableStyle:"bordered",animation:"none",density:"normal"},luxe:{radius:"sm",shadow:"lg",fill:"gradient-linear",buttonStyle:"gradient",inputStyle:"floating",cardStyle:"elevated",badgeStyle:"gradient",tabStyle:"underline",toggleStyle:"ios",tooltipStyle:"dark",tableStyle:"hoverable",animation:"normal",density:"comfortable"},pill:{radius:"full",shadow:"md",fill:"solid",buttonStyle:"pill",inputStyle:"pill",cardStyle:"elevated",badgeStyle:"pill",tabStyle:"pills",toggleStyle:"pill",tooltipStyle:"dark",tableStyle:"default",animation:"normal",density:"normal"},flat:{radius:"md",shadow:"none",fill:"solid",buttonStyle:"flat",inputStyle:"filled",cardStyle:"flat",badgeStyle:"soft",tabStyle:"soft",toggleStyle:"flat",tooltipStyle:"light",tableStyle:"minimal",animation:"subtle",density:"normal"},editorial:{radius:"none",shadow:"subtle",fill:"solid",buttonStyle:"ghost",inputStyle:"underlined",cardStyle:"paper",badgeStyle:"outlined",tabStyle:"underline",toggleStyle:"flat",tooltipStyle:"light",tableStyle:"minimal",animation:"subtle",density:"comfortable"},dashboard:{radius:"md",shadow:"md",fill:"solid",buttonStyle:"flat",inputStyle:"bordered",cardStyle:"elevated",badgeStyle:"solid",tabStyle:"enclosed",toggleStyle:"default",tooltipStyle:"dark",tableStyle:"striped",animation:"subtle",density:"compact"},softCloud:{radius:"xl",shadow:"subtle",fill:"frosted",buttonStyle:"soft",inputStyle:"soft",cardStyle:"glass",badgeStyle:"soft",tabStyle:"soft",toggleStyle:"ios",tooltipStyle:"glass",tableStyle:"hoverable",animation:"normal",density:"comfortable"},cosmic:{radius:"lg",shadow:"glow",fill:"mesh",buttonStyle:"gradient",inputStyle:"soft",cardStyle:"glass",badgeStyle:"gradient",tabStyle:"pills",toggleStyle:"ios",tooltipStyle:"glass",tableStyle:"hoverable",animation:"dramatic",density:"comfortable"},corporate:{radius:"sm",shadow:"subtle",fill:"solid",buttonStyle:"outlined",inputStyle:"bordered",cardStyle:"bordered",badgeStyle:"outlined",tabStyle:"enclosed",toggleStyle:"default",tooltipStyle:"dark",tableStyle:"striped",animation:"none",density:"compact"},bank:{radius:"none",shadow:"subtle",fill:"solid",buttonStyle:"outlined",inputStyle:"bordered",cardStyle:"bordered",badgeStyle:"solid",tabStyle:"bordered",toggleStyle:"square",tooltipStyle:"dark",tableStyle:"bordered",animation:"none",density:"compact"},government:{radius:"sm",shadow:"none",fill:"solid",buttonStyle:"flat",inputStyle:"bordered",cardStyle:"flat",badgeStyle:"solid",tabStyle:"enclosed",toggleStyle:"default",tooltipStyle:"dark",tableStyle:"striped",animation:"none",density:"normal"},military:{radius:"none",shadow:"lg",fill:"solid",buttonStyle:"raised",inputStyle:"bordered",cardStyle:"bordered",badgeStyle:"solid",tabStyle:"bordered",toggleStyle:"square",tooltipStyle:"dark",tableStyle:"bordered",animation:"none",density:"compact"},legal:{radius:"none",shadow:"none",fill:"solid",buttonStyle:"ghost",inputStyle:"underlined",cardStyle:"paper",badgeStyle:"outlined",tabStyle:"underline",toggleStyle:"flat",tooltipStyle:"light",tableStyle:"minimal",animation:"none",density:"comfortable"},medical:{radius:"md",shadow:"subtle",fill:"solid",buttonStyle:"soft",inputStyle:"bordered",cardStyle:"elevated",badgeStyle:"soft",tabStyle:"enclosed",toggleStyle:"ios",tooltipStyle:"light",tableStyle:"striped",animation:"subtle",density:"normal"},swiss:{radius:"none",shadow:"none",fill:"solid",buttonStyle:"flat",inputStyle:"underlined",cardStyle:"flat",badgeStyle:"outlined",tabStyle:"underline",toggleStyle:"flat",tooltipStyle:"light",tableStyle:"minimal",animation:"subtle",density:"normal"},scandinavian:{radius:"lg",shadow:"subtle",fill:"solid",buttonStyle:"soft",inputStyle:"filled",cardStyle:"flat",badgeStyle:"soft",tabStyle:"soft",toggleStyle:"ios",tooltipStyle:"light",tableStyle:"minimal",animation:"subtle",density:"spacious"},bauhaus:{radius:"none",shadow:"none",fill:"solid",buttonStyle:"flat",inputStyle:"bordered",cardStyle:"outlined",badgeStyle:"solid",tabStyle:"bordered",toggleStyle:"square",tooltipStyle:"bordered",tableStyle:"bordered",animation:"none",density:"normal"},notebook:{radius:"md",shadow:"subtle",fill:"solid",buttonStyle:"ghost",inputStyle:"underlined",cardStyle:"paper",badgeStyle:"soft",tabStyle:"underline",toggleStyle:"flat",tooltipStyle:"light",tableStyle:"minimal",animation:"subtle",density:"comfortable"},terminal:{radius:"none",shadow:"glow",fill:"solid",buttonStyle:"outlined",inputStyle:"bordered",cardStyle:"bordered",badgeStyle:"solid",tabStyle:"bordered",toggleStyle:"square",tooltipStyle:"bordered",tableStyle:"bordered",animation:"none",density:"compact"},hacker:{radius:"none",shadow:"glow",fill:"solid",buttonStyle:"outlined",inputStyle:"bordered",cardStyle:"outlined",badgeStyle:"outlined",tabStyle:"bordered",toggleStyle:"square",tooltipStyle:"bordered",tableStyle:"bordered",animation:"subtle",density:"compact"},retro8bit:{radius:"none",shadow:"none",fill:"solid",buttonStyle:"brutal",inputStyle:"bordered",cardStyle:"outlined",badgeStyle:"solid",tabStyle:"bordered",toggleStyle:"square",tooltipStyle:"bordered",tableStyle:"bordered",animation:"none",density:"normal"},vapor:{radius:"lg",shadow:"glow",fill:"gradient-linear",buttonStyle:"gradient",inputStyle:"soft",cardStyle:"glass",badgeStyle:"gradient",tabStyle:"pills",toggleStyle:"pill",tooltipStyle:"glass",tableStyle:"hoverable",animation:"playful",density:"comfortable"},synthwave:{radius:"md",shadow:"glow",fill:"gradient-linear",buttonStyle:"3d",inputStyle:"filled",cardStyle:"glass",badgeStyle:"gradient",tabStyle:"lifted",toggleStyle:"ios",tooltipStyle:"glass",tableStyle:"hoverable",animation:"dramatic",density:"normal"},cyberpunk:{radius:"none",shadow:"glow",fill:"gradient-linear",buttonStyle:"brutal",inputStyle:"bordered",cardStyle:"bordered",badgeStyle:"solid",tabStyle:"bordered",toggleStyle:"square",tooltipStyle:"bordered",tableStyle:"bordered",animation:"dramatic",density:"compact"},steampunk:{radius:"sm",shadow:"inner",fill:"solid",buttonStyle:"raised",inputStyle:"bordered",cardStyle:"bordered",badgeStyle:"solid",tabStyle:"enclosed",toggleStyle:"default",tooltipStyle:"bordered",tableStyle:"bordered",animation:"subtle",density:"normal"},origami:{radius:"none",shadow:"md",fill:"solid",buttonStyle:"raised",inputStyle:"filled",cardStyle:"elevated",badgeStyle:"soft",tabStyle:"lifted",toggleStyle:"flat",tooltipStyle:"light",tableStyle:"default",animation:"normal",density:"normal"},watercolor:{radius:"2xl",shadow:"subtle",fill:"frosted",buttonStyle:"soft",inputStyle:"soft",cardStyle:"glass",badgeStyle:"soft",tabStyle:"soft",toggleStyle:"pill",tooltipStyle:"glass",tableStyle:"minimal",animation:"normal",density:"comfortable"},neon:{radius:"md",shadow:"glow",fill:"solid",buttonStyle:"outlined",inputStyle:"bordered",cardStyle:"outlined",badgeStyle:"outlined",tabStyle:"bordered",toggleStyle:"default",tooltipStyle:"bordered",tableStyle:"bordered",animation:"dramatic",density:"normal"},candy:{radius:"2xl",shadow:"colored",fill:"gradient-linear",buttonStyle:"pill",inputStyle:"pill",cardStyle:"elevated",badgeStyle:"pill",tabStyle:"pills",toggleStyle:"pill",tooltipStyle:"primary",tableStyle:"hoverable",animation:"playful",density:"comfortable"},bubblegum:{radius:"full",shadow:"colored",fill:"gradient-radial",buttonStyle:"pill",inputStyle:"pill",cardStyle:"elevated",badgeStyle:"pill",tabStyle:"pills",toggleStyle:"pill",tooltipStyle:"primary",tableStyle:"hoverable",animation:"playful",density:"spacious"},cartoon:{radius:"xl",shadow:"colored",fill:"solid",buttonStyle:"brutal",inputStyle:"bordered",cardStyle:"outlined",badgeStyle:"solid",tabStyle:"enclosed",toggleStyle:"pill",tooltipStyle:"bordered",tableStyle:"bordered",animation:"playful",density:"comfortable"},kawaii:{radius:"full",shadow:"colored",fill:"gradient-linear",buttonStyle:"pill",inputStyle:"pill",cardStyle:"gradient",badgeStyle:"pill",tabStyle:"pills",toggleStyle:"pill",tooltipStyle:"primary",tableStyle:"hoverable",animation:"dramatic",density:"spacious"},circus:{radius:"full",shadow:"colored",fill:"gradient-conic",buttonStyle:"gradient",inputStyle:"filled",cardStyle:"gradient",badgeStyle:"gradient",tabStyle:"pills",toggleStyle:"pill",tooltipStyle:"primary",tableStyle:"striped",animation:"dramatic",density:"spacious"},paper:{radius:"sm",shadow:"md",fill:"solid",buttonStyle:"ghost",inputStyle:"underlined",cardStyle:"paper",badgeStyle:"soft",tabStyle:"underline",toggleStyle:"flat",tooltipStyle:"light",tableStyle:"minimal",animation:"subtle",density:"comfortable"},zen:{radius:"md",shadow:"none",fill:"solid",buttonStyle:"ghost",inputStyle:"underlined",cardStyle:"flat",badgeStyle:"soft",tabStyle:"underline",toggleStyle:"flat",tooltipStyle:"light",tableStyle:"minimal",animation:"subtle",density:"spacious"},monochrome:{radius:"none",shadow:"none",fill:"solid",buttonStyle:"outlined",inputStyle:"bordered",cardStyle:"outlined",badgeStyle:"outlined",tabStyle:"bordered",toggleStyle:"square",tooltipStyle:"bordered",tableStyle:"bordered",animation:"none",density:"normal"},windows95:{radius:"none",shadow:"none",fill:"solid",buttonStyle:"raised",inputStyle:"bordered",cardStyle:"bordered",badgeStyle:"solid",tabStyle:"enclosed",toggleStyle:"square",tooltipStyle:"bordered",tableStyle:"bordered",animation:"none",density:"compact"},material:{radius:"md",shadow:"md",fill:"solid",buttonStyle:"raised",inputStyle:"filled",cardStyle:"elevated",badgeStyle:"solid",tabStyle:"underline",toggleStyle:"default",tooltipStyle:"dark",tableStyle:"default",animation:"normal",density:"normal"},fluent:{radius:"md",shadow:"subtle",fill:"frosted",buttonStyle:"soft",inputStyle:"filled",cardStyle:"glass",badgeStyle:"soft",tabStyle:"soft",toggleStyle:"ios",tooltipStyle:"glass",tableStyle:"hoverable",animation:"subtle",density:"normal"},cupertino:{radius:"xl",shadow:"md",fill:"frosted",buttonStyle:"soft",inputStyle:"filled",cardStyle:"glass",badgeStyle:"pill",tabStyle:"pills",toggleStyle:"ios",tooltipStyle:"glass",tableStyle:"minimal",animation:"normal",density:"comfortable"},ant:{radius:"md",shadow:"subtle",fill:"solid",buttonStyle:"raised",inputStyle:"bordered",cardStyle:"elevated",badgeStyle:"solid",tabStyle:"underline",toggleStyle:"default",tooltipStyle:"dark",tableStyle:"default",animation:"subtle",density:"normal"},bootstrap:{radius:"md",shadow:"subtle",fill:"solid",buttonStyle:"raised",inputStyle:"bordered",cardStyle:"elevated",badgeStyle:"pill",tabStyle:"underline",toggleStyle:"default",tooltipStyle:"dark",tableStyle:"striped",animation:"subtle",density:"normal"},chakra:{radius:"md",shadow:"md",fill:"solid",buttonStyle:"raised",inputStyle:"bordered",cardStyle:"elevated",badgeStyle:"soft",tabStyle:"enclosed",toggleStyle:"default",tooltipStyle:"dark",tableStyle:"default",animation:"normal",density:"normal"},notion:{radius:"sm",shadow:"none",fill:"solid",buttonStyle:"ghost",inputStyle:"flush",cardStyle:"flat",badgeStyle:"soft",tabStyle:"underline",toggleStyle:"flat",tooltipStyle:"light",tableStyle:"minimal",animation:"subtle",density:"normal"},linear:{radius:"md",shadow:"subtle",fill:"solid",buttonStyle:"soft",inputStyle:"filled",cardStyle:"elevated",badgeStyle:"soft",tabStyle:"soft",toggleStyle:"ios",tooltipStyle:"dark",tableStyle:"hoverable",animation:"subtle",density:"compact"},vercel:{radius:"md",shadow:"subtle",fill:"solid",buttonStyle:"outlined",inputStyle:"bordered",cardStyle:"bordered",badgeStyle:"outlined",tabStyle:"underline",toggleStyle:"default",tooltipStyle:"dark",tableStyle:"minimal",animation:"subtle",density:"normal"},gaming:{radius:"none",shadow:"glow",fill:"gradient-linear",buttonStyle:"3d",inputStyle:"bordered",cardStyle:"bordered",badgeStyle:"gradient",tabStyle:"bordered",toggleStyle:"square",tooltipStyle:"bordered",tableStyle:"bordered",animation:"dramatic",density:"normal"},kiddo:{radius:"2xl",shadow:"colored",fill:"gradient-radial",buttonStyle:"pill",inputStyle:"pill",cardStyle:"gradient",badgeStyle:"pill",tabStyle:"pills",toggleStyle:"pill",tooltipStyle:"primary",tableStyle:"hoverable",animation:"playful",density:"spacious"},disco:{radius:"full",shadow:"glow",fill:"gradient-conic",buttonStyle:"gradient",inputStyle:"filled",cardStyle:"gradient",badgeStyle:"gradient",tabStyle:"pills",toggleStyle:"pill",tooltipStyle:"glass",tableStyle:"hoverable",animation:"dramatic",density:"comfortable"},clown:{radius:"full",shadow:"colored",fill:"gradient-conic",buttonStyle:"brutal",inputStyle:"pill",cardStyle:"gradient",badgeStyle:"gradient",tabStyle:"pills",toggleStyle:"pill",tooltipStyle:"primary",tableStyle:"striped",animation:"dramatic",density:"spacious"}};function it(e,t=":root"){const r=se[e.radius],o=e.shadow,a=de[e.density],i=Ce[e.animation],s=[`${t} {`];for(const[n,l]of Object.entries(r))s.push(` --ntd-radius-${n}: ${l};`);s.push(` --ntd-shadow: ${we[o]};`),s.push(` --ntd-shadow-dark: ${_t[o]};`);for(const[n,l]of Object.entries(a)){const c=n.replace(/([A-Z])/g,"-$1").toLowerCase();s.push(` --ntd-${c}: ${l};`)}for(const[n,l]of Object.entries(i)){const c=n.replace(/([A-Z])/g,"-$1").toLowerCase();s.push(` --ntd-animation-${c}: ${l};`)}return e.backgroundImage&&s.push(` --ntd-bg-image: url('${e.backgroundImage}');`),e.backgroundOverlay&&s.push(` --ntd-bg-overlay: ${e.backgroundOverlay};`),s.push("}"),s.join(`
11
+ `)}function nt(e,t=document.documentElement,r){const o=r?`[data-ntd-provider="${r}"]`:":root",a=r?`ntd-variant-styles-${r}`:"ntd-variant-styles",i=it(e,o);let s=document.getElementById(a);s||(s=document.createElement("style"),s.id=a,document.head.appendChild(s)),s.textContent=i,r&&t.setAttribute("data-ntd-provider",r),t.dataset.ntdRadius=e.radius,t.dataset.ntdShadow=e.shadow,t.dataset.ntdFill=e.fill,t.dataset.ntdButton=e.buttonStyle,t.dataset.ntdInput=e.inputStyle,t.dataset.ntdCard=e.cardStyle,t.dataset.ntdAnimation=e.animation,t.dataset.ntdDensity=e.density,e.badgeStyle&&(t.dataset.ntdBadge=e.badgeStyle),e.tabStyle&&(t.dataset.ntdTab=e.tabStyle),e.toggleStyle&&(t.dataset.ntdToggle=e.toggleStyle),e.tooltipStyle&&(t.dataset.ntdTooltip=e.tooltipStyle),e.modalStyle&&(t.dataset.ntdModal=e.modalStyle),e.tableStyle&&(t.dataset.ntdTable=e.tableStyle),e.menuStyle&&(t.dataset.ntdMenu=e.menuStyle)}function nn(e,t){const r=document.getElementById(`ntd-variant-styles-${e}`);r&&r.remove(),t&&t.removeAttribute("data-ntd-provider")}function Z(e,t){if(e.startsWith("#")){const r=e.slice(1),o=parseInt(r,16),a=Math.max(0,Math.min(255,(o>>16&255)+t)),i=Math.max(0,Math.min(255,(o>>8&255)+t)),s=Math.max(0,Math.min(255,(o&255)+t));return`#${(a<<16|i<<8|s).toString(16).padStart(6,"0")}`}return e}function sn(e,t){const r={...U,...t};return{...e,variantConfig:r}}const ln=["default","minimal","rounded","sharp","glass","neumorphic","playful","enterprise","modern3d","brutalist","luxe","pill","flat","editorial","dashboard","softCloud","cosmic","corporate","bank","government","military","legal","medical","swiss","scandinavian","bauhaus","notebook","origami","watercolor","monochrome","paper","zen","terminal","hacker","retro8bit","synthwave","cyberpunk","steampunk","vapor","neon","windows95","material","fluent","cupertino","ant","bootstrap","chakra","notion","linear","vercel","candy","bubblegum","cartoon","kawaii","circus","gaming","kiddo","disco","clown"];function le(e){return e==="default"?U:ze[e]??U}const je=d.createContext({displayStyle:"default",variantConfig:U,setDisplayStyle:()=>{}});function dn(){return d.useContext(je)}function ce(e){const t=d.useContext(je),r=e??t.displayStyle??"default",o=le(r);return{style:r,config:o}}function cn(e,t,r="var(--color-primary, #6366f1)"){const{config:o}=ce(t);return rr(e,o,r)}function un(e,t){const{config:r}=ce(t);switch(e){case"button":return r.buttonStyle;case"input":return r.inputStyle;case"card":return r.cardStyle;case"badge":return r.badgeStyle??"solid";case"tab":return r.tabStyle??"underline";case"toggle":return r.toggleStyle??"default";case"tooltip":return r.tooltipStyle??"dark";case"modal":return r.modalStyle??"default";case"table":return r.tableStyle??"default";case"menu":return r.menuStyle??"default";default:return"default"}}function pn(e){const{config:t}=ce(e),r=de[t.density];return{"--ntd-padding-x":r.paddingX,"--ntd-padding-y":r.paddingY,"--ntd-gap":r.gap,"--ntd-font-size":r.fontSize,"--ntd-line-height":r.lineHeight,"--ntd-input-height":r.inputHeight,"--ntd-button-height":r.buttonHeight}}function mn(e){const{config:t}=ce(e),r=Ce[t.animation];return{"--ntd-anim-duration":r.duration,"--ntd-anim-easing":r.easing,"--ntd-hover-scale":r.hoverScale,"--ntd-click-scale":r.clickScale}}function rr(e,t,r="var(--nice-info, #6366f1)"){switch(e){case"button":return rt(t.buttonStyle,r);case"input":return ot(t.inputStyle);case"card":return at(t.cardStyle);case"badge":return Jt(t.badgeStyle??"solid",r);case"tab":return Yt(t.tabStyle??"underline",r);case"toggle":return Qt(t.toggleStyle??"default");case"tooltip":return er(t.tooltipStyle??"dark");case"table":return tr(t.tableStyle??"default");case"menu":return{};case"modal":return{};default:return{}}}function or(e){const t=le(e);return{"data-ntd-display-style":e,"data-ntd-density":t.density,"data-ntd-animation":t.animation,"data-ntd-radius":t.radius,"data-ntd-button":t.buttonStyle,"data-ntd-input":t.inputStyle,"data-ntd-card":t.cardStyle}}const fn=[{name:"default",label:"Default",description:"Standard balanced look",density:"normal",animation:"normal"},{name:"minimal",label:"Minimal",description:"Subtle shadows, underlined inputs",density:"normal",animation:"subtle"},{name:"rounded",label:"Rounded",description:"Large radii, pill tabs, filled inputs",density:"comfortable",animation:"normal"},{name:"sharp",label:"Sharp",description:"Zero radius, bordered cards, compact",density:"compact",animation:"subtle"},{name:"glass",label:"Glass",description:"Glassmorphism with frosted backdrops",density:"normal",animation:"normal"},{name:"neumorphic",label:"Neumorphic",description:"Soft raised and sunken surfaces",density:"comfortable",animation:"subtle"},{name:"playful",label:"Playful",description:"Gradients, bouncy animations, colorful",density:"comfortable",animation:"playful"},{name:"enterprise",label:"Enterprise",description:"Conservative, outlined, striped tables",density:"compact",animation:"subtle"},{name:"modern3d",label:"Modern 3D",description:"Deep shadows, 3D buttons, elevated",density:"normal",animation:"normal"},{name:"brutalist",label:"Brutalist",description:"Raw bold borders, no radius, no shadow",density:"normal",animation:"none"},{name:"luxe",label:"Luxe",description:"Premium feel with gradients and depth",density:"comfortable",animation:"normal"},{name:"pill",label:"Pill",description:"Full-radius pill shapes everywhere",density:"normal",animation:"normal"},{name:"flat",label:"Flat",description:"No shadows, filled inputs, soft badges",density:"normal",animation:"subtle"},{name:"editorial",label:"Editorial",description:"Clean typographic, paper cards",density:"comfortable",animation:"subtle"},{name:"dashboard",label:"Dashboard",description:"Data-dense, enclosed tabs, striped",density:"compact",animation:"subtle"},{name:"softCloud",label:"Soft Cloud",description:"Frosted glass, soft iOS-style toggles",density:"comfortable",animation:"normal"},{name:"cosmic",label:"Cosmic",description:"Mesh backgrounds, glowing shadows",density:"comfortable",animation:"dramatic"},{name:"corporate",label:"Corporate",description:"Safe, grey, no flair — boardroom ready",density:"compact",animation:"none"},{name:"bank",label:"Bank",description:"Ultra-conservative, heavy borders",density:"compact",animation:"none"},{name:"government",label:"Government",description:"Accessible, high-contrast, minimal",density:"normal",animation:"none"},{name:"military",label:"Military",description:"Dark, angular, no-nonsense tactical",density:"compact",animation:"none"},{name:"legal",label:"Legal",description:"Typographic, paper-like, document feel",density:"comfortable",animation:"none"},{name:"medical",label:"Medical",description:"Clean clinical, professional blue-toned",density:"normal",animation:"subtle"},{name:"swiss",label:"Swiss",description:"Grid-based, Helvetica spirit, precision",density:"normal",animation:"subtle"},{name:"scandinavian",label:"Scandinavian",description:"Warm, spacious, hygge-inspired calm",density:"spacious",animation:"subtle"},{name:"bauhaus",label:"Bauhaus",description:"Geometric, primary colours, strong lines",density:"normal",animation:"none"},{name:"notebook",label:"Notebook",description:"Handwritten feel, paper textures, ruled",density:"comfortable",animation:"subtle"},{name:"origami",label:"Origami",description:"Folded paper, subtle shadows, layered",density:"normal",animation:"normal"},{name:"watercolor",label:"Watercolor",description:"Soft bleeding edges, artistic, dreamy",density:"comfortable",animation:"normal"},{name:"monochrome",label:"Monochrome",description:"Pure black & white, typography focus",density:"normal",animation:"none"},{name:"paper",label:"Paper",description:"Minimal white, subtle shadows, like stationery",density:"comfortable",animation:"subtle"},{name:"zen",label:"Zen",description:"Ultra-minimal, whitespace, meditative calm",density:"spacious",animation:"subtle"},{name:"terminal",label:"Terminal",description:"Monospace, dark, retro-computing green",density:"compact",animation:"none"},{name:"hacker",label:"Hacker",description:"Matrix-style, neon green on black",density:"compact",animation:"subtle"},{name:"retro8bit",label:"8-bit Retro",description:"Pixel art, chunky borders, game boy era",density:"normal",animation:"none"},{name:"synthwave",label:"Synthwave",description:"80s synth, neon grids, chrome gradients",density:"normal",animation:"dramatic"},{name:"cyberpunk",label:"Cyberpunk",description:"Angular, neon, glitch aesthetics, dark",density:"compact",animation:"dramatic"},{name:"steampunk",label:"Steampunk",description:"Brass, gears, Victorian-era technology",density:"normal",animation:"subtle"},{name:"vapor",label:"Vaporwave",description:"80s/90s aesthetics, pink/teal gradients",density:"comfortable",animation:"playful"},{name:"neon",label:"Neon",description:"Bright glowing outlines on dark surfaces",density:"normal",animation:"dramatic"},{name:"windows95",label:"Windows 95",description:"Chunky beveled 3D, classic OS nostalgia",density:"compact",animation:"none"},{name:"material",label:"Material",description:"Google Material Design — depth & motion",density:"normal",animation:"normal"},{name:"fluent",label:"Fluent",description:"Microsoft Fluent — acrylic, reveal, depth",density:"normal",animation:"subtle"},{name:"cupertino",label:"Cupertino",description:"Apple iOS/macOS style — frosted, rounded",density:"comfortable",animation:"normal"},{name:"ant",label:"Ant Design",description:"Ant Design — clean, reliable, professional",density:"normal",animation:"subtle"},{name:"bootstrap",label:"Bootstrap",description:"Bootstrap-like — rounded, striped tables",density:"normal",animation:"subtle"},{name:"chakra",label:"Chakra",description:"Chakra UI — accessible, clean, modern",density:"normal",animation:"normal"},{name:"notion",label:"Notion",description:"Notion-like — text-focused, minimal chrome",density:"normal",animation:"subtle"},{name:"linear",label:"Linear",description:"Linear app — sleek, dark, polished",density:"compact",animation:"subtle"},{name:"vercel",label:"Vercel",description:"Vercel/Next.js — black/white, sharp, modern",density:"normal",animation:"subtle"},{name:"candy",label:"Candy",description:"Sweet pastels, rounded, sugar rush!",density:"comfortable",animation:"playful"},{name:"bubblegum",label:"Bubblegum",description:"Pink puffy bubbles, extremely round",density:"spacious",animation:"playful"},{name:"cartoon",label:"Cartoon",description:"Thick outlines, bold colours, exaggerated",density:"comfortable",animation:"playful"},{name:"kawaii",label:"Kawaii",description:"Cute, pastel, sparkly, UwU aesthetic",density:"spacious",animation:"dramatic"},{name:"circus",label:"Circus",description:"Bold stripes, loud, step right up!",density:"spacious",animation:"dramatic"},{name:"gaming",label:"Gaming",description:"Dark, neon accents, angular, RGB everything",density:"normal",animation:"dramatic"},{name:"kiddo",label:"Kiddo",description:"Colourful, puffy, child-friendly, big touch",density:"spacious",animation:"playful"},{name:"disco",label:"Disco",description:"Flashing, spinning, Saturday night fever 🕺",density:"comfortable",animation:"dramatic"},{name:"clown",label:"Clown",description:"Maximum chaos, honk honk, pure madness 🤡",density:"spacious",animation:"dramatic"}];function gn({enabled:e,readOnly:t,disabled:r}){const[o,a]=d.useState(!1),i=d.useRef(!1),s=d.useCallback(()=>{t||r||!e||(i.current=!0,a(!0))},[t,r,e]),n=d.useCallback(()=>{a(!1)},[]),l=d.useCallback(c=>{c&&i.current&&(i.current=!1,requestAnimationFrame(()=>{if(c.focus(),c instanceof HTMLInputElement||c instanceof HTMLTextAreaElement)try{c.select()}catch{}}))},[]);return d.useEffect(()=>{(t||r)&&o&&a(!1)},[t,r,o]),{isDisplay:!!e&&!o,enterEdit:s,exitEdit:n,autoFocusRef:l}}const hn=({value:e,placeholder:t,disabled:r,readOnly:o,onActivate:a,className:i,ariaLabel:s})=>{const n=e==null||e==="",l=c=>{r||o||(c.key==="Enter"||c.key===" ")&&(c.preventDefault(),a())};return g.jsx("span",{role:"button",tabIndex:r?-1:0,className:`nice-display-value ${n?"nice-display-value--empty":""} ${r?"nice-display-value--disabled":""} ${o?"nice-display-value--readonly":""} ${i||""}`.trim(),onClick:()=>{!r&&!o&&a()},onKeyDown:l,"aria-label":s,"aria-disabled":r||void 0,children:n?t??"—":e})};function yn(e){if(!e)return"";let t=e;return t=t.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,""),t=t.replace(/\s+on\w+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+)/gi,""),t=t.replace(/(href|src|action)\s*=\s*(?:"javascript:[^"]*"|'javascript:[^']*')/gi,'$1=""'),t=t.replace(/(href|src|action)\s*=\s*(?:"vbscript:[^"]*"|'vbscript:[^']*')/gi,'$1=""'),t=t.replace(/<\/?(iframe|object|embed|form)\b[^>]*>/gi,""),t}const ar={"chevron-down":"M6 9l6 6 6-6","chevron-up":"M18 15l-6-6-6 6","chevron-left":"M15 18l-6-6 6-6","chevron-right":"M9 6l6 6-6 6","arrow-left":"M19 12H5m0 0l7 7m-7-7l7-7","arrow-right":"M5 12h14m0 0l-7-7m7 7l-7 7","arrow-up":"M12 19V5m0 0l-7 7m7-7l7 7","arrow-down":"M12 5v14m0 0l7-7m-7 7l-7-7",close:"M18 6L6 18M6 6l12 12",plus:"M12 5v14m-7-7h14",minus:"M5 12h14",check:"M5 13l4 4L19 7",edit:"M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7M18.5 2.5a2.121 2.121 0 113 3L12 15l-4 1 1-4 9.5-9.5z",trash:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16",copy:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z",download:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4",upload:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12",refresh:"M4 4v5h5M20 20v-5h-5M20.49 9A9 9 0 005.64 5.64L1 10m22 4l-4.64 4.36A9 9 0 013.51 15",search:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z",filter:"M3 4a1 1 0 011-1h16a1 1 0 011 1v2.586a1 1 0 01-.293.707l-6.414 6.414a1 1 0 00-.293.707V17l-4 4v-6.586a1 1 0 00-.293-.707L3.293 7.293A1 1 0 013 6.586V4z","sort-asc":"M3 4h13M3 8h9m-9 4h6m4 0l4-4m0 0l4 4m-4-4v12","sort-desc":"M3 4h13M3 8h9m-9 4h9m5-4v12m0 0l-4-4m4 4l4-4",menu:"M4 6h16M4 12h16M4 18h16","more-vertical":"M12 5v.01M12 12v.01M12 19v.01","more-horizontal":"M5 12h.01M12 12h.01M19 12h.01",settings:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.066 2.573c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.573 1.066c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.066-2.573c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z M15 12a3 3 0 11-6 0 3 3 0 016 0z",eye:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z M15 12a3 3 0 11-6 0 3 3 0 016 0z","eye-off":"M17.94 17.94A10.07 10.07 0 0112 20c-7 0-11-8-11-8a18.45 18.45 0 015.06-5.94M9.9 4.24A9.12 9.12 0 0112 4c7 0 11 8 11 8a18.5 18.5 0 01-2.16 3.19m-6.72-1.07a3 3 0 11-4.24-4.24 M1 1l22 22",lock:"M19 11H5a2 2 0 00-2 2v7a2 2 0 002 2h14a2 2 0 002-2v-7a2 2 0 00-2-2zm-3-4a4 4 0 10-8 0v4h8V7z",info:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z",warning:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z",error:"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z",success:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z",help:"M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z",calendar:"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z",clock:"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z",file:"M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z",folder:"M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z",image:"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z",link:"M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1",mail:"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z",phone:"M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z",user:"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z",users:"M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z",home:"M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6",star:"M11.049 2.927c.3-.921 1.603-.921 1.902 0l1.519 4.674a1 1 0 00.95.69h4.915c.969 0 1.371 1.24.588 1.81l-3.976 2.888a1 1 0 00-.363 1.118l1.518 4.674c.3.922-.755 1.688-1.538 1.118l-3.976-2.888a1 1 0 00-1.176 0l-3.976 2.888c-.783.57-1.838-.197-1.538-1.118l1.518-4.674a1 1 0 00-.363-1.118l-3.976-2.888c-.784-.57-.38-1.81.588-1.81h4.914a1 1 0 00.951-.69l1.519-4.674z",heart:"M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z",bell:"M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9",grip:"M4 6h2m4 0h2m4 0h2M4 12h2m4 0h2m4 0h2M4 18h2m4 0h2m4 0h2",play:"M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z M21 12a9 9 0 11-18 0 9 9 0 0118 0z",pause:"M10 9v6m4-6v6m7-3a9 9 0 11-18 0 9 9 0 0118 0z",stop:"M21 12a9 9 0 11-18 0 9 9 0 0118 0z M9 10a1 1 0 011-1h4a1 1 0 011 1v4a1 1 0 01-1 1h-4a1 1 0 01-1-1v-4z",expand:"M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4",collapse:"M9 9V5m0 4H5m4 0L4 4m11 5h4m-4 0V5m0 4l5-5M9 15v4m0-4H5m4 0l-5 5m15-5h-4m4 0v4m0-4l-5 5","external-link":"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"},bn={xs:12,sm:16,md:20,lg:24,xl:32},st=d.createContext({}),vn=({resolver:e,children:t})=>d.createElement(st.Provider,{value:{resolver:e}},t);function wn({path:e,size:t,className:r,style:o,color:a,title:i,onClick:s}){return g.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,viewBox:"0 0 24 24",fill:"none",stroke:a||"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:`nice-icon ${r||""}`,style:o,role:i?"img":"presentation","aria-label":i,"aria-hidden":!i,onClick:s,children:[i&&g.jsx("title",{children:i}),g.jsx("path",{d:e})]})}const ir=({name:e,size:t="md",className:r,style:o,color:a,title:i,onClick:s})=>{const{resolver:n}=d.useContext(st),l=typeof t=="number"?t:bn[t];if(n){const u=n(e,l);if(u)return g.jsx("span",{className:`nice-icon-wrap ${r||""}`,style:o,onClick:s,children:u})}const c=ar[e];return c?g.jsx(wn,{path:c,size:l,className:r,style:o,color:a,title:i,onClick:s}):null};function kn(){const{resolver:e}=d.useContext(st);return{renderIcon:d.useCallback((t,r="md")=>t==null?null:typeof t!="string"?t:d.createElement(ir,{name:t,size:r}),[e])}}const Sn=Object.keys(ar);function xn(){const[e,t]=d.useState(()=>typeof window<"u"?window.matchMedia("(pointer: coarse)").matches:!1);return d.useEffect(()=>{const r=window.matchMedia("(pointer: coarse)");t(r.matches);const o=a=>t(a.matches);return r.addEventListener("change",o),()=>r.removeEventListener("change",o)},[]),e}function En(){const[e,t]=d.useState(()=>typeof window<"u"&&window.matchMedia("(pointer: coarse)").matches?"touch":"mouse");return d.useEffect(()=>{const r=()=>t("touch"),o=a=>{a.pointerType==="mouse"&&t("mouse")};return window.addEventListener("touchstart",r,{passive:!0,capture:!0}),window.addEventListener("pointerdown",o,{capture:!0}),()=>{window.removeEventListener("touchstart",r,{capture:!0}),window.removeEventListener("pointerdown",o,{capture:!0})}},[]),e}function Cn(e,t=500){const r=d.useRef(null),o=d.useCallback(()=>{r.current&&(clearTimeout(r.current),r.current=null)},[]);return{onPointerDown:d.useCallback(a=>{a.pointerType==="touch"&&(o(),r.current=setTimeout(e,t))},[e,t,o]),onPointerUp:o,onPointerCancel:o}}function zn(e){const t=d.useId();return e||t}function jn(e,t){const[r,o]=d.useState(e);return d.useEffect(()=>{const a=setTimeout(()=>o(e),t);return()=>clearTimeout(a)},[e,t]),r}function Dn(e,t){d.useEffect(()=>{const r=o=>{!e.current||e.current.contains(o.target)||t()};return document.addEventListener("mousedown",r),document.addEventListener("touchstart",r),()=>{document.removeEventListener("mousedown",r),document.removeEventListener("touchstart",r)}},[e,t])}function Mn(e,t){d.useEffect(()=>{if(!t||!e.current)return;const r=e.current,o=document.activeElement,a=r.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'),i=a[0],s=a[a.length-1],n=l=>{l.key==="Tab"&&(l.shiftKey?document.activeElement===i&&(l.preventDefault(),s?.focus()):document.activeElement===s&&(l.preventDefault(),i?.focus()))};return i?.focus(),r.addEventListener("keydown",n),()=>{var l;r.removeEventListener("keydown",n),(l=o?.focus)==null||l.call(o)}},[e,t])}function An(e={}){const{defaultMode:t="system",storageKey:r="nice-color-mode",darkClass:o="nice-dark",lightClass:a="nice-light"}=e,[i,s]=d.useState(()=>typeof window>"u"?"light":window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),[n,l]=d.useState(()=>{if(typeof window>"u")return t;const p=localStorage.getItem(r);return p==="light"||p==="dark"||p==="system"?p:t});d.useEffect(()=>{const p=window.matchMedia("(prefers-color-scheme: dark)"),v=y=>s(y.matches?"dark":"light");return p.addEventListener("change",v),()=>p.removeEventListener("change",v)},[]);const c=n==="system"?i==="dark":n==="dark";d.useEffect(()=>{const p=document.documentElement;return c?(p.classList.add(o),p.classList.remove(a)):(p.classList.add(a),p.classList.remove(o)),()=>{p.classList.remove(o,a)}},[c,o,a]),d.useEffect(()=>{localStorage.setItem(r,n)},[n,r]);const u=d.useCallback(()=>l("light"),[]),m=d.useCallback(()=>l("dark"),[]),f=d.useCallback(()=>l("system"),[]),h=d.useCallback(()=>l(p=>p==="system"?i==="dark"?"light":"dark":p==="dark"?"light":"dark"),[i]);return{isDark:c,mode:n,systemPreference:i,setLight:u,setDark:m,setSystem:f,toggle:h}}function Pn(e,t={}){const{colorCount:r=5,quality:o=5}=t,[a,i]=d.useState(null),[s,n]=d.useState(!1),[l,c]=d.useState(null);return d.useEffect(()=>{if(!e){i(null);return}(async()=>{n(!0),c(null);try{let u;typeof e=="string"?(u=new Image,u.crossOrigin="anonymous",await new Promise((S,z)=>{u.onload=()=>S(),u.onerror=()=>z(new Error("Failed to load image")),u.src=e})):u=e;const m=document.createElement("canvas"),f=100,h=Math.min(f/u.width,f/u.height,1);m.width=u.width*h,m.height=u.height*h;const p=m.getContext("2d");if(!p)throw new Error("Canvas context unavailable");p.drawImage(u,0,0,m.width,m.height);const v=p.getImageData(0,0,m.width,m.height),y=[],w=Math.max(1,Math.floor(11-o));for(let S=0;S<v.data.length;S+=4*w){const z=v.data[S],j=v.data[S+1],P=v.data[S+2];if(v.data[S+3]>200){const T=(z+j+P)/3;T>20&&T<235&&y.push([z,j,P])}}if(y.length===0)throw new Error("No valid colors found in image");const b=Tn(y,r).sort((S,z)=>{const j=Math.max(...S)-Math.min(...S);return Math.max(...z)-Math.min(...z)-j}),k=S=>"#"+S.map(z=>Math.round(z).toString(16).padStart(2,"0")).join(""),x=S=>(.299*S[0]+.587*S[1]+.114*S[2])/255>.5?"var(--nice-text, #000000)":"var(--nice-bg, #fff)",C=b.slice();i({primary:k(C[0]||[100,100,100]),secondary:k(C[1]||C[0]||[150,150,150]),accent:k(b[0]||[100,100,100]),palette:C.map(k),primaryText:x(C[0]||[100,100,100]),secondaryText:x(C[1]||C[0]||[150,150,150])})}catch(u){c(u instanceof Error?u.message:"Unknown error"),i(null)}finally{n(!1)}})()},[e,r,o]),{colors:a,loading:s,error:l}}function Tn(e,t,r=20){if(e.length<=t)return e;const o=[],a=new Set;for(;o.length<t;){const i=Math.floor(Math.random()*e.length);a.has(i)||(a.add(i),o.push([...e[i]]))}for(let i=0;i<r;i++){const s=Array.from({length:t},()=>[]);for(const l of e){let c=1/0,u=0;for(let m=0;m<t;m++){const f=Math.sqrt((l[0]-o[m][0])**2+(l[1]-o[m][1])**2+(l[2]-o[m][2])**2);f<c&&(c=f,u=m)}s[u].push(l)}let n=!1;for(let l=0;l<t;l++){if(s[l].length===0)continue;const c=[0,0,0];for(const u of s[l])c[0]+=u[0],c[1]+=u[1],c[2]+=u[2];c[0]/=s[l].length,c[1]/=s[l].length,c[2]/=s[l].length,(Math.abs(c[0]-o[l][0])>1||Math.abs(c[1]-o[l][1])>1||Math.abs(c[2]-o[l][2])>1)&&(n=!0),o[l]=c}if(!n)break}return o}function Fn(e){const t=e.replace("#",""),r=parseInt(t.slice(0,2),16),o=parseInt(t.slice(2,4),16),a=parseInt(t.slice(4,6),16),i=Math.max(r,o,a)/255,s=Math.min(r,o,a)/255;let n=0,l=0;const c=(i+s)/2;if(i!==s){const m=i-s;switch(l=c>.5?m/(2-i-s):m/(i+s),i){case r/255:n=((o/255-a/255)/m+(o<a?6:0))/6;break;case o/255:n=((a/255-r/255)/m+2)/6;break;case a/255:n=((r/255-o/255)/m+4)/6;break}}const u=(m,f,h)=>{const p=(x,C,S)=>(S<0&&(S+=1),S>1&&(S-=1),S<.16666666666666666?x+(C-x)*6*S:S<.5?C:S<.6666666666666666?x+(C-x)*(.6666666666666666-S)*6:x),v=h<.5?h*(1+f):h+f-h*f,y=2*h-v,w=Math.round(p(y,v,m+1/3)*255),b=Math.round(p(y,v,m)*255),k=Math.round(p(y,v,m-1/3)*255);return"#"+[w,b,k].map(x=>x.toString(16).padStart(2,"0")).join("")};return{lightest:u(n,Math.min(l*.3,1),.97),lighter:u(n,Math.min(l*.5,1),.9),light:u(n,Math.min(l*.7,1),.8),base:e,dark:u(n,Math.min(l*1.1,1),Math.max(c-.15,.1)),darker:u(n,Math.min(l*1.2,1),Math.max(c-.25,.05)),darkest:u(n,Math.min(l*1.3,1),Math.max(c-.35,.02)),text:c>.5?"var(--nice-text, #000000)":"var(--nice-bg, #fff)",textInverse:c>.5?"var(--nice-bg, #fff)":"var(--nice-text, #000000)"}}const ne={xs:0,sm:576,md:768,lg:992,xl:1200,xxl:1400},re=["xs","sm","md","lg","xl","xxl"];function ue(e=ne){const[t,r]=d.useState(()=>typeof window<"u"?window.innerWidth:e.lg);d.useEffect(()=>{let n;const l=()=>{n&&cancelAnimationFrame(n),n=requestAnimationFrame(()=>r(window.innerWidth))};return window.addEventListener("resize",l),()=>{window.removeEventListener("resize",l),n&&cancelAnimationFrame(n)}},[]);const o=d.useMemo(()=>{for(let n=re.length-1;n>=0;n--)if(t>=e[re[n]])return re[n];return"xs"},[t,e]),a=d.useCallback(n=>t>=e[n],[t,e]),i=d.useCallback(n=>t<e[n],[t,e]),s=d.useCallback((n,l)=>t>=e[n]&&t<e[l],[t,e]);return{current:o,width:t,isAbove:a,isBelow:i,isBetween:s,isMobile:t<e.md,isTablet:t>=e.md&&t<e.lg,isDesktop:t>=e.lg}}function ke(e){const[t,r]=d.useState(()=>typeof window>"u"?!1:window.matchMedia(e).matches);return d.useEffect(()=>{const o=window.matchMedia(e);r(o.matches);const a=i=>r(i.matches);return o.addEventListener("change",a),()=>o.removeEventListener("change",a)},[e]),t}function Bn(e,t=ne){const{current:r}=ue(t);return d.useMemo(()=>{if(e==null||typeof e!="object"||Array.isArray(e))return e;const o=e,a=re.indexOf(r);for(let i=a;i>=0;i--){const s=o[re[i]];if(s!==void 0)return s}for(let i=a+1;i<re.length;i++){const s=o[re[i]];if(s!==void 0)return s}},[e,r])}function Nn(e){const[t,r]=d.useState({width:0,height:0});return d.useEffect(()=>{const o=e.current;if(!o)return;const a=new ResizeObserver(([i])=>{const{width:s,height:n}=i.contentRect;r({width:s,height:n})});return a.observe(o),()=>a.disconnect()},[e]),t}function nr(){const{width:e,isMobile:t}=ue(),r=d.useMemo(()=>typeof window>"u"?!1:"ontouchstart"in window||navigator.maxTouchPoints>0,[]),o=ke("(prefers-reduced-motion: reduce)"),a=ke("(orientation: portrait)"),i=d.useMemo(()=>typeof window>"u"?1:window.devicePixelRatio||1,[]),s=t&&r,n=!t&&e<ne.lg&&r,l=!r||e>=ne.lg;return{isMobile:s||n,isTouch:r,isPhone:s,isTablet:n,isDesktop:l,prefersReducedMotion:o,isPortrait:a,pixelRatio:i}}function Rn(e={}){const{forceVariant:t,breakpoints:r=ne}=e,{isMobile:o,isTablet:a,isDesktop:i}=ue(r),s=nr();return t||(s.isPhone?"mobile":s.isTablet?"tablet":s.isDesktop?"desktop":o?"mobile":a?"tablet":"desktop")}function Ln(e={}){const{showAt:t,hideAt:r,mobileOnly:o,desktopOnly:a,tabletOnly:i}=e,{current:s,isMobile:n,isTablet:l,isDesktop:c}=ue();return o?n:a?c:i?l:r&&r.includes(s)?!1:t?t.includes(s):!0}function On(){return ke("(orientation: portrait)")?"portrait":"landscape"}function Hn(){const[e,t]=d.useState({top:0,right:0,bottom:0,left:0});return d.useEffect(()=>{if(typeof window>"u"||!CSS.supports("padding-top","env(safe-area-inset-top)"))return;const r=()=>{getComputedStyle(document.documentElement);const o=document.createElement("div");o.style.cssText=`
12
+ position: fixed;
13
+ top: 0;
14
+ left: 0;
15
+ padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
16
+ visibility: hidden;
17
+ pointer-events: none;
18
+ `,document.body.appendChild(o);const a=getComputedStyle(o);t({top:parseInt(a.paddingTop,10)||0,right:parseInt(a.paddingRight,10)||0,bottom:parseInt(a.paddingBottom,10)||0,left:parseInt(a.paddingLeft,10)||0}),document.body.removeChild(o)};return r(),window.addEventListener("resize",r),window.addEventListener("orientationchange",r),()=>{window.removeEventListener("resize",r),window.removeEventListener("orientationchange",r)}},[]),e}function sr(e="normal"){return typeof e=="number"?e:e==="fast"?120:e==="slow"?300:200}const Ke={fade:"nice-anim-fade-enter",slideUp:"nice-anim-slide-up-enter",slideDown:"nice-anim-slide-down-enter",slideLeft:"nice-anim-slide-left-enter",slideRight:"nice-anim-slide-right-enter",scaleUp:"nice-anim-scale-up-enter",scaleDown:"nice-anim-scale-down-enter",zoom:"nice-anim-zoom-enter",flip:"nice-anim-flip-enter",none:""},lr={fade:"nice-anim-fade-exit",slideUp:"nice-anim-slide-up-exit",slideDown:"nice-anim-slide-down-exit",slideLeft:"nice-anim-slide-left-exit",slideRight:"nice-anim-slide-right-exit",scaleUp:"nice-anim-scale-up-exit",scaleDown:"nice-anim-scale-down-exit",zoom:"nice-anim-zoom-exit",flip:"nice-anim-flip-exit",none:""};function In(e){const{visible:t,animation:r="fade",duration:o="normal",onEntered:a,onExited:i}=e,[s,n]=d.useState(t?"entered":"exited"),[l,c]=d.useState(t),u=d.useRef(),m=sr(o),f=d.useMemo(()=>typeof window>"u"?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches,[]),h=f||r==="none"?0:m;d.useEffect(()=>(u.current&&clearTimeout(u.current),t?(c(!0),n("entering"),u.current=setTimeout(()=>{n("entered"),a?.()},h)):(n("exiting"),u.current=setTimeout(()=>{n("exited"),c(!1),i?.()},h)),()=>{u.current&&clearTimeout(u.current)}),[t,h]);const p=d.useMemo(()=>r==="none"||f?"":s==="entering"?Ke[r]:s==="exiting"?lr[r]:s==="entered"?`${Ke[r]} nice-anim-active`:"",[r,s,f]),v=d.useMemo(()=>({animationDuration:`${h}ms`,transitionDuration:`${h}ms`}),[h]);return{state:s,shouldRender:l,className:p,style:v}}function Wn(e,t){const{expanded:r,duration:o="normal"}=t,[a,i]=d.useState(r?"auto":0),s=sr(o);return d.useEffect(()=>{const n=e.current;if(n)if(r){const l=n.scrollHeight;i(l);const c=setTimeout(()=>i("auto"),s);return()=>clearTimeout(c)}else{const l=n.scrollHeight;i(l),requestAnimationFrame(()=>{requestAnimationFrame(()=>i(0))})}},[r,s,e]),{overflow:"hidden",height:typeof a=="number"?`${a}px`:a,transition:`height ${s}ms ease`}}function Vn(e,t=50){return`${e*t}ms`}function $n(e,t){return t==="enter"?Ke[e]:lr[e]}const dr=d.createContext({direction:"ltr",isRTL:!1,flip:e=>e,flipStyle:(e,t)=>({[e]:t})}),cr=({direction:e,children:t})=>{const r=d.useMemo(()=>e!=="auto"?e:typeof document<"u"&&document.documentElement.getAttribute("dir")==="rtl"?"rtl":"ltr",[e]),o=r==="rtl";d.useEffect(()=>(e!=="auto"&&(document.documentElement.setAttribute("dir",r),document.documentElement.style.direction=r),()=>{e!=="auto"&&(document.documentElement.removeAttribute("dir"),document.documentElement.style.direction="")}),[e,r]);const a=d.useCallback(n=>o?{left:"right",right:"left",start:"end",end:"start"}[n]??n:n,[o]),i=d.useCallback((n,l)=>o?{[{paddingLeft:"paddingRight",paddingRight:"paddingLeft",marginLeft:"marginRight",marginRight:"marginLeft"}[n]||n]:l}:{[n]:l},[o]),s=d.useMemo(()=>({direction:r,isRTL:o,flip:a,flipStyle:i}),[r,o,a,i]);return g.jsx(dr.Provider,{value:s,children:g.jsx("div",{dir:r,style:{direction:r,display:"contents"},children:t})})};cr.displayName="NiceRTLProvider";function qn(){return d.useContext(dr)}const Kn={marginStart:"marginInlineStart",marginEnd:"marginInlineEnd",paddingStart:"paddingInlineStart",paddingEnd:"paddingInlineEnd",borderStart:"borderInlineStart",borderEnd:"borderInlineEnd",insetStart:"insetInlineStart",insetEnd:"insetInlineEnd",start:"insetInlineStart",end:"insetInlineEnd",textAlign:{start:"start",end:"end"}},ur=d.createContext({permissions:{},getAccessMode:()=>"full"}),pr=({permissions:e,children:t})=>{const r=d.useMemo(()=>({permissions:e,getAccessMode:(o,a)=>{var i,s;return a&&o&&(i=e.fields)!=null&&i[`${o}.${a}`]?e.fields[`${o}.${a}`]:o&&(s=e.components)!=null&&s[o]?e.components[o]:e.defaultMode??"full"}}),[e]);return g.jsx(ur.Provider,{value:r,children:t})};pr.displayName="NiceAccessControl";function Gn(e,t,r){const o=d.useContext(ur);return e||o.getAccessMode(t,r)}function Un(e){switch(e){case"disabled":return{disabled:!0,"aria-disabled":!0,tabIndex:-1};case"readOnly":return{readOnly:!0};default:return{}}}function Xn(e={}){const{threshold:t=50,maxDuration:r=300,onSwipe:o,onSwipeLeft:a,onSwipeRight:i,onSwipeUp:s,onSwipeDown:n,enabled:l=!0}=e,c=d.useRef(null),[u,m]=d.useState(!1),[f,h]=d.useState(null),p=d.useRef(null);return d.useEffect(()=>{const v=c.current;if(!v||!l)return;const y=x=>{if(x.touches.length!==1)return;const C=x.touches[0];p.current={x:C.clientX,y:C.clientY,timestamp:Date.now()},m(!0),h(null)},w=x=>{if(!p.current||x.touches.length!==1)return;const C=x.touches[0],S=C.clientX-p.current.x,z=C.clientY-p.current.y;Math.abs(S)>Math.abs(z)?h(S>0?"right":"left"):h(z>0?"down":"up")},b=x=>{if(!p.current)return;const C=x.changedTouches[0],S={x:C.clientX,y:C.clientY,timestamp:Date.now()},z=S.x-p.current.x,j=S.y-p.current.y,P=S.timestamp-p.current.timestamp,T=Math.sqrt(z*z+j*j),E=T/P;if(m(!1),P<=r&&T>=t){let M;Math.abs(z)>Math.abs(j)?M=z>0?"right":"left":M=j>0?"down":"up";const A={direction:M,distance:T,velocity:E,duration:P};switch(o?.(A),M){case"left":a?.(A);break;case"right":i?.(A);break;case"up":s?.(A);break;case"down":n?.(A);break}}p.current=null,h(null)},k=()=>{p.current=null,m(!1),h(null)};return v.addEventListener("touchstart",y,{passive:!0}),v.addEventListener("touchmove",w,{passive:!0}),v.addEventListener("touchend",b,{passive:!0}),v.addEventListener("touchcancel",k,{passive:!0}),()=>{v.removeEventListener("touchstart",y),v.removeEventListener("touchmove",w),v.removeEventListener("touchend",b),v.removeEventListener("touchcancel",k)}},[l,t,r,o,a,i,s,n]),{ref:c,isSwiping:u,swipeDirection:f}}function Zn(e={}){const{onPinch:t,onPinchStart:r,onPinchEnd:o,minScale:a=.5,maxScale:i=3,enabled:s=!0}=e,n=d.useRef(null),[l,c]=d.useState(1),[u,m]=d.useState(!1),f=d.useRef(null),h=d.useRef(1);return d.useEffect(()=>{const p=n.current;if(!p||!s)return;const v=(x,C)=>{const S=x.clientX-C.clientX,z=x.clientY-C.clientY;return Math.sqrt(S*S+z*z)},y=(x,C)=>({x:(x.clientX+C.clientX)/2,y:(x.clientY+C.clientY)/2}),w=x=>{x.touches.length===2&&(f.current=v(x.touches[0],x.touches[1]),h.current=l,m(!0),r?.())},b=x=>{if(x.touches.length!==2||!f.current)return;const C=v(x.touches[0],x.touches[1]),S=Math.min(i,Math.max(a,h.current*(C/f.current)));c(S),t?.({scale:S,center:y(x.touches[0],x.touches[1])})},k=()=>{u&&(m(!1),o?.(l),f.current=null)};return p.addEventListener("touchstart",w,{passive:!0}),p.addEventListener("touchmove",b,{passive:!0}),p.addEventListener("touchend",k,{passive:!0}),p.addEventListener("touchcancel",k,{passive:!0}),()=>{p.removeEventListener("touchstart",w),p.removeEventListener("touchmove",b),p.removeEventListener("touchend",k),p.removeEventListener("touchcancel",k)}},[s,l,u,a,i,t,r,o]),{ref:n,scale:l,isPinching:u}}function _n(e={}){const{onPan:t,onPanStart:r,onPanEnd:o,enabled:a=!0}=e,i=d.useRef(null),[s,n]=d.useState(!1),[l,c]=d.useState(0),[u,m]=d.useState(0),f=d.useRef(null),h=d.useRef(null);return d.useEffect(()=>{const p=i.current;if(!p||!a)return;const v=b=>{if(b.touches.length!==1)return;const k=b.touches[0],x={x:k.clientX,y:k.clientY,timestamp:Date.now()};f.current=x,h.current=x,n(!0),c(0),m(0),r?.()},y=b=>{if(!f.current||!h.current||b.touches.length!==1)return;const k=b.touches[0],x=Date.now(),C={x:k.clientX,y:k.clientY,timestamp:x},S=C.x-f.current.x,z=C.y-f.current.y,j=C.timestamp-h.current.timestamp||1,P=(C.x-h.current.x)/j,T=(C.y-h.current.y)/j;c(S),m(z),t?.({deltaX:S,deltaY:z,velocityX:P,velocityY:T}),h.current=C},w=()=>{if(!s||!f.current||!h.current)return;const b=l,k=u,x=h.current.timestamp-f.current.timestamp||1;o?.({deltaX:b,deltaY:k,velocityX:b/x,velocityY:k/x}),n(!1),f.current=null,h.current=null};return p.addEventListener("touchstart",v,{passive:!0}),p.addEventListener("touchmove",y,{passive:!0}),p.addEventListener("touchend",w,{passive:!0}),p.addEventListener("touchcancel",w,{passive:!0}),()=>{p.removeEventListener("touchstart",v),p.removeEventListener("touchmove",y),p.removeEventListener("touchend",w),p.removeEventListener("touchcancel",w)}},[a,s,l,u,t,r,o]),{ref:i,isPanning:s,deltaX:l,deltaY:u}}function mr(e){const{onRefresh:t,threshold:r=80,maxPull:o=120,enabled:a=!0}=e,i=d.useRef(null),[s,n]=d.useState(!1),[l,c]=d.useState(!1),[u,m]=d.useState(0),f=d.useRef(null),h=Math.min(1,u/r);return d.useEffect(()=>{const p=i.current;if(!p||!a||l)return;const v=b=>{p.scrollTop>0||b.touches.length===1&&(f.current=b.touches[0].clientY)},y=b=>{if(f.current===null||b.touches.length!==1)return;const k=b.touches[0].clientY-f.current;if(k<=0){m(0),n(!1);return}const x=Math.min(o,k*.5);m(x),n(x>0),x>0&&b.preventDefault()},w=async()=>{if(u>=r&&!l){c(!0),m(r);try{await t()}finally{c(!1),m(0)}}else m(0);n(!1),f.current=null};return p.addEventListener("touchstart",v,{passive:!0}),p.addEventListener("touchmove",y,{passive:!1}),p.addEventListener("touchend",w,{passive:!0}),p.addEventListener("touchcancel",w,{passive:!0}),()=>{p.removeEventListener("touchstart",v),p.removeEventListener("touchmove",y),p.removeEventListener("touchend",w),p.removeEventListener("touchcancel",w)}},[a,l,u,r,o,t]),{ref:i,isPulling:s,isRefreshing:l,pullDistance:u,pullProgress:h}}const Jn=({children:e,leftActions:t=[],rightActions:r=[],actionWidth:o=80,maxSwipe:a=1.5,threshold:i=.5,className:s,style:n})=>{const l=d.useRef(null),c=d.useRef(null),[u,m]=d.useState(0),[f,h]=d.useState(!1),p=d.useRef(0),v=d.useRef(0),y=t.length*o,w=r.length*o,b=y*a,k=w*a,x=d.useCallback(P=>{h(!1),p.current=P.touches[0].clientX,v.current=u},[u]),C=d.useCallback(P=>{const T=P.touches[0].clientX-p.current;let E=v.current+T;E>b?E=b+(E-b)*.2:E<-k&&(E=-k+(E+k)*.2),!(E>0&&t.length===0)&&(E<0&&r.length===0||m(E))},[b,k,t.length,r.length]),S=d.useCallback(()=>{h(!0),u>y*i?m(y):u<-w*i?m(-w):m(0)},[u,y,w,i]),z=d.useCallback(P=>{h(!0),m(0),P.onAction()},[]),j=d.useCallback(()=>{h(!0),m(0)},[]);return g.jsxs("div",{ref:l,className:`nice-swipeable ${s||""}`,style:{...n,position:"relative",overflow:"hidden"},children:[g.jsx("div",{className:"nice-swipeable__actions nice-swipeable__actions--left",style:{position:"absolute",left:0,top:0,bottom:0,display:"flex",width:y},children:t.map(P=>g.jsx("button",{className:"nice-swipeable__action",style:{width:o,background:P.color,border:"none",color:"var(--bg-primary, #fff)",display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer"},onClick:()=>z(P),children:P.content},P.key))}),g.jsx("div",{className:"nice-swipeable__actions nice-swipeable__actions--right",style:{position:"absolute",right:0,top:0,bottom:0,display:"flex",width:w},children:r.map(P=>g.jsx("button",{className:"nice-swipeable__action",style:{width:o,background:P.color,border:"none",color:"var(--bg-primary, #fff)",display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer"},onClick:()=>z(P),children:P.content},P.key))}),g.jsx("div",{ref:c,className:"nice-swipeable__content",style:{transform:`translateX(${u}px)`,transition:f?"transform 0.3s ease-out":"none",background:"var(--bg-primary, #fff)",position:"relative",zIndex:1},onTouchStart:x,onTouchMove:C,onTouchEnd:S,onClick:u!==0?j:void 0,children:e})]})},Yn=({children:e,onRefresh:t,threshold:r=80,pullingContent:o,refreshingContent:a,enabled:i=!0,className:s,style:n})=>{const{ref:l,isPulling:c,isRefreshing:u,pullDistance:m,pullProgress:f}=mr({onRefresh:t,threshold:r,enabled:i});return g.jsxs("div",{ref:l,className:`nice-pull-refresh ${s||""}`,style:{...n,position:"relative",overflow:"auto",overscrollBehavior:"contain"},children:[g.jsx("div",{className:"nice-pull-refresh__indicator",style:{position:"absolute",top:0,left:0,right:0,display:"flex",justifyContent:"center",alignItems:"center",height:m,overflow:"hidden",transition:c?"none":"height 0.2s ease-out"},children:u?a||g.jsx("div",{className:"nice-pull-refresh__spinner",children:g.jsx("div",{className:"nice-spinner nice-spinner--sm"})}):o||g.jsx("div",{className:"nice-pull-refresh__arrow",style:{transform:`rotate(${f>=1?180:0}deg)`,transition:"transform 0.2s ease",opacity:f},children:g.jsx("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:g.jsx("path",{d:"M12 19V5M5 12l7-7 7 7"})})})}),g.jsx("div",{className:"nice-pull-refresh__content",style:{transform:`translateY(${m}px)`,transition:c?"none":"transform 0.2s ease-out"},children:e})]})};function fr(e="light"){if(!("vibrate"in navigator))return;const t={light:10,medium:20,heavy:30,selection:5,success:[10,30,10],warning:[20,20,20],error:[30,30,30,30]};try{navigator.vibrate(t[e])}catch{}}function Qn(){return d.useCallback((e="light")=>{fr(e)},[])}const es=({minSize:e=44,children:t,className:r,style:o,onClick:a})=>g.jsx("div",{className:`nice-touch-target ${r||""}`,style:{...o,position:"relative",display:"inline-flex",alignItems:"center",justifyContent:"center",minWidth:e,minHeight:e,cursor:a?"pointer":void 0},onClick:a,children:t});function ts(){const[e,t]=d.useState(!1),[r,o]=d.useState(0),a=d.useRef(typeof window<"u"?window.innerHeight:0);return d.useEffect(()=>{if(typeof window>"u")return;if("visualViewport"in window&&window.visualViewport){const s=window.visualViewport,n=()=>{const l=a.current-s.height,c=150;t(l>c),o(l>c?l:0)};return s.addEventListener("resize",n),()=>s.removeEventListener("resize",n)}const i=()=>{const s=a.current-window.innerHeight,n=150;t(s>n),o(s>n?s:0)};return window.addEventListener("resize",i),()=>window.removeEventListener("resize",i)},[]),{isKeyboardVisible:e,keyboardHeight:r}}const gr={announceChanges:!0,reduceMotion:"auto",highContrast:"auto",focusStyle:"auto",keyboardShortcuts:!0,minTouchTarget:44},hr=d.createContext(null),yr=({config:e,children:t})=>{const r=d.useMemo(()=>({...gr,...e}),[e]),o=d.useRef(null),a=d.useRef(null),[i,s]=d.useState(!1);d.useEffect(()=>{const h=window.matchMedia("(prefers-reduced-motion: reduce)");s(h.matches);const p=v=>s(v.matches);return h.addEventListener("change",p),()=>h.removeEventListener("change",p)},[]);const[n,l]=d.useState(!1);d.useEffect(()=>{const h=window.matchMedia("(prefers-contrast: more)");l(h.matches);const p=v=>l(v.matches);return h.addEventListener("change",p),()=>h.removeEventListener("change",p)},[]);const c=r.reduceMotion==="always"?!0:r.reduceMotion==="never"?!1:i,u=r.highContrast==="always"?!0:r.highContrast==="never"?!1:n,m=d.useCallback((h,p="polite")=>{if(!r.announceChanges)return;const v=p==="assertive"?a.current:o.current;v&&(v.textContent="",requestAnimationFrame(()=>{v.textContent=h}))},[r.announceChanges]),f=d.useMemo(()=>({config:r,announce:m,prefersReducedMotion:c,prefersHighContrast:u}),[r,m,c,u]);return g.jsxs(hr.Provider,{value:f,children:[t,g.jsx("div",{ref:o,role:"status","aria-live":"polite","aria-atomic":"true",style:Ge}),g.jsx("div",{ref:a,role:"alert","aria-live":"assertive","aria-atomic":"true",style:Ge})]})};yr.displayName="NiceA11yProvider";function rs(){return d.useContext(hr)||{config:gr,announce:()=>{},prefersReducedMotion:!1,prefersHighContrast:!1}}const Ge={position:"absolute",width:"1px",height:"1px",padding:0,margin:"-1px",overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap",border:0};function br(...e){const t=e.filter(Boolean);return t.length>0?t.join(" "):void 0}function os(e){const t=e.error?`${e.id}-error`:void 0,r=e.helperText?`${e.id}-helper`:void 0;return{"aria-invalid":e.error?!0:void 0,"aria-required":e.required||void 0,"aria-disabled":e.disabled||void 0,"aria-readonly":e.readOnly||void 0,"aria-describedby":br(t,r),"aria-errormessage":t}}function as(e,t){const{direction:r,wrap:o=!0,itemSelector:a='[role="option"], [role="tab"], [role="menuitem"], [role="radio"], button, a, [tabindex]'}=t;d.useEffect(()=>{const i=e.current;if(!i)return;const s=()=>Array.from(i.querySelectorAll(a)).filter(l=>!l.hasAttribute("disabled")&&l.getAttribute("aria-disabled")!=="true"),n=l=>{var c;const u=s();if(u.length===0)return;const m=document.activeElement,f=u.indexOf(m);if(f===-1)return;let h=-1;const p=r==="horizontal"||r==="both"||r==="grid",v=r==="vertical"||r==="both"||r==="grid";if(p&&l.key==="ArrowRight")h=f+1;else if(p&&l.key==="ArrowLeft")h=f-1;else if(v&&l.key==="ArrowDown")h=f+1;else if(v&&l.key==="ArrowUp")h=f-1;else if(l.key==="Home")h=0;else if(l.key==="End")h=u.length-1;else return;l.preventDefault(),o?h=(h%u.length+u.length)%u.length:h=Math.max(0,Math.min(u.length-1,h)),u.forEach((y,w)=>{y.tabIndex=w===h?0:-1}),(c=u[h])==null||c.focus()};return i.addEventListener("keydown",n),()=>i.removeEventListener("keydown",n)},[e,r,o,a])}function is(e){const t=d.useRef(null);d.useEffect(()=>(e&&(t.current=document.activeElement),()=>{e&&t.current&&typeof t.current.focus=="function"&&t.current.focus()}),[e])}const vr=({children:e,as:t="span"})=>d.createElement(t,{style:Ge},e);vr.displayName="NiceVisuallyHidden";const wr=({targetId:e,children:t="Skip to main content"})=>g.jsx("a",{href:`#${e}`,className:"nice-skip-link",onClick:r=>{r.preventDefault();const o=document.getElementById(e);o&&(o.tabIndex=-1,o.focus())},children:t});wr.displayName="NiceSkipLink";const ns={submit:{key:"Enter",description:"Submit / Confirm",descriptionKey:"shortcuts.submit"},cancel:{key:"Escape",description:"Cancel / Close",descriptionKey:"shortcuts.cancel"},clear:{key:"Delete",description:"Clear value",descriptionKey:"shortcuts.clear",modifiers:["ctrl"]},moveUp:{key:"ArrowUp",description:"Move up",descriptionKey:"shortcuts.moveUp"},moveDown:{key:"ArrowDown",description:"Move down",descriptionKey:"shortcuts.moveDown"},moveLeft:{key:"ArrowLeft",description:"Move left",descriptionKey:"shortcuts.moveLeft"},moveRight:{key:"ArrowRight",description:"Move right",descriptionKey:"shortcuts.moveRight"},first:{key:"Home",description:"Go to first",descriptionKey:"shortcuts.first"},last:{key:"End",description:"Go to last",descriptionKey:"shortcuts.last"},pageUp:{key:"PageUp",description:"Page up",descriptionKey:"shortcuts.pageUp"},pageDown:{key:"PageDown",description:"Page down",descriptionKey:"shortcuts.pageDown"},selectAll:{key:"A",description:"Select all",descriptionKey:"shortcuts.selectAll",modifiers:["ctrl"]},toggleSelect:{key:"Space",description:"Toggle selection",descriptionKey:"shortcuts.toggleSelect"},undo:{key:"Z",description:"Undo",descriptionKey:"shortcuts.undo",modifiers:["ctrl"]},redo:{key:"Y",description:"Redo",descriptionKey:"shortcuts.redo",modifiers:["ctrl"]},copy:{key:"C",description:"Copy",descriptionKey:"shortcuts.copy",modifiers:["ctrl"]},paste:{key:"V",description:"Paste",descriptionKey:"shortcuts.paste",modifiers:["ctrl"]},cut:{key:"X",description:"Cut",descriptionKey:"shortcuts.cut",modifiers:["ctrl"]},edit:{key:"Enter",description:"Edit cell",descriptionKey:"shortcuts.edit"},tab:{key:"Tab",description:"Next cell",descriptionKey:"shortcuts.tab"},shiftTab:{key:"Tab",description:"Previous cell",descriptionKey:"shortcuts.shiftTab",modifiers:["shift"]},open:{key:"ArrowDown",description:"Open dropdown",descriptionKey:"shortcuts.open"},close:{key:"Escape",description:"Close popup",descriptionKey:"shortcuts.close"},increment:{key:"ArrowUp",description:"Increase value",descriptionKey:"shortcuts.increment"},decrement:{key:"ArrowDown",description:"Decrease value",descriptionKey:"shortcuts.decrement"},incrementBig:{key:"PageUp",description:"Increase by 10",descriptionKey:"shortcuts.incrementBig"},decrementBig:{key:"PageDown",description:"Decrease by 10",descriptionKey:"shortcuts.decrementBig"}};function kr(e){var t,r,o,a;const i=[];return(t=e.modifiers)!=null&&t.includes("ctrl")&&i.push("Ctrl"),(r=e.modifiers)!=null&&r.includes("alt")&&i.push("Alt"),(o=e.modifiers)!=null&&o.includes("shift")&&i.push("Shift"),(a=e.modifiers)!=null&&a.includes("meta")&&i.push("⌘"),i.push(e.key),i.join("+")}function ss(e,t){if(!(e.key===t.key||e.key.toLowerCase()===t.key.toLowerCase()))return!1;const r=t.modifiers??[];return!(r.includes("ctrl")!==(e.ctrlKey||e.metaKey)||r.includes("alt")!==e.altKey||r.includes("shift")!==e.shiftKey)}const Sr=({shortcuts:e,position:t="top",icon:r,size:o="sm",className:a})=>{const[i,s]=d.useState(!1),n=d.useRef(null),[l,c]=d.useState({top:0,left:0}),u=d.useCallback(()=>{if(!n.current)return;const h=n.current.getBoundingClientRect(),p=8;let v=0,y=0;switch(t){case"top":v=h.top-p,y=h.left+h.width/2;break;case"bottom":v=h.bottom+p,y=h.left+h.width/2;break;case"left":v=h.top+h.height/2,y=h.left-p;break;case"right":v=h.top+h.height/2,y=h.right+p;break}c({top:v,left:y})},[t]),m=d.useCallback(()=>{u(),s(!0)},[u]),f=d.useCallback(()=>{u(),s(!0)},[u]);return e.length===0?null:g.jsxs(g.Fragment,{children:[g.jsx("button",{ref:n,type:"button",className:`nice-keyboard-hint nice-keyboard-hint--${o} ${a||""}`,onMouseEnter:m,onMouseLeave:()=>s(!1),onFocus:f,onBlur:()=>s(!1),"aria-label":"Keyboard shortcuts",tabIndex:-1,children:r||"?"}),i&&g.jsxs("div",{className:`nice-keyboard-hint__tooltip nice-keyboard-hint__tooltip--${t}`,style:{position:"fixed",top:l.top,left:l.left,transform:t==="top"?"translate(-50%, -100%)":t==="bottom"?"translate(-50%, 0)":t==="left"?"translate(-100%, -50%)":"translate(0, -50%)"},role:"tooltip",children:[g.jsx("div",{className:"nice-keyboard-hint__title",children:"Keyboard Shortcuts"}),g.jsx("ul",{className:"nice-keyboard-hint__list",children:e.map((h,p)=>g.jsxs("li",{className:"nice-keyboard-hint__item",children:[g.jsx("kbd",{className:"nice-keyboard-hint__key",children:kr(h)}),g.jsx("span",{className:"nice-keyboard-hint__desc",children:h.description})]},p))})]})]})};Sr.displayName="NiceKeyboardHint";function ls(e={}){const{enabled:t=!1,onSubmit:r,preventDefault:o=!0,requireCtrl:a=!1,skipTextarea:i=!0}=e;return d.useCallback(s=>{!t||!r||s.key==="Enter"&&(a&&!s.ctrlKey&&!s.metaKey||i&&s.target.tagName==="TEXTAREA"||(o&&s.preventDefault(),r()))},[t,r,o,a,i])}function ds(e={}){const{onClick:t,disabled:r=!1,role:o,tabIndex:a,triggerOnSpace:i=!0,as:s,selected:n}=e,l=o??s??"button",c=d.useCallback(f=>{r||t==null||t(f)},[r,t]),u=d.useCallback(f=>{if(r)return;const h=i&&(f.key===" "||f.key==="Spacebar");(f.key==="Enter"||h)&&(f.preventDefault(),t?.(f))},[r,t,i]),m={role:l,tabIndex:a??(r?-1:0),onClick:c,onKeyDown:u};return r&&(m["aria-disabled"]=!0),n!==void 0&&(l==="option"||l==="tab"||l==="row")&&(m["aria-selected"]=n),m}function cs(e={}){const[t,r]=d.useState(!1),[o,a]=d.useState(""),i=d.useRef(null),s=typeof window<"u"&&("SpeechRecognition"in window||"webkitSpeechRecognition"in window),n=d.useCallback(u=>{if(!e.commands)return;const m=u.toLowerCase().trim();for(const f of e.commands)if(typeof f.phrase=="string"){if(m===f.phrase.toLowerCase()){f.action([],u);return}}else{const h=u.match(f.phrase);if(h){f.action(Array.from(h),u);return}}},[e.commands]),l=d.useCallback(()=>{if(!s||t)return;const u=window.SpeechRecognition??window.webkitSpeechRecognition,m=new u;m.lang=e.language??"en-US",m.continuous=e.continuous??!0,m.interimResults=e.interimResults??!1,m.onresult=f=>{var h;const p=f.results[f.results.length-1],v=p[0].transcript,y=p.isFinal;a(v),(h=e.onTranscript)==null||h.call(e,v,y),y&&n(v)},m.onerror=f=>{var h;(h=e.onError)==null||h.call(e,f.error),f.error==="not-allowed"&&r(!1)},m.onend=()=>{if(t&&e.continuous)try{m.start()}catch{r(!1)}else r(!1)},i.current=m,m.start(),r(!0)},[s,t,e.language,e.continuous]),c=d.useCallback(()=>{var u;(u=i.current)==null||u.stop(),i.current=null,r(!1)},[]);return d.useEffect(()=>()=>c(),[]),{isListening:t,isSupported:s,start:l,stop:c,transcript:o}}function xr(e={}){const[t,r]=d.useState(""),o=d.useRef(),a=d.useCallback(s=>{r(""),requestAnimationFrame(()=>{r(s),e.clearAfterMs&&(o.current&&clearTimeout(o.current),o.current=setTimeout(()=>r(""),e.clearAfterMs))})},[e.clearAfterMs]);d.useEffect(()=>()=>{o.current&&clearTimeout(o.current)},[]);const i={role:"status","aria-live":e.politeness??"polite","aria-atomic":e.atomic??!0,"aria-relevant":e.relevant??"additions text",style:{position:"absolute",width:1,height:1,overflow:"hidden",clip:"rect(0 0 0 0)",whiteSpace:"nowrap"}};return{message:t,announce:a,regionProps:i}}function us(){const{announce:e,regionProps:t,message:r}=xr({politeness:"assertive",clearAfterMs:3e3});return{announcePageChange:d.useCallback(o=>{e(`Nawigacja do: ${o}`),typeof document<"u"&&(document.title=o)},[e]),regionProps:t,message:r}}function ps(){const e=d.useRef(null),t=d.useCallback(()=>{var a;const i=(a=e.current)==null?void 0:a.querySelector('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');i?.focus()},[]),r=d.useCallback(a=>{var i,s;(s=(i=e.current)==null?void 0:i.querySelector(a))==null||s.focus()},[]),o=d.useCallback(()=>e.current?Array.from(e.current.querySelectorAll('button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')):[],[]);return{containerRef:e,focusFirst:t,focusElement:r,getFocusableElements:o}}const At={simplifiedMode:!1,increasedSpacing:!1,readingGuide:!1,enhancedFocus:!1,reduceMotion:!1,iconLabels:!1,largeTargets:!1,dyslexiaFont:!1,lineSpacing:1.5,wordSpacing:1};function ms(e=At){const[t,r]=d.useState({...At,...e}),o=d.useCallback((n,l)=>{r(c=>({...c,[n]:l}))},[]),a=fs(t),i=[t.simplifiedMode&&"nice-a11y-simplified",t.increasedSpacing&&"nice-a11y-spacing",t.enhancedFocus&&"nice-a11y-enhanced-focus",t.reduceMotion&&"nice-a11y-reduce-motion",t.iconLabels&&"nice-a11y-icon-labels",t.largeTargets&&"nice-a11y-large-targets",t.dyslexiaFont&&"nice-a11y-dyslexia"].filter(Boolean).join(" "),s={};return t.lineSpacing&&t.lineSpacing!==1.5&&(s.lineHeight=String(t.lineSpacing)),t.wordSpacing&&t.wordSpacing!==1&&(s.wordSpacing=`${(t.wordSpacing-1)*.25}em`),{settings:t,updateSetting:o,css:a,rootClasses:i,rootStyle:s}}function fs(e){const t=[];return e.simplifiedMode&&t.push(`
19
+ .nice-a11y-simplified .nice-secondary,
20
+ .nice-a11y-simplified .nice-decorative,
21
+ .nice-a11y-simplified [role="presentation"] { display: none !important; }
22
+ .nice-a11y-simplified .nice-card { box-shadow: none !important; border: 2px solid var(--nice-text, #333) !important; }`),e.increasedSpacing&&t.push(`
23
+ .nice-a11y-spacing button,
24
+ .nice-a11y-spacing input,
25
+ .nice-a11y-spacing select,
26
+ .nice-a11y-spacing [role="button"] { margin: var(--nice-space-2, 8px) !important; }`),e.enhancedFocus&&t.push(`
27
+ .nice-a11y-enhanced-focus *:focus { outline: 4px solid var(--nice-primary, #0066ff) !important; outline-offset: 4px !important; }
28
+ .nice-a11y-enhanced-focus *:focus-visible { box-shadow: 0 0 0 6px rgba(0,102,255,0.3) !important; }`),e.reduceMotion&&t.push(`
29
+ .nice-a11y-reduce-motion *, .nice-a11y-reduce-motion *::before, .nice-a11y-reduce-motion *::after {
30
+ animation-duration: 0.01ms !important; animation-iteration-count: 1 !important;
31
+ transition-duration: 0.01ms !important; scroll-behavior: auto !important;
32
+ }`),e.largeTargets&&t.push(`
33
+ .nice-a11y-large-targets button, .nice-a11y-large-targets a, .nice-a11y-large-targets input,
34
+ .nice-a11y-large-targets select, .nice-a11y-large-targets [role="button"] {
35
+ min-height: 56px !important; min-width: 56px !important; font-size: 18px !important;
36
+ }`),e.dyslexiaFont&&t.push(`
37
+ .nice-a11y-dyslexia { font-family: 'OpenDyslexic', 'Comic Sans MS', sans-serif !important; letter-spacing: 0.05em !important; }`),t.join(`
38
+ `)}function gs(e,t,r=!1){const o=Tt(Pt(e)),a=Tt(Pt(t)),i=ys(o,a),s=r?4.5:7;return{rule:"1.4.6",level:"AAA",passed:i>=s,message:`Contrast ratio ${i.toFixed(2)}:1 (requires ${s}:1 for AAA${r?" large text":""})`}}function hs(){if(typeof document>"u")return[];const e=[];return document.querySelectorAll("a").forEach(t=>{var r;const o=((r=t.textContent)==null?void 0:r.trim())??"",a=!!t.getAttribute("aria-label");["click here","read more","learn more","here","link"].includes(o.toLowerCase())&&!a&&e.push({rule:"2.4.9",level:"AAA",passed:!1,message:`Link with generic text "${o}" lacks descriptive label`,element:t.outerHTML.slice(0,100)})}),document.querySelectorAll("h1, h2, h3, h4, h5, h6"),document.querySelectorAll("section, article, main, aside").forEach(t=>{t.querySelector("h1, h2, h3, h4, h5, h6")||e.push({rule:"2.4.10",level:"AAA",passed:!1,message:`<${t.tagName.toLowerCase()}> lacks a heading element`,element:t.tagName.toLowerCase()})}),document.querySelectorAll("p, li, td, span").forEach(t=>{const r=window.getComputedStyle(t),o=parseFloat(r.width),a=parseFloat(r.fontSize);a>0&&o/a>80&&e.push({rule:"1.4.8",level:"AAA",passed:!1,message:`Text block exceeds 80 character width (${Math.round(o/a)} chars)`,element:t.tagName.toLowerCase()})}),document.querySelectorAll('input[type="checkbox"], input[type="radio"], select').forEach(t=>{t.hasAttribute("onchange")&&e.push({rule:"3.2.5",level:"AAA",passed:!1,message:"Form control has inline onchange handler — may cause unexpected context change",element:t.tagName.toLowerCase()})}),document.querySelectorAll("video[autoplay], audio[autoplay]").forEach(t=>{e.push({rule:"2.2.3",level:"AAA",passed:!1,message:"Auto-playing media found — user should control timing",element:t.tagName.toLowerCase()})}),e}function Pt(e){if(e.startsWith("#")){const t=e.slice(1),r=parseInt(t.slice(0,2),16)/255,o=parseInt(t.slice(2,4),16)/255,a=parseInt(t.slice(4,6),16)/255;return[r,o,a]}return[0,0,0]}function Tt([e,t,r]){const o=a=>a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4);return .2126*o(e)+.7152*o(t)+.0722*o(r)}function ys(e,t){const r=Math.max(e,t),o=Math.min(e,t);return(r+.05)/(o+.05)}function bs(...e){return e.join("-")}const vs={button:e=>e?`nice-button-${e}`:"nice-button",textInput:e=>e?`nice-text-input-${e}`:"nice-text-input",numberInput:e=>e?`nice-number-input-${e}`:"nice-number-input",select:e=>e?`nice-select-${e}`:"nice-select",checkbox:e=>e?`nice-checkbox-${e}`:"nice-checkbox",toggle:e=>e?`nice-toggle-${e}`:"nice-toggle",datePicker:e=>e?`nice-date-picker-${e}`:"nice-date-picker",dataGrid:e=>e?`nice-datagrid-${e}`:"nice-datagrid",table:e=>e?`nice-table-${e}`:"nice-table",list:e=>e?`nice-list-${e}`:"nice-list",treeView:e=>e?`nice-tree-${e}`:"nice-tree",modal:e=>e?`nice-modal-${e}`:"nice-modal",drawer:e=>e?`nice-drawer-${e}`:"nice-drawer",form:e=>e?`nice-form-${e}`:"nice-form",tabs:e=>e?`nice-tabs-${e}`:"nice-tabs",menu:e=>e?`nice-menu-${e}`:"nice-menu",chart:e=>e?`nice-chart-${e}`:"nice-chart",scheduler:e=>e?`nice-scheduler-${e}`:"nice-scheduler"},Er=({children:e,direction:t="ltr"})=>d.createElement("div",{dir:t,"data-testid":"nice-test-root",style:{direction:t}},e);Er.displayName="NiceTestWrapper";function ws(e,t,r){const o=new KeyboardEvent("keydown",{key:t,bubbles:!0,cancelable:!0,...r});e.dispatchEvent(o)}function ks(e,t){var r,o;const a=((r=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value"))==null?void 0:r.set)||((o=Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype,"value"))==null?void 0:o.set);a&&a.call(e,t),e.dispatchEvent(new Event("input",{bubbles:!0})),e.dispatchEvent(new Event("change",{bubbles:!0}))}function Ss(e){const{data:t,delay:r=0,keyField:o="id"}=e;let a=[...t];return{key:o,load:async()=>(r>0&&await new Promise(i=>setTimeout(i,r)),{data:[...a],totalCount:a.length}),insert:async i=>(a.push(i),i),update:async(i,s)=>{const n=a.findIndex(l=>l[o]===i);n>=0&&(a[n]={...a[n],...s})},remove:async i=>{a=a.filter(s=>s[o]!==i)},getData:()=>[...a],reset:()=>{a=[...t]}}}function xs(e){const t=[];return e.querySelectorAll('button, input, select, textarea, [role="button"], [role="link"], [role="checkbox"], [role="radio"]').forEach(r=>{var o;r.getAttribute("aria-label")||r.getAttribute("aria-labelledby")||(o=r.textContent)!=null&&o.trim()||r.getAttribute("title")||t.push(`${r.tagName.toLowerCase()}${r.id?"#"+r.id:""} missing accessible name`)}),e.querySelectorAll("img").forEach(r=>{!r.alt&&r.getAttribute("role")!=="presentation"&&t.push(`img${r.src?'[src="'+r.src.substring(0,40)+'..."]':""} missing alt text`)}),e.querySelectorAll('input:not([type="hidden"]), select, textarea').forEach(r=>{const o=r.id&&e.querySelector(`label[for="${r.id}"]`),a=r.getAttribute("aria-label")||r.getAttribute("aria-labelledby");!o&&!a&&t.push(`${r.tagName.toLowerCase()}${r.name?'[name="'+r.name+'"]':""} missing label`)}),t}const Cr=process.env.NODE_ENV==="development";let R={enabled:Cr,logToConsole:!1,slowRenderThreshold:16,samplingRate:1,enableUserTiming:!0,trackPropsChanges:!1};const De=[],X=new Map,Me=new Map;let Es=1;function zr(e){R={...R,...e}}function jr(){return new Map(X)}function Dr(e){return X.get(e)}function Cs(e=100){return De.slice(-e)}function lt(){De.length=0,X.clear(),Me.clear()}function dt(e){const t=e??R.slowRenderThreshold??16;return De.filter(r=>r.actualDuration>t)}function zs(){return Math.random()<(R.samplingRate??1)}function js(e){const t=X.get(e.componentName);t?(t.renderCount++,e.phase==="mount"?t.mountCount++:t.updateCount++,t.totalRenderTime+=e.actualDuration,t.avgRenderTime=t.totalRenderTime/t.renderCount,t.maxRenderTime=Math.max(t.maxRenderTime,e.actualDuration),t.minRenderTime=Math.min(t.minRenderTime,e.actualDuration),t.lastRenderAt=e.timestamp,e.actualDuration>(R.slowRenderThreshold??16)&&t.slowRenderCount++):X.set(e.componentName,{componentName:e.componentName,renderCount:1,mountCount:e.phase==="mount"?1:0,updateCount:e.phase==="mount"?0:1,avgRenderTime:e.actualDuration,maxRenderTime:e.actualDuration,minRenderTime:e.actualDuration,totalRenderTime:e.actualDuration,lastRenderAt:e.timestamp,slowRenderCount:e.actualDuration>(R.slowRenderThreshold??16)?1:0})}function K(e){return e<1?`${(e*1e3).toFixed(0)}μs`:e<1e3?`${e.toFixed(2)}ms`:`${(e/1e3).toFixed(2)}s`}const Ds=({id:e,children:t,onRender:r,onSlowRender:o,slowThreshold:a,logToConsole:i})=>{const s=d.useCallback((n,l,c,u,m,f)=>{var h,p,v;if(!R.enabled||!zs()||(h=R.ignoreComponents)!=null&&h.includes(n))return;const y={componentName:n,renderId:`render-${Es++}`,phase:l,actualDuration:c,baseDuration:u,startTime:m,commitTime:f,interactions:new Set,timestamp:Date.now()};if(De.push(y),js(y),R.enableUserTiming)try{performance.measure(`Nice:${n}:${l}`,{start:m,duration:c})}catch{}if(i??R.logToConsole){const b=a??R.slowRenderThreshold??16,k=c>b;console.log(`%c[Profile] ${n} ${l}`,`color: ${k?"var(--color-error, #dc2626)":"var(--color-success, #22c55e)"}; font-weight: ${k?"bold":"normal"}`,{actual:K(c),base:K(u),savings:`${((1-c/u)*100).toFixed(1)}%`})}r?.(y),(p=R.onRender)==null||p.call(R,y);const w=a??R.slowRenderThreshold??16;c>w&&(o?.(y),(v=R.onSlowRender)==null||v.call(R,y))},[e,r,o,a,i]);return R.enabled?g.jsx(d.Profiler,{id:e,onRender:s,children:t}):g.jsx(g.Fragment,{children:t})};function Mr(e,t){const r=d.useRef(),o=d.useRef(0);d.useEffect(()=>{if(!R.enabled||!R.trackPropsChanges)return;if(o.current++,o.current===1){r.current=t;return}const a=r.current,i=[],s=new Set([...Object.keys(a||{}),...Object.keys(t)]);for(const n of s){const l=a?.[n],c=t[n];Object.is(l,c)||i.push({propName:n,oldValue:l,newValue:c,timestamp:Date.now()})}i.length>0&&R.logToConsole&&console.log(`%c[Why render?] ${e}`,"color: var(--nice-info, #6366f1); font-weight: bold",`Render #${o.current}`,i.map(n=>({prop:n.propName,from:n.oldValue,to:n.newValue,type:typeof n.newValue}))),r.current=t})}function Ms(e,t){const r=t||e.displayName||e.name||"Unknown",o=a=>(Mr(r,a),g.jsx(e,{...a}));return o.displayName=`WhyDidYouRender(${r})`,o}function As(e){const t=d.useRef(0);return t.current++,d.useEffect(()=>{R.enabled&&R.logToConsole&&e&&console.log(`%c[Render count] ${e}: ${t.current}`,`color: ${t.current>10?"var(--color-warning, #f59e0b)":"var(--color-success, #22c55e)"}`)}),t.current}function Ae(e,t){if(!R.enabled)return;const r={name:e,startTime:performance.now(),detail:t};if(Me.set(e,r),R.enableUserTiming)try{performance.mark(`Nice:${e}:start`,{detail:t})}catch{}}function Pe(e){if(!R.enabled)return 0;const t=Me.get(e);if(!t)return console.warn(`[Profile] No mark found for: ${e}`),0;const r=performance.now()-t.startTime;if(t.duration=r,R.enableUserTiming)try{performance.mark(`Nice:${e}:end`),performance.measure(`Nice:${e}`,`Nice:${e}:start`,`Nice:${e}:end`)}catch{}return R.logToConsole&&console.log(`%c[Measure] ${e}: ${K(r)}`,`color: ${r>100?"var(--color-warning, #f59e0b)":"var(--color-success, #22c55e)"}`),r}async function Ps(e,t,r){Ae(e,r);try{return await t()}finally{Pe(e)}}function Ts(e,t,r){Ae(e,r);try{return t()}finally{Pe(e)}}function Fs(e,t,r){d.useEffect(()=>{Ae(e);const o=t();return Pe(e),o},r)}function Ar(){const e=Array.from(X.values()),t=dt(),r=e.reduce((i,s)=>i+s.renderCount,0),o=e.length>0?e.reduce((i,s)=>i+s.avgRenderTime,0)/e.length:0,a=Array.from(Me.values());return{stats:e,slowRenders:t,totalRenders:r,avgRenderTime:o,marks:a}}function ct(){const e=Ar();console.group("%c[Nice2Dev Performance Report]","color: var(--nice-info, #6366f1); font-weight: bold; font-size: 14px"),console.log(`Total renders: ${e.totalRenders}`),console.log(`Average render time: ${K(e.avgRenderTime)}`),console.log(`Slow renders: ${e.slowRenders.length}`),console.group("Component Stats"),console.table(e.stats.sort((t,r)=>r.totalRenderTime-t.totalRenderTime).map(t=>({Name:t.componentName,Renders:t.renderCount,"Avg Time":K(t.avgRenderTime),"Max Time":K(t.maxRenderTime),"Total Time":K(t.totalRenderTime),"Slow Renders":t.slowRenderCount}))),console.groupEnd(),e.slowRenders.length>0&&(console.group("Slow Renders (last 10)"),console.table(e.slowRenders.slice(-10).map(t=>({Component:t.componentName,Phase:t.phase,Duration:K(t.actualDuration),Time:new Date(t.timestamp).toLocaleTimeString()}))),console.groupEnd()),e.marks.length>0&&(console.group("Custom Marks"),console.table(e.marks.filter(t=>t.duration).map(t=>({Name:t.name,Duration:K(t.duration)}))),console.groupEnd()),console.groupEnd()}const Pr=new Map;function Tr(){for(const[e,t]of X)Pr.set(e,{...t});console.log("[Profile] Baseline saved")}function Fr(e=20){const t=[];for(const[r,o]of X){const a=Pr.get(r);if(!a)continue;const i=(o.avgRenderTime-a.avgRenderTime)/a.avgRenderTime*100;i>e&&t.push({componentName:r,metric:"avgRenderTime",baseline:a.avgRenderTime,current:o.avgRenderTime,changePercent:i});const s=(o.maxRenderTime-a.maxRenderTime)/a.maxRenderTime*100;s>e&&t.push({componentName:r,metric:"maxRenderTime",baseline:a.maxRenderTime,current:o.maxRenderTime,changePercent:s})}return t.length>0&&R.logToConsole&&console.warn("%c[Regression] Performance regressions detected!","color: var(--nice-danger-dark, #dc2626); font-weight: bold",t),t}const Br=d.memo(({position:e="bottom-right",defaultCollapsed:t=!0})=>{const[r,o]=d.useState(t),[a,i]=d.useState([]),[s,n]=d.useState({used:0,total:0});if(d.useEffect(()=>{const c=()=>{const m=Array.from(X.values());i(m.sort((h,p)=>p.totalRenderTime-h.totalRenderTime).slice(0,10));const f=window.performance;f.memory&&n({used:f.memory.usedJSHeapSize/1024/1024,total:f.memory.totalJSHeapSize/1024/1024})};c();const u=setInterval(c,2e3);return()=>clearInterval(u)},[]),!R.enabled)return null;const l={position:"fixed",zIndex:99999,...e.includes("top")?{top:8}:{bottom:8},...e.includes("left")?{left:8}:{right:8}};return g.jsxs("div",{style:{...l,background:"var(--nice-overlay-85, rgba(0, 0, 0, 0.85))",color:"var(--bg-primary, #fff)",borderRadius:8,fontSize:11,fontFamily:"Monaco, Consolas, monospace",padding:r?"4px 8px":8,maxWidth:r?"auto":300,maxHeight:r?"auto":400,overflow:"auto"},children:[g.jsxs("div",{style:{cursor:"pointer",display:"flex",alignItems:"center",gap:8},onClick:()=>o(c=>!c),children:[g.jsx("span",{style:{color:"var(--color-success, #22c55e)"},children:"●"}),g.jsx("span",{children:"Profiler"}),s.used>0&&g.jsxs("span",{style:{color:s.used>100?"var(--color-warning, #f59e0b)":"var(--text-muted, #64748b)"},children:[s.used.toFixed(0),"MB"]}),g.jsx("span",{style:{marginLeft:"auto",opacity:.5},children:r?"▼":"▲"})]}),!r&&g.jsxs("div",{style:{marginTop:8},children:[g.jsx("div",{style:{borderBottom:"1px solid var(--border-color, #333)",paddingBottom:4,marginBottom:8},children:g.jsx("strong",{children:"Top Components"})}),a.map(c=>g.jsxs("div",{style:{marginBottom:4,display:"flex",gap:8},children:[g.jsx("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis"},children:c.componentName}),g.jsx("span",{style:{color:c.avgRenderTime>16?"var(--color-warning, #f59e0b)":"var(--color-success, #22c55e)"},children:K(c.avgRenderTime)}),g.jsxs("span",{style:{color:"var(--text-muted, #64748b)",minWidth:30,textAlign:"right"},children:["x",c.renderCount]})]},c.componentName)),g.jsxs("div",{style:{marginTop:8,display:"flex",gap:8},children:[g.jsx("button",{onClick:ct,style:{flex:1,padding:"4px 8px",background:"var(--bg-tertiary, #333)",border:"none",borderRadius:4,color:"var(--bg-primary, #fff)",cursor:"pointer",fontSize:10},children:"Print Report"}),g.jsx("button",{onClick:lt,style:{flex:1,padding:"4px 8px",background:"var(--bg-tertiary, #333)",border:"none",borderRadius:4,color:"var(--bg-primary, #fff)",cursor:"pointer",fontSize:10},children:"Clear"})]})]})]})});Br.displayName="ProfilerOverlay";function Bs(){Cr&&(window.__NICE2DEV_PROFILER__={getStats:jr,getComponentStats:Dr,getSlowRenders:dt,printReport:ct,clear:lt,saveBaseline:Tr,checkRegression:Fr,configure:zr},console.log("%c[Nice2Dev Profiler] DevTools integration ready. Use __NICE2DEV_PROFILER__ in console.","color: var(--nice-info, #6366f1)"))}const ut=process.env.NODE_ENV==="development";let L={enabled:ut,logToConsole:!0,samplingRate:1,trackDetachedNodes:!1,closureSizeThreshold:1024*1024};const Te=[],Se=new Map,He=new Map,Ft=new WeakMap;let Ns=1;function Rs(){return Math.random()<(L.samplingRate??1)}function Fe(){var e;try{throw new Error}catch(t){return((e=t.stack)==null?void 0:e.split(`
39
+ `).slice(3).join(`
40
+ `))??""}}function Ie(e,t,r){return`${e.__ntd_id??Math.random()}-${t}-${r.toString().slice(0,50)}`}function Q(e,t,r="warning",o,a){var i,s;if(!L.enabled||!Rs()||o&&(i=L.ignoreComponents)!=null&&i.includes(o))return;const n={id:`leak-${Ns++}`,type:e,severity:r,componentName:o,message:t,stack:Fe(),timestamp:Date.now(),data:a};Te.push(n),L.logToConsole&&console[r==="critical"?"error":r==="warning"?"warn":"info"](`%c[NTD Leak Detector] ${e}`,`color: ${r==="critical"?"var(--color-error, #dc2626)":r==="warning"?"var(--color-warning, #f59e0b)":"var(--color-primary, #3b82f6)"}; font-weight: bold`,t,o?`(${o})`:"",""),(s=L.onLeak)==null||s.call(L,n)}function Ls(e){L={...L,...e}}function Os(){return[...Te]}function Hs(){Te.length=0}function Nr(){return Te.reduce((e,t)=>(e[t.type]=(e[t.type]||0)+1,e),{})}function Is(e,t){const[r,o]=d.useState(e),a=d.useRef(!0),i=d.useRef(t);d.useEffect(()=>(a.current=!0,()=>{a.current=!1}),[]);const s=d.useCallback(n=>{a.current?o(n):L.enabled&&Q("setState-after-unmount","setState called on unmounted component","warning",i.current)},[]);return[r,s]}function Ws(e){const t=d.useRef(null),r=d.useRef(e),o=d.useCallback(()=>{t.current&&(clearTimeout(t.current),L.enabled&&Se.delete(t.current),t.current=null)},[]),a=d.useCallback((i,s)=>{o(),t.current=setTimeout(i,s),L.enabled&&Se.set(t.current,{id:t.current,type:"timeout",componentName:r.current,stack:Fe(),createdAt:Date.now()})},[o]);return d.useEffect(()=>{const i=r.current;return()=>{t.current&&(L.enabled&&Q("timer-not-cleared","Timeout would have leaked without cleanup","info",i),o())}},[o]),[a,o]}function Vs(e){const t=d.useRef(null),r=d.useRef(e),o=d.useCallback(()=>{t.current&&(clearInterval(t.current),L.enabled&&Se.delete(t.current),t.current=null)},[]),a=d.useCallback((i,s)=>{o(),t.current=setInterval(i,s),L.enabled&&Se.set(t.current,{id:t.current,type:"interval",componentName:r.current,stack:Fe(),createdAt:Date.now()})},[o]);return d.useEffect(()=>{const i=r.current;return()=>{t.current&&(L.enabled&&Q("timer-not-cleared","Interval would have leaked without cleanup","warning",i),o())}},[o]),[a,o]}function $s(e){const t=d.useRef([]),r=d.useRef(e);return d.useEffect(()=>{const o=t.current,a=r.current;return()=>{for(const{target:i,type:s,listener:n,options:l}of o)if(i.removeEventListener(s,n,l),L.enabled){const c=Ie(i,s,n);He.delete(c)}o.length>0&&L.enabled&&Q("listener-not-removed",`${o.length} event listener(s) would have leaked without cleanup`,"info",a),t.current=[]}},[]),d.useCallback((o,a,i,s)=>{if(o.addEventListener(a,i,s),t.current.push({target:o,type:a,listener:i,options:s}),L.enabled){const n=Ie(o,a,i);He.set(n,{target:o,type:a,listener:i,componentName:r.current,stack:Fe(),createdAt:Date.now()})}return()=>{if(o.removeEventListener(a,i,s),t.current=t.current.filter(n=>n.target!==o||n.type!==a||n.listener!==i),L.enabled){const n=Ie(o,a,i);He.delete(n)}}},[])}function Rr(e){const t=d.useRef(null),r=d.useRef(e);return d.useEffect(()=>{const o=r.current;return()=>{t.current&&!t.current.signal.aborted&&(t.current.abort(),L.enabled&&Q("abort-controller-not-aborted","AbortController was auto-aborted on unmount (fetch may have leaked)","info",o))}},[]),d.useCallback(()=>(t.current&&t.current.abort(),t.current=new AbortController,t.current.signal),[])}function qs(e){const t=Rr(e);return d.useCallback((r,o)=>{const a=t();return fetch(r,{...o,signal:a})},[t])}function Ks(e){const t=d.useRef([]),r=d.useRef(e);return d.useEffect(()=>{const o=t.current,a=r.current;return()=>{for(const i of o)try{i()}catch(s){console.error("Error during subscription cleanup:",s)}o.length>0&&L.enabled&&Q("subscription-not-unsubscribed",`${o.length} subscription(s) would have leaked without cleanup`,"info",a),t.current=[]}},[]),d.useCallback(o=>{typeof o=="function"?t.current.push(o):o&&typeof o.unsubscribe=="function"&&t.current.push(()=>o.unsubscribe())},[])}function Gs(e,t,r){const[o,a]=d.useState(null),[i,s]=d.useState(WebSocket.CLOSED),n=d.useRef(r);d.useEffect(()=>{if(!e)return;const u=new WebSocket(e,t);a(u);const m=n.current;return u.onopen=()=>s(u.readyState),u.onclose=()=>s(u.readyState),u.onerror=()=>s(u.readyState),()=>{(u.readyState===WebSocket.OPEN||u.readyState===WebSocket.CONNECTING)&&(u.close(),L.enabled&&Q("websocket-not-closed","WebSocket was auto-closed on unmount","info",m))}},[e,t]);const l=d.useCallback(u=>{o?.readyState===WebSocket.OPEN&&o.send(u)},[o]),c=d.useCallback((u,m)=>{o?.close(u,m)},[o]);return{socket:o,readyState:i,send:l,close:c}}function Us(e,t){const r=t||e.displayName||e.name||"Unknown",o=a=>{const i=d.useRef({});return d.useEffect(()=>{if(!L.enabled)return;const s=i.current;return Ft.set(s,{name:r,mountedAt:Date.now()}),()=>{Ft.delete(s)}},[]),g.jsx(e,{...a})};return o.displayName=`LeakTracked(${r})`,o}function Xs(e){const t=d.useRef(Date.now());d.useEffect(()=>{L.enabled&&L.logToConsole&&console.log(`%c[NTD] ${e} mounted`,"color: var(--nice-success, #22c55e)");const r=t.current;return()=>{if(L.enabled&&L.logToConsole){const o=Date.now()-r;console.log(`%c[NTD] ${e} unmounted (lifetime: ${o}ms)`,"color: var(--nice-warning, #f59e0b)")}}},[e])}async function Zs(e){if(!ut)return;const t=window.performance;if(t.memory){const r=t.memory;console.log(`%c[Memory Snapshot${e?`: ${e}`:""}]`,"color: var(--nice-info, #6366f1); font-weight: bold",{usedJSHeapSize:`${(r.usedJSHeapSize/1024/1024).toFixed(2)} MB`,totalJSHeapSize:`${(r.totalJSHeapSize/1024/1024).toFixed(2)} MB`,jsHeapSizeLimit:`${(r.jsHeapSizeLimit/1024/1024).toFixed(2)} MB`})}console.log("%cTip: Use Chrome DevTools Memory tab for detailed heap snapshots","color: var(--nice-text-secondary, #64748b); font-style: italic")}function _s(){ut&&(window.gc?(window.gc(),console.log("%c[GC] Forced garbage collection","color: var(--nice-success, #22c55e)")):console.log("%c[GC] gc() not available. Run Chrome with --expose-gc flag","color: var(--nice-warning, #f59e0b)"))}function Js(e=5e3,t=100){const[r,o]=d.useState({usedMB:0,totalMB:0,limitMB:0,isWarning:!1});return d.useEffect(()=>{const a=window.performance;if(!a.memory)return;const i=()=>{const n=a.memory;if(!n)return;const l=n.usedJSHeapSize/1024/1024,c=n.totalJSHeapSize/1024/1024,u=n.jsHeapSizeLimit/1024/1024,m=l>t;o({usedMB:l,totalMB:c,limitMB:u,isWarning:m}),m&&L.enabled&&Q("large-closure",`Memory usage exceeded ${t}MB (${l.toFixed(2)}MB)`,"warning")};i();const s=setInterval(i,e);return()=>clearInterval(s)},[e,t]),r}const Lr=()=>{const e=d.useMemo(()=>Nr(),[]),t=Object.values(e).reduce((r,o)=>r+o,0);return L.enabled,null};Lr.displayName="NiceLeakDetectorStatus";function Ys(e){const t=()=>{var r;(r=e.queryClient)==null||r.invalidateQueries({queryKey:e.queryKey})};return{load:r=>e.queryFn(r),insert:e.mutationFn?async r=>{const o=await e.mutationFn(r);return t(),o}:void 0,update:e.updateMutationFn?async(r,o)=>{const a=await e.updateMutationFn({key:r,values:o});return t(),a}:void 0,remove:e.deleteMutationFn?async r=>{await e.deleteMutationFn(r),t()}:void 0}}function Qs(e,t){return{load:async()=>t.getData(e.getState()),insert:t.addItem?async r=>{const o=e.getState();return t.addItem(o)(r),r}:void 0,update:t.updateItem?async(r,o)=>{const a=e.getState();return t.updateItem(a)(r,o),{...o}}:void 0,remove:t.removeItem?async r=>{const o=e.getState();t.removeItem(o)(r)}:void 0}}function el(e={}){const t=e.actionPrefix??"nice";return r=>o=>a=>{const i=o(a);if(a.type.startsWith(`${t}/grid/`)){const s=a.type.split("/")[2];s&&e.onGridStateChange&&e.onGridStateChange(s,a.payload)}if(a.type.startsWith(`${t}/form/`)){const s=a.type.split("/")[2];s&&e.onFormStateChange&&e.onFormStateChange(s,a.payload)}return i}}function tl(e="nice"){return{setGridState:(t,r)=>({type:`${e}/grid/${t}/setState`,payload:r}),setGridFilter:(t,r)=>({type:`${e}/grid/${t}/setFilter`,payload:r}),setGridSort:(t,r)=>({type:`${e}/grid/${t}/setSort`,payload:r}),setFormValues:(t,r)=>({type:`${e}/form/${t}/setValues`,payload:r}),resetForm:t=>({type:`${e}/form/${t}/reset`})}}function rl(e="nice"){return(t={},r)=>{if(!r.type.startsWith(`${e}/`))return t;const o=r.type.split("/"),[,a,i,s]=o;if(!a||!i)return t;const n=`${a}/${i}`;switch(s){case"setState":return{...t,[n]:{...t[n]??{},...r.payload}};case"setFilter":case"setSort":case"setValues":return{...t,[n]:{...t[n]??{},[s]:r.payload}};case"reset":return{...t,[n]:{}};default:return t}}}function ol(e){let t=null,r=[];return{load:async()=>{if(r.length>0)return r;const o=await e.queryFn();return r=o,o},subscribe:()=>(t=new WebSocket(e.url,"graphql-ws"),t.onopen=()=>{t.send(JSON.stringify({type:"connection_init",payload:e.connectionParams??{}})),t.send(JSON.stringify({type:"start",id:"1",payload:{query:e.query,variables:e.variables}}))},t.onmessage=o=>{var a,i;try{const s=JSON.parse(o.data);s.type==="data"&&(a=s.payload)!=null&&a.data&&(r=(e.extractData??(n=>{const l=n,c=Object.keys(l)[0];return c?l[c]:[]}))(s.payload.data),(i=e.onData)==null||i.call(e,r))}catch{}},()=>{t?.close(),t=null}),unsubscribe:()=>{t?.close(),t=null}}}async function al(e,t){var r;const o=await fetch(e);if(!o.ok)throw new Error(`OpenAPI fetch failed: ${o.status}`);const a=await o.json(),i=(((r=a.components)==null?void 0:r.schemas)??a.definitions??{})[t];if(!i)throw new Error(`Schema "${t}" not found in OpenAPI spec`);const s=new Set(i.required??[]),n=[],l=[];for(const[c,u]of Object.entries(i.properties??{})){const m=pt(u),f=u.title??mt(c);n.push({dataField:c,caption:f,dataType:m,allowEditing:!u.readOnly,visible:!c.toLowerCase().endsWith("id")||c==="id",...u.enum?{lookup:{dataSource:u.enum,valueExpr:"this",displayExpr:"this"}}:{}}),l.push({dataField:c,label:f,editorType:Or(u,m),isRequired:s.has(c),editorOptions:Hr(u),...s.has(c)?{validationRules:[{type:"required",message:`${f} jest wymagane`}]}:{}})}return{columns:n,formFields:l,schema:i}}function il(e){const t=[];for(const[r,o]of Object.entries(e.properties??{}))t.push({dataField:r,caption:o.title??mt(r),dataType:pt(o),allowEditing:!o.readOnly});return t}function nl(e){const t=new Set(e.required??[]),r=[];for(const[o,a]of Object.entries(e.properties??{})){const i=pt(a);r.push({dataField:o,label:a.title??mt(o),editorType:Or(a,i),isRequired:t.has(o),editorOptions:Hr(a)})}return r}function pt(e){return e.type==="integer"||e.type==="number"?"number":e.type==="boolean"?"boolean":e.format==="date"?"date":e.format==="date-time"?"datetime":e.type==="object"||e.type==="array"?"object":"string"}function Or(e,t){return e.enum?"NiceSelect":e.format==="email"||e.format==="uri"||e.format==="url"?"NiceTextInput":e.format==="password"?"NicePasswordInput":t==="number"?"NiceNumberInput":t==="boolean"?"NiceToggle":t==="date"?"NiceDatePicker":t==="datetime"?"NiceDateTimePicker":e.maxLength&&e.maxLength>200?"NiceTextArea":"NiceTextInput"}function Hr(e){const t={};return e.minimum!==void 0&&(t.min=e.minimum),e.maximum!==void 0&&(t.max=e.maximum),e.minLength!==void 0&&(t.minLength=e.minLength),e.maxLength!==void 0&&(t.maxLength=e.maxLength),e.pattern&&(t.pattern=e.pattern),e.enum&&(t.items=e.enum.map(r=>({label:r,value:r}))),e.description&&(t.hint=e.description),Object.keys(t).length>0?t:{}}function mt(e){return e.replace(/([A-Z])/g," $1").replace(/[_-]/g," ").replace(/\b\w/g,t=>t.toUpperCase()).trim()}const Ir={enabled:!0,defaultExpanded:!1,showHelpIcon:!0,position:"tooltip",locale:"en"},sl=async(e,t)=>{try{return null}catch{return null}},Wr=d.createContext(null),Vr=({children:e,config:t,helpContent:r})=>{const[o,a]=d.useState({...Ir,...t}),[i,s]=d.useState(new Set),[n,l]=d.useState(()=>new Map(Object.entries(r||{}))),c=d.useCallback(y=>{a(w=>({...w,...y}))},[]),u=d.useCallback(()=>{a(y=>({...y,enabled:!y.enabled}))},[]),m=d.useCallback(y=>{s(w=>new Set(w).add(y))},[]),f=d.useCallback(y=>{s(w=>{const b=new Set(w);return b.delete(y),b})},[]),h=d.useCallback(y=>o.enabled&&!i.has(y),[o.enabled,i]),p=d.useCallback(async y=>{if(n.has(y))return n.get(y)||null;const w=await(o.contentLoader||sl)(y,o.locale);return w&&l(b=>new Map(b).set(y,w)),w},[n,o.contentLoader,o.locale]),v=d.useMemo(()=>({config:o,setConfig:c,toggleGlobalHelp:u,disabledComponents:i,disableComponentHelp:m,enableComponentHelp:f,isHelpEnabled:h,getHelpContent:p,helpCache:n}),[o,c,u,i,m,f,h,p,n]);return g.jsx(Wr.Provider,{value:v,children:e})};Vr.displayName="NiceHelpProvider";function $r(){return d.useContext(Wr)||{config:Ir,setConfig:()=>{},toggleGlobalHelp:()=>{},disabledComponents:new Set,disableComponentHelp:()=>{},enableComponentHelp:()=>{},isHelpEnabled:()=>!0,getHelpContent:async()=>null,helpCache:new Map}}function qr(e){const{isHelpEnabled:t,getHelpContent:r,helpCache:o,config:a}=$r(),[i,s]=d.useState(o.get(e)||null),[n,l]=d.useState(!1),c=t(e),u=d.useCallback(async()=>{if(!c)return;l(!0);const m=await r(e);s(m),l(!1)},[c,e,r]);return{content:i,loading:n,enabled:c,loadContent:u,position:a.position,defaultExpanded:a.defaultExpanded,showHelpIcon:a.showHelpIcon}}const Kr=({props:e,compact:t})=>{const{t:r}=Y();return!e||e.length===0?null:t?g.jsxs("div",{className:"nice-help__props-compact",children:[e.slice(0,5).map(o=>g.jsxs("div",{className:"nice-help__prop-chip",children:[g.jsx("code",{children:o.name}),o.required&&g.jsx("span",{className:"nice-help__required",children:"*"})]},o.name)),e.length>5&&g.jsxs("span",{className:"nice-help__more",children:["+",e.length-5," ",r("help.moreProps","more")]})]}):g.jsxs("div",{className:"nice-help__props",children:[g.jsx("h4",{className:"nice-help__section-title",children:r("help.props","Properties")}),g.jsxs("table",{className:"nice-help__props-table",children:[g.jsx("thead",{children:g.jsxs("tr",{children:[g.jsx("th",{children:r("help.propName","Name")}),g.jsx("th",{children:r("help.propType","Type")}),g.jsx("th",{children:r("help.propDefault","Default")}),g.jsx("th",{children:r("help.propDescription","Description")})]})}),g.jsx("tbody",{children:e.map(o=>g.jsxs("tr",{children:[g.jsxs("td",{children:[g.jsx("code",{children:o.name}),o.required&&g.jsx("span",{className:"nice-help__required",title:r("help.required","Required"),children:"*"})]}),g.jsx("td",{children:g.jsx("code",{className:"nice-help__type",children:o.type})}),g.jsx("td",{children:o.default!==void 0?g.jsx("code",{children:String(o.default)}):"—"}),g.jsx("td",{children:o.description})]},o.name))})]})]})},Ue=({tips:e})=>{const{t}=Y();return!e||e.length===0?null:g.jsxs("div",{className:"nice-help__tips",children:[g.jsx("h4",{className:"nice-help__section-title",children:t("help.tips","Tips")}),g.jsx("ul",{children:e.map((r,o)=>g.jsxs("li",{children:[g.jsx("span",{className:"nice-help__tip-icon",children:"💡"}),r]},o))})]})},ll=({examples:e})=>{var t,r;const{t:o}=Y(),[a,i]=d.useState(0);return!e||e.length===0?null:g.jsxs("div",{className:"nice-help__examples",children:[g.jsx("h4",{className:"nice-help__section-title",children:o("help.examples","Examples")}),e.length>1&&g.jsx("div",{className:"nice-help__example-tabs",children:e.map((s,n)=>g.jsx("button",{className:`nice-help__example-tab ${a===n?"nice-help__example-tab--active":""}`,onClick:()=>i(n),children:s.title},n))}),g.jsx("pre",{className:"nice-help__code",children:g.jsx("code",{className:`language-${((t=e[a])==null?void 0:t.language)||"tsx"}`,children:(r=e[a])==null?void 0:r.code})})]})},Gr=({componentName:e,content:t,children:r,position:o,defaultExpanded:a,disabled:i=!1,className:s,icon:n,title:l,showProps:c=!0,showExamples:u=!1,showTips:m=!0,compact:f=!1})=>{const{t:h}=Y(),{content:p,loading:v,enabled:y,loadContent:w,position:b,defaultExpanded:k,showHelpIcon:x}=qr(e),C=t||p,S=o||b,z=a??k,[j,P]=d.useState(z);return d.useEffect(()=>{y&&!t&&!p&&w()},[y,t,p,w]),i||!y?g.jsx(g.Fragment,{children:r}):S==="tooltip"?g.jsxs("div",{className:`nice-help-tooltip-wrapper ${s||""}`,children:[r,x&&C&&g.jsx("button",{className:"nice-help__trigger",onClick:()=>P(!j),"aria-label":h("help.toggle","Toggle help"),"aria-expanded":j,children:n||g.jsx("svg",{viewBox:"0 0 24 24",width:"16",height:"16",fill:"currentColor",children:g.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z"})})}),j&&C&&g.jsx("div",{className:"nice-help__tooltip",children:g.jsxs("div",{className:"nice-help__tooltip-content",children:[g.jsx("h3",{className:"nice-help__title",children:l||C.name}),g.jsx("p",{className:"nice-help__description",children:C.description}),m&&C.tips&&g.jsx(Ue,{tips:C.tips}),c&&C.props&&g.jsx(Kr,{props:C.props,compact:!0})]})})]}):g.jsxs("div",{className:`nice-help ${S==="bottom"?"nice-help--bottom":""} ${s||""}`,children:[S==="top"&&C&&g.jsx(Bt,{content:C,expanded:j,onToggle:()=>P(!j),loading:v,title:l,showProps:c,showExamples:u,showTips:m,compact:f}),r,S==="bottom"&&C&&g.jsx(Bt,{content:C,expanded:j,onToggle:()=>P(!j),loading:v,title:l,showProps:c,showExamples:u,showTips:m,compact:f}),S==="inline"&&C&&j&&g.jsxs("div",{className:"nice-help__inline",children:[g.jsx("p",{className:"nice-help__description",children:C.description}),m&&C.tips&&g.jsx(Ue,{tips:C.tips})]})]})};Gr.displayName="NiceInlineHelp";const Bt=({content:e,expanded:t,onToggle:r,loading:o,title:a,showProps:i,showExamples:s,showTips:n,compact:l})=>{const{t:c}=Y();return o?g.jsx("div",{className:"nice-help__panel nice-help__panel--loading",children:g.jsx("div",{className:"nice-spinner nice-spinner--sm"})}):g.jsxs("div",{className:`nice-help__panel ${t?"nice-help__panel--expanded":""}`,children:[g.jsxs("button",{className:"nice-help__panel-header",onClick:r,"aria-expanded":t,children:[g.jsx("span",{className:"nice-help__panel-icon",children:t?"▾":"▸"}),g.jsxs("span",{className:"nice-help__panel-title",children:[a||c("help.about","About")," ",e.name]}),e.status&&g.jsx("span",{className:`nice-help__status nice-help__status--${e.status}`,children:e.status})]}),t&&g.jsxs("div",{className:"nice-help__panel-content",children:[g.jsx("p",{className:"nice-help__description",children:e.description}),n&&e.tips&&g.jsx(Ue,{tips:e.tips}),i&&e.props&&g.jsx(Kr,{props:e.props,compact:l}),s&&e.examples&&g.jsx(ll,{examples:e.examples}),e.seeAlso&&e.seeAlso.length>0&&g.jsxs("div",{className:"nice-help__see-also",children:[g.jsx("h4",{className:"nice-help__section-title",children:c("help.seeAlso","See Also")}),g.jsx("ul",{children:e.seeAlso.map((u,m)=>g.jsx("li",{children:g.jsx("code",{children:u})},m))})]})]})]})},Ur=({text:e,position:t="top",className:r,children:o})=>{const[a,i]=d.useState(!1);return g.jsxs("span",{className:`nice-quick-help nice-quick-help--${t} ${r||""}`,onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),onFocus:()=>i(!0),onBlur:()=>i(!1),children:[o,a&&g.jsx("span",{className:"nice-quick-help__popup",role:"tooltip",children:e})]})};Ur.displayName="NiceQuickHelp";const Xr=({content:e,size:t="sm",className:r,onOpen:o})=>{const{t:a}=Y(),[i,s]=d.useState(!1),n=d.useCallback(()=>{s(!i),!i&&o&&o()},[i,o]),l=typeof e=="string"?e:e.description,c=typeof e=="string"?void 0:e.name;return g.jsxs("span",{className:`nice-help-icon nice-help-icon--${t} ${r||""}`,children:[g.jsx("button",{className:"nice-help-icon__btn",onClick:n,"aria-label":a("help.showHelp","Show help"),"aria-expanded":i,children:g.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:g.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z"})})}),i&&g.jsxs("div",{className:"nice-help-icon__popup",children:[c&&g.jsx("strong",{children:c}),g.jsx("p",{children:l}),g.jsx("button",{className:"nice-help-icon__close",onClick:()=>s(!1),children:"×"})]})]})};Xr.displayName="NiceHelpIcon";const ft=d.createContext({enabled:!0,active:!1,run:()=>{}}),dl=({enabled:e=!0,active:t=!1,onRun:r,children:o})=>{const a=d.useMemo(()=>({enabled:e,active:t,run:r??(()=>{})}),[e,t,r]);return g.jsx(ft.Provider,{value:a,children:o})};function Zr(){return d.useContext(ft)}function cl(){return d.useContext(ft).enabled}function ul(e,t){if(!e)return null;if(e===!0)return t&&t.length>0?t:null;if(Array.isArray(e))return e.length>0?e:null;const r=e.steps??t;return r&&r.length>0?r:null}function _r(e,t){return e.map(r=>({target:r.target,title:r.titleKey?t(r.titleKey,r.title??""):r.title??"",content:r.contentKey?t(r.contentKey,r.content??""):r.content??"",placement:r.placement,highlightPadding:r.highlightPadding,showArrow:r.showArrow,scrollIntoView:r.scrollIntoView,disableInteraction:r.disableInteraction}))}const pl=({steps:e,autoStart:t,label:r,size:o="md",className:a,style:i,"data-testid":s})=>{const{enabled:n,run:l}=Zr(),{t:c}=Y();if(!n||!e||e.length===0)return null;const u=r??c("tutorial.startAria","Start tutorial");return g.jsx("button",{type:"button",className:`nice-tutorial-button nice-tutorial-button--${o}`+(a?` ${a}`:""),style:i,"data-testid":s,"aria-label":u,title:u,onClick:()=>l(_r(e,c),{autoStart:t}),children:"?"})},Nt="nice-tutorial-button-styles";if(typeof document<"u"&&!document.getElementById(Nt)){const e=document.createElement("style");e.id=Nt,e.textContent=`
41
+ .nice-tutorial-button {
42
+ display: inline-flex;
43
+ align-items: center;
44
+ justify-content: center;
45
+ border: 1px solid var(--nice-border, #cbd5e1);
46
+ background: var(--nice-bg, #fff);
47
+ color: var(--nice-text-secondary, #475569);
48
+ border-radius: var(--nice-radius-full, 9999px);
49
+ cursor: help;
50
+ font-weight: 700;
51
+ line-height: 1;
52
+ padding: 0;
53
+ transition: background var(--nice-transition, 200ms ease), color var(--nice-transition, 200ms ease), border-color var(--nice-transition, 200ms ease);
54
+ }
55
+ .nice-tutorial-button:hover {
56
+ background: var(--nice-primary, #2563eb);
57
+ border-color: var(--nice-primary, #2563eb);
58
+ color: var(--nice-text-inverse, #fff);
59
+ }
60
+ .nice-tutorial-button:focus-visible {
61
+ outline: none;
62
+ box-shadow: 0 0 0 2px var(--nice-bg, #fff), 0 0 0 4px var(--nice-primary, #2563eb);
63
+ }
64
+ .nice-tutorial-button--sm { width: 16px; height: 16px; font-size: 11px; }
65
+ .nice-tutorial-button--md { width: 20px; height: 20px; font-size: 12px; }
66
+ `,document.head.appendChild(e)}class Jr{constructor(t="ntd-user-preferences"){this.key=t}async load(){try{const t=localStorage.getItem(this.key);return t?JSON.parse(t):null}catch{return null}}async save(t){localStorage.setItem(this.key,JSON.stringify(t))}async clear(){localStorage.removeItem(this.key)}}class ml{constructor(t="ntd-preferences",r="preferences"){this.db=null,this.dbName=t,this.storeName=r}async getDB(){return this.db?this.db:new Promise((t,r)=>{const o=indexedDB.open(this.dbName,1);o.onerror=()=>r(o.error),o.onsuccess=()=>{this.db=o.result,t(this.db)},o.onupgradeneeded=a=>{const i=a.target.result;i.objectStoreNames.contains(this.storeName)||i.createObjectStore(this.storeName,{keyPath:"id"})}})}async load(){const t=await this.getDB();return new Promise((r,o)=>{const a=t.transaction(this.storeName,"readonly").objectStore(this.storeName).get("user-preferences");a.onerror=()=>o(a.error),a.onsuccess=()=>{var i;return r(((i=a.result)==null?void 0:i.data)||null)}})}async save(t){const r=await this.getDB();return new Promise((o,a)=>{const i=r.transaction(this.storeName,"readwrite").objectStore(this.storeName).put({id:"user-preferences",data:t});i.onerror=()=>a(i.error),i.onsuccess=()=>o()})}async clear(){const t=await this.getDB();return new Promise((r,o)=>{const a=t.transaction(this.storeName,"readwrite").objectStore(this.storeName).delete("user-preferences");a.onerror=()=>o(a.error),a.onsuccess=()=>r()})}}class fl{constructor(t,r){this.baseUrl=t,this.getAuthHeaders=r}getHeaders(){var t;return{"Content-Type":"application/json",...((t=this.getAuthHeaders)==null?void 0:t.call(this))||{}}}async fetch(){const t=await fetch(`${this.baseUrl}/preferences`,{method:"GET",headers:this.getHeaders()});if(!t.ok){if(t.status===404)return null;throw new Error(`Failed to fetch preferences: ${t.statusText}`)}return t.json()}async push(t){const r=await fetch(`${this.baseUrl}/preferences`,{method:"PUT",headers:this.getHeaders(),body:JSON.stringify(t)});if(!r.ok)throw new Error(`Failed to save preferences: ${r.statusText}`)}async getServerTimestamp(){const t=await fetch(`${this.baseUrl}/preferences/timestamp`,{method:"GET",headers:this.getHeaders()});return t.ok&&(await t.json()).timestamp||0}}const Yr=d.createContext(null);function gt(){const e=d.useContext(Yr);if(!e)throw new Error("useUserPreferences must be used within NiceUserPreferencesProvider");return e}function ht(e,t){const{getControlPreferences:r,setControlPreferences:o,updateControlPreferences:a}=gt(),i=r(e,t),s=d.useCallback(l=>o(e,t,l),[e,t,o]),n=d.useCallback(l=>a(e,t,l),[e,t,a]);return[i,s,n]}function gl(e){return ht(e,"grid")}function hl(e){return ht(e,"chart")}const Rt={version:1,global:{},controls:{}};function yl({storage:e=new Jr,syncAdapter:t,autoSyncInterval:r=0,saveDebounce:o=500,children:a}){const[i,s]=d.useState(Rt),[n,l]=d.useState(!0),[c,u]=d.useState(!1),[m,f]=d.useState(null),h=d.useRef(),p=d.useRef();d.useEffect(()=>{let E=!0;return(async()=>{try{const M=await e.load();E&&M&&s(M)}catch(M){E&&f(M instanceof Error?M:new Error("Failed to load preferences"))}finally{E&&l(!1)}})(),()=>{E=!1}},[e]);const v=d.useCallback(E=>{h.current&&clearTimeout(h.current),h.current=setTimeout(async()=>{try{await e.save(E)}catch(M){f(M instanceof Error?M:new Error("Failed to save preferences"))}},o)},[e,o]);d.useEffect(()=>{n||v(i)},[i,n,v]),d.useEffect(()=>{if(t&&r>0)return p.current=setInterval(()=>{S()},r),()=>{p.current&&clearInterval(p.current)}},[t,r]),d.useEffect(()=>()=>{h.current&&clearTimeout(h.current),p.current&&clearInterval(p.current)},[]);const y=d.useCallback((E,M)=>{var A;return(A=i.controls[E])==null?void 0:A[M]},[i]),w=d.useCallback((E,M,A)=>{s(F=>({...F,controls:{...F.controls,[E]:{...F.controls[E],[M]:A,lastModified:Date.now()}}}))},[]),b=d.useCallback((E,M,A)=>{s(F=>{var N;const B=(N=F.controls[E])==null?void 0:N[M],H=typeof B=="object"&&B!==null?{...B,...A}:A;return{...F,controls:{...F.controls,[E]:{...F.controls[E],[M]:H,lastModified:Date.now()}}}})},[]),k=d.useCallback((E,M)=>{s(A=>{if(M){const{[M]:B,...H}=A.controls[E]||{};return{...A,controls:{...A.controls,[E]:H}}}const{[E]:F,...N}=A.controls;return{...A,controls:N}})},[]),x=d.useCallback(E=>i.global[E],[i]),C=d.useCallback((E,M)=>{s(A=>({...A,global:{...A.global,[E]:M}}))},[]),S=d.useCallback(async()=>{if(t){u(!0),f(null);try{const E=await t.getServerTimestamp(),M=i.lastSync||0;if(E>M){const A=await t.fetch();A&&(s({...A,lastSync:Date.now()}),await e.save(A))}else{const A={...i,lastSync:Date.now()};await t.push(A),s(A)}}catch(E){f(E instanceof Error?E:new Error("Sync failed"))}finally{u(!1)}}},[t,i,e]),z=d.useCallback(()=>JSON.stringify(i,null,2),[i]),j=d.useCallback(E=>{try{const M=JSON.parse(E);if(typeof M.version!="number"||!M.controls)throw new Error("Invalid preferences format");s(M)}catch(M){f(M instanceof Error?M:new Error("Import failed"))}},[]),P=d.useCallback(()=>{s(Rt),e.clear()},[e]),T=d.useMemo(()=>({preferences:i,isLoading:n,isSyncing:c,error:m,getControlPreferences:y,setControlPreferences:w,updateControlPreferences:b,clearControlPreferences:k,getGlobalPreferences:x,setGlobalPreferences:C,sync:S,exportPreferences:z,importPreferences:j,resetAllPreferences:P}),[i,n,c,m,y,w,b,k,x,C,S,z,j,P]);return g.jsx(Yr.Provider,{value:T,children:a})}function bl({showGlobal:e=!0,showControls:t=!0,showExportImport:r=!0,showSync:o=!0,className:a,style:i}){var s,n,l,c;const{preferences:u,isLoading:m,isSyncing:f,error:h,sync:p,exportPreferences:v,importPreferences:y,resetAllPreferences:w,setGlobalPreferences:b,clearControlPreferences:k}=gt(),x=d.useRef(null),C=()=>{const j=v(),P=new Blob([j],{type:"application/json"}),T=URL.createObjectURL(P),E=document.createElement("a");E.href=T,E.download="nice2dev-preferences.json",E.click(),URL.revokeObjectURL(T)},S=j=>{var P;const T=(P=j.target.files)==null?void 0:P[0];if(!T)return;const E=new FileReader;E.onload=()=>{y(E.result)},E.readAsText(T)};if(m)return g.jsx("div",{className:a,style:i,children:"Loading preferences..."});const z=Object.keys(u.controls);return g.jsxs("div",{className:`ntd-preferences-panel ${a||""}`,style:{fontFamily:"system-ui, sans-serif",fontSize:"14px",padding:"16px",...i},children:[h&&g.jsx("div",{style:{padding:"12px",marginBottom:"16px",background:"var(--danger-bg, #fef2f2)",border:"1px solid var(--nice-danger-bg, #fecaca)",borderRadius:"6px",color:"var(--color-error, #dc2626)"},children:h.message}),g.jsxs("div",{style:{display:"flex",gap:"8px",marginBottom:"20px",flexWrap:"wrap"},children:[o&&g.jsx("button",{onClick:p,disabled:f,style:{padding:"8px 16px",border:"1px solid var(--border-color, #e5e7eb)",borderRadius:"6px",background:"var(--bg-primary, #fff)",cursor:f?"wait":"pointer"},children:f?"Syncing...":"Sync"}),r&&g.jsxs(g.Fragment,{children:[g.jsx("button",{onClick:C,style:{padding:"8px 16px",border:"1px solid var(--border-color, #e5e7eb)",borderRadius:"6px",background:"var(--bg-primary, #fff)",cursor:"pointer"},children:"Export"}),g.jsx("button",{onClick:()=>{var j;return(j=x.current)==null?void 0:j.click()},style:{padding:"8px 16px",border:"1px solid var(--border-color, #e5e7eb)",borderRadius:"6px",background:"var(--bg-primary, #fff)",cursor:"pointer"},children:"Import"}),g.jsx("input",{ref:x,type:"file",accept:".json",onChange:S,style:{display:"none"}})]}),g.jsx("button",{onClick:w,style:{padding:"8px 16px",border:"1px solid var(--nice-danger-dark, #dc2626)",borderRadius:"6px",background:"var(--danger-bg, #fef2f2)",color:"var(--color-error, #dc2626)",cursor:"pointer",marginLeft:"auto"},children:"Reset All"})]}),e&&g.jsxs("div",{style:{marginBottom:"24px"},children:[g.jsx("h3",{style:{margin:"0 0 12px",fontSize:"16px",fontWeight:600},children:"Global Preferences"}),g.jsxs("div",{style:{display:"grid",gap:"12px"},children:[g.jsxs("label",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[g.jsx("input",{type:"checkbox",checked:((s=u.global.display)==null?void 0:s.reducedMotion)||!1,onChange:j=>b("display",{...u.global.display,reducedMotion:j.target.checked})}),"Reduced motion"]}),g.jsxs("label",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[g.jsx("input",{type:"checkbox",checked:((n=u.global.display)==null?void 0:n.highContrast)||!1,onChange:j=>b("display",{...u.global.display,highContrast:j.target.checked})}),"High contrast"]}),g.jsxs("label",{style:{display:"flex",alignItems:"center",gap:"8px"},children:["Font scale:",g.jsx("input",{type:"range",min:"0.8",max:"1.5",step:"0.1",value:((l=u.global.display)==null?void 0:l.fontScale)||1,onChange:j=>b("display",{...u.global.display,fontScale:parseFloat(j.target.value)}),style:{flex:1}}),g.jsxs("span",{children:[((((c=u.global.display)==null?void 0:c.fontScale)||1)*100).toFixed(0),"%"]})]})]})]}),t&&z.length>0&&g.jsxs("div",{children:[g.jsxs("h3",{style:{margin:"0 0 12px",fontSize:"16px",fontWeight:600},children:["Control Preferences (",z.length,")"]}),g.jsx("div",{style:{display:"grid",gap:"8px"},children:z.map(j=>{const P=u.controls[j],T=Object.keys(P).filter(E=>E!=="lastModified");return g.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"10px 12px",background:"var(--bg-secondary, #f9fafb)",borderRadius:"6px"},children:[g.jsxs("div",{children:[g.jsx("div",{style:{fontWeight:500},children:j}),g.jsx("div",{style:{fontSize:"12px",color:"var(--text-muted, #6b7280)"},children:T.join(", ")})]}),g.jsx("button",{onClick:()=>k(j),style:{padding:"4px 8px",border:"none",borderRadius:"4px",background:"var(--border-color, #e5e7eb)",cursor:"pointer",fontSize:"12px"},children:"Clear"})]},j)})})]}),t&&z.length===0&&g.jsx("div",{style:{color:"var(--text-muted, #6b7280)",fontStyle:"italic"},children:"No control preferences saved yet."})]})}const ie={cookiesAllowed:!1,localStorageAllowed:!1,sessionStorageAllowed:!1,strictAuthCookieOnly:!1,effectiveMode:"traceless",source:"default",requiresConsentBanner:!1,resolvedAt:Date.now(),version:"1.0.0"},Qr={traceless:{cookiesAllowed:!1,localStorageAllowed:!1,sessionStorageAllowed:!1,strictAuthCookieOnly:!1,effectiveMode:"traceless",requiresConsentBanner:!1},ephemeral:{cookiesAllowed:!1,localStorageAllowed:!1,sessionStorageAllowed:!0,strictAuthCookieOnly:!1,effectiveMode:"ephemeral",requiresConsentBanner:!1},private:{cookiesAllowed:!1,localStorageAllowed:!1,sessionStorageAllowed:!0,strictAuthCookieOnly:!0,effectiveMode:"private",requiresConsentBanner:!1},balanced:{cookiesAllowed:!1,localStorageAllowed:!0,sessionStorageAllowed:!0,strictAuthCookieOnly:!1,effectiveMode:"balanced",requiresConsentBanner:!0},full:{cookiesAllowed:!0,localStorageAllowed:!0,sessionStorageAllowed:!0,strictAuthCookieOnly:!1,effectiveMode:"full",requiresConsentBanner:!0},custom:{cookiesAllowed:!1,localStorageAllowed:!1,sessionStorageAllowed:!1,strictAuthCookieOnly:!1,effectiveMode:"custom",requiresConsentBanner:!1}},xe=["traceless","ephemeral","private","balanced","full","custom"];function We(e,t){const r=xe.indexOf(e),o=xe.indexOf(t);return r<=o}function ve(e,t,r,o){let a=e.defaultMode,i="instance";t&&e.allowTenantOverride&&We(t.mode,a)&&(a=t.mode,i="tenant"),r&&t!=null&&t.allowGroupOverride&&We(r.mode,a)&&(a=r.mode,i="group"),o&&(t!=null&&t.allowUserOverride||r!=null&&r.allowUserLockdown)&&We(o.preferredMode,a)&&(a=o.preferredMode,i="user");const s=Qr[a],n={...s,cookiesAllowed:s.cookiesAllowed&&e.maxCookies,localStorageAllowed:s.localStorageAllowed&&e.maxLocalStorage,sessionStorageAllowed:s.sessionStorageAllowed&&e.maxSessionStorage,source:i,resolvedAt:Date.now(),version:"1.0.0"};return o&&(o.restrictCookies&&(n.cookiesAllowed=!1),o.restrictLocalStorage&&(n.localStorageAllowed=!1),o.restrictSessionStorage&&(n.sessionStorageAllowed=!1)),n.effectiveMode=vl(n),n.requiresConsentBanner=wl(n),n}function vl(e){const{cookiesAllowed:t,localStorageAllowed:r,sessionStorageAllowed:o,strictAuthCookieOnly:a}=e;return!t&&!r&&!o?"traceless":!t&&!r&&o&&!a?"ephemeral":!t&&!r&&o&&a?"private":!t&&r&&o?"balanced":t&&r&&o?"full":"custom"}function wl(e){return!e.cookiesAllowed&&!e.localStorageAllowed?!1:e.effectiveMode==="full"||e.effectiveMode==="balanced"}const kl=new Map;class yt{constructor(t,r="nice2dev",o="local"){this.policy=t,this.namespace=r,this.defaultBackend=o}getBackend(t){const r=t||this.defaultBackend;if(r==="local"&&this.policy.localStorageAllowed)try{if(typeof localStorage<"u")return localStorage}catch{}if((r==="session"||r==="local")&&this.policy.sessionStorageAllowed)try{if(typeof sessionStorage<"u")return sessionStorage}catch{}return kl}getKey(t){return`${this.namespace}:${t}`}get(t,r){const o=this.getBackend(r),a=this.getKey(t);try{const i=o instanceof Map?o.get(a):o.getItem(a);if(i==null)return null;try{return JSON.parse(i)}catch{return i}}catch{return null}}set(t,r,o){const a=this.getBackend(o),i=this.getKey(t);try{const s=typeof r=="string"?r:JSON.stringify(r);return a instanceof Map?a.set(i,s):a.setItem(i,s),!0}catch{return!1}}remove(t,r){const o=this.getBackend(r),a=this.getKey(t);try{return o instanceof Map?o.delete(a):(o.removeItem(a),!0)}catch{return!1}}clear(t){const r=this.getBackend(t),o=`${this.namespace}:`;try{if(r instanceof Map)for(const a of r.keys())a.startsWith(o)&&r.delete(a);else{const a=[];for(let i=0;i<r.length;i++){const s=r.key(i);s&&s.startsWith(o)&&a.push(s)}a.forEach(i=>r.removeItem(i))}}catch{}}keys(t){const r=this.getBackend(t),o=`${this.namespace}:`,a=[];try{if(r instanceof Map)for(const i of r.keys())i.startsWith(o)&&a.push(i.slice(o.length));else for(let i=0;i<r.length;i++){const s=r.key(i);s&&s.startsWith(o)&&a.push(s.slice(o.length))}}catch{}return a}has(t,r){return this.get(t,r)!==null}getCapabilities(){return{canUseCookies:this.policy.cookiesAllowed,canUseLocalStorage:this.policy.localStorageAllowed,canUseSessionStorage:this.policy.sessionStorageAllowed,canPersist:this.policy.localStorageAllowed,effectiveMode:this.policy.effectiveMode,actualBackend:this.getActualBackendType()}}getActualBackendType(){const t=this.getBackend();return t instanceof Map?"memory":t===sessionStorage?"session":"local"}updatePolicy(t){this.policy=t}}function bt(e,t,r){return{generatedAt:new Date().toISOString(),instanceId:t,tenantId:r,effectiveMode:e.effectiveMode,cookies:{count:0,allowed:e.cookiesAllowed,strictAuthOnly:e.strictAuthCookieOnly,thirdParty:!1,tracking:!1},localStorage:{bytesUsed:0,allowed:e.localStorageAllowed,keysCount:0},sessionStorage:{bytesUsed:0,allowed:e.sessionStorageAllowed,keysCount:0},consentBanner:{required:e.requiresConsentBanner,shown:e.requiresConsentBanner},compliance:{ePrivacyCompliant:!e.cookiesAllowed||e.requiresConsentBanner,gdprCompliant:!0,pecrCompliant:!e.cookiesAllowed||e.requiresConsentBanner},statement:Sl(e)}}function Sl(e){return e.effectiveMode==="traceless"?"This OmniVerk instance operates in Traceless™ mode. No cookies are set (0), no data is saved to localStorage (0), and no sessionStorage is used (0). No cookie consent banner is required under ePrivacy Directive Art. 5(3) as no similar technologies are employed.":e.effectiveMode==="ephemeral"?"This OmniVerk instance operates in Ephemeral mode. No cookies are set, no localStorage is used. sessionStorage is used for session-only data that is automatically cleared when the browser tab is closed. No cookie consent banner is required.":e.effectiveMode==="private"?"This OmniVerk instance operates in Private mode. One strictly necessary httpOnly authentication cookie may be set. sessionStorage is used for session preferences. No consent banner is required as only strictly necessary technologies are used.":e.effectiveMode==="balanced"?"This OmniVerk instance operates in Balanced mode. localStorage is used for user preferences. sessionStorage is used for session data. No cookies are set. Depending on jurisdiction, a consent banner may be shown.":"This OmniVerk instance operates in Full mode. Cookies, localStorage, and sessionStorage are enabled. A consent banner is displayed to users before any non-essential storage is used."}function vt(e){const{effectiveMode:t}=e;switch(t){case"traceless":return{mode:"traceless",icon:"🟢",color:"var(--nice-success, #10b981)",label:"Traceless™",tooltip:"Your data is not stored on this device. Zero cookies, zero localStorage, zero traces.",cssClass:"nice-traceless-badge--traceless"};case"ephemeral":return{mode:"ephemeral",icon:"🔵",color:"var(--nice-primary, #3b82f6)",label:"Ephemeral",tooltip:"Session-only storage. Data is cleared when you close this tab.",cssClass:"nice-traceless-badge--ephemeral"};case"private":return{mode:"private",icon:"🟡",color:"var(--nice-warning, #eab308)",label:"Private",tooltip:"Minimal storage with one secure authentication cookie.",cssClass:"nice-traceless-badge--private"};case"balanced":return{mode:"balanced",icon:"🟠",color:"var(--nice-warning, #f97316)",label:"Balanced",tooltip:"Preferences are saved locally. No tracking cookies.",cssClass:"nice-traceless-badge--balanced"};case"full":return{mode:"full",icon:"🔴",color:"var(--nice-danger, #ef4444)",label:"Full",tooltip:"All storage enabled including analytics. You control what is stored via consent.",cssClass:"nice-traceless-badge--full"};case"custom":default:return{mode:"custom",icon:"⚪",color:"var(--nice-text-secondary, #6b7280)",label:"Custom",tooltip:"Custom storage configuration.",cssClass:"nice-traceless-badge--custom"}}}const Lt="X-OmniVerk-Storage-Policy";function Ot(e){const t=e.toLowerCase().trim();return xe.includes(t)?t:null}function Ve(e){return{maxCookies:!0,maxLocalStorage:!0,maxSessionStorage:!0,defaultMode:"balanced",allowTenantOverride:!0,instanceId:e}}function wt(e){const t=[];if(!e.cookiesAllowed&&typeof document<"u"){const r=document.cookie;r&&r.length>0&&t.push({type:"cookie",severity:"high",message:`Cookies found but not allowed: ${r.split(";").length} cookie(s)`,data:r})}if(!e.localStorageAllowed)try{typeof localStorage<"u"&&localStorage.length>0&&t.push({type:"localStorage",severity:"high",message:`localStorage has ${localStorage.length} item(s) but not allowed`})}catch{}if(!e.sessionStorageAllowed)try{typeof sessionStorage<"u"&&sessionStorage.length>0&&t.push({type:"sessionStorage",severity:"medium",message:`sessionStorage has ${sessionStorage.length} item(s) but not allowed`})}catch{}return{compliant:t.length===0,violations:t,auditedAt:Date.now(),policy:e.effectiveMode}}const eo=d.createContext(null),xl=({config:e,children:t})=>{const[r,o]=d.useState(!1),[a,i]=d.useState(null),s=d.useRef(null);d.useEffect(()=>()=>{var p;(p=s.current)==null||p.abort()},[]);const n=d.useCallback(()=>{var p;(p=s.current)==null||p.abort(),s.current=null,o(!1)},[]),l=async(p,v,y)=>{var w,b,k,x,C,S;const z=new TextDecoder;let j="";for(;;){const{done:P,value:T}=await p.read();if(P)break;j+=z.decode(T,{stream:!0});const E=j.split(`
67
+ `);j=E.pop()||"";for(const M of E)if(M.startsWith("data: ")){const A=M.slice(6).trim();if(A==="[DONE]"){v({content:"",done:!0});return}try{const F=JSON.parse(A);let N="",B=!1;y==="openai"||y==="azure-openai"?(N=((k=(b=(w=F.choices)==null?void 0:w[0])==null?void 0:b.delta)==null?void 0:k.content)||"",B=((C=(x=F.choices)==null?void 0:x[0])==null?void 0:C.finish_reason)==="stop"):y==="anthropic"&&(F.type==="content_block_delta"?N=((S=F.delta)==null?void 0:S.text)||"":F.type==="message_stop"&&(B=!0)),(N||B)&&v({content:N,done:B})}catch{}}}v({content:"",done:!0})},c=(p,v)=>{var y;return{model:v.model||e.defaultModel||"gpt-4",messages:v.systemPrompt?[{role:"system",content:v.systemPrompt},...p]:p,temperature:v.temperature??.7,max_tokens:v.maxTokens,stop:v.stop,stream:v.stream??!1,tools:(y=v.tools)==null?void 0:y.map(w=>({type:"function",function:{name:w.name,description:w.description,parameters:w.parameters}}))}},u=(p,v)=>{var y;const w=v.systemPrompt||((y=p.find(k=>k.role==="system"))==null?void 0:y.content),b=p.filter(k=>k.role!=="system");return{model:v.model||e.defaultModel||"claude-3-opus-20240229",max_tokens:v.maxTokens||4096,system:w,messages:b.map(k=>({role:k.role==="assistant"?"assistant":"user",content:k.content})),temperature:v.temperature??.7,stop_sequences:v.stop,stream:v.stream??!1}},m=d.useCallback(async(p,v={})=>{var y,w,b,k,x,C;if(e.provider==="custom"&&e.customHandler)return e.customHandler(p,v);o(!0),i(null),s.current=new AbortController;try{let S,z,j;if(e.provider==="openai")S=e.endpoint||"https://api.openai.com/v1/chat/completions",z={"Content-Type":"application/json",Authorization:`Bearer ${e.apiKey}`,...e.organizationId&&{"OpenAI-Organization":e.organizationId},...e.headers},j=c(p,{...v,stream:!1});else if(e.provider==="azure-openai")S=e.endpoint||"",z={"Content-Type":"application/json","api-key":e.apiKey||"",...e.headers},j=c(p,{...v,stream:!1});else if(e.provider==="anthropic")S=e.endpoint||"https://api.anthropic.com/v1/messages",z={"Content-Type":"application/json","x-api-key":e.apiKey||"","anthropic-version":"2023-06-01",...e.headers},j=u(p,{...v,stream:!1});else throw new Error(`Unsupported provider: ${e.provider}`);const P=await fetch(S,{method:"POST",headers:z,body:JSON.stringify(j),signal:s.current.signal});if(!P.ok){const M=await P.text();throw new Error(`AI request failed: ${P.status} ${M}`)}const T=await P.json();let E;if(e.provider==="openai"||e.provider==="azure-openai"){const M=(y=T.choices)==null?void 0:y[0];E={content:((w=M?.message)==null?void 0:w.content)||"",finishReason:M?.finish_reason||"stop",toolCalls:(k=(b=M?.message)==null?void 0:b.tool_calls)==null?void 0:k.map(A=>({id:A.id,name:A.function.name,arguments:JSON.parse(A.function.arguments)})),usage:T.usage&&{promptTokens:T.usage.prompt_tokens,completionTokens:T.usage.completion_tokens,totalTokens:T.usage.total_tokens}}}else e.provider==="anthropic"?E={content:((C=(x=T.content)==null?void 0:x[0])==null?void 0:C.text)||"",finishReason:T.stop_reason||"stop",usage:T.usage&&{promptTokens:T.usage.input_tokens,completionTokens:T.usage.output_tokens,totalTokens:T.usage.input_tokens+T.usage.output_tokens}}:E={content:"",finishReason:"stop"};return E}catch(S){throw S.name==="AbortError"?new Error("Request cancelled"):(i(S),S)}finally{o(!1)}},[e]),f=d.useCallback(async(p,v,y={})=>{if(e.provider==="custom"&&e.customStreamHandler)return e.customStreamHandler(p,y,v);o(!0),i(null),s.current=new AbortController;try{let w,b,k;if(e.provider==="openai")w=e.endpoint||"https://api.openai.com/v1/chat/completions",b={"Content-Type":"application/json",Authorization:`Bearer ${e.apiKey}`,...e.organizationId&&{"OpenAI-Organization":e.organizationId},...e.headers},k=c(p,{...y,stream:!0});else if(e.provider==="azure-openai")w=e.endpoint||"",b={"Content-Type":"application/json","api-key":e.apiKey||"",...e.headers},k=c(p,{...y,stream:!0});else if(e.provider==="anthropic")w=e.endpoint||"https://api.anthropic.com/v1/messages",b={"Content-Type":"application/json","x-api-key":e.apiKey||"","anthropic-version":"2023-06-01",...e.headers},k=u(p,{...y,stream:!0});else throw new Error(`Unsupported provider: ${e.provider}`);const x=await fetch(w,{method:"POST",headers:b,body:JSON.stringify(k),signal:s.current.signal});if(!x.ok){const S=await x.text();throw new Error(`AI request failed: ${x.status} ${S}`)}if(!x.body)throw new Error("Response body is null");const C=x.body.getReader();await l(C,v,e.provider)}catch(w){if(w.name==="AbortError"){v({content:"",done:!0});return}throw i(w),w}finally{o(!1)}},[e]),h={isConfigured:!!e.apiKey||e.provider==="custom"||e.provider==="local",provider:e.provider,defaultModel:e.defaultModel||null,complete:m,stream:f,cancel:n,isLoading:r,error:a};return g.jsx(eo.Provider,{value:h,children:t})};function oe(){const e=d.useContext(eo);if(!e)throw new Error("useNiceAI must be used within a NiceAIProvider");return e}function El(e={}){const t=oe(),[r,o]=d.useState(""),[a,i]=d.useState([]),[s,n]=d.useState(!1),[l,c]=d.useState(null),u=d.useCallback(async v=>{n(!0),c(null),o("");const y=[...a,{role:"user",content:v}];try{const w=await t.complete(y,{systemPrompt:e.systemPrompt,model:e.model,temperature:e.temperature});return i([...y,{role:"assistant",content:w.content}]),o(w.content),w.content}catch(w){throw c(w),w}finally{n(!1)}},[t,a,e]),m=d.useCallback(async(v,y)=>{n(!0),c(null),o("");const w=[...a,{role:"user",content:v}];try{let b="";return await t.stream(w,k=>{k.done||(b+=k.content,o(b),y?.(k.content))},{systemPrompt:e.systemPrompt,model:e.model,temperature:e.temperature}),i([...w,{role:"assistant",content:b}]),b}catch(b){throw c(b),b}finally{n(!1)}},[t,a,e]),f=d.useCallback(()=>{o(""),c(null)},[]),h=d.useCallback(()=>{i([]),o(""),c(null)},[]),p=d.useCallback(()=>{t.cancel(),n(!1)},[t]);return{response:r,isLoading:s,error:l,send:u,sendStreaming:m,clear:f,cancel:p,history:a,clearHistory:h}}function Cl(e={}){const t=oe(),[r,o]=d.useState(""),[a,i]=d.useState(!1),s=d.useCallback(async(u,m="")=>{i(!0),o("");try{const f=(await t.complete([{role:"user",content:`Complete the following ${e.language||""} code. Return ONLY the completion text, no explanation.
68
+
69
+ Code before cursor:
70
+ \`\`\`
71
+ ${u}
72
+ \`\`\`
73
+
74
+ Code after cursor:
75
+ \`\`\`
76
+ ${m}
77
+ \`\`\`
78
+
79
+ Completion:`}],{model:e.model,temperature:.2,maxTokens:200})).content.trim();return o(f),f}catch{return""}finally{i(!1)}},[t,e]),n=d.useCallback(async u=>{i(!0);try{return(await t.complete([{role:"user",content:`Explain the following ${e.language||""} code concisely:
80
+
81
+ \`\`\`
82
+ ${u}
83
+ \`\`\``}],{model:e.model,temperature:.3})).content}finally{i(!1)}},[t,e]),l=d.useCallback(async(u,m)=>{i(!0);try{const f=await t.complete([{role:"user",content:`Refactor the following ${e.language||""} code according to the instruction. Return ONLY the refactored code.
84
+
85
+ Code:
86
+ \`\`\`
87
+ ${u}
88
+ \`\`\`
89
+
90
+ Instruction: ${m}
91
+
92
+ Refactored code:`}],{model:e.model,temperature:.2}),h=f.content.match(/```[\w]*\n?([\s\S]*?)```/);return h?h[1].trim():f.content.trim()}finally{i(!1)}},[t,e]),c=d.useCallback(async u=>{i(!0);try{const m=await t.complete([{role:"user",content:`Generate ${e.language||""} code from this comment/description. Return ONLY the code.
93
+
94
+ Description: ${u}
95
+
96
+ Code:`}],{model:e.model,temperature:.3}),f=m.content.match(/```[\w]*\n?([\s\S]*?)```/);return f?f[1].trim():m.content.trim()}finally{i(!1)}},[t,e]);return{suggestion:r,isLoading:a,complete:s,explain:n,refactor:l,generateFromComment:c}}function zl(){const e=oe(),[t,r]=d.useState(!1);return{parseFilter:d.useCallback(async(o,a)=>{r(!0);try{const i=await e.complete([{role:"user",content:`Convert this natural language query to filter conditions. Available columns: ${JSON.stringify(a)}
97
+
98
+ Query: "${o}"
99
+
100
+ Return a JSON array of filter objects with: field, operator (eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith), value.
101
+ Only return the JSON array, no explanation.`}],{temperature:.1,maxTokens:500});try{const s=JSON.parse(i.content);return Array.isArray(s)?s:[]}catch{return[]}}finally{r(!1)}},[e]),isLoading:t}}function jl(){const e=oe(),[t,r]=d.useState(!1),o=d.useCallback(async(i,s)=>{r(!0);try{const n=i.slice(0,5),l=await e.complete([{role:"user",content:`Analyze this data and suggest the best chart type. Data sample: ${JSON.stringify(n)}
102
+ ${s?`Context: ${s}`:""}
103
+
104
+ Return JSON with: type (line, bar, pie, scatter, area, donut), reason (brief explanation), config (suggested chart configuration like xField, yField, etc.)
105
+ Only return JSON.`}],{temperature:.2,maxTokens:500});try{return JSON.parse(l.content)}catch{return{type:"bar",reason:"Default chart type",config:{}}}}finally{r(!1)}},[e]),a=d.useCallback(async(i,s)=>{r(!0);try{const n=await e.complete([{role:"user",content:`Analyze this ${s} chart data and provide 3-5 key insights. Data: ${JSON.stringify(i.slice(0,20))}
106
+
107
+ Return a JSON array of insight strings.`}],{temperature:.3,maxTokens:500});try{return JSON.parse(n.content)}catch{return[]}}finally{r(!1)}},[e]);return{suggestChartType:o,generateInsights:a,isLoading:t}}function Dl(){const e=oe(),[t,r]=d.useState(!1);return{generateForm:d.useCallback(async o=>{r(!0);try{const a=await e.complete([{role:"user",content:`Generate a form definition from this description: "${o}"
108
+
109
+ Return a JSON array of field objects with: label, field (camelCase), type (text, number, email, date, select, checkbox, textarea), required (boolean), options (for select type).
110
+ Only return JSON.`}],{temperature:.3,maxTokens:1e3});try{return JSON.parse(a.content)}catch{return[]}}finally{r(!1)}},[e]),isLoading:t}}function Ml(){const e=oe(),[t,r]=d.useState(!1),o=d.useCallback(async(s,n)=>{r(!0);try{return(await e.complete([{role:"user",content:`Improve this text to be more ${n||"professional"}. Keep the same meaning. Return only the improved text.
111
+
112
+ Text: ${s}
113
+
114
+ Improved:`}],{temperature:.4})).content.trim()}finally{r(!1)}},[e]),a=d.useCallback(async(s,n)=>{r(!0);try{return(await e.complete([{role:"user",content:`Translate this text to ${n}. Return only the translation.
115
+
116
+ Text: ${s}
117
+
118
+ Translation:`}],{temperature:.2})).content.trim()}finally{r(!1)}},[e]),i=d.useCallback(async s=>{r(!0);try{const n=await e.complete([{role:"user",content:`Generate clean semantic HTML from this prompt. Use proper tags (h1-h6, p, ul, ol, table, etc.). Return only HTML.
119
+
120
+ Prompt: ${s}
121
+
122
+ HTML:`}],{temperature:.3}),l=n.content.match(/```html?\n?([\s\S]*?)```/);return l?l[1].trim():n.content.trim()}finally{r(!1)}},[e]);return{improveText:o,translate:a,generateHtml:i,isLoading:t}}class Be{constructor(){this._listeners=new Map}on(t,r){return this._listeners.has(t)||this._listeners.set(t,new Set),this._listeners.get(t).add(r),()=>{var o;(o=this._listeners.get(t))==null||o.delete(r)}}emit(t,...r){var o;(o=this._listeners.get(t))==null||o.forEach(a=>{try{a(...r)}catch{}})}}function Al(e,t){const r=e[t.field],o=t.value;switch(t.operator){case"=":return r==o;case"<>":return r!=o;case"<":return r<o;case"<=":return r<=o;case">":return r>o;case">=":return r>=o;case"contains":return String(r??"").toLowerCase().includes(String(o??"").toLowerCase());case"notcontains":return!String(r??"").toLowerCase().includes(String(o??"").toLowerCase());case"startswith":return String(r??"").toLowerCase().startsWith(String(o??"").toLowerCase());case"endswith":return String(r??"").toLowerCase().endsWith(String(o??"").toLowerCase());case"isblank":return r==null||r==="";case"isnotblank":return r!=null&&r!=="";default:return!0}}function to(e,t){if(t.items.length===0)return!0;const r=o=>o.type==="condition"?Al(e,o):to(e,o);return t.logic==="and"?t.items.every(r):t.items.some(r)}function Pl(e,t){var r;let o=[...e];if(t.filter&&(o=o.filter(i=>to(i,t.filter))),t.search){const i=t.search.toLowerCase(),s=t.searchFields;o=o.filter(n=>(s?s.map(l=>n[l]):Object.values(n)).some(l=>String(l??"").toLowerCase().includes(i)))}const a=o.length;if((r=t.sort)!=null&&r.length&&o.sort((i,s)=>{for(const n of t.sort){const l=i[n.field]??"",c=s[n.field]??"",u=typeof l=="number"&&typeof c=="number"?l-c:String(l).localeCompare(String(c));if(u!==0)return n.direction==="desc"?-u:u}return 0}),t.skip!=null||t.take!=null){const i=t.skip??0,s=t.take??o.length;o=o.slice(i,i+s)}return{data:o,totalCount:a}}function Tl(e){const t=e.keyField??"id";let r=[...e.data];const o=new Be;return{keyField:t,writable:!0,async load(a={}){o.emit("loading",!0);try{const i=Pl(r,a);return o.emit("loaded",i),o.emit("loading",!1),i}catch(i){throw o.emit("error",i instanceof Error?i:new Error(String(i))),o.emit("loading",!1),i}},async byKey(a){return r.find(i=>i[t]===a)},async insert(a){const i={...a};return r=[...r,i],o.emit("changed"),i},async update(a,i){const s=r.findIndex(l=>l[t]===a);if(s===-1)throw new Error(`Record not found: ${a}`);const n={...r[s],...i};return r=r.map((l,c)=>c===s?n:l),o.emit("changed"),n},async remove(a){r=r.filter(i=>i[t]!==a),o.emit("changed")},on:o.on.bind(o)}}async function Fl(e){const t={"Content-Type":"application/json"};if(!e.headers)return t;const r=typeof e.headers=="function"?await e.headers():e.headers;return{...t,...r}}function $e(e,t,r){return typeof e=="function"?e(r):e||`${t}/${encodeURIComponent(String(r))}`}function Bl(e){var t,r,o;const a={};return e.skip!=null&&(a.skip=String(e.skip)),e.take!=null&&(a.take=String(e.take)),e.search&&(a.search=e.search),(t=e.sort)!=null&&t.length&&(a.sort=e.sort.map(i=>`${i.field} ${i.direction}`).join(",")),e.filter&&(a.filter=JSON.stringify(e.filter)),(r=e.select)!=null&&r.length&&(a.select=e.select.join(",")),(o=e.expand)!=null&&o.length&&(a.expand=e.expand.join(",")),a}function Nl(e){if(Array.isArray(e))return{data:e,totalCount:e.length};const t=e,r=t.data??t.items??t.value??t.results??[],o=t.totalCount??t.total??t.count??t["@odata.count"]??r.length;return{data:r,totalCount:o}}function ro(e){const t=e.keyField??"id",r=new Be;async function o(a,i){const s=await Fl(e),n=await fetch(a,{...e.fetchOptions,...i,headers:{...s,...i?.headers}});if(!n.ok){const l=await n.text().catch(()=>n.statusText);throw new Error(`HTTP ${n.status}: ${l}`)}return(n.headers.get("content-type")??"").includes("json")?n.json():n.text()}return{keyField:t,writable:!0,async load(a={}){var i;r.emit("loading",!0);try{const s=e.loadUrl??e.url,n=e.mapLoadParams?e.mapLoadParams(a):Bl(a),l=new URLSearchParams(n).toString(),c=l?`${s}?${l}`:s,u=await o(c),m=e.extractLoadResult?e.extractLoadResult(u):Nl(u);return r.emit("loaded",m),r.emit("loading",!1),m}catch(s){const n=s instanceof Error?s:new Error(String(s));throw r.emit("error",n),r.emit("loading",!1),(i=e.onError)==null||i.call(e,n,"load"),n}},async byKey(a){const i=$e(e.byKeyUrl,e.url,a),s=await o(i);return e.extractItem?e.extractItem(s):s},async insert(a){const i=e.insertUrl??e.url,s=e.prepareInsertBody?e.prepareInsertBody(a):a,n=await o(i,{method:"POST",body:JSON.stringify(s)}),l=e.extractItem?e.extractItem(n):n;return r.emit("changed"),l},async update(a,i){const s=$e(e.updateUrl,e.url,a),n=e.prepareUpdateBody?e.prepareUpdateBody(a,i):i,l=await o(s,{method:e.updateMethod??"PUT",body:JSON.stringify(n)}),c=e.extractItem?e.extractItem(l):l;return r.emit("changed"),c},async remove(a){const i=$e(e.deleteUrl,e.url,a);await o(i,{method:"DELETE"}),r.emit("changed")},on:r.on.bind(r)}}function Rl(e,t){const r=e.field,o=typeof e.value=="string"?`'${e.value.replace(/'/g,"''")}'`:String(e.value??"null");switch(e.operator){case"=":return`${r} eq ${o}`;case"<>":return`${r} ne ${o}`;case"<":return`${r} lt ${o}`;case"<=":return`${r} le ${o}`;case">":return`${r} gt ${o}`;case">=":return`${r} ge ${o}`;case"contains":return t>=4?`contains(${r},${o})`:`substringof(${o},${r})`;case"notcontains":return t>=4?`not contains(${r},${o})`:`not substringof(${o},${r})`;case"startswith":return`startswith(${r},${o})`;case"endswith":return`endswith(${r},${o})`;case"isblank":return`${r} eq null`;case"isnotblank":return`${r} ne null`;default:return"true"}}function oo(e,t){return e.items.length===0?"":e.items.map(r=>r.type==="condition"?Rl(r,t):`(${oo(r,t)})`).join(e.logic==="and"?" and ":" or ")}function Ll(e){const t=e.version??4,r={url:e.url,keyField:e.keyField,headers:e.headers,fetchOptions:e.fetchOptions,onError:e.onError,updateMethod:"PATCH",mapLoadParams(o){var a,i,s;const n={};if(t>=4&&(n.$count="true"),o.skip!=null&&(n.$skip=String(o.skip)),o.take!=null&&(n.$top=String(o.take)),(a=o.sort)!=null&&a.length&&(n.$orderby=o.sort.map(l=>`${l.field} ${l.direction}`).join(",")),o.filter){const l=oo(o.filter,t);l&&(n.$filter=l)}return o.search&&(n.$search=`"${o.search}"`),(i=o.select)!=null&&i.length&&(n.$select=o.select.join(",")),(s=o.expand)!=null&&s.length&&(n.$expand=o.expand.join(",")),n},extractLoadResult(o){var a,i;const s=o,n=s.value??((a=s.d)==null?void 0:a.results)??[],l=s["@odata.count"]??((i=s.d)==null?void 0:i.__count)??n.length;return{data:n,totalCount:l}},byKeyUrl:o=>{const a=typeof o=="number"?o:`'${String(o).replace(/'/g,"''")}'`;return`${e.url}(${a})`}};return ro(r)}function Ol(e){const t=e.keyField??"id",r=new Be;async function o(n,l){var c;const u={"Content-Type":"application/json"},m=e.headers?typeof e.headers=="function"?await e.headers():e.headers:{},f=await fetch(e.url,{method:"POST",headers:{...u,...m},body:JSON.stringify({query:n,variables:l})});if(!f.ok){const p=await f.text().catch(()=>f.statusText);throw new Error(`GraphQL HTTP ${f.status}: ${p}`)}const h=await f.json();if((c=h.errors)!=null&&c.length)throw new Error(h.errors.map(p=>p.message).join("; "));return h.data}function a(n){var l;const c={};return n.skip!=null&&(c.skip=n.skip),n.take!=null&&(c.take=n.take),n.search&&(c.search=n.search),(l=n.sort)!=null&&l.length&&(c.sort=n.sort),n.filter&&(c.filter=n.filter),c}function i(n){if(!n||typeof n!="object")return{data:[],totalCount:0};const l=Object.values(n)[0];if(!l)return{data:[],totalCount:0};if(Array.isArray(l))return{data:l,totalCount:l.length};const c=l.items??l.nodes??l.edges??l.data??[],u=l.totalCount??l.total??l.count??c.length;return{data:c,totalCount:u}}function s(n){return!n||typeof n!="object"?n:Object.values(n)[0]}return{keyField:t,writable:!!(e.queries.insert||e.queries.update||e.queries.remove),async load(n={}){var l;r.emit("loading",!0);try{const c=e.mapVariables?e.mapVariables(n):a(n),u=await o(e.queries.load,c),m=e.extractLoadResult?e.extractLoadResult(u):i(u);return r.emit("loaded",m),r.emit("loading",!1),m}catch(c){const u=c instanceof Error?c:new Error(String(c));throw r.emit("error",u),r.emit("loading",!1),(l=e.onError)==null||l.call(e,u,"load"),u}},async byKey(n){if(!e.queries.byKey)throw new Error("byKey query not configured");const l=await o(e.queries.byKey,{[t]:n});return e.extractItem?e.extractItem(l):s(l)},insert:e.queries.insert?async n=>{const l=await o(e.queries.insert,{input:n}),c=e.extractItem?e.extractItem(l):s(l);return r.emit("changed"),c}:void 0,update:e.queries.update?async(n,l)=>{const c=await o(e.queries.update,{[t]:n,input:l}),u=e.extractItem?e.extractItem(c):s(c);return r.emit("changed"),u}:void 0,remove:e.queries.remove?async n=>{await o(e.queries.remove,{[t]:n}),r.emit("changed")}:void 0,on:r.on.bind(r)}}function Hl(e){const t=e.keyField??"id",r=new Be;return{keyField:t,writable:!!(e.insert||e.update||e.remove),async load(o={}){r.emit("loading",!0);try{const a=await e.load(o);return r.emit("loaded",a),r.emit("loading",!1),a}catch(a){const i=a instanceof Error?a:new Error(String(a));throw r.emit("error",i),r.emit("loading",!1),i}},async byKey(o){if(!e.byKey)throw new Error("byKey handler not configured");return e.byKey(o)},insert:e.insert?async o=>{const a=await e.insert(o);return r.emit("changed"),a}:void 0,update:e.update?async(o,a)=>{const i=await e.update(o,a);return r.emit("changed"),i}:void 0,remove:e.remove?async o=>{await e.remove(o),r.emit("changed")}:void 0,on:r.on.bind(r)}}class Xe{constructor(t={}){this.cache=new Map,this.ttl=t.ttl??6e4,this.maxSize=t.maxSize??100}get(t){const r=this.cache.get(t);if(r){if(Date.now()>r.expiresAt){this.cache.delete(t);return}return this.cache.delete(t),this.cache.set(t,r),r.data}}set(t,r,o){if(this.cache.size>=this.maxSize){const a=this.cache.keys().next().value;a&&this.cache.delete(a)}this.cache.set(t,{data:r,timestamp:Date.now(),expiresAt:Date.now()+(o??this.ttl)})}has(t){return this.get(t)!==void 0}invalidate(t){this.cache.delete(t)}invalidateAll(){this.cache.clear()}invalidateMatching(t){for(const r of this.cache.keys())t.test(r)&&this.cache.delete(r)}}class ao{constructor(){this.pending=new Map}async dedupe(t,r){const o=this.pending.get(t);if(o)return o;const a=r().finally(()=>{this.pending.delete(t)});return this.pending.set(t,a),a}hasPending(t){return this.pending.has(t)}cancelAll(){this.pending.clear()}}function Il(e,t={}){const r=new Xe(t),o=new Xe(t),a=new ao,i=t.generateKey??(l=>JSON.stringify(l)),s=t.cacheLoads!==!1,n=t.cacheByKey!==!1;return{...e,cache:r,async load(l={}){const c=`load:${i(l)}`;if(s){const u=r.get(c);if(u)return u}return a.dedupe(c,async()=>{const u=await e.load(l);return s&&r.set(c,u),u})},async byKey(l){const c=`byKey:${String(l)}`;if(n){const u=o.get(c);if(u)return u}return a.dedupe(c,async()=>{const u=await e.byKey(l);return n&&u&&o.set(c,u),u})},async insert(l){const c=await e.insert(l);return r.invalidateAll(),c},async update(l,c){const u=await e.update(l,c);return r.invalidateAll(),o.invalidate(`byKey:${String(l)}`),u},async remove(l){await e.remove(l),r.invalidateAll(),o.invalidate(`byKey:${String(l)}`)},invalidateCache(){r.invalidateAll(),o.invalidateAll()}}}function Wl(e,t){const{cursorField:r,pageSize:o=20,direction:a="asc"}=t;return{async loadPage(i={}){var s;const n=i.pageSize??o,l=i.direction??"forward",c=i.cursor?{type:"condition",field:r,operator:l==="forward"?a==="asc"?">":"<":a==="asc"?"<":">",value:Vl(i.cursor)}:null,u=c?{type:"group",logic:"and",items:[...((s=i.filter)==null?void 0:s.items)??[],c]}:i.filter,m=[{field:r,direction:l==="forward"?a:a==="asc"?"desc":"asc"},...i.sort??[]],f=await e.load({...i,filter:u,sort:m,take:n+1}),h=f.data.length>n,p=h?f.data.slice(0,n):f.data;l==="backward"&&p.reverse();const v=p[p.length-1],y=p[0];return{data:p,nextCursor:h&&v?qe(v[r]):null,prevCursor:y&&i.cursor?qe(y[r]):null,hasMore:h}},async*loadAll(i={}){let s=null;do{const n=await e.load({...i,...s?{cursor:s}:{}});if(n.data.length===0)break;yield n.data;const l=n.data[n.data.length-1];s=l?qe(l[r]):null}while(s)}}}function qe(e){return btoa(JSON.stringify(e))}function Vl(e){try{return JSON.parse(atob(e))}catch{return e}}function $l(e,t={}){const{pageSize:r=50,threshold:o=200,initialPage:a=0}=t;let i={items:[],isLoading:!1,hasMore:!0,error:null,page:a,totalCount:0};const s=new Set;function n(){s.forEach(h=>h(i))}function l(h){i={...i,...h},n()}let c={};async function u(){if(!(i.isLoading||!i.hasMore)){l({isLoading:!0,error:null});try{const h=await e.load({...c,skip:i.page*r,take:r}),p=[...i.items,...h.data],v=p.length<h.totalCount;l({items:p,page:i.page+1,totalCount:h.totalCount,hasMore:v,isLoading:!1})}catch(h){l({error:h instanceof Error?h:new Error(String(h)),isLoading:!1})}}}function m(h={}){c=h,i={items:[],isLoading:!1,hasMore:!0,error:null,page:0,totalCount:0},n()}function f(h){const p=h.target;p&&p.scrollHeight-p.scrollTop-p.clientHeight<o&&u()}return{get state(){return i},loadMore:u,reset:m,handleScroll:f,subscribe(h){return s.add(h),()=>s.delete(h)},setOptions(h){c=h}}}function ql(e){const{url:t,baseSource:r,keyField:o=r.keyField,reconnectDelay:a=3e3,maxReconnects:i=10,heartbeatInterval:s=3e4}=e;let n=null,l=0,c=null,u=[];const m=new Map;function f(S,...z){var j;(j=m.get(S))==null||j.forEach(P=>P(...z))}function h(S){if(e.parseMessage)return e.parseMessage(S);try{return JSON.parse(S.data)}catch{return null}}function p(S){return e.serializeMessage?e.serializeMessage(S):JSON.stringify(S)}function v(S){switch(S.type){case"insert":S.data&&(u=[...u,S.data],f("changed"));break;case"update":S.key&&S.changes&&(u=u.map(z=>z[o]===S.key?{...z,...S.changes}:z),f("changed"));break;case"remove":S.key&&(u=u.filter(z=>z[o]!==S.key),f("changed"));break;case"refresh":case"sync":C.load().catch(()=>{});break}}function y(){n?.readyState!==WebSocket.OPEN&&(n=new WebSocket(t),n.onopen=()=>{l=0,f("connected"),b()},n.onmessage=S=>{const z=h(S);z&&(v(z),f("message",z))},n.onerror=S=>{f("error",new Error("WebSocket error"))},n.onclose=()=>{k(),f("disconnected"),l<i&&(l++,setTimeout(y,a*Math.min(l,5)))})}function w(){k(),n&&(n.close(),n=null)}function b(){k(),c=window.setInterval(()=>{n?.readyState===WebSocket.OPEN&&n.send(JSON.stringify({type:"ping"}))},s)}function k(){c&&(clearInterval(c),c=null)}function x(S){n?.readyState===WebSocket.OPEN&&n.send(p(S))}const C={keyField:o,writable:r.writable,async load(S={}){f("loading",!0);try{const z=await r.load(S);return u=z.data,f("loaded",z),f("loading",!1),z}catch(z){throw f("error",z),f("loading",!1),z}},async byKey(S){return u.find(j=>j[o]===S)||r.byKey(S)},async insert(S){const z=await r.insert(S);return x({type:"insert",data:z}),z},async update(S,z){const j=await r.update(S,z);return x({type:"update",key:S,changes:z}),j},async remove(S){await r.remove(S),x({type:"remove",key:S})},on(S,z){return m.has(S)||m.set(S,new Set),m.get(S).add(z),()=>{var j;return(j=m.get(S))==null?void 0:j.delete(z)}},connect:y,disconnect:w,isConnected:()=>n?.readyState===WebSocket.OPEN,sendMessage:x};return C}function Kl(e){const{connection:t,baseSource:r}=e,o={onInsert:"OnInsert",onUpdate:"OnUpdate",onRemove:"OnRemove",onRefresh:"OnRefresh",insert:"Insert",update:"Update",remove:"Remove",...e.methods},a=r.keyField;let i=[];const s=new Map;function n(m,...f){var h;(h=s.get(m))==null||h.forEach(p=>p(...f))}const l=m=>{i=[...i,m],n("changed")},c=(m,f)=>{i=i.map(h=>h[a]===m?{...h,...f}:h),n("changed")},u=m=>{i=i.filter(f=>f[a]!==m),n("changed")};return{keyField:a,writable:r.writable,async load(m={}){n("loading",!0);try{const f=await r.load(m);return i=f.data,n("loaded",f),n("loading",!1),f}catch(f){throw n("error",f),n("loading",!1),f}},async byKey(m){return i.find(h=>h[a]===m)||r.byKey(m)},async insert(m){return await t.invoke(o.insert,m)},async update(m,f){return await t.invoke(o.update,m,f)},async remove(m){await t.invoke(o.remove,m)},on(m,f){return s.has(m)||s.set(m,new Set),s.get(m).add(f),()=>{var h;return(h=s.get(m))==null?void 0:h.delete(f)}},async connect(){t.on(o.onInsert,l),t.on(o.onUpdate,c),t.on(o.onRemove,u),t.on(o.onRefresh,()=>this.load()),await t.start()},async disconnect(){t.off(o.onInsert,l),t.off(o.onUpdate,c),t.off(o.onRemove,u),t.off(o.onRefresh,()=>{}),await t.stop()}}}function Gl(e,t={}){const r=e.keyField;let o=[];const a=new Map;let i=0;const s=new Map;function n(c,...u){var m;(m=s.get(c))==null||m.forEach(f=>f(...u))}function l(){return`op_${++i}_${Date.now()}`}return{keyField:r,writable:!0,async load(c={}){const u=await e.load(c);return o=u.data,u},async byKey(c){return o.find(u=>u[r]===c)??e.byKey(c)},async insert(c){var u,m,f;const h=l(),p={...c};o=[...o,p],a.set(h,{id:h,action:"insert",item:p}),(u=t.onOptimisticApply)==null||u.call(t,p,"insert"),n("changed");try{const v=await e.insert(c);return o=o.map(y=>y===p?v:y),a.delete(h),(m=t.onConfirm)==null||m.call(t,v,"insert"),n("changed"),v}catch(v){throw o=o.filter(y=>y!==p),a.delete(h),(f=t.onRollback)==null||f.call(t,p,"insert",v instanceof Error?v:new Error(String(v))),n("changed"),v}},async update(c,u){var m,f,h;const p=l(),v=o.findIndex(b=>b[r]===c);if(v===-1)return e.update(c,u);const y=o[v],w={...y,...u};o=o.map((b,k)=>k===v?w:b),a.set(p,{id:p,action:"update",key:c,originalItem:y}),(m=t.onOptimisticApply)==null||m.call(t,w,"update"),n("changed");try{const b=await e.update(c,u);return o=o.map((k,x)=>x===v?b:k),a.delete(p),(f=t.onConfirm)==null||f.call(t,b,"update"),n("changed"),b}catch(b){throw o=o.map((k,x)=>x===v?y:k),a.delete(p),(h=t.onRollback)==null||h.call(t,y,"update",b instanceof Error?b:new Error(String(b))),n("changed"),b}},async remove(c){var u,m,f;const h=l(),p=o.find(v=>v[r]===c);if(!p)return e.remove(c);o=o.filter(v=>v!==p),a.set(h,{id:h,action:"remove",key:c,originalItem:p}),(u=t.onOptimisticApply)==null||u.call(t,p,"remove"),n("changed");try{await e.remove(c),a.delete(h),(m=t.onConfirm)==null||m.call(t,p,"remove")}catch(v){throw o=[...o,p],a.delete(h),(f=t.onRollback)==null||f.call(t,p,"remove",v instanceof Error?v:new Error(String(v))),n("changed"),v}},on(c,u){return s.has(c)||s.set(c,new Set),s.get(c).add(u),()=>{var m;return(m=s.get(c))==null?void 0:m.delete(u)}},hasPendingChanges:()=>a.size>0,getPendingCount:()=>a.size}}function io(e,t,r){const o=new Map(e.map(c=>[c[r],c])),a=new Map(t.map(c=>[c[r],c])),i=[],s=[],n=[],l=[];for(const[c,u]of a){const m=o.get(c);if(!m)i.push(u);else if(no(m,u))l.push(u);else{const f={};for(const h of Object.keys(u))m[h]!==u[h]&&(f[h]=u[h]);s.push({key:c,changes:f,oldItem:m,newItem:u})}}for(const[c,u]of o)a.has(c)||n.push(u);return{inserted:i,updated:s,removed:n,unchanged:l}}function no(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(e===null||t===null||typeof e!="object")return e===t;const r=e,o=t,a=new Set([...Object.keys(r),...Object.keys(o)]);for(const i of a)if(!no(r[i],o[i]))return!1;return!0}function Ul(e,t={}){const{interval:r=5e3,autoStart:o=!1,pauseWhenHidden:a=!0,onDataChange:i}=t;let s=r,n=null,l=[],c={};const u=new Map;function m(y,...w){var b;(b=u.get(y))==null||b.forEach(k=>k(...w))}async function f(){if(!(a&&document.hidden))try{const y=await e.load(c),w=io(l,y.data,e.keyField);(w.inserted.length||w.updated.length||w.removed.length)&&(l=y.data,m("changed"),i?.(w))}catch{}}function h(){n||(n=window.setInterval(f,s))}function p(){n&&(clearInterval(n),n=null)}a&&document.addEventListener("visibilitychange",()=>{document.hidden||n&&f()});const v={...e,async load(y={}){c=y;const w=await e.load(y);return l=w.data,w},on(y,w){u.has(y)||u.set(y,new Set),u.get(y).add(w);const b=e.on(y,w);return()=>{var k;(k=u.get(y))==null||k.delete(w),b()}},startPolling:h,stopPolling:p,isPolling:()=>n!==null,setInterval(y){s=y,n&&(p(),h())}};return o&&h(),v}function Xl(e){const{url:t,baseSource:r,keyField:o=r.keyField,reconnectDelay:a=3e3,maxReconnects:i=10,withCredentials:s=!1}=e;let n=null,l=0,c=null,u=[];const m=new Map;function f(b,...k){var x;(x=m.get(b))==null||x.forEach(C=>C(...k))}function h(b){if(e.parseEvent)return e.parseEvent(b);try{return JSON.parse(b.data)}catch{return null}}function p(b){switch(b.type){case"insert":b.data&&(u=[...u,b.data],f("changed"));break;case"update":b.key&&b.changes&&(u=u.map(k=>k[o]===b.key?{...k,...b.changes}:k),f("changed"));break;case"remove":b.key&&(u=u.filter(k=>k[o]!==b.key),f("changed"));break;case"snapshot":Array.isArray(b.data)&&(u=b.data,f("changed"));break;case"refresh":w.load().catch(()=>{});break}}function v(){n?.readyState!==EventSource.OPEN&&(y(),n=new EventSource(t,{withCredentials:s}),n.onopen=()=>{l=0,f("connected")},n.onmessage=b=>{const k=h(b);k&&(p(k),f("message",k))},n.onerror=()=>{if(f("error",new Error("SSE connection error")),n?.readyState===EventSource.CLOSED&&(f("disconnected"),n=null,l<i)){l++;const b=a*Math.min(l,5);c=setTimeout(v,b)}})}function y(){c&&(clearTimeout(c),c=null),n&&(n.close(),n=null)}const w={keyField:o,writable:r.writable,async load(b={}){f("loading",!0);try{const k=await r.load(b);return u=k.data,f("loaded",k),f("loading",!1),k}catch(k){throw f("error",k),f("loading",!1),k}},async byKey(b){return u.find(x=>x[o]===b)||r.byKey(b)},async insert(b){return r.insert(b)},async update(b,k){return r.update(b,k)},async remove(b){return r.remove(b)},on(b,k){return m.has(b)||m.set(b,new Set),m.get(b).add(k),()=>{var x;return(x=m.get(b))==null?void 0:x.delete(k)}},connect:v,disconnect:y,isConnected:()=>n?.readyState===EventSource.OPEN};return w}function _(e,t){const r={};for(const o of t){const a=e.map(s=>s[o.field]).filter(s=>s!=null),i=o.alias??`${o.fn}_${o.field}`;switch(o.fn){case"sum":r[i]=a.reduce((s,n)=>Number(s)+Number(n),0);break;case"avg":r[i]=a.length?a.reduce((s,n)=>Number(s)+Number(n),0)/a.length:0;break;case"min":r[i]=a.length?Math.min(...a.map(Number)):null;break;case"max":r[i]=a.length?Math.max(...a.map(Number)):null;break;case"count":r[i]=a.length;break;case"first":r[i]=a[0]??null;break;case"last":r[i]=a[a.length-1]??null;break;case"distinct":r[i]=[...new Set(a)];break}}return r}function kt(e,t){const{groupBy:r,aggregates:o=[],includeItems:a=!1,sortGroups:i}=t;if(r.length===0)return[{key:{},count:e.length,aggregates:_(e,o),items:a?e:void 0}];const s=new Map;for(const l of e){const c={};for(const m of r)c[m]=l[m];const u=JSON.stringify(c);s.has(u)||s.set(u,{key:c,items:[]}),s.get(u).items.push(l)}const n=[];for(const[,l]of s)n.push({key:l.key,count:l.items.length,aggregates:_(l.items,o),items:a?l.items:void 0});return i!=null&&i.length&&n.sort((l,c)=>{for(const u of i){const m=l.key[u.field]??l.aggregates[u.field],f=c.key[u.field]??c.aggregates[u.field],h=typeof m=="number"&&typeof f=="number"?m-f:String(m??"").localeCompare(String(f??""));if(h!==0)return u.direction==="desc"?-h:h}return 0}),n}function so(e,t,r=[]){if(t.length===0)return[{key:{},count:e.length,aggregates:_(e,r),items:e}];const[o,...a]=t,i=kt(e,{groupBy:[o],aggregates:r,includeItems:!0});if(a.length>0)for(const s of i)s.groups=so(s.items,a,r),delete s.items;return i}function Zl(e,t){const{rows:r,columns:o,values:a,aggregateFunction:i="sum",rowTotals:s=!0,columnTotals:n=!0,grandTotal:l=!0}=t,c=[...new Set(e.map(p=>String(p[o])))].sort(),u=kt(e,{groupBy:r,includeItems:!0}),m=[];for(const p of u){const v={rowKey:p.key,values:{}};for(const y of c){const w=p.items.filter(k=>String(k[o])===y),b=_(w,[{field:a,fn:i}]);v.values[y]=b[`${i}_${a}`]??null}if(s){const y=_(p.items,[{field:a,fn:i}]);v.rowTotal=y[`${i}_${a}`]}m.push(v)}let f;if(n){f={};for(const p of c){const v=e.filter(w=>String(w[o])===p),y=_(v,[{field:a,fn:i}]);f[p]=y[`${i}_${a}`]}}let h;return l&&(h=_(e,[{field:a,fn:i}])[`${i}_${a}`]),{columnHeaders:c,rows:m,columnTotals:f,grandTotal:h}}function _l(e,t){return e.map((r,o)=>{const a={...r};for(const i of t)a[i.name]=i.formula(r,o,e);return a})}const Jl={runningSum:e=>(t,r,o)=>o.slice(0,r+1).reduce((a,i)=>a+Number(i[e]??0),0),runningAvg:e=>(t,r,o)=>{const a=o.slice(0,r+1);return a.reduce((i,s)=>i+Number(s[e]??0),0)/a.length},percentOfTotal:e=>(t,r,o)=>{const a=o.reduce((i,s)=>i+Number(s[e]??0),0);return a?Number(t[e]??0)/a*100:0},rank:(e,t="desc")=>(r,o,a)=>[...a].sort((i,s)=>{const n=Number(i[e]??0)-Number(s[e]??0);return t==="desc"?-n:n}).findIndex(i=>i===r)+1,diffFromPrevious:e=>(t,r,o)=>r===0?null:Number(t[e]??0)-Number(o[r-1][e]??0),percentChange:e=>(t,r,o)=>{if(r===0)return null;const a=Number(o[r-1][e]??0);return a===0?null:(Number(t[e]??0)-a)/a*100},movingAverage:(e,t)=>(r,o,a)=>{const i=Math.max(0,o-t+1),s=a.slice(i,o+1);return s.reduce((n,l)=>n+Number(l[e]??0),0)/s.length},conditional:(e,t,r)=>o=>e(o)?t:r,concat:(...e)=>t=>e.map(r=>t[r]??"").join(" "),formatDate:(e,t="medium")=>r=>{const o=r[e];return o?new Date(o).toLocaleDateString(void 0,{dateStyle:t}):""}};function Yl(e,t){const r=[],o=new Map,a=new Map;for(let n=0;n<e.length;n++){const l=e[n];for(const c of t)if(!c.validate(l,n,e)){const u=typeof c.message=="function"?c.message(l):c.message,m={index:n,rule:c.name,message:u,severity:c.severity??"error",fields:c.fields??[],item:l};r.push(m),o.has(n)||o.set(n,[]),o.get(n).push(m);for(const f of m.fields)a.has(f)||a.set(f,[]),a.get(f).push(m)}}const i=r.filter(n=>n.severity==="error").length,s=r.filter(n=>n.severity==="warning").length;return{isValid:i===0,errorCount:i,warningCount:s,errors:r,byIndex:o,byField:a}}const Ql={required:e=>({name:`required_${String(e)}`,validate:t=>t[e]!=null&&t[e]!=="",message:`${String(e)} is required`,fields:[String(e)]}),minLength:(e,t)=>({name:`minLength_${String(e)}`,validate:r=>String(r[e]??"").length>=t,message:`${String(e)} must be at least ${t} characters`,fields:[String(e)]}),maxLength:(e,t)=>({name:`maxLength_${String(e)}`,validate:r=>String(r[e]??"").length<=t,message:`${String(e)} must be at most ${t} characters`,fields:[String(e)]}),min:(e,t)=>({name:`min_${String(e)}`,validate:r=>Number(r[e])>=t,message:`${String(e)} must be at least ${t}`,fields:[String(e)]}),max:(e,t)=>({name:`max_${String(e)}`,validate:r=>Number(r[e])<=t,message:`${String(e)} must be at most ${t}`,fields:[String(e)]}),email:e=>({name:`email_${String(e)}`,validate:t=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String(t[e]??"")),message:`${String(e)} must be a valid email`,fields:[String(e)]}),pattern:(e,t,r)=>({name:`pattern_${String(e)}`,validate:o=>t.test(String(o[e]??"")),message:r??`${String(e)} has invalid format`,fields:[String(e)]}),unique:e=>({name:`unique_${String(e)}`,validate:(t,r,o)=>{const a=t[e];return o.findIndex(i=>i[e]===a)===r},message:`${String(e)} must be unique`,fields:[String(e)]}),custom:(e,t,r,o)=>({name:e,validate:t,message:r,fields:o})},ed={async updateWhere(e,t,r){return e.map(o=>{if(!t(o))return o;const a=typeof r=="function"?r(o):r;return{...o,...a}})},async removeWhere(e,t){const r=[],o=[];for(const a of e)t(a)?o.push(a):r.push(a);return{remaining:r,removed:o}},async transform(e,t,r={}){const{parallel:o=!1,batchSize:a=10}=r,i=[],s=[];let n=0;if(o)for(let l=0;l<e.length;l+=a){const c=e.slice(l,l+a),u=await Promise.allSettled(c.map((m,f)=>t(m,l+f)));for(let m=0;m<u.length;m++){const f=u[m];f.status==="fulfilled"?(i.push(f.value),n++):s.push({index:l+m,item:c[m],error:f.reason})}}else for(let l=0;l<e.length;l++)try{const c=await t(e[l],l);i.push(c),n++}catch(c){s.push({index:l,item:e[l],error:c instanceof Error?c:new Error(String(c))})}return{succeeded:n,failed:s.length,errors:s,results:i}},deduplicate(e,t){const r=new Set;return e.filter(o=>{const a=o[t];return r.has(a)?!1:(r.add(a),!0)})},merge(e,t,r,o={}){const{updateExisting:a=!0,addNew:i=!0}=o,s=new Map(e.map(l=>[l[r],l])),n=[...e];for(const l of t){const c=l[r],u=s.get(c);if(u){if(a){const m=n.indexOf(u);n[m]={...u,...l}}}else i&&n.push(l)}return n}};function td(e,t){const r=t?.autoLoad??!0,o=t?.defaultPageSize??20,[a,i]=d.useState([]),[s,n]=d.useState(0),[l,c]=d.useState(!1),[u,m]=d.useState(null),[f,h]=d.useState(1),[p,v]=d.useState(o),[y,w]=d.useState(t?.defaultSort??[]),[b,k]=d.useState(t?.defaultFilter),[x,C]=d.useState(t?.defaultSearch??""),S=d.useRef(0),z=t?.loadOptions,j=d.useCallback(async()=>{if(!e)return;const B=++S.current;c(!0),m(null);try{const H=await e.load({skip:(f-1)*p,take:p,sort:y.length?y:void 0,filter:b,search:x||void 0,...z});if(B!==S.current)return;i(H.data),n(H.totalCount)}catch(H){if(B!==S.current)return;m(H instanceof Error?H.message:String(H))}finally{B===S.current&&c(!1)}},[e,f,p,y,b,x,z]);d.useEffect(()=>{r&&j()},[j,r]),d.useEffect(()=>{if(e)return e.on("changed",()=>{j()})},[e,j]);const P=d.useCallback((B,H)=>{w([{field:B,direction:H}]),h(1)},[]),T=d.useCallback(B=>{k(B),h(1)},[]),E=d.useCallback(B=>{C(B),h(1)},[]),M=d.useCallback(B=>{v(B),h(1)},[]),A=d.useCallback(async B=>{if(!(e!=null&&e.insert))throw new Error("DataSource is not writable");await e.insert(B)},[e]),F=d.useCallback(async(B,H)=>{if(!(e!=null&&e.update))throw new Error("DataSource is not writable");await e.update(B,H)},[e]),N=d.useCallback(async B=>{if(!(e!=null&&e.remove))throw new Error("DataSource is not writable");await e.remove(B)},[e]);return{data:a,totalCount:s,loading:l,error:u,page:f,pageSize:p,sort:y,filter:b,search:x,setPage:h,setPageSize:M,setSort:w,setSortField:P,setFilter:T,setSearch:E,reload:j,insert:A,update:F,remove:N}}function lo(e,t){const[r,o]=d.useState(void 0),[a,i]=d.useState({}),[s,n]=d.useState(!1),[l,c]=d.useState(null),u=d.useRef(0),m=d.useCallback(async()=>{if(!e||t==null){o(void 0);return}const b=++u.current;n(!0),c(null);try{const k=await e.byKey(t);if(b!==u.current)return;o(k),i({})}catch(k){if(b!==u.current)return;c(k instanceof Error?k.message:String(k))}finally{b===u.current&&n(!1)}},[e,t]);d.useEffect(()=>{m()},[m]),d.useEffect(()=>{if(e)return e.on("changed",()=>{m()})},[e,m]);const f=d.useMemo(()=>({...r??{},...a}),[r,a]),h=Object.keys(a).length>0,p=d.useCallback((b,k)=>{i(x=>({...x,[b]:k}))},[]),v=d.useCallback(b=>{i(k=>({...k,...b}))},[]),y=d.useCallback(async()=>{if(!(e!=null&&e.update))throw new Error("DataSource is not writable");h&&await e.update(t,a)},[e,t,a,h]),w=d.useCallback(()=>{i({})},[]);return{data:r,editData:f,loading:s,error:l,changes:a,isDirty:h,set:p,setMany:v,save:y,reload:m,reset:w}}function rd(e,t,r){const o=lo(e,t),a=o.editData[r],i=d.useCallback(n=>{o.set(r,n)},[o,r]),s=d.useCallback(async()=>{if(!(e!=null&&e.update))throw new Error("DataSource is not writable");const n={[r]:o.editData[r]};await e.update(t,n)},[e,t,r,o.editData]);return{value:a,setValue:i,loading:o.loading,error:o.error,isDirty:r in o.changes,save:s}}function od(e,t,r,o){const a=o?.autoLoad??!0,i=o?.take??200,[s,n]=d.useState([]),[l,c]=d.useState(!1),[u,m]=d.useState(null),f=d.useRef(0),h=d.useCallback(async y=>{if(!e)return;const w=++f.current;c(!0),m(null);try{const b=await e.load({take:i,search:y||void 0,searchFields:o?.searchFields});if(w!==f.current)return;n(b.data)}catch(b){if(w!==f.current)return;m(b instanceof Error?b.message:String(b))}finally{w===f.current&&c(!1)}},[e,i,o?.searchFields]);d.useEffect(()=>{a&&h()},[h,a]);const p=d.useMemo(()=>s.map(y=>{const w=y,b={value:String(w[t]??""),label:String(w[r]??"")};return o!=null&&o.iconField&&w[o.iconField]!=null&&(b.icon=w[o.iconField]),o!=null&&o.descriptionField&&w[o.descriptionField]!=null&&(b.description=String(w[o.descriptionField])),o!=null&&o.groupField&&w[o.groupField]!=null&&(b.group=String(w[o.groupField])),b}),[s,t,r,o?.iconField,o?.descriptionField,o?.groupField]),v=d.useCallback(y=>{h(y)},[h]);return{options:p,loading:l,error:u,search:v,reload:()=>h()}}function Ze(e){const{dbName:t,storeName:r,keyField:o="id",version:a=1,indexes:i=[]}=e;let s=null;const n=new Map;function l(p,...v){var y;(y=n.get(p))==null||y.forEach(w=>w(...v))}async function c(){return s||new Promise((p,v)=>{const y=indexedDB.open(t,a);y.onerror=()=>v(y.error),y.onsuccess=()=>{s=y.result,p(s)},y.onupgradeneeded=w=>{const b=w.target.result;if(!b.objectStoreNames.contains(r)){const k=b.createObjectStore(r,{keyPath:o});for(const x of i)k.createIndex(x.name,x.keyPath,{unique:x.unique??!1})}}})}async function u(p,v){const y=await c();return new Promise((w,b)=>{const k=y.transaction(r,p).objectStore(r),x=v(k);x.onsuccess=()=>w(x.result),x.onerror=()=>b(x.error)})}async function m(p,v,y){const w=await c();return new Promise((b,k)=>{var x;const C=w.transaction(r,p).objectStore(r),S=[];let z=C,j="next";if((x=v.sort)!=null&&x.length){const F=v.sort[0].field,N=v.sort[0].direction;C.indexNames.contains(F)&&(z=C.index(F)),j=N==="desc"?"prev":"next"}const P=z.openCursor(null,j);let T=0,E=0;const M=v.skip??0,A=v.take??1/0;P.onsuccess=()=>{const F=P.result;if(!F||E>=A){b(S);return}const N=F.value;if(v.filter&&!f(N,v.filter)){F.continue();return}if(v.search&&!h(N,v.search,v.searchFields)){F.continue();return}if(T<M){T++,F.continue();return}S.push(N),E++,F.continue()},P.onerror=()=>k(P.error)})}function f(p,v){if(!v.items.length)return!0;const y=w=>{if(w.type==="group")return f(p,w);const b=p[w.field],k=w.value;switch(w.operator){case"=":return b==k;case"<>":return b!=k;case"<":return b<k;case"<=":return b<=k;case">":return b>k;case">=":return b>=k;case"contains":return String(b??"").toLowerCase().includes(String(k??"").toLowerCase());case"notcontains":return!String(b??"").toLowerCase().includes(String(k??"").toLowerCase());case"startswith":return String(b??"").toLowerCase().startsWith(String(k??"").toLowerCase());case"endswith":return String(b??"").toLowerCase().endsWith(String(k??"").toLowerCase());case"isblank":return b==null||b==="";case"isnotblank":return b!=null&&b!=="";default:return!0}};return v.logic==="and"?v.items.every(y):v.items.some(y)}function h(p,v,y){const w=v.toLowerCase();return(y?y.map(b=>p[b]):Object.values(p)).some(b=>String(b??"").toLowerCase().includes(w))}return{keyField:o,writable:!0,async load(p={}){var v;l("loading",!0);try{const y=await m("readonly",p,()=>{});(v=p.sort)!=null&&v.length&&y.sort((k,x)=>{for(const C of p.sort){const S=k[C.field]??"",z=x[C.field]??"",j=typeof S=="number"&&typeof z=="number"?S-z:String(S).localeCompare(String(z));if(j!==0)return C.direction==="desc"?-j:j}return 0});const w=await this.count(),b={data:y,totalCount:w};return l("loaded",b),l("loading",!1),b}catch(y){throw l("error",y),l("loading",!1),y}},async byKey(p){return u("readonly",v=>v.get(p))},async insert(p){return await u("readwrite",v=>v.add(p)),l("changed"),p},async update(p,v){const y=await this.byKey(p);if(!y)throw new Error(`Record not found: ${p}`);const w={...y,...v};return await u("readwrite",b=>b.put(w)),l("changed"),w},async remove(p){await u("readwrite",v=>v.delete(p)),l("changed")},on(p,v){return n.has(p)||n.set(p,new Set),n.get(p).add(v),()=>{var y;return(y=n.get(p))==null?void 0:y.delete(v)}},async clear(){await u("readwrite",p=>p.clear()),l("changed")},async count(){return u("readonly",p=>p.count())},async getAll(){return u("readonly",p=>p.getAll())},async bulkInsert(p){const v=await c();return new Promise((y,w)=>{const b=v.transaction(r,"readwrite"),k=b.objectStore(r);for(const x of p)k.put(x);b.oncomplete=()=>{l("changed"),y()},b.onerror=()=>w(b.error)})},async bulkDelete(p){const v=await c();return new Promise((y,w)=>{const b=v.transaction(r,"readwrite"),k=b.objectStore(r);for(const x of p)k.delete(x);b.oncomplete=()=>{l("changed"),y()},b.onerror=()=>w(b.error)})},async exportData(){return this.getAll()},async importData(p){await this.clear(),await this.bulkInsert(p)}}}function ad(e){const{remoteSource:t,offlineConfig:r,syncStrategy:o="remote-first",onConflict:a,onSync:i,autoSyncInterval:s=0}=e,n=r.keyField??t.keyField,l=Ze({...r,keyField:n}),c=Ze({dbName:r.dbName,storeName:`${r.storeName}_pending`,keyField:"id"});let u=navigator.onLine,m=0;const f=new Map;function h(y,...w){var b;(b=f.get(y))==null||b.forEach(k=>k(...w))}window.addEventListener("online",()=>{u=!0,h("online"),v()}),window.addEventListener("offline",()=>{u=!1,h("offline")});async function p(y,w,b){const k={id:`pending_${++m}_${Date.now()}`,action:y,key:w,data:b,timestamp:Date.now(),retries:0};await c.insert(k)}async function v(){if(u){h("syncing",!0);try{let y=0,w=0,b=0;const k=await c.load();for(const x of k.data)try{switch(x.action){case"insert":await t.insert(x.data),y++;break;case"update":await t.update(x.key,x.data),w++;break;case"remove":await t.remove(x.key),b++;break}await c.remove(x.id)}catch{x.retries<3&&await c.update(x.id,{retries:x.retries+1})}if(o!=="local-first"){const x=await t.load();if(o==="remote-first")await l.importData(x.data);else if(o==="merge"&&a){const C=await l.load(),S=new Map(C.data.map(j=>[j[n],j])),z=[];for(const j of x.data){const P=S.get(j[n]);P?z.push(a(P,j)):z.push(j)}await l.importData(z)}}h("synced",{added:y,updated:w,removed:b}),i?.({added:y,updated:w,removed:b})}catch(y){h("syncError",y)}finally{h("syncing",!1)}}}return s>0&&window.setInterval(v,s),{keyField:n,writable:!0,async load(y={}){if(u&&o==="remote-first")try{const w=await t.load(y);return await l.bulkInsert(w.data),w}catch{}return l.load(y)},async byKey(y){if(u)try{const w=await t.byKey(y);return w&&await l.update(y,w).catch(()=>l.insert(w)),w}catch{}return l.byKey(y)},async insert(y){const w=await l.insert(y);if(u)try{return await t.insert(y)}catch{await p("insert",void 0,y)}else await p("insert",void 0,y);return h("changed"),w},async update(y,w){const b=await l.update(y,w);if(u)try{return await t.update(y,w)}catch{await p("update",y,w)}else await p("update",y,w);return h("changed"),b},async remove(y){if(await l.remove(y),u)try{await t.remove(y)}catch{await p("remove",y)}else await p("remove",y);h("changed")},on(y,w){return f.has(y)||f.set(y,new Set),f.get(y).add(w),()=>{var b;return(b=f.get(y))==null?void 0:b.delete(w)}},sync:v,isOnline:()=>u,async getPendingChanges(){return(await c.load()).data},async clearPendingChanges(){await c.clear()}}}function id(e){const{channelName:t,source:r}=e,o=new BroadcastChannel(t),a=new Map;function i(n,...l){var c;(c=a.get(n))==null||c.forEach(u=>u(...l))}o.onmessage=n=>{const l=n.data;switch(l.type){case"insert":case"update":case"remove":i("changed"),i("crossTabChange",l);break;case"refresh":i("refresh");break;case"request-sync":r.load().then(c=>{o.postMessage({type:"sync-data",data:c.data})});break}};function s(n){o.postMessage(n)}return{...r,async insert(n){const l=await r.insert(n);return s({type:"insert",data:l}),l},async update(n,l){const c=await r.update(n,l);return s({type:"update",key:n,changes:l}),c},async remove(n){await r.remove(n),s({type:"remove",key:n})},on(n,l){a.has(n)||a.set(n,new Set),a.get(n).add(l);const c=r.on(n,l);return()=>{var u;(u=a.get(n))==null||u.delete(l),c()}},broadcast:s,requestSync(){s({type:"request-sync"})}}}function nd(e={}){const{prefix:t="",persist:r={filter:!0,sort:!0,page:!0,search:!0},useHash:o=!1}=e;function a(){return o?new URLSearchParams(window.location.hash.slice(1)):new URLSearchParams(window.location.search)}function i(n){if(o)window.location.hash=n.toString();else{const l=new URL(window.location.href);l.search=n.toString(),window.history.replaceState({},"",l.toString())}}function s(n){return t?`${t}_${n}`:n}return{read(){const n=a(),l={};if(r.filter){const c=n.get(s("filter"));if(c)try{l.filter=JSON.parse(c)}catch{}}if(r.sort){const c=n.get(s("sort"));if(c)try{l.sort=JSON.parse(c)}catch{}}if(r.page){const c=n.get(s("skip")),u=n.get(s("take"));c&&(l.skip=parseInt(c,10)),u&&(l.take=parseInt(u,10))}if(r.search){const c=n.get(s("search"));c&&(l.search=c)}return l},write(n){const l=a();r.filter&&(n.filter&&n.filter.items.length>0?l.set(s("filter"),JSON.stringify(n.filter)):l.delete(s("filter"))),r.sort&&(n.sort&&n.sort.length>0?l.set(s("sort"),JSON.stringify(n.sort)):l.delete(s("sort"))),r.page&&(n.skip?l.set(s("skip"),String(n.skip)):l.delete(s("skip")),n.take?l.set(s("take"),String(n.take)):l.delete(s("take"))),r.search&&(n.search?l.set(s("search"),n.search):l.delete(s("search"))),i(l)},clear(){const n=a();n.delete(s("filter")),n.delete(s("sort")),n.delete(s("skip")),n.delete(s("take")),n.delete(s("search")),i(n)},toLoadOptions(){const n=this.read();return{filter:n.filter,sort:n.sort,skip:n.skip,take:n.take,search:n.search}}}}const sd={async exportToJSON(e,t){const r=await e.load(),o={version:"1.0",timestamp:Date.now(),data:r.data,metadata:t};return JSON.stringify(o,null,2)},async importFromJSON(e,t,r={}){const o=JSON.parse(t).data;let a=0,i=0;r.replace&&"clear"in e&&await e.clear();for(const s of o){if(r.validate&&!r.validate(s)){i++;continue}try{await e.insert(s),a++}catch{i++}}return{imported:a,skipped:i}},async downloadAsJSON(e,t="export.json"){const r=await this.exportToJSON(e),o=new Blob([r],{type:"application/json"}),a=URL.createObjectURL(o),i=document.createElement("a");i.href=a,i.download=t,i.click(),URL.revokeObjectURL(a)},async importFromFile(e,t,r){const o=await t.text();return this.importFromJSON(e,o,r)}};function ld(e="nice_user_prefs"){let t=null;function r(){if(t)return t;try{const a=localStorage.getItem(e);t=a?JSON.parse(a):{}}catch{t={}}return t}function o(a){t=a,localStorage.setItem(e,JSON.stringify(a))}return{get(a,i){return r()[a]??i},set(a,i){const s=r();s[a]=i,o(s)},remove(a){const i=r();delete i[a],o(i)},getAll(){return{...r()}},setAll(a){o(a)},clear(){t={},localStorage.removeItem(e)},merge(a){o({...r(),...a})}}}const co={"colors.primary":"--color-primary","colors.primaryHover":"--color-primary-hover","colors.success":"--color-success","colors.warning":"--color-warning","colors.error":"--color-error","colors.info":"--color-info","colors.accent":"--color-accent","colors.accentHover":"--color-accent-hover","colors.link":"--color-link","colors.linkHover":"--color-link-hover","colors.focus":"--color-focus","colors.overlay":"--color-overlay","colors.surface":"--color-surface","colors.surfaceHover":"--color-surface-hover","colors.disabled":"--color-disabled","colors.disabledText":"--color-disabled-text","backgrounds.primary":"--bg-primary","backgrounds.secondary":"--bg-secondary","backgrounds.tertiary":"--bg-tertiary","backgrounds.hover":"--hover-bg","backgrounds.elevated":"--bg-elevated","backgrounds.inset":"--bg-inset","backgrounds.canvas":"--bg-canvas","text.primary":"--text-primary","text.secondary":"--text-secondary","text.muted":"--text-muted","text.inverse":"--text-inverse","text.onPrimary":"--text-on-primary","text.onAccent":"--text-on-accent","borders.color":"--border-color","borders.radiusSm":"--nice-radius-sm","borders.radiusMd":"--nice-radius-md","borders.radiusLg":"--nice-radius-lg","borders.radiusXl":"--nice-radius-xl","borders.radiusFull":"--nice-radius-full","borders.width":"--border-width","borders.focusColor":"--border-focus-color","borders.divider":"--border-divider","shadows.sm":"--shadow-sm","shadows.md":"--shadow-md","shadows.lg":"--shadow-lg","shadows.xl":"--shadow-xl","shadows.inner":"--shadow-inner","shadows.glow":"--shadow-glow","spacing.space1":"--nice-space-1","spacing.space2":"--nice-space-2","spacing.space3":"--nice-space-3","spacing.space4":"--nice-space-4","spacing.space5":"--nice-space-5","spacing.space6":"--nice-space-6","spacing.space8":"--nice-space-8","spacing.space10":"--nice-space-10","spacing.space12":"--nice-space-12","spacing.space16":"--nice-space-16","typography.fontFamily":"--nice-font-family","typography.fontSizeXs":"--nice-font-size-xs","typography.fontSizeSm":"--nice-font-size-sm","typography.fontSizeMd":"--nice-font-size-md","typography.fontSizeLg":"--nice-font-size-lg","typography.fontSizeXl":"--nice-font-size-xl","typography.fontSize2xl":"--nice-font-size-2xl","typography.fontSize3xl":"--nice-font-size-3xl","typography.fontWeightNormal":"--nice-font-weight-normal","typography.fontWeightMedium":"--nice-font-weight-medium","typography.fontWeightSemibold":"--nice-font-weight-semibold","typography.fontWeightBold":"--nice-font-weight-bold","typography.lineHeight":"--nice-line-height","typography.headingFontFamily":"--nice-heading-font-family","typography.monoFontFamily":"--nice-mono-font-family","typography.letterSpacing":"--nice-letter-spacing","typography.headingLetterSpacing":"--nice-heading-letter-spacing","transitions.fast":"--nice-transition-fast","transitions.normal":"--nice-transition","transitions.slow":"--nice-transition-slow"};function dd(e,t){return t.split(".").reduce((r,o)=>{if(r&&typeof r=="object")return r[o]},e)}function Ee(e){var t;const r={};for(const[o,a]of Object.entries(co)){const i=dd(e,o);i!==void 0&&(r[a]=String(i))}if(e.nesting)for(const o of["sidebar","menu","tree"]){const a=e.nesting[o];if(!a)continue;const i=e.backgrounds.secondary||e.backgrounds.primary||"#ffffff",s=((t=e.text)==null?void 0:t.primary)||"#111111";Object.assign(r,kd(o,a,i,s))}return r}function cd(e,t){const r=t??document.documentElement,o=Ee(e);for(const[a,i]of Object.entries(o))r.style.setProperty(a,i);pd(e.backgroundImage,r),e.darkMode&&(r.dataset.ntdColorScheme=e.darkMode)}const ud={dots:'<svg width="20" height="20" xmlns="http://www.w3.org/2000/svg"><circle cx="2" cy="2" r="1" fill="currentColor" opacity="0.15"/></svg>',grid:'<svg width="20" height="20" xmlns="http://www.w3.org/2000/svg"><path d="M20 0H0v20" fill="none" stroke="currentColor" stroke-opacity="0.08"/></svg>',diagonal:'<svg width="10" height="10" xmlns="http://www.w3.org/2000/svg"><path d="M0 10L10 0" stroke="currentColor" stroke-opacity="0.08"/></svg>',"cross-hatch":'<svg width="10" height="10" xmlns="http://www.w3.org/2000/svg"><path d="M0 10L10 0M-1 1L1 -1M9 11L11 9" stroke="currentColor" stroke-opacity="0.06"/></svg>',waves:'<svg width="40" height="12" xmlns="http://www.w3.org/2000/svg"><path d="M0 6c5 0 5-6 10-6s5 6 10 6 5-6 10-6 5 6 10 6" fill="none" stroke="currentColor" stroke-opacity="0.08"/></svg>',hexagons:'<svg width="28" height="49" xmlns="http://www.w3.org/2000/svg"><path d="M14 0l14 8.5v16L14 33 0 24.5v-16z" fill="none" stroke="currentColor" stroke-opacity="0.06"/></svg>',triangles:'<svg width="20" height="17" xmlns="http://www.w3.org/2000/svg"><path d="M0 17L10 0l10 17z" fill="none" stroke="currentColor" stroke-opacity="0.06"/></svg>',circles:'<svg width="20" height="20" xmlns="http://www.w3.org/2000/svg"><circle cx="10" cy="10" r="6" fill="none" stroke="currentColor" stroke-opacity="0.06"/></svg>',zigzag:'<svg width="20" height="12" xmlns="http://www.w3.org/2000/svg"><path d="M0 6l5-6 5 6 5-6 5 6" fill="none" stroke="currentColor" stroke-opacity="0.08"/></svg>',noise:'<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency=".9" numOctaves="3" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(#n)"/></svg>'};function pd(e,t){if(t.style.removeProperty("--ntd-bg-image"),t.style.removeProperty("--ntd-bg-image-size"),t.style.removeProperty("--ntd-bg-image-position"),t.style.removeProperty("--ntd-bg-image-attachment"),t.style.removeProperty("--ntd-bg-image-repeat"),t.style.removeProperty("--ntd-bg-image-opacity"),t.style.removeProperty("--ntd-bg-image-blend"),!(!e||e.type==="none")){if(e.type==="gradient"&&e.gradient)t.style.setProperty("--ntd-bg-image",e.gradient);else if(e.type==="image"&&e.imageUrl)t.style.setProperty("--ntd-bg-image",`url("${e.imageUrl}")`),e.imageSize&&t.style.setProperty("--ntd-bg-image-size",e.imageSize),e.imagePosition&&t.style.setProperty("--ntd-bg-image-position",e.imagePosition),e.imageAttachment&&t.style.setProperty("--ntd-bg-image-attachment",e.imageAttachment),e.imageRepeat&&t.style.setProperty("--ntd-bg-image-repeat",e.imageRepeat);else if(e.type==="pattern"&&e.pattern){const r=ud[e.pattern];if(r){const o=`url("data:image/svg+xml,${encodeURIComponent(r)}")`;t.style.setProperty("--ntd-bg-image",o),t.style.setProperty("--ntd-bg-image-repeat","repeat")}}e.opacity!==void 0&&t.style.setProperty("--ntd-bg-image-opacity",String(e.opacity)),e.blendMode&&t.style.setProperty("--ntd-bg-image-blend",e.blendMode)}}function uo(e){const t=e??document.documentElement;for(const r of Object.values(co))t.style.removeProperty(r);for(const r of["--ntd-bg-image","--ntd-bg-image-size","--ntd-bg-image-position","--ntd-bg-image-attachment","--ntd-bg-image-repeat","--ntd-bg-image-opacity","--ntd-bg-image-blend"])t.style.removeProperty(r);delete t.dataset.ntdColorScheme,delete t.dataset.theme,t.classList.remove("nice-dark");for(const r of["sidebar","menu","tree"]){t.style.removeProperty(`--nice-${r}-levels`);for(let o=1;o<=10;o++)t.style.removeProperty(`--nice-${r}-level-${o}-bg`),t.style.removeProperty(`--nice-${r}-level-${o}-text`),t.style.removeProperty(`--nice-${r}-level-${o}-hover-bg`),t.style.removeProperty(`--nice-${r}-level-${o}-active-bg`),t.style.removeProperty(`--nice-${r}-level-${o}-border`)}}function md(e){const t=e??document.documentElement,r=getComputedStyle(t),o=s=>r.getPropertyValue(s).trim(),a=s=>parseFloat(r.getPropertyValue(s))||0,i=s=>o(s)||void 0;return{name:"Current",colors:{primary:o("--color-primary"),primaryHover:o("--color-primary-hover"),success:o("--color-success"),warning:o("--color-warning"),error:o("--color-error"),info:o("--color-info"),accent:i("--color-accent"),accentHover:i("--color-accent-hover"),link:i("--color-link"),linkHover:i("--color-link-hover"),focus:i("--color-focus"),overlay:i("--color-overlay"),surface:i("--color-surface"),surfaceHover:i("--color-surface-hover"),disabled:i("--color-disabled"),disabledText:i("--color-disabled-text")},backgrounds:{primary:o("--bg-primary"),secondary:o("--bg-secondary"),tertiary:o("--bg-tertiary"),hover:o("--hover-bg"),elevated:i("--bg-elevated"),inset:i("--bg-inset"),canvas:i("--bg-canvas")},text:{primary:o("--text-primary"),secondary:o("--text-secondary"),muted:o("--text-muted"),inverse:i("--text-inverse"),onPrimary:i("--text-on-primary"),onAccent:i("--text-on-accent")},borders:{color:o("--border-color"),radiusSm:o("--nice-radius-sm"),radiusMd:o("--nice-radius-md"),radiusLg:o("--nice-radius-lg"),radiusXl:o("--nice-radius-xl"),radiusFull:o("--nice-radius-full"),width:i("--border-width"),focusColor:i("--border-focus-color"),divider:i("--border-divider")},shadows:{sm:o("--shadow-sm"),md:o("--shadow-md"),lg:o("--shadow-lg"),xl:o("--shadow-xl"),inner:i("--shadow-inner"),glow:i("--shadow-glow")},spacing:{space1:o("--nice-space-1"),space2:o("--nice-space-2"),space3:o("--nice-space-3"),space4:o("--nice-space-4"),space5:o("--nice-space-5"),space6:o("--nice-space-6"),space8:o("--nice-space-8"),space10:i("--nice-space-10"),space12:i("--nice-space-12"),space16:i("--nice-space-16")},typography:{fontFamily:o("--nice-font-family"),fontSizeXs:o("--nice-font-size-xs"),fontSizeSm:o("--nice-font-size-sm"),fontSizeMd:o("--nice-font-size-md"),fontSizeLg:o("--nice-font-size-lg"),fontSizeXl:o("--nice-font-size-xl"),fontWeightNormal:a("--nice-font-weight-normal"),fontWeightMedium:a("--nice-font-weight-medium"),fontWeightSemibold:a("--nice-font-weight-semibold"),fontWeightBold:a("--nice-font-weight-bold"),lineHeight:a("--nice-line-height"),headingFontFamily:i("--nice-heading-font-family"),monoFontFamily:i("--nice-mono-font-family"),fontSize2xl:i("--nice-font-size-2xl"),fontSize3xl:i("--nice-font-size-3xl"),letterSpacing:i("--nice-letter-spacing"),headingLetterSpacing:i("--nice-heading-letter-spacing")},transitions:{fast:o("--nice-transition-fast"),normal:o("--nice-transition"),slow:o("--nice-transition-slow")},darkMode:t.dataset.ntdColorScheme??void 0}}function fd(e){return JSON.stringify(e,null,2)}function gd(e){const t=JSON.parse(e);if(!t||typeof t!="object"||!t.name||!t.colors||!t.backgrounds)throw new Error("Invalid theme format: missing required fields (name, colors, backgrounds)");return t}const hd=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,yd=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i;function _e(e){if(!e)return null;const t=e.trim();let r=t.match(yd);if(r)return{r:parseInt(r[1],16),g:parseInt(r[2],16),b:parseInt(r[3],16)};if(r=t.match(hd),r)return{r:parseInt(r[1]+r[1],16),g:parseInt(r[2]+r[2],16),b:parseInt(r[3]+r[3],16)};const o=t.match(/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/i);return o?{r:+o[1],g:+o[2],b:+o[3]}:null}function bd({r:e,g:t,b:r}){const o=a=>Math.max(0,Math.min(255,Math.round(a))).toString(16).padStart(2,"0");return`#${o(e)}${o(t)}${o(r)}`}function St(e,t,r){const o=_e(e),a=_e(t);return!o||!a?e:bd({r:o.r+(a.r-o.r)*r,g:o.g+(a.g-o.g)*r,b:o.b+(a.b-o.b)*r})}function Je(e,t){return St(e,"#ffffff",t)}function Ye(e,t){return St(e,"#000000",t)}function Qe(e){const t=_e(e);if(!t)return 1;const r=o=>{const a=o/255;return a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4)};return .2126*r(t.r)+.7152*r(t.g)+.0722*r(t.b)}function vd(e,t,r){return Qe(e)>.5?r:t}function wd(e,t,r){const o=t.palette??[],a=t.bgStep??.06,i=o[0]??r;switch(t.bgDerivation??"tint"){case"palette":return o.length===0?r:o[(e-1)%o.length];case"shade":return Ye(i,Math.min(.9,a*(e-1)));case"mix-surface":return St(i,r,Math.min(1,a*(e-1)));case"tint":default:return Je(i,Math.min(.9,a*(e-1)))}}function kd(e,t,r,o){var a;const i={},s=Math.max(1,Math.min(10,t.levels??5));for(let n=1;n<=s;n++){const l=(a=t.overrides)==null?void 0:a[n],c=l?.background??wd(n,t,r),u=l?.text??vd(c,"#ffffff",o),m=l?.hoverBackground??(Qe(c)>.5?Ye(c,.06):Je(c,.08)),f=l?.activeBackground??(Qe(c)>.5?Ye(c,.12):Je(c,.16)),h=l?.border;i[`--nice-${e}-level-${n}-bg`]=c,i[`--nice-${e}-level-${n}-text`]=u,i[`--nice-${e}-level-${n}-hover-bg`]=m,i[`--nice-${e}-level-${n}-active-bg`]=f,h&&(i[`--nice-${e}-level-${n}-border`]=h)}return i[`--nice-${e}-levels`]=String(s),i}const xt=d.createContext(null);function Sd(){const e=d.useContext(xt);if(!e)throw new Error("useNiceTheme must be used within a NiceThemeProvider");return e}const pe={space1:"4px",space2:"8px",space3:"12px",space4:"16px",space5:"20px",space6:"24px",space8:"32px"},me={fontFamily:"'Inter', system-ui, -apple-system, sans-serif",fontSizeXs:"0.75rem",fontSizeSm:"0.8125rem",fontSizeMd:"0.875rem",fontSizeLg:"1rem",fontSizeXl:"1.125rem",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeight:1.5},fe={fast:"120ms ease",normal:"200ms ease",slow:"300ms ease"},Et=e=>({color:e,radiusSm:"4px",radiusMd:"6px",radiusLg:"8px",radiusXl:"12px",radiusFull:"9999px"}),po={sm:"0 1px 2px rgba(0,0,0,0.05)",md:"0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1)",lg:"0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1)",xl:"0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1)"},xd={sm:"0 1px 2px rgba(0,0,0,0.3)",md:"0 4px 6px -1px rgba(0,0,0,0.4)",lg:"0 10px 15px -3px rgba(0,0,0,0.4)",xl:"0 20px 25px -5px rgba(0,0,0,0.4)"};function D(e,t,r,o,a){return{name:e,darkMode:"light",colors:{...t,surface:t.surface??r.primary,surfaceHover:t.surfaceHover??r.secondary},backgrounds:{...r,elevated:r.elevated??r.primary,inset:r.inset??r.tertiary,canvas:r.canvas??r.primary},text:{...o,inverse:o.inverse??"#ffffff"},borders:Et(a),shadows:po,spacing:pe,typography:me,transitions:fe}}function O(e,t,r,o,a){return{name:e,darkMode:"dark",colors:{...t,surface:t.surface??r.secondary,surfaceHover:t.surfaceHover??r.tertiary},backgrounds:{...r,elevated:r.elevated??r.secondary,inset:r.inset??r.primary,canvas:r.canvas??r.primary},text:{...o,inverse:o.inverse??"#0f172a"},borders:Et(a),shadows:xd,spacing:pe,typography:me,transitions:fe}}const mo=D("Slate",{primary:"#64748b",primaryHover:"#475569",success:"#10b981",warning:"#f59e0b",error:"#ef4444",info:"#06b6d4"},{primary:"#f8fafc",secondary:"#f1f5f9",tertiary:"#e2e8f0",hover:"#e2e8f0"},{primary:"#1e293b",secondary:"#475569",muted:"#94a3b8"},"#cbd5e1"),fo=D("Zinc",{primary:"#71717a",primaryHover:"#52525b",success:"#22c55e",warning:"#eab308",error:"#ef4444",info:"#06b6d4"},{primary:"#fafafa",secondary:"#f4f4f5",tertiary:"#e4e4e7",hover:"#e4e4e7"},{primary:"#18181b",secondary:"#3f3f46",muted:"#a1a1aa"},"#d4d4d8"),go=D("Stone",{primary:"#78716c",primaryHover:"#57534e",success:"#16a34a",warning:"#ca8a04",error:"#dc2626",info:"#0891b2"},{primary:"#fafaf9",secondary:"#f5f5f4",tertiary:"#e7e5e4",hover:"#e7e5e4"},{primary:"#1c1917",secondary:"#44403c",muted:"#a8a29e"},"#d6d3d1"),ho=D("Cool Gray",{primary:"#6b7280",primaryHover:"#4b5563",success:"#10b981",warning:"#f59e0b",error:"#ef4444",info:"#3b82f6"},{primary:"#f9fafb",secondary:"#f3f4f6",tertiary:"#e5e7eb",hover:"#e5e7eb"},{primary:"#111827",secondary:"#374151",muted:"#9ca3af"},"#d1d5db"),yo=D("Warm Gray",{primary:"#7c7568",primaryHover:"#5c564c",success:"#4d7c0f",warning:"#a16207",error:"#b91c1c",info:"#0e7490"},{primary:"#faf9f7",secondary:"#f5f4f0",tertiary:"#e8e6e1",hover:"#e8e6e1"},{primary:"#1f1d19",secondary:"#4a463d",muted:"#a09888"},"#d4d0c8"),bo=D("Silver",{primary:"#94a3b8",primaryHover:"#64748b",success:"#10b981",warning:"#f59e0b",error:"#ef4444",info:"#38bdf8"},{primary:"#f8fafc",secondary:"#f1f5f9",tertiary:"#e2e8f0",hover:"#e2e8f0"},{primary:"#334155",secondary:"#64748b",muted:"#94a3b8"},"#cbd5e1"),vo=D("Charcoal",{primary:"#374151",primaryHover:"#1f2937",success:"#059669",warning:"#d97706",error:"#dc2626",info:"#0284c7"},{primary:"#f9fafb",secondary:"#f3f4f6",tertiary:"#e5e7eb",hover:"#e5e7eb"},{primary:"#111827",secondary:"#374151",muted:"#6b7280"},"#d1d5db"),wo=D("Ivory",{primary:"#92876d",primaryHover:"#7a6f55",success:"#4d7c0f",warning:"#a16207",error:"#b91c1c",info:"#0e7490"},{primary:"#fffef7",secondary:"#faf6eb",tertiary:"#f0ead6",hover:"#f0ead6"},{primary:"#2b2517",secondary:"#5c5340",muted:"#9c9280"},"#ddd8c4"),ko=D("Rose",{primary:"#e11d48",primaryHover:"#be123c",success:"#16a34a",warning:"#ea580c",error:"#dc2626",info:"#0891b2"},{primary:"#fff1f2",secondary:"#ffe4e6",tertiary:"#fecdd3",hover:"#ffe4e6"},{primary:"#4c0519",secondary:"#881337",muted:"#f43f5e"},"#fda4af"),So=D("Emerald",{primary:"#059669",primaryHover:"#047857",success:"#16a34a",warning:"#d97706",error:"#dc2626",info:"#0891b2"},{primary:"#ecfdf5",secondary:"#d1fae5",tertiary:"#a7f3d0",hover:"#d1fae5"},{primary:"#064e3b",secondary:"#065f46",muted:"#34d399"},"#6ee7b7"),xo=D("Amber",{primary:"#d97706",primaryHover:"#b45309",success:"#16a34a",warning:"#ca8a04",error:"#dc2626",info:"#0284c7"},{primary:"#fffbeb",secondary:"#fef3c7",tertiary:"#fde68a",hover:"#fef3c7"},{primary:"#451a03",secondary:"#78350f",muted:"#f59e0b"},"#fcd34d"),Eo=D("Violet",{primary:"#7c3aed",primaryHover:"#6d28d9",success:"#10b981",warning:"#f59e0b",error:"#ef4444",info:"#06b6d4"},{primary:"#f5f3ff",secondary:"#ede9fe",tertiary:"#ddd6fe",hover:"#ede9fe"},{primary:"#2e1065",secondary:"#4c1d95",muted:"#a78bfa"},"#c4b5fd"),Co=D("Teal",{primary:"#0d9488",primaryHover:"#0f766e",success:"#16a34a",warning:"#d97706",error:"#dc2626",info:"#0284c7"},{primary:"#f0fdfa",secondary:"#ccfbf1",tertiary:"#99f6e4",hover:"#ccfbf1"},{primary:"#134e4a",secondary:"#115e59",muted:"#2dd4bf"},"#5eead4"),zo=D("Indigo",{primary:"#4f46e5",primaryHover:"#4338ca",success:"#10b981",warning:"#f59e0b",error:"#ef4444",info:"#06b6d4"},{primary:"#eef2ff",secondary:"#e0e7ff",tertiary:"#c7d2fe",hover:"#e0e7ff"},{primary:"#1e1b4b",secondary:"#312e81",muted:"#818cf8"},"#a5b4fc"),jo=D("Cyan",{primary:"#0891b2",primaryHover:"#0e7490",success:"#10b981",warning:"#f59e0b",error:"#ef4444",info:"#0284c7"},{primary:"#ecfeff",secondary:"#cffafe",tertiary:"#a5f3fc",hover:"#cffafe"},{primary:"#164e63",secondary:"#155e75",muted:"#22d3ee"},"#67e8f9"),Do=D("Lime",{primary:"#65a30d",primaryHover:"#4d7c0f",success:"#16a34a",warning:"#ca8a04",error:"#dc2626",info:"#0891b2"},{primary:"#f7fee7",secondary:"#ecfccb",tertiary:"#d9f99d",hover:"#ecfccb"},{primary:"#1a2e05",secondary:"#365314",muted:"#84cc16"},"#bef264"),Mo=D("Pink",{primary:"#db2777",primaryHover:"#be185d",success:"#10b981",warning:"#f59e0b",error:"#dc2626",info:"#06b6d4"},{primary:"#fdf2f8",secondary:"#fce7f3",tertiary:"#fbcfe8",hover:"#fce7f3"},{primary:"#500724",secondary:"#831843",muted:"#f472b6"},"#f9a8d4"),Ao=D("Orange",{primary:"#ea580c",primaryHover:"#c2410c",success:"#16a34a",warning:"#ca8a04",error:"#dc2626",info:"#0891b2"},{primary:"#fff7ed",secondary:"#ffedd5",tertiary:"#fed7aa",hover:"#ffedd5"},{primary:"#431407",secondary:"#7c2d12",muted:"#fb923c"},"#fdba74"),Po=D("Fuchsia",{primary:"#c026d3",primaryHover:"#a21caf",success:"#10b981",warning:"#eab308",error:"#ef4444",info:"#06b6d4"},{primary:"#fdf4ff",secondary:"#fae8ff",tertiary:"#f5d0fe",hover:"#fae8ff"},{primary:"#4a044e",secondary:"#701a75",muted:"#d946ef"},"#e879f9"),To=D("Sky",{primary:"#0284c7",primaryHover:"#0369a1",success:"#10b981",warning:"#f59e0b",error:"#ef4444",info:"#06b6d4"},{primary:"#f0f9ff",secondary:"#e0f2fe",tertiary:"#bae6fd",hover:"#e0f2fe"},{primary:"#0c4a6e",secondary:"#075985",muted:"#38bdf8"},"#7dd3fc"),Fo=D("Ruby",{primary:"#be123c",primaryHover:"#9f1239",success:"#059669",warning:"#d97706",error:"#dc2626",info:"#0284c7"},{primary:"#fff1f2",secondary:"#ffe4e6",tertiary:"#fecdd3",hover:"#ffe4e6"},{primary:"#4c0519",secondary:"#881337",muted:"#fb7185"},"#fda4af"),Bo=D("Coral",{primary:"#f97316",primaryHover:"#ea580c",success:"#10b981",warning:"#eab308",error:"#ef4444",info:"#06b6d4"},{primary:"#fff7ed",secondary:"#ffedd5",tertiary:"#fed7aa",hover:"#ffedd5"},{primary:"#431407",secondary:"#9a3412",muted:"#fb923c"},"#fdba74"),No=O("Midnight",{primary:"#818cf8",primaryHover:"#6366f1",success:"#34d399",warning:"#fbbf24",error:"#f87171",info:"#22d3ee"},{primary:"#020617",secondary:"#0f172a",tertiary:"#1e293b",hover:"#1e293b"},{primary:"#f1f5f9",secondary:"#94a3b8",muted:"#475569"},"#1e293b"),Ro=O("Obsidian",{primary:"#a78bfa",primaryHover:"#8b5cf6",success:"#4ade80",warning:"#facc15",error:"#fb7185",info:"#38bdf8"},{primary:"#09090b",secondary:"#18181b",tertiary:"#27272a",hover:"#27272a"},{primary:"#fafafa",secondary:"#a1a1aa",muted:"#52525b"},"#3f3f46"),Lo=O("Eclipse",{primary:"#c084fc",primaryHover:"#a855f7",success:"#34d399",warning:"#fbbf24",error:"#f87171",info:"#67e8f9"},{primary:"#0c0a1d",secondary:"#1a1533",tertiary:"#2a2248",hover:"#2a2248"},{primary:"#f5f3ff",secondary:"#a78bfa",muted:"#6d5eac"},"#3b3266"),Oo=O("Onyx",{primary:"#60a5fa",primaryHover:"#3b82f6",success:"#4ade80",warning:"#fbbf24",error:"#f87171",info:"#22d3ee"},{primary:"#000000",secondary:"#0a0a0a",tertiary:"#171717",hover:"#171717"},{primary:"#ffffff",secondary:"#a3a3a3",muted:"#525252"},"#262626"),Ho=O("Carbon",{primary:"#38bdf8",primaryHover:"#0ea5e9",success:"#4ade80",warning:"#facc15",error:"#f87171",info:"#67e8f9"},{primary:"#161616",secondary:"#262626",tertiary:"#393939",hover:"#393939"},{primary:"#f4f4f4",secondary:"#c6c6c6",muted:"#6f6f6f"},"#525252"),Io=O("Cosmos",{primary:"#6366f1",primaryHover:"#4f46e5",success:"#34d399",warning:"#fbbf24",error:"#f87171",info:"#22d3ee"},{primary:"#030712",secondary:"#111827",tertiary:"#1f2937",hover:"#1f2937"},{primary:"#e5e7eb",secondary:"#9ca3af",muted:"#4b5563"},"#374151"),Wo=O("Nebula",{primary:"#e879f9",primaryHover:"#d946ef",success:"#4ade80",warning:"#fbbf24",error:"#fb7185",info:"#67e8f9"},{primary:"#0d0117",secondary:"#1a0533",tertiary:"#2d0a52",hover:"#2d0a52"},{primary:"#fae8ff",secondary:"#d8b4fe",muted:"#7c3aed"},"#581c87"),Vo=O("Abyss",{primary:"#22d3ee",primaryHover:"#06b6d4",success:"#34d399",warning:"#fbbf24",error:"#f87171",info:"#38bdf8"},{primary:"#001219",secondary:"#002a3a",tertiary:"#003e54",hover:"#003e54"},{primary:"#e0f2fe",secondary:"#7dd3fc",muted:"#0369a1"},"#075985"),$o=O("Shadow",{primary:"#a3a3a3",primaryHover:"#737373",success:"#4ade80",warning:"#facc15",error:"#f87171",info:"#38bdf8"},{primary:"#171717",secondary:"#1f1f1f",tertiary:"#2a2a2a",hover:"#2a2a2a"},{primary:"#e5e5e5",secondary:"#a3a3a3",muted:"#525252"},"#404040"),qo=O("Emerald Dark",{primary:"#34d399",primaryHover:"#10b981",success:"#4ade80",warning:"#fbbf24",error:"#f87171",info:"#22d3ee"},{primary:"#022c22",secondary:"#064e3b",tertiary:"#065f46",hover:"#065f46"},{primary:"#ecfdf5",secondary:"#6ee7b7",muted:"#047857"},"#047857"),Ko=D("Forest",{primary:"#166534",primaryHover:"#14532d",success:"#22c55e",warning:"#ca8a04",error:"#dc2626",info:"#0891b2"},{primary:"#f0fdf4",secondary:"#dcfce7",tertiary:"#bbf7d0",hover:"#dcfce7"},{primary:"#052e16",secondary:"#166534",muted:"#4ade80"},"#86efac"),Go=D("Ocean",{primary:"#0369a1",primaryHover:"#075985",success:"#059669",warning:"#d97706",error:"#dc2626",info:"#0284c7"},{primary:"#f0f9ff",secondary:"#e0f2fe",tertiary:"#bae6fd",hover:"#e0f2fe"},{primary:"#0c4a6e",secondary:"#0369a1",muted:"#38bdf8"},"#7dd3fc"),Uo=D("Desert",{primary:"#b45309",primaryHover:"#92400e",success:"#4d7c0f",warning:"#a16207",error:"#b91c1c",info:"#0e7490"},{primary:"#fefce8",secondary:"#fef9c3",tertiary:"#fef08a",hover:"#fef9c3"},{primary:"#422006",secondary:"#713f12",muted:"#ca8a04"},"#fde047"),Xo=D("Sunset",{primary:"#ea580c",primaryHover:"#c2410c",success:"#16a34a",warning:"#d97706",error:"#dc2626",info:"#0891b2"},{primary:"#fff7ed",secondary:"#ffedd5",tertiary:"#fed7aa",hover:"#ffedd5"},{primary:"#431407",secondary:"#9a3412",muted:"#f97316"},"#fdba74"),Zo=D("Aurora",{primary:"#0d9488",primaryHover:"#0f766e",success:"#22c55e",warning:"#eab308",error:"#ef4444",info:"#06b6d4"},{primary:"#f0fdfa",secondary:"#ccfbf1",tertiary:"#99f6e4",hover:"#ccfbf1"},{primary:"#134e4a",secondary:"#115e59",muted:"#2dd4bf"},"#5eead4"),_o=D("Lavender",{primary:"#7e22ce",primaryHover:"#6b21a8",success:"#16a34a",warning:"#d97706",error:"#dc2626",info:"#0891b2"},{primary:"#faf5ff",secondary:"#f3e8ff",tertiary:"#e9d5ff",hover:"#f3e8ff"},{primary:"#3b0764",secondary:"#581c87",muted:"#a855f7"},"#d8b4fe"),Jo=D("Autumn",{primary:"#c2410c",primaryHover:"#9a3412",success:"#4d7c0f",warning:"#a16207",error:"#b91c1c",info:"#0e7490"},{primary:"#fef2f2",secondary:"#fee2e2",tertiary:"#fecaca",hover:"#fee2e2"},{primary:"#450a0a",secondary:"#7f1d1d",muted:"#f87171"},"#fca5a5"),Yo=D("Spring",{primary:"#16a34a",primaryHover:"#15803d",success:"#22c55e",warning:"#eab308",error:"#ef4444",info:"#06b6d4"},{primary:"#f0fdf4",secondary:"#dcfce7",tertiary:"#bbf7d0",hover:"#dcfce7"},{primary:"#14532d",secondary:"#166534",muted:"#4ade80"},"#86efac"),Qo=D("Arctic",{primary:"#0ea5e9",primaryHover:"#0284c7",success:"#10b981",warning:"#f59e0b",error:"#ef4444",info:"#06b6d4"},{primary:"#f0f9ff",secondary:"#e0f2fe",tertiary:"#bae6fd",hover:"#e0f2fe"},{primary:"#0c4a6e",secondary:"#0369a1",muted:"#7dd3fc"},"#bae6fd"),ea=D("Tropical",{primary:"#0d9488",primaryHover:"#0f766e",success:"#16a34a",warning:"#f59e0b",error:"#ef4444",info:"#06b6d4"},{primary:"#ecfdf5",secondary:"#d1fae5",tertiary:"#a7f3d0",hover:"#d1fae5"},{primary:"#064e3b",secondary:"#065f46",muted:"#6ee7b7"},"#a7f3d0"),ta=D("Pastel Rose",{primary:"#f472b6",primaryHover:"#ec4899",success:"#4ade80",warning:"#fcd34d",error:"#fb7185",info:"#67e8f9"},{primary:"#fdf2f8",secondary:"#fce7f3",tertiary:"#fbcfe8",hover:"#fce7f3"},{primary:"#831843",secondary:"#9d174d",muted:"#f9a8d4"},"#f9a8d4"),ra=D("Pastel Sky",{primary:"#38bdf8",primaryHover:"#0ea5e9",success:"#4ade80",warning:"#fcd34d",error:"#fb7185",info:"#67e8f9"},{primary:"#f0f9ff",secondary:"#e0f2fe",tertiary:"#bae6fd",hover:"#e0f2fe"},{primary:"#075985",secondary:"#0369a1",muted:"#7dd3fc"},"#bae6fd"),oa=D("Pastel Mint",{primary:"#34d399",primaryHover:"#10b981",success:"#4ade80",warning:"#fcd34d",error:"#fb7185",info:"#67e8f9"},{primary:"#ecfdf5",secondary:"#d1fae5",tertiary:"#a7f3d0",hover:"#d1fae5"},{primary:"#065f46",secondary:"#047857",muted:"#6ee7b7"},"#a7f3d0"),aa=D("Pastel Peach",{primary:"#fb923c",primaryHover:"#f97316",success:"#4ade80",warning:"#fcd34d",error:"#fb7185",info:"#67e8f9"},{primary:"#fff7ed",secondary:"#ffedd5",tertiary:"#fed7aa",hover:"#ffedd5"},{primary:"#7c2d12",secondary:"#9a3412",muted:"#fdba74"},"#fed7aa"),ia=D("Pastel Lavender",{primary:"#a78bfa",primaryHover:"#8b5cf6",success:"#4ade80",warning:"#fcd34d",error:"#fb7185",info:"#67e8f9"},{primary:"#f5f3ff",secondary:"#ede9fe",tertiary:"#ddd6fe",hover:"#ede9fe"},{primary:"#4c1d95",secondary:"#5b21b6",muted:"#c4b5fd"},"#ddd6fe"),na=D("Pastel Lemon",{primary:"#facc15",primaryHover:"#eab308",success:"#4ade80",warning:"#fcd34d",error:"#fb7185",info:"#67e8f9"},{primary:"#fefce8",secondary:"#fef9c3",tertiary:"#fef08a",hover:"#fef9c3"},{primary:"#713f12",secondary:"#854d0e",muted:"#fde047"},"#fef08a"),sa=D("Pastel Sage",{primary:"#86efac",primaryHover:"#4ade80",success:"#22c55e",warning:"#fcd34d",error:"#fb7185",info:"#67e8f9"},{primary:"#f0fdf4",secondary:"#dcfce7",tertiary:"#bbf7d0",hover:"#dcfce7"},{primary:"#166534",secondary:"#15803d",muted:"#86efac"},"#bbf7d0"),la=D("Pastel Coral",{primary:"#fb7185",primaryHover:"#f43f5e",success:"#4ade80",warning:"#fcd34d",error:"#ef4444",info:"#67e8f9"},{primary:"#fff1f2",secondary:"#ffe4e6",tertiary:"#fecdd3",hover:"#ffe4e6"},{primary:"#881337",secondary:"#9f1239",muted:"#fda4af"},"#fecdd3"),da=D("Banking",{primary:"#1e3a5f",primaryHover:"#152c4a",success:"#059669",warning:"#d97706",error:"#dc2626",info:"#0891b2"},{primary:"#f8fafc",secondary:"#f1f5f9",tertiary:"#e2e8f0",hover:"#e2e8f0"},{primary:"#0f172a",secondary:"#334155",muted:"#94a3b8"},"#cbd5e1"),ca=D("Healthcare",{primary:"#0891b2",primaryHover:"#0e7490",success:"#059669",warning:"#d97706",error:"#dc2626",info:"#0284c7"},{primary:"#f0fdfa",secondary:"#e0f7fa",tertiary:"#b2ebf2",hover:"#e0f7fa"},{primary:"#134e4a",secondary:"#1a6b6a",muted:"#80cbc4"},"#b2dfdb"),ua=D("Legal",{primary:"#1e293b",primaryHover:"#0f172a",success:"#059669",warning:"#d97706",error:"#dc2626",info:"#0284c7"},{primary:"#fafaf9",secondary:"#f5f5f4",tertiary:"#e7e5e4",hover:"#e7e5e4"},{primary:"#0f172a",secondary:"#44403c",muted:"#a8a29e"},"#d6d3d1"),pa=D("Tech Startup",{primary:"#7c3aed",primaryHover:"#6d28d9",success:"#10b981",warning:"#f59e0b",error:"#ef4444",info:"#06b6d4"},{primary:"#faf5ff",secondary:"#f3e8ff",tertiary:"#e9d5ff",hover:"#f3e8ff"},{primary:"#1e1b4b",secondary:"#4c1d95",muted:"#a78bfa"},"#c4b5fd"),ma=D("Enterprise",{primary:"#1e40af",primaryHover:"#1e3a8a",success:"#059669",warning:"#d97706",error:"#dc2626",info:"#0891b2"},{primary:"#eff6ff",secondary:"#dbeafe",tertiary:"#bfdbfe",hover:"#dbeafe"},{primary:"#1e3a5f",secondary:"#1e40af",muted:"#60a5fa"},"#93c5fd"),fa=D("Government",{primary:"#1d4ed8",primaryHover:"#1e40af",success:"#059669",warning:"#d97706",error:"#dc2626",info:"#0891b2"},{primary:"#f8fafc",secondary:"#f1f5f9",tertiary:"#e2e8f0",hover:"#e2e8f0"},{primary:"#0f172a",secondary:"#1e293b",muted:"#64748b"},"#cbd5e1"),ga=D("Education",{primary:"#059669",primaryHover:"#047857",success:"#16a34a",warning:"#f59e0b",error:"#ef4444",info:"#0891b2"},{primary:"#f0fdf9",secondary:"#d1fae5",tertiary:"#a7f3d0",hover:"#d1fae5"},{primary:"#064e3b",secondary:"#065f46",muted:"#6ee7b7"},"#a7f3d0"),ha=D("Real Estate",{primary:"#92400e",primaryHover:"#78350f",success:"#059669",warning:"#b45309",error:"#dc2626",info:"#0891b2"},{primary:"#fffbeb",secondary:"#fef3c7",tertiary:"#fde68a",hover:"#fef3c7"},{primary:"#422006",secondary:"#713f12",muted:"#d97706"},"#fcd34d"),ya=D("Nord",{primary:"#5e81ac",primaryHover:"#4c6b90",success:"#a3be8c",warning:"#ebcb8b",error:"#bf616a",info:"#88c0d0"},{primary:"#eceff4",secondary:"#e5e9f0",tertiary:"#d8dee9",hover:"#d8dee9"},{primary:"#2e3440",secondary:"#3b4252",muted:"#4c566a"},"#d8dee9"),ba=O("Dracula",{primary:"#bd93f9",primaryHover:"#9d79d9",success:"#50fa7b",warning:"#f1fa8c",error:"#ff5555",info:"#8be9fd"},{primary:"#282a36",secondary:"#343746",tertiary:"#44475a",hover:"#44475a"},{primary:"#f8f8f2",secondary:"#c0c0c0",muted:"#6272a4"},"#44475a"),va=D("Solarized Light",{primary:"#268bd2",primaryHover:"#1a6da0",success:"#859900",warning:"#b58900",error:"#dc322f",info:"#2aa198"},{primary:"#fdf6e3",secondary:"#eee8d5",tertiary:"#e0dbc7",hover:"#eee8d5"},{primary:"#073642",secondary:"#586e75",muted:"#93a1a1"},"#eee8d5"),wa=O("Solarized Dark",{primary:"#268bd2",primaryHover:"#3d98db",success:"#859900",warning:"#b58900",error:"#dc322f",info:"#2aa198"},{primary:"#002b36",secondary:"#073642",tertiary:"#0a4858",hover:"#073642"},{primary:"#eee8d5",secondary:"#93a1a1",muted:"#586e75"},"#073642"),ka=O("Monokai",{primary:"#66d9ef",primaryHover:"#45c0d6",success:"#a6e22e",warning:"#e6db74",error:"#f92672",info:"#66d9ef"},{primary:"#272822",secondary:"#34352e",tertiary:"#3e3d32",hover:"#3e3d32"},{primary:"#f8f8f2",secondary:"#cfcfc2",muted:"#75715e"},"#3e3d32"),Sa=O("One Dark",{primary:"#61afef",primaryHover:"#4b9ee0",success:"#98c379",warning:"#e5c07b",error:"#e06c75",info:"#56b6c2"},{primary:"#282c34",secondary:"#2c313a",tertiary:"#353b45",hover:"#353b45"},{primary:"#abb2bf",secondary:"#828997",muted:"#545862"},"#3e4452"),xa=O("Synthwave",{primary:"#ff7edb",primaryHover:"#e660c2",success:"#72f1b8",warning:"#fede5d",error:"#fe4450",info:"#36f9f6"},{primary:"#241b2f",secondary:"#2d2140",tertiary:"#362a50",hover:"#362a50"},{primary:"#f0e4fc",secondary:"#b4a0cc",muted:"#6c5c84"},"#4a3866"),Ea=D("Vaporwave",{primary:"#ff71ce",primaryHover:"#e655b5",success:"#78dcca",warning:"#ffb86c",error:"#ff5555",info:"#76e8fc"},{primary:"#fce4f7",secondary:"#e8d0f4",tertiary:"#d4bcf0",hover:"#e8d0f4"},{primary:"#4a1a4e",secondary:"#7b3f7d",muted:"#c080c0"},"#d8a8e8"),Ca=O("Terminal Green",{primary:"#00ff41",primaryHover:"#00cc34",success:"#00ff41",warning:"#ffff00",error:"#ff0000",info:"#00ffff"},{primary:"#0a0a0a",secondary:"#0d1a0d",tertiary:"#1a2e1a",hover:"#1a2e1a"},{primary:"#00ff41",secondary:"#00cc33",muted:"#008822"},"#003300"),za=D("Sepia",{primary:"#8b6914",primaryHover:"#704f10",success:"#6b8e23",warning:"#cd853f",error:"#b22222",info:"#5f9ea0"},{primary:"#faf0e6",secondary:"#f5e6d3",tertiary:"#eddcc7",hover:"#f5e6d3"},{primary:"#3e2723",secondary:"#5d4037",muted:"#a1887f"},"#d7ccc8"),ja=D("Vintage",{primary:"#8d6e63",primaryHover:"#6d4c41",success:"#66bb6a",warning:"#ffb300",error:"#e53935",info:"#29b6f6"},{primary:"#efebe9",secondary:"#d7ccc8",tertiary:"#bcaaa4",hover:"#d7ccc8"},{primary:"#3e2723",secondary:"#5d4037",muted:"#a1887f"},"#bcaaa4"),Da=O("Cyberpunk",{primary:"#00f0ff",primaryHover:"#00c8d4",success:"#39ff14",warning:"#ffff00",error:"#ff003c",info:"#bf00ff"},{primary:"#0a0e17",secondary:"#131824",tertiary:"#1c2333",hover:"#1c2333"},{primary:"#e0fbfc",secondary:"#80d4dd",muted:"#3a6b72"},"#1c3a44"),Ma=O("Neon",{primary:"#ff00ff",primaryHover:"#cc00cc",success:"#00ff00",warning:"#ffff00",error:"#ff0000",info:"#00ffff"},{primary:"#0d0d0d",secondary:"#1a1a1a",tertiary:"#262626",hover:"#262626"},{primary:"#ffffff",secondary:"#cccccc",muted:"#666666"},"#333333"),Aa=O("Retrowave",{primary:"#f77fbe",primaryHover:"#e462a3",success:"#72f1b8",warning:"#ffe261",error:"#ff4444",info:"#79e8fb"},{primary:"#1b0a2e",secondary:"#261440",tertiary:"#321e52",hover:"#321e52"},{primary:"#ffe6f7",secondary:"#c9a0c9",muted:"#6b4c7a"},"#4a2d66"),Pa=D("Christmas",{primary:"#c41e3a",primaryHover:"#a01830",success:"#228b22",warning:"#ffd700",error:"#dc2626",info:"#0891b2"},{primary:"#fef2f2",secondary:"#fde8e8",tertiary:"#f8d0d0",hover:"#fde8e8"},{primary:"#3b0a0a",secondary:"#7f1d1d",muted:"#dc6868"},"#e8a0a0"),Ta=O("Halloween",{primary:"#ff6600",primaryHover:"#e05500",success:"#4ade80",warning:"#fbbf24",error:"#ff0000",info:"#9333ea"},{primary:"#1a0a00",secondary:"#2d1500",tertiary:"#402000",hover:"#402000"},{primary:"#ffedd5",secondary:"#fdba74",muted:"#9a5c28"},"#5c3400"),Fa=D("Valentine",{primary:"#e11d48",primaryHover:"#be123c",success:"#10b981",warning:"#f59e0b",error:"#dc2626",info:"#ec4899"},{primary:"#fff1f2",secondary:"#ffe4e6",tertiary:"#fecdd3",hover:"#ffe4e6"},{primary:"#4c0519",secondary:"#881337",muted:"#f9a8d4"},"#fda4af"),Ba=D("Easter",{primary:"#a78bfa",primaryHover:"#8b5cf6",success:"#4ade80",warning:"#fcd34d",error:"#fb7185",info:"#67e8f9"},{primary:"#fef9ff",secondary:"#f3e8ff",tertiary:"#e8d5ff",hover:"#f3e8ff"},{primary:"#581c87",secondary:"#6d28d9",muted:"#c4b5fd"},"#ddd6fe"),Na=D("Summer Beach",{primary:"#0ea5e9",primaryHover:"#0284c7",success:"#10b981",warning:"#f59e0b",error:"#ef4444",info:"#06b6d4"},{primary:"#fffbeb",secondary:"#fef3c7",tertiary:"#fde68a",hover:"#fef3c7"},{primary:"#0c4a6e",secondary:"#0369a1",muted:"#7dd3fc"},"#fcd34d"),Ra=D("Winter Frost",{primary:"#3b82f6",primaryHover:"#2563eb",success:"#10b981",warning:"#f59e0b",error:"#ef4444",info:"#06b6d4"},{primary:"#f0f9ff",secondary:"#e0f2fe",tertiary:"#bae6fd",hover:"#e0f2fe"},{primary:"#1e3a5f",secondary:"#1e40af",muted:"#93c5fd"},"#bfdbfe"),La=D("Cherry Blossom",{primary:"#ec4899",primaryHover:"#db2777",success:"#10b981",warning:"#f59e0b",error:"#ef4444",info:"#06b6d4"},{primary:"#fdf2f8",secondary:"#fce7f3",tertiary:"#fbcfe8",hover:"#fce7f3"},{primary:"#831843",secondary:"#9d174d",muted:"#f9a8d4"},"#fbcfe8"),Oa=D("Harvest",{primary:"#b45309",primaryHover:"#92400e",success:"#4d7c0f",warning:"#a16207",error:"#b91c1c",info:"#0e7490"},{primary:"#fffbeb",secondary:"#fef3c7",tertiary:"#fde68a",hover:"#fef3c7"},{primary:"#451a03",secondary:"#78350f",muted:"#d97706"},"#fcd34d"),Ha=D("Japanese Zen",{primary:"#6b7280",primaryHover:"#4b5563",success:"#6b8e23",warning:"#d4a017",error:"#c0392b",info:"#5f9ea0"},{primary:"#faf9f6",secondary:"#f0ece3",tertiary:"#e6e0d4",hover:"#f0ece3"},{primary:"#2c2c2c",secondary:"#5c5c5c",muted:"#a0998a"},"#d5cec0"),Ia=D("Moroccan",{primary:"#c2410c",primaryHover:"#9a3412",success:"#15803d",warning:"#ca8a04",error:"#b91c1c",info:"#0e7490"},{primary:"#fffbf0",secondary:"#fef3e0",tertiary:"#fde6c4",hover:"#fef3e0"},{primary:"#3a1a00",secondary:"#7c2d12",muted:"#d97706"},"#f5d0a0"),Wa=D("Scandinavian",{primary:"#4b5563",primaryHover:"#374151",success:"#059669",warning:"#d97706",error:"#dc2626",info:"#0891b2"},{primary:"#ffffff",secondary:"#f9fafb",tertiary:"#f3f4f6",hover:"#f3f4f6"},{primary:"#111827",secondary:"#374151",muted:"#9ca3af"},"#e5e7eb"),Va=D("Mediterranean",{primary:"#1e40af",primaryHover:"#1e3a8a",success:"#059669",warning:"#d97706",error:"#dc2626",info:"#0891b2"},{primary:"#eff6ff",secondary:"#dbeafe",tertiary:"#bfdbfe",hover:"#dbeafe"},{primary:"#1e3a5f",secondary:"#2563eb",muted:"#93c5fd"},"#bfdbfe"),$a=D("Chinese New Year",{primary:"#dc2626",primaryHover:"#b91c1c",success:"#16a34a",warning:"#d4a017",error:"#ef4444",info:"#0891b2"},{primary:"#fef2f2",secondary:"#fee2e2",tertiary:"#fecaca",hover:"#fee2e2"},{primary:"#450a0a",secondary:"#991b1b",muted:"#f87171"},"#fca5a5"),qa=D("Indian Festive",{primary:"#d97706",primaryHover:"#b45309",success:"#16a34a",warning:"#ca8a04",error:"#dc2626",info:"#7c3aed"},{primary:"#fffbeb",secondary:"#fef3c7",tertiary:"#fde68a",hover:"#fef3c7"},{primary:"#451a03",secondary:"#92400e",muted:"#f59e0b"},"#fcd34d"),Ka=D("Brazilian Carnival",{primary:"#16a34a",primaryHover:"#15803d",success:"#22c55e",warning:"#facc15",error:"#ef4444",info:"#0ea5e9"},{primary:"#f0fdf4",secondary:"#dcfce7",tertiary:"#bbf7d0",hover:"#dcfce7"},{primary:"#052e16",secondary:"#166534",muted:"#4ade80"},"#86efac"),Ga=D("African Earth",{primary:"#92400e",primaryHover:"#78350f",success:"#4d7c0f",warning:"#a16207",error:"#b91c1c",info:"#0e7490"},{primary:"#faf5f0",secondary:"#f0e6d6",tertiary:"#e6d5bb",hover:"#f0e6d6"},{primary:"#2b1a0e",secondary:"#5c3d1e",muted:"#a08060"},"#d4b896"),Ua=O("High Contrast Dark",{primary:"#ffff00",primaryHover:"#cccc00",success:"#00ff00",warning:"#ff8c00",error:"#ff0000",info:"#00ffff"},{primary:"#000000",secondary:"#1a1a1a",tertiary:"#333333",hover:"#333333"},{primary:"#ffffff",secondary:"#ffffff",muted:"#cccccc"},"#ffffff"),Xa=D("Monochrome",{primary:"#404040",primaryHover:"#262626",success:"#4d7c0f",warning:"#a16207",error:"#b91c1c",info:"#0e7490"},{primary:"#fafafa",secondary:"#f0f0f0",tertiary:"#e0e0e0",hover:"#e0e0e0"},{primary:"#1a1a1a",secondary:"#404040",muted:"#808080"},"#c0c0c0"),Za=D("Enhanced Contrast",{primary:"#0050b3",primaryHover:"#003d8c",success:"#006400",warning:"#cc7000",error:"#cc0000",info:"#006680"},{primary:"#ffffff",secondary:"#f5f5f5",tertiary:"#ebebeb",hover:"#ebebeb"},{primary:"#000000",secondary:"#1a1a1a",muted:"#595959"},"#8c8c8c"),_a={name:"Large Text",darkMode:"light",colors:{primary:"#2563eb",primaryHover:"#1d4ed8",success:"#059669",warning:"#d97706",error:"#dc2626",info:"#0891b2",surface:"#ffffff",surfaceHover:"#f8fafc"},backgrounds:{primary:"#ffffff",secondary:"#f8fafc",tertiary:"#f1f5f9",hover:"#f1f5f9",elevated:"#ffffff",inset:"#f1f5f9",canvas:"#ffffff"},text:{primary:"#0f172a",secondary:"#475569",muted:"#94a3b8",inverse:"#ffffff"},borders:Et("#e2e8f0"),shadows:po,spacing:{space1:"6px",space2:"12px",space3:"16px",space4:"20px",space5:"24px",space6:"32px",space8:"40px"},typography:{fontFamily:"'Inter', system-ui, -apple-system, sans-serif",fontSizeXs:"0.875rem",fontSizeSm:"1rem",fontSizeMd:"1.125rem",fontSizeLg:"1.25rem",fontSizeXl:"1.5rem",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeight:1.6},transitions:fe},Ja={name:"Glassmorphism",darkMode:"light",colors:{primary:"#6366f1",primaryHover:"#4f46e5",success:"#10b981",warning:"#f59e0b",error:"#ef4444",info:"#06b6d4",surface:"rgba(255,255,255,0.7)",surfaceHover:"rgba(255,255,255,0.5)"},backgrounds:{primary:"rgba(255,255,255,0.7)",secondary:"rgba(255,255,255,0.5)",tertiary:"rgba(255,255,255,0.3)",hover:"rgba(255,255,255,0.5)",elevated:"rgba(255,255,255,0.8)",inset:"rgba(255,255,255,0.3)",canvas:"rgba(255,255,255,0.7)"},text:{primary:"#1e293b",secondary:"#475569",muted:"#94a3b8",inverse:"#ffffff"},borders:{color:"rgba(255,255,255,0.3)",radiusSm:"8px",radiusMd:"12px",radiusLg:"16px",radiusXl:"24px",radiusFull:"9999px"},shadows:{sm:"0 2px 8px rgba(0,0,0,0.04)",md:"0 4px 16px rgba(0,0,0,0.08)",lg:"0 8px 32px rgba(0,0,0,0.12)",xl:"0 16px 48px rgba(0,0,0,0.16)"},spacing:pe,typography:me,transitions:{fast:"150ms ease",normal:"250ms ease",slow:"350ms ease"}},Ya={name:"Neumorphism Light",darkMode:"light",colors:{primary:"#6366f1",primaryHover:"#4f46e5",success:"#10b981",warning:"#f59e0b",error:"#ef4444",info:"#06b6d4",surface:"#e0e5ec",surfaceHover:"#d5dae2"},backgrounds:{primary:"#e0e5ec",secondary:"#d5dae2",tertiary:"#ccd1d9",hover:"#d5dae2",elevated:"#e0e5ec",inset:"#ccd1d9",canvas:"#e0e5ec"},text:{primary:"#2d3748",secondary:"#4a5568",muted:"#718096",inverse:"#ffffff"},borders:{color:"#d0d5dd",radiusSm:"8px",radiusMd:"12px",radiusLg:"16px",radiusXl:"20px",radiusFull:"9999px"},shadows:{sm:"3px 3px 6px #b8bec7, -3px -3px 6px #ffffff",md:"5px 5px 10px #b8bec7, -5px -5px 10px #ffffff",lg:"8px 8px 16px #b8bec7, -8px -8px 16px #ffffff",xl:"12px 12px 24px #b8bec7, -12px -12px 24px #ffffff"},spacing:pe,typography:me,transitions:fe},Qa={name:"Neumorphism Dark",darkMode:"dark",colors:{primary:"#818cf8",primaryHover:"#6366f1",success:"#34d399",warning:"#fbbf24",error:"#f87171",info:"#22d3ee",surface:"#283141",surfaceHover:"#232b3a"},backgrounds:{primary:"#2d3748",secondary:"#283141",tertiary:"#232b3a",hover:"#283141",elevated:"#283141",inset:"#2d3748",canvas:"#2d3748"},text:{primary:"#e2e8f0",secondary:"#a0aec0",muted:"#718096",inverse:"#0f172a"},borders:{color:"#3a4556",radiusSm:"8px",radiusMd:"12px",radiusLg:"16px",radiusXl:"20px",radiusFull:"9999px"},shadows:{sm:"3px 3px 6px #1a202c, -3px -3px 6px #404d64",md:"5px 5px 10px #1a202c, -5px -5px 10px #404d64",lg:"8px 8px 16px #1a202c, -8px -8px 16px #404d64",xl:"12px 12px 24px #1a202c, -12px -12px 24px #404d64"},spacing:pe,typography:me,transitions:fe},ei=D("Minimalist",{primary:"#18181b",primaryHover:"#27272a",success:"#22c55e",warning:"#eab308",error:"#ef4444",info:"#3b82f6"},{primary:"#ffffff",secondary:"#fafafa",tertiary:"#f5f5f5",hover:"#f5f5f5"},{primary:"#0a0a0a",secondary:"#404040",muted:"#a3a3a3"},"#e5e5e5"),ti=O("Warm Dark",{primary:"#f59e0b",primaryHover:"#d97706",success:"#10b981",warning:"#fbbf24",error:"#f87171",info:"#38bdf8"},{primary:"#1c1917",secondary:"#292524",tertiary:"#44403c",hover:"#44403c"},{primary:"#fafaf9",secondary:"#d6d3d1",muted:"#78716c"},"#57534e"),ri=O("Soft Dark",{primary:"#a78bfa",primaryHover:"#8b5cf6",success:"#34d399",warning:"#fcd34d",error:"#fb7185",info:"#67e8f9"},{primary:"#1e1e2e",secondary:"#262637",tertiary:"#313147",hover:"#313147"},{primary:"#e8e8f0",secondary:"#a0a0b8",muted:"#5c5c74"},"#3e3e58"),oi=D("Coffee",{primary:"#6f4e37",primaryHover:"#5c3d28",success:"#4d7c0f",warning:"#a16207",error:"#b91c1c",info:"#0e7490"},{primary:"#faf6f1",secondary:"#f0e8dc",tertiary:"#e6d8c6",hover:"#f0e8dc"},{primary:"#2c1a0e",secondary:"#5c3d28",muted:"#a08868"},"#d4c4a8"),ai=D("Wine",{primary:"#7f1d1d",primaryHover:"#641717",success:"#059669",warning:"#d97706",error:"#dc2626",info:"#0891b2"},{primary:"#fef2f2",secondary:"#fde8e8",tertiary:"#f8d0d0",hover:"#fde8e8"},{primary:"#3b0a0a",secondary:"#7f1d1d",muted:"#dc6868"},"#e8a0a0"),ii=[mo,fo,go,ho,yo,bo,vo,wo,ko,So,xo,Eo,Co,zo,jo,Do,Mo,Ao,Po,To,Fo,Bo,No,Ro,Lo,Oo,Ho,Io,Wo,Vo,$o,qo,Ko,Go,Uo,Xo,Zo,_o,Jo,Yo,Qo,ea,ta,ra,oa,aa,ia,na,sa,la,da,ca,ua,pa,ma,fa,ga,ha,ya,ba,va,wa,ka,Sa,xa,Ea,Ca,za,ja,Da,Ma,Aa,Pa,Ta,Fa,Ba,Na,Ra,La,Oa,Ha,Ia,Wa,Va,$a,qa,Ka,Ga,Ua,Xa,Za,_a,Ja,Ya,Qa,ei,ti,ri,oi,ai],ae={space1:"4px",space2:"8px",space3:"12px",space4:"16px",space5:"20px",space6:"24px",space8:"32px"},Ne={fontFamily:"'Inter', system-ui, -apple-system, sans-serif",fontSizeXs:"0.75rem",fontSizeSm:"0.8125rem",fontSizeMd:"0.875rem",fontSizeLg:"1rem",fontSizeXl:"1.125rem",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeight:1.5},ge={color:"#e2e8f0",radiusSm:"4px",radiusMd:"6px",radiusLg:"8px",radiusXl:"12px",radiusFull:"9999px"},he={fast:"120ms ease",normal:"200ms ease",slow:"300ms ease"},Ct={name:"Light",darkMode:"light",colors:{primary:"#3b82f6",primaryHover:"#2563eb",success:"#10b981",warning:"#f59e0b",error:"#ef4444",info:"#06b6d4",surface:"#ffffff",surfaceHover:"#f8fafc"},backgrounds:{primary:"#ffffff",secondary:"#f8fafc",tertiary:"#f1f5f9",hover:"#f1f5f9",elevated:"#ffffff",inset:"#f1f5f9",canvas:"#f8fafc"},text:{primary:"#0f172a",secondary:"#475569",muted:"#94a3b8",inverse:"#ffffff"},borders:ge,shadows:{sm:"0 1px 2px rgba(0,0,0,0.05)",md:"0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1)",lg:"0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1)",xl:"0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1)"},spacing:ae,typography:Ne,transitions:he},ni={name:"Dark",darkMode:"dark",colors:{primary:"#3b82f6",primaryHover:"#60a5fa",success:"#22c55e",warning:"#eab308",error:"#ef4444",info:"#06b6d4",surface:"#141414",surfaceHover:"#1e1e1e"},backgrounds:{primary:"#0a0a0a",secondary:"#141414",tertiary:"#1e1e1e",hover:"#1a1a1a",elevated:"#141414",inset:"#0a0a0a",canvas:"#0a0a0a"},text:{primary:"#ffffff",secondary:"#a1a1a1",muted:"#6b6b6b",inverse:"#0f172a"},borders:{...ge,color:"#2a2a2a"},shadows:{sm:"0 1px 2px rgba(0,0,0,0.5)",md:"0 4px 6px -1px rgba(0,0,0,0.6)",lg:"0 10px 15px -3px rgba(0,0,0,0.6)",xl:"0 20px 25px -5px rgba(0,0,0,0.6)"},spacing:ae,typography:Ne,transitions:he},si={name:"Blue",colors:{primary:"#1d4ed8",primaryHover:"#1e40af",success:"#059669",warning:"#d97706",error:"#dc2626",info:"#0891b2",surface:"#eff6ff",surfaceHover:"#dbeafe"},backgrounds:{primary:"#eff6ff",secondary:"#dbeafe",tertiary:"#bfdbfe",hover:"#dbeafe",elevated:"#ffffff",inset:"#dbeafe",canvas:"#eff6ff"},text:{primary:"#1e3a5f",secondary:"#3b628a",muted:"#7da0c4",inverse:"#ffffff"},borders:{...ge,color:"#93c5fd"},shadows:{sm:"0 1px 2px rgba(29,78,216,0.08)",md:"0 4px 6px -1px rgba(29,78,216,0.12)",lg:"0 10px 15px -3px rgba(29,78,216,0.15)",xl:"0 20px 25px -5px rgba(29,78,216,0.18)"},spacing:ae,typography:Ne,transitions:he},li={name:"High Contrast",colors:{primary:"#0000ff",primaryHover:"#0000cc",success:"#008000",warning:"#ff8c00",error:"#ff0000",info:"#008b8b",surface:"#ffffff",surfaceHover:"#f0f0f0"},backgrounds:{primary:"#ffffff",secondary:"#f0f0f0",tertiary:"#e0e0e0",hover:"#e0e0e0",elevated:"#ffffff",inset:"#e0e0e0",canvas:"#ffffff"},text:{primary:"#000000",secondary:"#1a1a1a",muted:"#4d4d4d",inverse:"#ffffff"},borders:{...ge,color:"#000000"},shadows:{sm:"0 1px 2px rgba(0,0,0,0.15)",md:"0 4px 6px rgba(0,0,0,0.2)",lg:"0 10px 15px rgba(0,0,0,0.25)",xl:"0 20px 25px rgba(0,0,0,0.3)"},spacing:ae,typography:Ne,transitions:he},di={name:"Material",colors:{primary:"#6750a4",primaryHover:"#4f378b",success:"#386a20",warning:"#7c5800",error:"#ba1a1a",info:"#00629e",surface:"#fffbfe",surfaceHover:"#f6edff"},backgrounds:{primary:"#fffbfe",secondary:"#f6edff",tertiary:"#ece6f0",hover:"#eaddff",elevated:"#ffffff",inset:"#ece6f0",canvas:"#fffbfe"},text:{primary:"#1c1b1f",secondary:"#49454f",muted:"#79747e",inverse:"#ffffff"},borders:{...ge,color:"#cac4d0",radiusSm:"8px",radiusMd:"12px",radiusLg:"16px",radiusXl:"28px",radiusFull:"9999px"},shadows:{sm:"0 1px 2px rgba(0,0,0,0.3), 0 1px 3px rgba(0,0,0,0.15)",md:"0 1px 2px rgba(0,0,0,0.3), 0 2px 6px 2px rgba(0,0,0,0.15)",lg:"0 4px 8px 3px rgba(0,0,0,0.15), 0 1px 3px rgba(0,0,0,0.3)",xl:"0 6px 10px 4px rgba(0,0,0,0.15), 0 2px 3px rgba(0,0,0,0.3)"},spacing:ae,typography:{fontFamily:"'Roboto', 'Noto Sans', system-ui, sans-serif",fontSizeXs:"0.6875rem",fontSizeSm:"0.75rem",fontSizeMd:"0.875rem",fontSizeLg:"1rem",fontSizeXl:"1.375rem",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeight:1.5},transitions:{fast:"100ms cubic-bezier(0.2,0,0,1)",normal:"200ms cubic-bezier(0.2,0,0,1)",slow:"300ms cubic-bezier(0.2,0,0,1)"}},ci={name:"Bootstrap",colors:{primary:"#0d6efd",primaryHover:"#0b5ed7",success:"#198754",warning:"#ffc107",error:"#dc3545",info:"#0dcaf0",surface:"#ffffff",surfaceHover:"#f8f9fa"},backgrounds:{primary:"#ffffff",secondary:"#f8f9fa",tertiary:"#e9ecef",hover:"#e9ecef",elevated:"#ffffff",inset:"#e9ecef",canvas:"#f8f9fa"},text:{primary:"#212529",secondary:"#6c757d",muted:"#adb5bd",inverse:"#ffffff"},borders:{color:"#dee2e6",radiusSm:"4px",radiusMd:"6px",radiusLg:"8px",radiusXl:"16px",radiusFull:"50rem"},shadows:{sm:"0 0.125rem 0.25rem rgba(0,0,0,0.075)",md:"0 0.5rem 1rem rgba(0,0,0,0.15)",lg:"0 1rem 3rem rgba(0,0,0,0.175)",xl:"0 1rem 3rem rgba(0,0,0,0.25)"},spacing:ae,typography:{fontFamily:"system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', 'Noto Sans', sans-serif",fontSizeXs:"0.75rem",fontSizeSm:"0.875rem",fontSizeMd:"1rem",fontSizeLg:"1.25rem",fontSizeXl:"1.5rem",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeight:1.5},transitions:he},ui={name:"Fluent",colors:{primary:"#0078d4",primaryHover:"#106ebe",success:"#107c10",warning:"#fce100",error:"#d13438",info:"#00b7c3",surface:"#ffffff",surfaceHover:"#faf9f8"},backgrounds:{primary:"#ffffff",secondary:"#faf9f8",tertiary:"#f3f2f1",hover:"#edebe9",elevated:"#ffffff",inset:"#f3f2f1",canvas:"#faf9f8"},text:{primary:"#323130",secondary:"#605e5c",muted:"#a19f9d",inverse:"#ffffff"},borders:{color:"#e1dfdd",radiusSm:"2px",radiusMd:"4px",radiusLg:"8px",radiusXl:"12px",radiusFull:"9999px"},shadows:{sm:"0 1.6px 3.6px 0 rgba(0,0,0,0.132), 0 0.3px 0.9px 0 rgba(0,0,0,0.108)",md:"0 3.2px 7.2px 0 rgba(0,0,0,0.132), 0 0.6px 1.8px 0 rgba(0,0,0,0.108)",lg:"0 6.4px 14.4px 0 rgba(0,0,0,0.132), 0 1.2px 3.6px 0 rgba(0,0,0,0.108)",xl:"0 25.6px 57.6px 0 rgba(0,0,0,0.22), 0 4.8px 14.4px 0 rgba(0,0,0,0.18)"},spacing:ae,typography:{fontFamily:"'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont, Roboto, sans-serif",fontSizeXs:"10px",fontSizeSm:"12px",fontSizeMd:"14px",fontSizeLg:"16px",fontSizeXl:"20px",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeight:1.42857},transitions:{fast:"100ms cubic-bezier(0.1,0.9,0.2,1)",normal:"200ms cubic-bezier(0.1,0.9,0.2,1)",slow:"300ms cubic-bezier(0.1,0.9,0.2,1)"}},et=[Ct,ni,si,li,di,ci,ui,...ii],Ed=["https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Inter:wght@400;500;600&display=swap","https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&display=swap","https://fonts.googleapis.com/css2?family=Archivo+Black&family=Archivo:wght@400;500;700&display=swap","https://fonts.googleapis.com/css2?family=Orbitron:wght@500;700;900&family=Rajdhani:wght@400;500;700&display=swap","https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Work+Sans:wght@400;500;600&display=swap","https://fonts.googleapis.com/css2?family=Quicksand:wght@400;500;600;700&family=Nunito:wght@400;600;700;800&display=swap","https://fonts.googleapis.com/css2?family=Manrope:wght@200;300;400;600&display=swap","https://fonts.googleapis.com/css2?family=Libre+Caslon+Text:wght@400;700&family=DM+Sans:wght@400;500;700&display=swap","https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap"],Cd={space1:"2px",space2:"4px",space3:"8px",space4:"12px",space5:"16px",space6:"20px",space8:"28px"},ee={space1:"4px",space2:"8px",space3:"12px",space4:"16px",space5:"20px",space6:"24px",space8:"32px"},zt={space1:"6px",space2:"12px",space3:"16px",space4:"24px",space5:"32px",space6:"40px",space8:"56px"},zd={meta:{id:"obsidianEditorial",name:"Obsidian Editorial",tagline:"Dark-mode magazine — serif display, razor borders, grain.",tags:["dark","editorial","serif"]},theme:{name:"Obsidian Editorial",darkMode:"dark",colors:{primary:"#e8dcc4",primaryHover:"#d4c29c",success:"#7fb069",warning:"#e6aa68",error:"#d65a5a",info:"#88aabb",accent:"#c98a5b",focus:"#e8dcc4",surface:"#1a1715",surfaceHover:"#221e1b"},backgrounds:{primary:"#0e0c0b",secondary:"#1a1715",tertiary:"#221e1b",hover:"#2a2522",elevated:"#1a1715",inset:"#0b0908",canvas:"#0e0c0b"},text:{primary:"#ede4d1",secondary:"#a39787",muted:"#6b6055",inverse:"#0e0c0b"},borders:{color:"#332d28",radiusSm:"0",radiusMd:"1px",radiusLg:"2px",radiusXl:"3px",radiusFull:"9999px",width:"1px",divider:"#28231f"},shadows:{sm:"none",md:"0 1px 0 0 rgba(232,220,196,0.04)",lg:"0 2px 0 0 rgba(232,220,196,0.06)",xl:"0 4px 0 0 rgba(232,220,196,0.08)"},spacing:zt,typography:{fontFamily:"'Inter', -apple-system, sans-serif",headingFontFamily:"'Fraunces', 'Playfair Display', Georgia, serif",monoFontFamily:"'JetBrains Mono', ui-monospace, monospace",fontSizeXs:"0.6875rem",fontSizeSm:"0.8125rem",fontSizeMd:"0.9375rem",fontSizeLg:"1.0625rem",fontSizeXl:"1.375rem",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeight:1.65,letterSpacing:"0.005em",headingLetterSpacing:"-0.02em"},transitions:{fast:"80ms cubic-bezier(0.4,0,0.2,1)",normal:"140ms cubic-bezier(0.4,0,0.2,1)",slow:"220ms cubic-bezier(0.4,0,0.2,1)"},backgroundImage:{type:"pattern",pattern:"noise",opacity:.35,blendMode:"overlay"}},displayStyle:"editorial",variantConfig:{density:"comfortable",animation:"subtle"}},jd={meta:{id:"neonArcade",name:"Neon Arcade",tagline:"Phosphor-green terminal glow on absolute black.",tags:["dark","retro","mono","terminal"]},theme:{name:"Neon Arcade",darkMode:"dark",colors:{primary:"#39ff14",primaryHover:"#50ff35",success:"#39ff14",warning:"#ffcc00",error:"#ff3355",info:"#00e5ff",accent:"#ff00aa",focus:"#39ff14",surface:"#060a06",surfaceHover:"#0b140b"},backgrounds:{primary:"#000000",secondary:"#060a06",tertiary:"#0b140b",hover:"#12241a",elevated:"#060a06",inset:"#000000",canvas:"#000000"},text:{primary:"#c8ffb8",secondary:"#7be368",muted:"#3e7a39",inverse:"#000000"},borders:{color:"#1d3a1d",radiusSm:"0",radiusMd:"0",radiusLg:"0",radiusXl:"0",radiusFull:"0",width:"1px",divider:"#143014",focusColor:"#39ff14"},shadows:{sm:"0 0 4px rgba(57,255,20,0.3)",md:"0 0 10px rgba(57,255,20,0.35), 0 0 2px rgba(57,255,20,0.6)",lg:"0 0 22px rgba(57,255,20,0.4), 0 0 4px rgba(57,255,20,0.7)",xl:"0 0 40px rgba(57,255,20,0.5), 0 0 8px rgba(57,255,20,0.8)",glow:"0 0 30px #39ff14, 0 0 60px rgba(57,255,20,0.4)"},spacing:ee,typography:{fontFamily:"'JetBrains Mono', 'Fira Code', ui-monospace, monospace",headingFontFamily:"'JetBrains Mono', monospace",monoFontFamily:"'JetBrains Mono', monospace",fontSizeXs:"0.75rem",fontSizeSm:"0.8125rem",fontSizeMd:"0.875rem",fontSizeLg:"1rem",fontSizeXl:"1.25rem",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:700,fontWeightBold:700,lineHeight:1.5,letterSpacing:"0.02em",headingLetterSpacing:"0.08em"},transitions:{fast:"60ms steps(4, end)",normal:"120ms steps(6, end)",slow:"200ms steps(8, end)"},backgroundImage:{type:"pattern",pattern:"grid",opacity:.25}},displayStyle:"terminal",variantConfig:{radius:"none",shadow:"glow",density:"compact",animation:"subtle"}},Dd={meta:{id:"hyggeScandinavian",name:"Hygge Scandinavian",tagline:"Warm cream, generous breathing room, soft serif display.",tags:["light","warm","serif","spacious"]},theme:{name:"Hygge Scandinavian",darkMode:"light",colors:{primary:"#8b6f47",primaryHover:"#6f5738",success:"#6b8e4e",warning:"#d49a3e",error:"#b84c4c",info:"#6a8aad",accent:"#c98754",focus:"#8b6f47",surface:"#fbf6ed",surfaceHover:"#f3ecdf"},backgrounds:{primary:"#fdf9f1",secondary:"#f5eee0",tertiary:"#ede3d0",hover:"#e8ddc8",elevated:"#ffffff",inset:"#f0e7d4",canvas:"#fdf9f1"},text:{primary:"#3a2f22",secondary:"#6a5845",muted:"#9c8c76",inverse:"#fdf9f1"},borders:{color:"#d9cbb0",radiusSm:"8px",radiusMd:"14px",radiusLg:"22px",radiusXl:"32px",radiusFull:"9999px",width:"1px",divider:"#e8ddc8"},shadows:{sm:"0 1px 2px rgba(122,92,58,0.05)",md:"0 6px 16px -4px rgba(122,92,58,0.08)",lg:"0 16px 32px -10px rgba(122,92,58,0.10)",xl:"0 28px 56px -18px rgba(122,92,58,0.14)"},spacing:zt,typography:{fontFamily:"'Work Sans', -apple-system, sans-serif",headingFontFamily:"'Cormorant Garamond', Georgia, serif",monoFontFamily:"ui-monospace, 'SF Mono', monospace",fontSizeXs:"0.8125rem",fontSizeSm:"0.875rem",fontSizeMd:"1rem",fontSizeLg:"1.125rem",fontSizeXl:"1.5rem",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeight:1.7,letterSpacing:"0",headingLetterSpacing:"-0.01em"},transitions:{fast:"160ms cubic-bezier(0.16,1,0.3,1)",normal:"260ms cubic-bezier(0.16,1,0.3,1)",slow:"400ms cubic-bezier(0.16,1,0.3,1)"}},displayStyle:"scandinavian",variantConfig:{density:"spacious",animation:"normal"}},Md={meta:{id:"brutalistRaw",name:"Brutalist Raw",tagline:"Paper + ink + hard shadows — zero blur, zero mercy.",tags:["light","brutalist","experimental"]},theme:{name:"Brutalist Raw",darkMode:"light",colors:{primary:"#ff3b30",primaryHover:"#000000",success:"#00aa55",warning:"#ffcc00",error:"#ff0000",info:"#0066ff",accent:"#ffcc00",focus:"#ff3b30",surface:"#ffffff",surfaceHover:"#f5f3ee"},backgrounds:{primary:"#f5f3ee",secondary:"#ffffff",tertiary:"#e8e4d8",hover:"#e0dcd0",elevated:"#ffffff",inset:"#e8e4d8",canvas:"#f5f3ee"},text:{primary:"#000000",secondary:"#1a1a1a",muted:"#555555",inverse:"#ffffff"},borders:{color:"#000000",radiusSm:"0",radiusMd:"0",radiusLg:"0",radiusXl:"0",radiusFull:"0",width:"2px",divider:"#000000"},shadows:{sm:"3px 3px 0 0 #000000",md:"6px 6px 0 0 #000000",lg:"10px 10px 0 0 #000000",xl:"14px 14px 0 0 #000000"},spacing:ee,typography:{fontFamily:"'Archivo', -apple-system, sans-serif",headingFontFamily:"'Archivo Black', 'Archivo', sans-serif",monoFontFamily:"'JetBrains Mono', monospace",fontSizeXs:"0.75rem",fontSizeSm:"0.875rem",fontSizeMd:"1rem",fontSizeLg:"1.125rem",fontSizeXl:"1.75rem",fontWeightNormal:500,fontWeightMedium:700,fontWeightSemibold:700,fontWeightBold:900,lineHeight:1.4,letterSpacing:"-0.01em",headingLetterSpacing:"-0.04em"},transitions:{fast:"0ms linear",normal:"80ms cubic-bezier(0.2,0,0,1)",slow:"140ms cubic-bezier(0.2,0,0,1)"}},displayStyle:"brutalist",variantConfig:{radius:"none",shadow:"lg",density:"normal",animation:"subtle"}},Ad={meta:{id:"glassAurora",name:"Glass Aurora",tagline:"Frosted translucency floating over aurora light.",tags:["light","glass","modern","gradient"]},theme:{name:"Glass Aurora",darkMode:"light",colors:{primary:"#5b5bff",primaryHover:"#4343e8",success:"#10b981",warning:"#f59e0b",error:"#ef4444",info:"#06b6d4",accent:"#ec4899",focus:"#5b5bff",surface:"rgba(255,255,255,0.55)",surfaceHover:"rgba(255,255,255,0.75)"},backgrounds:{primary:"rgba(255,255,255,0.55)",secondary:"rgba(255,255,255,0.35)",tertiary:"rgba(255,255,255,0.22)",hover:"rgba(255,255,255,0.7)",elevated:"rgba(255,255,255,0.8)",inset:"rgba(255,255,255,0.3)",canvas:"#e8d6ff"},text:{primary:"#1a1440",secondary:"#443c78",muted:"#8b83b8",inverse:"#ffffff"},borders:{color:"rgba(255,255,255,0.6)",radiusSm:"10px",radiusMd:"16px",radiusLg:"24px",radiusXl:"36px",radiusFull:"9999px",width:"1px",divider:"rgba(255,255,255,0.4)"},shadows:{sm:"0 2px 12px rgba(91,91,255,0.08)",md:"0 8px 32px rgba(91,91,255,0.12)",lg:"0 18px 56px rgba(236,72,153,0.18)",xl:"0 32px 80px rgba(91,91,255,0.22)"},spacing:ee,typography:{fontFamily:"'Outfit', -apple-system, sans-serif",headingFontFamily:"'Outfit', sans-serif",monoFontFamily:"ui-monospace, monospace",fontSizeXs:"0.75rem",fontSizeSm:"0.875rem",fontSizeMd:"0.9375rem",fontSizeLg:"1.0625rem",fontSizeXl:"1.375rem",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeight:1.55,letterSpacing:"-0.005em",headingLetterSpacing:"-0.025em"},transitions:{fast:"140ms cubic-bezier(0.4,0,0.2,1)",normal:"240ms cubic-bezier(0.4,0,0.2,1)",slow:"400ms cubic-bezier(0.4,0,0.2,1)"},backgroundImage:{type:"gradient",gradient:"radial-gradient(at 12% 18%, #ffd6e8 0%, transparent 48%), radial-gradient(at 88% 22%, #c8d8ff 0%, transparent 52%), radial-gradient(at 42% 86%, #d8ffe8 0%, transparent 50%), linear-gradient(180deg, #eee4ff 0%, #ffe8f2 100%)"}},displayStyle:"glass",variantConfig:{density:"normal",animation:"normal"}},Pd={meta:{id:"candyPop",name:"Candy Pop",tagline:"Bubblegum pastels, pill shapes, bouncy easing.",tags:["light","playful","pastel","pill"]},theme:{name:"Candy Pop",darkMode:"light",colors:{primary:"#ff4fa3",primaryHover:"#ff2d8e",success:"#3dd68c",warning:"#ffd63d",error:"#ff5577",info:"#4ec8ff",accent:"#b85bff",focus:"#ff4fa3",surface:"#ffffff",surfaceHover:"#fff5fa"},backgrounds:{primary:"#fff5fa",secondary:"#ffeaf3",tertiary:"#ffd8e9",hover:"#ffc4dc",elevated:"#ffffff",inset:"#ffeaf3",canvas:"#fff8f5"},text:{primary:"#531645",secondary:"#8b3a70",muted:"#c678a8",inverse:"#ffffff"},borders:{color:"#ffc4dc",radiusSm:"9999px",radiusMd:"9999px",radiusLg:"9999px",radiusXl:"9999px",radiusFull:"9999px",width:"2px",divider:"#ffd8e9"},shadows:{sm:"0 2px 0 0 #ffc4dc",md:"0 4px 0 0 #ffa3c7",lg:"0 6px 16px rgba(255,79,163,0.2), 0 3px 0 0 #ff4fa3",xl:"0 12px 28px rgba(255,79,163,0.25)"},spacing:ee,typography:{fontFamily:"'Quicksand', -apple-system, sans-serif",headingFontFamily:"'Nunito', sans-serif",monoFontFamily:"'JetBrains Mono', monospace",fontSizeXs:"0.8125rem",fontSizeSm:"0.875rem",fontSizeMd:"0.9375rem",fontSizeLg:"1.125rem",fontSizeXl:"1.5rem",fontWeightNormal:500,fontWeightMedium:600,fontWeightSemibold:700,fontWeightBold:800,lineHeight:1.55,letterSpacing:"0",headingLetterSpacing:"-0.01em"},transitions:{fast:"140ms cubic-bezier(0.34,1.56,0.64,1)",normal:"240ms cubic-bezier(0.34,1.56,0.64,1)",slow:"380ms cubic-bezier(0.34,1.56,0.64,1)"}},displayStyle:"pill",variantConfig:{radius:"full",density:"comfortable",animation:"playful"}},Td={meta:{id:"newspaperBroadsheet",name:"Newspaper Broadsheet",tagline:"Ivory paper, hairline rules, serif gravity.",tags:["light","editorial","serif","print"]},theme:{name:"Newspaper Broadsheet",darkMode:"light",colors:{primary:"#1a1a1a",primaryHover:"#000000",success:"#2d5016",warning:"#8b6914",error:"#8b0000",info:"#1d3a5f",accent:"#8b0000",focus:"#1a1a1a",surface:"#fbf7ee",surfaceHover:"#f3ecdd"},backgrounds:{primary:"#fbf7ee",secondary:"#f5eedb",tertiary:"#ede4cc",hover:"#e8ddbe",elevated:"#fbf7ee",inset:"#f0e7d0",canvas:"#fbf7ee"},text:{primary:"#14110c",secondary:"#3d362a",muted:"#7a6f58",inverse:"#fbf7ee"},borders:{color:"#14110c",radiusSm:"0",radiusMd:"0",radiusLg:"0",radiusXl:"0",radiusFull:"9999px",width:"1px",divider:"#14110c"},shadows:{sm:"none",md:"none",lg:"none",xl:"none"},spacing:ee,typography:{fontFamily:"'Fraunces', 'Source Serif Pro', Georgia, serif",headingFontFamily:"'Fraunces', Georgia, serif",monoFontFamily:"'JetBrains Mono', monospace",fontSizeXs:"0.75rem",fontSizeSm:"0.8125rem",fontSizeMd:"0.9375rem",fontSizeLg:"1.0625rem",fontSizeXl:"1.5rem",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeight:1.65,letterSpacing:"0.01em",headingLetterSpacing:"-0.025em"},transitions:{fast:"0ms",normal:"100ms linear",slow:"180ms linear"},backgroundImage:{type:"pattern",pattern:"noise",opacity:.18,blendMode:"multiply"}},displayStyle:"editorial",variantConfig:{radius:"none",shadow:"none",density:"normal"}},Fd={meta:{id:"synthwave84",name:"Synthwave 84",tagline:"Magenta & cyan pulse over deep navy — 1984 forever.",tags:["dark","retro","neon","80s"]},theme:{name:"Synthwave 84",darkMode:"dark",colors:{primary:"#ff3ca8",primaryHover:"#ff6bc1",success:"#72f1b8",warning:"#ffcc33",error:"#fe4450",info:"#36f9f6",accent:"#36f9f6",focus:"#ff3ca8",surface:"#2a1a4f",surfaceHover:"#332260"},backgrounds:{primary:"#1a0933",secondary:"#241443",tertiary:"#2d1a52",hover:"#382266",elevated:"#2a1a4f",inset:"#120626",canvas:"#0e0524"},text:{primary:"#f5e8ff",secondary:"#c9a7ff",muted:"#8063b0",inverse:"#0e0524"},borders:{color:"#553388",radiusSm:"2px",radiusMd:"4px",radiusLg:"6px",radiusXl:"8px",radiusFull:"9999px",width:"1px",divider:"#3d2270",focusColor:"#36f9f6"},shadows:{sm:"0 0 8px rgba(255,60,168,0.4)",md:"0 0 18px rgba(255,60,168,0.45), 0 2px 0 0 #36f9f6",lg:"0 0 36px rgba(255,60,168,0.55), 0 4px 0 0 #36f9f6",xl:"0 0 60px rgba(255,60,168,0.6), 0 6px 0 0 #36f9f6",glow:"0 0 28px #ff3ca8, 0 0 56px rgba(255,60,168,0.5)"},spacing:ee,typography:{fontFamily:"'Rajdhani', -apple-system, sans-serif",headingFontFamily:"'Orbitron', 'Rajdhani', sans-serif",monoFontFamily:"'JetBrains Mono', monospace",fontSizeXs:"0.8125rem",fontSizeSm:"0.875rem",fontSizeMd:"1rem",fontSizeLg:"1.125rem",fontSizeXl:"1.5rem",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:700,fontWeightBold:900,lineHeight:1.5,letterSpacing:"0.02em",headingLetterSpacing:"0.08em"},transitions:{fast:"120ms cubic-bezier(0.23,1,0.32,1)",normal:"200ms cubic-bezier(0.23,1,0.32,1)",slow:"360ms cubic-bezier(0.23,1,0.32,1)"},backgroundImage:{type:"gradient",gradient:"linear-gradient(180deg, #0e0524 0%, #1a0933 55%, #2d1a52 100%), repeating-linear-gradient(0deg, rgba(54,249,246,0.04) 0 1px, transparent 1px 3px)"}},displayStyle:"synthwave",variantConfig:{shadow:"glow",animation:"dramatic",density:"normal"}},Bd={meta:{id:"zenMinimal",name:"Zen Minimal",tagline:"Whisper-light type, hairlines, oceans of whitespace.",tags:["light","minimal","airy"]},theme:{name:"Zen Minimal",darkMode:"light",colors:{primary:"#0a0a0a",primaryHover:"#262626",success:"#16a34a",warning:"#ca8a04",error:"#dc2626",info:"#2563eb",accent:"#737373",focus:"#0a0a0a",surface:"#ffffff",surfaceHover:"#fafafa"},backgrounds:{primary:"#ffffff",secondary:"#fafafa",tertiary:"#f5f5f5",hover:"#f0f0f0",elevated:"#ffffff",inset:"#fafafa",canvas:"#ffffff"},text:{primary:"#171717",secondary:"#525252",muted:"#a3a3a3",inverse:"#ffffff"},borders:{color:"#ededed",radiusSm:"2px",radiusMd:"3px",radiusLg:"4px",radiusXl:"6px",radiusFull:"9999px",width:"1px",divider:"#f0f0f0"},shadows:{sm:"none",md:"0 0 0 1px rgba(0,0,0,0.04)",lg:"0 1px 2px rgba(0,0,0,0.04), 0 0 0 1px rgba(0,0,0,0.05)",xl:"0 4px 8px rgba(0,0,0,0.04), 0 0 0 1px rgba(0,0,0,0.06)"},spacing:zt,typography:{fontFamily:"'Manrope', -apple-system, sans-serif",headingFontFamily:"'Manrope', sans-serif",monoFontFamily:"ui-monospace, monospace",fontSizeXs:"0.75rem",fontSizeSm:"0.8125rem",fontSizeMd:"0.875rem",fontSizeLg:"1rem",fontSizeXl:"1.25rem",fontWeightNormal:300,fontWeightMedium:400,fontWeightSemibold:500,fontWeightBold:600,lineHeight:1.6,letterSpacing:"-0.005em",headingLetterSpacing:"-0.03em"},transitions:{fast:"100ms ease",normal:"180ms ease",slow:"280ms ease"}},displayStyle:"minimal",variantConfig:{density:"spacious",animation:"subtle"}},Nd={meta:{id:"claymorphism",name:"Claymorphism",tagline:"Soft-clay 3D surfaces — pressable, friendly, tactile.",tags:["light","playful","neumorphic","3d"]},theme:{name:"Claymorphism",darkMode:"light",colors:{primary:"#8b7ef5",primaryHover:"#7469ec",success:"#6ed6a5",warning:"#ffc771",error:"#ff8b8b",info:"#7ec4f5",accent:"#ffb3d9",focus:"#8b7ef5",surface:"#f3efff",surfaceHover:"#ebe4ff"},backgrounds:{primary:"#f6f0ff",secondary:"#ede4ff",tertiary:"#dfd3fc",hover:"#d3c5fa",elevated:"#ffffff",inset:"#e5daff",canvas:"#f6f0ff"},text:{primary:"#2a1f5e",secondary:"#584a8e",muted:"#9388bd",inverse:"#ffffff"},borders:{color:"rgba(139,126,245,0.15)",radiusSm:"14px",radiusMd:"22px",radiusLg:"32px",radiusXl:"48px",radiusFull:"9999px",width:"0px",divider:"rgba(139,126,245,0.12)"},shadows:{sm:"-3px -3px 6px rgba(255,255,255,0.8), 3px 3px 8px rgba(139,126,245,0.18), inset 0 0 0 rgba(255,255,255,0)",md:"-5px -5px 12px rgba(255,255,255,0.9), 6px 6px 18px rgba(139,126,245,0.22), inset 1px 1px 1px rgba(255,255,255,0.6)",lg:"-8px -8px 20px rgba(255,255,255,0.95), 10px 10px 32px rgba(139,126,245,0.28), inset 2px 2px 2px rgba(255,255,255,0.7)",xl:"-14px -14px 32px rgba(255,255,255,1), 16px 16px 48px rgba(139,126,245,0.34), inset 3px 3px 4px rgba(255,255,255,0.8)",inner:"inset 4px 4px 10px rgba(139,126,245,0.2), inset -4px -4px 10px rgba(255,255,255,0.9)"},spacing:ee,typography:{fontFamily:"'Nunito', -apple-system, sans-serif",headingFontFamily:"'Nunito', sans-serif",monoFontFamily:"'JetBrains Mono', monospace",fontSizeXs:"0.8125rem",fontSizeSm:"0.875rem",fontSizeMd:"0.9375rem",fontSizeLg:"1.0625rem",fontSizeXl:"1.375rem",fontWeightNormal:500,fontWeightMedium:600,fontWeightSemibold:700,fontWeightBold:800,lineHeight:1.55,letterSpacing:"0",headingLetterSpacing:"-0.015em"},transitions:{fast:"160ms cubic-bezier(0.4,0,0.2,1.4)",normal:"260ms cubic-bezier(0.4,0,0.2,1.4)",slow:"400ms cubic-bezier(0.4,0,0.2,1.4)"}},displayStyle:"neumorphic",variantConfig:{radius:"2xl",density:"comfortable",animation:"normal"}},Rd={meta:{id:"bauhaus",name:"Bauhaus",tagline:"Primary palette, geometric rigour, grid as foundation.",tags:["light","geometric","primary","design"]},theme:{name:"Bauhaus",darkMode:"light",colors:{primary:"#d62828",primaryHover:"#a81e1e",success:"#2a9d8f",warning:"#fcbf49",error:"#d62828",info:"#1d4e89",accent:"#fcbf49",focus:"#1d4e89",surface:"#faf5e8",surfaceHover:"#f2ead3"},backgrounds:{primary:"#faf5e8",secondary:"#f5ecd3",tertiary:"#ede0be",hover:"#e5d5a8",elevated:"#ffffff",inset:"#f0e3c0",canvas:"#faf5e8"},text:{primary:"#1a1a1a",secondary:"#3d3d3d",muted:"#7a7a7a",inverse:"#faf5e8"},borders:{color:"#1a1a1a",radiusSm:"0",radiusMd:"0",radiusLg:"0",radiusXl:"0",radiusFull:"9999px",width:"3px",divider:"#1a1a1a"},shadows:{sm:"0 2px 0 0 #1a1a1a",md:"4px 4px 0 0 #1a1a1a",lg:"6px 6px 0 0 #1d4e89",xl:"8px 8px 0 0 #d62828"},spacing:ee,typography:{fontFamily:"'Archivo', -apple-system, sans-serif",headingFontFamily:"'Archivo Black', 'Archivo', sans-serif",monoFontFamily:"'JetBrains Mono', monospace",fontSizeXs:"0.75rem",fontSizeSm:"0.875rem",fontSizeMd:"1rem",fontSizeLg:"1.125rem",fontSizeXl:"1.75rem",fontWeightNormal:500,fontWeightMedium:700,fontWeightSemibold:800,fontWeightBold:900,lineHeight:1.4,letterSpacing:"0",headingLetterSpacing:"-0.02em"},transitions:{fast:"60ms linear",normal:"120ms linear",slow:"200ms linear"},backgroundImage:{type:"pattern",pattern:"grid",opacity:.35}},displayStyle:"bauhaus",variantConfig:{radius:"none",shadow:"md",density:"normal",animation:"subtle"}},Ld={meta:{id:"bankVault",name:"Bank Vault",tagline:"Navy, gilt accents, serif gravitas — trusted by institutions.",tags:["light","corporate","serif","conservative"]},theme:{name:"Bank Vault",darkMode:"light",colors:{primary:"#0b2545",primaryHover:"#163969",success:"#2d6a4f",warning:"#b08d2e",error:"#8b1a1a",info:"#1d4e89",accent:"#b08d2e",focus:"#0b2545",surface:"#ffffff",surfaceHover:"#f7f4ec"},backgrounds:{primary:"#fbfaf6",secondary:"#f4f0e4",tertiary:"#ebe5d2",hover:"#e3dcc4",elevated:"#ffffff",inset:"#efeadb",canvas:"#fbfaf6"},text:{primary:"#0b2545",secondary:"#3a4b65",muted:"#7a8399",inverse:"#fbfaf6"},borders:{color:"#c9bfa3",radiusSm:"1px",radiusMd:"2px",radiusLg:"3px",radiusXl:"4px",radiusFull:"9999px",width:"1px",divider:"#d4c9a8"},shadows:{sm:"0 1px 0 0 rgba(11,37,69,0.08)",md:"0 1px 3px rgba(11,37,69,0.08), 0 0 0 1px rgba(176,141,46,0.12)",lg:"0 4px 10px rgba(11,37,69,0.1)",xl:"0 12px 24px rgba(11,37,69,0.12)"},spacing:Cd,typography:{fontFamily:"'DM Sans', -apple-system, sans-serif",headingFontFamily:"'Libre Caslon Text', 'DM Serif Display', Georgia, serif",monoFontFamily:"'JetBrains Mono', monospace",fontSizeXs:"0.6875rem",fontSizeSm:"0.8125rem",fontSizeMd:"0.875rem",fontSizeLg:"1rem",fontSizeXl:"1.25rem",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeight:1.55,letterSpacing:"0.005em",headingLetterSpacing:"-0.01em"},transitions:{fast:"90ms cubic-bezier(0.4,0,0.2,1)",normal:"160ms cubic-bezier(0.4,0,0.2,1)",slow:"260ms cubic-bezier(0.4,0,0.2,1)"}},displayStyle:"bank",variantConfig:{radius:"sm",shadow:"subtle",density:"compact",animation:"none"}},jt={obsidianEditorial:zd,neonArcade:jd,hyggeScandinavian:Dd,brutalistRaw:Md,glassAurora:Ad,candyPop:Pd,newspaperBroadsheet:Td,synthwave84:Fd,zenMinimal:Bd,claymorphism:Nd,bauhaus:Rd,bankVault:Ld},pi=Object.values(jt);function Od(e){return jt[e]}function Hd(e){return pi.filter(t=>t.meta.tags.includes(e))}const Id=["https://fonts.googleapis.com/css2?family=Spectral:wght@300;400;500;600;700&family=Lora:wght@400;500;600;700&display=swap","https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=DM+Sans:wght@400;500;700&display=swap","https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;500;700&family=Noto+Sans+JP:wght@300;400;500;700&display=swap","https://fonts.googleapis.com/css2?family=Amiri:wght@400;700&family=Cairo:wght@400;500;600;700&display=swap","https://fonts.googleapis.com/css2?family=Poiret+One&family=Cormorant+Garamond:wght@300;400;500;600&display=swap","https://fonts.googleapis.com/css2?family=Alfa+Slab+One&family=Roboto+Condensed:wght@400;500;700&display=swap","https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&family=Space+Grotesk:wght@400;500;600;700&display=swap","https://fonts.googleapis.com/css2?family=Abril+Fatface&family=Space+Mono:wght@400;700&display=swap","https://fonts.googleapis.com/css2?family=VT323&display=swap","https://fonts.googleapis.com/css2?family=Courier+Prime:wght@400;700&family=Special+Elite&display=swap","https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@400;500;600;700&display=swap","https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700;800;900&display=swap","https://fonts.googleapis.com/css2?family=Bangers&display=swap","https://fonts.googleapis.com/css2?family=Permanent+Marker&display=swap","https://fonts.googleapis.com/css2?family=Caveat:wght@400;500;700&display=swap","https://fonts.googleapis.com/css2?family=Rubik+Mono+One&family=Rubik:wght@400;500;700;800&display=swap"],mi={space1:"2px",space2:"4px",space3:"8px",space4:"12px",space5:"16px",space6:"20px",space8:"28px"},I={space1:"4px",space2:"8px",space3:"12px",space4:"16px",space5:"20px",space6:"24px",space8:"32px"},ye={space1:"6px",space2:"12px",space3:"16px",space4:"24px",space5:"32px",space6:"40px",space8:"56px"},Re={space1:"8px",space2:"16px",space3:"24px",space4:"32px",space5:"44px",space6:"56px",space8:"80px"},Wd={meta:{id:"forestCanopy",name:"Forest Canopy",tagline:"Moss on bark, dappled light — organic radii, earth serif.",tags:["light","nature","serif","organic"]},theme:{name:"Forest Canopy",darkMode:"light",recommendedDisplayStyle:"scandinavian",colors:{primary:"#3d5a40",primaryHover:"#2d4430",success:"#4a7c3a",warning:"#c88d3e",error:"#a63c3c",info:"#5a7c8a",accent:"#8ba878",focus:"#3d5a40",surface:"#f4f1e8",surfaceHover:"#ebe7d5"},backgrounds:{primary:"#f7f4e9",secondary:"#ede8d4",tertiary:"#dfd8be",hover:"#d5cdae",elevated:"#fcfaf1",inset:"#e5ddc5",canvas:"#f0ece0"},text:{primary:"#1e2a1c",secondary:"#3d4a36",muted:"#7a8570",inverse:"#f7f4e9"},borders:{color:"#c4bda0",width:"1px",divider:"#d8d0b5",radiusSm:"3px",radiusMd:"7px",radiusLg:"14px",radiusXl:"22px",radiusFull:"9999px"},shadows:{sm:"0 1px 2px rgba(61,90,64,0.06)",md:"0 4px 12px -2px rgba(61,90,64,0.12), 0 2px 4px rgba(61,90,64,0.05)",lg:"0 10px 24px -6px rgba(61,90,64,0.16)",xl:"0 20px 40px -12px rgba(61,90,64,0.22)"},spacing:ye,typography:{fontFamily:"'Lora', Georgia, serif",headingFontFamily:"'Spectral', 'Lora', Georgia, serif",monoFontFamily:"'JetBrains Mono', monospace",fontSizeXs:"0.8125rem",fontSizeSm:"0.875rem",fontSizeMd:"1rem",fontSizeLg:"1.125rem",fontSizeXl:"1.625rem",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeight:1.7,letterSpacing:"0",headingLetterSpacing:"-0.01em"},transitions:{fast:"180ms cubic-bezier(0.16,1,0.3,1)",normal:"280ms cubic-bezier(0.16,1,0.3,1)",slow:"420ms cubic-bezier(0.16,1,0.3,1)"},backgroundImage:{type:"pattern",pattern:"dots",opacity:.25}},displayStyle:"scandinavian",variantConfig:{density:"spacious",animation:"normal"}},Vd={meta:{id:"desertDune",name:"Desert Dune",tagline:"Ochre horizons, warm grain, serif that suns itself.",tags:["light","nature","serif","warm"]},theme:{name:"Desert Dune",darkMode:"light",recommendedDisplayStyle:"softCloud",colors:{primary:"#c8732f",primaryHover:"#a65a1c",success:"#7a8c3a",warning:"#e0a83a",error:"#b34747",info:"#7a8fa6",accent:"#e8a863",focus:"#c8732f",surface:"#fbf3e5",surfaceHover:"#f4e8d0"},backgrounds:{primary:"#fdf7ea",secondary:"#f6ebd3",tertiary:"#eeddb6",hover:"#e5cfa0",elevated:"#ffffff",inset:"#f0dfb8",canvas:"#fdf5e6"},text:{primary:"#3a2413",secondary:"#6b4823",muted:"#a88860",inverse:"#fdf7ea"},borders:{color:"#dcc08c",width:"1px",divider:"#e8d0a5",radiusSm:"12px",radiusMd:"18px",radiusLg:"28px",radiusXl:"40px",radiusFull:"9999px"},shadows:{sm:"0 2px 6px -2px rgba(200,115,47,0.1)",md:"0 8px 20px -6px rgba(200,115,47,0.15)",lg:"0 18px 36px -10px rgba(200,115,47,0.2)",xl:"0 32px 56px -18px rgba(200,115,47,0.28)"},spacing:ye,typography:{fontFamily:"'DM Sans', -apple-system, sans-serif",headingFontFamily:"'DM Serif Display', Georgia, serif",monoFontFamily:"'Space Mono', ui-monospace, monospace",fontSizeXs:"0.8125rem",fontSizeSm:"0.875rem",fontSizeMd:"1rem",fontSizeLg:"1.125rem",fontSizeXl:"1.75rem",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeight:1.65,letterSpacing:"0",headingLetterSpacing:"-0.025em"},transitions:{fast:"160ms ease-out",normal:"280ms cubic-bezier(0.22,1,0.36,1)",slow:"460ms cubic-bezier(0.22,1,0.36,1)"},backgroundImage:{type:"gradient",gradient:"linear-gradient(175deg, #fbecc5 0%, #f6ddaf 40%, #eec28a 100%), radial-gradient(ellipse at 80% 10%, #fff4d9 0%, transparent 60%)"}},displayStyle:"softCloud",variantConfig:{radius:"xl",density:"comfortable",animation:"normal"}},$d={meta:{id:"arcticCrystal",name:"Arctic Crystal",tagline:"Facets of ice, lean typography, surgical whitespace.",tags:["light","nature","minimal","cold"]},theme:{name:"Arctic Crystal",darkMode:"light",recommendedDisplayStyle:"minimal",colors:{primary:"#2a6a8c",primaryHover:"#1e5374",success:"#4a8a6a",warning:"#d0a040",error:"#c24848",info:"#5a9fc0",accent:"#a8d4e8",focus:"#2a6a8c",surface:"#ffffff",surfaceHover:"#f0f6fa"},backgrounds:{primary:"#f5fafd",secondary:"#eaf2f7",tertiary:"#d8e5ed",hover:"#cfdce6",elevated:"#ffffff",inset:"#e3eef5",canvas:"#f0f7fb"},text:{primary:"#0a2030",secondary:"#3a5468",muted:"#7a95a8",inverse:"#ffffff"},borders:{color:"#cfdde8",width:"1px",divider:"#e0ebf3",radiusSm:"2px",radiusMd:"3px",radiusLg:"4px",radiusXl:"6px",radiusFull:"9999px"},shadows:{sm:"1px 1px 0 rgba(42,106,140,0.06), -1px 0 0 rgba(42,106,140,0.04)",md:"2px 2px 0 rgba(42,106,140,0.08), -2px 0 0 rgba(42,106,140,0.04), 0 4px 8px -2px rgba(42,106,140,0.1)",lg:"4px 4px 0 rgba(42,106,140,0.1), 0 10px 16px -4px rgba(42,106,140,0.14)",xl:"0 24px 40px -12px rgba(42,106,140,0.2)"},spacing:Re,typography:{fontFamily:"'Inter', -apple-system, sans-serif",headingFontFamily:"'Inter', sans-serif",monoFontFamily:"'IBM Plex Mono', monospace",fontSizeXs:"0.75rem",fontSizeSm:"0.8125rem",fontSizeMd:"0.875rem",fontSizeLg:"1rem",fontSizeXl:"1.375rem",fontWeightNormal:200,fontWeightMedium:300,fontWeightSemibold:500,fontWeightBold:600,lineHeight:1.6,letterSpacing:"0.01em",headingLetterSpacing:"-0.02em"},transitions:{fast:"90ms ease",normal:"160ms ease",slow:"260ms ease"}},displayStyle:"minimal",variantConfig:{radius:"sm",shadow:"subtle",density:"spacious",animation:"subtle"}},qd={meta:{id:"autumnFoliage",name:"Autumn Foliage",tagline:"Ember glow, Fraunces serif, woodsmoke warmth.",tags:["light","nature","serif","warm"]},theme:{name:"Autumn Foliage",darkMode:"light",recommendedDisplayStyle:"editorial",colors:{primary:"#a83828",primaryHover:"#842818",success:"#6b7c2c",warning:"#c48020",error:"#8a2020",info:"#7a5a3a",accent:"#d89040",focus:"#a83828",surface:"#fbf1e3",surfaceHover:"#f2e4ce"},backgrounds:{primary:"#fdf5e8",secondary:"#f4e5cc",tertiary:"#e8d2aa",hover:"#dec295",elevated:"#fff9ee",inset:"#eedab5",canvas:"#faeed6"},text:{primary:"#2a140a",secondary:"#5a3020",muted:"#997860",inverse:"#fdf5e8"},borders:{color:"#d4b890",width:"1px",divider:"#e0c8a0",radiusSm:"4px",radiusMd:"8px",radiusLg:"14px",radiusXl:"22px",radiusFull:"9999px"},shadows:{sm:"0 1px 2px rgba(168,56,40,0.08)",md:"0 4px 10px -2px rgba(168,56,40,0.12), 0 2px 4px rgba(168,56,40,0.08)",lg:"0 12px 24px -6px rgba(168,56,40,0.18)",xl:"0 24px 48px -16px rgba(168,56,40,0.24)"},spacing:I,typography:{fontFamily:"'Work Sans', sans-serif",headingFontFamily:"'Fraunces', Georgia, serif",monoFontFamily:"'JetBrains Mono', monospace",fontSizeXs:"0.75rem",fontSizeSm:"0.875rem",fontSizeMd:"0.9375rem",fontSizeLg:"1.0625rem",fontSizeXl:"1.625rem",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeight:1.65,letterSpacing:"0.005em",headingLetterSpacing:"-0.02em"},transitions:{fast:"140ms ease",normal:"220ms ease",slow:"360ms ease"}},displayStyle:"editorial",variantConfig:{density:"comfortable",animation:"normal"}},Kd={meta:{id:"japaneseWashi",name:"Japanese Washi",tagline:"Sumi ink on cream — quiet serif, paper grain, zero excess.",tags:["light","cultural","serif","minimal"]},theme:{name:"Japanese Washi",darkMode:"light",recommendedDisplayStyle:"zen",colors:{primary:"#1d3557",primaryHover:"#0d2545",success:"#4a7042",warning:"#a8803e",error:"#8b2a2a",info:"#3a5a78",accent:"#c83a3a",focus:"#1d3557",surface:"#faf6ea",surfaceHover:"#f2ebd7"},backgrounds:{primary:"#fdf9ee",secondary:"#f5ecd5",tertiary:"#ecdfbd",hover:"#e4d5aa",elevated:"#ffffff",inset:"#f0e5c8",canvas:"#fbf6e7"},text:{primary:"#1a1610",secondary:"#3d352a",muted:"#8a7f64",inverse:"#fdf9ee"},borders:{color:"#1a1610",width:"1px",divider:"#d4c89e",radiusSm:"0",radiusMd:"1px",radiusLg:"2px",radiusXl:"3px",radiusFull:"9999px"},shadows:{sm:"none",md:"0 1px 0 0 rgba(26,22,16,0.08)",lg:"0 2px 0 0 rgba(26,22,16,0.1)",xl:"0 4px 12px rgba(26,22,16,0.08)"},spacing:Re,typography:{fontFamily:"'Noto Sans JP', 'Inter', sans-serif",headingFontFamily:"'Noto Serif JP', Georgia, serif",monoFontFamily:"'JetBrains Mono', monospace",fontSizeXs:"0.75rem",fontSizeSm:"0.8125rem",fontSizeMd:"0.9375rem",fontSizeLg:"1.0625rem",fontSizeXl:"1.375rem",fontWeightNormal:300,fontWeightMedium:400,fontWeightSemibold:500,fontWeightBold:700,lineHeight:1.75,letterSpacing:"0.02em",headingLetterSpacing:"0.01em"},transitions:{fast:"120ms ease",normal:"220ms ease",slow:"340ms ease"},backgroundImage:{type:"pattern",pattern:"noise",opacity:.22,blendMode:"multiply"}},displayStyle:"zen",variantConfig:{radius:"none",shadow:"none",density:"spacious",animation:"subtle"}},Gd={meta:{id:"moroccanMosaic",name:"Moroccan Mosaic",tagline:"Zellige geometry — terracotta, teal, saffron in tiled rhythm.",tags:["light","cultural","geometric","warm"]},theme:{name:"Moroccan Mosaic",darkMode:"light",recommendedDisplayStyle:"bauhaus",colors:{primary:"#0f6b5c",primaryHover:"#0a5246",success:"#5a8a3a",warning:"#e0a03a",error:"#c2522a",info:"#3a7090",accent:"#e8a840",focus:"#0f6b5c",surface:"#f9f1dc",surfaceHover:"#f0e5c2"},backgrounds:{primary:"#fbf3e0",secondary:"#f2e4c2",tertiary:"#e6d2a0",hover:"#dac38a",elevated:"#fdf7e8",inset:"#ecd8b2",canvas:"#f8edd3"},text:{primary:"#2a1608",secondary:"#5a3a20",muted:"#a08860",inverse:"#fbf3e0"},borders:{color:"#2a1608",width:"2px",divider:"#b89868",radiusSm:"3px",radiusMd:"6px",radiusLg:"10px",radiusXl:"14px",radiusFull:"9999px"},shadows:{sm:"2px 2px 0 rgba(42,22,8,0.12)",md:"3px 3px 0 #0f6b5c, 6px 6px 0 rgba(42,22,8,0.08)",lg:"4px 4px 0 #0f6b5c, 8px 8px 0 #e8a840",xl:"6px 6px 0 #c2522a, 12px 12px 0 rgba(42,22,8,0.1)"},spacing:I,typography:{fontFamily:"'Cairo', 'Inter', sans-serif",headingFontFamily:"'Amiri', Georgia, serif",monoFontFamily:"'JetBrains Mono', monospace",fontSizeXs:"0.75rem",fontSizeSm:"0.875rem",fontSizeMd:"1rem",fontSizeLg:"1.125rem",fontSizeXl:"1.625rem",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeight:1.55,letterSpacing:"0",headingLetterSpacing:"-0.01em"},transitions:{fast:"120ms linear",normal:"200ms linear",slow:"320ms linear"},backgroundImage:{type:"pattern",pattern:"hexagons",opacity:.2}},displayStyle:"bauhaus",variantConfig:{radius:"sm",shadow:"md",density:"normal",animation:"subtle"}},Ud={meta:{id:"artDecoGatsby",name:"Art Deco Gatsby",tagline:"Gold, emerald, onyx — geometric glamour, thin gilt lines.",tags:["dark","cultural","luxury","geometric"]},theme:{name:"Art Deco Gatsby",darkMode:"dark",recommendedDisplayStyle:"luxe",colors:{primary:"#d4af37",primaryHover:"#e8c850",success:"#4a9c7a",warning:"#e8c850",error:"#c24040",info:"#70a8c0",accent:"#1e5c4a",focus:"#d4af37",surface:"#0f1a16",surfaceHover:"#16251e"},backgrounds:{primary:"#0a0f0c",secondary:"#0f1a16",tertiary:"#16251e",hover:"#1c3028",elevated:"#0f1a16",inset:"#050908",canvas:"#080c0a"},text:{primary:"#f0e4c2",secondary:"#c0b080",muted:"#706448",inverse:"#0a0f0c"},borders:{color:"#6b5828",width:"1px",divider:"#4a3c18",focusColor:"#d4af37",radiusSm:"0",radiusMd:"1px",radiusLg:"2px",radiusXl:"3px",radiusFull:"9999px"},shadows:{sm:"0 0 0 1px rgba(212,175,55,0.15)",md:"0 2px 8px rgba(0,0,0,0.5), 0 0 0 1px rgba(212,175,55,0.2)",lg:"0 8px 24px rgba(0,0,0,0.6), 0 0 0 1px rgba(212,175,55,0.3), inset 0 1px 0 rgba(212,175,55,0.1)",xl:"0 20px 48px rgba(0,0,0,0.7), 0 0 0 1px rgba(212,175,55,0.4)",glow:"0 0 16px rgba(212,175,55,0.3)"},spacing:ye,typography:{fontFamily:"'Cormorant Garamond', Georgia, serif",headingFontFamily:"'Poiret One', 'Cormorant Garamond', serif",monoFontFamily:"'JetBrains Mono', monospace",fontSizeXs:"0.75rem",fontSizeSm:"0.875rem",fontSizeMd:"1rem",fontSizeLg:"1.125rem",fontSizeXl:"1.75rem",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeight:1.6,letterSpacing:"0.04em",headingLetterSpacing:"0.12em"},transitions:{fast:"140ms cubic-bezier(0.4,0,0.2,1)",normal:"240ms cubic-bezier(0.4,0,0.2,1)",slow:"380ms cubic-bezier(0.4,0,0.2,1)"}},displayStyle:"luxe",variantConfig:{radius:"none",shadow:"lg",density:"comfortable",animation:"subtle"}},Xd={meta:{id:"sovietConstructivist",name:"Soviet Constructivist",tagline:"Rodchenko red — slab type, hard angles, propaganda poise.",tags:["light","cultural","brutalist","geometric"]},theme:{name:"Soviet Constructivist",darkMode:"light",recommendedDisplayStyle:"brutalist",colors:{primary:"#c41e1e",primaryHover:"#8a1414",success:"#3a6a3a",warning:"#d08028",error:"#8a1414",info:"#2a4060",accent:"#1a1a1a",focus:"#c41e1e",surface:"#f0ead8",surfaceHover:"#e5dcc0"},backgrounds:{primary:"#f4efde",secondary:"#e8dec4",tertiary:"#d8c9a4",hover:"#ccbb90",elevated:"#faf5e5",inset:"#dccda8",canvas:"#f0ead5"},text:{primary:"#1a1a1a",secondary:"#3d3d3d",muted:"#706d5a",inverse:"#f4efde"},borders:{color:"#1a1a1a",width:"3px",divider:"#1a1a1a",radiusSm:"0",radiusMd:"0",radiusLg:"0",radiusXl:"0",radiusFull:"9999px"},shadows:{sm:"4px 0 0 0 #c41e1e",md:"6px 6px 0 0 #1a1a1a, 8px 8px 0 0 #c41e1e",lg:"10px 10px 0 0 #c41e1e",xl:"12px -4px 0 0 #1a1a1a, 16px 0 0 0 #c41e1e"},spacing:I,typography:{fontFamily:"'Roboto Condensed', 'Archivo', sans-serif",headingFontFamily:"'Alfa Slab One', 'Archivo Black', sans-serif",monoFontFamily:"'JetBrains Mono', monospace",fontSizeXs:"0.75rem",fontSizeSm:"0.875rem",fontSizeMd:"1rem",fontSizeLg:"1.125rem",fontSizeXl:"1.875rem",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:700,fontWeightBold:700,lineHeight:1.35,letterSpacing:"0.02em",headingLetterSpacing:"-0.005em"},transitions:{fast:"0ms linear",normal:"80ms linear",slow:"160ms linear"}},displayStyle:"brutalist",variantConfig:{radius:"none",shadow:"lg",density:"normal",animation:"subtle"}},Zd={meta:{id:"blueprint",name:"Blueprint",tagline:"Cyanotype drafting — white lines, grid paper, technical mono.",tags:["dark","tech","technical","mono"]},theme:{name:"Blueprint",darkMode:"dark",recommendedDisplayStyle:"dashboard",colors:{primary:"#f0f4f8",primaryHover:"#ffffff",success:"#88e0b8",warning:"#ffcc66",error:"#ff8888",info:"#88c8ff",accent:"#6eb0e0",focus:"#ffffff",surface:"#18456a",surfaceHover:"#1f527e"},backgrounds:{primary:"#0e3356",secondary:"#124066",tertiary:"#184d79",hover:"#1e5a8c",elevated:"#18456a",inset:"#082540",canvas:"#0a2d4a"},text:{primary:"#f0f4f8",secondary:"#b5c8da",muted:"#6e8aa4",inverse:"#0e3356"},borders:{color:"#3870a0",width:"1px",divider:"#2a5680",focusColor:"#ffffff",radiusSm:"1px",radiusMd:"2px",radiusLg:"3px",radiusXl:"4px",radiusFull:"9999px"},shadows:{sm:"0 0 0 1px rgba(240,244,248,0.05)",md:"0 1px 0 0 rgba(240,244,248,0.1), 0 4px 8px rgba(0,0,0,0.3)",lg:"0 1px 0 0 rgba(240,244,248,0.14), 0 10px 20px rgba(0,0,0,0.4)",xl:"0 20px 40px rgba(0,0,0,0.5)"},spacing:I,typography:{fontFamily:"'IBM Plex Mono', ui-monospace, monospace",headingFontFamily:"'Space Grotesk', 'IBM Plex Sans', sans-serif",monoFontFamily:"'IBM Plex Mono', monospace",fontSizeXs:"0.6875rem",fontSizeSm:"0.8125rem",fontSizeMd:"0.875rem",fontSizeLg:"1rem",fontSizeXl:"1.25rem",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeight:1.5,letterSpacing:"0.02em",headingLetterSpacing:"-0.01em"},transitions:{fast:"80ms linear",normal:"140ms linear",slow:"220ms linear"},backgroundImage:{type:"pattern",pattern:"grid",opacity:.4}},displayStyle:"dashboard",variantConfig:{radius:"sm",shadow:"subtle",density:"compact",animation:"subtle"}},_d={meta:{id:"hologramUI",name:"Hologram UI",tagline:"Iridescent light-leaks, translucent layers, futurist geometry.",tags:["dark","tech","glass","neon"]},theme:{name:"Hologram UI",darkMode:"dark",recommendedDisplayStyle:"cosmic",colors:{primary:"#8be9fd",primaryHover:"#a8f0ff",success:"#50fa7b",warning:"#f1fa8c",error:"#ff5555",info:"#bd93f9",accent:"#ff79c6",focus:"#8be9fd",surface:"rgba(40,30,70,0.5)",surfaceHover:"rgba(50,40,85,0.6)"},backgrounds:{primary:"rgba(30,20,55,0.6)",secondary:"rgba(40,30,70,0.5)",tertiary:"rgba(55,40,90,0.4)",hover:"rgba(65,50,105,0.55)",elevated:"rgba(50,38,82,0.7)",inset:"rgba(25,18,45,0.6)",canvas:"#0a0618"},text:{primary:"#f0e8ff",secondary:"#b0a0e0",muted:"#6a5a94",inverse:"#0a0618"},borders:{color:"rgba(139,233,253,0.25)",width:"1px",divider:"rgba(139,233,253,0.15)",focusColor:"#8be9fd",radiusSm:"4px",radiusMd:"8px",radiusLg:"14px",radiusXl:"20px",radiusFull:"9999px"},shadows:{sm:"0 0 12px rgba(139,233,253,0.2)",md:"0 4px 20px rgba(189,147,249,0.3), 0 0 1px rgba(139,233,253,0.4)",lg:"0 8px 40px rgba(255,121,198,0.35), 0 0 2px rgba(139,233,253,0.5), inset 0 1px 0 rgba(255,255,255,0.08)",xl:"0 20px 60px rgba(139,233,253,0.4), inset 0 1px 0 rgba(255,255,255,0.1)",glow:"0 0 32px rgba(139,233,253,0.6), 0 0 64px rgba(255,121,198,0.3)"},spacing:I,typography:{fontFamily:"'Rajdhani', -apple-system, sans-serif",headingFontFamily:"'Orbitron', 'Rajdhani', sans-serif",monoFontFamily:"'IBM Plex Mono', monospace",fontSizeXs:"0.8125rem",fontSizeSm:"0.875rem",fontSizeMd:"0.9375rem",fontSizeLg:"1.0625rem",fontSizeXl:"1.5rem",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeight:1.5,letterSpacing:"0.02em",headingLetterSpacing:"0.06em"},transitions:{fast:"160ms cubic-bezier(0.4,0,0.2,1)",normal:"280ms cubic-bezier(0.4,0,0.2,1)",slow:"440ms cubic-bezier(0.4,0,0.2,1)"},backgroundImage:{type:"gradient",gradient:"radial-gradient(at 15% 20%, rgba(139,233,253,0.25) 0%, transparent 50%), radial-gradient(at 85% 25%, rgba(255,121,198,0.25) 0%, transparent 50%), radial-gradient(at 50% 90%, rgba(189,147,249,0.3) 0%, transparent 55%), linear-gradient(135deg, #0a0618 0%, #1a0e38 100%)"}},displayStyle:"cosmic",variantConfig:{shadow:"glow",density:"normal",animation:"normal"}},Jd={meta:{id:"deepSea",name:"Deep Sea",tagline:"Midnight blue abyss, bioluminescent accents in the dark.",tags:["dark","tech","organic"]},theme:{name:"Deep Sea",darkMode:"dark",recommendedDisplayStyle:"modern3d",colors:{primary:"#00d9c4",primaryHover:"#2feedc",success:"#5af0b0",warning:"#f0c858",error:"#ff6a82",info:"#60c0ff",accent:"#a878f0",focus:"#00d9c4",surface:"#0a1524",surfaceHover:"#0e1c30"},backgrounds:{primary:"#05101c",secondary:"#0a1524",tertiary:"#0f1f34",hover:"#163044",elevated:"#0e1c30",inset:"#030810",canvas:"#030810"},text:{primary:"#d8f0f5",secondary:"#88b8c8",muted:"#4a7080",inverse:"#030810"},borders:{color:"#183548",width:"1px",divider:"#0f2638",focusColor:"#00d9c4",radiusSm:"8px",radiusMd:"14px",radiusLg:"22px",radiusXl:"32px",radiusFull:"9999px"},shadows:{sm:"0 2px 8px rgba(0,217,196,0.08)",md:"0 6px 20px rgba(0,217,196,0.12), 0 2px 4px rgba(0,0,0,0.5)",lg:"0 14px 40px rgba(0,217,196,0.18), 0 4px 8px rgba(0,0,0,0.6)",xl:"0 28px 64px rgba(0,217,196,0.22), 0 8px 16px rgba(0,0,0,0.7)",glow:"0 0 24px rgba(0,217,196,0.5)"},spacing:I,typography:{fontFamily:"'IBM Plex Sans', -apple-system, sans-serif",headingFontFamily:"'IBM Plex Sans', sans-serif",monoFontFamily:"'IBM Plex Mono', monospace",fontSizeXs:"0.75rem",fontSizeSm:"0.8125rem",fontSizeMd:"0.9375rem",fontSizeLg:"1.0625rem",fontSizeXl:"1.375rem",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeight:1.6,letterSpacing:"0",headingLetterSpacing:"-0.02em"},transitions:{fast:"160ms cubic-bezier(0.22,1,0.36,1)",normal:"280ms cubic-bezier(0.22,1,0.36,1)",slow:"440ms cubic-bezier(0.22,1,0.36,1)"},backgroundImage:{type:"gradient",gradient:"radial-gradient(at 20% 30%, rgba(0,217,196,0.08) 0%, transparent 60%), radial-gradient(at 80% 80%, rgba(168,120,240,0.06) 0%, transparent 55%), linear-gradient(180deg, #030810 0%, #05101c 100%)"}},displayStyle:"modern3d",variantConfig:{radius:"xl",density:"comfortable",animation:"normal"}},Yd={meta:{id:"analog70s",name:"Analog 70s",tagline:"Mustard, rust, walnut — chunky, warm, turntable energy.",tags:["light","retro","warm","serif"]},theme:{name:"Analog 70s",darkMode:"light",recommendedDisplayStyle:"rounded",colors:{primary:"#c8621e",primaryHover:"#a04d14",success:"#7a8a2a",warning:"#d8a030",error:"#a03030",info:"#6a7a8a",accent:"#d8a830",focus:"#c8621e",surface:"#f5ead2",surfaceHover:"#ecdfc0"},backgrounds:{primary:"#f7ecd6",secondary:"#eeddb8",tertiary:"#e2c998",hover:"#d8bc80",elevated:"#fbf2de",inset:"#e8cfa5",canvas:"#f2e4c8"},text:{primary:"#2a1608",secondary:"#5a2e14",muted:"#a07852",inverse:"#f7ecd6"},borders:{color:"#b89868",width:"2px",divider:"#ccb285",radiusSm:"10px",radiusMd:"16px",radiusLg:"24px",radiusXl:"34px",radiusFull:"9999px"},shadows:{sm:"0 2px 0 0 rgba(42,22,8,0.12)",md:"0 4px 0 0 rgba(42,22,8,0.15), 0 6px 10px rgba(200,98,30,0.12)",lg:"0 6px 0 0 rgba(42,22,8,0.18), 0 10px 20px rgba(200,98,30,0.2)",xl:"0 8px 0 0 rgba(42,22,8,0.22), 0 20px 40px rgba(200,98,30,0.28)"},spacing:I,typography:{fontFamily:"'Work Sans', sans-serif",headingFontFamily:"'Abril Fatface', Georgia, serif",monoFontFamily:"'Space Mono', ui-monospace, monospace",fontSizeXs:"0.8125rem",fontSizeSm:"0.9375rem",fontSizeMd:"1rem",fontSizeLg:"1.125rem",fontSizeXl:"2rem",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeight:1.55,letterSpacing:"0",headingLetterSpacing:"-0.02em"},transitions:{fast:"180ms cubic-bezier(0.34,1.56,0.64,1)",normal:"280ms cubic-bezier(0.34,1.56,0.64,1)",slow:"440ms cubic-bezier(0.34,1.56,0.64,1)"}},displayStyle:"rounded",variantConfig:{radius:"xl",shadow:"md",density:"comfortable",animation:"playful"}},Qd={meta:{id:"vhsTracking",name:"VHS Tracking",tagline:"Chromatic smear, scan-line haze, pixel type from another decade.",tags:["dark","retro","pixel","experimental"]},theme:{name:"VHS Tracking",darkMode:"dark",recommendedDisplayStyle:"retro8bit",colors:{primary:"#ff3eb5",primaryHover:"#ff5fc5",success:"#3eff90",warning:"#ffe83e",error:"#ff3e3e",info:"#3ee0ff",accent:"#3eff90",focus:"#ff3eb5",surface:"#120818",surfaceHover:"#1a0c24"},backgrounds:{primary:"#0a0412",secondary:"#120818",tertiary:"#1a0c24",hover:"#241230",elevated:"#120818",inset:"#050208",canvas:"#0a0412"},text:{primary:"#f8e8ff",secondary:"#c888d8",muted:"#605070",inverse:"#0a0412"},borders:{color:"#4a2864",width:"1px",divider:"#2a1840",focusColor:"#ff3eb5",radiusSm:"0",radiusMd:"0",radiusLg:"0",radiusXl:"0",radiusFull:"0"},shadows:{sm:"-2px 0 0 rgba(255,62,181,0.5), 2px 0 0 rgba(62,224,255,0.5)",md:"-3px 0 0 rgba(255,62,181,0.6), 3px 0 0 rgba(62,224,255,0.6), 0 4px 12px rgba(0,0,0,0.6)",lg:"-4px 0 0 rgba(255,62,181,0.7), 4px 0 0 rgba(62,224,255,0.7), 0 8px 24px rgba(0,0,0,0.7)",xl:"-6px 0 0 rgba(255,62,181,0.8), 6px 0 0 rgba(62,224,255,0.8)",glow:"0 0 20px rgba(255,62,181,0.6)"},spacing:I,typography:{fontFamily:"'VT323', 'JetBrains Mono', monospace",headingFontFamily:"'VT323', monospace",monoFontFamily:"'VT323', monospace",fontSizeXs:"0.9375rem",fontSizeSm:"1rem",fontSizeMd:"1.125rem",fontSizeLg:"1.375rem",fontSizeXl:"2rem",fontWeightNormal:400,fontWeightMedium:400,fontWeightSemibold:400,fontWeightBold:400,lineHeight:1.35,letterSpacing:"0.01em",headingLetterSpacing:"0.04em"},transitions:{fast:"40ms steps(3)",normal:"100ms steps(5)",slow:"180ms steps(8)"},backgroundImage:{type:"gradient",gradient:"linear-gradient(180deg, #0a0412 0%, #120818 100%), repeating-linear-gradient(0deg, rgba(255,62,181,0.03) 0 2px, transparent 2px 4px)"}},displayStyle:"retro8bit",variantConfig:{radius:"none",shadow:"md",density:"normal",animation:"subtle"}},ec={meta:{id:"typewriterPress",name:"Typewriter Press",tagline:"Ribbon red on cream — Courier bones, stamped display.",tags:["light","retro","mono","editorial"]},theme:{name:"Typewriter Press",darkMode:"light",recommendedDisplayStyle:"editorial",colors:{primary:"#b02020",primaryHover:"#8a1818",success:"#4a7038",warning:"#b08018",error:"#8a1818",info:"#3a5068",accent:"#1a1a1a",focus:"#b02020",surface:"#faf3df",surfaceHover:"#f0e7c6"},backgrounds:{primary:"#fbf5e3",secondary:"#f3e9c8",tertiary:"#ebdcab",hover:"#e2cf8f",elevated:"#fffae7",inset:"#efe0b0",canvas:"#fbf5e3"},text:{primary:"#1a1a1a",secondary:"#3d3428",muted:"#7a6f4a",inverse:"#fbf5e3"},borders:{color:"#1a1a1a",width:"1px",divider:"#c8b880",radiusSm:"0",radiusMd:"0",radiusLg:"0",radiusXl:"0",radiusFull:"9999px"},shadows:{sm:"0 0 0 rgba(26,26,26,0), 1px 1px 0 rgba(26,26,26,0.12)",md:"1px 1px 0 rgba(26,26,26,0.15), 2px 2px 0 rgba(176,32,32,0.1)",lg:"2px 2px 0 rgba(26,26,26,0.2), 4px 4px 0 rgba(176,32,32,0.12)",xl:"3px 3px 0 rgba(26,26,26,0.25)"},spacing:I,typography:{fontFamily:"'Courier Prime', 'Courier New', monospace",headingFontFamily:"'Special Elite', 'Courier Prime', monospace",monoFontFamily:"'Courier Prime', monospace",fontSizeXs:"0.8125rem",fontSizeSm:"0.875rem",fontSizeMd:"1rem",fontSizeLg:"1.125rem",fontSizeXl:"1.5rem",fontWeightNormal:400,fontWeightMedium:400,fontWeightSemibold:700,fontWeightBold:700,lineHeight:1.6,letterSpacing:"0.01em",headingLetterSpacing:"0.04em"},transitions:{fast:"40ms linear",normal:"80ms linear",slow:"140ms linear"},backgroundImage:{type:"pattern",pattern:"noise",opacity:.2,blendMode:"multiply"}},displayStyle:"editorial",variantConfig:{radius:"none",shadow:"subtle",density:"normal",animation:"none"}},tc={meta:{id:"y2kAqua",name:"Y2K Aqua",tagline:"Chrome and aqua — iMac blue, optimistic futurism, 2001 energy.",tags:["light","retro","glass"]},theme:{name:"Y2K Aqua",darkMode:"light",recommendedDisplayStyle:"modern3d",colors:{primary:"#0a84ff",primaryHover:"#0066cc",success:"#34c759",warning:"#ff9500",error:"#ff3b30",info:"#5ac8fa",accent:"#5ac8fa",focus:"#0a84ff",surface:"#f0f5fc",surfaceHover:"#e0ecfa"},backgrounds:{primary:"#e8f2fc",secondary:"#d8e8f8",tertiary:"#c0d8f0",hover:"#a8c8e8",elevated:"#ffffff",inset:"#c8dcf4",canvas:"#dce8f4"},text:{primary:"#0a1a30",secondary:"#304868",muted:"#6a88a8",inverse:"#ffffff"},borders:{color:"#a0c0e0",width:"1px",divider:"#c0d8f0",radiusSm:"6px",radiusMd:"10px",radiusLg:"16px",radiusXl:"24px",radiusFull:"9999px"},shadows:{sm:"inset 0 1px 0 rgba(255,255,255,0.8), 0 1px 2px rgba(10,132,255,0.15)",md:"inset 0 1px 0 rgba(255,255,255,0.9), inset 0 -1px 2px rgba(10,132,255,0.2), 0 2px 6px rgba(10,132,255,0.25), 0 4px 12px rgba(10,132,255,0.15)",lg:"inset 0 1px 0 rgba(255,255,255,0.95), 0 4px 12px rgba(10,132,255,0.3), 0 10px 24px rgba(90,200,250,0.25)",xl:"inset 0 2px 0 rgba(255,255,255,1), 0 8px 24px rgba(10,132,255,0.35), 0 20px 48px rgba(90,200,250,0.3)"},spacing:I,typography:{fontFamily:"'Chakra Petch', -apple-system, sans-serif",headingFontFamily:"'Chakra Petch', sans-serif",monoFontFamily:"'JetBrains Mono', monospace",fontSizeXs:"0.75rem",fontSizeSm:"0.875rem",fontSizeMd:"0.9375rem",fontSizeLg:"1.0625rem",fontSizeXl:"1.5rem",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeight:1.5,letterSpacing:"0.01em",headingLetterSpacing:"-0.005em"},transitions:{fast:"140ms cubic-bezier(0.4,0,0.2,1)",normal:"240ms cubic-bezier(0.4,0,0.2,1)",slow:"380ms cubic-bezier(0.4,0,0.2,1)"},backgroundImage:{type:"gradient",gradient:"linear-gradient(180deg, #f0f7ff 0%, #d8e8f8 60%, #bcd6f0 100%)"}},displayStyle:"modern3d",variantConfig:{radius:"lg",shadow:"lg",density:"normal",animation:"normal"}},rc={meta:{id:"vogueDidone",name:"Vogue Didone",tagline:"Didone serif, arctic whitespace, one red heartbeat.",tags:["light","editorial","serif","luxury"]},theme:{name:"Vogue Didone",darkMode:"light",recommendedDisplayStyle:"editorial",colors:{primary:"#000000",primaryHover:"#1a1a1a",success:"#1f6a3a",warning:"#8a6a1a",error:"#c40018",info:"#2a4068",accent:"#c40018",focus:"#c40018",surface:"#ffffff",surfaceHover:"#f7f7f7"},backgrounds:{primary:"#ffffff",secondary:"#fafafa",tertiary:"#f2f2f2",hover:"#ededed",elevated:"#ffffff",inset:"#f5f5f5",canvas:"#ffffff"},text:{primary:"#000000",secondary:"#2a2a2a",muted:"#808080",inverse:"#ffffff"},borders:{color:"#000000",width:"1px",divider:"#dcdcdc",radiusSm:"0",radiusMd:"0",radiusLg:"1px",radiusXl:"2px",radiusFull:"9999px"},shadows:{sm:"none",md:"none",lg:"0 1px 0 0 #000000",xl:"0 2px 0 0 #000000"},spacing:Re,typography:{fontFamily:"'Inter', -apple-system, sans-serif",headingFontFamily:"'Playfair Display', Georgia, serif",monoFontFamily:"'JetBrains Mono', monospace",fontSizeXs:"0.6875rem",fontSizeSm:"0.8125rem",fontSizeMd:"0.875rem",fontSizeLg:"1rem",fontSizeXl:"2rem",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:900,lineHeight:1.7,letterSpacing:"0.02em",headingLetterSpacing:"-0.03em"},transitions:{fast:"120ms ease",normal:"220ms ease",slow:"360ms ease"}},displayStyle:"editorial",variantConfig:{radius:"none",shadow:"none",density:"spacious",animation:"subtle"}},oc={meta:{id:"comicHalftone",name:"Comic Halftone",tagline:"CMYK pop — halftone dots, action type, offset ink shadows.",tags:["light","editorial","playful"]},theme:{name:"Comic Halftone",darkMode:"light",recommendedDisplayStyle:"playful",colors:{primary:"#e8182c",primaryHover:"#c01020",success:"#1ea862",warning:"#f0c820",error:"#e8182c",info:"#1878c8",accent:"#1878c8",focus:"#e8182c",surface:"#fffdf4",surfaceHover:"#fff8d8"},backgrounds:{primary:"#fffef0",secondary:"#fff6b8",tertiary:"#ffe870",hover:"#ffd838",elevated:"#ffffff",inset:"#fff090",canvas:"#fffdec"},text:{primary:"#0a0a0a",secondary:"#2a2a2a",muted:"#707070",inverse:"#fffef0"},borders:{color:"#0a0a0a",width:"3px",divider:"#0a0a0a",radiusSm:"2px",radiusMd:"4px",radiusLg:"8px",radiusXl:"12px",radiusFull:"9999px"},shadows:{sm:"3px 3px 0 0 #0a0a0a",md:"5px 5px 0 0 #0a0a0a",lg:"6px 6px 0 0 #e8182c, 10px 10px 0 0 #0a0a0a",xl:"8px 8px 0 0 #1878c8, 12px 12px 0 0 #0a0a0a"},spacing:I,typography:{fontFamily:"'Archivo', -apple-system, sans-serif",headingFontFamily:"'Bangers', 'Archivo Black', cursive",monoFontFamily:"'JetBrains Mono', monospace",fontSizeXs:"0.8125rem",fontSizeSm:"0.9375rem",fontSizeMd:"1rem",fontSizeLg:"1.125rem",fontSizeXl:"2.125rem",fontWeightNormal:500,fontWeightMedium:600,fontWeightSemibold:700,fontWeightBold:800,lineHeight:1.45,letterSpacing:"0",headingLetterSpacing:"0.03em"},transitions:{fast:"100ms cubic-bezier(0.34,1.56,0.64,1)",normal:"200ms cubic-bezier(0.34,1.56,0.64,1)",slow:"320ms cubic-bezier(0.34,1.56,0.64,1)"},backgroundImage:{type:"pattern",pattern:"dots",opacity:.5}},displayStyle:"playful",variantConfig:{radius:"sm",shadow:"lg",density:"normal",animation:"playful"}},ac={meta:{id:"zinePunk",name:"Zine Punk",tagline:"Photocopier grain, marker headlines, cut-and-paste attitude.",tags:["light","editorial","experimental","brutalist"]},theme:{name:"Zine Punk",darkMode:"light",recommendedDisplayStyle:"brutalist",colors:{primary:"#0a0a0a",primaryHover:"#000000",success:"#1a1a1a",warning:"#2a2a2a",error:"#0a0a0a",info:"#1a1a1a",accent:"#0a0a0a",focus:"#0a0a0a",surface:"#f5f3ee",surfaceHover:"#e8e4d8"},backgrounds:{primary:"#efece0",secondary:"#e3dfd0",tertiary:"#d4d0c0",hover:"#c8c4b4",elevated:"#f5f3ee",inset:"#e0dcc8",canvas:"#ede8d8"},text:{primary:"#0a0a0a",secondary:"#1a1a1a",muted:"#505050",inverse:"#efece0"},borders:{color:"#0a0a0a",width:"2px",divider:"#0a0a0a",radiusSm:"0",radiusMd:"0",radiusLg:"0",radiusXl:"0",radiusFull:"9999px"},shadows:{sm:"2px 3px 0 rgba(10,10,10,0.9)",md:"4px 6px 0 rgba(10,10,10,0.9), -2px 2px 0 rgba(10,10,10,0.3)",lg:"6px 10px 0 rgba(10,10,10,1), -4px 2px 0 rgba(10,10,10,0.4)",xl:"10px 14px 0 rgba(10,10,10,1)"},spacing:I,typography:{fontFamily:"'Special Elite', 'Courier Prime', monospace",headingFontFamily:"'Permanent Marker', 'Special Elite', cursive",monoFontFamily:"'Courier Prime', monospace",fontSizeXs:"0.8125rem",fontSizeSm:"0.9375rem",fontSizeMd:"1rem",fontSizeLg:"1.125rem",fontSizeXl:"1.875rem",fontWeightNormal:400,fontWeightMedium:400,fontWeightSemibold:400,fontWeightBold:400,lineHeight:1.5,letterSpacing:"0.02em",headingLetterSpacing:"0.01em"},transitions:{fast:"20ms linear",normal:"60ms linear",slow:"120ms linear"},backgroundImage:{type:"pattern",pattern:"noise",opacity:.3,blendMode:"multiply"}},displayStyle:"brutalist",variantConfig:{radius:"none",shadow:"lg",density:"normal",animation:"none"}},ic={meta:{id:"watercolorWash",name:"Watercolor Wash",tagline:"Soft pastel bleeds, handwritten headings, paper gentleness.",tags:["light","artistic","pastel","organic"]},theme:{name:"Watercolor Wash",darkMode:"light",recommendedDisplayStyle:"softCloud",colors:{primary:"#9d7bc4",primaryHover:"#8262ab",success:"#7bb88a",warning:"#e0a868",error:"#d47878",info:"#7ba8c4",accent:"#e0a0c0",focus:"#9d7bc4",surface:"rgba(255,250,245,0.8)",surfaceHover:"rgba(250,240,238,0.9)"},backgrounds:{primary:"#fdf8f4",secondary:"#f8eee6",tertiary:"#f0e0d4",hover:"#e8d2c0",elevated:"#ffffff",inset:"#f4e4d8",canvas:"#fdf8f4"},text:{primary:"#3a2845",secondary:"#6a5868",muted:"#a89ca4",inverse:"#fdf8f4"},borders:{color:"#e8d4c8",width:"1px",divider:"#f0e0d4",radiusSm:"10px",radiusMd:"18px",radiusLg:"30px",radiusXl:"44px",radiusFull:"9999px"},shadows:{sm:"0 2px 10px rgba(157,123,196,0.08)",md:"0 6px 24px rgba(157,123,196,0.12), 0 2px 4px rgba(224,160,192,0.06)",lg:"0 16px 40px rgba(157,123,196,0.18), 0 6px 12px rgba(224,160,192,0.1)",xl:"0 30px 64px rgba(157,123,196,0.22)"},spacing:ye,typography:{fontFamily:"'Quicksand', -apple-system, sans-serif",headingFontFamily:"'Caveat', 'Quicksand', cursive",monoFontFamily:"'JetBrains Mono', monospace",fontSizeXs:"0.8125rem",fontSizeSm:"0.9375rem",fontSizeMd:"1rem",fontSizeLg:"1.125rem",fontSizeXl:"2rem",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeight:1.65,letterSpacing:"0",headingLetterSpacing:"-0.005em"},transitions:{fast:"220ms cubic-bezier(0.22,1,0.36,1)",normal:"380ms cubic-bezier(0.22,1,0.36,1)",slow:"600ms cubic-bezier(0.22,1,0.36,1)"},backgroundImage:{type:"gradient",gradient:"radial-gradient(at 18% 22%, rgba(232,208,220,0.5) 0%, transparent 40%), radial-gradient(at 82% 28%, rgba(200,220,240,0.45) 0%, transparent 45%), radial-gradient(at 35% 80%, rgba(232,228,200,0.4) 0%, transparent 50%), linear-gradient(180deg, #fdf8f4 0%, #f8eee6 100%)"}},displayStyle:"softCloud",variantConfig:{radius:"xl",density:"comfortable",animation:"normal"}},nc={meta:{id:"memphis80s",name:"Memphis 80s",tagline:"Squiggle chaos — cyan, pink, yellow, serious typography, no.",tags:["light","artistic","playful"]},theme:{name:"Memphis 80s",darkMode:"light",recommendedDisplayStyle:"playful",colors:{primary:"#f02080",primaryHover:"#c81868",success:"#28c868",warning:"#f8d820",error:"#f02040",info:"#20b8e8",accent:"#f8d820",focus:"#20b8e8",surface:"#fffffa",surfaceHover:"#fff7d0"},backgrounds:{primary:"#fffceb",secondary:"#fff2d0",tertiary:"#ffe8b4",hover:"#ffdd98",elevated:"#ffffff",inset:"#fff0c0",canvas:"#fffbe0"},text:{primary:"#0a0a1a",secondary:"#2a2a3a",muted:"#6a6a7a",inverse:"#fffceb"},borders:{color:"#0a0a1a",width:"2px",divider:"#0a0a1a",radiusSm:"4px",radiusMd:"6px",radiusLg:"10px",radiusXl:"14px",radiusFull:"9999px"},shadows:{sm:"3px 3px 0 0 #20b8e8",md:"4px 4px 0 0 #f02080, 8px 8px 0 0 #f8d820",lg:"5px 5px 0 0 #28c868, 10px 10px 0 0 #20b8e8, 15px 15px 0 0 #f02080",xl:"6px 6px 0 0 #f8d820, 12px 12px 0 0 #f02080, 18px 18px 0 0 #20b8e8"},spacing:I,typography:{fontFamily:"'Rubik', -apple-system, sans-serif",headingFontFamily:"'Rubik Mono One', 'Rubik', sans-serif",monoFontFamily:"'JetBrains Mono', monospace",fontSizeXs:"0.8125rem",fontSizeSm:"0.9375rem",fontSizeMd:"1rem",fontSizeLg:"1.125rem",fontSizeXl:"1.875rem",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:700,fontWeightBold:800,lineHeight:1.4,letterSpacing:"0",headingLetterSpacing:"-0.01em"},transitions:{fast:"120ms cubic-bezier(0.68,-0.55,0.27,1.55)",normal:"220ms cubic-bezier(0.68,-0.55,0.27,1.55)",slow:"360ms cubic-bezier(0.68,-0.55,0.27,1.55)"},backgroundImage:{type:"pattern",pattern:"zigzag",opacity:.3}},displayStyle:"playful",variantConfig:{radius:"sm",shadow:"lg",density:"normal",animation:"playful"}},sc={meta:{id:"inkSumie",name:"Ink Sumi-e",tagline:"Charcoal brush on rice paper — vast silence, one red seal.",tags:["light","artistic","serif","minimal"]},theme:{name:"Ink Sumi-e",darkMode:"light",recommendedDisplayStyle:"zen",colors:{primary:"#1a1a1a",primaryHover:"#000000",success:"#2a4a2a",warning:"#705820",error:"#b82020",info:"#2a4060",accent:"#b82020",focus:"#1a1a1a",surface:"#ffffff",surfaceHover:"#f8f7f3"},backgrounds:{primary:"#fdfcf7",secondary:"#f5f3eb",tertiary:"#ebe8dc",hover:"#dfdbcc",elevated:"#ffffff",inset:"#f0edde",canvas:"#fdfcf7"},text:{primary:"#1a1a1a",secondary:"#3a3a3a",muted:"#888482",inverse:"#fdfcf7"},borders:{color:"#1a1a1a",width:"1px",divider:"#d8d4c4",radiusSm:"0",radiusMd:"0",radiusLg:"1px",radiusXl:"2px",radiusFull:"9999px"},shadows:{sm:"none",md:"none",lg:"none",xl:"0 0 0 1px #1a1a1a"},spacing:Re,typography:{fontFamily:"'Noto Sans JP', -apple-system, sans-serif",headingFontFamily:"'Noto Serif JP', Georgia, serif",monoFontFamily:"'JetBrains Mono', monospace",fontSizeXs:"0.75rem",fontSizeSm:"0.8125rem",fontSizeMd:"0.9375rem",fontSizeLg:"1.0625rem",fontSizeXl:"1.625rem",fontWeightNormal:300,fontWeightMedium:400,fontWeightSemibold:500,fontWeightBold:700,lineHeight:1.85,letterSpacing:"0.04em",headingLetterSpacing:"0"},transitions:{fast:"200ms ease",normal:"340ms ease",slow:"520ms ease"}},displayStyle:"zen",variantConfig:{radius:"none",shadow:"none",density:"spacious",animation:"subtle"}},lc={meta:{id:"dieterRams",name:"Dieter Rams",tagline:"Less-but-better — warm gray, single yellow dot, measured everything.",tags:["light","minimal","industrial"]},theme:{name:"Dieter Rams",darkMode:"light",recommendedDisplayStyle:"swiss",colors:{primary:"#1a1a1a",primaryHover:"#0a0a0a",success:"#3a7840",warning:"#e8c020",error:"#c83028",info:"#3868a0",accent:"#e8c020",focus:"#1a1a1a",surface:"#ffffff",surfaceHover:"#f8f8f8"},backgrounds:{primary:"#fbfbf9",secondary:"#f2f2ee",tertiary:"#e8e8e2",hover:"#dedeD6",elevated:"#ffffff",inset:"#ededE7",canvas:"#f5f5f1"},text:{primary:"#0a0a0a",secondary:"#3a3a38",muted:"#888880",inverse:"#fbfbf9"},borders:{color:"#d4d4ce",width:"1px",divider:"#e0e0da",radiusSm:"1px",radiusMd:"2px",radiusLg:"3px",radiusXl:"4px",radiusFull:"9999px"},shadows:{sm:"0 1px 0 0 rgba(0,0,0,0.04)",md:"0 1px 0 0 rgba(0,0,0,0.06), 0 4px 8px -2px rgba(0,0,0,0.06)",lg:"0 2px 0 0 rgba(0,0,0,0.08), 0 10px 20px -6px rgba(0,0,0,0.1)",xl:"0 20px 40px -12px rgba(0,0,0,0.14)"},spacing:mi,typography:{fontFamily:"'IBM Plex Sans', -apple-system, sans-serif",headingFontFamily:"'IBM Plex Sans', sans-serif",monoFontFamily:"'IBM Plex Mono', monospace",fontSizeXs:"0.6875rem",fontSizeSm:"0.8125rem",fontSizeMd:"0.875rem",fontSizeLg:"1rem",fontSizeXl:"1.375rem",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:600,fontWeightBold:700,lineHeight:1.55,letterSpacing:"0",headingLetterSpacing:"-0.015em"},transitions:{fast:"100ms cubic-bezier(0.4,0,0.2,1)",normal:"180ms cubic-bezier(0.4,0,0.2,1)",slow:"280ms cubic-bezier(0.4,0,0.2,1)"}},displayStyle:"swiss",variantConfig:{radius:"sm",shadow:"subtle",density:"compact",animation:"subtle"}},dc={meta:{id:"blackTieGala",name:"Black Tie Gala",tagline:"Absolute black, hand-gilded detail, whispered serif elegance.",tags:["dark","luxury","serif"]},theme:{name:"Black Tie Gala",darkMode:"dark",recommendedDisplayStyle:"luxe",colors:{primary:"#c89848",primaryHover:"#e0b868",success:"#68a878",warning:"#e0b050",error:"#c85858",info:"#8aa8d0",accent:"#e8d0a0",focus:"#c89848",surface:"#0e0e0e",surfaceHover:"#161616"},backgrounds:{primary:"#050505",secondary:"#0e0e0e",tertiary:"#161616",hover:"#1e1e1e",elevated:"#0e0e0e",inset:"#020202",canvas:"#030303"},text:{primary:"#f0ead8",secondary:"#a89870",muted:"#605848",inverse:"#050505"},borders:{color:"#3a2e18",width:"1px",divider:"#241a0c",focusColor:"#c89848",radiusSm:"1px",radiusMd:"2px",radiusLg:"3px",radiusXl:"4px",radiusFull:"9999px"},shadows:{sm:"0 0 0 1px rgba(200,152,72,0.1)",md:"0 4px 16px rgba(0,0,0,0.8), 0 0 0 1px rgba(200,152,72,0.15)",lg:"0 10px 32px rgba(0,0,0,0.9), 0 0 0 1px rgba(200,152,72,0.25), inset 0 1px 0 rgba(232,208,160,0.08)",xl:"0 24px 56px rgba(0,0,0,1), 0 0 0 1px rgba(200,152,72,0.35)",glow:"0 0 24px rgba(200,152,72,0.25)"},spacing:ye,typography:{fontFamily:"'Cormorant Garamond', Georgia, serif",headingFontFamily:"'Cormorant Garamond', Georgia, serif",monoFontFamily:"'JetBrains Mono', monospace",fontSizeXs:"0.75rem",fontSizeSm:"0.875rem",fontSizeMd:"1rem",fontSizeLg:"1.125rem",fontSizeXl:"1.75rem",fontWeightNormal:300,fontWeightMedium:400,fontWeightSemibold:500,fontWeightBold:600,lineHeight:1.65,letterSpacing:"0.05em",headingLetterSpacing:"0.08em"},transitions:{fast:"180ms cubic-bezier(0.4,0,0.2,1)",normal:"320ms cubic-bezier(0.4,0,0.2,1)",slow:"500ms cubic-bezier(0.4,0,0.2,1)"}},displayStyle:"luxe",variantConfig:{radius:"sm",shadow:"lg",density:"spacious",animation:"subtle"}},cc={meta:{id:"swissGrid",name:"Swiss Grid",tagline:"Akzidenz rigor — white, black, one red, grid discipline.",tags:["light","minimal","editorial"]},theme:{name:"Swiss Grid",darkMode:"light",recommendedDisplayStyle:"swiss",colors:{primary:"#e30613",primaryHover:"#b8040f",success:"#00683d",warning:"#b8700a",error:"#e30613",info:"#004c98",accent:"#e30613",focus:"#e30613",surface:"#ffffff",surfaceHover:"#f5f5f5"},backgrounds:{primary:"#ffffff",secondary:"#f5f5f5",tertiary:"#ebebeb",hover:"#e0e0e0",elevated:"#ffffff",inset:"#f0f0f0",canvas:"#ffffff"},text:{primary:"#0a0a0a",secondary:"#2a2a2a",muted:"#707070",inverse:"#ffffff"},borders:{color:"#0a0a0a",width:"1px",divider:"#d0d0d0",radiusSm:"0",radiusMd:"0",radiusLg:"0",radiusXl:"0",radiusFull:"9999px"},shadows:{sm:"none",md:"0 1px 0 0 rgba(10,10,10,0.1)",lg:"0 2px 0 0 rgba(10,10,10,0.12)",xl:"0 4px 0 0 rgba(10,10,10,0.15)"},spacing:mi,typography:{fontFamily:"'Inter', 'Helvetica Neue', sans-serif",headingFontFamily:"'Inter', 'Helvetica Neue', sans-serif",monoFontFamily:"'IBM Plex Mono', monospace",fontSizeXs:"0.6875rem",fontSizeSm:"0.8125rem",fontSizeMd:"0.875rem",fontSizeLg:"1rem",fontSizeXl:"1.5rem",fontWeightNormal:400,fontWeightMedium:500,fontWeightSemibold:700,fontWeightBold:700,lineHeight:1.45,letterSpacing:"0",headingLetterSpacing:"-0.03em"},transitions:{fast:"60ms linear",normal:"120ms linear",slow:"200ms linear"}},displayStyle:"swiss",variantConfig:{radius:"none",shadow:"none",density:"compact",animation:"subtle"}},uc={forestCanopy:Wd,desertDune:Vd,arcticCrystal:$d,autumnFoliage:qd,japaneseWashi:Kd,moroccanMosaic:Gd,artDecoGatsby:Ud,sovietConstructivist:Xd,blueprint:Zd,hologramUI:_d,deepSea:Jd,analog70s:Yd,vhsTracking:Qd,typewriterPress:ec,y2kAqua:tc,vogueDidone:rc,comicHalftone:oc,zinePunk:ac,watercolorWash:ic,memphis80s:nc,inkSumie:sc,dieterRams:lc,blackTieGala:dc,swissGrid:cc},pc=Object.values(uc);function mc(e,t){return e??t.recommendedDisplayStyle??"default"}function Ht(e){return e.toLowerCase().replace(/[\s_-]+/g,"")}function It(e){if(e&&typeof e=="object")return e;if(typeof e=="string"){const t=Ht(e),r=et.find(o=>Ht(o.name)===t);if(r)return r;process.env.NODE_ENV!=="production"&&console.warn(`[@nice2dev/ui] <NiceThemeProvider theme="${e}"> — unknown preset name. Falling back to 'Light'. Available: ${et.map(o=>o.name).join(", ")}.`)}return Ct}const fi=({theme:e,darkTheme:t,variantConfig:r,darkMode:o,displayStyle:a,animateTransitions:i=!0,children:s})=>{const n=d.useMemo(()=>It(e),[e]),l=d.useMemo(()=>t===void 0?void 0:It(t),[t]),c=d.useId(),u=d.useMemo(()=>`p${c.replace(/:/g,"")}`,[c]),m=d.useRef(null),f=d.useRef(null),[h,p]=d.useState(null),[v,y]=d.useState(n),[w,b]=d.useState(!1),[k,x]=d.useState(()=>mc(a,n));d.useEffect(()=>{a!==void 0?x(a):n.recommendedDisplayStyle&&x(n.recommendedDisplayStyle)},[a,n.recommendedDisplayStyle]),d.useEffect(()=>{const E=window.matchMedia("(prefers-color-scheme: dark)");b(E.matches);const M=A=>b(A.matches);return E.addEventListener("change",M),()=>E.removeEventListener("change",M)},[]);const C=o??n.darkMode??"light",S=C==="dark"||C==="auto"&&w;d.useEffect(()=>{y(S&&l?l:n)},[n,l,S]),d.useEffect(()=>{if(typeof document>"u")return;const E=document.createElement("div");return E.className="nice-theme-scope nice-theme-portal-host",E.dataset.ntdProvider=u,E.style.display="contents",document.body.appendChild(E),f.current=E,p(E),()=>{E.parentNode&&E.parentNode.removeChild(E),f.current=null,p(null)}},[u]),d.useEffect(()=>{const E=m.current;if(!E)return;i&&(E.style.transition="background-color 300ms ease, color 300ms ease");const M=Ee(v);for(const[N,B]of Object.entries(M))E.style.setProperty(N,B);const A=f.current;if(A)for(const[N,B]of Object.entries(M))A.style.setProperty(N,B);E.style.colorScheme=S?"dark":"light",E.dataset.ntdColorScheme=S?"dark":"light",E.dataset.theme=S?"dark":"light",S?E.classList.add("nice-dark"):E.classList.remove("nice-dark"),A&&(A.style.colorScheme=S?"dark":"light",A.dataset.ntdColorScheme=S?"dark":"light",A.dataset.theme=S?"dark":"light",S?A.classList.add("nice-dark"):A.classList.remove("nice-dark"));const F=v.backgroundImage;return F&&F.type!=="none"&&F.type==="gradient"&&F.gradient&&E.style.setProperty("--ntd-bg-image",F.gradient),()=>{E&&uo(E)}},[v,S,i,h]);const z=d.useRef(new Set);d.useEffect(()=>{if(process.env.NODE_ENV==="production"||typeof window>"u"||typeof document>"u")return;const E=window.setTimeout(()=>{const M=Ee(v),A=["--color-primary","--nice-primary","--bg-primary","--text-primary"].find(H=>M[H])??Object.keys(M)[0];if(!A)return;const F=String(M[A]??"").trim();if(!F)return;const N=getComputedStyle(document.documentElement).getPropertyValue(A).trim();if(!N||N===F)return;const B=`${u}::${v.name??"unnamed"}::${A}`;z.current.has(B)||(z.current.add(B),console.warn(`[NiceThemeProvider] CSS var "${A}" on documentElement (${N}) does not match the active provider pack "${v.name??"unnamed"}" (${F}). An external applyTheme(...) call (or other code) is overriding the provider — portaled overlays and components reading from :root will look inconsistent. Either remove the external applyTheme call or wrap your app entirely in a single NiceThemeProvider.`))},0);return()=>window.clearTimeout(E)},[v,u]),d.useEffect(()=>{const E=m.current;if(!E)return;const M=r?{...U,...r}:le(k);nt(M,E,u);const A=or(k);for(const[F,N]of Object.entries(A))E.setAttribute(F,N);return()=>{nn(u,E)}},[r,k,u]);const j=d.useCallback(E=>{y(E)},[]),P=d.useMemo(()=>({theme:v,setTheme:j,portalTarget:h}),[v,j,h]),T=d.useMemo(()=>({displayStyle:k,variantConfig:le(k),setDisplayStyle:x}),[k]);return g.jsx(xt.Provider,{value:P,children:g.jsx(je.Provider,{value:T,children:g.jsx("div",{ref:m,className:"nice-theme-scope","data-ntd-provider":u,style:{display:"contents"},children:s})})})};fi.displayName="NiceThemeProvider";const gi=d.createContext(null);function hi(){const e=d.useContext(gi);if(!e)throw new Error("useThemeVariants must be used within NiceThemeVariantProvider");return e}function fc({initialConfig:e,storageKey:t="ntd-variant-config",autoApply:r=!0,children:o}){const[a,i]=d.useState(()=>{if(typeof window<"u"&&t){const c=localStorage.getItem(t);if(c)try{return{...U,...JSON.parse(c)}}catch{}}return{...U,...e}});d.useEffect(()=>{r&&typeof window<"u"&&nt(a)},[a,r]),d.useEffect(()=>{typeof window<"u"&&t&&localStorage.setItem(t,JSON.stringify(a))},[a,t]);const s=d.useCallback(c=>{i(u=>({...u,...c}))},[]),n=d.useCallback(c=>{const u=ze[c];u&&i(u)},[]),l=d.useCallback(()=>{i(U)},[]);return g.jsx(gi.Provider,{value:{config:a,setConfig:s,applyPreset:n,reset:l},children:o})}function gc({showPresets:e=!0,showPreview:t=!0,showCSS:r=!1,collapsible:o=!0,className:a,style:i}){const{config:s,setConfig:n,applyPreset:l,reset:c}=hi(),[u,m]=d.useState(new Set(["presets","radius","shadow"])),f=p=>{o&&m(v=>{const y=new Set(v);return y.has(p)?y.delete(p):y.add(p),y})},h=p=>!o||u.has(p);return g.jsxs("div",{className:`ntd-theme-variant-configurator ${a||""}`,style:{fontFamily:"system-ui, sans-serif",fontSize:"14px",...i},children:[e&&g.jsx($,{title:"Presets",expanded:h("presets"),onToggle:()=>f("presets"),children:g.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:"8px"},children:[Object.keys(ze).map(p=>g.jsx("button",{onClick:()=>l(p),style:{padding:"6px 12px",border:"1px solid var(--border-color, #e5e7eb)",borderRadius:"6px",background:"var(--bg-secondary, #f9fafb)",cursor:"pointer",textTransform:"capitalize"},children:p},p)),g.jsx("button",{onClick:c,style:{padding:"6px 12px",border:"1px solid var(--nice-danger-dark, #dc2626)",borderRadius:"6px",background:"var(--danger-bg, #fef2f2)",color:"var(--color-error, #dc2626)",cursor:"pointer"},children:"Reset"})]})}),g.jsx($,{title:"Border Radius",expanded:h("radius"),onToggle:()=>f("radius"),children:g.jsx(te,{options:Object.keys(se),value:s.radius,onChange:p=>n({radius:p}),renderPreview:p=>g.jsx("div",{style:{width:"24px",height:"24px",background:"var(--color-accent, #6366f1)",borderRadius:se[p].md}})})}),g.jsx($,{title:"Shadows",expanded:h("shadow"),onToggle:()=>f("shadow"),children:g.jsx(te,{options:Object.keys(we),value:s.shadow,onChange:p=>n({shadow:p}),renderPreview:p=>g.jsx("div",{style:{width:"24px",height:"24px",background:"var(--bg-primary, #fff)",borderRadius:"4px",boxShadow:we[p]}})})}),g.jsx($,{title:"Button Style",expanded:h("button"),onToggle:()=>f("button"),children:g.jsx(te,{options:["flat","raised","outlined","ghost","soft","gradient","3d","neumorphic"],value:s.buttonStyle,onChange:p=>n({buttonStyle:p})})}),g.jsx($,{title:"Input Style",expanded:h("input"),onToggle:()=>f("input"),children:g.jsx(te,{options:["bordered","filled","underlined","floating","soft","neumorphic"],value:s.inputStyle,onChange:p=>n({inputStyle:p})})}),g.jsx($,{title:"Card Style",expanded:h("card"),onToggle:()=>f("card"),children:g.jsx(te,{options:["flat","elevated","bordered","glass","gradient","neumorphic"],value:s.cardStyle,onChange:p=>n({cardStyle:p})})}),g.jsx($,{title:"Animation",expanded:h("animation"),onToggle:()=>f("animation"),children:g.jsx(te,{options:Object.keys(Ce),value:s.animation,onChange:p=>n({animation:p})})}),g.jsx($,{title:"Density",expanded:h("density"),onToggle:()=>f("density"),children:g.jsx(te,{options:Object.keys(de),value:s.density,onChange:p=>n({density:p})})}),t&&g.jsx($,{title:"Preview",expanded:h("preview"),onToggle:()=>f("preview"),children:g.jsx(hc,{config:s})}),r&&g.jsx($,{title:"Generated CSS",expanded:h("css"),onToggle:()=>f("css"),children:g.jsx("pre",{style:{background:"var(--text-primary, #1f2937)",color:"var(--border-color, #e5e7eb)",padding:"12px",borderRadius:"6px",fontSize:"12px",overflow:"auto",maxHeight:"200px"},children:it(s)})})]})}function $({title:e,expanded:t,onToggle:r,children:o}){return g.jsxs("div",{style:{marginBottom:"16px"},children:[g.jsxs("button",{onClick:r,style:{display:"flex",alignItems:"center",gap:"8px",width:"100%",padding:"8px 0",border:"none",background:"transparent",cursor:"pointer",fontSize:"14px",fontWeight:600,color:"var(--text-secondary, #374151)",textAlign:"left"},children:[g.jsx("span",{style:{transform:t?"rotate(90deg)":"none",transition:"transform 150ms"},children:"▶"}),e]}),t&&g.jsx("div",{style:{paddingLeft:"20px",paddingTop:"8px"},children:o})]})}function te({options:e,value:t,onChange:r,renderPreview:o}){return g.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:"8px"},children:e.map(a=>g.jsxs("button",{onClick:()=>r(a),style:{display:"flex",alignItems:"center",gap:"6px",padding:"6px 12px",border:t===a?"2px solid var(--nice-info, #6366f1)":"1px solid var(--border-color, #e5e7eb)",borderRadius:"6px",background:t===a?"var(--nice-primary-bg, #eef2ff)":"var(--bg-primary, #fff)",cursor:"pointer",textTransform:"capitalize",fontSize:"13px"},children:[o&&o(a),a]},a))})}function hc({config:e}){const t=rt(e.buttonStyle,"var(--color-accent, #6366f1)"),r=ot(e.inputStyle),o=at(e.cardStyle),a=se[e.radius],i=de[e.density];return g.jsxs("div",{style:{padding:"20px",background:"var(--bg-secondary, #f9fafb)",borderRadius:"8px",display:"flex",flexDirection:"column",gap:"16px"},children:[g.jsxs("div",{style:{padding:i.paddingX,borderRadius:a.lg,...o},children:[g.jsx("h4",{style:{margin:"0 0 12px",fontSize:i.fontSize},children:"Card Preview"}),g.jsxs("div",{style:{display:"flex",gap:i.gap,marginBottom:"12px"},children:[g.jsx("button",{style:{padding:`${i.paddingY} ${i.paddingX}`,borderRadius:a.md,color:"var(--bg-primary, #fff)",fontSize:i.fontSize,cursor:"pointer",...t},children:"Primary"}),g.jsx("button",{style:{padding:`${i.paddingY} ${i.paddingX}`,borderRadius:a.md,background:"var(--border-color, #e5e7eb)",border:"none",fontSize:i.fontSize,cursor:"pointer"},children:"Secondary"})]}),g.jsx("input",{type:"text",placeholder:"Input preview...",style:{width:"100%",height:i.inputHeight,padding:`0 ${i.paddingX}`,fontSize:i.fontSize,outline:"none",boxSizing:"border-box",...r}})]}),g.jsx("div",{style:{display:"flex",gap:"8px",flexWrap:"wrap"},children:["Info","Success","Warning","Error"].map(s=>g.jsx("span",{style:{padding:"4px 10px",borderRadius:a.full,background:"var(--border-color, #e5e7eb)",fontSize:"12px"},children:s},s))})]})}function yc(){const[e,t]=d.useState(()=>typeof window>"u"?!1:be());return d.useEffect(()=>{var r;if(typeof window>"u")return;t(be());const o=new MutationObserver(()=>t(be()));o.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme","class","style"]});const a=window.matchMedia("(prefers-color-scheme: dark)"),i=()=>t(be());return(r=a.addEventListener)==null||r.call(a,"change",i),()=>{var s;o.disconnect(),(s=a.removeEventListener)==null||s.call(a,"change",i)}},[]),e}function be(){var e;try{const t=document.documentElement,r=t.getAttribute("data-theme");if(r==="dark")return!0;if(r==="light")return!1;if(t.classList.contains("nice-dark")||t.classList.contains("dark"))return!0;if(t.classList.contains("nice-light"))return!1;const o=getComputedStyle(t),a=o.getPropertyValue("--text-primary").trim()||o.color;if(a){const i=a.match(/rgba?\(([^)]+)\)/);if(i){const[s,n,l]=i[1].split(",").map(c=>parseFloat(c.trim()));return(.299*s+.587*n+.114*l)/255>.5}if(/^#([0-9a-f]{3,8})$/i.test(a)){const s=a.replace("#",""),n=s.length===3?s.split("").map(m=>m+m).join(""):s.slice(0,6),l=parseInt(n.slice(0,2),16),c=parseInt(n.slice(2,4),16),u=parseInt(n.slice(4,6),16);return(.299*l+.587*c+.114*u)/255>.5}}return((e=window.matchMedia)==null?void 0:e.call(window,"(prefers-color-scheme: dark)").matches)??!1}catch{return!1}}function bc(e){return e.error||e.status==="error"?"error":e.warning||e.status==="warning"?"warning":e.success||e.status==="success"?"success":e.status??"idle"}const Wt=new Set;function vc(e,t,r){process.env.NODE_ENV!=="production"&&t!==void 0&&r!==void 0&&!Wt.has(e)&&(Wt.add(e),console.warn(`[Nice2Dev] <${e}> received both \`value\` and \`defaultValue\`. Use one or the other (controlled XOR uncontrolled).`))}const Vt=new Set;function yi(e,t){process.env.NODE_ENV!=="production"&&(Vt.has(e)||(Vt.add(e),t()))}function wc(e){const{componentName:t,prop:r,replacement:o,removeIn:a,reason:i}=e;yi(`prop:${t}.${r}`,()=>{const s=[`[Nice2Dev] Prop \`${r}\` on <${t}> is deprecated.`,o?`Use \`${o}\` instead.`:"",a?`Will be removed in ${a}.`:"",i?`Reason: ${i}`:""].filter(Boolean);console.warn(s.join(" "))})}function kc(e){const{symbol:t,replacement:r,removeIn:o,reason:a}=e;yi(`symbol:${t}`,()=>{const i=[`[Nice2Dev] \`${t}\` is deprecated.`,r?`Use \`${r}\` instead.`:"",o?`Will be removed in ${o}.`:"",a?`Reason: ${a}`:""].filter(Boolean);console.warn(i.join(" "))})}const $t=new Set;function Sc(e){const{value:t,defaultValue:r,onChange:o,componentName:a="Component"}=e,i=t!==void 0,[s,n]=d.useState(r),l=d.useRef(i);process.env.NODE_ENV!=="production"&&(l.current!==i&&!$t.has(a)&&($t.add(a),console.warn(`[Nice2Dev] <${a}> switched between controlled and uncontrolled. A component should not change between the two over its lifetime.`)),l.current=i,vc(a,t,e.defaultValue!==void 0?r:void 0));const c=i?t:s,u=d.useCallback((m,f)=>{const h=typeof m=="function"?m(c):m;i||n(h),o?.(h,f)},[c,i,o]);return[c,u,i]}const xc={idle:"nice-field-status nice-field-status--idle",success:"nice-field-status nice-field-status--success",warning:"nice-field-status nice-field-status--warning",error:"nice-field-status nice-field-status--error"};function Ec(e){const t=bc(e),r=t==="error"&&(typeof e.error=="string"?e.error:void 0)||t==="warning"&&e.warning||t==="success"&&e.success||e.helperText||null;return r?g.jsx("div",{id:e.id,role:t==="error"?"alert":void 0,"aria-live":t==="error"?"assertive":"polite","data-testid":e.testId,className:[xc[t],e.className].filter(Boolean).join(" "),children:r}):null}const Dt=d.createContext(null);function Cc({children:e,initialPolicy:t,policyEndpoint:r,instanceCeiling:o,tenantPolicy:a,groupPolicy:i,userPreference:s,instanceId:n="default",tenantId:l,onPolicyChange:c}){const[u,m]=d.useState(t||ie),[f,h]=d.useState(s),[p,v]=d.useState(!!r),[y,w]=d.useState(null),b=d.useRef(new Map);d.useEffect(()=>{const T=o||Ve(n),E=ve(T,a,i,f);m(E),c?.(E),b.current.forEach(M=>{M.updatePolicy(E)})},[o,a,i,f,n,c]),d.useEffect(()=>{if(!r)return;(async()=>{v(!0),w(null);try{const E=await fetch(r,{credentials:"include"});if(!E.ok)throw new Error(`Failed to fetch policy: ${E.status}`);const M=E.headers.get(Lt);if(M){const A=Ot(M);if(A){const F=o||Ve(n),N=ve(F,a?{...a,mode:A}:{tenantId:"default",mode:A,allowGroupOverride:!0,allowUserOverride:!0,updatedAt:Date.now()},i,f);m(N),c?.(N)}}try{const A=await E.json();A.policy&&(m(A.policy),c?.(A.policy))}catch{}}catch(E){w(E instanceof Error?E:new Error("Unknown error"))}finally{v(!1)}})()},[r,o,a,i,f,n,c]);const k=d.useCallback(T=>{h(E=>({userId:E?.userId||"anonymous",preferredMode:T.preferredMode||E?.preferredMode||"traceless",restrictCookies:T.restrictCookies??E?.restrictCookies,restrictLocalStorage:T.restrictLocalStorage??E?.restrictLocalStorage,restrictSessionStorage:T.restrictSessionStorage??E?.restrictSessionStorage,setAt:Date.now()}))},[]),x=d.useCallback(()=>bt(u,n,l),[u,n,l]),C=d.useCallback(()=>wt(u),[u]),S=d.useCallback(async()=>{if(r){v(!0);try{const T=await fetch(r,{credentials:"include",cache:"no-cache"});if(T.ok){const E=T.headers.get(Lt);if(E){const M=Ot(E);if(M){const A=o||Ve(n),F=ve(A,a?{...a,mode:M}:void 0,i,f);m(F),c?.(F)}}}}finally{v(!1)}}},[r,o,a,i,f,n,c]),z=d.useCallback((T="nice2dev")=>{let E=b.current.get(T);return E||(E=new yt(u,T),b.current.set(T,E)),E},[u]),j=d.useMemo(()=>vt(u),[u]),P=d.useMemo(()=>({policy:u,canUseCookies:u.cookiesAllowed,canUseLocalStorage:u.localStorageAllowed,canUseSessionStorage:u.sessionStorageAllowed,canPersist:u.localStorageAllowed,mode:u.effectiveMode,requiresConsentBanner:u.requiresConsentBanner,badgeInfo:j,setUserPreference:k,generateReport:x,runAudit:C,refreshPolicy:S,getStorageAdapter:z,isLoading:p,error:y}),[u,j,k,x,C,S,z,p,y]);return d.createElement(Dt.Provider,{value:P},e)}function zc(){const e=d.useContext(Dt);if(!e)throw new Error("useTracelessPolicy must be used within a TracelessProvider");return e}function G(){const e=d.useContext(Dt);if(e)return e;const t=new yt(ie);return{policy:ie,canUseCookies:!1,canUseLocalStorage:!1,canUseSessionStorage:!1,canPersist:!1,mode:"traceless",requiresConsentBanner:!1,badgeInfo:vt(ie),setUserPreference:()=>{},generateReport:()=>bt(ie,"default"),runAudit:()=>wt(ie),refreshPolicy:async()=>{},getStorageAdapter:()=>t,isLoading:!1,error:null}}function Le(e="nice2dev"){const{getStorageAdapter:t}=G();return d.useMemo(()=>t(e),[t,e])}function tt(e,t,r){const o=Le(r?.namespace),{canPersist:a,canUseSessionStorage:i}=G(),s=r?.storageMode==="session"?i:a,[n,l]=d.useState(()=>{if(s){const u=o.get(e,r?.storageMode);if(u!==null)return u}return t}),c=d.useCallback(u=>{l(m=>{const f=typeof u=="function"?u(m):u;return s&&o.set(e,f,r?.storageMode==="session"?"session":"local"),f})},[o,e,s,r?.storageMode]);return[n,c,s]}function jc(){const{requiresConsentBanner:e,mode:t}=G(),r=Le("nice2dev-consent"),[o,a]=d.useState(()=>r.get("banner-dismissed")===!0),i=d.useCallback(()=>{a(!0),r.set("banner-dismissed",!0)},[r]);return{shouldShow:e&&!o,mode:t,dismiss:i}}function Dc(e=!1){const{runAudit:t}=G(),[r,o]=d.useState(null),a=d.useCallback(()=>{const i=t();return o(i),i},[t]);return d.useEffect(()=>{e&&a()},[e,a]),{result:r,run:a,isCompliant:r?.compliant??null}}function Mc(){const{policy:e,getStorageAdapter:t}=G(),r=d.useMemo(()=>t("local"),[t]),o=d.useCallback(n=>r.get(n),[r]),a=d.useCallback((n,l)=>{r.set(n,l)},[r]),i=d.useCallback(n=>{r.remove(n)},[r]),s=d.useCallback(()=>{r.clear()},[r]);return d.useMemo(()=>({getItem:o,setItem:a,removeItem:i,clear:s,isAvailable:e.localStorageAllowed,effectiveMode:e.effectiveMode,policy:e}),[o,a,i,s,e])}function Ac(){const{policy:e,getStorageAdapter:t}=G(),r=d.useMemo(()=>t("session"),[t]),o=d.useCallback(n=>r.get(n),[r]),a=d.useCallback((n,l)=>{r.set(n,l)},[r]),i=d.useCallback(n=>{r.remove(n)},[r]),s=d.useCallback(()=>{r.clear()},[r]);return d.useMemo(()=>({getItem:o,setItem:a,removeItem:i,clear:s,isAvailable:e.sessionStorageAllowed,effectiveMode:e.effectiveMode}),[o,a,i,s,e])}function Pc({storageKey:e,initialState:t={},onStateChange:r,storageType:o="auto"}){const{policy:a,getStorageAdapter:i}=G(),s=`nice-datagrid-${e}`,n=d.useMemo(()=>{if(o==="local"&&a.localStorageAllowed)return"local";if(o==="session"&&a.sessionStorageAllowed)return"session";if(o==="auto"){if(a.localStorageAllowed)return"local";if(a.sessionStorageAllowed)return"session"}return"memory"},[o,a]),l=d.useMemo(()=>i(n==="session"?"session-grid":"local-grid"),[i,n]),[c,u]=d.useState(()=>{const p=l.get(s);if(p)try{return{...t,...JSON.parse(p)}}catch{return t}return t});d.useEffect(()=>{l.set(s,JSON.stringify(c)),r?.(c)},[c,l,s,r]);const m=d.useCallback(p=>{u(v=>({...v,...p}))},[]),f=d.useCallback(()=>{l.remove(s),u(t)},[l,s,t]);return{state:c,updateState:m,setState:u,clearState:f,degraded:n==="memory",effectiveStorageType:n,policy:a}}function Tc({storageKey:e,autoSaveInterval:t=5e3,maxVersions:r=10}){const{policy:o,getStorageAdapter:a}=G(),i=`nice-editor-${e}`,s=`${i}-history`,n=d.useMemo(()=>a("editor"),[a]),[l,c]=tt(i,null,{storageMode:o.localStorageAllowed?"local":"session"}),[u,m]=tt(s,[],{storageMode:"local"}),f=d.useCallback((w,b)=>{const k={content:w,cursorPosition:b,lastModified:Date.now(),version:(l?.version??0)+1};c(k)},[l,c]),h=d.useCallback(()=>{!l||!o.localStorageAllowed||m(w=>[...w,l].slice(-r))},[l,o.localStorageAllowed,r,m]),p=d.useCallback(w=>{const b=u.find(k=>k.version===w);b&&c(b)},[u,c]),v=d.useCallback(()=>{n.remove(i),c(null)},[n,i,c]),y=d.useRef(null);return d.useEffect(()=>{if(!t||!l?.content||l.content===y.current)return;const w=setTimeout(()=>{y.current=l.content??null},t);return()=>clearTimeout(w)},[l?.content,t]),{draft:l,saveDraft:f,saveToHistory:h,restoreVersion:p,clearDraft:v,history:u,hasDraft:l!==null,degraded:!o.localStorageAllowed&&!o.sessionStorageAllowed,policy:o}}function Fc(e="local"){const t=Le(e),r=d.useRef([]);return d.useMemo(()=>({getItem:o=>t.get(o),setItem:(o,a)=>{t.set(o,a),r.current.includes(o)||r.current.push(o)},removeItem:o=>{t.remove(o),r.current=r.current.filter(a=>a!==o)},clear:()=>{t.clear(),r.current=[]},get length(){return r.current.length},key:o=>r.current[o]??null}),[t])}function Bc(e){const{policy:t}=G();return d.useMemo(()=>{const r=t.cookiesAllowed&&e.cookies!==!1,o=t.localStorageAllowed&&e.localStorage!==!1,a=t.sessionStorageAllowed&&e.sessionStorage!==!1;return{cookiesAllowed:r,localStorageAllowed:o,sessionStorageAllowed:a,effectiveMode:t.effectiveMode,canPersist:o||a,degraded:!o&&!a}},[t,e.cookies,e.localStorage,e.sessionStorage])}const J=({height:e=200})=>g.jsx("div",{className:"ntd-lazy-loading",style:{display:"flex",alignItems:"center",justifyContent:"center",height:e,background:"var(--ntd-color-surface, #f5f5f5)",borderRadius:"var(--ntd-radius, 8px)",animation:"ntd-pulse 1.5s ease-in-out infinite"},children:g.jsx("div",{className:"ntd-lazy-loading-spinner",style:{width:24,height:24,border:"2px solid var(--ntd-color-border, #ddd)",borderTopColor:"var(--ntd-color-primary, #6366f1)",borderRadius:"50%",animation:"ntd-spin 0.8s linear infinite"}})}),bi=(e,t)=>g.jsxs("div",{className:"ntd-lazy-error",style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:24,background:"var(--ntd-color-error-bg, #fee2e2)",borderRadius:"var(--ntd-radius, 8px)",color:"var(--ntd-color-error, #dc2626)"},children:[g.jsxs("svg",{width:"32",height:"32",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[g.jsx("circle",{cx:"12",cy:"12",r:"10"}),g.jsx("line",{x1:"12",y1:"8",x2:"12",y2:"12"}),g.jsx("line",{x1:"12",y1:"16",x2:"12.01",y2:"16"})]}),g.jsx("p",{style:{margin:"12px 0 8px",fontWeight:500},children:"Failed to load component"}),g.jsx("p",{style:{margin:0,fontSize:"0.875em",opacity:.8},children:e.message}),g.jsx("button",{onClick:t,style:{marginTop:16,padding:"8px 16px",border:"none",borderRadius:"var(--ntd-radius, 8px)",background:"var(--ntd-color-error, #dc2626)",color:"var(--bg-primary, #fff)",cursor:"pointer",fontSize:"0.875em"},children:"Retry"})]});class Nc extends d.Component{constructor(){super(...arguments),this.state={error:null},this.handleRetry=()=>{this.setState({error:null})}}static getDerivedStateFromError(t){return{error:t}}render(){return this.state.error?this.props.fallback(this.state.error,this.handleRetry):this.props.children}}function W(e,t={}){const{fallback:r=g.jsx(J,{}),preloadOnMount:o=!1,preloadOnHover:a=!1,preloadAfterIdle:i,minLoadingTime:s=0,ssrFallback:n,errorFallback:l=bi,displayName:c}=t;let u=null,m=!1;const f=async()=>{if(u)return u;const w=Date.now();u=e();const b=await u;if(s>0){const k=Date.now()-w;k<s&&await new Promise(x=>setTimeout(x,s-k))}return m=!0,b},h=d.lazy(f),p=w=>{const b=d.useRef(null);return d.useEffect(()=>{o&&!m&&f()},[]),d.useEffect(()=>{if(i&&!m){const x="requestIdleCallback"in window?window.requestIdleCallback(()=>f(),{timeout:i}):setTimeout(()=>f(),i);return()=>{"cancelIdleCallback"in window?window.cancelIdleCallback(x):clearTimeout(x)}}},[]),d.useEffect(()=>{if(!a||m)return;const x=b.current;if(!x)return;const C=()=>{m||f()};return x.addEventListener("mouseenter",C,{once:!0}),()=>x.removeEventListener("mouseenter",C)},[]),typeof window>"u"&&n?g.jsx(g.Fragment,{children:n}):g.jsx("div",{ref:b,className:"ntd-lazy-wrapper",children:g.jsx(Nc,{fallback:l,children:g.jsx(d.Suspense,{fallback:r,children:g.jsx(h,{...w})})})})},v=async()=>{m||await f()},y=p;return y.preload=v,y.displayName=c||"LazyComponent",y}function Rc(e=.1,t="100px"){const r=d.useRef(null),[o,a]=d.useState(!1);return d.useEffect(()=>{if(!r.current||o)return;const i=new IntersectionObserver(([s])=>{s.isIntersecting&&(a(!0),i.disconnect())},{threshold:e,rootMargin:t});return i.observe(r.current),()=>i.disconnect()},[e,t,o]),[r,o]}function Lc(e,t=2e3){d.useEffect(()=>{if("requestIdleCallback"in window){const r=window.requestIdleCallback(()=>{e.forEach(o=>o())},{timeout:t});return()=>window.cancelIdleCallback(r)}else{const r=setTimeout(()=>{e.forEach(o=>o())},t);return()=>clearTimeout(r)}},[])}function Oc(e,t){const r=d.useRef(new Set);d.useEffect(()=>{const o=document.querySelectorAll("a[href]"),a=i=>{const n=i.currentTarget.getAttribute("href");n&&e[n]&&!r.current.has(n)&&(e[n](),r.current.add(n))};return o.forEach(i=>{i.addEventListener("mouseenter",a)}),()=>{o.forEach(i=>{i.removeEventListener("mouseenter",a)})}},[t,e])}const qt=()=>g.jsx(J,{height:400}),Kt=()=>g.jsx(J,{height:300}),Gt=()=>g.jsx(J,{height:500}),Ut=()=>g.jsx(J,{height:600}),q=e=>e,V={CodeEditor:W(q(()=>Promise.resolve().then(()=>require("./NicePinCodeInput-DoBQnMj9.cjs")).then(e=>e.NiceCodeEditor$1).then(e=>({default:e.NiceCodeEditor}))),{fallback:g.jsx(qt,{}),preloadOnHover:!0,displayName:"LazyCodeEditor"}),HtmlEditor:W(q(()=>Promise.resolve().then(()=>require("./NicePinCodeInput-DoBQnMj9.cjs")).then(e=>e.NiceHtmlEditor$1).then(e=>({default:e.NiceHtmlEditor}))),{fallback:g.jsx(qt,{}),preloadOnHover:!0,displayName:"LazyHtmlEditor"}),DocumentViewer:W(q(()=>Promise.resolve().then(()=>require("./index-BNb9q4Ll.cjs")).then(e=>e.NiceDocumentViewer$1).then(e=>({default:e.NiceDocumentViewer}))),{fallback:g.jsx(J,{height:600}),displayName:"LazyDocumentViewer"}),Chart:W(q(()=>Promise.resolve().then(()=>require("./charts-Dr_FIPZT.cjs")).then(e=>e.NiceChart$1).then(e=>({default:e.NiceChart}))),{fallback:g.jsx(Kt,{}),preloadAfterIdle:3e3,displayName:"LazyChart"}),VectorMap:W(q(()=>Promise.resolve().then(()=>require("./charts-Dr_FIPZT.cjs")).then(e=>e.NiceVectorMap$1).then(e=>({default:e.NiceVectorMap}))),{fallback:g.jsx(J,{height:400}),displayName:"LazyVectorMap"}),Sankey:W(q(()=>Promise.resolve().then(()=>require("./charts-Dr_FIPZT.cjs")).then(e=>e.NiceSankey$1).then(e=>({default:e.NiceSankey}))),{fallback:g.jsx(Kt,{}),displayName:"LazySankey"}),Scheduler:W(q(()=>Promise.resolve().then(()=>require("./index-BNb9q4Ll.cjs")).then(e=>e.NiceScheduler$1).then(e=>({default:e.NiceScheduler}))),{fallback:g.jsx(Ut,{}),displayName:"LazyScheduler"}),Gantt:W(q(()=>Promise.resolve().then(()=>require("./index-BNb9q4Ll.cjs")).then(e=>e.NiceGantt$1).then(e=>({default:e.NiceGantt}))),{fallback:g.jsx(Ut,{}),displayName:"LazyGantt"}),PivotGrid:W(q(()=>Promise.resolve().then(()=>require("./NiceSavedQueryPanel-qtWETcRP.cjs")).then(e=>e.NicePivotGrid$1).then(e=>({default:e.NicePivotGrid}))),{fallback:g.jsx(Gt,{}),displayName:"LazyPivotGrid"}),DataGrid:W(q(()=>Promise.resolve().then(()=>require("./NiceSavedQueryPanel-qtWETcRP.cjs")).then(e=>e.NiceDataGrid$1).then(e=>({default:e.NiceDataGrid}))),{fallback:g.jsx(Gt,{}),preloadAfterIdle:2e3,displayName:"LazyDataGrid"})};async function Hc(){await Promise.all([V.CodeEditor.preload(),V.HtmlEditor.preload(),V.DocumentViewer.preload(),V.Chart.preload(),V.VectorMap.preload(),V.Sankey.preload(),V.Scheduler.preload(),V.Gantt.preload(),V.PivotGrid.preload()])}async function Ic(e){await Promise.all(e.map(t=>V[t].preload()))}exports.$c=xs;exports.$n=Io;exports.$o=Ha;exports.$r=or;exports.$s=En;exports.$t=on;exports.Aa=$r;exports.Ac=hs;exports.Ad=Hd;exports.An=Ao;exports.Ao=Ma;exports.As=mn;exports.Bc=Ms;exports.Be=ke;exports.Bl=wt;exports.Bn=$o;exports.Bo=Va;exports.Br=ir;exports.Bs=jn;exports.Ca=Vr;exports.Cc=gs;exports.Cd=Od;exports.Cn=Mo;exports.Co=Da;exports.Cs=pn;exports.Dc=Ds;exports.De=we;exports.DefaultErrorFallback=bi;exports.DefaultLoadingFallback=J;exports.Dn=Vo;exports.Do=Wa;exports.Ds=zn;exports.En=To;exports.Eo=Pa;exports.Er=_t;exports.Es=gn;exports.Fa=_r;exports.Fc=ws;exports.Fn=Lo;exports.Fo=Ra;exports.Fr=tr;exports.Fs=kn;exports.Ft=at;exports.Ga=so;exports.Gc=Ws;exports.Gi=fi;exports.Gl=Ol;exports.Gn=Qo;exports.Go=Ya;exports.Gr=wr;exports.Gs=On;exports.Gt=_i;exports.Ha=Jr;exports.Hc=ks;exports.Hn=Oo;exports.Ho=La;exports.Hs=Sn;exports.Ht=it;exports.Ia=Zr;exports.Ic=vs;exports.Id=yc;exports.In=Ro;exports.Io=Na;exports.Ir=er;exports.Is=vn;exports.It=ot;exports.Ja=lo;exports.Jc=Vs;exports.Je=Ce;exports.Ji=hi;exports.Jl=Hl;exports.Jn=ea;exports.Jo=Qa;exports.Jr=kr;exports.Js=Hn;exports.Ka=io;exports.Kc=Is;exports.Kl=Ll;exports.Kn=Yo;exports.Ko=Ja;exports.Kr=vr;exports.Ks=Ln;exports.La=Gr;exports.LazyComponents=V;exports.Ll=bt;exports.Ln=Fo;exports.Lo=Ta;exports.Lr=Jt;exports.Ls=hn;exports.Mc=ms;exports.Md=Ed;exports.Me=ue;exports.Ml=bl;exports.Mn=Do;exports.Mo=ja;exports.Ms=un;exports.Na=qr;exports.Nd=Id;exports.Nl=ve;exports.Nn=Po;exports.No=Aa;exports.Ns=fn;exports.Oc=As;exports.Ol=xl;exports.On=qo;exports.Oo=$a;exports.Os=Dn;exports.Pa=yt;exports.Pc=Cs;exports.Pn=Wo;exports.Po=Ia;exports.Ps=Cn;exports.Q=U;exports.Qc=qs;exports.Qe=je;exports.Ql=Wl;exports.Qn=ra;exports.Qo=ti;exports.Qr=xr;exports.Qs=Wn;exports.Ra=Qr;exports.Rc=Ss;exports.Rn=Ho;exports.Ro=Oa;exports.Rr=rr;exports.Rs=xn;exports.Rt=nt;exports.Sc=ds;exports.Sd=md;exports.Sl=fl;exports.Sn=Eo;exports.So=xa;exports.Ss=sn;exports.Ta=Ur;exports.Td=fc;exports.Tl=vt;exports.Tn=Bo;exports.To=Fa;exports.Tr=Yt;exports.TracelessProvider=Cc;exports.Ts=yn;exports.Uc=Hs;exports.Ui=pc;exports.Ul=Tl;exports.Un=Jo;exports.Uo=_a;exports.Ur=br;exports.Us=Rn;exports.Ut=ct;exports.Va=ro;exports.Vc=Bs;exports.Ve=Ee;exports.Vl=jl;exports.Vn=Xo;exports.Vo=Ua;exports.Vr=mr;exports.Vs=Fn;exports.Wc=Ps;exports.Wl=El;exports.Wn=Ko;exports.Wo=qa;exports.Wr=nr;exports.Ws=Mn;exports.Xc=Fs;exports.Xl=zl;exports.Xn=Uo;exports.Xo=Ga;exports.Xr=pr;exports.Xs=Pn;exports.Yc=$s;exports.Ye=ze;exports.Yl=Il;exports.Yn=ta;exports.Yo=ei;exports.Yr=Sr;exports.Ys=In;exports.Zc=Ks;exports.Zl=$l;exports.Zn=oa;exports.Zo=ri;exports.Zs=Vn;exports.Zt=Y;exports._c=Ts;exports._l=Cl;exports._n=Go;exports._o=Ka;exports._r=cr;exports._s=An;exports.ac=Gn;exports.ad=Ul;exports.ae=_;exports.ai=ni;exports.al=Zs;exports.ao=sa;exports.ba=Br;exports.bc=ss;exports.bd=ld;exports.be=le;exports.bl=pl;exports.bn=So;exports.bo=ka;exports.cc=Jn;exports.cd=Yl;exports.ce=ne;exports.cf=Ec;exports.ci=ui;exports.cl=el;exports.co=pa;exports.createLazyComponent=W;exports.da=jr;exports.dc=Qn;exports.dd=ed;exports.dl=rl;exports.dn=fo;exports.ec=$n;exports.ed=ql;exports.ei=oi;exports.el=Gs;exports.en=uo;exports.eo=aa;exports.fa=Dr;exports.fc=es;exports.fd=td;exports.fl=ol;exports.fn=go;exports.fo=fa;exports.fr=xt;exports.ga=Ar;exports.gc=as;exports.gd=id;exports.gl=dl;exports.gn=vo;exports.go=ba;exports.ha=Fr;exports.hc=ns;exports.hd=sd;exports.he=se;exports.hl=ul;exports.hn=ko;exports.ho=wa;exports.ic=Zn;exports.id=_l;exports.ie=oe;exports.ii=di;exports.il=Ys;exports.io=ca;exports.it=Zt;exports.jc=Ls;exports.jl=Dl;exports.jn=Zo;exports.jo=Xa;exports.jr=fr;exports.js=Bn;exports.jt=lt;exports.ka=Lr;exports.kc=ps;exports.kd=Sd;exports.ke=ce;exports.kl=yl;exports.kn=jo;exports.ko=za;exports.ks=cn;exports.kt=et;exports.la=zr;exports.lc=Yn;exports.ld=Ql;exports.le=xe;exports.ll=tl;exports.ln=mo;exports.lo=ma;exports.lr=kt;exports.mc=rs;exports.md=od;exports.ml=il;exports.mn=yo;exports.mo=ha;exports.mr=Ct;exports.ms=wc;exports.nc=Un;exports.nd=Xl;exports.nf=kc;exports.ni=si;exports.nl=_s;exports.no=la;exports.oc=Xn;exports.od=Zl;exports.oi=li;exports.ol=Js;exports.oo=da;exports.pa=Mr;exports.pc=os;exports.pd=ad;exports.pl=nl;exports.pn=bo;exports.po=ya;exports.pr=jt;exports.preloadAllHeavyComponents=Hc;exports.preloadComponents=Ic;exports.qa=ao;exports.qc=Os;exports.ql=Ml;exports.qn=_o;exports.qo=Za;exports.qr=yr;exports.qs=Nn;exports.qt=dt;exports.rc=Kn;exports.rd=Gl;exports.ri=ii;exports.rl=Xs;exports.ro=na;exports.rr=ht;exports.rt=Pe;exports.sa=Er;exports.sc=_n;exports.sd=Jl;exports.sf=Sc;exports.si=ci;exports.sl=Qs;exports.so=ua;exports.tc=qn;exports.td=Kl;exports.ti=ai;exports.tl=Us;exports.to=ia;exports.tr=gt;exports.tt=Ae;exports.uc=ts;exports.ud=rd;exports.ul=al;exports.un=ho;exports.uo=ga;exports.useCookieBannerVisibility=jc;exports.useEditorStatePersistence=Tc;exports.useGridStatePersistence=Pc;exports.useLazyOnVisible=Rc;exports.usePersistedState=tt;exports.usePreloadOnIdle=Lc;exports.usePreloadOnRouteHint=Oc;exports.useResolvedStorageProps=Bc;exports.useStorageAdapter=Le;exports.useStorageAudit=Dc;exports.useTracelessLocalStorage=Mc;exports.useTracelessPolicy=zc;exports.useTracelessPolicySafe=G;exports.useTracelessSessionStorage=Ac;exports.useTracelessStorage=Fc;exports.vc=ls;exports.vd=cd;exports.vl=ml;exports.vn=xo;exports.vo=Sa;exports.vs=an;exports.wa=Rr;exports.wc=us;exports.wd=gd;exports.we=de;exports.wi=pi;exports.wl=hl;exports.wn=zo;exports.wo=Ca;exports.ws=dn;exports.wt=Ze;exports.xa=Nr;exports.xc=cs;exports.xd=fd;exports.xl=gl;exports.xn=Co;exports.xo=Ea;exports.xs=ln;exports.xt=Xe;exports.ya=Tr;exports.yc=is;exports.yd=nd;exports.yl=cl;exports.yn=wo;exports.yo=va;exports.za=Xr;exports.zc=bs;exports.zd=gc;exports.zn=No;exports.zo=Ba;exports.zr=Qt;exports.zt=rt;