@salsita-ai/sdk 0.50.0-develop.ef06ca4ac1 → 0.50.0-develop.f101f4c3c9

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 (179) hide show
  1. package/dist/configurator/common/configurator-interface.d.ts +52 -2
  2. package/dist/configurator/common/configurator-interface.js +1 -1
  3. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +4 -0
  4. package/dist/configurator/index.d.ts +1 -0
  5. package/dist/configurator/index.js +1 -1
  6. package/dist/configurator/pages/default-configurator-elements.d.ts +3 -2
  7. package/dist/configurator/pages/default-configurator-elements.js +1 -1
  8. package/dist/configurator/pages/default-elements/index.d.ts +1 -0
  9. package/dist/configurator/pages/default-elements/index.js +1 -1
  10. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.d.ts +3 -0
  11. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.js +1 -0
  12. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.d.ts +3 -0
  13. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.js +1 -0
  14. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.d.ts +3 -0
  15. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.js +1 -0
  16. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.d.ts +3 -0
  17. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.js +1 -0
  18. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.d.ts +3 -0
  19. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.js +1 -0
  20. package/dist/configurator/pages/default-elements/scene-controls/index.d.ts +6 -0
  21. package/dist/configurator/pages/default-elements/scene-controls/index.js +1 -0
  22. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.d.ts +6 -0
  23. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.js +1 -0
  24. package/dist/configurator/scene/index.d.ts +1 -0
  25. package/dist/configurator/scene/index.js +1 -1
  26. package/dist/configurator/scene/scene-controls/ToolFab.d.ts +4 -0
  27. package/dist/configurator/scene/scene-controls/ToolFab.js +1 -1
  28. package/dist/configurator/scene/scene-controls/use-scene-control-tooltip.d.ts +2 -1
  29. package/dist/configurator/scene/scene-entity/scene-controls/SceneEntityHtmlHotspots.js +1 -1
  30. package/dist/configurator/toolbar-actions/index.d.ts +3 -0
  31. package/dist/configurator/toolbar-actions/index.js +1 -0
  32. package/dist/configurator/toolbar-actions/use-assistant-panel.d.ts +18 -0
  33. package/dist/configurator/toolbar-actions/use-assistant-panel.js +1 -0
  34. package/dist/configurator/toolbar-actions/use-measurements.d.ts +35 -0
  35. package/dist/configurator/toolbar-actions/use-measurements.js +1 -0
  36. package/dist/configurator/toolbar-actions/use-toolbar-actions.d.ts +100 -0
  37. package/dist/configurator/toolbar-actions/use-toolbar-actions.js +1 -0
  38. package/dist/configurator/toolbar-actions/use-toolbar-help.d.ts +7 -0
  39. package/dist/configurator/toolbar-actions/use-toolbar-help.js +1 -0
  40. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +1 -1
  41. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  42. package/dist/configurator/ui/assistant/alert/AssistantAlert.d.ts +8 -0
  43. package/dist/configurator/ui/assistant/alert/AssistantAlert.js +1 -0
  44. package/dist/configurator/ui/assistant/alert/index.d.ts +2 -0
  45. package/dist/configurator/ui/assistant/alert/index.js +1 -0
  46. package/dist/configurator/ui/assistant/alert/remark-alerts.d.ts +10 -0
  47. package/dist/configurator/ui/assistant/alert/remark-alerts.js +1 -0
  48. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -1
  49. package/dist/configurator/ui/assistant/form/built-in-form-registry.js +1 -1
  50. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +2 -1
  51. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -1
  52. package/dist/configurator/ui/assistant/form/form-model.d.ts +3 -2
  53. package/dist/configurator/ui/assistant/form/form-registry.d.ts +1 -1
  54. package/dist/configurator/ui/assistant/form/form-registry.js +2 -2
  55. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +2 -1
  56. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -1
  57. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -1
  58. package/dist/configurator/ui/assistant/form-elements/FormCard.d.ts +9 -0
  59. package/dist/configurator/ui/assistant/form-elements/FormCard.js +1 -0
  60. package/dist/configurator/ui/assistant/form-elements/FormConfirm.d.ts +9 -0
  61. package/dist/configurator/ui/assistant/form-elements/FormConfirm.js +1 -0
  62. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +4 -1
  63. package/dist/configurator/ui/assistant/form-elements/FormNumber.d.ts +9 -0
  64. package/dist/configurator/ui/assistant/form-elements/FormNumber.js +1 -0
  65. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +4 -1
  66. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +4 -1
  67. package/dist/configurator/ui/assistant/form-elements/FormSwatch.d.ts +10 -0
  68. package/dist/configurator/ui/assistant/form-elements/FormSwatch.js +1 -0
  69. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +4 -1
  70. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -1
  71. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.d.ts +10 -0
  72. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.js +1 -0
  73. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +17 -13
  74. package/dist/configurator/ui/assistant/form-elements/index.d.ts +4 -0
  75. package/dist/configurator/ui/assistant/form-elements/index.js +1 -1
  76. package/dist/configurator/ui/assistant/resource-image/index.d.ts +1 -1
  77. package/dist/configurator/ui/assistant/resource-image/index.js +1 -1
  78. package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +0 -9
  79. package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -1
  80. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +2 -2
  81. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  82. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -1
  83. package/dist/configurator/ui/phoenix-layout-elements/LanguageMenuAction.js +1 -1
  84. package/dist/configurator/ui/phoenix-layout-elements/LanguageToolbarButton.js +1 -1
  85. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsMenuAction.js +1 -1
  86. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsToolbarButton.js +1 -1
  87. package/dist/configurator/ui/phoenix-layout-elements/ShareToolbarButton.js +1 -1
  88. package/dist/configurator/ui/phoenix-layout-elements/measurements/DimensionUnitSelector.js +1 -1
  89. package/dist/configurator/ui/phoenix-layout-elements/measurements/MeasurementsIndicatorsSwitch.js +1 -1
  90. package/dist/configurator/ui/phoenix-layout-elements/share/ShareModal.js +1 -1
  91. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.d.ts +7 -8
  92. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.js +1 -1
  93. package/dist/docs/complex-use-cases/focus-mode.mdx +2 -0
  94. package/dist/docs/fabs/basic.mdx +4 -0
  95. package/dist/docs/index.json +1 -1
  96. package/dist/docs/layouts/custom-layout.mdx +3 -1
  97. package/dist/docs/other-features/navigation-hotspot.mdx +2 -0
  98. package/dist/docs/phoenix/configurator-interface.mdx +68 -1
  99. package/dist/docs/phoenix/sdk-builder-workflow.mdx +1 -1
  100. package/dist/docs/selection-and-highlight/hotspots.mdx +2 -0
  101. package/dist/domain/application/assistant/form/assistant-form-elements.d.ts +163 -0
  102. package/dist/domain/application/assistant/form/assistant-form-elements.js +1 -0
  103. package/dist/domain/application/assistant/form/assistant-resource-path.d.ts +10 -0
  104. package/dist/domain/application/assistant/form/assistant-resource-path.js +1 -0
  105. package/dist/domain/application/assistant/form/get-assistant-form-value-attribute.d.ts +6 -0
  106. package/dist/domain/application/assistant/form/get-assistant-form-value-attribute.js +1 -0
  107. package/dist/domain/application/assistant/form/index.d.ts +4 -0
  108. package/dist/domain/application/assistant/form/index.js +1 -0
  109. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  110. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  111. package/dist/domain/application/assistant/index.d.ts +1 -2
  112. package/dist/domain/application/assistant/index.js +1 -1
  113. package/dist/i18n/locales/cs/messages.js +1 -1
  114. package/dist/i18n/locales/da/messages.js +1 -1
  115. package/dist/i18n/locales/de/messages.js +1 -1
  116. package/dist/i18n/locales/de-AT/messages.js +1 -1
  117. package/dist/i18n/locales/en/messages.js +1 -1
  118. package/dist/i18n/locales/en-AU/messages.js +1 -1
  119. package/dist/i18n/locales/en-GB/messages.js +1 -1
  120. package/dist/i18n/locales/es/messages.js +1 -1
  121. package/dist/i18n/locales/fr/messages.js +1 -1
  122. package/dist/i18n/locales/hu/messages.js +1 -1
  123. package/dist/i18n/locales/it/messages.js +1 -1
  124. package/dist/i18n/locales/nl/messages.js +1 -1
  125. package/dist/i18n/locales/pl/messages.js +1 -1
  126. package/dist/i18n/locales/pt/messages.js +1 -1
  127. package/dist/i18n/locales/ro/messages.js +1 -1
  128. package/dist/i18n/locales/sk/messages.js +1 -1
  129. package/dist/i18n/locales/tr/messages.js +1 -1
  130. package/dist/react-sdk/domain-context/index.d.ts +3 -0
  131. package/dist/react-sdk/domain-context/index.js +1 -1
  132. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.d.ts +8 -0
  133. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.js +1 -0
  134. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.d.ts +24 -0
  135. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.js +1 -0
  136. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.d.ts +32 -0
  137. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.js +1 -0
  138. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -1
  139. package/dist/react-sdk/index.d.ts +1 -0
  140. package/dist/react-sdk/index.js +1 -1
  141. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.d.ts +36 -0
  142. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.js +1 -0
  143. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.d.ts +44 -0
  144. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.js +1 -0
  145. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.d.ts +38 -0
  146. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.js +1 -0
  147. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.d.ts +30 -0
  148. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.js +1 -0
  149. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.d.ts +30 -0
  150. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.js +1 -0
  151. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.d.ts +9 -0
  152. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.js +1 -0
  153. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.d.ts +9 -0
  154. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.js +1 -0
  155. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.d.ts +10 -0
  156. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.js +1 -0
  157. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.d.ts +9 -0
  158. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.js +1 -0
  159. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.d.ts +9 -0
  160. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.js +1 -0
  161. package/dist/react-sdk/scene-control-elements/index.d.ts +11 -0
  162. package/dist/react-sdk/scene-control-elements/index.js +1 -0
  163. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.d.ts +5 -0
  164. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.js +1 -0
  165. package/dist/ui-sdk/icons/__generated/Lightbulb.d.ts +3 -0
  166. package/dist/ui-sdk/icons/__generated/Lightbulb.js +1 -0
  167. package/dist/ui-sdk/icons/__generated/XCircle.d.ts +3 -0
  168. package/dist/ui-sdk/icons/__generated/XCircle.js +1 -0
  169. package/dist/ui-sdk/icons/__generated/index.d.ts +4 -0
  170. package/dist/ui-sdk/icons/__generated/index.js +1 -1
  171. package/dist/ui-sdk/icons/icons-registry.js +1 -1
  172. package/dist/ui-sdk/theme/types.d.ts +1 -1
  173. package/package.json +3 -3
  174. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.d.ts +0 -4
  175. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.js +0 -1
  176. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.d.ts +0 -4
  177. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.js +0 -1
  178. package/dist/domain/application/assistant/assistant-form-elements.d.ts +0 -28
  179. package/dist/domain/application/assistant/assistant-form-elements.js +0 -1
@@ -1 +1 @@
1
- export const messages=JSON.parse('{"sdk.admin.error.backToHome.label":["Sp\xe4ť na domovsk\xfa str\xe1nku"],"sdk.admin.error.system.message":["Moment\xe1lne m\xe1me technick\xe9 probl\xe9my. Sk\xfaste to pros\xedm o p\xe1r min\xfat. Ďakujeme za vašu trpezlivosť!"],"sdk.admin.error.system.title":["Ups, niečo sa pokazilo!"],"sdk.angleDimension.hintMessageTooLarge":["Aktu\xe1lna hodnota je ",["currentWithUnit"],", čo je v\xe4čšie než povolen\xe9 maximum ",["limitWithUnit"],"."],"sdk.angleDimension.hintMessageTooSmall":["Aktu\xe1lna hodnota je ",["currentWithUnit"],", čo je menšie než povolen\xe9 minimum ",["limitWithUnit"],"."],"sdk.assistant.composer.disclaimer":["AI sa m\xf4že m\xfdliť. V\xfdsledok si skontrolujte."],"sdk.assistant.composer.placeholder":["Op\xfdtajte sa alebo nap\xedšte, čo zmeniť…"],"sdk.assistant.composer.send.label":["Odoslať"],"sdk.assistant.composer.stop.label":["Zastaviť"],"sdk.assistant.failure.busy":["Asistent ešte pracuje na predch\xe1dzaj\xfacej spr\xe1ve."],"sdk.assistant.failure.notAvailable":["Asistent tu nie je dostupn\xfd."],"sdk.assistant.failure.retry.label":["Sk\xfasiť znova"],"sdk.assistant.failure.unavailable":["Asistent teraz nie je dostupn\xfd."],"sdk.assistant.form.failure":["Asistent nedok\xe1zal zostaviť tento formul\xe1r."],"sdk.assistant.form.fix.label":["Opraviť"],"sdk.assistant.form.submit.label":["Odoslať"],"sdk.assistant.form.writing":["Pripravuje sa formul\xe1r…"],"sdk.assistant.panel.close.label":["Zavrieť asistenta"],"sdk.assistant.panel.title":["Asistent"],"sdk.assistant.reference.unavailable.message":["Moment\xe1lne nie je k dispoz\xedcii"],"sdk.assistant.thread.earlierSummarized":["Predch\xe1dzaj\xfaca konverz\xe1cia zhrnut\xe1"],"sdk.assistant.thread.greeting":["Dobr\xfd deň. M\xf4žem odpovedať na ot\xe1zky k tomuto n\xe1vrhu a upravovať ho s vami. Nap\xedšte, čo potrebujete."],"sdk.assistant.thread.loading":["Nač\xedtavam konverz\xe1ciu…"],"sdk.assistant.thread.loadingEarlier":["Nač\xedtavam predch\xe1dzaj\xfacu konverz\xe1ciu…"],"sdk.assistant.thread.newReply.label":["Nov\xe1 odpoveď"],"sdk.assistant.thread.resuming":["Obnovujem konverz\xe1ciu…"],"sdk.assistant.thread.showEarlier.label":["Zobraziť predch\xe1dzaj\xfacu konverz\xe1ciu"],"sdk.assistant.thread.thinking":["Prem\xfdšľam…"],"sdk.assistant.tool.cancelled.hint":["Zastaven\xe9 pred dokončen\xedm."],"sdk.assistant.tool.mistake.hint":["Asistent urobil chybu."],"sdk.assistant.tool.noResult.hint":["V\xfdsledok tohto kroku sa stratil. Krok mohol, ale nemusel byť vykonan\xfd."],"sdk.assistant.tool.readDesign.label":["Č\xedtanie n\xe1vrhu"],"sdk.assistant.tool.toolBudget.hint":["Nevykonan\xe9: asistent dosiahol limit krokov pre jednu spr\xe1vu."],"sdk.assistant.tool.undo.label":["Sp\xe4ť"],"sdk.assistant.tool.updateDesign.label":["\xdaprava n\xe1vrhu"],"sdk.assistant.toolbarButton.label":["Asistent"],"sdk.chat.disclaimer.close.label":["Zavrieť"],"sdk.chat.disclaimer.dialog.title":["Upozornenie k chatu"],"sdk.chat.disclaimer.full.message":["<0>Nasleduj\xface vyhl\xe1senie m\xe1 za cieľ informovať použ\xedvateľov o obmedzeniach a pokynoch pre použ\xedvanie AI chatbota dostupn\xe9ho na tomto webe. Pred komunik\xe1ciou s chatbotom si pros\xedm pozorne preč\xedtajte toto vyhl\xe1senie.</0><1><2>Všeobecn\xe9 inform\xe1cie:</2> AI chatbot je automatizovan\xfd syst\xe9m poh\xe1ňan\xfd OpenAI/ChatGPT. Je navrhnut\xfd tak, aby poskytoval inform\xe1cie a pomoc na z\xe1klade dostupn\xfdch inform\xe1ci\xed o produktoch pon\xfakan\xfdch na tomto webe. Aj keď sa snaž\xedme poskytovať presn\xe9 inform\xe1cie prostredn\xedctvom AI chatbota, nem\xf4žeme zaručiť presnosť, \xfaplnosť alebo aktu\xe1lnosť poskytovan\xfdch inform\xe1ci\xed. Odpor\xfačame použ\xedvať odpovede ako v\xfdchodiskov\xfd bod a overovať odpovede u poskytovateľa t\xfdchto inform\xe1ci\xed (vlastn\xedka tohto webu) alebo akejkoľvek dostupnej produktovej dokument\xe1cie.</1><3><4>Zodpovednosť použ\xedvateľa:</4> Použ\xedvatelia AI chatbota nes\xfa v\xfdhradn\xfa zodpovednosť za svoje interakcie a spoliehanie sa na poskytovan\xe9 inform\xe1cie. Je d\xf4ležit\xe9 byť opatrn\xfd a použ\xedvať vlastn\xfd \xfasudok pri interpret\xe1cii a konan\xed na z\xe1klade odpoved\xed chatbota. Ani vlastn\xedk tohto webu, ani poskytovateľ technol\xf3gie chatbota nem\xf4že byť činen\xfd zodpovedn\xfdm za ak\xe9koľvek činy, straty alebo škody vypl\xfdvaj\xface z použ\xedvania chatbota.</3><5><6>Ochrana \xfadajov a bezpečnosť:</6> Uprednostňujeme ochranu a bezpečnosť inform\xe1ci\xed použ\xedvateľov. Majte na pam\xe4ti, že konverz\xe1cie s chatbotom m\xf4žu byť skontrolovan\xe9 vlastn\xedkom tohto webu a poskytovateľom technol\xf3gie za \xfačelom zlepšenia v\xfdsledkov. Zatiaľ čo OpenAI/ChatGPT uchov\xe1va z\xe1znamy t\xfdchto konverz\xe1ci\xed po dobu 30 dn\xed, tieto d\xe1ta sa nepouž\xedvaj\xfa na tr\xe9ning ich AI modelov. Nezdieľajte žiadne citliv\xe9 alebo osobn\xe9 inform\xe1cie vo vašich konverz\xe1ci\xe1ch.</5><7>Použ\xedvan\xedm tohto AI chatbota vyjadrujete svoj s\xfahlas a porozumenie vyššie uveden\xe9mu vyhl\xe1seniu. Ak nes\xfahlas\xedte s ktoroukoľvek časťou tohto vyhl\xe1senia, odpor\xfačame chatbot nepouž\xedvať.</7>"],"sdk.chat.disclaimer.inline.message":["Varovanie! AI sa m\xf4že m\xfdliť"],"sdk.chat.disclaimer.seeMore.label":["viac inform\xe1ci\xed"],"sdk.chat.header.desktop.title":["Asistent"],"sdk.chat.input.default.placeholder":["Hľadajte alebo sa op\xfdtajte na čokoľvek..."],"sdk.chat.input.footer.placeholder":["P\xedšte sem..."],"sdk.chat.mobile.assistant.label":["AI Asistent"],"sdk.chat.send.button.label":["Odoslať spr\xe1vu"],"sdk.chat.system.error.message":["Chyba"],"sdk.chat.welcome.greeting.message":["Op\xfdtajte sa na čokoľvek alebo vyberte z najčastejšie kladen\xfdch ot\xe1zok"],"sdk.collision.warning.tooltip":["Predmety s\xfa pr\xedliš bl\xedzko alebo sa prekr\xfdvaj\xfa"],"sdk.controls.dimension.angle.error":["Neplatn\xfd uhol"],"sdk.controls.dimension.angle.hint":["Zadajte uhol"],"sdk.controls.dimension.angle.hintRange":["Zadajte č\xedslo medzi ",["0"],["unitLabelWithSpace"]," a ",["1"],["unitLabelWithSpace"],"."],"sdk.controls.dimension.angleSlider.error":["Neplatn\xfd uhol"],"sdk.controls.dimension.distance.error":["Neplatn\xe1 vzdialenosť"],"sdk.controls.dimension.distance.hint":["Zadajte vzdialenosť"],"sdk.controls.dimension.distance.hintRange":["Zadajte č\xedslo medzi ",["0"]," a ",["1"],"."],"sdk.controls.dimension.distanceSlider.error":["Neplatn\xe1 vzdialenosť"],"sdk.controls.dimension.generic.error":["Neplatn\xe1 hodnota"],"sdk.controls.dimension.generic.hint":["Zadajte hodnotu"],"sdk.controls.dimension.generic.hintRange":["Zadajte č\xedslo medzi ",["0"]," a ",["1"],"."],"sdk.controls.dimension.genericSlider.error":["Neplatn\xe1 hodnota"],"sdk.controls.dimension.indicator.apply":["Použiť"],"sdk.controls.dimension.indicator.cancel":["Zrušiť"],"sdk.controls.dimension.list.selector.close.label":["Zavrieť"],"sdk.controls.dimension.offset.hint":["Zadajte odsadenie"],"sdk.controls.dimension.size.hint":["Zadajte rozmer"],"sdk.controls.entity.add.close.label":["Zavrieť"],"sdk.controls.entity.add.nothingMessage":["Sem nemožno nič pridať"],"sdk.controls.entity.childDelete.label":["Zmazať"],"sdk.controls.entity.childSelect.label":["Upraviť"],"sdk.controls.entity.delete.label":["Zmazať"],"sdk.controls.entity.replace.label":["Nahradiť"],"sdk.controls.property.back.label":["Sp\xe4ť"],"sdk.controls.recipeGroup.notFound.message":["Skupina, ktor\xfa hľad\xe1te, už nie je k dispoz\xedcii. Vyberte pros\xedm in\xfa skupinu."],"sdk.controls.recipeGroup.notFound.title":["Nen\xe1jden\xe9"],"sdk.controls.tool.close.label":["Zavrieť"],"sdk.controls.units.feet.label":["stopy"],"sdk.controls.units.inch.label":["palce"],"sdk.controls.upload.dragDrop.hint":["alebo potiahnite sem"],"sdk.controls.upload.failed.error":["Nepodarilo sa nahrať s\xfabor."],"sdk.controls.upload.link.label":["Odkaz"],"sdk.controls.upload.size.error":["S\xfabor je pr\xedliš veľk\xfd. Maxim\xe1lna veľkosť je ",["0"]," MB."],"sdk.distanceDimension.hintMessageTooLarge":["Aktu\xe1lna hodnota je ",["0"],", čo je v\xe4čšie než povolen\xe9 maximum ",["1"],"."],"sdk.distanceDimension.hintMessageTooSmall":["Aktu\xe1lna hodnota je ",["0"],", čo je menšie než povolen\xe9 minimum ",["1"],"."],"sdk.finalize.notConfigured.tooltip":["Funkcia dokončenia nie je nakonfigurovan\xe1."],"sdk.finalize.outOfSync.hint":["Konfigur\xe1cia nie je synchronizovan\xe1. Niektor\xe9 zmeny neboli spr\xe1vne uložen\xe9."],"sdk.genericDimension.hintMessageTooLarge":["Aktu\xe1lna hodnota je ",["currentWithUnit"],", čo je v\xe4čšie než povolen\xe9 maximum ",["limitWithUnit"],"."],"sdk.genericDimension.hintMessageTooSmall":["Aktu\xe1lna hodnota je ",["currentWithUnit"],", čo je menšie než povolen\xe9 minimum ",["limitWithUnit"],"."],"sdk.layout.banner.readonly.cancel.label":["Zrušiť"],"sdk.layout.banner.readonly.clone.label":["Vytvoriť upraviteľn\xfa k\xf3piu"],"sdk.layout.banner.readonly.clone.message":["Chyst\xe1te sa vytvoriť upraviteľn\xfa k\xf3piu tohto nastavenia. Zmeny, ktor\xe9 urob\xedte, neovplyvnia p\xf4vodn\xfd zdieľan\xfd odkaz."],"sdk.layout.banner.readonly.clone.title":["Upraviť konfigur\xe1ciu"],"sdk.layout.banner.readonly.editConfig.label":["Upraviť konfigur\xe1ciu"],"sdk.layout.banner.readonly.editMobile.label":["Upraviť"],"sdk.layout.banner.readonly.info.message":["Prezer\xe1te konfigur\xe1ciu iba na č\xedtanie."],"sdk.layout.button.closeConfigurator.label":["Sp\xe4ť"],"sdk.layout.button.closePresetPreview.label":["Sp\xe4ť"],"sdk.layout.button.desktopBack.label":["Sp\xe4ť"],"sdk.layout.button.desktopSidebarBack.label":["Sp\xe4ť"],"sdk.layout.button.mobileBack.label":["Sp\xe4ť"],"sdk.layout.button.mobileSidebarBack.label":["Sp\xe4ť"],"sdk.layout.button.presetBack.label":["Sp\xe4ť"],"sdk.layout.button.saveRecipe.label":["Uložiť Recept"],"sdk.layout.button.saveTemplate.label":["Uložiť Šabl\xf3nu"],"sdk.layout.button.setTemplate.label":["Nastaviť ako Šabl\xf3nu"],"sdk.layout.controls.mobile.view3d.label":["3D pohľad"],"sdk.layout.controls.mobile.viewOnly.message":["<0>Režim iba na zobrazenie.</0> Pre \xfapravy konfigur\xe1cie použite zariadenie s v\xe4čšou obrazovkou."],"sdk.layout.controls.tablet.viewOnly.message":["<0>Režim iba na zobrazenie.</0> Pre \xfapravy konfigur\xe1cie použite zariadenie s v\xe4čšou obrazovkou alebo sk\xfaste zmeniť orient\xe1ciu zariadenia."],"sdk.layout.finalize.moreActions":["More finalization options"],"sdk.layout.footer.price.label":["Celkov\xe1 cena"],"sdk.layout.hamburgerMenu.language.dialogTitle":["Zmeniť jazyk"],"sdk.layout.hamburgerMenu.language.label":["Zmeniť jazyk"],"sdk.layout.menu.hamburger.close.label":["Zavrieť"],"sdk.layout.menu.hamburger.help.label":["Zobraziť pomocn\xedka"],"sdk.layout.menu.hamburger.help.label.closeButtonLabel":["Zavrieť"],"sdk.layout.menu.hamburger.share.label":["Zdieľať konfigur\xe1ciu"],"sdk.layout.menu.hamburger.title":["Nastavenia"],"sdk.layout.menu.hamburger.tooltip":["Otvoriť menu"],"sdk.layout.menu.language.close.label":["Zavrieť"],"sdk.layout.menu.measurements.close.label":["Zavrieť"],"sdk.layout.menu.measurements.label":["Zmeniť mieru"],"sdk.layout.navigation.common.product.label":["Web"],"sdk.layout.navigation.mobile.product.label":["Web"],"sdk.layout.navigation.steps.first.label":["Produkty"],"sdk.layout.sidebar.disabledFinalizeButton.label":["Dokončiť"],"sdk.layout.sidebar.finalize.label":["Pridať do koš\xedka"],"sdk.layout.sidebar.finalizePage.label":["Dokončiť"],"sdk.layout.sidebar.nextStep.label":["Ďalš\xed krok"],"sdk.layout.sidebar.nextStepShort.label":["Ďalej"],"sdk.layout.sidebar.previousStep.label":["Predch\xe1dzaj\xfaci krok"],"sdk.layout.sidebar.price.label":["Cena"],"sdk.layout.sidebar.totalPrice.label":["Celkov\xe1 cena"],"sdk.layout.summary.button.label":["Zhrnutie"],"sdk.layout.toolbar.mobile.tools.title":["N\xe1stroje"],"sdk.layout.toolbar.mobile.units.label":["Jednotky"],"sdk.measurements":["Zmeniť mieru"],"sdk.messages.error.configNotFound.message":["Konfigur\xe1cia, ku ktorej sa pok\xfašate pristupovať, už nemus\xed existovať, alebo nem\xe1te potrebn\xe9 opr\xe1vnenia na jej zobrazenie."],"sdk.messages.error.configNotFound.title":["Konfigur\xe1cia nie je pr\xedstupn\xe1"],"sdk.messages.error.configurator.backToHome.label":["Sp\xe4ť na domovsk\xfa str\xe1nku"],"sdk.messages.error.configurator.message":["Moment\xe1lne m\xe1me technick\xe9 probl\xe9my. Sk\xfaste to pros\xedm o p\xe1r min\xfat. Ďakujeme za vašu trpezlivosť!"],"sdk.messages.error.configurator.title":["Ups, niečo sa pokazilo!"],"sdk.messages.error.configuratorRoot.backToHome.label":["Sp\xe4ť na domovsk\xfa str\xe1nku"],"sdk.messages.error.configuratorRoot.message":["Moment\xe1lne m\xe1me technick\xe9 probl\xe9my. Sk\xfaste to pros\xedm o p\xe1r min\xfat. Ďakujeme za vašu trpezlivosť!"],"sdk.messages.error.configuratorRoot.title":["Ups, niečo sa pokazilo!"],"sdk.messages.error.gpuDisabled.message":["V\xe1š prehliadač m\xe1 zak\xe1zan\xfa GPU akceler\xe1ciu, čo br\xe1ni spr\xe1vnemu fungovaniu konfigur\xe1tora. 3D v\xfdkon je v\xe1žne ovplyvnen\xfd. Povoľte t\xfato možnosť v nastaveniach prehliadača, aby ste mohli konfigur\xe1tor použ\xedvať."],"sdk.messages.error.gpuDisabled.title":["GPU akceler\xe1cia zak\xe1zan\xe1"],"sdk.messages.error.notFound.backToHome.label":["Sp\xe4ť na domovsk\xfa str\xe1nku"],"sdk.messages.error.webglNotSupported.message":["Vaše zariadenie alebo prehliadač nepodporuje WebGL, ktor\xfd je nutn\xfd pre funkciu konfigur\xe1tora. Sk\xfaste in\xfd prehliadač alebo zariadenie, ktor\xe9 podporuje WebGL"],"sdk.messages.error.webglNotSupported.title":["WebGL nie je podporovan\xfd alebo nemožno inicializovať"],"sdk.messages.finalize.error":["Ups, niečo sa pokazilo"],"sdk.messages.navigation.goToHomepage.label":["Prejsť na \xfavodn\xfa str\xe1nku"],"sdk.messages.otherAction.error":["Ups, niečo sa pokazilo"],"sdk.messages.system.invalidDeployment.close.label":["Znovu nač\xedtať"],"sdk.messages.system.invalidDeployment.message":["Konfigur\xe1tor bol aktualizovan\xfd. Pros\xedm, znovu nač\xedtajte str\xe1nku pre pokračovanie."],"sdk.messages.system.invalidDeployment.title":["Konfigur\xe1tor aktualizovan\xfd"],"sdk.messages.validation.uncaughtError.message":["Došlo k neočak\xe1vanej chybe. Sk\xfaste to pros\xedm znova."],"sdk.persist.system.error.dismiss":["Zavrieť"],"sdk.persist.system.error.message":["Pri aktualiz\xe1cii konfigur\xe1cie došlo k chybe"],"sdk.persist.system.error.recovered":["Konfigur\xe1cia aktualizovan\xe1"],"sdk.presets.category.count.message":[["presetCount","plural",{"one":["#"," šabl\xf3na"],"few":["#"," šabl\xf3ny"],"other":["#"," šabl\xf3n"]}]],"sdk.presets.category.heading.title":["Vyberte v\xfdchodiskov\xfa šabl\xf3nu"],"sdk.presets.create.error.dismiss.label":["Zavrieť"],"sdk.presets.create.error.message":["Konfigur\xe1ciu sa z tejto šabl\xf3ny nepodarilo spustiť. Sk\xfaste to pros\xedm znova."],"sdk.presets.detail.close.label":["Zavrieť"],"sdk.presets.detail.learnMore.label":["Zistiť viac"],"sdk.presets.detail.select.label":["Vybrať"],"sdk.presets.preview.title":["Prisp\xf4sobiť produkt"],"sdk.presets.select.button.label":["Vybrať"],"sdk.presets.start.button.label":["Začať konfigurovať"],"sdk.preview.customize.title":["Prisp\xf4sobiť produkt"],"sdk.preview.start.button.label":["Začať konfigurovať"],"sdk.sketching.angle.apply.label":["Použiť"],"sdk.sketching.angle.cancel.label":["Zrušiť"],"sdk.sketching.angle.control.label":["Uhol"],"sdk.sketching.angle.control.text":["Upravte uhol"],"sdk.sketching.angle.control.title":["Nastaviť uhol"],"sdk.sketching.angle.input.error":["Zadajte platn\xe9 č\xedslo!"],"sdk.sketching.dimension.apply.label":["Použiť"],"sdk.sketching.dimension.cancel.label":["Zrušiť"],"sdk.sketching.dimension.depth.label":["Hĺbka"],"sdk.sketching.dimension.depth.text":["Upravte hĺbku"],"sdk.sketching.dimension.depth.title":["Nastaviť hĺbku"],"sdk.sketching.dimension.input.error":["Zadajte platn\xe9 č\xedslo!"],"sdk.sketching.dimension.length.label":["Dĺžka"],"sdk.sketching.dimension.length.text":["Upravte dĺžku"],"sdk.sketching.dimension.length.title":["Nastaviť dĺžku"],"sdk.sketching.dimension.width.label":["Š\xedrka"],"sdk.sketching.dimension.width.text":["Upravte š\xedrku"],"sdk.sketching.dimension.width.title":["Nastaviť š\xedrku"],"sdk.sketching.draw.done.label":["Hotovo"],"sdk.sketching.spotlight.label":["Kliknite pre začatie kreslenia"],"sdk.toolbar.actions.undoRedo.label":["Akcie"],"sdk.toolbar.camera.reset.label":["Resetovať kameru"],"sdk.toolbar.camera.reset.labelAriaLabel":["resetovať kameru na v\xfdchodiskov\xfa poz\xedciu"],"sdk.toolbar.fullscreen.enter.label":["Otvoriť na cel\xfa obrazovku"],"sdk.toolbar.fullscreen.exit.label":["Ukončiť cel\xfa obrazovku"],"sdk.toolbar.help.close.label":["Zavrieť"],"sdk.toolbar.help.label":["Pomocn\xedk"],"sdk.toolbar.language.title":["Prepn\xfať jazyk"],"sdk.toolbar.measurements.change.aria":["otvoriť menu merania"],"sdk.toolbar.measurements.indicators.label":["Indik\xe1tory rozmerov"],"sdk.toolbar.measurements.input.aria":["Prepn\xfať meranie"],"sdk.toolbar.measurements.units.aria":["Nastavenie jednotiek merania"],"sdk.toolbar.mobile.fullscreen.enter.label":["Rozbaliť"],"sdk.toolbar.mobile.fullscreen.exit.label":["Zmenšiť"],"sdk.toolbar.mobile.fullscreen.title":["Režim celej obrazovky"],"sdk.toolbar.mobile.open.aria":["Otvoriť panel n\xe1strojov"],"sdk.toolbar.mobile.viewControls.label":["Pohľady"],"sdk.toolbar.share.allowEdit.label":["Povoliť pr\xedjemcovi upravovať konfigur\xe1ciu"],"sdk.toolbar.share.allowEditShort.label":["Povoliť pr\xedjemcovi upravovať"],"sdk.toolbar.share.close.label":["Zavrieť"],"sdk.toolbar.share.copiedLinkButtonTitle":["Skop\xedrovan\xe9"],"sdk.toolbar.share.copyLink.label":["Skop\xedrovať odkaz"],"sdk.toolbar.share.copyLinkButtonTitle":["Skop\xedrovať odkaz"],"sdk.toolbar.share.input.aria":["Prepn\xfať pre skop\xedrovanie upraviteľn\xe9ho odkazu do schr\xe1nky"],"sdk.toolbar.share.label":["Zdieľať konfigur\xe1ciu"],"sdk.toolbar.share.linkCopied.label":["Skop\xedrovan\xe9"],"sdk.toolbar.share.loading.label":["generovanie odkazu..."],"sdk.toolbar.share.open.label":["Zdieľať"],"sdk.toolbar.share.section.label":["Zdieľať svoj v\xfdtvor"],"sdk.toolbar.undoRedo.redo.label":["Znova"],"sdk.toolbar.undoRedo.undo.label":["Sp\xe4ť"],"sdk.toolbar.viewControls.title":["Prepn\xfať pohľad"],"sdk.totalPrice":["Celkov\xe1 cena"]}');
1
+ export const messages=JSON.parse('{"sdk.admin.error.backToHome.label":["Sp\xe4ť na domovsk\xfa str\xe1nku"],"sdk.admin.error.system.message":["Moment\xe1lne m\xe1me technick\xe9 probl\xe9my. Sk\xfaste to pros\xedm o p\xe1r min\xfat. Ďakujeme za vašu trpezlivosť!"],"sdk.admin.error.system.title":["Ups, niečo sa pokazilo!"],"sdk.angleDimension.hintMessageTooLarge":["Aktu\xe1lna hodnota je ",["currentWithUnit"],", čo je v\xe4čšie než povolen\xe9 maximum ",["limitWithUnit"],"."],"sdk.angleDimension.hintMessageTooSmall":["Aktu\xe1lna hodnota je ",["currentWithUnit"],", čo je menšie než povolen\xe9 minimum ",["limitWithUnit"],"."],"sdk.assistant.composer.disclaimer":["AI sa m\xf4že m\xfdliť. V\xfdsledok si skontrolujte."],"sdk.assistant.composer.placeholder":["Op\xfdtajte sa alebo nap\xedšte, čo zmeniť…"],"sdk.assistant.composer.send.label":["Odoslať"],"sdk.assistant.composer.stop.label":["Zastaviť"],"sdk.assistant.failure.busy":["Asistent ešte pracuje na predch\xe1dzaj\xfacej spr\xe1ve."],"sdk.assistant.failure.notAvailable":["Asistent tu nie je dostupn\xfd."],"sdk.assistant.failure.retry.label":["Sk\xfasiť znova"],"sdk.assistant.failure.unavailable":["Asistent teraz nie je dostupn\xfd."],"sdk.assistant.form.confirm.no":["Nie"],"sdk.assistant.form.confirm.yes":["\xc1no"],"sdk.assistant.form.failure":["Asistent nedok\xe1zal zostaviť tento formul\xe1r."],"sdk.assistant.form.fix.label":["Opraviť"],"sdk.assistant.form.number.invalid":["Zadajte č\xedslo."],"sdk.assistant.form.submit.label":["Odoslať"],"sdk.assistant.form.writing":["Pripravuje sa formul\xe1r…"],"sdk.assistant.panel.close.label":["Zavrieť asistenta"],"sdk.assistant.panel.title":["Asistent"],"sdk.assistant.reference.unavailable.message":["Moment\xe1lne nie je k dispoz\xedcii"],"sdk.assistant.thread.earlierSummarized":["Predch\xe1dzaj\xfaca konverz\xe1cia zhrnut\xe1"],"sdk.assistant.thread.greeting":["Dobr\xfd deň. M\xf4žem odpovedať na ot\xe1zky k tomuto n\xe1vrhu a upravovať ho s vami. Nap\xedšte, čo potrebujete."],"sdk.assistant.thread.loading":["Nač\xedtavam konverz\xe1ciu…"],"sdk.assistant.thread.loadingEarlier":["Nač\xedtavam predch\xe1dzaj\xfacu konverz\xe1ciu…"],"sdk.assistant.thread.newReply.label":["Nov\xe1 odpoveď"],"sdk.assistant.thread.resuming":["Obnovujem konverz\xe1ciu…"],"sdk.assistant.thread.showEarlier.label":["Zobraziť predch\xe1dzaj\xfacu konverz\xe1ciu"],"sdk.assistant.thread.thinking":["Prem\xfdšľam…"],"sdk.assistant.tool.cancelled.hint":["Zastaven\xe9 pred dokončen\xedm."],"sdk.assistant.tool.mistake.hint":["Asistent urobil chybu."],"sdk.assistant.tool.noResult.hint":["V\xfdsledok tohto kroku sa stratil. Krok mohol, ale nemusel byť vykonan\xfd."],"sdk.assistant.tool.readDesign.label":["Č\xedtanie n\xe1vrhu"],"sdk.assistant.tool.toolBudget.hint":["Nevykonan\xe9: asistent dosiahol limit krokov pre jednu spr\xe1vu."],"sdk.assistant.tool.undo.label":["Sp\xe4ť"],"sdk.assistant.tool.updateDesign.label":["\xdaprava n\xe1vrhu"],"sdk.assistant.toolbarButton.label":["Asistent"],"sdk.chat.disclaimer.close.label":["Zavrieť"],"sdk.chat.disclaimer.dialog.title":["Upozornenie k chatu"],"sdk.chat.disclaimer.full.message":["<0>Nasleduj\xface vyhl\xe1senie m\xe1 za cieľ informovať použ\xedvateľov o obmedzeniach a pokynoch pre použ\xedvanie AI chatbota dostupn\xe9ho na tomto webe. Pred komunik\xe1ciou s chatbotom si pros\xedm pozorne preč\xedtajte toto vyhl\xe1senie.</0><1><2>Všeobecn\xe9 inform\xe1cie:</2> AI chatbot je automatizovan\xfd syst\xe9m poh\xe1ňan\xfd OpenAI/ChatGPT. Je navrhnut\xfd tak, aby poskytoval inform\xe1cie a pomoc na z\xe1klade dostupn\xfdch inform\xe1ci\xed o produktoch pon\xfakan\xfdch na tomto webe. Aj keď sa snaž\xedme poskytovať presn\xe9 inform\xe1cie prostredn\xedctvom AI chatbota, nem\xf4žeme zaručiť presnosť, \xfaplnosť alebo aktu\xe1lnosť poskytovan\xfdch inform\xe1ci\xed. Odpor\xfačame použ\xedvať odpovede ako v\xfdchodiskov\xfd bod a overovať odpovede u poskytovateľa t\xfdchto inform\xe1ci\xed (vlastn\xedka tohto webu) alebo akejkoľvek dostupnej produktovej dokument\xe1cie.</1><3><4>Zodpovednosť použ\xedvateľa:</4> Použ\xedvatelia AI chatbota nes\xfa v\xfdhradn\xfa zodpovednosť za svoje interakcie a spoliehanie sa na poskytovan\xe9 inform\xe1cie. Je d\xf4ležit\xe9 byť opatrn\xfd a použ\xedvať vlastn\xfd \xfasudok pri interpret\xe1cii a konan\xed na z\xe1klade odpoved\xed chatbota. Ani vlastn\xedk tohto webu, ani poskytovateľ technol\xf3gie chatbota nem\xf4že byť činen\xfd zodpovedn\xfdm za ak\xe9koľvek činy, straty alebo škody vypl\xfdvaj\xface z použ\xedvania chatbota.</3><5><6>Ochrana \xfadajov a bezpečnosť:</6> Uprednostňujeme ochranu a bezpečnosť inform\xe1ci\xed použ\xedvateľov. Majte na pam\xe4ti, že konverz\xe1cie s chatbotom m\xf4žu byť skontrolovan\xe9 vlastn\xedkom tohto webu a poskytovateľom technol\xf3gie za \xfačelom zlepšenia v\xfdsledkov. Zatiaľ čo OpenAI/ChatGPT uchov\xe1va z\xe1znamy t\xfdchto konverz\xe1ci\xed po dobu 30 dn\xed, tieto d\xe1ta sa nepouž\xedvaj\xfa na tr\xe9ning ich AI modelov. Nezdieľajte žiadne citliv\xe9 alebo osobn\xe9 inform\xe1cie vo vašich konverz\xe1ci\xe1ch.</5><7>Použ\xedvan\xedm tohto AI chatbota vyjadrujete svoj s\xfahlas a porozumenie vyššie uveden\xe9mu vyhl\xe1seniu. Ak nes\xfahlas\xedte s ktoroukoľvek časťou tohto vyhl\xe1senia, odpor\xfačame chatbot nepouž\xedvať.</7>"],"sdk.chat.disclaimer.inline.message":["Varovanie! AI sa m\xf4že m\xfdliť"],"sdk.chat.disclaimer.seeMore.label":["viac inform\xe1ci\xed"],"sdk.chat.header.desktop.title":["Asistent"],"sdk.chat.input.default.placeholder":["Hľadajte alebo sa op\xfdtajte na čokoľvek..."],"sdk.chat.input.footer.placeholder":["P\xedšte sem..."],"sdk.chat.mobile.assistant.label":["AI Asistent"],"sdk.chat.send.button.label":["Odoslať spr\xe1vu"],"sdk.chat.system.error.message":["Chyba"],"sdk.chat.welcome.greeting.message":["Op\xfdtajte sa na čokoľvek alebo vyberte z najčastejšie kladen\xfdch ot\xe1zok"],"sdk.collision.warning.tooltip":["Predmety s\xfa pr\xedliš bl\xedzko alebo sa prekr\xfdvaj\xfa"],"sdk.controls.dimension.angle.error":["Neplatn\xfd uhol"],"sdk.controls.dimension.angle.hint":["Zadajte uhol"],"sdk.controls.dimension.angle.hintRange":["Zadajte č\xedslo medzi ",["0"],["unitLabelWithSpace"]," a ",["1"],["unitLabelWithSpace"],"."],"sdk.controls.dimension.angleSlider.error":["Neplatn\xfd uhol"],"sdk.controls.dimension.distance.error":["Neplatn\xe1 vzdialenosť"],"sdk.controls.dimension.distance.hint":["Zadajte vzdialenosť"],"sdk.controls.dimension.distance.hintRange":["Zadajte č\xedslo medzi ",["0"]," a ",["1"],"."],"sdk.controls.dimension.distanceSlider.error":["Neplatn\xe1 vzdialenosť"],"sdk.controls.dimension.generic.error":["Neplatn\xe1 hodnota"],"sdk.controls.dimension.generic.hint":["Zadajte hodnotu"],"sdk.controls.dimension.generic.hintRange":["Zadajte č\xedslo medzi ",["0"]," a ",["1"],"."],"sdk.controls.dimension.genericSlider.error":["Neplatn\xe1 hodnota"],"sdk.controls.dimension.indicator.apply":["Použiť"],"sdk.controls.dimension.indicator.cancel":["Zrušiť"],"sdk.controls.dimension.list.selector.close.label":["Zavrieť"],"sdk.controls.dimension.offset.hint":["Zadajte odsadenie"],"sdk.controls.dimension.size.hint":["Zadajte rozmer"],"sdk.controls.entity.add.close.label":["Zavrieť"],"sdk.controls.entity.add.nothingMessage":["Sem nemožno nič pridať"],"sdk.controls.entity.childDelete.label":["Zmazať"],"sdk.controls.entity.childSelect.label":["Upraviť"],"sdk.controls.entity.delete.label":["Zmazať"],"sdk.controls.entity.replace.label":["Nahradiť"],"sdk.controls.property.back.label":["Sp\xe4ť"],"sdk.controls.recipeGroup.notFound.message":["Skupina, ktor\xfa hľad\xe1te, už nie je k dispoz\xedcii. Vyberte pros\xedm in\xfa skupinu."],"sdk.controls.recipeGroup.notFound.title":["Nen\xe1jden\xe9"],"sdk.controls.tool.close.label":["Zavrieť"],"sdk.controls.units.feet.label":["stopy"],"sdk.controls.units.inch.label":["palce"],"sdk.controls.upload.dragDrop.hint":["alebo potiahnite sem"],"sdk.controls.upload.failed.error":["Nepodarilo sa nahrať s\xfabor."],"sdk.controls.upload.link.label":["Odkaz"],"sdk.controls.upload.size.error":["S\xfabor je pr\xedliš veľk\xfd. Maxim\xe1lna veľkosť je ",["0"]," MB."],"sdk.distanceDimension.hintMessageTooLarge":["Aktu\xe1lna hodnota je ",["0"],", čo je v\xe4čšie než povolen\xe9 maximum ",["1"],"."],"sdk.distanceDimension.hintMessageTooSmall":["Aktu\xe1lna hodnota je ",["0"],", čo je menšie než povolen\xe9 minimum ",["1"],"."],"sdk.finalize.notConfigured.tooltip":["Funkcia dokončenia nie je nakonfigurovan\xe1."],"sdk.finalize.outOfSync.hint":["Konfigur\xe1cia nie je synchronizovan\xe1. Niektor\xe9 zmeny neboli spr\xe1vne uložen\xe9."],"sdk.genericDimension.hintMessageTooLarge":["Aktu\xe1lna hodnota je ",["currentWithUnit"],", čo je v\xe4čšie než povolen\xe9 maximum ",["limitWithUnit"],"."],"sdk.genericDimension.hintMessageTooSmall":["Aktu\xe1lna hodnota je ",["currentWithUnit"],", čo je menšie než povolen\xe9 minimum ",["limitWithUnit"],"."],"sdk.layout.banner.readonly.cancel.label":["Zrušiť"],"sdk.layout.banner.readonly.clone.label":["Vytvoriť upraviteľn\xfa k\xf3piu"],"sdk.layout.banner.readonly.clone.message":["Chyst\xe1te sa vytvoriť upraviteľn\xfa k\xf3piu tohto nastavenia. Zmeny, ktor\xe9 urob\xedte, neovplyvnia p\xf4vodn\xfd zdieľan\xfd odkaz."],"sdk.layout.banner.readonly.clone.title":["Upraviť konfigur\xe1ciu"],"sdk.layout.banner.readonly.editConfig.label":["Upraviť konfigur\xe1ciu"],"sdk.layout.banner.readonly.editMobile.label":["Upraviť"],"sdk.layout.banner.readonly.info.message":["Prezer\xe1te konfigur\xe1ciu iba na č\xedtanie."],"sdk.layout.button.closeConfigurator.label":["Sp\xe4ť"],"sdk.layout.button.closePresetPreview.label":["Sp\xe4ť"],"sdk.layout.button.desktopBack.label":["Sp\xe4ť"],"sdk.layout.button.desktopSidebarBack.label":["Sp\xe4ť"],"sdk.layout.button.mobileBack.label":["Sp\xe4ť"],"sdk.layout.button.mobileSidebarBack.label":["Sp\xe4ť"],"sdk.layout.button.presetBack.label":["Sp\xe4ť"],"sdk.layout.button.saveRecipe.label":["Uložiť Recept"],"sdk.layout.button.saveTemplate.label":["Uložiť Šabl\xf3nu"],"sdk.layout.button.setTemplate.label":["Nastaviť ako Šabl\xf3nu"],"sdk.layout.controls.mobile.view3d.label":["3D pohľad"],"sdk.layout.controls.mobile.viewOnly.message":["<0>Režim iba na zobrazenie.</0> Pre \xfapravy konfigur\xe1cie použite zariadenie s v\xe4čšou obrazovkou."],"sdk.layout.controls.tablet.viewOnly.message":["<0>Režim iba na zobrazenie.</0> Pre \xfapravy konfigur\xe1cie použite zariadenie s v\xe4čšou obrazovkou alebo sk\xfaste zmeniť orient\xe1ciu zariadenia."],"sdk.layout.finalize.moreActions":["More finalization options"],"sdk.layout.footer.price.label":["Celkov\xe1 cena"],"sdk.layout.hamburgerMenu.language.dialogTitle":["Zmeniť jazyk"],"sdk.layout.hamburgerMenu.language.label":["Zmeniť jazyk"],"sdk.layout.menu.hamburger.close.label":["Zavrieť"],"sdk.layout.menu.hamburger.help.label":["Zobraziť pomocn\xedka"],"sdk.layout.menu.hamburger.help.label.closeButtonLabel":["Zavrieť"],"sdk.layout.menu.hamburger.share.label":["Zdieľať konfigur\xe1ciu"],"sdk.layout.menu.hamburger.title":["Nastavenia"],"sdk.layout.menu.hamburger.tooltip":["Otvoriť menu"],"sdk.layout.menu.language.close.label":["Zavrieť"],"sdk.layout.menu.measurements.close.label":["Zavrieť"],"sdk.layout.menu.measurements.label":["Zmeniť mieru"],"sdk.layout.navigation.common.product.label":["Web"],"sdk.layout.navigation.mobile.product.label":["Web"],"sdk.layout.navigation.steps.first.label":["Produkty"],"sdk.layout.sidebar.disabledFinalizeButton.label":["Dokončiť"],"sdk.layout.sidebar.finalize.label":["Pridať do koš\xedka"],"sdk.layout.sidebar.finalizePage.label":["Dokončiť"],"sdk.layout.sidebar.nextStep.label":["Ďalš\xed krok"],"sdk.layout.sidebar.nextStepShort.label":["Ďalej"],"sdk.layout.sidebar.previousStep.label":["Predch\xe1dzaj\xfaci krok"],"sdk.layout.sidebar.price.label":["Cena"],"sdk.layout.sidebar.totalPrice.label":["Celkov\xe1 cena"],"sdk.layout.summary.button.label":["Zhrnutie"],"sdk.layout.toolbar.mobile.tools.title":["N\xe1stroje"],"sdk.layout.toolbar.mobile.units.label":["Jednotky"],"sdk.measurements":["Zmeniť mieru"],"sdk.messages.error.configNotFound.message":["Konfigur\xe1cia, ku ktorej sa pok\xfašate pristupovať, už nemus\xed existovať, alebo nem\xe1te potrebn\xe9 opr\xe1vnenia na jej zobrazenie."],"sdk.messages.error.configNotFound.title":["Konfigur\xe1cia nie je pr\xedstupn\xe1"],"sdk.messages.error.configurator.backToHome.label":["Sp\xe4ť na domovsk\xfa str\xe1nku"],"sdk.messages.error.configurator.message":["Moment\xe1lne m\xe1me technick\xe9 probl\xe9my. Sk\xfaste to pros\xedm o p\xe1r min\xfat. Ďakujeme za vašu trpezlivosť!"],"sdk.messages.error.configurator.title":["Ups, niečo sa pokazilo!"],"sdk.messages.error.configuratorRoot.backToHome.label":["Sp\xe4ť na domovsk\xfa str\xe1nku"],"sdk.messages.error.configuratorRoot.message":["Moment\xe1lne m\xe1me technick\xe9 probl\xe9my. Sk\xfaste to pros\xedm o p\xe1r min\xfat. Ďakujeme za vašu trpezlivosť!"],"sdk.messages.error.configuratorRoot.title":["Ups, niečo sa pokazilo!"],"sdk.messages.error.gpuDisabled.message":["V\xe1š prehliadač m\xe1 zak\xe1zan\xfa GPU akceler\xe1ciu, čo br\xe1ni spr\xe1vnemu fungovaniu konfigur\xe1tora. 3D v\xfdkon je v\xe1žne ovplyvnen\xfd. Povoľte t\xfato možnosť v nastaveniach prehliadača, aby ste mohli konfigur\xe1tor použ\xedvať."],"sdk.messages.error.gpuDisabled.title":["GPU akceler\xe1cia zak\xe1zan\xe1"],"sdk.messages.error.notFound.backToHome.label":["Sp\xe4ť na domovsk\xfa str\xe1nku"],"sdk.messages.error.webglNotSupported.message":["Vaše zariadenie alebo prehliadač nepodporuje WebGL, ktor\xfd je nutn\xfd pre funkciu konfigur\xe1tora. Sk\xfaste in\xfd prehliadač alebo zariadenie, ktor\xe9 podporuje WebGL"],"sdk.messages.error.webglNotSupported.title":["WebGL nie je podporovan\xfd alebo nemožno inicializovať"],"sdk.messages.finalize.error":["Ups, niečo sa pokazilo"],"sdk.messages.navigation.goToHomepage.label":["Prejsť na \xfavodn\xfa str\xe1nku"],"sdk.messages.otherAction.error":["Ups, niečo sa pokazilo"],"sdk.messages.system.invalidDeployment.close.label":["Znovu nač\xedtať"],"sdk.messages.system.invalidDeployment.message":["Konfigur\xe1tor bol aktualizovan\xfd. Pros\xedm, znovu nač\xedtajte str\xe1nku pre pokračovanie."],"sdk.messages.system.invalidDeployment.title":["Konfigur\xe1tor aktualizovan\xfd"],"sdk.messages.validation.uncaughtError.message":["Došlo k neočak\xe1vanej chybe. Sk\xfaste to pros\xedm znova."],"sdk.persist.system.error.dismiss":["Zavrieť"],"sdk.persist.system.error.message":["Pri aktualiz\xe1cii konfigur\xe1cie došlo k chybe"],"sdk.persist.system.error.recovered":["Konfigur\xe1cia aktualizovan\xe1"],"sdk.presets.category.count.message":[["presetCount","plural",{"one":["#"," šabl\xf3na"],"few":["#"," šabl\xf3ny"],"other":["#"," šabl\xf3n"]}]],"sdk.presets.category.heading.title":["Vyberte v\xfdchodiskov\xfa šabl\xf3nu"],"sdk.presets.create.error.dismiss.label":["Zavrieť"],"sdk.presets.create.error.message":["Konfigur\xe1ciu sa z tejto šabl\xf3ny nepodarilo spustiť. Sk\xfaste to pros\xedm znova."],"sdk.presets.detail.close.label":["Zavrieť"],"sdk.presets.detail.learnMore.label":["Zistiť viac"],"sdk.presets.detail.select.label":["Vybrať"],"sdk.presets.preview.title":["Prisp\xf4sobiť produkt"],"sdk.presets.select.button.label":["Vybrať"],"sdk.presets.start.button.label":["Začať konfigurovať"],"sdk.preview.customize.title":["Prisp\xf4sobiť produkt"],"sdk.preview.start.button.label":["Začať konfigurovať"],"sdk.sketching.angle.apply.label":["Použiť"],"sdk.sketching.angle.cancel.label":["Zrušiť"],"sdk.sketching.angle.control.label":["Uhol"],"sdk.sketching.angle.control.text":["Upravte uhol"],"sdk.sketching.angle.control.title":["Nastaviť uhol"],"sdk.sketching.angle.input.error":["Zadajte platn\xe9 č\xedslo!"],"sdk.sketching.dimension.apply.label":["Použiť"],"sdk.sketching.dimension.cancel.label":["Zrušiť"],"sdk.sketching.dimension.depth.label":["Hĺbka"],"sdk.sketching.dimension.depth.text":["Upravte hĺbku"],"sdk.sketching.dimension.depth.title":["Nastaviť hĺbku"],"sdk.sketching.dimension.input.error":["Zadajte platn\xe9 č\xedslo!"],"sdk.sketching.dimension.length.label":["Dĺžka"],"sdk.sketching.dimension.length.text":["Upravte dĺžku"],"sdk.sketching.dimension.length.title":["Nastaviť dĺžku"],"sdk.sketching.dimension.width.label":["Š\xedrka"],"sdk.sketching.dimension.width.text":["Upravte š\xedrku"],"sdk.sketching.dimension.width.title":["Nastaviť š\xedrku"],"sdk.sketching.draw.done.label":["Hotovo"],"sdk.sketching.spotlight.label":["Kliknite pre začatie kreslenia"],"sdk.toolbar.actions.undoRedo.label":["Akcie"],"sdk.toolbar.camera.reset.label":["Resetovať kameru"],"sdk.toolbar.camera.reset.labelAriaLabel":["resetovať kameru na v\xfdchodiskov\xfa poz\xedciu"],"sdk.toolbar.fullscreen.enter.label":["Otvoriť na cel\xfa obrazovku"],"sdk.toolbar.fullscreen.exit.label":["Ukončiť cel\xfa obrazovku"],"sdk.toolbar.help.close.label":["Zavrieť"],"sdk.toolbar.help.label":["Pomocn\xedk"],"sdk.toolbar.language.title":["Prepn\xfať jazyk"],"sdk.toolbar.measurements.change.aria":["otvoriť menu merania"],"sdk.toolbar.measurements.indicators.label":["Indik\xe1tory rozmerov"],"sdk.toolbar.measurements.input.aria":["Prepn\xfať meranie"],"sdk.toolbar.measurements.units.aria":["Nastavenie jednotiek merania"],"sdk.toolbar.mobile.fullscreen.enter.label":["Rozbaliť"],"sdk.toolbar.mobile.fullscreen.exit.label":["Zmenšiť"],"sdk.toolbar.mobile.fullscreen.title":["Režim celej obrazovky"],"sdk.toolbar.mobile.open.aria":["Otvoriť panel n\xe1strojov"],"sdk.toolbar.mobile.viewControls.label":["Pohľady"],"sdk.toolbar.share.allowEdit.label":["Povoliť pr\xedjemcovi upravovať konfigur\xe1ciu"],"sdk.toolbar.share.allowEditShort.label":["Povoliť pr\xedjemcovi upravovať"],"sdk.toolbar.share.close.label":["Zavrieť"],"sdk.toolbar.share.copiedLinkButtonTitle":["Skop\xedrovan\xe9"],"sdk.toolbar.share.copyLink.label":["Skop\xedrovať odkaz"],"sdk.toolbar.share.copyLinkButtonTitle":["Skop\xedrovať odkaz"],"sdk.toolbar.share.input.aria":["Prepn\xfať pre skop\xedrovanie upraviteľn\xe9ho odkazu do schr\xe1nky"],"sdk.toolbar.share.label":["Zdieľať konfigur\xe1ciu"],"sdk.toolbar.share.linkCopied.label":["Skop\xedrovan\xe9"],"sdk.toolbar.share.loading.label":["generovanie odkazu..."],"sdk.toolbar.share.open.label":["Zdieľať"],"sdk.toolbar.share.section.label":["Zdieľať svoj v\xfdtvor"],"sdk.toolbar.undoRedo.redo.label":["Znova"],"sdk.toolbar.undoRedo.undo.label":["Sp\xe4ť"],"sdk.toolbar.viewControls.title":["Prepn\xfať pohľad"],"sdk.totalPrice":["Celkov\xe1 cena"]}');
@@ -1 +1 @@
1
- export const messages=JSON.parse('{"sdk.admin.error.backToHome.label":["Ana sayfaya d\xf6n"],"sdk.admin.error.system.message":["Şu anda teknik zorluklar yaşıyoruz. L\xfctfen birka\xe7 dakika sonra tekrar deneyin. Sabrınız i\xe7in teşekk\xfcrler!"],"sdk.admin.error.system.title":["Sistem hatası"],"sdk.angleDimension.hintMessageTooLarge":["Mevcut değer ",["currentWithUnit"]," olup, izin verilen maksimum değer olan ",["limitWithUnit"]," değerinden b\xfcy\xfckt\xfcr."],"sdk.angleDimension.hintMessageTooSmall":["Mevcut değer ",["currentWithUnit"]," olup, izin verilen minimum değer olan ",["limitWithUnit"]," değerinden k\xfc\xe7\xfckt\xfcr."],"sdk.assistant.composer.disclaimer":["Yapay zek\xe2 yanılabilir. Sonucu kontrol edin."],"sdk.assistant.composer.placeholder":["Sorun veya neyi değiştireceğimi s\xf6yleyin…"],"sdk.assistant.composer.send.label":["G\xf6nder"],"sdk.assistant.composer.stop.label":["Durdur"],"sdk.assistant.failure.busy":["Asistan h\xe2l\xe2 \xf6nceki bir mesaj \xfczerinde \xe7alışıyor."],"sdk.assistant.failure.notAvailable":["Asistan burada kullanılamıyor."],"sdk.assistant.failure.retry.label":["Tekrar dene"],"sdk.assistant.failure.unavailable":["Asistan şu anda kullanılamıyor."],"sdk.assistant.form.failure":["Asistan bu formu oluşturamadı."],"sdk.assistant.form.fix.label":["D\xfczelt"],"sdk.assistant.form.submit.label":["G\xf6nder"],"sdk.assistant.form.writing":["Form hazırlanıyor…"],"sdk.assistant.panel.close.label":["Asistanı kapat"],"sdk.assistant.panel.title":["Asistan"],"sdk.assistant.reference.unavailable.message":["Şu anda kullanılamıyor"],"sdk.assistant.thread.earlierSummarized":["\xd6nceki konuşma \xf6zetlendi"],"sdk.assistant.thread.greeting":["Merhaba. Bu tasarımla ilgili soruları yanıtlayabilir ve onu sizinle birlikte değiştirebilirim. Neye ihtiyacınız olduğunu s\xf6yleyin."],"sdk.assistant.thread.loading":["Konuşma y\xfckleniyor…"],"sdk.assistant.thread.loadingEarlier":["\xd6nceki konuşma y\xfckleniyor…"],"sdk.assistant.thread.newReply.label":["Yeni yanıt"],"sdk.assistant.thread.resuming":["Konuşma s\xfcrd\xfcr\xfcl\xfcyor…"],"sdk.assistant.thread.showEarlier.label":["\xd6nceki konuşmayı g\xf6ster"],"sdk.assistant.thread.thinking":["D\xfcş\xfcn\xfcyor…"],"sdk.assistant.tool.cancelled.hint":["Tamamlanmadan durduruldu."],"sdk.assistant.tool.mistake.hint":["Asistan bir hata yaptı."],"sdk.assistant.tool.noResult.hint":["Bu adımın sonucu kayboldu. Adım uygulanmış da olabilir, uygulanmamış da."],"sdk.assistant.tool.readDesign.label":["Tasarımı oku"],"sdk.assistant.tool.toolBudget.hint":["Yapılmadı: asistan bir mesaj i\xe7in adım sınırına ulaştı."],"sdk.assistant.tool.undo.label":["Geri Al"],"sdk.assistant.tool.updateDesign.label":["Tasarımı g\xfcncelle"],"sdk.assistant.toolbarButton.label":["Asistan"],"sdk.chat.disclaimer.close.label":["Kapat"],"sdk.chat.disclaimer.dialog.title":["Asistan bildirimi"],"sdk.chat.disclaimer.full.message":["<0>Aşağıdaki sorumluluk reddi, bu web sitesinde bulunan AI chatbot\'un sınırlamaları ve kullanım y\xf6nergeleri hakkında kullanıcıları bilgilendirmek amacıyla hazırlanmıştır. Chatbot ile etkileşime ge\xe7meden \xf6nce l\xfctfen bu sorumluluk reddini dikkatlice okuyun.</0><1><2>Genel Bilgiler:</2> AI chatbot, OpenAI/ChatGPT tarafından desteklenen otomatik bir sistemdir. Bu web sitesinde sunulan \xfcr\xfcnler hakkında mevcut bilgilere dayanarak bilgi ve yardım sağlamak \xfczere tasarlanmıştır. AI chatbot aracılığıyla doğru bilgi sağlamaya \xe7alışsak da, sağlanan bilgilerin doğruluğunu, eksiksizliğini veya g\xfcncelliğini garanti edemeyiz. Yanıtları başlangı\xe7 noktası olarak kullanmanızı ve yanıtları bu bilgilerin sağlayıcısı (bu web sitesinin sahibi) veya mevcut \xfcr\xfcn belgelerinde doğrulamanızı \xf6neririz.</1><3><4>Kullanıcı Sorumluluğu:</4> AI chatbot kullanıcıları, etkileşimleri ve sağlanan bilgilere g\xfcvenmeleri konusunda tam sorumluluk taşırlar. Chatbot\'un yanıtlarını yorumlarken ve bunlara g\xf6re hareket ederken dikkatli olmak ve kendi takdirinizi kullanmak \xf6nemlidir. Bu web sitesinin sahibi veya chatbot teknolojisinin sağlayıcısı, chatbot kullanımından kaynaklanan eylemler, kayıplar veya zararlardan sorumlu tutulamaz.</3><5><6>Veri Gizliliği ve G\xfcvenliği:</6> Kullanıcı bilgilerinin gizliliğini ve g\xfcvenliğini \xf6nceliklendiriyoruz. Chatbot konuşmalarının sonu\xe7ları iyileştirmek i\xe7in bu web sitesinin sahibi ve teknoloji sağlayıcısı tarafından incelenebileceğini unutmayın. OpenAI/ChatGPT bu konuşmaların g\xfcnl\xfcklerini 30 g\xfcn boyunca saklarken, bu veriler AI modellerini eğitmek i\xe7in kullanılmaz. Konuşmalarınızda hassas veya kişisel bilgiler paylaşmayın.</5><7>Bu AI chatbot\'u kullanarak, yukarıdaki sorumluluk reddini kabul ettiğinizi ve anladığınızı belirtirsiniz. Bu sorumluluk reddinin herhangi bir b\xf6l\xfcm\xfcyle aynı fikirde değilseniz, chatbot\'u kullanmamanızı \xf6neririz.</7>"],"sdk.chat.disclaimer.inline.message":["Asistan deneyseldir ve yanlış bilgiler sağlayabilir."],"sdk.chat.disclaimer.seeMore.label":["Daha fazla bilgi"],"sdk.chat.header.desktop.title":["Asistan"],"sdk.chat.input.default.placeholder":["Mesaj yazın..."],"sdk.chat.input.footer.placeholder":["Mesaj yazın..."],"sdk.chat.mobile.assistant.label":["Asistan"],"sdk.chat.send.button.label":["Mesaj g\xf6nder"],"sdk.chat.system.error.message":["Asistanla iletişim kurarken bir hata oluştu. L\xfctfen tekrar deneyin."],"sdk.chat.welcome.greeting.message":["Merhaba! Ben sizin asistanınızım ve \xfcr\xfcn yapılandırması konusunda size yardımcı olacağım. Ne \xf6ğrenmek istersiniz?"],"sdk.collision.warning.tooltip":["\xd6ğeler \xe7ok yakın veya \xe7akışıyor"],"sdk.controls.dimension.angle.error":["Ge\xe7ersiz a\xe7ı"],"sdk.controls.dimension.angle.hint":["A\xe7ı girin"],"sdk.controls.dimension.angle.hintRange":["L\xfctfen ",["0"],["unitLabelWithSpace"]," ile ",["1"],["unitLabelWithSpace"]," arasında bir sayı girin."],"sdk.controls.dimension.angleSlider.error":["Ge\xe7ersiz a\xe7ı"],"sdk.controls.dimension.distance.error":["Ge\xe7ersiz mesafe"],"sdk.controls.dimension.distance.hint":["Mesafe girin"],"sdk.controls.dimension.distance.hintRange":["Mesafe ",["0"]," ile ",["1"]," arasında olmalıdır"],"sdk.controls.dimension.distanceSlider.error":["Ge\xe7ersiz mesafe"],"sdk.controls.dimension.generic.error":["Ge\xe7ersiz değer"],"sdk.controls.dimension.generic.hint":["Değer girin"],"sdk.controls.dimension.generic.hintRange":["Değer ",["min"]," ile ",["max"]," arasında olmalıdır"],"sdk.controls.dimension.genericSlider.error":["Ge\xe7ersiz değer"],"sdk.controls.dimension.indicator.apply":["Uygula"],"sdk.controls.dimension.indicator.cancel":["İptal"],"sdk.controls.dimension.offset.hint":["Ofset girin"],"sdk.controls.dimension.size.hint":["Boyut girin"],"sdk.controls.entity.add.close.label":["Kapat"],"sdk.controls.entity.add.nothingMessage":["Eklenecek bir şey yok"],"sdk.controls.entity.childDelete.label":["Sil"],"sdk.controls.entity.childSelect.label":["Se\xe7"],"sdk.controls.entity.delete.label":["Sil"],"sdk.controls.entity.replace.label":["Değiştir"],"sdk.controls.property.back.label":["Geri"],"sdk.controls.recipeGroup.notFound.message":["Bulunamadı"],"sdk.controls.recipeGroup.notFound.title":["Aradığınız grup artık mevcut değil. L\xfctfen başka bir grup se\xe7in."],"sdk.controls.tool.close.label":["Kapat"],"sdk.controls.units.feet.label":["ayak"],"sdk.controls.units.inch.label":["in\xe7"],"sdk.controls.upload.dragDrop.hint":["Dosyaları buraya s\xfcr\xfckleyin veya se\xe7mek i\xe7in tıklayın"],"sdk.controls.upload.failed.error":["Y\xfckleme başarısız"],"sdk.controls.upload.link.label":["Veya bir bağlantı yapıştırın"],"sdk.controls.upload.size.error":["Dosya \xe7ok b\xfcy\xfck"],"sdk.distanceDimension.hintMessageTooLarge":["Mevcut değer ",["0"]," olup, izin verilen maksimum değer olan ",["1"]," değerinden b\xfcy\xfckt\xfcr."],"sdk.distanceDimension.hintMessageTooSmall":["Mevcut değer ",["0"]," olup, izin verilen minimum değer olan ",["1"]," değerinden k\xfc\xe7\xfckt\xfcr."],"sdk.finalize.notConfigured.tooltip":["Tamamlama \xf6zelliği yapılandırılmamış."],"sdk.finalize.outOfSync.hint":["Yapılandırma senkronize değil. Bazı değişiklikler d\xfczg\xfcn şekilde kaydedilmedi."],"sdk.genericDimension.hintMessageTooLarge":["Mevcut değer ",["currentWithUnit"]," olup, izin verilen maksimum değer olan ",["limitWithUnit"]," değerinden b\xfcy\xfckt\xfcr."],"sdk.genericDimension.hintMessageTooSmall":["Mevcut değer ",["currentWithUnit"]," olup, izin verilen minimum değer olan ",["limitWithUnit"]," değerinden k\xfc\xe7\xfckt\xfcr."],"sdk.layout.banner.readonly.cancel.label":["İptal"],"sdk.layout.banner.readonly.clone.label":["D\xfczenlemek i\xe7in klonla"],"sdk.layout.banner.readonly.clone.message":["Bu yapılandırmanın d\xfczenleme i\xe7in bir kopyasını oluşturmak ister misiniz?"],"sdk.layout.banner.readonly.clone.title":["Yapılandırmayı klonla"],"sdk.layout.banner.readonly.editConfig.label":["Yapılandırmayı d\xfczenle"],"sdk.layout.banner.readonly.editMobile.label":["D\xfczenle"],"sdk.layout.banner.readonly.info.message":["Bu yapılandırma salt okunurdur. D\xfczenlemek i\xe7in bir kopya oluşturun."],"sdk.layout.button.closeConfigurator.label":["Yapılandırıcıyı kapat"],"sdk.layout.button.closePresetPreview.label":["\xd6nceden ayarlanmış \xf6nizlemeyi kapat"],"sdk.layout.button.desktopBack.label":["Geri"],"sdk.layout.button.desktopSidebarBack.label":["Geri"],"sdk.layout.button.mobileBack.label":["Geri"],"sdk.layout.button.mobileSidebarBack.label":["Geri"],"sdk.layout.button.presetBack.label":["Geri"],"sdk.layout.button.saveRecipe.label":["Tarifi kaydet"],"sdk.layout.button.saveTemplate.label":["Şablonu kaydet"],"sdk.layout.button.setTemplate.label":["Şablon olarak ayarla"],"sdk.layout.controls.mobile.view3d.label":["3D g\xf6r\xfcn\xfcm"],"sdk.layout.controls.mobile.viewOnly.message":["<0>Sadece g\xf6r\xfcnt\xfcleme modu.</0> Konfig\xfcrasyonu değiştirmek i\xe7in daha b\xfcy\xfck ekranlı bir cihaz kullanın."],"sdk.layout.controls.tablet.viewOnly.message":["<0>Sadece g\xf6r\xfcnt\xfcleme modu.</0> Konfig\xfcrasyonu değiştirmek i\xe7in daha b\xfcy\xfck ekranlı bir cihaz kullanın veya cihazınızın y\xf6n\xfcn\xfc değiştirmeyi deneyin."],"sdk.layout.finalize.moreActions":["More finalization options"],"sdk.layout.footer.price.label":["Toplam fiyat"],"sdk.layout.hamburgerMenu.language.dialogTitle":["Dil se\xe7in"],"sdk.layout.hamburgerMenu.language.label":["Dil"],"sdk.layout.menu.hamburger.close.label":["Kapat"],"sdk.layout.menu.hamburger.help.label":["Yardım"],"sdk.layout.menu.hamburger.help.label.closeButtonLabel":["Yardımı kapat"],"sdk.layout.menu.hamburger.share.label":["Paylaş"],"sdk.layout.menu.hamburger.title":["Men\xfc"],"sdk.layout.menu.hamburger.tooltip":["Men\xfcy\xfc a\xe7"],"sdk.layout.menu.language.close.label":["Kapat"],"sdk.layout.menu.measurements.close.label":["Kapat"],"sdk.layout.menu.measurements.label":["\xd6l\xe7\xfcmler"],"sdk.layout.navigation.common.product.label":["\xdcr\xfcn"],"sdk.layout.navigation.mobile.product.label":["\xdcr\xfcn"],"sdk.layout.navigation.steps.first.label":["İlk"],"sdk.layout.sidebar.disabledFinalizeButton.label":["Sonlandır"],"sdk.layout.sidebar.finalize.label":["Tamamla"],"sdk.layout.sidebar.finalizePage.label":["Tamamla"],"sdk.layout.sidebar.nextStep.label":["Sonraki adım"],"sdk.layout.sidebar.nextStepShort.label":["Sonraki"],"sdk.layout.sidebar.previousStep.label":["\xd6nceki adım"],"sdk.layout.sidebar.price.label":["Fiyat"],"sdk.layout.sidebar.totalPrice.label":["Toplam fiyat"],"sdk.layout.summary.button.label":["\xd6zet"],"sdk.layout.toolbar.mobile.tools.title":["Ara\xe7lar"],"sdk.layout.toolbar.mobile.units.label":["Birimler"],"sdk.measurements":["\xd6l\xe7\xfcmler"],"sdk.messages.error.configNotFound.message":["Yapılandırma bulunamadı. Silinmiş olabilir veya yanlış bir bağlantı girmiş olabilirsiniz."],"sdk.messages.error.configNotFound.title":["Yapılandırma bulunamadı"],"sdk.messages.error.configurator.backToHome.label":["Ana sayfaya d\xf6n"],"sdk.messages.error.configurator.message":["Hay aksi, bir şeyler ters gitti! L\xfctfen tekrar deneyin veya destek ile iletişime ge\xe7in."],"sdk.messages.error.configurator.title":["Yapılandırıcı hatası"],"sdk.messages.error.configuratorRoot.backToHome.label":["Ana sayfaya d\xf6n"],"sdk.messages.error.configuratorRoot.message":["Yapılandırıcı kullanılamıyor. L\xfctfen daha sonra tekrar deneyin."],"sdk.messages.error.configuratorRoot.title":["Yapılandırıcı kullanılamıyor"],"sdk.messages.error.gpuDisabled.message":["GPU hızlandırması devre dışı. Performans azalabilir. Daha iyi performans i\xe7in tarayıcı ayarlarınızda donanım hızlandırmasını etkinleştirin."],"sdk.messages.error.gpuDisabled.title":["GPU hızlandırması devre dışı"],"sdk.messages.error.notFound.backToHome.label":["Ana sayfaya d\xf6n"],"sdk.messages.error.webglNotSupported.message":["Tarayıcınız 3D render i\xe7in gerekli olan WebGL\'yi desteklemiyor. L\xfctfen farklı bir tarayıcı kullanmayı deneyin veya mevcut olanı g\xfcncelleyin."],"sdk.messages.error.webglNotSupported.title":["WebGL desteklenmiyor"],"sdk.messages.finalize.error":["Oops, bir hata oluştu"],"sdk.messages.navigation.goToHomepage.label":["Ana sayfaya git"],"sdk.messages.otherAction.error":["Oops, bir hata oluştu"],"sdk.messages.system.invalidDeployment.close.label":["Kapat"],"sdk.messages.system.invalidDeployment.message":["Bu dağıtım ge\xe7ersiz veya silinmiş."],"sdk.messages.system.invalidDeployment.title":["Ge\xe7ersiz dağıtım"],"sdk.messages.validation.uncaughtError.message":["Beklenmeyen bir hata oluştu. L\xfctfen tekrar deneyin."],"sdk.persist.system.error.dismiss":["Kapat"],"sdk.persist.system.error.message":["Bir yapılandırmayı g\xfcncellemeye \xe7alışırken bir hata oluştu"],"sdk.persist.system.error.recovered":["Yapılandırma g\xfcncellendi"],"sdk.presets.category.count.message":[["count"]," \xf6nceden ayarlanmış"],"sdk.presets.category.heading.title":["Kategoriler"],"sdk.presets.create.error.dismiss.label":["Kapat"],"sdk.presets.create.error.message":["Bu hazır ayardan yapılandırma başlatılamadı. L\xfctfen tekrar deneyin."],"sdk.presets.detail.close.label":["Kapat"],"sdk.presets.detail.learnMore.label":["Daha fazla bilgi"],"sdk.presets.detail.select.label":["Se\xe7"],"sdk.presets.preview.title":["\xd6nizleme"],"sdk.presets.select.button.label":["Se\xe7"],"sdk.presets.start.button.label":["Başla"],"sdk.preview.customize.title":["\xd6zelleştir"],"sdk.preview.start.button.label":["Başla"],"sdk.sketching.angle.apply.label":["Uygula"],"sdk.sketching.angle.cancel.label":["İptal"],"sdk.sketching.angle.control.label":["A\xe7ı"],"sdk.sketching.angle.control.text":["A\xe7ıyı ayarla"],"sdk.sketching.angle.control.title":["A\xe7ı belirle"],"sdk.sketching.angle.input.error":["L\xfctfen ge\xe7erli bir sayı girin!"],"sdk.sketching.dimension.apply.label":["Uygula"],"sdk.sketching.dimension.cancel.label":["İptal"],"sdk.sketching.dimension.depth.label":["Derinlik"],"sdk.sketching.dimension.depth.text":["Derinliği ayarla"],"sdk.sketching.dimension.depth.title":["Derinlik belirle"],"sdk.sketching.dimension.input.error":["L\xfctfen ge\xe7erli bir sayı girin!"],"sdk.sketching.dimension.length.label":["Uzunluk"],"sdk.sketching.dimension.length.text":["Uzunluğu ayarla"],"sdk.sketching.dimension.length.title":["Uzunluk belirle"],"sdk.sketching.dimension.width.label":["Genişlik"],"sdk.sketching.dimension.width.text":["Genişliği ayarla"],"sdk.sketching.dimension.width.title":["Genişlik belirle"],"sdk.sketching.draw.done.label":["Tamam"],"sdk.sketching.spotlight.label":["\xc7izime başlamak i\xe7in tıklayın"],"sdk.toolbar.actions.undoRedo.label":["Geri Al/Yinele"],"sdk.toolbar.camera.reset.label":["Kamerayı sıfırla"],"sdk.toolbar.camera.reset.labelAriaLabel":["Kamerayı varsayılan konuma sıfırla"],"sdk.toolbar.fullscreen.enter.label":["Tam ekran"],"sdk.toolbar.fullscreen.exit.label":["Tam ekrandan \xe7ık"],"sdk.toolbar.help.close.label":["Yardımı kapat"],"sdk.toolbar.help.label":["Yardım"],"sdk.toolbar.language.title":["Dil"],"sdk.toolbar.measurements.change.aria":["\xd6l\xe7\xfcmleri değiştir"],"sdk.toolbar.measurements.indicators.label":["\xd6l\xe7\xfcm g\xf6stergeleri"],"sdk.toolbar.measurements.input.aria":["\xd6l\xe7\xfcm girişini değiştir"],"sdk.toolbar.measurements.units.aria":["\xd6l\xe7\xfcm birimlerini değiştir"],"sdk.toolbar.mobile.fullscreen.enter.label":["Tam ekran"],"sdk.toolbar.mobile.fullscreen.exit.label":["Tam ekrandan \xe7ık"],"sdk.toolbar.mobile.fullscreen.title":["Tam ekran"],"sdk.toolbar.mobile.open.aria":["Mobil ara\xe7ları a\xe7"],"sdk.toolbar.mobile.viewControls.label":["G\xf6r\xfcn\xfcm kontrolleri"],"sdk.toolbar.share.allowEdit.label":["D\xfczenlemeye izin ver"],"sdk.toolbar.share.allowEditShort.label":["D\xfczenleme"],"sdk.toolbar.share.close.label":["Kapat"],"sdk.toolbar.share.copiedLinkButtonTitle":["Bağlantı kopyalandı"],"sdk.toolbar.share.copyLink.label":["Bağlantıyı kopyala"],"sdk.toolbar.share.copyLinkButtonTitle":["Bağlantıyı kopyala"],"sdk.toolbar.share.input.aria":["Paylaşım bağlantısı girişi"],"sdk.toolbar.share.label":["Paylaş"],"sdk.toolbar.share.linkCopied.label":["Bağlantı kopyalandı"],"sdk.toolbar.share.loading.label":["Y\xfckleniyor..."],"sdk.toolbar.share.open.label":["A\xe7"],"sdk.toolbar.share.section.label":["Paylaş"],"sdk.toolbar.undoRedo.redo.label":["Yinele"],"sdk.toolbar.undoRedo.undo.label":["Geri Al"],"sdk.toolbar.viewControls.title":["G\xf6r\xfcn\xfcm kontrolleri"],"sdk.totalPrice":["Toplam fiyat"]}');
1
+ export const messages=JSON.parse('{"sdk.admin.error.backToHome.label":["Ana sayfaya d\xf6n"],"sdk.admin.error.system.message":["Şu anda teknik zorluklar yaşıyoruz. L\xfctfen birka\xe7 dakika sonra tekrar deneyin. Sabrınız i\xe7in teşekk\xfcrler!"],"sdk.admin.error.system.title":["Sistem hatası"],"sdk.angleDimension.hintMessageTooLarge":["Mevcut değer ",["currentWithUnit"]," olup, izin verilen maksimum değer olan ",["limitWithUnit"]," değerinden b\xfcy\xfckt\xfcr."],"sdk.angleDimension.hintMessageTooSmall":["Mevcut değer ",["currentWithUnit"]," olup, izin verilen minimum değer olan ",["limitWithUnit"]," değerinden k\xfc\xe7\xfckt\xfcr."],"sdk.assistant.composer.disclaimer":["Yapay zek\xe2 yanılabilir. Sonucu kontrol edin."],"sdk.assistant.composer.placeholder":["Sorun veya neyi değiştireceğimi s\xf6yleyin…"],"sdk.assistant.composer.send.label":["G\xf6nder"],"sdk.assistant.composer.stop.label":["Durdur"],"sdk.assistant.failure.busy":["Asistan h\xe2l\xe2 \xf6nceki bir mesaj \xfczerinde \xe7alışıyor."],"sdk.assistant.failure.notAvailable":["Asistan burada kullanılamıyor."],"sdk.assistant.failure.retry.label":["Tekrar dene"],"sdk.assistant.failure.unavailable":["Asistan şu anda kullanılamıyor."],"sdk.assistant.form.confirm.no":["Hayır"],"sdk.assistant.form.confirm.yes":["Evet"],"sdk.assistant.form.failure":["Asistan bu formu oluşturamadı."],"sdk.assistant.form.fix.label":["D\xfczelt"],"sdk.assistant.form.number.invalid":["Bir sayı girin."],"sdk.assistant.form.submit.label":["G\xf6nder"],"sdk.assistant.form.writing":["Form hazırlanıyor…"],"sdk.assistant.panel.close.label":["Asistanı kapat"],"sdk.assistant.panel.title":["Asistan"],"sdk.assistant.reference.unavailable.message":["Şu anda kullanılamıyor"],"sdk.assistant.thread.earlierSummarized":["\xd6nceki konuşma \xf6zetlendi"],"sdk.assistant.thread.greeting":["Merhaba. Bu tasarımla ilgili soruları yanıtlayabilir ve onu sizinle birlikte değiştirebilirim. Neye ihtiyacınız olduğunu s\xf6yleyin."],"sdk.assistant.thread.loading":["Konuşma y\xfckleniyor…"],"sdk.assistant.thread.loadingEarlier":["\xd6nceki konuşma y\xfckleniyor…"],"sdk.assistant.thread.newReply.label":["Yeni yanıt"],"sdk.assistant.thread.resuming":["Konuşma s\xfcrd\xfcr\xfcl\xfcyor…"],"sdk.assistant.thread.showEarlier.label":["\xd6nceki konuşmayı g\xf6ster"],"sdk.assistant.thread.thinking":["D\xfcş\xfcn\xfcyor…"],"sdk.assistant.tool.cancelled.hint":["Tamamlanmadan durduruldu."],"sdk.assistant.tool.mistake.hint":["Asistan bir hata yaptı."],"sdk.assistant.tool.noResult.hint":["Bu adımın sonucu kayboldu. Adım uygulanmış da olabilir, uygulanmamış da."],"sdk.assistant.tool.readDesign.label":["Tasarımı oku"],"sdk.assistant.tool.toolBudget.hint":["Yapılmadı: asistan bir mesaj i\xe7in adım sınırına ulaştı."],"sdk.assistant.tool.undo.label":["Geri Al"],"sdk.assistant.tool.updateDesign.label":["Tasarımı g\xfcncelle"],"sdk.assistant.toolbarButton.label":["Asistan"],"sdk.chat.disclaimer.close.label":["Kapat"],"sdk.chat.disclaimer.dialog.title":["Asistan bildirimi"],"sdk.chat.disclaimer.full.message":["<0>Aşağıdaki sorumluluk reddi, bu web sitesinde bulunan AI chatbot\'un sınırlamaları ve kullanım y\xf6nergeleri hakkında kullanıcıları bilgilendirmek amacıyla hazırlanmıştır. Chatbot ile etkileşime ge\xe7meden \xf6nce l\xfctfen bu sorumluluk reddini dikkatlice okuyun.</0><1><2>Genel Bilgiler:</2> AI chatbot, OpenAI/ChatGPT tarafından desteklenen otomatik bir sistemdir. Bu web sitesinde sunulan \xfcr\xfcnler hakkında mevcut bilgilere dayanarak bilgi ve yardım sağlamak \xfczere tasarlanmıştır. AI chatbot aracılığıyla doğru bilgi sağlamaya \xe7alışsak da, sağlanan bilgilerin doğruluğunu, eksiksizliğini veya g\xfcncelliğini garanti edemeyiz. Yanıtları başlangı\xe7 noktası olarak kullanmanızı ve yanıtları bu bilgilerin sağlayıcısı (bu web sitesinin sahibi) veya mevcut \xfcr\xfcn belgelerinde doğrulamanızı \xf6neririz.</1><3><4>Kullanıcı Sorumluluğu:</4> AI chatbot kullanıcıları, etkileşimleri ve sağlanan bilgilere g\xfcvenmeleri konusunda tam sorumluluk taşırlar. Chatbot\'un yanıtlarını yorumlarken ve bunlara g\xf6re hareket ederken dikkatli olmak ve kendi takdirinizi kullanmak \xf6nemlidir. Bu web sitesinin sahibi veya chatbot teknolojisinin sağlayıcısı, chatbot kullanımından kaynaklanan eylemler, kayıplar veya zararlardan sorumlu tutulamaz.</3><5><6>Veri Gizliliği ve G\xfcvenliği:</6> Kullanıcı bilgilerinin gizliliğini ve g\xfcvenliğini \xf6nceliklendiriyoruz. Chatbot konuşmalarının sonu\xe7ları iyileştirmek i\xe7in bu web sitesinin sahibi ve teknoloji sağlayıcısı tarafından incelenebileceğini unutmayın. OpenAI/ChatGPT bu konuşmaların g\xfcnl\xfcklerini 30 g\xfcn boyunca saklarken, bu veriler AI modellerini eğitmek i\xe7in kullanılmaz. Konuşmalarınızda hassas veya kişisel bilgiler paylaşmayın.</5><7>Bu AI chatbot\'u kullanarak, yukarıdaki sorumluluk reddini kabul ettiğinizi ve anladığınızı belirtirsiniz. Bu sorumluluk reddinin herhangi bir b\xf6l\xfcm\xfcyle aynı fikirde değilseniz, chatbot\'u kullanmamanızı \xf6neririz.</7>"],"sdk.chat.disclaimer.inline.message":["Asistan deneyseldir ve yanlış bilgiler sağlayabilir."],"sdk.chat.disclaimer.seeMore.label":["Daha fazla bilgi"],"sdk.chat.header.desktop.title":["Asistan"],"sdk.chat.input.default.placeholder":["Mesaj yazın..."],"sdk.chat.input.footer.placeholder":["Mesaj yazın..."],"sdk.chat.mobile.assistant.label":["Asistan"],"sdk.chat.send.button.label":["Mesaj g\xf6nder"],"sdk.chat.system.error.message":["Asistanla iletişim kurarken bir hata oluştu. L\xfctfen tekrar deneyin."],"sdk.chat.welcome.greeting.message":["Merhaba! Ben sizin asistanınızım ve \xfcr\xfcn yapılandırması konusunda size yardımcı olacağım. Ne \xf6ğrenmek istersiniz?"],"sdk.collision.warning.tooltip":["\xd6ğeler \xe7ok yakın veya \xe7akışıyor"],"sdk.controls.dimension.angle.error":["Ge\xe7ersiz a\xe7ı"],"sdk.controls.dimension.angle.hint":["A\xe7ı girin"],"sdk.controls.dimension.angle.hintRange":["L\xfctfen ",["0"],["unitLabelWithSpace"]," ile ",["1"],["unitLabelWithSpace"]," arasında bir sayı girin."],"sdk.controls.dimension.angleSlider.error":["Ge\xe7ersiz a\xe7ı"],"sdk.controls.dimension.distance.error":["Ge\xe7ersiz mesafe"],"sdk.controls.dimension.distance.hint":["Mesafe girin"],"sdk.controls.dimension.distance.hintRange":["Mesafe ",["0"]," ile ",["1"]," arasında olmalıdır"],"sdk.controls.dimension.distanceSlider.error":["Ge\xe7ersiz mesafe"],"sdk.controls.dimension.generic.error":["Ge\xe7ersiz değer"],"sdk.controls.dimension.generic.hint":["Değer girin"],"sdk.controls.dimension.generic.hintRange":["Değer ",["min"]," ile ",["max"]," arasında olmalıdır"],"sdk.controls.dimension.genericSlider.error":["Ge\xe7ersiz değer"],"sdk.controls.dimension.indicator.apply":["Uygula"],"sdk.controls.dimension.indicator.cancel":["İptal"],"sdk.controls.dimension.offset.hint":["Ofset girin"],"sdk.controls.dimension.size.hint":["Boyut girin"],"sdk.controls.entity.add.close.label":["Kapat"],"sdk.controls.entity.add.nothingMessage":["Eklenecek bir şey yok"],"sdk.controls.entity.childDelete.label":["Sil"],"sdk.controls.entity.childSelect.label":["Se\xe7"],"sdk.controls.entity.delete.label":["Sil"],"sdk.controls.entity.replace.label":["Değiştir"],"sdk.controls.property.back.label":["Geri"],"sdk.controls.recipeGroup.notFound.message":["Bulunamadı"],"sdk.controls.recipeGroup.notFound.title":["Aradığınız grup artık mevcut değil. L\xfctfen başka bir grup se\xe7in."],"sdk.controls.tool.close.label":["Kapat"],"sdk.controls.units.feet.label":["ayak"],"sdk.controls.units.inch.label":["in\xe7"],"sdk.controls.upload.dragDrop.hint":["Dosyaları buraya s\xfcr\xfckleyin veya se\xe7mek i\xe7in tıklayın"],"sdk.controls.upload.failed.error":["Y\xfckleme başarısız"],"sdk.controls.upload.link.label":["Veya bir bağlantı yapıştırın"],"sdk.controls.upload.size.error":["Dosya \xe7ok b\xfcy\xfck"],"sdk.distanceDimension.hintMessageTooLarge":["Mevcut değer ",["0"]," olup, izin verilen maksimum değer olan ",["1"]," değerinden b\xfcy\xfckt\xfcr."],"sdk.distanceDimension.hintMessageTooSmall":["Mevcut değer ",["0"]," olup, izin verilen minimum değer olan ",["1"]," değerinden k\xfc\xe7\xfckt\xfcr."],"sdk.finalize.notConfigured.tooltip":["Tamamlama \xf6zelliği yapılandırılmamış."],"sdk.finalize.outOfSync.hint":["Yapılandırma senkronize değil. Bazı değişiklikler d\xfczg\xfcn şekilde kaydedilmedi."],"sdk.genericDimension.hintMessageTooLarge":["Mevcut değer ",["currentWithUnit"]," olup, izin verilen maksimum değer olan ",["limitWithUnit"]," değerinden b\xfcy\xfckt\xfcr."],"sdk.genericDimension.hintMessageTooSmall":["Mevcut değer ",["currentWithUnit"]," olup, izin verilen minimum değer olan ",["limitWithUnit"]," değerinden k\xfc\xe7\xfckt\xfcr."],"sdk.layout.banner.readonly.cancel.label":["İptal"],"sdk.layout.banner.readonly.clone.label":["D\xfczenlemek i\xe7in klonla"],"sdk.layout.banner.readonly.clone.message":["Bu yapılandırmanın d\xfczenleme i\xe7in bir kopyasını oluşturmak ister misiniz?"],"sdk.layout.banner.readonly.clone.title":["Yapılandırmayı klonla"],"sdk.layout.banner.readonly.editConfig.label":["Yapılandırmayı d\xfczenle"],"sdk.layout.banner.readonly.editMobile.label":["D\xfczenle"],"sdk.layout.banner.readonly.info.message":["Bu yapılandırma salt okunurdur. D\xfczenlemek i\xe7in bir kopya oluşturun."],"sdk.layout.button.closeConfigurator.label":["Yapılandırıcıyı kapat"],"sdk.layout.button.closePresetPreview.label":["\xd6nceden ayarlanmış \xf6nizlemeyi kapat"],"sdk.layout.button.desktopBack.label":["Geri"],"sdk.layout.button.desktopSidebarBack.label":["Geri"],"sdk.layout.button.mobileBack.label":["Geri"],"sdk.layout.button.mobileSidebarBack.label":["Geri"],"sdk.layout.button.presetBack.label":["Geri"],"sdk.layout.button.saveRecipe.label":["Tarifi kaydet"],"sdk.layout.button.saveTemplate.label":["Şablonu kaydet"],"sdk.layout.button.setTemplate.label":["Şablon olarak ayarla"],"sdk.layout.controls.mobile.view3d.label":["3D g\xf6r\xfcn\xfcm"],"sdk.layout.controls.mobile.viewOnly.message":["<0>Sadece g\xf6r\xfcnt\xfcleme modu.</0> Konfig\xfcrasyonu değiştirmek i\xe7in daha b\xfcy\xfck ekranlı bir cihaz kullanın."],"sdk.layout.controls.tablet.viewOnly.message":["<0>Sadece g\xf6r\xfcnt\xfcleme modu.</0> Konfig\xfcrasyonu değiştirmek i\xe7in daha b\xfcy\xfck ekranlı bir cihaz kullanın veya cihazınızın y\xf6n\xfcn\xfc değiştirmeyi deneyin."],"sdk.layout.finalize.moreActions":["More finalization options"],"sdk.layout.footer.price.label":["Toplam fiyat"],"sdk.layout.hamburgerMenu.language.dialogTitle":["Dil se\xe7in"],"sdk.layout.hamburgerMenu.language.label":["Dil"],"sdk.layout.menu.hamburger.close.label":["Kapat"],"sdk.layout.menu.hamburger.help.label":["Yardım"],"sdk.layout.menu.hamburger.help.label.closeButtonLabel":["Yardımı kapat"],"sdk.layout.menu.hamburger.share.label":["Paylaş"],"sdk.layout.menu.hamburger.title":["Men\xfc"],"sdk.layout.menu.hamburger.tooltip":["Men\xfcy\xfc a\xe7"],"sdk.layout.menu.language.close.label":["Kapat"],"sdk.layout.menu.measurements.close.label":["Kapat"],"sdk.layout.menu.measurements.label":["\xd6l\xe7\xfcmler"],"sdk.layout.navigation.common.product.label":["\xdcr\xfcn"],"sdk.layout.navigation.mobile.product.label":["\xdcr\xfcn"],"sdk.layout.navigation.steps.first.label":["İlk"],"sdk.layout.sidebar.disabledFinalizeButton.label":["Sonlandır"],"sdk.layout.sidebar.finalize.label":["Tamamla"],"sdk.layout.sidebar.finalizePage.label":["Tamamla"],"sdk.layout.sidebar.nextStep.label":["Sonraki adım"],"sdk.layout.sidebar.nextStepShort.label":["Sonraki"],"sdk.layout.sidebar.previousStep.label":["\xd6nceki adım"],"sdk.layout.sidebar.price.label":["Fiyat"],"sdk.layout.sidebar.totalPrice.label":["Toplam fiyat"],"sdk.layout.summary.button.label":["\xd6zet"],"sdk.layout.toolbar.mobile.tools.title":["Ara\xe7lar"],"sdk.layout.toolbar.mobile.units.label":["Birimler"],"sdk.measurements":["\xd6l\xe7\xfcmler"],"sdk.messages.error.configNotFound.message":["Yapılandırma bulunamadı. Silinmiş olabilir veya yanlış bir bağlantı girmiş olabilirsiniz."],"sdk.messages.error.configNotFound.title":["Yapılandırma bulunamadı"],"sdk.messages.error.configurator.backToHome.label":["Ana sayfaya d\xf6n"],"sdk.messages.error.configurator.message":["Hay aksi, bir şeyler ters gitti! L\xfctfen tekrar deneyin veya destek ile iletişime ge\xe7in."],"sdk.messages.error.configurator.title":["Yapılandırıcı hatası"],"sdk.messages.error.configuratorRoot.backToHome.label":["Ana sayfaya d\xf6n"],"sdk.messages.error.configuratorRoot.message":["Yapılandırıcı kullanılamıyor. L\xfctfen daha sonra tekrar deneyin."],"sdk.messages.error.configuratorRoot.title":["Yapılandırıcı kullanılamıyor"],"sdk.messages.error.gpuDisabled.message":["GPU hızlandırması devre dışı. Performans azalabilir. Daha iyi performans i\xe7in tarayıcı ayarlarınızda donanım hızlandırmasını etkinleştirin."],"sdk.messages.error.gpuDisabled.title":["GPU hızlandırması devre dışı"],"sdk.messages.error.notFound.backToHome.label":["Ana sayfaya d\xf6n"],"sdk.messages.error.webglNotSupported.message":["Tarayıcınız 3D render i\xe7in gerekli olan WebGL\'yi desteklemiyor. L\xfctfen farklı bir tarayıcı kullanmayı deneyin veya mevcut olanı g\xfcncelleyin."],"sdk.messages.error.webglNotSupported.title":["WebGL desteklenmiyor"],"sdk.messages.finalize.error":["Oops, bir hata oluştu"],"sdk.messages.navigation.goToHomepage.label":["Ana sayfaya git"],"sdk.messages.otherAction.error":["Oops, bir hata oluştu"],"sdk.messages.system.invalidDeployment.close.label":["Kapat"],"sdk.messages.system.invalidDeployment.message":["Bu dağıtım ge\xe7ersiz veya silinmiş."],"sdk.messages.system.invalidDeployment.title":["Ge\xe7ersiz dağıtım"],"sdk.messages.validation.uncaughtError.message":["Beklenmeyen bir hata oluştu. L\xfctfen tekrar deneyin."],"sdk.persist.system.error.dismiss":["Kapat"],"sdk.persist.system.error.message":["Bir yapılandırmayı g\xfcncellemeye \xe7alışırken bir hata oluştu"],"sdk.persist.system.error.recovered":["Yapılandırma g\xfcncellendi"],"sdk.presets.category.count.message":[["count"]," \xf6nceden ayarlanmış"],"sdk.presets.category.heading.title":["Kategoriler"],"sdk.presets.create.error.dismiss.label":["Kapat"],"sdk.presets.create.error.message":["Bu hazır ayardan yapılandırma başlatılamadı. L\xfctfen tekrar deneyin."],"sdk.presets.detail.close.label":["Kapat"],"sdk.presets.detail.learnMore.label":["Daha fazla bilgi"],"sdk.presets.detail.select.label":["Se\xe7"],"sdk.presets.preview.title":["\xd6nizleme"],"sdk.presets.select.button.label":["Se\xe7"],"sdk.presets.start.button.label":["Başla"],"sdk.preview.customize.title":["\xd6zelleştir"],"sdk.preview.start.button.label":["Başla"],"sdk.sketching.angle.apply.label":["Uygula"],"sdk.sketching.angle.cancel.label":["İptal"],"sdk.sketching.angle.control.label":["A\xe7ı"],"sdk.sketching.angle.control.text":["A\xe7ıyı ayarla"],"sdk.sketching.angle.control.title":["A\xe7ı belirle"],"sdk.sketching.angle.input.error":["L\xfctfen ge\xe7erli bir sayı girin!"],"sdk.sketching.dimension.apply.label":["Uygula"],"sdk.sketching.dimension.cancel.label":["İptal"],"sdk.sketching.dimension.depth.label":["Derinlik"],"sdk.sketching.dimension.depth.text":["Derinliği ayarla"],"sdk.sketching.dimension.depth.title":["Derinlik belirle"],"sdk.sketching.dimension.input.error":["L\xfctfen ge\xe7erli bir sayı girin!"],"sdk.sketching.dimension.length.label":["Uzunluk"],"sdk.sketching.dimension.length.text":["Uzunluğu ayarla"],"sdk.sketching.dimension.length.title":["Uzunluk belirle"],"sdk.sketching.dimension.width.label":["Genişlik"],"sdk.sketching.dimension.width.text":["Genişliği ayarla"],"sdk.sketching.dimension.width.title":["Genişlik belirle"],"sdk.sketching.draw.done.label":["Tamam"],"sdk.sketching.spotlight.label":["\xc7izime başlamak i\xe7in tıklayın"],"sdk.toolbar.actions.undoRedo.label":["Geri Al/Yinele"],"sdk.toolbar.camera.reset.label":["Kamerayı sıfırla"],"sdk.toolbar.camera.reset.labelAriaLabel":["Kamerayı varsayılan konuma sıfırla"],"sdk.toolbar.fullscreen.enter.label":["Tam ekran"],"sdk.toolbar.fullscreen.exit.label":["Tam ekrandan \xe7ık"],"sdk.toolbar.help.close.label":["Yardımı kapat"],"sdk.toolbar.help.label":["Yardım"],"sdk.toolbar.language.title":["Dil"],"sdk.toolbar.measurements.change.aria":["\xd6l\xe7\xfcmleri değiştir"],"sdk.toolbar.measurements.indicators.label":["\xd6l\xe7\xfcm g\xf6stergeleri"],"sdk.toolbar.measurements.input.aria":["\xd6l\xe7\xfcm girişini değiştir"],"sdk.toolbar.measurements.units.aria":["\xd6l\xe7\xfcm birimlerini değiştir"],"sdk.toolbar.mobile.fullscreen.enter.label":["Tam ekran"],"sdk.toolbar.mobile.fullscreen.exit.label":["Tam ekrandan \xe7ık"],"sdk.toolbar.mobile.fullscreen.title":["Tam ekran"],"sdk.toolbar.mobile.open.aria":["Mobil ara\xe7ları a\xe7"],"sdk.toolbar.mobile.viewControls.label":["G\xf6r\xfcn\xfcm kontrolleri"],"sdk.toolbar.share.allowEdit.label":["D\xfczenlemeye izin ver"],"sdk.toolbar.share.allowEditShort.label":["D\xfczenleme"],"sdk.toolbar.share.close.label":["Kapat"],"sdk.toolbar.share.copiedLinkButtonTitle":["Bağlantı kopyalandı"],"sdk.toolbar.share.copyLink.label":["Bağlantıyı kopyala"],"sdk.toolbar.share.copyLinkButtonTitle":["Bağlantıyı kopyala"],"sdk.toolbar.share.input.aria":["Paylaşım bağlantısı girişi"],"sdk.toolbar.share.label":["Paylaş"],"sdk.toolbar.share.linkCopied.label":["Bağlantı kopyalandı"],"sdk.toolbar.share.loading.label":["Y\xfckleniyor..."],"sdk.toolbar.share.open.label":["A\xe7"],"sdk.toolbar.share.section.label":["Paylaş"],"sdk.toolbar.undoRedo.redo.label":["Yinele"],"sdk.toolbar.undoRedo.undo.label":["Geri Al"],"sdk.toolbar.viewControls.title":["G\xf6r\xfcn\xfcm kontrolleri"],"sdk.totalPrice":["Toplam fiyat"]}');
@@ -13,6 +13,9 @@ export { useComposition, type UseComposition } from './system-hooks/composition-
13
13
  export { useUndoRedo, type UseUndoRedo, type UseUndoRedoResult } from './system-hooks/undo-redo-hooks.js';
14
14
  export { useTabNavigation, type TabEntry, type TabSource, type UseTabNavigation, type UseTabNavigationOptions, type UseTabNavigationResult, } from './system-hooks/tab-navigation-hooks.js';
15
15
  export { useStepNavigation, type NavigationStepEntry, type StepStatus, type UseStepNavigation, type UseStepNavigationResult, } from './system-hooks/step-navigation-hooks.js';
16
+ export { useLocaleSwitch, type UseLocaleSwitch, type UseLocaleSwitchResult, type LocaleOption, } from './system-hooks/locale-switch-hooks.js';
17
+ export { useGenerateShareLink, type GenerateShareLinkOptions } from './system-hooks/generate-share-link-hooks.js';
18
+ export { useShareLinks, type UseShareLinks, type UseShareLinksOptions, type UseShareLinksResult, } from './system-hooks/share-links-hooks.js';
16
19
  export { useHoveredDomainEntityId, useHoveredEntity, useHoveredEntityId, type UseHoveredDomainEntityId, type UseHoveredEntity, type UseHoveredEntityId, } from './system-hooks/hover-hooks.js';
17
20
  export { type UseRootEntityState, useRootEntityState, useRootEntityRenderedState, } from './entity-hooks/use-root-entity-state.js';
18
21
  export { type UseRootEntityId, useRootEntityId, useRootEntityRenderedId } from './entity-hooks/use-root-entity-id.js';
@@ -1 +1 @@
1
- export{useDomain}from"./common-hooks/use-domain-context.js";export{useStoreSelector,useRenderedSelector,useRenderedSelector$,useStoreSelector$}from"./common-hooks/use-store-selector.js";export{useEagerObservableSelector,usePatientObservableSelector,usePatientObservableValue,useEagerObservableValue}from"./common-hooks/use-observable-selector.js";export{useStateValidity,useMapViolationHints,useControlViolations,useFinalizeViolations}from"./common-hooks/use-state-validity.js";export{useConfiguratorMessages}from"./common-hooks/use-configurator-messages.js";export{useComponent,useRenderedComponent,useComponents,useDynamicComponents,useRenderedComponents,useRootComponents,useRootRenderedComponents,useFirstComponent,useFirstRenderedComponent,useFirstRootComponent,useFirstRootRenderedComponent}from"./component-hooks/use-component.js";export{useCommittedState,useCommittedSlice,useRenderedSlice,useRenderedState}from"./common-hooks/use-slices.js";export{useDomainEntityState,useDomainEntityRenderedState}from"./entity-hooks/use-domain-entity-state.js";export{useEntityPrice,useRootEntityPrice}from"./entity-hooks/use-entity-price.js";export{useSelectEntity,useSelectedEntity,useSelectedEntityId,useSelectedDomainEntityId,useDeselect,useSelectParent}from"./system-hooks/selection-hooks.js";export{useActiveNavigationState,useActiveViewState,useSetViewState,useActiveToolState,useIsFullscreenActive,useSetFullscreen,useActiveViewports,useDraggedDomainEntityId,useNavigate,usePushNavigate,usePopNavigate}from"./system-hooks/navigation-hooks.js";export{useComposition}from"./system-hooks/composition-hooks.js";export{useUndoRedo}from"./system-hooks/undo-redo-hooks.js";export{useTabNavigation}from"./system-hooks/tab-navigation-hooks.js";export{useStepNavigation}from"./system-hooks/step-navigation-hooks.js";export{useHoveredDomainEntityId,useHoveredEntity,useHoveredEntityId}from"./system-hooks/hover-hooks.js";export{useRootEntityState,useRootEntityRenderedState}from"./entity-hooks/use-root-entity-state.js";export{useRootEntityId,useRootEntityRenderedId}from"./entity-hooks/use-root-entity-id.js";export{useEntitySelector,useRootEntitySelector,useRenderedEntitySelector,useRenderedRootEntitySelector}from"./common-hooks/use-entity-selector.js";export{useDimensionState,useDimensions,useDimensionConfig}from"./system-hooks/dimension-hooks.js";
1
+ export{useDomain}from"./common-hooks/use-domain-context.js";export{useStoreSelector,useRenderedSelector,useRenderedSelector$,useStoreSelector$}from"./common-hooks/use-store-selector.js";export{useEagerObservableSelector,usePatientObservableSelector,usePatientObservableValue,useEagerObservableValue}from"./common-hooks/use-observable-selector.js";export{useStateValidity,useMapViolationHints,useControlViolations,useFinalizeViolations}from"./common-hooks/use-state-validity.js";export{useConfiguratorMessages}from"./common-hooks/use-configurator-messages.js";export{useComponent,useRenderedComponent,useComponents,useDynamicComponents,useRenderedComponents,useRootComponents,useRootRenderedComponents,useFirstComponent,useFirstRenderedComponent,useFirstRootComponent,useFirstRootRenderedComponent}from"./component-hooks/use-component.js";export{useCommittedState,useCommittedSlice,useRenderedSlice,useRenderedState}from"./common-hooks/use-slices.js";export{useDomainEntityState,useDomainEntityRenderedState}from"./entity-hooks/use-domain-entity-state.js";export{useEntityPrice,useRootEntityPrice}from"./entity-hooks/use-entity-price.js";export{useSelectEntity,useSelectedEntity,useSelectedEntityId,useSelectedDomainEntityId,useDeselect,useSelectParent}from"./system-hooks/selection-hooks.js";export{useActiveNavigationState,useActiveViewState,useSetViewState,useActiveToolState,useIsFullscreenActive,useSetFullscreen,useActiveViewports,useDraggedDomainEntityId,useNavigate,usePushNavigate,usePopNavigate}from"./system-hooks/navigation-hooks.js";export{useComposition}from"./system-hooks/composition-hooks.js";export{useUndoRedo}from"./system-hooks/undo-redo-hooks.js";export{useTabNavigation}from"./system-hooks/tab-navigation-hooks.js";export{useStepNavigation}from"./system-hooks/step-navigation-hooks.js";export{useLocaleSwitch}from"./system-hooks/locale-switch-hooks.js";export{useGenerateShareLink}from"./system-hooks/generate-share-link-hooks.js";export{useShareLinks}from"./system-hooks/share-links-hooks.js";export{useHoveredDomainEntityId,useHoveredEntity,useHoveredEntityId}from"./system-hooks/hover-hooks.js";export{useRootEntityState,useRootEntityRenderedState}from"./entity-hooks/use-root-entity-state.js";export{useRootEntityId,useRootEntityRenderedId}from"./entity-hooks/use-root-entity-id.js";export{useEntitySelector,useRootEntitySelector,useRenderedEntitySelector,useRenderedRootEntitySelector}from"./common-hooks/use-entity-selector.js";export{useDimensionState,useDimensions,useDimensionConfig}from"./system-hooks/dimension-hooks.js";
@@ -0,0 +1,8 @@
1
+ import type { AccessLevel } from '@salsita-ai/contracts/api';
2
+ export interface GenerateShareLinkOptions {
3
+ access: AccessLevel;
4
+ expiration?: number;
5
+ }
6
+ export declare const useGenerateShareLink: () => (options: GenerateShareLinkOptions) => Promise<{
7
+ readonly link: string;
8
+ }>;
@@ -0,0 +1 @@
1
+ import{useCallback as e}from"react";import{match as r}from"ts-pattern";import{applicationConfigComponent as t}from"#package/domain";import{useAuthorizedClient as a,useConfigurationId as o,useDomainApplication as i}from"../../application-runtime/index.js";import{useFirstRootComponent as n}from"../component-hooks/index.js";export const useGenerateShareLink=()=>{let s=n(t),m=s?.state.shareStrategy??"deployment-registered",{configurationPersistSystem:c}=i(),d=o(),p=a();return e(async e=>{let t=r(m).with("deployment-registered",()=>void 0).with("current-frontend",()=>{let e=new URL(window.location.href);return e.searchParams.delete("cid"),e.searchParams.delete("ca"),e.toString()}).exhaustive(),a=await c.save();return p.generateShareLink(d,"rr"===e.access?a:void 0,e.expiration,e.access,t)},[m,c,p,d])};
@@ -0,0 +1,24 @@
1
+ /** A language the configurator offers, with its name in that language. */
2
+ export interface LocaleOption {
3
+ readonly locale: string;
4
+ readonly displayName: string;
5
+ }
6
+ /**
7
+ * What a project layout needs to offer a language switch.
8
+ * - `locales`: the spec's `applicationConfig.availableLocales` (`['en']` without it), each with its own name.
9
+ * - `locale`: the active locale.
10
+ * - `setLocale`: activates a locale, falling back to a supported one as `useLinguiActivate` does.
11
+ * - `available`: whether there is more than one locale to choose from, the built-in rule for showing the switch.
12
+ */
13
+ export interface UseLocaleSwitchResult {
14
+ readonly locales: readonly LocaleOption[];
15
+ readonly locale: string;
16
+ readonly setLocale: (locale: string) => void;
17
+ readonly available: boolean;
18
+ }
19
+ export type UseLocaleSwitch = () => UseLocaleSwitchResult;
20
+ /**
21
+ * Hook to list the languages the configurator offers and switch between them, as the built-in toolbar's language
22
+ * button and the menu's language action do. It re-renders when the language changes.
23
+ */
24
+ export declare const useLocaleSwitch: UseLocaleSwitch;
@@ -0,0 +1 @@
1
+ import{useLingui as e}from"@lingui/react";import{useMemo as a}from"react";import{applicationConfigComponent as o}from"#package/domain";import{useLinguiActivate as l}from"../../localizable/index.js";import{useFirstRootComponent as t}from"../component-hooks/index.js";export const useLocaleSwitch=()=>{let{i18n:r}=e(),i=t(o),m=l(),n=i?.state.availableLocales,c=a(()=>(n??["en"]).map(e=>{let a=new Intl.DisplayNames([e],{type:"language",fallback:"code"});return{locale:e,displayName:a.of(e)??e}}),[n]),p=r.locale;return a(()=>({locales:c,locale:p,setLocale:e=>{m(e)},available:c.length>1}),[c,p,m])};
@@ -0,0 +1,32 @@
1
+ export interface UseShareLinksOptions {
2
+ /** Whether the links are generated; `true` by default. A layout passes whether its share dialog is open. */
3
+ readonly enabled?: boolean;
4
+ }
5
+ /**
6
+ * What a project layout needs to share the configuration.
7
+ * - `available`: whether sharing is offered, that is `applicationConfig.shareDisabled` is not set and at least one
8
+ * kind of link is enabled; the built-in share button renders nothing otherwise.
9
+ * - `ownerLinkAvailable` and `readLinkAvailable`: whether each kind of link is enabled
10
+ * (`applicationConfig.shareOwnerLinkDisabled`, `applicationConfig.shareReadRevisionLinkDisabled`).
11
+ * - `ownerLink`: a link that opens the configuration for editing, or `null` while it loads, is disabled or the
12
+ * hook is not `enabled`.
13
+ * - `readLink`: a link that opens the current revision of the configuration for viewing, `null` in the same cases.
14
+ * The configuration is saved before the link is generated; while the hook is enabled, each commit of the
15
+ * configuration generates a new link, and `readLink` is `null` again until it arrives.
16
+ * - `isLoading`: whether an enabled link is still being generated.
17
+ */
18
+ export interface UseShareLinksResult {
19
+ readonly available: boolean;
20
+ readonly ownerLinkAvailable: boolean;
21
+ readonly readLinkAvailable: boolean;
22
+ readonly ownerLink: string | null;
23
+ readonly readLink: string | null;
24
+ readonly isLoading: boolean;
25
+ }
26
+ export type UseShareLinks = (options?: UseShareLinksOptions) => UseShareLinksResult;
27
+ /**
28
+ * Hook to generate the links that share the configuration, as the built-in share dialog does. The links expire
29
+ * after `applicationConfig.shareExpiration` hours, or never without it. Generating a link saves the configuration,
30
+ * so a layout enables the hook only while its share dialog is open. It does not check read mode.
31
+ */
32
+ export declare const useShareLinks: UseShareLinks;
@@ -0,0 +1 @@
1
+ import{useQuery as e}from"@tanstack/react-query";import{useMemo as t}from"react";import{applicationConfigComponent as i}from"#package/domain";import{useConfigurationId as r}from"../../application-runtime/index.js";import{useStoreSelector as a}from"../common-hooks/index.js";import{useFirstRootComponent as n}from"../component-hooks/index.js";import{useGenerateShareLink as s}from"./generate-share-link-hooks.js";export const useShareLinks=(o={})=>{let{enabled:l=!0}=o,d=n(i),m=s(),c=r(),h=d?.state.shareExpiration,k=d?.state.shareDisabled??!1,p=!k&&!d?.state.shareOwnerLinkDisabled,u=!k&&!d?.state.shareReadRevisionLinkDisabled,y=l&&u,f=a(e=>({entities:e.state.entities,rootEntityId:e.state.rootEntityId}),[],y),b=e({queryKey:["share-owner-link",c],staleTime:1/0,queryFn:()=>m({access:"o",expiration:h}),enabled:l&&p}),q=e({queryKey:y?["share-revision-link",c,f.entities,f.rootEntityId]:["share-revision-link",c,"disabled"],queryFn:()=>m({access:"rr",expiration:h}),enabled:y}),x=l&&p&&b.data?.link||null,F=y&&q.isFetchedAfterMount&&q.data?.link||null,g=l&&p&&b.isLoading||y&&q.isFetching&&!q.isFetchedAfterMount;return t(()=>({available:p||u,ownerLinkAvailable:p,readLinkAvailable:u,ownerLink:x,readLink:F,isLoading:g}),[p,u,x,F,g])};
@@ -1 +1 @@
1
- import{useCallback as o}from"react";import{FrontendAnalyticsFactory as n,useAnalyticsService as e}from"../../application-runtime/index.js";import{useDomain as d,useEagerObservableValue as t}from"../common-hooks/index.js";export const useUndoRedo=()=>{let r=e(),{undoSystem:i}=d(),{canUndo:c,canRedo:m}=t(i.can$);return{canUndo:c,canRedo:m,undo:o(()=>{i.canUndo()&&(r.push(n.UndoButtonClicked()),i.undo())},[r,i]),redo:o(()=>{i.canRedo()&&(r.push(n.RedoButtonClicked()),i.redo())},[r,i])}};
1
+ import{useCallback as o,useMemo as n}from"react";import{FrontendAnalyticsFactory as e,useAnalyticsService as t}from"../../application-runtime/index.js";import{useDomain as d,useEagerObservableValue as r}from"../common-hooks/index.js";export const useUndoRedo=()=>{let i=t(),{undoSystem:c}=d(),{canUndo:m,canRedo:p}=r(c.can$),u=o(()=>{c.canUndo()&&(i.push(e.UndoButtonClicked()),c.undo())},[i,c]),s=o(()=>{c.canRedo()&&(i.push(e.RedoButtonClicked()),c.redo())},[i,c]);return n(()=>({canUndo:m,canRedo:p,undo:u,redo:s}),[m,p,u,s])};
@@ -10,5 +10,6 @@ export * from './localizable/index.js';
10
10
  export * from './loading-state/index.js';
11
11
  export * from './responsive-state/index.js';
12
12
  export * from './elements/index.js';
13
+ export * from './scene-control-elements/index.js';
13
14
  export * from './handlers/index.js';
14
15
  export * from './application-runtime/index.js';
@@ -1 +1 @@
1
- export*from"./theme/index.js";export*from"./utils/index.js";export*from"./session/index.js";export*from"./domain-context/index.js";export*from"./domain-application-context/index.js";export*from"./domain-controls/index.js";export*from"./invalid-deployment/index.js";export*from"./web-component/index.js";export*from"./localizable/index.js";export*from"./loading-state/index.js";export*from"./responsive-state/index.js";export*from"./elements/index.js";export*from"./handlers/index.js";export*from"./application-runtime/index.js";
1
+ export*from"./theme/index.js";export*from"./utils/index.js";export*from"./session/index.js";export*from"./domain-context/index.js";export*from"./domain-application-context/index.js";export*from"./domain-controls/index.js";export*from"./invalid-deployment/index.js";export*from"./web-component/index.js";export*from"./localizable/index.js";export*from"./loading-state/index.js";export*from"./responsive-state/index.js";export*from"./elements/index.js";export*from"./scene-control-elements/index.js";export*from"./handlers/index.js";export*from"./application-runtime/index.js";
@@ -0,0 +1,36 @@
1
+ import type { Localizable } from '@salsita-ai/common/utils';
2
+ import type { DomainEntityId } from '#package/domain';
3
+ import type { SceneControlTooltipVisibility } from './scene-control-tooltip-visibility.js';
4
+ /**
5
+ * The name of the entity element that renders a `sceneEntityAddFab`. Its default, the built-in
6
+ * add-entity FAB, is registered in `defaultConfiguratorElements`.
7
+ */
8
+ export declare const AddEntityFabName = "AddEntityFab";
9
+ /**
10
+ * Props of the `AddEntityFab` element, rendered for each `sceneEntityAddFab` of an entity, at the
11
+ * position the component sets. The recipes it can add are not computed up front: the built-in FAB
12
+ * reads them with `useGroupedRecipeOptions(entityId, instanceNames, fixableViolations)` when it
13
+ * opens its menu, and a replacement does the same.
14
+ */
15
+ export interface AddEntityFabElementProps {
16
+ /** The entity the FAB adds children to. */
17
+ readonly entityId: DomainEntityId<string>;
18
+ /** The `childEntityRecipes` instances whose recipes the FAB offers; all of them when not set. */
19
+ readonly instanceNames?: readonly string[];
20
+ /** Violations a new entity may cause without disabling its recipe (the component's `hiddenViolations`). */
21
+ readonly fixableViolations?: readonly string[];
22
+ /** The name of a Phoenix icon. */
23
+ readonly icon?: string;
24
+ /** A visible text label. */
25
+ readonly label?: Localizable;
26
+ /** The tooltip text. */
27
+ readonly title?: Localizable;
28
+ /** When the tooltip shows: `on-hover` unless the component sets it. */
29
+ readonly tooltipVisibility: SceneControlTooltipVisibility;
30
+ /** Add the only recipe directly, without a menu. */
31
+ readonly skipMenuWhenOnlyOne?: boolean;
32
+ /** Render nothing when there is no recipe. */
33
+ readonly hideWhenNone?: boolean;
34
+ }
35
+ /** Renders the `AddEntityFab` element for an entity. */
36
+ export declare const AddEntityFabElement: import("react").MemoExoticComponent<(props: AddEntityFabElementProps) => import("react/jsx-runtime").JSX.Element>;
@@ -0,0 +1 @@
1
+ import{jsx as t}from"react/jsx-runtime";import{memo as e,useMemo as n}from"react";import{PhoenixEntityElementWithChildren as r}from"../elements/index.js";export const AddEntityFabName="AddEntityFab";export const AddEntityFabElement=e(e=>{let{entityId:d,instanceNames:i,fixableViolations:m,icon:o,label:a,title:s,tooltipVisibility:p,skipMenuWhenOnlyOne:x,hideWhenNone:y}=e,E=n(()=>({instanceNames:i,fixableViolations:m,icon:o,label:a,title:s,tooltipVisibility:p,skipMenuWhenOnlyOne:x,hideWhenNone:y}),[i,m,o,a,s,p,x,y]);return t(r,{kind:"AddEntityFab",entityId:d,elementProps:E})});
@@ -0,0 +1,44 @@
1
+ import { type SyntheticEvent } from 'react';
2
+ import type { Localizable } from '@salsita-ai/common/utils';
3
+ import type { DomainEntityId } from '#package/domain';
4
+ import type { SceneControlTooltipVisibility } from './scene-control-tooltip-visibility.js';
5
+ /**
6
+ * The name of the entity element that renders a `sceneEntityDeleteFab`. Its default, the built-in
7
+ * delete-entity FAB, is registered in `defaultConfiguratorElements`.
8
+ */
9
+ export declare const DeleteEntityFabName = "DeleteEntityFab";
10
+ /**
11
+ * Props of the `DeleteEntityFab` element, rendered for each `sceneEntityDeleteFab` of an entity, at
12
+ * the position the component sets.
13
+ */
14
+ export interface DeleteEntityFabElementProps {
15
+ /** The entity the FAB deletes. */
16
+ readonly entityId: DomainEntityId<string>;
17
+ /** The name of a Phoenix icon. */
18
+ readonly icon?: string;
19
+ /** A visible text label. */
20
+ readonly label?: Localizable;
21
+ /** The tooltip text. */
22
+ readonly title?: Localizable;
23
+ /** When the tooltip shows: `on-hover` unless the component sets it. */
24
+ readonly tooltipVisibility: SceneControlTooltipVisibility;
25
+ /**
26
+ * Deletes the entity and pushes the delete analytics event. Pass it straight to `onClick`: given
27
+ * an event, it stops the event's propagation so the click does not reach the scene.
28
+ */
29
+ readonly onDelete: (event?: SyntheticEvent) => void;
30
+ /** True when deleting would cause a violation the component does not allow. */
31
+ readonly disabled: boolean;
32
+ /** Why deleting is disabled, when it is. */
33
+ readonly disabledHint: string | undefined;
34
+ /** Logs the dry run of the deletion to the console, for debugging. */
35
+ readonly trace: () => void;
36
+ }
37
+ type DeleteEntityFabElementConfig = Omit<DeleteEntityFabElementProps, 'onDelete' | 'disabled' | 'disabledHint' | 'trace'>;
38
+ interface Props extends DeleteEntityFabElementConfig {
39
+ /** Violations deleting may cause without disabling the FAB (the component's `hiddenViolations`). */
40
+ readonly fixableViolations?: readonly string[];
41
+ }
42
+ /** Renders the `DeleteEntityFab` element for an entity, with the deletion it performs. */
43
+ export declare const DeleteEntityFabElement: import("react").MemoExoticComponent<(props: Props) => import("react/jsx-runtime").JSX.Element>;
44
+ export {};
@@ -0,0 +1 @@
1
+ import{jsx as t}from"react/jsx-runtime";import{memo as e,useCallback as i,useMemo as o}from"react";import{FrontendAnalyticsFactory as n}from"../application-runtime/index.js";import{useDeletedEntity as r}from"../domain-controls/index.js";import{PhoenixEntityElementWithChildren as m}from"../elements/index.js";export const DeleteEntityFabName="DeleteEntityFab";export const DeleteEntityFabElement=e(e=>{let{entityId:a,fixableViolations:s,icon:l,label:p,title:d,tooltipVisibility:c}=e,x=i(()=>n.EntityDeleteHotspotClicked(a),[a]),{disabled:y,hints:E,remove:b,trace:f}=r(a,s,x),j=i(t=>{t?.stopPropagation(),b()},[b]),D=o(()=>({icon:l,label:p,title:d,tooltipVisibility:c,onDelete:j,disabled:y,disabledHint:E,trace:f}),[l,p,d,c,j,y,E,f]);return t(m,{kind:"DeleteEntityFab",entityId:a,elementProps:D})});
@@ -0,0 +1,38 @@
1
+ import { type SyntheticEvent } from 'react';
2
+ import type { Localizable } from '@salsita-ai/common/utils';
3
+ import type { DomainEntityId } from '#package/domain';
4
+ import type { SceneControlTooltipVisibility } from './scene-control-tooltip-visibility.js';
5
+ /**
6
+ * The name of the entity element that renders a `sceneEntityNavigationHotspot`. Its default, the
7
+ * built-in navigation hotspot, is registered in `defaultConfiguratorElements`.
8
+ */
9
+ export declare const NavigationHotspotName = "NavigationHotspot";
10
+ /**
11
+ * Props of the `NavigationHotspot` element, rendered for each `sceneEntityNavigationHotspot` of an
12
+ * entity, at the position the component sets.
13
+ */
14
+ export interface NavigationHotspotElementProps {
15
+ /** The entity the hotspot is attached to. */
16
+ readonly entityId: DomainEntityId<string>;
17
+ /** The navigation state the hotspot goes to. */
18
+ readonly navigationState: string;
19
+ /** The tooltip text. */
20
+ readonly title?: Localizable;
21
+ /** When the tooltip shows: `on-hover` unless the component sets it. */
22
+ readonly tooltipVisibility: SceneControlTooltipVisibility;
23
+ /**
24
+ * Goes to `navigationState`, pushed onto the navigation stack or replacing the current state as
25
+ * the component sets. Pass it straight to `onClick`: given an event, it prevents the event's
26
+ * default and stops its propagation so the click does not reach the scene.
27
+ */
28
+ readonly onNavigate: (event?: SyntheticEvent) => void;
29
+ }
30
+ interface Props extends Omit<NavigationHotspotElementProps, 'onNavigate'> {
31
+ /** Push `navigationState` onto the navigation stack instead of replacing the current state. */
32
+ readonly pushToStack?: boolean;
33
+ /** The states `navigationState` can be stacked onto. */
34
+ readonly canStackOnto?: readonly string[];
35
+ }
36
+ /** Renders the `NavigationHotspot` element for an entity, with the navigation it performs. */
37
+ export declare const NavigationHotspotElement: import("react").MemoExoticComponent<(props: Props) => import("react/jsx-runtime").JSX.Element>;
38
+ export {};
@@ -0,0 +1 @@
1
+ import{jsx as t}from"react/jsx-runtime";import{memo as e,useCallback as o,useMemo as a}from"react";import{useDomain as i}from"../domain-context/index.js";import{PhoenixEntityElementWithChildren as n}from"../elements/index.js";export const NavigationHotspotName="NavigationHotspot";export const NavigationHotspotElement=e(e=>{let{entityId:s,navigationState:m,pushToStack:r,canStackOnto:p,title:g,tooltipVisibility:d}=e,{navigationSystem:l,storeSystem:v}=i(),c=o(t=>{t?.preventDefault(),t?.stopPropagation();let e=r?l.getPushNavigationUpdate(m,v.stateSlices.committed.value.state,{canStackOnto:p}):l.getNavigationUpdate(m);v.stageAndCommit([e])},[l,m,r,v,p]);return t(n,{kind:"NavigationHotspot",entityId:s,elementProps:a(()=>({navigationState:m,title:g,tooltipVisibility:d,onNavigate:c}),[m,g,d,c])})});
@@ -0,0 +1,30 @@
1
+ import { type SyntheticEvent } from 'react';
2
+ import type { Localizable } from '@salsita-ai/common/utils';
3
+ import type { DomainEntityId } from '#package/domain';
4
+ import type { SceneControlTooltipVisibility } from './scene-control-tooltip-visibility.js';
5
+ /**
6
+ * The name of the entity element that renders a `sceneEntitySelectHotspot`. Its default, the
7
+ * built-in selection hotspot, is registered in `defaultConfiguratorElements`.
8
+ */
9
+ export declare const SelectionHotspotName = "SelectionHotspot";
10
+ /**
11
+ * Props of the `SelectionHotspot` element, rendered for each `sceneEntitySelectHotspot` of an
12
+ * entity, at the position the component sets.
13
+ */
14
+ export interface SelectionHotspotElementProps {
15
+ /** The entity the hotspot selects. */
16
+ readonly entityId: DomainEntityId<string>;
17
+ /** The tooltip text. */
18
+ readonly title?: Localizable;
19
+ /** When the tooltip shows: `on-hover` unless the component sets it. */
20
+ readonly tooltipVisibility: SceneControlTooltipVisibility;
21
+ /**
22
+ * Selects the entity and pushes the selection-hotspot analytics event. Pass it straight to
23
+ * `onClick`: given an event, it stops the event's propagation so the click does not reach the scene.
24
+ */
25
+ readonly onSelect: (event?: SyntheticEvent) => void;
26
+ }
27
+ type Props = Omit<SelectionHotspotElementProps, 'onSelect'>;
28
+ /** Renders the `SelectionHotspot` element for an entity, with the selection it performs. */
29
+ export declare const SelectionHotspotElement: import("react").MemoExoticComponent<(props: Props) => import("react/jsx-runtime").JSX.Element>;
30
+ export {};
@@ -0,0 +1 @@
1
+ import{jsx as t}from"react/jsx-runtime";import{memo as o,useCallback as e,useMemo as i}from"react";import{FrontendAnalyticsFactory as n}from"../application-runtime/index.js";import{useSelectEntity as r}from"../domain-context/index.js";import{PhoenixEntityElementWithChildren as m}from"../elements/index.js";export const SelectionHotspotName="SelectionHotspot";export const SelectionHotspotElement=o(o=>{let{entityId:p,title:s,tooltipVisibility:c}=o,l=r(n.SelectionHotspotClicked),a=e(t=>{t?.stopPropagation(),l(p)},[p,l]);return t(m,{kind:"SelectionHotspot",entityId:p,elementProps:i(()=>({title:s,tooltipVisibility:c,onSelect:a}),[s,c,a])})});
@@ -0,0 +1,30 @@
1
+ import type { Localizable } from '@salsita-ai/common/utils';
2
+ import type { DomainEntityId, ToolMenuFabOption } from '#package/domain';
3
+ import type { SceneControlTooltipVisibility } from './scene-control-tooltip-visibility.js';
4
+ /**
5
+ * The name of the entity element that renders a `toolMenuFab`. Its default, the built-in tool-menu
6
+ * FAB, is registered in `defaultConfiguratorElements`.
7
+ */
8
+ export declare const ToolMenuFabName = "ToolMenuFab";
9
+ /**
10
+ * Props of the `ToolMenuFab` element, rendered for each `toolMenuFab` of an entity, at the position
11
+ * the component sets.
12
+ */
13
+ export interface ToolMenuFabElementProps {
14
+ /** The entity the FAB is attached to. */
15
+ readonly entityId: DomainEntityId<string>;
16
+ /** The tools the menu offers, each with its `label`, optional `icon` and `toolState`. */
17
+ readonly options: readonly ToolMenuFabOption[];
18
+ /** The name of a Phoenix icon; the built-in FAB shows `PencilSimpleBold` when it is not set. */
19
+ readonly icon?: string;
20
+ /** The tooltip text, which the built-in menu also shows as its heading. */
21
+ readonly title?: Localizable;
22
+ /** When the tooltip shows: `on-hover` unless the component sets it. */
23
+ readonly tooltipVisibility: SceneControlTooltipVisibility;
24
+ /** Switches to the given tool state, the `toolState` of one of the `options`. */
25
+ readonly onSelectTool: (toolState: string) => void;
26
+ }
27
+ type Props = Omit<ToolMenuFabElementProps, 'onSelectTool'>;
28
+ /** Renders the `ToolMenuFab` element for an entity, with the tool switch it performs. */
29
+ export declare const ToolMenuFabElement: import("react").MemoExoticComponent<(props: Props) => import("react/jsx-runtime").JSX.Element>;
30
+ export {};
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import{memo as o,useCallback as t,useMemo as n}from"react";import{useDomain as m}from"../domain-context/index.js";import{PhoenixEntityElementWithChildren as r}from"../elements/index.js";export const ToolMenuFabName="ToolMenuFab";export const ToolMenuFabElement=o(o=>{let{entityId:a,options:i,icon:s,title:l,tooltipVisibility:p}=o,{navigationSystem:d,storeSystem:x}=m(),u=t(e=>{x.stageAndCommit([d.getToolUpdate(e)])},[d,x]);return e(r,{kind:"ToolMenuFab",entityId:a,elementProps:n(()=>({options:i,icon:s,title:l,tooltipVisibility:p,onSelectTool:u}),[i,s,l,p,u])})});
@@ -0,0 +1,9 @@
1
+ import { type PhoenixEntityElementRegistration } from '#package/domain';
2
+ import { type AddEntityFabElementProps } from './AddEntityFabElement.js';
3
+ /**
4
+ * Registers a project's add-entity FAB as the `AddEntityFab` entity element, with its props typed.
5
+ * Registering an entity element under that name with `createCustomPhoenixEntityElement` works too,
6
+ * but its component is then typed as taking only `entityId` and `children`.
7
+ */
8
+ export declare const createAddEntityFab: (Element: (props: AddEntityFabElementProps) => JSX.Element | null) => PhoenixEntityElementRegistration;
9
+ export type CreateAddEntityFab = (Element: (props: AddEntityFabElementProps) => JSX.Element | null) => PhoenixEntityElementRegistration;
@@ -0,0 +1 @@
1
+ import{createCustomPhoenixEntityElement as t}from"#package/domain";import{AddEntityFabName as o}from"./AddEntityFabElement.js";export const createAddEntityFab=a=>t(o,a);
@@ -0,0 +1,9 @@
1
+ import { type PhoenixEntityElementRegistration } from '#package/domain';
2
+ import { type DeleteEntityFabElementProps } from './DeleteEntityFabElement.js';
3
+ /**
4
+ * Registers a project's delete-entity FAB as the `DeleteEntityFab` entity element, with its props
5
+ * typed. Registering an entity element under that name with `createCustomPhoenixEntityElement`
6
+ * works too, but its component is then typed as taking only `entityId` and `children`.
7
+ */
8
+ export declare const createDeleteEntityFab: (Element: (props: DeleteEntityFabElementProps) => JSX.Element | null) => PhoenixEntityElementRegistration;
9
+ export type CreateDeleteEntityFab = (Element: (props: DeleteEntityFabElementProps) => JSX.Element | null) => PhoenixEntityElementRegistration;
@@ -0,0 +1 @@
1
+ import{createCustomPhoenixEntityElement as e}from"#package/domain";import{DeleteEntityFabName as t}from"./DeleteEntityFabElement.js";export const createDeleteEntityFab=o=>e(t,o);