@salsita-ai/sdk 0.50.0-develop.ef06ca4ac1 → 0.50.0-develop.f0150c4c2f
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.
- package/dist/configurator/common/configurator-interface.d.ts +52 -2
- package/dist/configurator/common/configurator-interface.js +1 -1
- package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +4 -0
- package/dist/configurator/index.d.ts +1 -0
- package/dist/configurator/index.js +1 -1
- package/dist/configurator/pages/default-configurator-elements.d.ts +3 -2
- package/dist/configurator/pages/default-configurator-elements.js +1 -1
- package/dist/configurator/pages/default-elements/index.d.ts +1 -0
- package/dist/configurator/pages/default-elements/index.js +1 -1
- package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.d.ts +3 -0
- package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.js +1 -0
- package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.d.ts +3 -0
- package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.js +1 -0
- package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.d.ts +3 -0
- package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.js +1 -0
- package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.d.ts +3 -0
- package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.js +1 -0
- package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.d.ts +3 -0
- package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.js +1 -0
- package/dist/configurator/pages/default-elements/scene-controls/index.d.ts +6 -0
- package/dist/configurator/pages/default-elements/scene-controls/index.js +1 -0
- package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.d.ts +6 -0
- package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.js +1 -0
- package/dist/configurator/scene/index.d.ts +1 -0
- package/dist/configurator/scene/index.js +1 -1
- package/dist/configurator/scene/scene-controls/ToolFab.d.ts +4 -0
- package/dist/configurator/scene/scene-controls/ToolFab.js +1 -1
- package/dist/configurator/scene/scene-controls/use-scene-control-tooltip.d.ts +2 -1
- package/dist/configurator/scene/scene-entity/scene-controls/SceneEntityHtmlHotspots.js +1 -1
- package/dist/configurator/toolbar-actions/index.d.ts +3 -0
- package/dist/configurator/toolbar-actions/index.js +1 -0
- package/dist/configurator/toolbar-actions/use-assistant-panel.d.ts +18 -0
- package/dist/configurator/toolbar-actions/use-assistant-panel.js +1 -0
- package/dist/configurator/toolbar-actions/use-measurements.d.ts +35 -0
- package/dist/configurator/toolbar-actions/use-measurements.js +1 -0
- package/dist/configurator/toolbar-actions/use-toolbar-actions.d.ts +100 -0
- package/dist/configurator/toolbar-actions/use-toolbar-actions.js +1 -0
- package/dist/configurator/toolbar-actions/use-toolbar-help.d.ts +7 -0
- package/dist/configurator/toolbar-actions/use-toolbar-help.js +1 -0
- package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +1 -1
- package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
- package/dist/configurator/ui/assistant/alert/AssistantAlert.d.ts +8 -0
- package/dist/configurator/ui/assistant/alert/AssistantAlert.js +1 -0
- package/dist/configurator/ui/assistant/alert/index.d.ts +2 -0
- package/dist/configurator/ui/assistant/alert/index.js +1 -0
- package/dist/configurator/ui/assistant/alert/remark-alerts.d.ts +10 -0
- package/dist/configurator/ui/assistant/alert/remark-alerts.js +1 -0
- package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -1
- package/dist/configurator/ui/assistant/form/built-in-form-registry.js +1 -1
- package/dist/configurator/ui/assistant/form/compose-answer.d.ts +2 -1
- package/dist/configurator/ui/assistant/form/compose-answer.js +1 -1
- package/dist/configurator/ui/assistant/form/form-model.d.ts +3 -2
- package/dist/configurator/ui/assistant/form/form-registry.d.ts +1 -1
- package/dist/configurator/ui/assistant/form/form-registry.js +2 -2
- package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +2 -1
- package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -1
- package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -1
- package/dist/configurator/ui/assistant/form-elements/FormCard.d.ts +9 -0
- package/dist/configurator/ui/assistant/form-elements/FormCard.js +1 -0
- package/dist/configurator/ui/assistant/form-elements/FormConfirm.d.ts +9 -0
- package/dist/configurator/ui/assistant/form-elements/FormConfirm.js +1 -0
- package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +4 -1
- package/dist/configurator/ui/assistant/form-elements/FormNumber.d.ts +9 -0
- package/dist/configurator/ui/assistant/form-elements/FormNumber.js +1 -0
- package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +4 -1
- package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +4 -1
- package/dist/configurator/ui/assistant/form-elements/FormSwatch.d.ts +10 -0
- package/dist/configurator/ui/assistant/form-elements/FormSwatch.js +1 -0
- package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +4 -1
- package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -1
- package/dist/configurator/ui/assistant/form-elements/clamp-form-number.d.ts +10 -0
- package/dist/configurator/ui/assistant/form-elements/clamp-form-number.js +1 -0
- package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +17 -13
- package/dist/configurator/ui/assistant/form-elements/index.d.ts +4 -0
- package/dist/configurator/ui/assistant/form-elements/index.js +1 -1
- package/dist/configurator/ui/assistant/resource-image/index.d.ts +1 -1
- package/dist/configurator/ui/assistant/resource-image/index.js +1 -1
- package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +0 -9
- package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -1
- package/dist/configurator/ui/assistant/streamed-markdown.d.ts +2 -2
- package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
- package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/LanguageMenuAction.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/LanguageToolbarButton.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/MeasurementsMenuAction.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/MeasurementsToolbarButton.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/ShareToolbarButton.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/measurements/DimensionUnitSelector.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/measurements/MeasurementsIndicatorsSwitch.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/share/ShareModal.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/share/use-share.d.ts +7 -8
- package/dist/configurator/ui/phoenix-layout-elements/share/use-share.js +1 -1
- package/dist/docs/complex-use-cases/focus-mode.mdx +2 -0
- package/dist/docs/fabs/basic.mdx +4 -0
- package/dist/docs/index.json +18 -1
- package/dist/docs/layouts/custom-layout.mdx +3 -1
- package/dist/docs/layouts/gallery/kestrel-kettle.mdx +1858 -0
- package/dist/docs/other-features/navigation-hotspot.mdx +2 -0
- package/dist/docs/phoenix/configurator-interface.mdx +68 -1
- package/dist/docs/phoenix/sdk-builder-workflow.mdx +1 -1
- package/dist/docs/selection-and-highlight/hotspots.mdx +2 -0
- package/dist/domain/application/assistant/form/assistant-form-elements.d.ts +163 -0
- package/dist/domain/application/assistant/form/assistant-form-elements.js +1 -0
- package/dist/domain/application/assistant/form/assistant-resource-path.d.ts +10 -0
- package/dist/domain/application/assistant/form/assistant-resource-path.js +1 -0
- package/dist/domain/application/assistant/form/get-assistant-form-value-attribute.d.ts +6 -0
- package/dist/domain/application/assistant/form/get-assistant-form-value-attribute.js +1 -0
- package/dist/domain/application/assistant/form/index.d.ts +4 -0
- package/dist/domain/application/assistant/form/index.js +1 -0
- package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
- package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
- package/dist/domain/application/assistant/index.d.ts +1 -2
- package/dist/domain/application/assistant/index.js +1 -1
- package/dist/domain/domain-runtime/environment/types.d.ts +1 -1
- package/dist/i18n/locales/cs/messages.js +1 -1
- package/dist/i18n/locales/da/messages.js +1 -1
- package/dist/i18n/locales/de/messages.js +1 -1
- package/dist/i18n/locales/de-AT/messages.js +1 -1
- package/dist/i18n/locales/en/messages.js +1 -1
- package/dist/i18n/locales/en-AU/messages.js +1 -1
- package/dist/i18n/locales/en-GB/messages.js +1 -1
- package/dist/i18n/locales/es/messages.js +1 -1
- package/dist/i18n/locales/fr/messages.js +1 -1
- package/dist/i18n/locales/hu/messages.js +1 -1
- package/dist/i18n/locales/it/messages.js +1 -1
- package/dist/i18n/locales/nl/messages.js +1 -1
- package/dist/i18n/locales/pl/messages.js +1 -1
- package/dist/i18n/locales/pt/messages.js +1 -1
- package/dist/i18n/locales/ro/messages.js +1 -1
- package/dist/i18n/locales/sk/messages.js +1 -1
- package/dist/i18n/locales/tr/messages.js +1 -1
- package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
- package/dist/react-sdk/domain-context/index.d.ts +3 -0
- package/dist/react-sdk/domain-context/index.js +1 -1
- package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.d.ts +8 -0
- package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.js +1 -0
- package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.d.ts +24 -0
- package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.js +1 -0
- package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.d.ts +32 -0
- package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.js +1 -0
- package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -1
- package/dist/react-sdk/index.d.ts +1 -0
- package/dist/react-sdk/index.js +1 -1
- package/dist/react-sdk/scene-control-elements/AddEntityFabElement.d.ts +36 -0
- package/dist/react-sdk/scene-control-elements/AddEntityFabElement.js +1 -0
- package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.d.ts +44 -0
- package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.js +1 -0
- package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.d.ts +38 -0
- package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.js +1 -0
- package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.d.ts +30 -0
- package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.js +1 -0
- package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.d.ts +30 -0
- package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.js +1 -0
- package/dist/react-sdk/scene-control-elements/create-add-entity-fab.d.ts +9 -0
- package/dist/react-sdk/scene-control-elements/create-add-entity-fab.js +1 -0
- package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.d.ts +9 -0
- package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.js +1 -0
- package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.d.ts +10 -0
- package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.js +1 -0
- package/dist/react-sdk/scene-control-elements/create-selection-hotspot.d.ts +9 -0
- package/dist/react-sdk/scene-control-elements/create-selection-hotspot.js +1 -0
- package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.d.ts +9 -0
- package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.js +1 -0
- package/dist/react-sdk/scene-control-elements/index.d.ts +11 -0
- package/dist/react-sdk/scene-control-elements/index.js +1 -0
- package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.d.ts +5 -0
- package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.js +1 -0
- package/dist/react-sdk/web-component/create-web-component.js +1 -1
- package/dist/react-sdk/web-component/god-mode/god-mode-registry.d.ts +30 -0
- package/dist/react-sdk/web-component/god-mode/god-mode-registry.js +1 -0
- package/dist/react-sdk/web-component/god-mode/index.d.ts +1 -0
- package/dist/react-sdk/web-component/god-mode/index.js +1 -0
- package/dist/ui-sdk/icons/__generated/Lightbulb.d.ts +3 -0
- package/dist/ui-sdk/icons/__generated/Lightbulb.js +1 -0
- package/dist/ui-sdk/icons/__generated/XCircle.d.ts +3 -0
- package/dist/ui-sdk/icons/__generated/XCircle.js +1 -0
- package/dist/ui-sdk/icons/__generated/index.d.ts +4 -0
- package/dist/ui-sdk/icons/__generated/index.js +1 -1
- package/dist/ui-sdk/icons/icons-registry.js +1 -1
- package/dist/ui-sdk/theme/types.d.ts +1 -1
- package/package.json +3 -3
- package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.d.ts +0 -4
- package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.js +0 -1
- package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.d.ts +0 -4
- package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.js +0 -1
- package/dist/domain/application/assistant/assistant-form-elements.d.ts +0 -28
- package/dist/domain/application/assistant/assistant-form-elements.js +0 -1
- package/dist/react-sdk/application-runtime/runtime/god-mode.d.ts +0 -19
- package/dist/react-sdk/application-runtime/runtime/god-mode.js +0 -1
|
@@ -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"]}');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{BehaviorSubject as e}from"rxjs";import{memoOnce as t}from"@salsita-ai/common/utils";import{createDomainRuntimeSlices as i,resolveIsDev as n}from"#package/domain";import{initializeAnalyticsService as o}from"../common-services/analytics/analytics-service.js";import{initializeI18n as s,initializeLogger as r}from"../common-services/initialize.js";import{createCommonServicesSelectors as a}from"../common-services/selectors.js";import{createDomainApplicationContextSelectors as c}from"../domain-application-context/index.js";import{createIntegrationActions as
|
|
1
|
+
import{BehaviorSubject as e}from"rxjs";import{memoOnce as t}from"@salsita-ai/common/utils";import{createDomainRuntimeSlices as i,resolveIsDev as n}from"#package/domain";import{initializeAnalyticsService as o}from"../common-services/analytics/analytics-service.js";import{initializeI18n as s,initializeLogger as r}from"../common-services/initialize.js";import{createCommonServicesSelectors as a}from"../common-services/selectors.js";import{createDomainApplicationContextSelectors as c}from"../domain-application-context/index.js";import{createIntegrationActions as l,createIntegrationSelectors as m,initializeIntegration as p}from"../integration/index.js";import{createRoutingActions as u,createRoutingSelectors as d,initializeRouting as g}from"../routing/index.js";import{SessionService as S,createSessionRuntimeActions as v,createSessionRuntimeSelectors as x,initializeSessionRuntime as f}from"../session/index.js";export function createApplicationRuntimeSlices(e){let{config:C,bootConfig:y,getSubject:A,getConfiguratorExtensions:b}=e,j=n(C),w=r(C,j),R={analyticsService:o(C,w,j),i18n:s(C),logger:w},{initialize:I,selectors:E,actions:h}=i({config:C,services:R,getSubject:A,getExtensionSystems:e=>H[e].getInitializableSystems()}),z=I(),D=l({setIntegration:e=>{let t=A(),i=e(t.value.integration);t.next({...t.value,integration:i})}}),T=m({getState:()=>A().value}),L=p({actions:D}),O=u({setRouting:e=>{let t=A(),i=e(t.value.routing);t.next({...t.value,routing:i})}}),U=d({getState:()=>A().value,actions:O,accessActions:h.access,loadedDataActions:h.loadedData,domainServicesSelectors:E.domainServices,overridesSelectors:E.overrides}),k=g(),G=a({getState:()=>A().value,environmentSelectors:E.environment,specSelectors:E.spec,accessSelectors:E.access,domainServicesSelectors:E.domainServices,webComponentOptions:y.webComponentOptions,webComponentApi:y.webComponentApi,getSessionService:()=>F(),routingSelectors:U}),$=v({setSessionRuntime:e=>{let t=A(),i=e(t.value.session);t.next({...t.value,session:i})}}),q=x({getState:()=>A().value,sessionContextSelectors:E.sessionContext}),B=f(),F=t(()=>new S({getLogger:()=>E.domainServices.getLogger(),getAnalyticsService:()=>E.domainServices.getAnalyticsService(),getUnauthenticatedClient:G.getUnauthenticatedClient,environmentSelectors:E.environment,sessionActions:$,setSessionContext:h.sessionContext.setSessionContext,sessionSelectors:q,specSelectors:E.spec})),H={configurator:c({applicationType:"configurator",commonServicesSelectors:G,domainServicesSelectors:E.domainServices,domainContextSelectors:E.domainContext.configurator,getApplicationRuntimeExtensions:b}),admin:c({applicationType:"admin",commonServicesSelectors:G,domainServicesSelectors:E.domainServices,domainContextSelectors:E.domainContext.admin,getApplicationRuntimeExtensions:()=>[]})};return w.info(`Configurator Application loaded with deployment ID: ${C.deploymentId}!`),w.appendToGlobalContext({deploymentId:C.deploymentId}),{getState:()=>A().value,initialize:()=>({...z,integration:L,routing:k,session:B}),selectors:{...E,commonServices:G,integration:T,routing:U,session:q,domainApplicationContext:H},actions:{...h,integration:D,routing:O,session:$}}}export function createApplicationRuntime(t,i,n){return((t,i,n)=>{let o=null,s=null,r=()=>{if(!o)throw Error("Subject not yet initialized!");return o},{initialize:a,...c}=createApplicationRuntimeSlices({config:t,bootConfig:i,getSubject:r,getConfiguratorExtensions:()=>s});return s=n?n(c):[],c.selectors.domainApplicationContext.configurator.getSystems(),o=new e(a()),{...c,getState:()=>r().value,subscribe:e=>{let t=r().subscribe(()=>e());return()=>t.unsubscribe()}}})(t,i,n)}
|
|
@@ -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
|
|
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';
|
package/dist/react-sdk/index.js
CHANGED
|
@@ -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);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type PhoenixEntityElementRegistration } from '#package/domain';
|
|
2
|
+
import { type NavigationHotspotElementProps } from './NavigationHotspotElement.js';
|
|
3
|
+
/**
|
|
4
|
+
* Registers a project's navigation hotspot as the `NavigationHotspot` entity element, with its
|
|
5
|
+
* props typed. Registering an entity element under that name with
|
|
6
|
+
* `createCustomPhoenixEntityElement` works too, but its component is then typed as taking only
|
|
7
|
+
* `entityId` and `children`.
|
|
8
|
+
*/
|
|
9
|
+
export declare const createNavigationHotspot: (Element: (props: NavigationHotspotElementProps) => JSX.Element | null) => PhoenixEntityElementRegistration;
|
|
10
|
+
export type CreateNavigationHotspot = (Element: (props: NavigationHotspotElementProps) => JSX.Element | null) => PhoenixEntityElementRegistration;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createCustomPhoenixEntityElement as o}from"#package/domain";import{NavigationHotspotName as t}from"./NavigationHotspotElement.js";export const createNavigationHotspot=a=>o(t,a);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type PhoenixEntityElementRegistration } from '#package/domain';
|
|
2
|
+
import { type SelectionHotspotElementProps } from './SelectionHotspotElement.js';
|
|
3
|
+
/**
|
|
4
|
+
* Registers a project's selection hotspot as the `SelectionHotspot` 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 createSelectionHotspot: (Element: (props: SelectionHotspotElementProps) => JSX.Element | null) => PhoenixEntityElementRegistration;
|
|
9
|
+
export type CreateSelectionHotspot = (Element: (props: SelectionHotspotElementProps) => JSX.Element | null) => PhoenixEntityElementRegistration;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createCustomPhoenixEntityElement as o}from"#package/domain";import{SelectionHotspotName as t}from"./SelectionHotspotElement.js";export const createSelectionHotspot=e=>o(t,e);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type PhoenixEntityElementRegistration } from '#package/domain';
|
|
2
|
+
import { type ToolMenuFabElementProps } from './ToolMenuFabElement.js';
|
|
3
|
+
/**
|
|
4
|
+
* Registers a project's tool-menu FAB as the `ToolMenuFab` 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 createToolMenuFab: (Element: (props: ToolMenuFabElementProps) => JSX.Element | null) => PhoenixEntityElementRegistration;
|
|
9
|
+
export type CreateToolMenuFab = (Element: (props: ToolMenuFabElementProps) => JSX.Element | null) => PhoenixEntityElementRegistration;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createCustomPhoenixEntityElement as o}from"#package/domain";import{ToolMenuFabName as e}from"./ToolMenuFabElement.js";export const createToolMenuFab=a=>o(e,a);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { AddEntityFabElement, AddEntityFabName, type AddEntityFabElementProps } from './AddEntityFabElement.js';
|
|
2
|
+
export { DeleteEntityFabElement, DeleteEntityFabName, type DeleteEntityFabElementProps, } from './DeleteEntityFabElement.js';
|
|
3
|
+
export { NavigationHotspotElement, NavigationHotspotName, type NavigationHotspotElementProps, } from './NavigationHotspotElement.js';
|
|
4
|
+
export { SelectionHotspotElement, SelectionHotspotName, type SelectionHotspotElementProps, } from './SelectionHotspotElement.js';
|
|
5
|
+
export { ToolMenuFabElement, ToolMenuFabName, type ToolMenuFabElementProps } from './ToolMenuFabElement.js';
|
|
6
|
+
export { createAddEntityFab, type CreateAddEntityFab } from './create-add-entity-fab.js';
|
|
7
|
+
export { createDeleteEntityFab, type CreateDeleteEntityFab } from './create-delete-entity-fab.js';
|
|
8
|
+
export { createNavigationHotspot, type CreateNavigationHotspot } from './create-navigation-hotspot.js';
|
|
9
|
+
export { createSelectionHotspot, type CreateSelectionHotspot } from './create-selection-hotspot.js';
|
|
10
|
+
export { createToolMenuFab, type CreateToolMenuFab } from './create-tool-menu-fab.js';
|
|
11
|
+
export { type SceneControlTooltipVisibility } from './scene-control-tooltip-visibility.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{AddEntityFabElement,AddEntityFabName}from"./AddEntityFabElement.js";export{DeleteEntityFabElement,DeleteEntityFabName}from"./DeleteEntityFabElement.js";export{NavigationHotspotElement,NavigationHotspotName}from"./NavigationHotspotElement.js";export{SelectionHotspotElement,SelectionHotspotName}from"./SelectionHotspotElement.js";export{ToolMenuFabElement,ToolMenuFabName}from"./ToolMenuFabElement.js";export{createAddEntityFab}from"./create-add-entity-fab.js";export{createDeleteEntityFab}from"./create-delete-entity-fab.js";export{createNavigationHotspot}from"./create-navigation-hotspot.js";export{createSelectionHotspot}from"./create-selection-hotspot.js";export{createToolMenuFab}from"./create-tool-menu-fab.js";
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* When an in-scene control shows its tooltip: `on-hover` on hover, `forced` always once the camera
|
|
3
|
+
* has been still, `forced-when-still` while the camera is still, `hidden` never.
|
|
4
|
+
*/
|
|
5
|
+
export type SceneControlTooltipVisibility = 'on-hover' | 'forced' | 'forced-when-still' | 'hidden';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{};
|