@collabdt/core 0.0.50 → 0.0.53
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/NOTICE +1021 -0
- package/README.md +32 -4
- package/dist/core/components/AppSidebarContent.d.ts.map +1 -1
- package/dist/core/components/AppSidebarContent.js.map +1 -1
- package/dist/core/components/ConfirmDialog.d.ts.map +1 -1
- package/dist/core/components/ConfirmDialog.js.map +1 -1
- package/dist/core/components/DataTableSkeleton.d.ts.map +1 -1
- package/dist/core/components/DataTableSkeleton.js.map +1 -1
- package/dist/core/components/LanguageSwitch.d.ts.map +1 -1
- package/dist/core/components/LanguageSwitch.js.map +1 -1
- package/dist/core/components/Logo.d.ts.map +1 -1
- package/dist/core/components/Logo.js.map +1 -1
- package/dist/core/components/Toolbar.d.ts.map +1 -1
- package/dist/core/components/Toolbar.js.map +1 -1
- package/dist/core/components/ToolbarBody.d.ts.map +1 -1
- package/dist/core/components/ToolbarBody.js.map +1 -1
- package/dist/core/components/ToolbarSubmenu.d.ts.map +1 -1
- package/dist/core/components/ToolbarSubmenu.js.map +1 -1
- package/dist/core/components/TopNavigationBar.d.ts.map +1 -1
- package/dist/core/components/TopNavigationBar.js.map +1 -1
- package/dist/core/components/authentication/AuthPage.d.ts.map +1 -1
- package/dist/core/components/authentication/AuthPage.js.map +1 -1
- package/dist/core/components/authentication/ForgotPassword.d.ts.map +1 -1
- package/dist/core/components/authentication/ForgotPassword.js.map +1 -1
- package/dist/core/components/authentication/PasswordError.d.ts.map +1 -1
- package/dist/core/components/authentication/PasswordError.js.map +1 -1
- package/dist/core/components/authentication/Signin.d.ts.map +1 -1
- package/dist/core/components/authentication/Signin.js.map +1 -1
- package/dist/core/components/authentication/SigninEmail.d.ts.map +1 -1
- package/dist/core/components/authentication/SigninEmail.js.map +1 -1
- package/dist/core/components/authentication/Signup.d.ts.map +1 -1
- package/dist/core/components/authentication/Signup.js.map +1 -1
- package/dist/core/components/authentication/VerifyEmail.d.ts.map +1 -1
- package/dist/core/components/authentication/VerifyEmail.js.map +1 -1
- package/dist/core/components/authentication/index.d.ts.map +1 -1
- package/dist/core/components/authentication/index.js.map +1 -1
- package/dist/core/components/index.d.ts +1 -0
- package/dist/core/components/index.d.ts.map +1 -1
- package/dist/core/components/index.js +1 -0
- package/dist/core/components/index.js.map +1 -1
- package/dist/core/components/instance-not-found/index.d.ts.map +1 -1
- package/dist/core/components/instance-not-found/index.js.map +1 -1
- package/dist/core/components/instance-not-found/src/OrganizationNotFoundSection.d.ts.map +1 -1
- package/dist/core/components/instance-not-found/src/OrganizationNotFoundSection.js.map +1 -1
- package/dist/core/components/organizationConfig/index.d.ts +2 -0
- package/dist/core/components/organizationConfig/index.d.ts.map +1 -0
- package/dist/core/components/organizationConfig/index.js +66 -0
- package/dist/core/components/organizationConfig/index.js.map +1 -0
- package/dist/core/components/organizationConfig/src/organizationConfigContent.d.ts +2 -0
- package/dist/core/components/organizationConfig/src/organizationConfigContent.d.ts.map +1 -0
- package/dist/core/components/organizationConfig/src/organizationConfigContent.js +229 -0
- package/dist/core/components/organizationConfig/src/organizationConfigContent.js.map +1 -0
- package/dist/core/components/settings/index.d.ts.map +1 -1
- package/dist/core/components/settings/index.js.map +1 -1
- package/dist/core/components/settings/src/AccountSettingsPanel.d.ts.map +1 -1
- package/dist/core/components/settings/src/AccountSettingsPanel.js.map +1 -1
- package/dist/core/components/settings/src/ChangePassword.d.ts.map +1 -1
- package/dist/core/components/settings/src/ChangePassword.js.map +1 -1
- package/dist/core/components/settings/src/OrganizationSettingsPanel.d.ts.map +1 -1
- package/dist/core/components/settings/src/OrganizationSettingsPanel.js.map +1 -1
- package/dist/core/components/settings/src/OrganizationSkeleton.d.ts.map +1 -1
- package/dist/core/components/settings/src/OrganizationSkeleton.js.map +1 -1
- package/dist/core/components/settings/src/SettingsContent.d.ts.map +1 -1
- package/dist/core/components/settings/src/SettingsContent.js.map +1 -1
- package/dist/core/components/settings/src/SettingsHeader.d.ts.map +1 -1
- package/dist/core/components/settings/src/SettingsHeader.js.map +1 -1
- package/dist/core/components/settings/src/SettingsSidebar.d.ts.map +1 -1
- package/dist/core/components/settings/src/SettingsSidebar.js.map +1 -1
- package/dist/core/components/settings/src/SettingsSkeleton.d.ts.map +1 -1
- package/dist/core/components/settings/src/SettingsSkeleton.js.map +1 -1
- package/dist/core/components/settings/src/UsersSettingsPanel.d.ts.map +1 -1
- package/dist/core/components/settings/src/UsersSettingsPanel.js.map +1 -1
- package/dist/core/components/settings/src/types.d.ts.map +1 -1
- package/dist/core/components/ui/Accordion.d.ts.map +1 -1
- package/dist/core/components/ui/Accordion.js.map +1 -1
- package/dist/core/components/ui/AddItemDialog.d.ts.map +1 -1
- package/dist/core/components/ui/AddItemDialog.js.map +1 -1
- package/dist/core/components/ui/AlertDialog.d.ts.map +1 -1
- package/dist/core/components/ui/AlertDialog.js.map +1 -1
- package/dist/core/components/ui/AnimatedBackground.d.ts.map +1 -1
- package/dist/core/components/ui/AnimatedBackground.js.map +1 -1
- package/dist/core/components/ui/AppSidebar.d.ts.map +1 -1
- package/dist/core/components/ui/AppSidebar.js +30 -15
- package/dist/core/components/ui/AppSidebar.js.map +1 -1
- package/dist/core/components/ui/Avatar.d.ts.map +1 -1
- package/dist/core/components/ui/Avatar.js.map +1 -1
- package/dist/core/components/ui/Badge.d.ts.map +1 -1
- package/dist/core/components/ui/Badge.js.map +1 -1
- package/dist/core/components/ui/Breadcrumb.d.ts.map +1 -1
- package/dist/core/components/ui/Breadcrumb.js.map +1 -1
- package/dist/core/components/ui/Button.d.ts.map +1 -1
- package/dist/core/components/ui/Button.js.map +1 -1
- package/dist/core/components/ui/Calendar.d.ts.map +1 -1
- package/dist/core/components/ui/Calendar.js.map +1 -1
- package/dist/core/components/ui/Card.d.ts.map +1 -1
- package/dist/core/components/ui/Card.js.map +1 -1
- package/dist/core/components/ui/Checkbox.d.ts.map +1 -1
- package/dist/core/components/ui/Checkbox.js.map +1 -1
- package/dist/core/components/ui/CollapsibleSection.d.ts.map +1 -1
- package/dist/core/components/ui/CollapsibleSection.js.map +1 -1
- package/dist/core/components/ui/ColorCircle.d.ts.map +1 -1
- package/dist/core/components/ui/ColorCircle.js.map +1 -1
- package/dist/core/components/ui/Command.d.ts.map +1 -1
- package/dist/core/components/ui/Command.js.map +1 -1
- package/dist/core/components/ui/Comments/CollapsibleCommentItem.d.ts.map +1 -1
- package/dist/core/components/ui/Comments/CollapsibleCommentItem.js.map +1 -1
- package/dist/core/components/ui/Comments/Comment.d.ts.map +1 -1
- package/dist/core/components/ui/Comments/Comment.js.map +1 -1
- package/dist/core/components/ui/Comments/CommentInput.d.ts.map +1 -1
- package/dist/core/components/ui/Comments/CommentInput.js.map +1 -1
- package/dist/core/components/ui/Comments/CommentsSection.d.ts.map +1 -1
- package/dist/core/components/ui/Comments/CommentsSection.js.map +1 -1
- package/dist/core/components/ui/Comments/commentUtils.d.ts.map +1 -1
- package/dist/core/components/ui/Comments/commentUtils.js.map +1 -1
- package/dist/core/components/ui/Countdown.d.ts.map +1 -1
- package/dist/core/components/ui/Countdown.js.map +1 -1
- package/dist/core/components/ui/DataTable.d.ts.map +1 -1
- package/dist/core/components/ui/DataTable.js.map +1 -1
- package/dist/core/components/ui/DatePicker.d.ts.map +1 -1
- package/dist/core/components/ui/DatePicker.js.map +1 -1
- package/dist/core/components/ui/DescriptionList.d.ts.map +1 -1
- package/dist/core/components/ui/DescriptionList.js.map +1 -1
- package/dist/core/components/ui/Dialog.d.ts.map +1 -1
- package/dist/core/components/ui/Dialog.js.map +1 -1
- package/dist/core/components/ui/DropdownMenu.d.ts.map +1 -1
- package/dist/core/components/ui/DropdownMenu.js.map +1 -1
- package/dist/core/components/ui/ExportData.d.ts.map +1 -1
- package/dist/core/components/ui/ExportData.js.map +1 -1
- package/dist/core/components/ui/FilesManager/index.d.ts.map +1 -1
- package/dist/core/components/ui/FilesManager/index.js.map +1 -1
- package/dist/core/components/ui/FilesManager/src/FileItemComponent.d.ts.map +1 -1
- package/dist/core/components/ui/FilesManager/src/FileItemComponent.js.map +1 -1
- package/dist/core/components/ui/FilesManager/src/FileMarker.d.ts.map +1 -1
- package/dist/core/components/ui/FilesManager/src/FileMarker.js.map +1 -1
- package/dist/core/components/ui/FilesManager/src/ViewerContextMenu.d.ts.map +1 -1
- package/dist/core/components/ui/FilesManager/src/ViewerContextMenu.js.map +1 -1
- package/dist/core/components/ui/FilesManager/src/convertIfcToFragmentsFile.d.ts.map +1 -1
- package/dist/core/components/ui/FilesManager/src/convertIfcToFragmentsFile.js.map +1 -1
- package/dist/core/components/ui/FilesManager/src/downloadUtils.d.ts.map +1 -1
- package/dist/core/components/ui/FilesManager/src/downloadUtils.js.map +1 -1
- package/dist/core/components/ui/FilesManager/src/useCommonFileUpload.d.ts.map +1 -1
- package/dist/core/components/ui/FilesManager/src/useCommonFileUpload.js.map +1 -1
- package/dist/core/components/ui/FilesManager/src/useFileActions.d.ts.map +1 -1
- package/dist/core/components/ui/FilesManager/src/useFileActions.js.map +1 -1
- package/dist/core/components/ui/FilesManager/src/useFileDeleteHandler.d.ts.map +1 -1
- package/dist/core/components/ui/FilesManager/src/useFileDeleteHandler.js.map +1 -1
- package/dist/core/components/ui/FilesManager/src/useFileUploadHandler.d.ts.map +1 -1
- package/dist/core/components/ui/FilesManager/src/useFileUploadHandler.js.map +1 -1
- package/dist/core/components/ui/FilesManager/src/useFileUploadWithProgress.d.ts.map +1 -1
- package/dist/core/components/ui/FilesManager/src/useFileUploadWithProgress.js.map +1 -1
- package/dist/core/components/ui/Footer.d.ts.map +1 -1
- package/dist/core/components/ui/Footer.js.map +1 -1
- package/dist/core/components/ui/GenericTool.d.ts.map +1 -1
- package/dist/core/components/ui/GenericTool.js.map +1 -1
- package/dist/core/components/ui/Icons/BcfIcon.d.ts.map +1 -1
- package/dist/core/components/ui/Icons/BcfIcon.js.map +1 -1
- package/dist/core/components/ui/Icons/CdtIcon.d.ts.map +1 -1
- package/dist/core/components/ui/Icons/CdtIcon.js.map +1 -1
- package/dist/core/components/ui/Icons/FloorPlanIcon.d.ts.map +1 -1
- package/dist/core/components/ui/Icons/FloorPlanIcon.js.map +1 -1
- package/dist/core/components/ui/Icons/GoogleIcon.d.ts.map +1 -1
- package/dist/core/components/ui/Icons/GoogleIcon.js.map +1 -1
- package/dist/core/components/ui/Icons/IdsIcon.d.ts.map +1 -1
- package/dist/core/components/ui/Icons/IdsIcon.js.map +1 -1
- package/dist/core/components/ui/Icons/IfcIcon.d.ts.map +1 -1
- package/dist/core/components/ui/Icons/IfcIcon.js.map +1 -1
- package/dist/core/components/ui/Icons/index.d.ts.map +1 -1
- package/dist/core/components/ui/Icons/index.js.map +1 -1
- package/dist/core/components/ui/InfoSidebar/Container.d.ts.map +1 -1
- package/dist/core/components/ui/InfoSidebar/Container.js.map +1 -1
- package/dist/core/components/ui/InfoSidebar/Header.d.ts.map +1 -1
- package/dist/core/components/ui/InfoSidebar/Header.js.map +1 -1
- package/dist/core/components/ui/InfoSidebar/index.d.ts.map +1 -1
- package/dist/core/components/ui/InfoSidebar/index.js.map +1 -1
- package/dist/core/components/ui/Input.d.ts.map +1 -1
- package/dist/core/components/ui/Input.js.map +1 -1
- package/dist/core/components/ui/Label.d.ts.map +1 -1
- package/dist/core/components/ui/Label.js.map +1 -1
- package/dist/core/components/ui/LanguageToggle.d.ts.map +1 -1
- package/dist/core/components/ui/LanguageToggle.js.map +1 -1
- package/dist/core/components/ui/LoadingSpinner.d.ts.map +1 -1
- package/dist/core/components/ui/LoadingSpinner.js.map +1 -1
- package/dist/core/components/ui/Menubar.d.ts.map +1 -1
- package/dist/core/components/ui/Menubar.js.map +1 -1
- package/dist/core/components/ui/NavUser.d.ts.map +1 -1
- package/dist/core/components/ui/NavUser.js.map +1 -1
- package/dist/core/components/ui/Navbar.d.ts.map +1 -1
- package/dist/core/components/ui/Navbar.js.map +1 -1
- package/dist/core/components/ui/Popover.d.ts.map +1 -1
- package/dist/core/components/ui/Popover.js.map +1 -1
- package/dist/core/components/ui/Progress.d.ts.map +1 -1
- package/dist/core/components/ui/Progress.js.map +1 -1
- package/dist/core/components/ui/ScrollArea.d.ts.map +1 -1
- package/dist/core/components/ui/ScrollArea.js.map +1 -1
- package/dist/core/components/ui/SearchInput.d.ts.map +1 -1
- package/dist/core/components/ui/SearchInput.js.map +1 -1
- package/dist/core/components/ui/Select.d.ts.map +1 -1
- package/dist/core/components/ui/Select.js.map +1 -1
- package/dist/core/components/ui/Sensors/CollapsibleSensorItem.d.ts.map +1 -1
- package/dist/core/components/ui/Sensors/CollapsibleSensorItem.js.map +1 -1
- package/dist/core/components/ui/Sensors/Sensor.d.ts.map +1 -1
- package/dist/core/components/ui/Sensors/Sensor.js.map +1 -1
- package/dist/core/components/ui/Sensors/SensorChart.d.ts.map +1 -1
- package/dist/core/components/ui/Sensors/SensorChart.js.map +1 -1
- package/dist/core/components/ui/Sensors/SensorInput.d.ts.map +1 -1
- package/dist/core/components/ui/Sensors/SensorInput.js.map +1 -1
- package/dist/core/components/ui/Sensors/SensorTagsSection.d.ts.map +1 -1
- package/dist/core/components/ui/Sensors/SensorTagsSection.js.map +1 -1
- package/dist/core/components/ui/Sensors/SensorsSection.d.ts.map +1 -1
- package/dist/core/components/ui/Sensors/SensorsSection.js.map +1 -1
- package/dist/core/components/ui/Sensors/SensorsSectionSkeleton.d.ts.map +1 -1
- package/dist/core/components/ui/Sensors/SensorsSectionSkeleton.js.map +1 -1
- package/dist/core/components/ui/Sensors/sensorUtils.d.ts.map +1 -1
- package/dist/core/components/ui/Sensors/sensorUtils.js.map +1 -1
- package/dist/core/components/ui/Separator.d.ts.map +1 -1
- package/dist/core/components/ui/Separator.js.map +1 -1
- package/dist/core/components/ui/SettingsButton.d.ts.map +1 -1
- package/dist/core/components/ui/SettingsButton.js.map +1 -1
- package/dist/core/components/ui/ShareFeature/QRCodeWithLink.d.ts.map +1 -1
- package/dist/core/components/ui/ShareFeature/QRCodeWithLink.js.map +1 -1
- package/dist/core/components/ui/ShareFeature/ShareToolSubmenu.d.ts.map +1 -1
- package/dist/core/components/ui/ShareFeature/ShareToolSubmenu.js.map +1 -1
- package/dist/core/components/ui/ShareFeature/index.d.ts.map +1 -1
- package/dist/core/components/ui/ShareFeature/index.js.map +1 -1
- package/dist/core/components/ui/Sheet.d.ts.map +1 -1
- package/dist/core/components/ui/Sheet.js.map +1 -1
- package/dist/core/components/ui/Sidebar.d.ts.map +1 -1
- package/dist/core/components/ui/Sidebar.js.map +1 -1
- package/dist/core/components/ui/Skeleton.d.ts.map +1 -1
- package/dist/core/components/ui/Skeleton.js.map +1 -1
- package/dist/core/components/ui/Slider.d.ts.map +1 -1
- package/dist/core/components/ui/Slider.js.map +1 -1
- package/dist/core/components/ui/Sonner.d.ts.map +1 -1
- package/dist/core/components/ui/Sonner.js.map +1 -1
- package/dist/core/components/ui/Switch.d.ts.map +1 -1
- package/dist/core/components/ui/Switch.js.map +1 -1
- package/dist/core/components/ui/Table.d.ts.map +1 -1
- package/dist/core/components/ui/Table.js.map +1 -1
- package/dist/core/components/ui/Tabs.d.ts.map +1 -1
- package/dist/core/components/ui/Tabs.js.map +1 -1
- package/dist/core/components/ui/Textarea.d.ts.map +1 -1
- package/dist/core/components/ui/Textarea.js.map +1 -1
- package/dist/core/components/ui/Toggle.d.ts.map +1 -1
- package/dist/core/components/ui/Toggle.js.map +1 -1
- package/dist/core/components/ui/ToggleGroup.d.ts.map +1 -1
- package/dist/core/components/ui/ToggleGroup.js.map +1 -1
- package/dist/core/components/ui/ToolbarButton.d.ts.map +1 -1
- package/dist/core/components/ui/ToolbarButton.js.map +1 -1
- package/dist/core/components/ui/Tooltip.d.ts.map +1 -1
- package/dist/core/components/ui/Tooltip.js.map +1 -1
- package/dist/core/components/ui/UserAvatar.d.ts.map +1 -1
- package/dist/core/components/ui/UserAvatar.js.map +1 -1
- package/dist/core/components/ui/chart.d.ts.map +1 -1
- package/dist/core/components/ui/chart.js.map +1 -1
- package/dist/core/components/ui/downloadUtils.d.ts.map +1 -1
- package/dist/core/components/ui/downloadUtils.js.map +1 -1
- package/dist/core/components/ui/index.d.ts.map +1 -1
- package/dist/core/components/ui/index.js.map +1 -1
- package/dist/core/components/ui/openPopupWindow.d.ts.map +1 -1
- package/dist/core/components/ui/openPopupWindow.js.map +1 -1
- package/dist/core/components/ui/openPopupWindowLCA.d.ts.map +1 -1
- package/dist/core/components/ui/openPopupWindowLCA.js.map +1 -1
- package/dist/core/components/ui/stats.d.ts.map +1 -1
- package/dist/core/components/ui/stats.js.map +1 -1
- package/dist/core/components/ui/uploadFile.d.ts.map +1 -1
- package/dist/core/components/ui/uploadFile.js.map +1 -1
- package/dist/core/components/viewers/Data/DataMenu.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/DataMenu.js.map +1 -1
- package/dist/core/components/viewers/Data/FilterButtons.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/FilterButtons.js.map +1 -1
- package/dist/core/components/viewers/Data/HeaderButtons.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/HeaderButtons.js.map +1 -1
- package/dist/core/components/viewers/Data/MoreOptions.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/MoreOptions.js.map +1 -1
- package/dist/core/components/viewers/Data/advancedFilter/Filters.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/advancedFilter/Filters.js.map +1 -1
- package/dist/core/components/viewers/Data/advancedFilter/FiltersDialog.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/advancedFilter/FiltersDialog.js.map +1 -1
- package/dist/core/components/viewers/Data/buildingDetails/AddBuilding.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/buildingDetails/AddBuilding.js.map +1 -1
- package/dist/core/components/viewers/Data/buildingDetails/BuildingDetails.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/buildingDetails/BuildingDetails.js.map +1 -1
- package/dist/core/components/viewers/Data/buildingDetails/BuildingsMoreOptions.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/buildingDetails/BuildingsMoreOptions.js.map +1 -1
- package/dist/core/components/viewers/Data/buildingDetails/FieldRenderer.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/buildingDetails/FieldRenderer.js.map +1 -1
- package/dist/core/components/viewers/Data/buildingDetails/GeocoderInput.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/buildingDetails/GeocoderInput.js.map +1 -1
- package/dist/core/components/viewers/Data/buildingDetails/buildingSchemaTemplate.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/buildingDetails/buildingSchemaTemplate.js.map +1 -1
- package/dist/core/components/viewers/Data/details/AttachedFiles.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/details/AttachedFiles.js.map +1 -1
- package/dist/core/components/viewers/Data/details/CheckboxGroup.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/details/CheckboxGroup.js.map +1 -1
- package/dist/core/components/viewers/Data/details/DetailActions.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/details/DetailActions.js.map +1 -1
- package/dist/core/components/viewers/Data/details/DetailHeader.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/details/DetailHeader.js.map +1 -1
- package/dist/core/components/viewers/Data/details/EnergySourcesGrid.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/details/EnergySourcesGrid.js.map +1 -1
- package/dist/core/components/viewers/Data/details/FieldValue.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/details/FieldValue.js.map +1 -1
- package/dist/core/components/viewers/Data/details/FileUpload.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/details/FileUpload.js.map +1 -1
- package/dist/core/components/viewers/Data/details/FilterFiles.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/details/FilterFiles.js.map +1 -1
- package/dist/core/components/viewers/Data/details/TabSidebar.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/details/TabSidebar.js.map +1 -1
- package/dist/core/components/viewers/Data/details/UnitsGrid.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/details/UnitsGrid.js.map +1 -1
- package/dist/core/components/viewers/Data/details/getAttachmentFileName.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/details/getAttachmentFileName.js.map +1 -1
- package/dist/core/components/viewers/Data/files/DatatableFileAdder.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/files/DatatableFileAdder.js +3 -0
- package/dist/core/components/viewers/Data/files/DatatableFileAdder.js.map +1 -1
- package/dist/core/components/viewers/Data/files/FileDetails.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/files/FileDetails.js.map +1 -1
- package/dist/core/components/viewers/Data/files/FileMoreOptions.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/files/FileMoreOptions.js.map +1 -1
- package/dist/core/components/viewers/Data/files/FilePreview.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/files/FilePreview.js.map +1 -1
- package/dist/core/components/viewers/Data/files/utils/fuzzySearch.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/files/utils/fuzzySearch.js.map +1 -1
- package/dist/core/components/viewers/Data/infrastructureDetails/AddInfrastructure.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/infrastructureDetails/AddInfrastructure.js.map +1 -1
- package/dist/core/components/viewers/Data/infrastructureDetails/FieldRenderer.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/infrastructureDetails/FieldRenderer.js.map +1 -1
- package/dist/core/components/viewers/Data/infrastructureDetails/InfrastructureDetails.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/infrastructureDetails/InfrastructureDetails.js.map +1 -1
- package/dist/core/components/viewers/Data/siteDetails/AddSite.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/siteDetails/AddSite.js.map +1 -1
- package/dist/core/components/viewers/Data/siteDetails/AssociatedBuildings.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/siteDetails/AssociatedBuildings.js.map +1 -1
- package/dist/core/components/viewers/Data/siteDetails/FieldRenderer.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/siteDetails/FieldRenderer.js.map +1 -1
- package/dist/core/components/viewers/Data/siteDetails/SiteDetails.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/siteDetails/SiteDetails.js.map +1 -1
- package/dist/core/components/viewers/Data/userDetails/AddUser.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/userDetails/AddUser.js.map +1 -1
- package/dist/core/components/viewers/Data/userDetails/UserDetails.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/userDetails/UserDetails.js.map +1 -1
- package/dist/core/components/viewers/Data/userDetails/UserMoreOptions.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/userDetails/UserMoreOptions.js.map +1 -1
- package/dist/core/components/viewers/Data/utils/Columns.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/utils/Columns.js.map +1 -1
- package/dist/core/components/viewers/Data/utils/Headers.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/utils/Headers.js.map +1 -1
- package/dist/core/components/viewers/Data/utils/convertDate.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/utils/convertDate.js.map +1 -1
- package/dist/core/components/viewers/Data/utils/csvUtils.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/utils/csvUtils.js.map +1 -1
- package/dist/core/components/viewers/Data/utils/filterHelper.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/utils/filterHelper.js.map +1 -1
- package/dist/core/components/viewers/Data/utils/positionParser.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/utils/positionParser.js.map +1 -1
- package/dist/core/components/viewers/Data/utils/useViewerData.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/utils/useViewerData.js.map +1 -1
- package/dist/core/components/viewers/Data/utils/viewerConfig.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/utils/viewerConfig.js.map +1 -1
- package/dist/core/components/viewers/Viewer.d.ts.map +1 -1
- package/dist/core/components/viewers/Viewer.js.map +1 -1
- package/dist/core/components/viewers/bim/BimToolbar.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/BimToolbar.js.map +1 -1
- package/dist/core/components/viewers/bim/BimViewer.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/BimViewer.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BCFTopicsManager.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BCFTopicsManager.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BIMManager/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BIMManager/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimLoadingState/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimLoadingState/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimMeasurements/LenghtMeasurement.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimMeasurements/LenghtMeasurement.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/CommunicationTab/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/CommunicationTab/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/CommunicationTab/src/CollapsibleTopicItem.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/CommunicationTab/src/CollapsibleTopicItem.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/CommunicationTab/src/CreateTopicDialog.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/CommunicationTab/src/CreateTopicDialog.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/CommunicationTab/src/TopicsSection.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/CommunicationTab/src/TopicsSection.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/FileTab/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/FileTab/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/FileTab/src/FilesSection.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/FileTab/src/FilesSection.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/FileTab/src/ModelsSection.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/FileTab/src/ModelsSection.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/LayersTab/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/LayersTab/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/LayersTab/src/ElevationsSection.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/LayersTab/src/ElevationsSection.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/LayersTab/src/FloorplanSection.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/LayersTab/src/FloorplanSection.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/LayersTab/src/SpatialStructureSection.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/LayersTab/src/SpatialStructureSection.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SensorsTab/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SensorsTab/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SettingsTab/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SettingsTab/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SettingsTab/src/GridManagement.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SettingsTab/src/GridManagement.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SettingsTab/src/LightingManagement.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SettingsTab/src/LightingManagement.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SettingsTab/src/RenderMode.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SettingsTab/src/RenderMode.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SettingsTab/src/ToggleProjection.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SettingsTab/src/ToggleProjection.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/TabSelector.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/TabSelector.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/CameraProjection.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/CameraProjection.js.map +1 -1
- package/dist/core/components/viewers/bim/src/ClippingPlane.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/ClippingPlane.js.map +1 -1
- package/dist/core/components/viewers/bim/src/CurrentCamera.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/CurrentCamera.js.map +1 -1
- package/dist/core/components/viewers/bim/src/CurrentWorld.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/CurrentWorld.js.map +1 -1
- package/dist/core/components/viewers/bim/src/Cursor.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/Cursor.js.map +1 -1
- package/dist/core/components/viewers/bim/src/DXFLoader/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/DXFLoader/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/ElevationsTool/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/ElevationsTool/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/ElevationsTool/src/ElevationProjector.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/ElevationsTool/src/ElevationProjector.js.map +1 -1
- package/dist/core/components/viewers/bim/src/ElevationsTool/src/types.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/ElevationsTool/src/types.js.map +1 -1
- package/dist/core/components/viewers/bim/src/FitCamera.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/FitCamera.js.map +1 -1
- package/dist/core/components/viewers/bim/src/FloorplanTool/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/FloorplanTool/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/FloorplanTool/src/FloorplanRenderer.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/FloorplanTool/src/FloorplanRenderer.js.map +1 -1
- package/dist/core/components/viewers/bim/src/FloorplanTool/src/StoreyProjector.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/FloorplanTool/src/StoreyProjector.js.map +1 -1
- package/dist/core/components/viewers/bim/src/FloorplanTool/src/types.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/FloorplanTool/src/types.js.map +1 -1
- package/dist/core/components/viewers/bim/src/FloorplanTool/src/utils.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/FloorplanTool/src/utils.js.map +1 -1
- package/dist/core/components/viewers/bim/src/GhostMode.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/GhostMode.js.map +1 -1
- package/dist/core/components/viewers/bim/src/Highlighter/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/Highlighter/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/IDSManager/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/IDSManager/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/IDSManager/src/IDSLegend.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/IDSManager/src/IDSLegend.js.map +1 -1
- package/dist/core/components/viewers/bim/src/IfcToFragments.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/IfcToFragments.js.map +1 -1
- package/dist/core/components/viewers/bim/src/LoadIfcAsFragments.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/LoadIfcAsFragments.js.map +1 -1
- package/dist/core/components/viewers/bim/src/LoadModels.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/LoadModels.js.map +1 -1
- package/dist/core/components/viewers/bim/src/ModelManager/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/ModelManager/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/SimpleBimViewer.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/SimpleBimViewer.js.map +1 -1
- package/dist/core/components/viewers/bim/src/SpatialStructure.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/SpatialStructure.js.map +1 -1
- package/dist/core/components/viewers/bim/src/ViewportGizmo.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/ViewportGizmo.js.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/CameraController.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/CameraController.js.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/CategoryHighlighter.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/CategoryHighlighter.js.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/ChromeController.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/ChromeController.js.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/ClipController.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/ClipController.js.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/GridController.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/GridController.js.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/TrueNorthPopover.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/TrueNorthPopover.js.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/ViewModeCoordinator.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/ViewModeCoordinator.js.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/ViewSectionList.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/ViewSectionList.js.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/drawingLayers.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/drawingLayers.js.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/drawingProjection.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/drawingProjection.js.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/exportDrawingToDxf.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/exportDrawingToDxf.js.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/safeRun.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/safeRun.js.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/useBuildingName.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/useBuildingName.js.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/useFriendlyIfcClassName.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/useFriendlyIfcClassName.js.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/viewSection.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/viewSection.js.map +1 -1
- package/dist/core/components/viewers/bim/src/propertiesMenu/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/propertiesMenu/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/propertiesMenu/src/ElementList.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/propertiesMenu/src/ElementList.js.map +1 -1
- package/dist/core/components/viewers/bim/src/propertiesMenu/src/PropertiesMenuHeader.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/propertiesMenu/src/PropertiesMenuHeader.js.map +1 -1
- package/dist/core/components/viewers/bim/src/propertiesMenu/src/PropertyGroup.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/propertiesMenu/src/PropertyGroup.js.map +1 -1
- package/dist/core/components/viewers/bim/src/propertiesMenu/src/useElementProperties.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/propertiesMenu/src/useElementProperties.js.map +1 -1
- package/dist/core/components/viewers/bim/src/propertiesMenu/src/utils.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/propertiesMenu/src/utils.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/AddDxf.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/AddDxf.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/AddFile.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/AddFile.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/AddSensor.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/AddSensor.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/AddToBimToolbar.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/AddToBimToolbar.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/BimComment.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/BimComment.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/BimSensor.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/BimSensor.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/FileHandler.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/FileHandler.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/FileMarkerUtils.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/FileMarkerUtils.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/Position3DCard.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/Position3DCard.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/markerUtils.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/markerUtils.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/renderCSS2DMarkers.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/renderCSS2DMarkers.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/useCommentMarkers.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/useCommentMarkers.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/useFilePlacement.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/useFilePlacement.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/useSensorMarkers.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/useSensorMarkers.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/BIMSearchTool.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/BIMSearchTool.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/ClippingTool/ClippingTool.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/ClippingTool/ClippingTool.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/ExplodeByLevelTool.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/ExplodeByLevelTool.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/FitCameraTool.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/FitCameraTool.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/InspectBimTool.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/InspectBimTool.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/bimToolbar.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/bimToolbar.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/measureBimTool.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/measureBimTool.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/selectionBimTool.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/selectionBimTool.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/shareBimTool.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/shareBimTool.js.map +1 -1
- package/dist/core/components/viewers/bim/utils/GizmoController.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/utils/GizmoController.js.map +1 -1
- package/dist/core/components/viewers/bim/utils/setCameraLookAt.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/utils/setCameraLookAt.js.map +1 -1
- package/dist/core/components/viewers/index.d.ts.map +1 -1
- package/dist/core/components/viewers/index.js.map +1 -1
- package/dist/core/components/viewers/map/MapViewer.d.ts.map +1 -1
- package/dist/core/components/viewers/map/MapViewer.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/AddPortalDialog.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/AddPortalDialog.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/DatasetDetails.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/DatasetDetails.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/DatasetManager/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/DatasetManager/index.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/DatasetManager/src/FieldsTable.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/DatasetManager/src/FieldsTable.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/DatasetSkeleton.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/DatasetSkeleton.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/Filters.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/Filters.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/NestedFilter.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/NestedFilter.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/RowActions.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/RowActions.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/data.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/data.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/index.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/arcGISDatasets.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/arcGISDatasets.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/arcgisFetch.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/arcgisFetch.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/builtinLiveDatasets.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/builtinLiveDatasets.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/cache.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/cache.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/ckanDatasets.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/ckanDatasets.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/geojsonFile.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/geojsonFile.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/localDatasets.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/localDatasets.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/minioDatasets.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/minioDatasets.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/opendatasoftDatasets.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/opendatasoftDatasets.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/publishedTiles.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/publishedTiles.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/socrataDatasets.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/socrataDatasets.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/urlSources.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/urlSources.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/useDatasetsForPortals.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/useDatasetsForPortals.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/useFastDatasetCache.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/useFastDatasetCache.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/wmsTime.d.ts +0 -8
- package/dist/core/components/viewers/map/datasets/src/wmsTime.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/wmsTime.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/utils.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/utils.js.map +1 -1
- package/dist/core/components/viewers/map/legends/MapLegendHost.d.ts.map +1 -1
- package/dist/core/components/viewers/map/legends/MapLegendHost.js.map +1 -1
- package/dist/core/components/viewers/map/src/Geocoder.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/Geocoder.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/DatabaseBuildingPopover/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/DatabaseBuildingPopover/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/DatabaseBuildingPopover/src/BuildingsTools.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/DatabaseBuildingPopover/src/BuildingsTools.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/NonDatabaseBuildingPopover.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/NonDatabaseBuildingPopover.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/OpenDataFeaturePopover.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/OpenDataFeaturePopover.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/PopoverSkeleton.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/PopoverSkeleton.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/BimLayer/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/BimLayer/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/BuildingLayers/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/BuildingLayers/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/BuildingLayers/src/databaseBuildings.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/BuildingLayers/src/databaseBuildings.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/CommentLayer/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/CommentLayer/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/CountryLayer/countryLayerUtils.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/CountryLayer/countryLayerUtils.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/CountryLayer/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/CountryLayer/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/EditPosition.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/EditPosition.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/FileModelLayer/FileModelLayer.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/FileModelLayer/FileModelLayer.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/components/FileIcon.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/components/FileIcon.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/components/FileManagerRow.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/components/FileManagerRow.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/components/MapFileManager.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/components/MapFileManager.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/components/MapFileMarker.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/components/MapFileMarker.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/utils/CustomModelLayer.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/utils/CustomModelLayer.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/utils/openFileInPopUpWindow.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/utils/openFileInPopUpWindow.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/OpenDataLayer/src/WmsTimeControl.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/OpenDataLayer/src/WmsTimeControl.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/OpenDataLayer/src/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/OpenDataLayer/src/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/PlaceOnMap.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/PlaceOnMap.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/SensorsLayer/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/SensorsLayer/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/SiteLayer/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/SiteLayer/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/disposeThreeScene.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/disposeThreeScene.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/mapLayersUtils.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/mapLayersUtils.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/TabSelector.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/TabSelector.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/CommunicationTab/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/CommunicationTab/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/FileTab/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/FileTab/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/FileTab/src/FilesSection.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/FileTab/src/FilesSection.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/FileTab/src/ModelsSection.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/FileTab/src/ModelsSection.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/LayersTab/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/LayersTab/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/LayersTab/src/AppliedDatasetsSection.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/LayersTab/src/AppliedDatasetsSection.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/LayersTab/src/AvailableDatasetsSection.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/LayersTab/src/AvailableDatasetsSection.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/SensorsTab/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/SensorsTab/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/SettingsTab/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/SettingsTab/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/SettingsTab/src/LocationSettings.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/SettingsTab/src/LocationSettings.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/SettingsTab/src/MapCustomization.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/SettingsTab/src/MapCustomization.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/SettingsTab/src/MapProjection.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/SettingsTab/src/MapProjection.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/SettingsTab/src/TerrainLevel.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/SettingsTab/src/TerrainLevel.js.map +1 -1
- package/dist/core/components/viewers/map/src/SimpleMap.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/SimpleMap.js.map +1 -1
- package/dist/core/components/viewers/map/src/compare/AddItem.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/compare/AddItem.js.map +1 -1
- package/dist/core/components/viewers/map/src/compare/CompareDialog.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/compare/CompareDialog.js.map +1 -1
- package/dist/core/components/viewers/map/src/compare/description-list.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/compare/description-list.js.map +1 -1
- package/dist/core/components/viewers/map/src/compare/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/compare/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/tools/AddTools/AddDataset/DatasetAdder.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/tools/AddTools/AddDataset/DatasetAdder.js.map +1 -1
- package/dist/core/components/viewers/map/src/tools/AddTools/AddFile/FileAdder.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/tools/AddTools/AddFile/FileAdder.js.map +1 -1
- package/dist/core/components/viewers/map/src/tools/AddTools/AddFile/ProgressBar.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/tools/AddTools/AddFile/ProgressBar.js.map +1 -1
- package/dist/core/components/viewers/map/src/tools/AddTools/AddFile/utils/uploadToPresignedURLS.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/tools/AddTools/AddFile/utils/uploadToPresignedURLS.js.map +1 -1
- package/dist/core/components/viewers/map/src/tools/AddTools/AddSite/SiteAdder.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/tools/AddTools/AddSite/SiteAdder.js.map +1 -1
- package/dist/core/components/viewers/map/src/tools/AddTools/AddToMap.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/tools/AddTools/AddToMap.js.map +1 -1
- package/dist/core/components/viewers/map/src/tools/DatasetMapTool.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/tools/DatasetMapTool.js.map +1 -1
- package/dist/core/components/viewers/map/src/tools/mapTools.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/tools/mapTools.js.map +1 -1
- package/dist/core/components/viewers/map/src/tools/measureMapTool.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/tools/measureMapTool.js.map +1 -1
- package/dist/core/components/viewers/map/src/tools/shareMapTool.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/tools/shareMapTool.js.map +1 -1
- package/dist/core/components/viewers/map/utils/ClusterManager.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/ClusterManager.js.map +1 -1
- package/dist/core/components/viewers/map/utils/MapEventManager/MapClickManager.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/MapEventManager/MapClickManager.js.map +1 -1
- package/dist/core/components/viewers/map/utils/MapEventManager/MapHoverManager.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/MapEventManager/MapHoverManager.js.map +1 -1
- package/dist/core/components/viewers/map/utils/MarkerManager.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/MarkerManager.js.map +1 -1
- package/dist/core/components/viewers/map/utils/dateName.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/dateName.js.map +1 -1
- package/dist/core/components/viewers/map/utils/extractCoordinates.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/extractCoordinates.js.map +1 -1
- package/dist/core/components/viewers/map/utils/fitBuildingsBounds.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/fitBuildingsBounds.js.map +1 -1
- package/dist/core/components/viewers/map/utils/fitGeojsonBounds.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/fitGeojsonBounds.js.map +1 -1
- package/dist/core/components/viewers/map/utils/flyToEach.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/flyToEach.js.map +1 -1
- package/dist/core/components/viewers/map/utils/geocoder.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/geocoder.js.map +1 -1
- package/dist/core/components/viewers/map/utils/geocoding/adapters.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/geocoding/adapters.js.map +1 -1
- package/dist/core/components/viewers/map/utils/geocoding/config.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/geocoding/config.js.map +1 -1
- package/dist/core/components/viewers/map/utils/geocoding/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/geocoding/index.js.map +1 -1
- package/dist/core/components/viewers/map/utils/geocoding/osm.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/geocoding/osm.js.map +1 -1
- package/dist/core/components/viewers/map/utils/geocoding/pelias.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/geocoding/pelias.js.map +1 -1
- package/dist/core/components/viewers/map/utils/getOsmIdFromMartin.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/getOsmIdFromMartin.js.map +1 -1
- package/dist/core/components/viewers/map/utils/getOsmIdbyCoordinates.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/getOsmIdbyCoordinates.js.map +1 -1
- package/dist/core/components/viewers/map/utils/mapStyleCatalog.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/mapStyleCatalog.js.map +1 -1
- package/dist/core/components/viewers/map/utils/stringToColour.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/stringToColour.js.map +1 -1
- package/dist/core/components/viewers/map/utils/toggleBimToMap.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/toggleBimToMap.js.map +1 -1
- package/dist/core/components/viewers/map/utils/updateBuildingOsmId.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/updateBuildingOsmId.js.map +1 -1
- package/dist/core/components/viewers/map/utils/validateBounds.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/validateBounds.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/PointCloudToolbar.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/PointCloudToolbar.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/PointCloudViewer.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/PointCloudViewer.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/define.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/define.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudLoadingState/index.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudLoadingState/index.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudManagement/PointCloudManagementTable.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudManagement/PointCloudManagementTable.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudManagement/PointCloudTable.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudManagement/PointCloudTable.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudManagement/PointCloudUploadPanel.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudManagement/PointCloudUploadPanel.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/TabSelector.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/TabSelector.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/index.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/index.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/FileTab/index.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/FileTab/index.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/FileTab/src/FilesSection.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/FileTab/src/FilesSection.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/FileTab/src/PointCloudSection.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/FileTab/src/PointCloudSection.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/SettingsTab/index.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/SettingsTab/index.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/SettingsTab/src/CameraSettings.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/SettingsTab/src/CameraSettings.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/SettingsTab/src/GridManagement.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/SettingsTab/src/GridManagement.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/SettingsTab/src/PerformanceSettings.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/SettingsTab/src/PerformanceSettings.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/ViewportGizmo.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/ViewportGizmo.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/ClippingTools/ClippingTool.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/ClippingTools/ClippingTool.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/FitToScreen.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/FitToScreen.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/MeasureTools/AngleMeasurement.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/MeasureTools/AngleMeasurement.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/MeasureTools/AreaMeasurement.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/MeasureTools/AreaMeasurement.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/MeasureTools/LineMeasurement.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/MeasureTools/LineMeasurement.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/MeasureTools/MeasurePointCloudTool.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/MeasureTools/MeasurePointCloudTool.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/PCSearchTool.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/PCSearchTool.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/PerformanceSettingsTools/NodeSizeSelectionTool.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/PerformanceSettingsTools/NodeSizeSelectionTool.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/PerformanceSettingsTools/PerformanceSettingTools.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/PerformanceSettingsTools/PerformanceSettingTools.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/PerformanceSettingsTools/PointBudgetTool.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/PerformanceSettingsTools/PointBudgetTool.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/PerformanceSettingsTools/ShowOctreeBoxTool.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/PerformanceSettingsTools/ShowOctreeBoxTool.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/PerformanceSettingsTools/SplatQualitySelection.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/PerformanceSettingsTools/SplatQualitySelection.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/SetCameraOption.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/SetCameraOption.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/SharePointCloudTool/index.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/SharePointCloudTool/index.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/SharePointCloudTool/src/getCameraPosition.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/SharePointCloudTool/src/getCameraPosition.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/index.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/index.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/pointcloudToolbarTools.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/pointcloudToolbarTools.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/utils/potreeLoader.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/utils/potreeLoader.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/utils/restoreCameraFromUrl.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/utils/restoreCameraFromUrl.js.map +1 -1
- package/dist/core/components/viewers/useCoordinateSystem.d.ts.map +1 -1
- package/dist/core/components/viewers/useCoordinateSystem.js.map +1 -1
- package/dist/core/hooks/buildings/buildings.d.ts.map +1 -1
- package/dist/core/hooks/buildings/buildings.js.map +1 -1
- package/dist/core/hooks/buildings/createBuildingHooks.d.ts.map +1 -1
- package/dist/core/hooks/buildings/createBuildingHooks.js.map +1 -1
- package/dist/core/hooks/comments/comments.d.ts.map +1 -1
- package/dist/core/hooks/comments/comments.js.map +1 -1
- package/dist/core/hooks/comments/createCommentHooks.d.ts.map +1 -1
- package/dist/core/hooks/comments/createCommentHooks.js.map +1 -1
- package/dist/core/hooks/files/createFileHooks.d.ts.map +1 -1
- package/dist/core/hooks/files/createFileHooks.js.map +1 -1
- package/dist/core/hooks/files/files.d.ts.map +1 -1
- package/dist/core/hooks/files/files.js.map +1 -1
- package/dist/core/hooks/index.d.ts.map +1 -1
- package/dist/core/hooks/index.js.map +1 -1
- package/dist/core/hooks/infrastructures/createInfrastructureHooks.d.ts.map +1 -1
- package/dist/core/hooks/infrastructures/createInfrastructureHooks.js.map +1 -1
- package/dist/core/hooks/infrastructures/infrastructures.d.ts.map +1 -1
- package/dist/core/hooks/infrastructures/infrastructures.js.map +1 -1
- package/dist/core/hooks/openDataPortals/createOpenDataPortalHooks.d.ts.map +1 -1
- package/dist/core/hooks/openDataPortals/createOpenDataPortalHooks.js.map +1 -1
- package/dist/core/hooks/openDataPortals/openDataPortals.d.ts.map +1 -1
- package/dist/core/hooks/openDataPortals/openDataPortals.js.map +1 -1
- package/dist/core/hooks/organizations/createOrganizationHooks.d.ts.map +1 -1
- package/dist/core/hooks/organizations/createOrganizationHooks.js.map +1 -1
- package/dist/core/hooks/organizations/organizations.d.ts.map +1 -1
- package/dist/core/hooks/organizations/organizations.js.map +1 -1
- package/dist/core/hooks/ports/apiAdapter.d.ts.map +1 -1
- package/dist/core/hooks/provider.d.ts.map +1 -1
- package/dist/core/hooks/provider.js.map +1 -1
- package/dist/core/hooks/sensorTypes/createSensorTypeHooks.d.ts.map +1 -1
- package/dist/core/hooks/sensorTypes/createSensorTypeHooks.js.map +1 -1
- package/dist/core/hooks/sensorTypes/sensorTypes.d.ts.map +1 -1
- package/dist/core/hooks/sensorTypes/sensorTypes.js.map +1 -1
- package/dist/core/hooks/sensors/createSensorHooks.d.ts.map +1 -1
- package/dist/core/hooks/sensors/createSensorHooks.js.map +1 -1
- package/dist/core/hooks/sensors/sensors.d.ts.map +1 -1
- package/dist/core/hooks/sensors/sensors.js.map +1 -1
- package/dist/core/hooks/sites/createSiteHooks.d.ts.map +1 -1
- package/dist/core/hooks/sites/createSiteHooks.js.map +1 -1
- package/dist/core/hooks/sites/sites.d.ts.map +1 -1
- package/dist/core/hooks/sites/sites.js.map +1 -1
- package/dist/core/hooks/ui/use-mobile.d.ts.map +1 -1
- package/dist/core/hooks/ui/use-mobile.js.map +1 -1
- package/dist/core/hooks/users/createUserHooks.d.ts.map +1 -1
- package/dist/core/hooks/users/createUserHooks.js.map +1 -1
- package/dist/core/hooks/users/users.d.ts.map +1 -1
- package/dist/core/hooks/users/users.js.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/plugins/host/context.d.ts.map +1 -1
- package/dist/core/plugins/host/context.js.map +1 -1
- package/dist/core/plugins/host/errors.d.ts.map +1 -1
- package/dist/core/plugins/host/errors.js.map +1 -1
- package/dist/core/plugins/host/host.d.ts.map +1 -1
- package/dist/core/plugins/host/host.js.map +1 -1
- package/dist/core/plugins/host/provider.d.ts.map +1 -1
- package/dist/core/plugins/host/provider.js.map +1 -1
- package/dist/core/plugins/host/registry.d.ts.map +1 -1
- package/dist/core/plugins/host/registry.js.map +1 -1
- package/dist/core/plugins/installed.d.ts.map +1 -1
- package/dist/core/plugins/installed.js.map +1 -1
- package/dist/core/plugins/sdk/components.d.ts.map +1 -1
- package/dist/core/plugins/sdk/components.js.map +1 -1
- package/dist/core/plugins/sdk/index.d.ts.map +1 -1
- package/dist/core/plugins/sdk/index.js.map +1 -1
- package/dist/core/plugins/sdk/types.d.ts.map +1 -1
- package/dist/core/plugins/sdk/types.js.map +1 -1
- package/dist/core/store/ActionMap.d.ts.map +1 -1
- package/dist/core/store/AppConfig/context.d.ts.map +1 -1
- package/dist/core/store/AppConfig/context.js.map +1 -1
- package/dist/core/store/AppConfig/reducer.d.ts.map +1 -1
- package/dist/core/store/AppConfig/reducer.js.map +1 -1
- package/dist/core/store/BIM/context.d.ts.map +1 -1
- package/dist/core/store/BIM/context.js.map +1 -1
- package/dist/core/store/BIM/reducer.d.ts.map +1 -1
- package/dist/core/store/BIM/reducer.js.map +1 -1
- package/dist/core/store/Buildings/context.d.ts.map +1 -1
- package/dist/core/store/Buildings/context.js.map +1 -1
- package/dist/core/store/Buildings/reducer.d.ts.map +1 -1
- package/dist/core/store/Buildings/reducer.js.map +1 -1
- package/dist/core/store/CombineProviders.d.ts.map +1 -1
- package/dist/core/store/CombineProviders.js.map +1 -1
- package/dist/core/store/Content/context.d.ts.map +1 -1
- package/dist/core/store/Content/context.js.map +1 -1
- package/dist/core/store/Datasets/context.d.ts.map +1 -1
- package/dist/core/store/Datasets/context.js.map +1 -1
- package/dist/core/store/Datasets/reducer.d.ts.map +1 -1
- package/dist/core/store/Datasets/reducer.js.map +1 -1
- package/dist/core/store/Files/context.d.ts.map +1 -1
- package/dist/core/store/Files/context.js.map +1 -1
- package/dist/core/store/Files/reducer.d.ts.map +1 -1
- package/dist/core/store/Files/reducer.js.map +1 -1
- package/dist/core/store/Map/context.d.ts.map +1 -1
- package/dist/core/store/Map/context.js.map +1 -1
- package/dist/core/store/Map/reducer.d.ts.map +1 -1
- package/dist/core/store/Map/reducer.js.map +1 -1
- package/dist/core/store/Menus/context.d.ts.map +1 -1
- package/dist/core/store/Menus/context.js.map +1 -1
- package/dist/core/store/Menus/reducer.d.ts.map +1 -1
- package/dist/core/store/Menus/reducer.js.map +1 -1
- package/dist/core/store/Permissions/context.d.ts.map +1 -1
- package/dist/core/store/Permissions/context.js.map +1 -1
- package/dist/core/store/PointCloud/context.d.ts.map +1 -1
- package/dist/core/store/PointCloud/context.js.map +1 -1
- package/dist/core/store/PointCloud/reducer.d.ts.map +1 -1
- package/dist/core/store/PointCloud/reducer.js.map +1 -1
- package/dist/core/store/Tools/context.d.ts.map +1 -1
- package/dist/core/store/Tools/context.js.map +1 -1
- package/dist/core/store/Tools/reducer.d.ts.map +1 -1
- package/dist/core/store/Tools/reducer.js.map +1 -1
- package/dist/core/store/index.d.ts.map +1 -1
- package/dist/core/store/index.js.map +1 -1
- package/dist/core/styles/tailwindMerge.d.ts.map +1 -1
- package/dist/core/styles/tailwindMerge.js.map +1 -1
- package/dist/core/types/bim.d.ts.map +1 -1
- package/dist/core/types/datasetTypes.d.ts.map +1 -1
- package/dist/core/types/dbTypes.d.ts.map +1 -1
- package/dist/core/types/dbTypes.js.map +1 -1
- package/dist/core/types/files.d.ts.map +1 -1
- package/dist/core/types/global.d.ts.map +1 -1
- package/dist/core/types/global.js.map +1 -1
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/core/types/index.js.map +1 -1
- package/dist/core/types/map.d.ts.map +1 -1
- package/dist/core/types/martinTypes.d.ts.map +1 -1
- package/dist/core/types/martinTypes.js.map +1 -1
- package/dist/core/types/next-auth.d.ts.map +1 -1
- package/dist/core/types/tools.d.ts.map +1 -1
- package/dist/core/types/users.d.ts.map +1 -1
- package/dist/core/utils/acceptedFiles.d.ts.map +1 -1
- package/dist/core/utils/acceptedFiles.js.map +1 -1
- package/dist/core/utils/errorHandler.d.ts.map +1 -1
- package/dist/core/utils/errorHandler.js.map +1 -1
- package/dist/core/utils/getFileIcon.d.ts.map +1 -1
- package/dist/core/utils/getFileIcon.js.map +1 -1
- package/dist/core/utils/imageUtils.d.ts.map +1 -1
- package/dist/core/utils/imageUtils.js.map +1 -1
- package/dist/core/utils/index.d.ts.map +1 -1
- package/dist/core/utils/index.js.map +1 -1
- package/dist/core/utils/markerUtils.d.ts.map +1 -1
- package/dist/core/utils/markerUtils.js.map +1 -1
- package/dist/core/utils/memcache.d.ts.map +1 -1
- package/dist/core/utils/memcache.js.map +1 -1
- package/dist/core/utils/roles.d.ts.map +1 -1
- package/dist/core/utils/roles.js.map +1 -1
- package/dist/core/utils/timeUtils.d.ts.map +1 -1
- package/dist/core/utils/timeUtils.js.map +1 -1
- package/dist/core/utils/utils.d.ts.map +1 -1
- package/dist/core/utils/utils.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +6 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/core/components/settings/src/OrganizationSettingsPanel.tsx"],"sourcesContent":["\"use client\"\r\n\r\nimport * as React from 'react'\r\nimport { useSession } from 'next-auth/react'\r\nimport { toast } from 'sonner'\r\nimport { useTranslations } from 'next-intl'\r\nimport { MapContext, usePermissions } from '../../../store'\r\nimport * as LR from 'lucide-react'\r\n\r\nimport type { Organization } from '../../../types/dbTypes'\r\nimport { Button } from '../../ui/Button'\r\nimport { Input } from '../../ui/Input'\r\nimport { Textarea } from '../../ui/Textarea'\r\nimport { Separator } from '../../ui/Separator'\r\nimport {\r\n Select,\r\n SelectContent,\r\n SelectItem,\r\n SelectTrigger,\r\n SelectValue,\r\n} from '../../ui/Select'\r\nimport { uploadOrganizationLogoToPublicBucket } from '../../../utils/imageUtils'\r\nimport { useOrganization } from '../../../hooks/organizations/organizations'\r\nimport OrganizationSkeleton from './OrganizationSkeleton'\r\n\r\nexport default function OrganizationSettingsPanel() {\r\n const t = useTranslations('OrganizationSettings')\r\n\r\n // Permissions\r\n const { ability } = usePermissions()\r\n\r\n const { data: session } = useSession()\r\n\r\n const {state: mapState} = React.useContext(MapContext)\r\n const { countrySubdivisionsData } = mapState.map;\r\n\r\n const user = session?.user\r\n const userOrganizationId = user?.organizationId\r\n const {\r\n organization: organizationData,\r\n isLoading: isOrganizationLoading,\r\n } = useOrganization(userOrganizationId ? String(userOrganizationId) : null)\r\n\r\n const [organization, setOrganization] = React.useState<Organization | null>(organizationData ?? null)\r\n const [editingValues, setEditingValues] = React.useState<Partial<Organization>>({})\r\n const [isEditing, setIsEditing] = React.useState(false)\r\n const [hasChanges, setHasChanges] = React.useState(false)\r\n const [selectedLogoFile, setSelectedLogoFile] = React.useState<File | null>(null)\r\n const [selectedFaviconFile, setSelectedFaviconFile] = React.useState<File | null>(null)\r\n\r\n React.useEffect(() => {\r\n if (organizationData) {\r\n setOrganization(organizationData)\r\n }\r\n }, [organizationData])\r\n\r\n const handleInputChange = (key: keyof Organization, value: any) => {\r\n setEditingValues(prev => ({\r\n ...prev,\r\n [key]: value,\r\n }))\r\n setHasChanges(true)\r\n }\r\n\r\n const getFieldValue = (property: keyof Organization) => {\r\n return Object.prototype.hasOwnProperty.call(editingValues, property)\r\n ? editingValues[property]\r\n : organization?.[property]\r\n }\r\n\r\n const handleSave = async () => {\r\n if (!organization) return\r\n\r\n try {\r\n const patch: Partial<Organization> = {\r\n ...editingValues,\r\n }\r\n\r\n // Upload logo if changed\r\n if (selectedLogoFile) {\r\n const logoKey = await uploadOrganizationLogoToPublicBucket(selectedLogoFile)\r\n patch.logoKey = logoKey\r\n }\r\n\r\n // Upload favicon if changed\r\n if (selectedFaviconFile) {\r\n const faviconKey = await uploadOrganizationLogoToPublicBucket(selectedFaviconFile)\r\n patch.faviconKey = faviconKey\r\n }\r\n\r\n const res = await fetch(`/api/organizations/${organization.id}`, {\r\n method: 'PATCH',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(patch),\r\n })\r\n\r\n if (!res.ok) throw new Error('Failed to update organization')\r\n\r\n const responseData = await res.json()\r\n const updatedOrg = responseData?.organization ?? responseData\r\n setOrganization(updatedOrg)\r\n setEditingValues({})\r\n setIsEditing(false)\r\n setHasChanges(false)\r\n setSelectedLogoFile(null)\r\n setSelectedFaviconFile(null)\r\n toast.success('Organization updated successfully')\r\n } catch (error) {\r\n toast.error('Failed to update organization')\r\n }\r\n }\r\n\r\n const handleCancel = () => {\r\n setEditingValues({})\r\n setIsEditing(false)\r\n setHasChanges(false)\r\n setSelectedLogoFile(null)\r\n setSelectedFaviconFile(null)\r\n }\r\n\r\n const logoUrl = selectedLogoFile\r\n ? URL.createObjectURL(selectedLogoFile)\r\n : organization?.logoKey\r\n ? `${process.env.NEXT_PUBLIC_MINIO_BUCKET_URL}/org-logos/${organization.logoKey}`\r\n : null\r\n\r\n const faviconUrl = selectedFaviconFile\r\n ? URL.createObjectURL(selectedFaviconFile)\r\n : organization?.faviconKey\r\n ? `${process.env.NEXT_PUBLIC_MINIO_BUCKET_URL}/org-logos/${organization.faviconKey}`\r\n : null\r\n\r\n if (isOrganizationLoading) {\r\n return (\r\n <OrganizationSkeleton />\r\n )\r\n }\r\n\r\n if (!organization) {\r\n return (\r\n <div className=\"flex items-center justify-center h-full\">\r\n <p className=\"text-muted-foreground\">{t('messages.noOrganization')}</p>\r\n </div>\r\n )\r\n }\r\n\r\n const countrySubdivisions = \r\n countrySubdivisionsData\r\n ? Object.values(countrySubdivisionsData).map((subdivision: any) => subdivision.name)\r\n : []\r\n\r\n return (\r\n <div className=\"flex flex-col h-full overflow-hidden\">\r\n {/* Header */}\r\n <div className=\"flex justify-between items-center px-6 py-4 border-b\">\r\n <div>\r\n <h2 className=\"text-2xl font-semibold\">{t('header')}</h2>\r\n <p className=\"text-sm text-muted-foreground\">{t('subheader')}</p>\r\n </div>\r\n <div className=\"flex gap-2\">\r\n {isEditing ? (\r\n <>\r\n <Button variant=\"outline\" onClick={handleCancel} disabled={!ability.can('update', \"Organization\")}>\r\n {t('cancel')}\r\n </Button>\r\n <Button onClick={handleSave} disabled={!hasChanges || !ability.can('update', \"Organization\")}>\r\n <LR.Save className=\"mr-2\" />\r\n {t('save')}\r\n </Button>\r\n </>\r\n ) : (\r\n <Button onClick={() => setIsEditing(true)} disabled={!ability.can('update', \"Organization\")}>\r\n <LR.Pencil className=\"mr-2\" />\r\n {t('edit')}\r\n </Button>\r\n )}\r\n </div>\r\n </div>\r\n\r\n {/* Content */}\r\n <div className=\"flex-1 overflow-auto p-6\">\r\n <div className=\"max-w-4xl mx-auto space-y-8\">\r\n {/* Branding Section */}\r\n <div className=\"space-y-4\">\r\n <h3 className=\"text-lg font-semibold\">{t('sections.branding')}</h3>\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-6\">\r\n {/* Logo */}\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.logo')}</label>\r\n <div className=\"flex items-center gap-4\">\r\n <div className=\"w-32 h-32 border rounded-lg overflow-hidden bg-muted flex items-center justify-center relative group\">\r\n {logoUrl ? (\r\n <img src={logoUrl} alt=\"Organization logo\" className=\"w-full h-full object-contain\" />\r\n ) : (\r\n <LR.Building2 className=\"h-12 w-12 text-muted-foreground\" />\r\n )}\r\n {isEditing && (\r\n <label className=\"absolute inset-0 bg-black/50 opacity-0 group-hover:opacity-100 transition-opacity flex items-center justify-center cursor-pointer\">\r\n <LR.Upload className=\"h-6 w-6 text-white\" />\r\n <input\r\n type=\"file\"\r\n accept=\"image/*\"\r\n className=\"hidden\"\r\n onChange={(e) => {\r\n const file = e.target.files?.[0]\r\n if (file) {\r\n setSelectedLogoFile(file)\r\n setHasChanges(true)\r\n }\r\n }}\r\n disabled={!ability.can('update', \"Organization\")}\r\n />\r\n </label>\r\n )}\r\n </div>\r\n {isEditing && logoUrl && (\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n onClick={() => {\r\n setSelectedLogoFile(null)\r\n handleInputChange('logoKey', null)\r\n }}\r\n disabled={!ability.can('update', \"Organization\")}\r\n >\r\n Remove\r\n </Button>\r\n )}\r\n </div>\r\n </div>\r\n\r\n {/* Favicon */}\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.favicon')}</label>\r\n <div className=\"flex items-center gap-4\">\r\n <div className=\"w-16 h-16 border rounded-lg overflow-hidden bg-muted flex items-center justify-center relative group\">\r\n {faviconUrl ? (\r\n <img src={faviconUrl} alt=\"Favicon\" className=\"w-full h-full object-contain\" />\r\n ) : (\r\n <LR.Image className=\"h-6 w-6 text-muted-foreground\" />\r\n )}\r\n {isEditing && (\r\n <label className=\"absolute inset-0 bg-black/50 opacity-0 group-hover:opacity-100 transition-opacity flex items-center justify-center cursor-pointer\">\r\n <LR.Upload className=\"h-4 w-4 text-white\" />\r\n <input\r\n type=\"file\"\r\n accept=\"image/*\"\r\n className=\"hidden\"\r\n onChange={(e) => {\r\n const file = e.target.files?.[0]\r\n if (file) {\r\n setSelectedFaviconFile(file)\r\n setHasChanges(true)\r\n }\r\n }}\r\n disabled={!ability.can('update', \"Organization\")}\r\n />\r\n </label>\r\n )}\r\n </div>\r\n {isEditing && faviconUrl && (\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n onClick={() => {\r\n setSelectedFaviconFile(null)\r\n handleInputChange('faviconKey', null)\r\n }}\r\n disabled={!ability.can('update', \"Organization\")}\r\n >\r\n Remove\r\n </Button>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {/* Colors */}\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.mainColor')}</label>\r\n <div className=\"flex gap-2\">\r\n <Input\r\n type=\"color\"\r\n value={(getFieldValue('mainColor') as string) || '#000000'}\r\n onChange={(e) => handleInputChange('mainColor', e.target.value)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n className=\"w-20 h-10 p-1\"\r\n \r\n />\r\n <Input\r\n type=\"text\"\r\n value={(getFieldValue('mainColor') as string) || ''}\r\n onChange={(e) => handleInputChange('mainColor', e.target.value)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n placeholder=\"#000000\"\r\n />\r\n </div>\r\n </div>\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.secondaryColor')}</label>\r\n <div className=\"flex gap-2\">\r\n <Input\r\n type=\"color\"\r\n value={(getFieldValue('secondaryColor') as string) || '#000000'}\r\n onChange={(e) => handleInputChange('secondaryColor', e.target.value)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n className=\"w-20 h-10 p-1\"\r\n />\r\n <Input\r\n type=\"text\"\r\n value={(getFieldValue('secondaryColor') as string) || ''}\r\n onChange={(e) => handleInputChange('secondaryColor', e.target.value)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n placeholder=\"#000000\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <Separator />\r\n\r\n {/* Basic Information */}\r\n <div className=\"space-y-4\">\r\n <h3 className=\"text-lg font-semibold\">{t('sections.basicInfo')}</h3>\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.name')}</label>\r\n <Input\r\n value={(getFieldValue('name') as string) || ''}\r\n onChange={(e) => handleInputChange('name', e.target.value)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.title')}</label>\r\n <Input\r\n value={(getFieldValue('title') as string) || ''}\r\n onChange={(e) => handleInputChange('title', e.target.value)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\") }\r\n />\r\n </div>\r\n </div>\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.description')}</label>\r\n <Textarea\r\n value={(getFieldValue('description') as string) || ''}\r\n onChange={(e) => handleInputChange('description', e.target.value)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n rows={4}\r\n />\r\n </div>\r\n </div>\r\n\r\n <Separator />\r\n\r\n {/* Location */}\r\n <div className=\"space-y-4\">\r\n <h3 className=\"text-lg font-semibold\">{t('sections.location')}</h3>\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.countrySubdivision')}</label>\r\n <Select\r\n value={String(getFieldValue('countrySubdivision') || '')}\r\n onValueChange={(value) => handleInputChange('countrySubdivision', value)}\r\n disabled={!isEditing}\r\n >\r\n <SelectTrigger>\r\n <SelectValue placeholder={t('placeholders.selectProvince')} />\r\n </SelectTrigger>\r\n <SelectContent>\r\n {countrySubdivisions.map((csName) => (\r\n <SelectItem key={csName} value={csName}>\r\n {csName}\r\n </SelectItem>\r\n ))}\r\n </SelectContent>\r\n </Select>\r\n </div>\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.municipality')}</label>\r\n <Input\r\n value={(getFieldValue('municipality') as string) || ''}\r\n onChange={(e) => handleInputChange('municipality', e.target.value)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.postalCode')}</label>\r\n <Input\r\n value={(getFieldValue('postalCode') as string) || ''}\r\n onChange={(e) => handleInputChange('postalCode', e.target.value)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.locationId')}</label>\r\n <Input\r\n value={(getFieldValue('locationId') as string) || ''}\r\n onChange={(e) => handleInputChange('locationId', e.target.value)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <Separator />\r\n\r\n {/* Map Configuration */}\r\n <div className=\"space-y-4\">\r\n <h3 className=\"text-lg font-semibold\">{t('sections.mapConfig')}</h3>\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4\">\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.latitude')}</label>\r\n <Input\r\n type=\"number\"\r\n step=\"any\"\r\n value={(getFieldValue('lat') as number) ?? ''}\r\n onChange={(e) => handleInputChange('lat', e.target.value ? parseFloat(e.target.value) : null)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.longitude')}</label>\r\n <Input\r\n type=\"number\"\r\n step=\"any\"\r\n value={(getFieldValue('long') as number) ?? ''}\r\n onChange={(e) => handleInputChange('long', e.target.value ? parseFloat(e.target.value) : null)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.zoom')}</label>\r\n <Input\r\n type=\"number\"\r\n step=\"any\"\r\n value={(getFieldValue('zoom') as number) ?? ''}\r\n onChange={(e) => handleInputChange('zoom', e.target.value ? parseFloat(e.target.value) : null)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.minZoom')}</label>\r\n <Input\r\n type=\"number\"\r\n step=\"any\"\r\n value={(getFieldValue('minZoom') as number) ?? ''}\r\n onChange={(e) => handleInputChange('minZoom', e.target.value ? parseFloat(e.target.value) : null)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.bearing')}</label>\r\n <Input\r\n type=\"number\"\r\n step=\"any\"\r\n value={(getFieldValue('bearing') as number) ?? ''}\r\n onChange={(e) => handleInputChange('bearing', e.target.value ? parseFloat(e.target.value) : null)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.pitch')}</label>\r\n <Input\r\n type=\"number\"\r\n step=\"any\"\r\n value={(getFieldValue('pitch') as number) ?? ''}\r\n onChange={(e) => handleInputChange('pitch', e.target.value ? parseFloat(e.target.value) : null)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n"],"mappings":"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","names":["_a"]}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/core/components/settings/src/OrganizationSettingsPanel.tsx"],"sourcesContent":["\"use client\"\r\n\r\n// SPDX-License-Identifier: AGPL-3.0-or-later\r\n// Copyright (C) 2025 Collab Digital Twins\r\n\r\nimport * as React from 'react'\r\nimport { useSession } from 'next-auth/react'\r\nimport { toast } from 'sonner'\r\nimport { useTranslations } from 'next-intl'\r\nimport { MapContext, usePermissions } from '../../../store'\r\nimport * as LR from 'lucide-react'\r\n\r\nimport type { Organization } from '../../../types/dbTypes'\r\nimport { Button } from '../../ui/Button'\r\nimport { Input } from '../../ui/Input'\r\nimport { Textarea } from '../../ui/Textarea'\r\nimport { Separator } from '../../ui/Separator'\r\nimport {\r\n Select,\r\n SelectContent,\r\n SelectItem,\r\n SelectTrigger,\r\n SelectValue,\r\n} from '../../ui/Select'\r\nimport { uploadOrganizationLogoToPublicBucket } from '../../../utils/imageUtils'\r\nimport { useOrganization } from '../../../hooks/organizations/organizations'\r\nimport OrganizationSkeleton from './OrganizationSkeleton'\r\n\r\nexport default function OrganizationSettingsPanel() {\r\n const t = useTranslations('OrganizationSettings')\r\n\r\n // Permissions\r\n const { ability } = usePermissions()\r\n\r\n const { data: session } = useSession()\r\n\r\n const {state: mapState} = React.useContext(MapContext)\r\n const { countrySubdivisionsData } = mapState.map;\r\n\r\n const user = session?.user\r\n const userOrganizationId = user?.organizationId\r\n const {\r\n organization: organizationData,\r\n isLoading: isOrganizationLoading,\r\n } = useOrganization(userOrganizationId ? String(userOrganizationId) : null)\r\n\r\n const [organization, setOrganization] = React.useState<Organization | null>(organizationData ?? null)\r\n const [editingValues, setEditingValues] = React.useState<Partial<Organization>>({})\r\n const [isEditing, setIsEditing] = React.useState(false)\r\n const [hasChanges, setHasChanges] = React.useState(false)\r\n const [selectedLogoFile, setSelectedLogoFile] = React.useState<File | null>(null)\r\n const [selectedFaviconFile, setSelectedFaviconFile] = React.useState<File | null>(null)\r\n\r\n React.useEffect(() => {\r\n if (organizationData) {\r\n setOrganization(organizationData)\r\n }\r\n }, [organizationData])\r\n\r\n const handleInputChange = (key: keyof Organization, value: any) => {\r\n setEditingValues(prev => ({\r\n ...prev,\r\n [key]: value,\r\n }))\r\n setHasChanges(true)\r\n }\r\n\r\n const getFieldValue = (property: keyof Organization) => {\r\n return Object.prototype.hasOwnProperty.call(editingValues, property)\r\n ? editingValues[property]\r\n : organization?.[property]\r\n }\r\n\r\n const handleSave = async () => {\r\n if (!organization) return\r\n\r\n try {\r\n const patch: Partial<Organization> = {\r\n ...editingValues,\r\n }\r\n\r\n // Upload logo if changed\r\n if (selectedLogoFile) {\r\n const logoKey = await uploadOrganizationLogoToPublicBucket(selectedLogoFile)\r\n patch.logoKey = logoKey\r\n }\r\n\r\n // Upload favicon if changed\r\n if (selectedFaviconFile) {\r\n const faviconKey = await uploadOrganizationLogoToPublicBucket(selectedFaviconFile)\r\n patch.faviconKey = faviconKey\r\n }\r\n\r\n const res = await fetch(`/api/organizations/${organization.id}`, {\r\n method: 'PATCH',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(patch),\r\n })\r\n\r\n if (!res.ok) throw new Error('Failed to update organization')\r\n\r\n const responseData = await res.json()\r\n const updatedOrg = responseData?.organization ?? responseData\r\n setOrganization(updatedOrg)\r\n setEditingValues({})\r\n setIsEditing(false)\r\n setHasChanges(false)\r\n setSelectedLogoFile(null)\r\n setSelectedFaviconFile(null)\r\n toast.success('Organization updated successfully')\r\n } catch (error) {\r\n toast.error('Failed to update organization')\r\n }\r\n }\r\n\r\n const handleCancel = () => {\r\n setEditingValues({})\r\n setIsEditing(false)\r\n setHasChanges(false)\r\n setSelectedLogoFile(null)\r\n setSelectedFaviconFile(null)\r\n }\r\n\r\n const logoUrl = selectedLogoFile\r\n ? URL.createObjectURL(selectedLogoFile)\r\n : organization?.logoKey\r\n ? `${process.env.NEXT_PUBLIC_MINIO_BUCKET_URL}/org-logos/${organization.logoKey}`\r\n : null\r\n\r\n const faviconUrl = selectedFaviconFile\r\n ? URL.createObjectURL(selectedFaviconFile)\r\n : organization?.faviconKey\r\n ? `${process.env.NEXT_PUBLIC_MINIO_BUCKET_URL}/org-logos/${organization.faviconKey}`\r\n : null\r\n\r\n if (isOrganizationLoading) {\r\n return (\r\n <OrganizationSkeleton />\r\n )\r\n }\r\n\r\n if (!organization) {\r\n return (\r\n <div className=\"flex items-center justify-center h-full\">\r\n <p className=\"text-muted-foreground\">{t('messages.noOrganization')}</p>\r\n </div>\r\n )\r\n }\r\n\r\n const countrySubdivisions = \r\n countrySubdivisionsData\r\n ? Object.values(countrySubdivisionsData).map((subdivision: any) => subdivision.name)\r\n : []\r\n\r\n return (\r\n <div className=\"flex flex-col h-full overflow-hidden\">\r\n {/* Header */}\r\n <div className=\"flex justify-between items-center px-6 py-4 border-b\">\r\n <div>\r\n <h2 className=\"text-2xl font-semibold\">{t('header')}</h2>\r\n <p className=\"text-sm text-muted-foreground\">{t('subheader')}</p>\r\n </div>\r\n <div className=\"flex gap-2\">\r\n {isEditing ? (\r\n <>\r\n <Button variant=\"outline\" onClick={handleCancel} disabled={!ability.can('update', \"Organization\")}>\r\n {t('cancel')}\r\n </Button>\r\n <Button onClick={handleSave} disabled={!hasChanges || !ability.can('update', \"Organization\")}>\r\n <LR.Save className=\"mr-2\" />\r\n {t('save')}\r\n </Button>\r\n </>\r\n ) : (\r\n <Button onClick={() => setIsEditing(true)} disabled={!ability.can('update', \"Organization\")}>\r\n <LR.Pencil className=\"mr-2\" />\r\n {t('edit')}\r\n </Button>\r\n )}\r\n </div>\r\n </div>\r\n\r\n {/* Content */}\r\n <div className=\"flex-1 overflow-auto p-6\">\r\n <div className=\"max-w-4xl mx-auto space-y-8\">\r\n {/* Branding Section */}\r\n <div className=\"space-y-4\">\r\n <h3 className=\"text-lg font-semibold\">{t('sections.branding')}</h3>\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-6\">\r\n {/* Logo */}\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.logo')}</label>\r\n <div className=\"flex items-center gap-4\">\r\n <div className=\"w-32 h-32 border rounded-lg overflow-hidden bg-muted flex items-center justify-center relative group\">\r\n {logoUrl ? (\r\n <img src={logoUrl} alt=\"Organization logo\" className=\"w-full h-full object-contain\" />\r\n ) : (\r\n <LR.Building2 className=\"h-12 w-12 text-muted-foreground\" />\r\n )}\r\n {isEditing && (\r\n <label className=\"absolute inset-0 bg-black/50 opacity-0 group-hover:opacity-100 transition-opacity flex items-center justify-center cursor-pointer\">\r\n <LR.Upload className=\"h-6 w-6 text-white\" />\r\n <input\r\n type=\"file\"\r\n accept=\"image/*\"\r\n className=\"hidden\"\r\n onChange={(e) => {\r\n const file = e.target.files?.[0]\r\n if (file) {\r\n setSelectedLogoFile(file)\r\n setHasChanges(true)\r\n }\r\n }}\r\n disabled={!ability.can('update', \"Organization\")}\r\n />\r\n </label>\r\n )}\r\n </div>\r\n {isEditing && logoUrl && (\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n onClick={() => {\r\n setSelectedLogoFile(null)\r\n handleInputChange('logoKey', null)\r\n }}\r\n disabled={!ability.can('update', \"Organization\")}\r\n >\r\n Remove\r\n </Button>\r\n )}\r\n </div>\r\n </div>\r\n\r\n {/* Favicon */}\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.favicon')}</label>\r\n <div className=\"flex items-center gap-4\">\r\n <div className=\"w-16 h-16 border rounded-lg overflow-hidden bg-muted flex items-center justify-center relative group\">\r\n {faviconUrl ? (\r\n <img src={faviconUrl} alt=\"Favicon\" className=\"w-full h-full object-contain\" />\r\n ) : (\r\n <LR.Image className=\"h-6 w-6 text-muted-foreground\" />\r\n )}\r\n {isEditing && (\r\n <label className=\"absolute inset-0 bg-black/50 opacity-0 group-hover:opacity-100 transition-opacity flex items-center justify-center cursor-pointer\">\r\n <LR.Upload className=\"h-4 w-4 text-white\" />\r\n <input\r\n type=\"file\"\r\n accept=\"image/*\"\r\n className=\"hidden\"\r\n onChange={(e) => {\r\n const file = e.target.files?.[0]\r\n if (file) {\r\n setSelectedFaviconFile(file)\r\n setHasChanges(true)\r\n }\r\n }}\r\n disabled={!ability.can('update', \"Organization\")}\r\n />\r\n </label>\r\n )}\r\n </div>\r\n {isEditing && faviconUrl && (\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n onClick={() => {\r\n setSelectedFaviconFile(null)\r\n handleInputChange('faviconKey', null)\r\n }}\r\n disabled={!ability.can('update', \"Organization\")}\r\n >\r\n Remove\r\n </Button>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {/* Colors */}\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.mainColor')}</label>\r\n <div className=\"flex gap-2\">\r\n <Input\r\n type=\"color\"\r\n value={(getFieldValue('mainColor') as string) || '#000000'}\r\n onChange={(e) => handleInputChange('mainColor', e.target.value)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n className=\"w-20 h-10 p-1\"\r\n \r\n />\r\n <Input\r\n type=\"text\"\r\n value={(getFieldValue('mainColor') as string) || ''}\r\n onChange={(e) => handleInputChange('mainColor', e.target.value)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n placeholder=\"#000000\"\r\n />\r\n </div>\r\n </div>\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.secondaryColor')}</label>\r\n <div className=\"flex gap-2\">\r\n <Input\r\n type=\"color\"\r\n value={(getFieldValue('secondaryColor') as string) || '#000000'}\r\n onChange={(e) => handleInputChange('secondaryColor', e.target.value)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n className=\"w-20 h-10 p-1\"\r\n />\r\n <Input\r\n type=\"text\"\r\n value={(getFieldValue('secondaryColor') as string) || ''}\r\n onChange={(e) => handleInputChange('secondaryColor', e.target.value)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n placeholder=\"#000000\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <Separator />\r\n\r\n {/* Basic Information */}\r\n <div className=\"space-y-4\">\r\n <h3 className=\"text-lg font-semibold\">{t('sections.basicInfo')}</h3>\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.name')}</label>\r\n <Input\r\n value={(getFieldValue('name') as string) || ''}\r\n onChange={(e) => handleInputChange('name', e.target.value)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.title')}</label>\r\n <Input\r\n value={(getFieldValue('title') as string) || ''}\r\n onChange={(e) => handleInputChange('title', e.target.value)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\") }\r\n />\r\n </div>\r\n </div>\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.description')}</label>\r\n <Textarea\r\n value={(getFieldValue('description') as string) || ''}\r\n onChange={(e) => handleInputChange('description', e.target.value)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n rows={4}\r\n />\r\n </div>\r\n </div>\r\n\r\n <Separator />\r\n\r\n {/* Location */}\r\n <div className=\"space-y-4\">\r\n <h3 className=\"text-lg font-semibold\">{t('sections.location')}</h3>\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.countrySubdivision')}</label>\r\n <Select\r\n value={String(getFieldValue('countrySubdivision') || '')}\r\n onValueChange={(value) => handleInputChange('countrySubdivision', value)}\r\n disabled={!isEditing}\r\n >\r\n <SelectTrigger>\r\n <SelectValue placeholder={t('placeholders.selectProvince')} />\r\n </SelectTrigger>\r\n <SelectContent>\r\n {countrySubdivisions.map((csName) => (\r\n <SelectItem key={csName} value={csName}>\r\n {csName}\r\n </SelectItem>\r\n ))}\r\n </SelectContent>\r\n </Select>\r\n </div>\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.municipality')}</label>\r\n <Input\r\n value={(getFieldValue('municipality') as string) || ''}\r\n onChange={(e) => handleInputChange('municipality', e.target.value)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.postalCode')}</label>\r\n <Input\r\n value={(getFieldValue('postalCode') as string) || ''}\r\n onChange={(e) => handleInputChange('postalCode', e.target.value)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.locationId')}</label>\r\n <Input\r\n value={(getFieldValue('locationId') as string) || ''}\r\n onChange={(e) => handleInputChange('locationId', e.target.value)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <Separator />\r\n\r\n {/* Map Configuration */}\r\n <div className=\"space-y-4\">\r\n <h3 className=\"text-lg font-semibold\">{t('sections.mapConfig')}</h3>\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4\">\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.latitude')}</label>\r\n <Input\r\n type=\"number\"\r\n step=\"any\"\r\n value={(getFieldValue('lat') as number) ?? ''}\r\n onChange={(e) => handleInputChange('lat', e.target.value ? parseFloat(e.target.value) : null)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.longitude')}</label>\r\n <Input\r\n type=\"number\"\r\n step=\"any\"\r\n value={(getFieldValue('long') as number) ?? ''}\r\n onChange={(e) => handleInputChange('long', e.target.value ? parseFloat(e.target.value) : null)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.zoom')}</label>\r\n <Input\r\n type=\"number\"\r\n step=\"any\"\r\n value={(getFieldValue('zoom') as number) ?? ''}\r\n onChange={(e) => handleInputChange('zoom', e.target.value ? parseFloat(e.target.value) : null)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.minZoom')}</label>\r\n <Input\r\n type=\"number\"\r\n step=\"any\"\r\n value={(getFieldValue('minZoom') as number) ?? ''}\r\n onChange={(e) => handleInputChange('minZoom', e.target.value ? parseFloat(e.target.value) : null)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.bearing')}</label>\r\n <Input\r\n type=\"number\"\r\n step=\"any\"\r\n value={(getFieldValue('bearing') as number) ?? ''}\r\n onChange={(e) => handleInputChange('bearing', e.target.value ? parseFloat(e.target.value) : null)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <label className=\"text-sm font-medium\">{t('fields.pitch')}</label>\r\n <Input\r\n type=\"number\"\r\n step=\"any\"\r\n value={(getFieldValue('pitch') as number) ?? ''}\r\n onChange={(e) => handleInputChange('pitch', e.target.value ? parseFloat(e.target.value) : null)}\r\n disabled={!isEditing || !ability.can('update', \"Organization\")}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n"],"mappings":"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","names":["_a"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrganizationSkeleton.d.ts","sourceRoot":"","sources":["../../../../../src/core/components/settings/src/OrganizationSkeleton.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"OrganizationSkeleton.d.ts","sourceRoot":"","sources":["../../../../../src/core/components/settings/src/OrganizationSkeleton.tsx"],"names":[],"mappings":"AAOA,MAAM,CAAC,OAAO,UAAU,oBAAoB,gCAyI3C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/core/components/settings/src/OrganizationSkeleton.tsx"],"sourcesContent":["\r\n// Direct file imports to bypass the ui barrel.\r\nimport { Separator } from '../../ui/Separator';\r\nimport { Skeleton } from '../../ui/Skeleton';\r\n\r\nexport default function OrganizationSkeleton() {\r\n return (\r\n <div className=\"flex flex-col h-full overflow-hidden\">\r\n {/* Header */}\r\n <div className=\"flex justify-between items-center px-6 py-4 border-b\">\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-7 w-48\" />\r\n <Skeleton className=\"h-4 w-64\" />\r\n </div>\r\n <Skeleton className=\"h-10 w-24\" />\r\n </div>\r\n\r\n {/* Content */}\r\n <div className=\"flex-1 overflow-auto p-6\">\r\n <div className=\"max-w-4xl mx-auto space-y-8\">\r\n {/* Branding Section */}\r\n <div className=\"space-y-4\">\r\n <Skeleton className=\"h-6 w-32\" />\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-6\">\r\n {/* Logo */}\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-16\" />\r\n <div className=\"flex items-center gap-4\">\r\n <Skeleton className=\"w-32 h-32 rounded-lg\" />\r\n </div>\r\n </div>\r\n\r\n {/* Favicon */}\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-20\" />\r\n <div className=\"flex items-center gap-4\">\r\n <Skeleton className=\"w-16 h-16 rounded-lg\" />\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {/* Colors */}\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-24\" />\r\n <div className=\"flex gap-2\">\r\n <Skeleton className=\"w-20 h-10\" />\r\n <Skeleton className=\"flex-1 h-10\" />\r\n </div>\r\n </div>\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-32\" />\r\n <div className=\"flex gap-2\">\r\n <Skeleton className=\"w-20 h-10\" />\r\n <Skeleton className=\"flex-1 h-10\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <Separator />\r\n\r\n {/* Basic Information */}\r\n <div className=\"space-y-4\">\r\n <Skeleton className=\"h-6 w-40\" />\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-16\" />\r\n <Skeleton className=\"h-10 w-full\" />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-12\" />\r\n <Skeleton className=\"h-10 w-full\" />\r\n </div>\r\n </div>\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-24\" />\r\n <Skeleton className=\"h-24 w-full\" />\r\n </div>\r\n </div>\r\n\r\n <Separator />\r\n\r\n {/* Location */}\r\n <div className=\"space-y-4\">\r\n <Skeleton className=\"h-6 w-28\" />\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-20\" />\r\n <Skeleton className=\"h-10 w-full\" />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-28\" />\r\n <Skeleton className=\"h-10 w-full\" />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-24\" />\r\n <Skeleton className=\"h-10 w-full\" />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-24\" />\r\n <Skeleton className=\"h-10 w-full\" />\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <Separator />\r\n\r\n {/* Map Configuration */}\r\n <div className=\"space-y-4\">\r\n <Skeleton className=\"h-6 w-44\" />\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4\">\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-20\" />\r\n <Skeleton className=\"h-10 w-full\" />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-24\" />\r\n <Skeleton className=\"h-10 w-full\" />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-16\" />\r\n <Skeleton className=\"h-10 w-full\" />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-24\" />\r\n <Skeleton className=\"h-10 w-full\" />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-20\" />\r\n <Skeleton className=\"h-10 w-full\" />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-16\" />\r\n <Skeleton className=\"h-10 w-full\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/core/components/settings/src/OrganizationSkeleton.tsx"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\r\n// Copyright (C) 2025 Collab Digital Twins\r\n\r\n// Direct file imports to bypass the ui barrel.\r\nimport { Separator } from '../../ui/Separator';\r\nimport { Skeleton } from '../../ui/Skeleton';\r\n\r\nexport default function OrganizationSkeleton() {\r\n return (\r\n <div className=\"flex flex-col h-full overflow-hidden\">\r\n {/* Header */}\r\n <div className=\"flex justify-between items-center px-6 py-4 border-b\">\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-7 w-48\" />\r\n <Skeleton className=\"h-4 w-64\" />\r\n </div>\r\n <Skeleton className=\"h-10 w-24\" />\r\n </div>\r\n\r\n {/* Content */}\r\n <div className=\"flex-1 overflow-auto p-6\">\r\n <div className=\"max-w-4xl mx-auto space-y-8\">\r\n {/* Branding Section */}\r\n <div className=\"space-y-4\">\r\n <Skeleton className=\"h-6 w-32\" />\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-6\">\r\n {/* Logo */}\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-16\" />\r\n <div className=\"flex items-center gap-4\">\r\n <Skeleton className=\"w-32 h-32 rounded-lg\" />\r\n </div>\r\n </div>\r\n\r\n {/* Favicon */}\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-20\" />\r\n <div className=\"flex items-center gap-4\">\r\n <Skeleton className=\"w-16 h-16 rounded-lg\" />\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {/* Colors */}\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-24\" />\r\n <div className=\"flex gap-2\">\r\n <Skeleton className=\"w-20 h-10\" />\r\n <Skeleton className=\"flex-1 h-10\" />\r\n </div>\r\n </div>\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-32\" />\r\n <div className=\"flex gap-2\">\r\n <Skeleton className=\"w-20 h-10\" />\r\n <Skeleton className=\"flex-1 h-10\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <Separator />\r\n\r\n {/* Basic Information */}\r\n <div className=\"space-y-4\">\r\n <Skeleton className=\"h-6 w-40\" />\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-16\" />\r\n <Skeleton className=\"h-10 w-full\" />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-12\" />\r\n <Skeleton className=\"h-10 w-full\" />\r\n </div>\r\n </div>\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-24\" />\r\n <Skeleton className=\"h-24 w-full\" />\r\n </div>\r\n </div>\r\n\r\n <Separator />\r\n\r\n {/* Location */}\r\n <div className=\"space-y-4\">\r\n <Skeleton className=\"h-6 w-28\" />\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-20\" />\r\n <Skeleton className=\"h-10 w-full\" />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-28\" />\r\n <Skeleton className=\"h-10 w-full\" />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-24\" />\r\n <Skeleton className=\"h-10 w-full\" />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-24\" />\r\n <Skeleton className=\"h-10 w-full\" />\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <Separator />\r\n\r\n {/* Map Configuration */}\r\n <div className=\"space-y-4\">\r\n <Skeleton className=\"h-6 w-44\" />\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4\">\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-20\" />\r\n <Skeleton className=\"h-10 w-full\" />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-24\" />\r\n <Skeleton className=\"h-10 w-full\" />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-16\" />\r\n <Skeleton className=\"h-10 w-full\" />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-24\" />\r\n <Skeleton className=\"h-10 w-full\" />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-20\" />\r\n <Skeleton className=\"h-10 w-full\" />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-16\" />\r\n <Skeleton className=\"h-10 w-full\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"mappings":"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","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsContent.d.ts","sourceRoot":"","sources":["../../../../../src/core/components/settings/src/SettingsContent.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SettingsContent.d.ts","sourceRoot":"","sources":["../../../../../src/core/components/settings/src/SettingsContent.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,KAAK,oBAAoB,GAAG;IAC1B,SAAS,EAAE,cAAc,CAAA;CAC1B,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,SAAS,EAAE,EAAE,oBAAoB,+BAY1E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/core/components/settings/src/SettingsContent.tsx"],"sourcesContent":["\"use client\"\r\n\r\nimport AccountSettingsPanel from './AccountSettingsPanel'\r\nimport UsersSettingsPanel from './UsersSettingsPanel'\r\nimport OrganizationSettingsPanel from './OrganizationSettingsPanel'\r\nimport type { SettingsTabKey } from './types'\r\n\r\ntype SettingsContentProps = {\r\n activeTab: SettingsTabKey\r\n}\r\n\r\nexport default function SettingsContent({ activeTab }: SettingsContentProps) {\r\n return (\r\n <div className=\"flex-1 min-h-0 flex flex-col gap-6\">\r\n {activeTab === 'account' ? (\r\n <AccountSettingsPanel />\r\n ) : activeTab === 'users' ? (\r\n <UsersSettingsPanel />\r\n ) : activeTab === 'organization' ? (\r\n <OrganizationSettingsPanel />\r\n ) : null}\r\n </div>\r\n )\r\n}\r\n"],"mappings":";
|
|
1
|
+
{"version":3,"sources":["../../../../../src/core/components/settings/src/SettingsContent.tsx"],"sourcesContent":["\"use client\"\r\n\r\n// SPDX-License-Identifier: AGPL-3.0-or-later\r\n// Copyright (C) 2025 Collab Digital Twins\r\n\r\nimport AccountSettingsPanel from './AccountSettingsPanel'\r\nimport UsersSettingsPanel from './UsersSettingsPanel'\r\nimport OrganizationSettingsPanel from './OrganizationSettingsPanel'\r\nimport type { SettingsTabKey } from './types'\r\n\r\ntype SettingsContentProps = {\r\n activeTab: SettingsTabKey\r\n}\r\n\r\nexport default function SettingsContent({ activeTab }: SettingsContentProps) {\r\n return (\r\n <div className=\"flex-1 min-h-0 flex flex-col gap-6\">\r\n {activeTab === 'account' ? (\r\n <AccountSettingsPanel />\r\n ) : activeTab === 'users' ? (\r\n <UsersSettingsPanel />\r\n ) : activeTab === 'organization' ? (\r\n <OrganizationSettingsPanel />\r\n ) : null}\r\n </div>\r\n )\r\n}\r\n"],"mappings":";AAkBQ;AAbR,OAAO,0BAA0B;AACjC,OAAO,wBAAwB;AAC/B,OAAO,+BAA+B;AAOvB,SAAR,gBAAiC,EAAE,UAAU,GAAyB;AAC3E,SACE,oBAAC,SAAI,WAAU,sCACZ,wBAAc,YACb,oBAAC,wBAAqB,IACpB,cAAc,UAChB,oBAAC,sBAAmB,IAClB,cAAc,iBAChB,oBAAC,6BAA0B,IACzB,MACN;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsHeader.d.ts","sourceRoot":"","sources":["../../../../../src/core/components/settings/src/SettingsHeader.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SettingsHeader.d.ts","sourceRoot":"","sources":["../../../../../src/core/components/settings/src/SettingsHeader.tsx"],"names":[],"mappings":"AAgBA,KAAK,mBAAmB,GAAG;IACzB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE,mBAAmB,+BA2BpE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/core/components/settings/src/SettingsHeader.tsx"],"sourcesContent":["\"use client\"\r\n\r\nimport * as LR from 'lucide-react'\r\n\r\nimport { Separator } from '../../ui/'\r\nimport {\r\n Breadcrumb,\r\n BreadcrumbItem,\r\n BreadcrumbList,\r\n BreadcrumbPage,\r\n} from '../../ui/Breadcrumb'\r\nimport { SidebarTrigger } from '../../ui/Sidebar'\r\n\r\ntype SettingsHeaderProps = {\r\n title: string\r\n}\r\n\r\nexport default function SettingsHeader({ title }: SettingsHeaderProps) {\r\n return (\r\n <div>\r\n <div className=\"flex flex-row gap-2 justify-start items-center px-3 py-4 relative\">\r\n <SidebarTrigger />\r\n\r\n <Separator orientation=\"vertical\" className=\"h-4\" />\r\n\r\n <Breadcrumb className=\"px-3\">\r\n <BreadcrumbList>\r\n <BreadcrumbItem>\r\n <BreadcrumbPage>{title}</BreadcrumbPage>\r\n </BreadcrumbItem>\r\n </BreadcrumbList>\r\n </Breadcrumb>\r\n </div>\r\n\r\n <div className=\"flex flex-row justify-between items-center px-6 py-6\">\r\n <div className=\"flex flex-row justify-center items-center gap-4\">\r\n <LR.Settings />\r\n <h1 className=\"text-2xl text-foreground\">{title}</h1>\r\n </div>\r\n </div>\r\n\r\n <Separator />\r\n </div>\r\n )\r\n}\r\n"],"mappings":";
|
|
1
|
+
{"version":3,"sources":["../../../../../src/core/components/settings/src/SettingsHeader.tsx"],"sourcesContent":["\"use client\"\r\n\r\n// SPDX-License-Identifier: AGPL-3.0-or-later\r\n// Copyright (C) 2025 Collab Digital Twins\r\n\r\nimport * as LR from 'lucide-react'\r\n\r\nimport { Separator } from '../../ui/'\r\nimport {\r\n Breadcrumb,\r\n BreadcrumbItem,\r\n BreadcrumbList,\r\n BreadcrumbPage,\r\n} from '../../ui/Breadcrumb'\r\nimport { SidebarTrigger } from '../../ui/Sidebar'\r\n\r\ntype SettingsHeaderProps = {\r\n title: string\r\n}\r\n\r\nexport default function SettingsHeader({ title }: SettingsHeaderProps) {\r\n return (\r\n <div>\r\n <div className=\"flex flex-row gap-2 justify-start items-center px-3 py-4 relative\">\r\n <SidebarTrigger />\r\n\r\n <Separator orientation=\"vertical\" className=\"h-4\" />\r\n\r\n <Breadcrumb className=\"px-3\">\r\n <BreadcrumbList>\r\n <BreadcrumbItem>\r\n <BreadcrumbPage>{title}</BreadcrumbPage>\r\n </BreadcrumbItem>\r\n </BreadcrumbList>\r\n </Breadcrumb>\r\n </div>\r\n\r\n <div className=\"flex flex-row justify-between items-center px-6 py-6\">\r\n <div className=\"flex flex-row justify-center items-center gap-4\">\r\n <LR.Settings />\r\n <h1 className=\"text-2xl text-foreground\">{title}</h1>\r\n </div>\r\n </div>\r\n\r\n <Separator />\r\n </div>\r\n )\r\n}\r\n"],"mappings":";AAuBM,SACE,KADF;AAlBN,YAAY,QAAQ;AAEpB,SAAS,iBAAiB;AAC1B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,sBAAsB;AAMhB,SAAR,eAAgC,EAAE,MAAM,GAAwB;AACrE,SACE,qBAAC,SACC;AAAA,yBAAC,SAAI,WAAU,qEACb;AAAA,0BAAC,kBAAe;AAAA,MAEhB,oBAAC,aAAU,aAAY,YAAW,WAAU,OAAM;AAAA,MAElD,oBAAC,cAAW,WAAU,QACpB,8BAAC,kBACC,8BAAC,kBACC,8BAAC,kBAAgB,iBAAM,GACzB,GACF,GACF;AAAA,OACF;AAAA,IAEA,oBAAC,SAAI,WAAU,wDACb,+BAAC,SAAI,WAAU,mDACb;AAAA,0BAAC,GAAG,UAAH,EAAY;AAAA,MACb,oBAAC,QAAG,WAAU,4BAA4B,iBAAM;AAAA,OAClD,GACF;AAAA,IAEA,oBAAC,aAAU;AAAA,KACb;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsSidebar.d.ts","sourceRoot":"","sources":["../../../../../src/core/components/settings/src/SettingsSidebar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SettingsSidebar.d.ts","sourceRoot":"","sources":["../../../../../src/core/components/settings/src/SettingsSidebar.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAG7C,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,cAAc,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,WAAW,EAAE,CAAA;IACnB,SAAS,EAAE,cAAc,CAAA;IACzB,WAAW,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,CAAA;CAC3C,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,oBAAoB,+BAkC7F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/core/components/settings/src/SettingsSidebar.tsx"],"sourcesContent":["\"use client\"\r\n\r\nimport { Button } from '../../ui/'\r\nimport {\r\n SidebarMenu,\r\n SidebarMenuButton,\r\n SidebarMenuItem,\r\n} from '../../ui/Sidebar'\r\nimport type { SettingsTabKey } from './types'\r\nimport { usePermissions } from '../../../store'\r\n\r\ntype SettingsTab = {\r\n key: SettingsTabKey\r\n label: string\r\n disabled?: boolean\r\n}\r\n\r\ntype SettingsSidebarProps = {\r\n tabs: SettingsTab[]\r\n activeTab: SettingsTabKey\r\n onTabChange: (tab: SettingsTabKey) => void\r\n}\r\n\r\nexport default function SettingsSidebar({ tabs, activeTab, onTabChange }: SettingsSidebarProps) {\r\n \r\n // Permissions\r\n const { ability } = usePermissions()\r\n \r\n // Helper to check if tab should be visible\r\n const isTabVisible = (tabKey: SettingsTabKey) => {\r\n if (tabKey === 'users') {\r\n return ability.can('update', 'Role')\r\n }\r\n if (tabKey === 'organization') {\r\n return ability.can('update', 'Organization')\r\n }\r\n return true\r\n }\r\n \r\n return (\r\n <SidebarMenu className=\"w-full\">\r\n {tabs.filter(tab => isTabVisible(tab.key)).map(tab => (\r\n <SidebarMenuItem key={tab.key}>\r\n <SidebarMenuButton asChild>\r\n <Button\r\n className={`text-sm flex justify-start pointer-events-auto cursor-pointer ${activeTab === tab.key ? 'bg-accent' : ''}`}\r\n variant=\"ghost\"\r\n onClick={() => onTabChange(tab.key)}\r\n disabled={tab.disabled}\r\n >\r\n <span>{tab.label}</span>\r\n </Button>\r\n </SidebarMenuButton>\r\n </SidebarMenuItem>\r\n ))}\r\n </SidebarMenu>\r\n )\r\n}\r\n"],"mappings":";
|
|
1
|
+
{"version":3,"sources":["../../../../../src/core/components/settings/src/SettingsSidebar.tsx"],"sourcesContent":["\"use client\"\r\n\r\n// SPDX-License-Identifier: AGPL-3.0-or-later\r\n// Copyright (C) 2025 Collab Digital Twins\r\n\r\nimport { Button } from '../../ui/'\r\nimport {\r\n SidebarMenu,\r\n SidebarMenuButton,\r\n SidebarMenuItem,\r\n} from '../../ui/Sidebar'\r\nimport type { SettingsTabKey } from './types'\r\nimport { usePermissions } from '../../../store'\r\n\r\ntype SettingsTab = {\r\n key: SettingsTabKey\r\n label: string\r\n disabled?: boolean\r\n}\r\n\r\ntype SettingsSidebarProps = {\r\n tabs: SettingsTab[]\r\n activeTab: SettingsTabKey\r\n onTabChange: (tab: SettingsTabKey) => void\r\n}\r\n\r\nexport default function SettingsSidebar({ tabs, activeTab, onTabChange }: SettingsSidebarProps) {\r\n \r\n // Permissions\r\n const { ability } = usePermissions()\r\n \r\n // Helper to check if tab should be visible\r\n const isTabVisible = (tabKey: SettingsTabKey) => {\r\n if (tabKey === 'users') {\r\n return ability.can('update', 'Role')\r\n }\r\n if (tabKey === 'organization') {\r\n return ability.can('update', 'Organization')\r\n }\r\n return true\r\n }\r\n \r\n return (\r\n <SidebarMenu className=\"w-full\">\r\n {tabs.filter(tab => isTabVisible(tab.key)).map(tab => (\r\n <SidebarMenuItem key={tab.key}>\r\n <SidebarMenuButton asChild>\r\n <Button\r\n className={`text-sm flex justify-start pointer-events-auto cursor-pointer ${activeTab === tab.key ? 'bg-accent' : ''}`}\r\n variant=\"ghost\"\r\n onClick={() => onTabChange(tab.key)}\r\n disabled={tab.disabled}\r\n >\r\n <span>{tab.label}</span>\r\n </Button>\r\n </SidebarMenuButton>\r\n </SidebarMenuItem>\r\n ))}\r\n </SidebarMenu>\r\n )\r\n}\r\n"],"mappings":";AAqDc;AAhDd,SAAS,cAAc;AACvB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,sBAAsB;AAchB,SAAR,gBAAiC,EAAE,MAAM,WAAW,YAAY,GAAyB;AAG9F,QAAM,EAAE,QAAQ,IAAI,eAAe;AAGnC,QAAM,eAAe,CAAC,WAA2B;AAC/C,QAAI,WAAW,SAAS;AACtB,aAAO,QAAQ,IAAI,UAAU,MAAM;AAAA,IACrC;AACA,QAAI,WAAW,gBAAgB;AAC7B,aAAO,QAAQ,IAAI,UAAU,cAAc;AAAA,IAC7C;AACA,WAAO;AAAA,EACT;AAEA,SACE,oBAAC,eAAY,WAAU,UACpB,eAAK,OAAO,SAAO,aAAa,IAAI,GAAG,CAAC,EAAE,IAAI,SAC7C,oBAAC,mBACC,8BAAC,qBAAkB,SAAO,MACxB;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,iEAAiE,cAAc,IAAI,MAAM,cAAc,EAAE;AAAA,MACpH,SAAQ;AAAA,MACR,SAAS,MAAM,YAAY,IAAI,GAAG;AAAA,MAClC,UAAU,IAAI;AAAA,MAEd,8BAAC,UAAM,cAAI,OAAM;AAAA;AAAA,EACnB,GACF,KAVoB,IAAI,GAW1B,CACD,GACH;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsSkeleton.d.ts","sourceRoot":"","sources":["../../../../../src/core/components/settings/src/SettingsSkeleton.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SettingsSkeleton.d.ts","sourceRoot":"","sources":["../../../../../src/core/components/settings/src/SettingsSkeleton.tsx"],"names":[],"mappings":"AAOA,MAAM,CAAC,OAAO,UAAU,uBAAuB,gCA6C9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/core/components/settings/src/SettingsSkeleton.tsx"],"sourcesContent":["\r\n// Direct file imports to bypass the ui barrel.\r\nimport { Separator } from '../../ui/Separator';\r\nimport { Skeleton } from '../../ui/Skeleton';\r\n\r\nexport default function SettingsContentSkeleton() {\r\n return (\r\n <div className=\"flex-1 flex flex-col gap-6\">\r\n <div className=\"w-full flex flex-col lg:flex-row lg:gap-6 overflow-hidden\">\r\n {/* Header */}\r\n <div className=\"flex-shrink-0 pb-2 px-6 lg:w-1/2 flex flex-col gap-2\">\r\n <Skeleton className=\"h-7 w-48\" />\r\n <Skeleton className=\"h-4 w-full\" />\r\n <Skeleton className=\"h-4 w-3/4\" />\r\n </div>\r\n\r\n {/* User Info Form Fields */}\r\n <div className=\"flex-1 px-6 overflow-auto lg:w-1/2 space-y-6\">\r\n {/* First Name Field */}\r\n <div className=\"grid grid-cols-1 gap-3 py-3 w-full border-b border-border\">\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-20\" />\r\n <Skeleton className=\"h-5 w-24\" />\r\n </div>\r\n </div>\r\n\r\n {/* Last Name Field */}\r\n <div className=\"grid grid-cols-1 gap-3 py-3 w-full border-b border-border\">\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-20\" />\r\n <Skeleton className=\"h-5 w-48\" />\r\n </div>\r\n </div>\r\n\r\n {/* Email Field */}\r\n <div className=\"grid grid-cols-1 gap-3 py-3 w-full border-b border-border\">\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-12\" />\r\n <Skeleton className=\"h-5 w-48\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n {/* Edit Button */}\r\n <div className=\"flex justify-center mt-6 w-full m-auto\">\r\n <Skeleton className=\"h-10 w-24\" />\r\n </div>\r\n <Separator />\r\n </div>\r\n );\r\n}"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/core/components/settings/src/SettingsSkeleton.tsx"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\r\n// Copyright (C) 2025 Collab Digital Twins\r\n\r\n// Direct file imports to bypass the ui barrel.\r\nimport { Separator } from '../../ui/Separator';\r\nimport { Skeleton } from '../../ui/Skeleton';\r\n\r\nexport default function SettingsContentSkeleton() {\r\n return (\r\n <div className=\"flex-1 flex flex-col gap-6\">\r\n <div className=\"w-full flex flex-col lg:flex-row lg:gap-6 overflow-hidden\">\r\n {/* Header */}\r\n <div className=\"flex-shrink-0 pb-2 px-6 lg:w-1/2 flex flex-col gap-2\">\r\n <Skeleton className=\"h-7 w-48\" />\r\n <Skeleton className=\"h-4 w-full\" />\r\n <Skeleton className=\"h-4 w-3/4\" />\r\n </div>\r\n\r\n {/* User Info Form Fields */}\r\n <div className=\"flex-1 px-6 overflow-auto lg:w-1/2 space-y-6\">\r\n {/* First Name Field */}\r\n <div className=\"grid grid-cols-1 gap-3 py-3 w-full border-b border-border\">\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-20\" />\r\n <Skeleton className=\"h-5 w-24\" />\r\n </div>\r\n </div>\r\n\r\n {/* Last Name Field */}\r\n <div className=\"grid grid-cols-1 gap-3 py-3 w-full border-b border-border\">\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-20\" />\r\n <Skeleton className=\"h-5 w-48\" />\r\n </div>\r\n </div>\r\n\r\n {/* Email Field */}\r\n <div className=\"grid grid-cols-1 gap-3 py-3 w-full border-b border-border\">\r\n <div className=\"space-y-2\">\r\n <Skeleton className=\"h-4 w-12\" />\r\n <Skeleton className=\"h-5 w-48\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n {/* Edit Button */}\r\n <div className=\"flex justify-center mt-6 w-full m-auto\">\r\n <Skeleton className=\"h-10 w-24\" />\r\n </div>\r\n <Separator />\r\n </div>\r\n );\r\n}"],"mappings":"AAYQ,SACE,KADF;AARR,SAAS,iBAAiB;AAC1B,SAAS,gBAAgB;AAEV,SAAR,0BAA2C;AAChD,SACE,qBAAC,SAAI,WAAU,8BACb;AAAA,yBAAC,SAAI,WAAU,6DAEb;AAAA,2BAAC,SAAI,WAAU,wDACb;AAAA,4BAAC,YAAS,WAAU,YAAW;AAAA,QAC/B,oBAAC,YAAS,WAAU,cAAa;AAAA,QACjC,oBAAC,YAAS,WAAU,aAAY;AAAA,SAClC;AAAA,MAGA,qBAAC,SAAI,WAAU,gDAEb;AAAA,4BAAC,SAAI,WAAU,6DACb,+BAAC,SAAI,WAAU,aACb;AAAA,8BAAC,YAAS,WAAU,YAAW;AAAA,UAC/B,oBAAC,YAAS,WAAU,YAAW;AAAA,WACjC,GACF;AAAA,QAGA,oBAAC,SAAI,WAAU,6DACb,+BAAC,SAAI,WAAU,aACb;AAAA,8BAAC,YAAS,WAAU,YAAW;AAAA,UAC/B,oBAAC,YAAS,WAAU,YAAW;AAAA,WACjC,GACF;AAAA,QAGA,oBAAC,SAAI,WAAU,6DACb,+BAAC,SAAI,WAAU,aACb;AAAA,8BAAC,YAAS,WAAU,YAAW;AAAA,UAC/B,oBAAC,YAAS,WAAU,YAAW;AAAA,WACjC,GACF;AAAA,SACF;AAAA,OACF;AAAA,IAEE,oBAAC,SAAI,WAAU,0CACf,8BAAC,YAAS,WAAU,aAAY,GAChC;AAAA,IACF,oBAAC,aAAU;AAAA,KACb;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UsersSettingsPanel.d.ts","sourceRoot":"","sources":["../../../../../src/core/components/settings/src/UsersSettingsPanel.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UsersSettingsPanel.d.ts","sourceRoot":"","sources":["../../../../../src/core/components/settings/src/UsersSettingsPanel.tsx"],"names":[],"mappings":"AAQA,MAAM,CAAC,OAAO,UAAU,kBAAkB,gCAMzC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/core/components/settings/src/UsersSettingsPanel.tsx"],"sourcesContent":["\"use client\"\r\n\r\nimport { DataMenu } from '../../viewers/Data/DataMenu'\r\nimport { ViewerNames } from '../../../types'\r\n\r\nexport default function UsersSettingsPanel() {\r\n return (\r\n <div className=\"flex-1 min-h-0 overflow-hidden\">\r\n <DataMenu currentViewer={ViewerNames.users} height=\"h-full\" hideTitle hideFrame />\r\n </div>\r\n )\r\n}\r\n"],"mappings":";
|
|
1
|
+
{"version":3,"sources":["../../../../../src/core/components/settings/src/UsersSettingsPanel.tsx"],"sourcesContent":["\"use client\"\r\n\r\n// SPDX-License-Identifier: AGPL-3.0-or-later\r\n// Copyright (C) 2025 Collab Digital Twins\r\n\r\nimport { DataMenu } from '../../viewers/Data/DataMenu'\r\nimport { ViewerNames } from '../../../types'\r\n\r\nexport default function UsersSettingsPanel() {\r\n return (\r\n <div className=\"flex-1 min-h-0 overflow-hidden\">\r\n <DataMenu currentViewer={ViewerNames.users} height=\"h-full\" hideTitle hideFrame />\r\n </div>\r\n )\r\n}\r\n"],"mappings":";AAWM;AANN,SAAS,gBAAgB;AACzB,SAAS,mBAAmB;AAEb,SAAR,qBAAsC;AAC3C,SACE,oBAAC,SAAI,WAAU,kCACb,8BAAC,YAAS,eAAe,YAAY,OAAO,QAAO,UAAS,WAAS,MAAC,WAAS,MAAC,GAClF;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/core/components/settings/src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/core/components/settings/src/types.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,OAAO,GAAG,cAAc,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../../src/core/components/ui/Accordion.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../../src/core/components/ui/Accordion.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAA;AAK/D,QAAA,MAAM,SAAS,8JAA0B,CAAA;AAEzC,QAAA,MAAM,aAAa,iKASjB,CAAA;AAGF,QAAA,MAAM,gBAAgB,0KAiBpB,CAAA;AAGF,QAAA,MAAM,gBAAgB,oKAWpB,CAAA;AAGF,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/core/components/ui/Accordion.tsx"],"sourcesContent":["\"use client\"\r\n\r\nimport * as React from \"react\"\r\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\"\r\nimport * as LR from \"lucide-react\"\r\nimport { cn } from '../../utils/utils'\r\n\r\n\r\nconst Accordion = AccordionPrimitive.Root\r\n\r\nconst AccordionItem = React.forwardRef<\r\n React.ElementRef<typeof AccordionPrimitive.Item>,\r\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\r\n>(({ className, ...props }, ref) => (\r\n <AccordionPrimitive.Item\r\n ref={ref}\r\n className={cn(\"border-b\", className)}\r\n {...props}\r\n />\r\n))\r\nAccordionItem.displayName = \"AccordionItem\"\r\n\r\nconst AccordionTrigger = React.forwardRef<\r\n React.ElementRef<typeof AccordionPrimitive.Trigger>,\r\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>\r\n>(({ className, children, ...props }, ref) => (\r\n <AccordionPrimitive.Header className=\"flex\">\r\n <AccordionPrimitive.Trigger\r\n ref={ref}\r\n className={cn(\r\n \"flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline text-left [&[data-state=open]>svg]:rotate-180\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n <LR.ChevronDown className=\"h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200\" />\r\n </AccordionPrimitive.Trigger>\r\n </AccordionPrimitive.Header>\r\n))\r\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName\r\n\r\nconst AccordionContent = React.forwardRef<\r\n React.ElementRef<typeof AccordionPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>\r\n>(({ className, children, ...props }, ref) => (\r\n <AccordionPrimitive.Content\r\n ref={ref}\r\n className=\"overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down\"\r\n {...props}\r\n >\r\n <div className={cn(\"pb-4 pt-0\", className)}>{children}</div>\r\n </AccordionPrimitive.Content>\r\n))\r\nAccordionContent.displayName = AccordionPrimitive.Content.displayName\r\n\r\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../../src/core/components/ui/Accordion.tsx"],"sourcesContent":["\"use client\"\r\n\r\n// SPDX-License-Identifier: AGPL-3.0-or-later\r\n// Copyright (C) 2025 Collab Digital Twins\r\n\r\nimport * as React from \"react\"\r\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\"\r\nimport * as LR from \"lucide-react\"\r\nimport { cn } from '../../utils/utils'\r\n\r\n\r\nconst Accordion = AccordionPrimitive.Root\r\n\r\nconst AccordionItem = React.forwardRef<\r\n React.ElementRef<typeof AccordionPrimitive.Item>,\r\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\r\n>(({ className, ...props }, ref) => (\r\n <AccordionPrimitive.Item\r\n ref={ref}\r\n className={cn(\"border-b\", className)}\r\n {...props}\r\n />\r\n))\r\nAccordionItem.displayName = \"AccordionItem\"\r\n\r\nconst AccordionTrigger = React.forwardRef<\r\n React.ElementRef<typeof AccordionPrimitive.Trigger>,\r\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>\r\n>(({ className, children, ...props }, ref) => (\r\n <AccordionPrimitive.Header className=\"flex\">\r\n <AccordionPrimitive.Trigger\r\n ref={ref}\r\n className={cn(\r\n \"flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline text-left [&[data-state=open]>svg]:rotate-180\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n <LR.ChevronDown className=\"h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200\" />\r\n </AccordionPrimitive.Trigger>\r\n </AccordionPrimitive.Header>\r\n))\r\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName\r\n\r\nconst AccordionContent = React.forwardRef<\r\n React.ElementRef<typeof AccordionPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>\r\n>(({ className, children, ...props }, ref) => (\r\n <AccordionPrimitive.Content\r\n ref={ref}\r\n className=\"overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down\"\r\n {...props}\r\n >\r\n <div className={cn(\"pb-4 pt-0\", className)}>{children}</div>\r\n </AccordionPrimitive.Content>\r\n))\r\nAccordionContent.displayName = AccordionPrimitive.Content.displayName\r\n\r\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBE,cAaE,YAbF;AAZF,YAAY,WAAW;AACvB,YAAY,wBAAwB;AACpC,YAAY,QAAQ;AACpB,SAAS,UAAU;AAGnB,MAAM,YAAY,mBAAmB;AAErC,MAAM,gBAAgB,MAAM,WAG1B,CAAC,IAAyB,QAAK;AAA9B,eAAE,YAhBL,IAgBG,IAAgB,kBAAhB,IAAgB,CAAd;AACH;AAAA,IAAC,mBAAmB;AAAA,IAAnB;AAAA,MACC;AAAA,MACA,WAAW,GAAG,YAAY,SAAS;AAAA,OAC/B;AAAA,EACN;AAAA,CACD;AACD,cAAc,cAAc;AAE5B,MAAM,mBAAmB,MAAM,WAG7B,CAAC,IAAmC,QAAK;AAAxC,eAAE,aAAW,SA5BhB,IA4BG,IAA0B,kBAA1B,IAA0B,CAAxB,aAAW;AACd,6BAAC,mBAAmB,QAAnB,EAA0B,WAAU,QACnC;AAAA,IAAC,mBAAmB;AAAA,IAAnB;AAAA,MACC;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,OACI,QANL;AAAA,MAQE;AAAA;AAAA,QACD,oBAAC,GAAG,aAAH,EAAe,WAAU,4EAA2E;AAAA;AAAA;AAAA,EACvG,GACF;AAAA,CACD;AACD,iBAAiB,cAAc,mBAAmB,QAAQ;AAE1D,MAAM,mBAAmB,MAAM,WAG7B,CAAC,IAAmC,QAAK;AAAxC,eAAE,aAAW,SAhDhB,IAgDG,IAA0B,kBAA1B,IAA0B,CAAxB,aAAW;AACd;AAAA,IAAC,mBAAmB;AAAA,IAAnB;AAAA,MACC;AAAA,MACA,WAAU;AAAA,OACN,QAHL;AAAA,MAKC,8BAAC,SAAI,WAAW,GAAG,aAAa,SAAS,GAAI,UAAS;AAAA;AAAA,EACxD;AAAA,CACD;AACD,iBAAiB,cAAc,mBAAmB,QAAQ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddItemDialog.d.ts","sourceRoot":"","sources":["../../../../src/core/components/ui/AddItemDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AddItemDialog.d.ts","sourceRoot":"","sources":["../../../../src/core/components/ui/AddItemDialog.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE9C,UAAU,kBAAkB;IAC1B,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,YAAY,EACZ,KAAK,EACL,WAAW,EACX,IAAI,EAAE,IAAI,EACV,QAAQ,EACR,gBAAgB,GACjB,EAAE,kBAAkB,qBAepB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/core/components/ui/AddItemDialog.tsx"],"sourcesContent":["'use client'\r\n\r\nimport * as React from 'react'\r\nimport { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from './Dialog'\r\nimport { cn } from '../../utils/utils'\r\nimport type { LucideIcon } from 'lucide-react'\r\n\r\ninterface AddItemDialogProps {\r\n open: boolean\r\n onOpenChange: (open: boolean) => void\r\n title: string\r\n description?: string\r\n icon?: LucideIcon\r\n children: React.ReactNode\r\n contentClassName?: string\r\n}\r\n\r\nexport function AddItemDialog({\r\n open,\r\n onOpenChange,\r\n title,\r\n description,\r\n icon: Icon,\r\n children,\r\n contentClassName,\r\n}: AddItemDialogProps) {\r\n return (\r\n <Dialog open={open} onOpenChange={onOpenChange}>\r\n <DialogContent className={cn('max-w-lg', contentClassName)}>\r\n <DialogHeader>\r\n <DialogTitle className=\"flex items-center gap-2\">\r\n {Icon && <Icon size={18} className=\"text-muted-foreground shrink-0\" />}\r\n <span>{title}</span>\r\n </DialogTitle>\r\n {description && <DialogDescription>{description}</DialogDescription>}\r\n </DialogHeader>\r\n {children}\r\n </DialogContent>\r\n </Dialog>\r\n )\r\n}\r\n"],"mappings":";
|
|
1
|
+
{"version":3,"sources":["../../../../src/core/components/ui/AddItemDialog.tsx"],"sourcesContent":["'use client'\r\n\r\n// SPDX-License-Identifier: AGPL-3.0-or-later\r\n// Copyright (C) 2025 Collab Digital Twins\r\n\r\nimport * as React from 'react'\r\nimport { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from './Dialog'\r\nimport { cn } from '../../utils/utils'\r\nimport type { LucideIcon } from 'lucide-react'\r\n\r\ninterface AddItemDialogProps {\r\n open: boolean\r\n onOpenChange: (open: boolean) => void\r\n title: string\r\n description?: string\r\n icon?: LucideIcon\r\n children: React.ReactNode\r\n contentClassName?: string\r\n}\r\n\r\nexport function AddItemDialog({\r\n open,\r\n onOpenChange,\r\n title,\r\n description,\r\n icon: Icon,\r\n children,\r\n contentClassName,\r\n}: AddItemDialogProps) {\r\n return (\r\n <Dialog open={open} onOpenChange={onOpenChange}>\r\n <DialogContent className={cn('max-w-lg', contentClassName)}>\r\n <DialogHeader>\r\n <DialogTitle className=\"flex items-center gap-2\">\r\n {Icon && <Icon size={18} className=\"text-muted-foreground shrink-0\" />}\r\n <span>{title}</span>\r\n </DialogTitle>\r\n {description && <DialogDescription>{description}</DialogDescription>}\r\n </DialogHeader>\r\n {children}\r\n </DialogContent>\r\n </Dialog>\r\n )\r\n}\r\n"],"mappings":";AAiCU,SACW,KADX;AA3BV,SAAS,QAAQ,eAAe,mBAAmB,cAAc,mBAAmB;AACpF,SAAS,UAAU;AAaZ,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,MAAM;AAAA,EACN;AAAA,EACA;AACF,GAAuB;AACrB,SACE,oBAAC,UAAO,MAAY,cAClB,+BAAC,iBAAc,WAAW,GAAG,YAAY,gBAAgB,GACvD;AAAA,yBAAC,gBACC;AAAA,2BAAC,eAAY,WAAU,2BACpB;AAAA,gBAAQ,oBAAC,QAAK,MAAM,IAAI,WAAU,kCAAiC;AAAA,QACpE,oBAAC,UAAM,iBAAM;AAAA,SACf;AAAA,MACC,eAAe,oBAAC,qBAAmB,uBAAY;AAAA,OAClD;AAAA,IACC;AAAA,KACH,GACF;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AlertDialog.d.ts","sourceRoot":"","sources":["../../../../src/core/components/ui/AlertDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AlertDialog.d.ts","sourceRoot":"","sources":["../../../../src/core/components/ui/AlertDialog.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,oBAAoB,MAAM,8BAA8B,CAAA;AAKpE,QAAA,MAAM,WAAW,iDAA4B,CAAA;AAE7C,QAAA,MAAM,kBAAkB,wHAA+B,CAAA;AAEvD,QAAA,MAAM,iBAAiB,uDAA8B,CAAA;AAErD,QAAA,MAAM,kBAAkB,wKAYtB,CAAA;AAGF,QAAA,MAAM,kBAAkB,wKAetB,CAAA;AAGF,QAAA,MAAM,iBAAiB;8BAGpB,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAQtC,CAAA;AAGD,QAAA,MAAM,iBAAiB;8BAGpB,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAQtC,CAAA;AAGD,QAAA,MAAM,gBAAgB,8KASpB,CAAA;AAGF,QAAA,MAAM,sBAAsB,wLAS1B,CAAA;AAIF,QAAA,MAAM,iBAAiB,6KASrB,CAAA;AAGF,QAAA,MAAM,iBAAiB,6KAarB,CAAA;AAGF,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,GAClB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/core/components/ui/AlertDialog.tsx"],"sourcesContent":["'use client'\r\n\r\nimport * as React from 'react'\r\nimport * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog'\r\n\r\nimport { cn } from '../../utils/utils'\r\nimport { buttonVariants } from '../ui/Button'\r\n\r\nconst AlertDialog = AlertDialogPrimitive.Root\r\n\r\nconst AlertDialogTrigger = AlertDialogPrimitive.Trigger\r\n\r\nconst AlertDialogPortal = AlertDialogPrimitive.Portal\r\n\r\nconst AlertDialogOverlay = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Overlay>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Overlay>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPrimitive.Overlay\r\n className={cn(\r\n 'fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\r\n className,\r\n )}\r\n {...props}\r\n ref={ref}\r\n />\r\n))\r\nAlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName\r\n\r\nconst AlertDialogContent = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPortal>\r\n <AlertDialogOverlay />\r\n <AlertDialogPrimitive.Content\r\n ref={ref}\r\n className={cn(\r\n 'fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg',\r\n className,\r\n )}\r\n {...props}\r\n />\r\n </AlertDialogPortal>\r\n))\r\nAlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName\r\n\r\nconst AlertDialogHeader = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div\r\n className={cn(\r\n 'flex flex-col space-y-2 text-center sm:text-left',\r\n className,\r\n )}\r\n {...props}\r\n />\r\n)\r\nAlertDialogHeader.displayName = 'AlertDialogHeader'\r\n\r\nconst AlertDialogFooter = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div\r\n className={cn(\r\n 'flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2',\r\n className,\r\n )}\r\n {...props}\r\n />\r\n)\r\nAlertDialogFooter.displayName = 'AlertDialogFooter'\r\n\r\nconst AlertDialogTitle = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Title>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPrimitive.Title\r\n ref={ref}\r\n className={cn('text-lg font-semibold', className)}\r\n {...props}\r\n />\r\n))\r\nAlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName\r\n\r\nconst AlertDialogDescription = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Description>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPrimitive.Description\r\n ref={ref}\r\n className={cn('text-sm text-muted-foreground', className)}\r\n {...props}\r\n />\r\n))\r\nAlertDialogDescription.displayName\r\n = AlertDialogPrimitive.Description.displayName\r\n\r\nconst AlertDialogAction = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Action>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Action>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPrimitive.Action\r\n ref={ref}\r\n className={cn(buttonVariants(), className)}\r\n {...props}\r\n />\r\n))\r\nAlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName\r\n\r\nconst AlertDialogCancel = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Cancel>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPrimitive.Cancel\r\n ref={ref}\r\n className={cn(\r\n buttonVariants({ variant: 'outline' }),\r\n 'mt-2 sm:mt-0',\r\n className,\r\n )}\r\n {...props}\r\n />\r\n))\r\nAlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName\r\n\r\nexport {\r\n AlertDialog,\r\n AlertDialogPortal,\r\n AlertDialogOverlay,\r\n AlertDialogTrigger,\r\n AlertDialogContent,\r\n AlertDialogHeader,\r\n AlertDialogFooter,\r\n AlertDialogTitle,\r\n AlertDialogDescription,\r\n AlertDialogAction,\r\n AlertDialogCancel,\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../../src/core/components/ui/AlertDialog.tsx"],"sourcesContent":["'use client'\r\n\r\n// SPDX-License-Identifier: AGPL-3.0-or-later\r\n// Copyright (C) 2025 Collab Digital Twins\r\n\r\nimport * as React from 'react'\r\nimport * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog'\r\n\r\nimport { cn } from '../../utils/utils'\r\nimport { buttonVariants } from '../ui/Button'\r\n\r\nconst AlertDialog = AlertDialogPrimitive.Root\r\n\r\nconst AlertDialogTrigger = AlertDialogPrimitive.Trigger\r\n\r\nconst AlertDialogPortal = AlertDialogPrimitive.Portal\r\n\r\nconst AlertDialogOverlay = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Overlay>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Overlay>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPrimitive.Overlay\r\n className={cn(\r\n 'fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\r\n className,\r\n )}\r\n {...props}\r\n ref={ref}\r\n />\r\n))\r\nAlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName\r\n\r\nconst AlertDialogContent = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPortal>\r\n <AlertDialogOverlay />\r\n <AlertDialogPrimitive.Content\r\n ref={ref}\r\n className={cn(\r\n 'fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg',\r\n className,\r\n )}\r\n {...props}\r\n />\r\n </AlertDialogPortal>\r\n))\r\nAlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName\r\n\r\nconst AlertDialogHeader = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div\r\n className={cn(\r\n 'flex flex-col space-y-2 text-center sm:text-left',\r\n className,\r\n )}\r\n {...props}\r\n />\r\n)\r\nAlertDialogHeader.displayName = 'AlertDialogHeader'\r\n\r\nconst AlertDialogFooter = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div\r\n className={cn(\r\n 'flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2',\r\n className,\r\n )}\r\n {...props}\r\n />\r\n)\r\nAlertDialogFooter.displayName = 'AlertDialogFooter'\r\n\r\nconst AlertDialogTitle = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Title>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPrimitive.Title\r\n ref={ref}\r\n className={cn('text-lg font-semibold', className)}\r\n {...props}\r\n />\r\n))\r\nAlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName\r\n\r\nconst AlertDialogDescription = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Description>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPrimitive.Description\r\n ref={ref}\r\n className={cn('text-sm text-muted-foreground', className)}\r\n {...props}\r\n />\r\n))\r\nAlertDialogDescription.displayName\r\n = AlertDialogPrimitive.Description.displayName\r\n\r\nconst AlertDialogAction = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Action>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Action>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPrimitive.Action\r\n ref={ref}\r\n className={cn(buttonVariants(), className)}\r\n {...props}\r\n />\r\n))\r\nAlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName\r\n\r\nconst AlertDialogCancel = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Cancel>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPrimitive.Cancel\r\n ref={ref}\r\n className={cn(\r\n buttonVariants({ variant: 'outline' }),\r\n 'mt-2 sm:mt-0',\r\n className,\r\n )}\r\n {...props}\r\n />\r\n))\r\nAlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName\r\n\r\nexport {\r\n AlertDialog,\r\n AlertDialogPortal,\r\n AlertDialogOverlay,\r\n AlertDialogTrigger,\r\n AlertDialogContent,\r\n AlertDialogHeader,\r\n AlertDialogFooter,\r\n AlertDialogTitle,\r\n AlertDialogDescription,\r\n AlertDialogAction,\r\n AlertDialogCancel,\r\n}\r\n"],"mappings":"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","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnimatedBackground.d.ts","sourceRoot":"","sources":["../../../../src/core/components/ui/AnimatedBackground.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AnimatedBackground.d.ts","sourceRoot":"","sources":["../../../../src/core/components/ui/AnimatedBackground.tsx"],"names":[],"mappings":"AAQA,UAAU,KAAK;IACb,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;CACzB;AAED,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EAAE,KAAK,EAAE,GAAE,KAAU,+BA6O/D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/core/components/ui/AnimatedBackground.tsx"],"sourcesContent":["'use client'\r\n\r\nimport { useEffect, useRef, useState } from 'react'\r\nimport { useMotionValue, useSpring } from 'framer-motion'\r\n\r\ninterface Props {\r\n theme?: 'light' | 'dark'\r\n}\r\n\r\nexport default function AnimatedBackground({ theme }: Props = {}) {\r\n const canvasRef = useRef<HTMLCanvasElement>(null)\r\n const mouseX = useMotionValue(0)\r\n const mouseY = useMotionValue(0)\r\n const smoothMouseX = useSpring(mouseX, { stiffness: 50, damping: 20 })\r\n const smoothMouseY = useSpring(mouseY, { stiffness: 50, damping: 20 })\r\n const [isDark, setIsDark] = useState(theme !== undefined ? theme === 'dark' : true)\r\n\r\n useEffect(() => {\r\n // If theme is controlled externally, just sync and skip the observer\r\n if (theme !== undefined) {\r\n setIsDark(theme === 'dark')\r\n return\r\n }\r\n\r\n // Auto-detect from document for standalone usage (hero section)\r\n setIsDark(document.documentElement.classList.contains('dark'))\r\n const observer = new MutationObserver(() => {\r\n setIsDark(document.documentElement.classList.contains('dark'))\r\n })\r\n observer.observe(document.documentElement, {\r\n attributes: true,\r\n attributeFilter: ['class']\r\n })\r\n return () => observer.disconnect()\r\n }, [theme])\r\n\r\n useEffect(() => {\r\n const handleMouseMove = (e: MouseEvent) => {\r\n mouseX.set(e.clientX)\r\n mouseY.set(e.clientY)\r\n }\r\n\r\n window.addEventListener('mousemove', handleMouseMove)\r\n return () => window.removeEventListener('mousemove', handleMouseMove)\r\n }, [mouseX, mouseY])\r\n\r\n useEffect(() => {\r\n const canvas = canvasRef.current\r\n if (!canvas) return\r\n\r\n const ctx = canvas.getContext('2d')\r\n if (!ctx) return\r\n\r\n const resize = () => {\r\n canvas.width = window.innerWidth\r\n canvas.height = window.innerHeight\r\n }\r\n resize()\r\n window.addEventListener('resize', resize)\r\n\r\n let animationFrameId: number\r\n let time = 0\r\n let offsetX = 0\r\n\r\n interface DataNode {\r\n x: number\r\n y: number\r\n baseX: number\r\n baseY: number\r\n connections: number[]\r\n pulse: number\r\n }\r\n\r\n const dataNodes: DataNode[] = []\r\n const gridSize = 100\r\n const nodeSpacing = 150\r\n // Render extra columns for seamless wrap\r\n const nodeCols = Math.ceil(canvas.width / nodeSpacing) + 2\r\n const nodeRows = Math.ceil(canvas.height / nodeSpacing)\r\n\r\n for (let row = 0; row < nodeRows; row++) {\r\n for (let col = 0; col < nodeCols; col++) {\r\n const index = row * nodeCols + col\r\n const baseX = col * nodeSpacing + nodeSpacing / 2\r\n const baseY = row * nodeSpacing + nodeSpacing / 2\r\n dataNodes.push({\r\n x: baseX,\r\n y: baseY,\r\n baseX,\r\n baseY,\r\n connections: [],\r\n pulse: (row + col) * 0.5\r\n })\r\n }\r\n }\r\n\r\n dataNodes.forEach((node, i) => {\r\n const col = i % nodeCols\r\n const row = Math.floor(i / nodeCols)\r\n if (col < nodeCols - 1) {\r\n node.connections.push(i + 1)\r\n }\r\n if (row < nodeRows - 1) {\r\n node.connections.push(i + nodeCols)\r\n }\r\n })\r\n\r\n const draw = () => {\r\n time += 0.008\r\n // Move left slowly\r\n offsetX += 0.1 // Lower for slower movement\r\n // Loop offsetX to avoid overflow and create infinite effect\r\n if (offsetX > nodeSpacing) offsetX -= nodeSpacing\r\n\r\n ctx.clearRect(0, 0, canvas.width, canvas.height)\r\n\r\n // Theme-aware colors\r\n const bgGradient = ctx.createLinearGradient(0, 0, canvas.width, canvas.height)\r\n if (isDark) {\r\n bgGradient.addColorStop(0, 'rgba(239, 145, 97, 0.025)')\r\n bgGradient.addColorStop(1, 'rgba(180, 90, 40, 0.02)')\r\n } else {\r\n bgGradient.addColorStop(0, 'rgba(239, 146, 98, 0.08)')\r\n bgGradient.addColorStop(1, 'rgba(239, 146, 98, 0.06)')\r\n }\r\n ctx.fillStyle = bgGradient\r\n ctx.fillRect(0, 0, canvas.width, canvas.height)\r\n\r\n // Animate node positions with floating effect\r\n dataNodes.forEach((node, i) => {\r\n const floatX = Math.sin(time * 0.3 + node.pulse) * 2\r\n const floatY = Math.cos(time * 0.2 + node.pulse) * 2\r\n // Shift node baseX by offsetX for infinite left movement\r\n let x = node.baseX - offsetX + floatX\r\n // Wrap node.x to the right if it goes off the left edge\r\n x = ((x + nodeCols * nodeSpacing) % (nodeCols * nodeSpacing))\r\n node.x = x\r\n node.y = node.baseY + floatY\r\n })\r\n\r\n // Theme-aware grid lines\r\n ctx.strokeStyle = isDark ? 'rgba(239, 145, 97, 0.08)' : 'rgba(239, 146, 98, 0.3)'\r\n ctx.lineWidth = 0.5\r\n \r\n for (let y = canvas.height; y > canvas.height * 0.3; y -= gridSize) {\r\n ctx.beginPath()\r\n ctx.moveTo(0, y)\r\n ctx.lineTo(canvas.width, y)\r\n ctx.stroke()\r\n }\r\n \r\n const verticalSpacing = gridSize * 1.5\r\n // Render extra vertical grid lines for seamless wrap\r\n const gridCols = Math.ceil(canvas.width / verticalSpacing) + 2\r\n for (let i = 0; i < gridCols; i++) {\r\n // Shift grid lines by offsetX for infinite left movement\r\n let x = i * verticalSpacing - offsetX % verticalSpacing - verticalSpacing\r\n // Wrap x for seamless effect\r\n x = ((x + gridCols * verticalSpacing) % (gridCols * verticalSpacing))\r\n ctx.beginPath()\r\n ctx.moveTo(x, canvas.height)\r\n ctx.lineTo(x + (x - canvas.width / 2) * 0.3, canvas.height * 0.3)\r\n ctx.stroke()\r\n }\r\n\r\n // Theme-aware connections with data flow\r\n ctx.lineWidth = 0.8\r\n dataNodes.forEach((node, i) => {\r\n node.connections.forEach(targetIndex => {\r\n const target = dataNodes[targetIndex]\r\n const pulse = (Math.sin(time + node.pulse) + 1) / 2\r\n \r\n ctx.beginPath()\r\n ctx.moveTo(node.x, node.y)\r\n ctx.lineTo(target.x, target.y)\r\n ctx.strokeStyle = isDark\r\n ? `rgba(239, 145, 97, ${0.1 + pulse * 0.08})`\r\n : `rgba(239, 146, 98, ${0.35 + pulse * 0.2})`\r\n ctx.stroke()\r\n\r\n // Animated data particles flowing along connections\r\n const flowProgress = (time * 0.3 + node.pulse) % 1\r\n const particleX = node.x + (target.x - node.x) * flowProgress\r\n const particleY = node.y + (target.y - node.y) * flowProgress\r\n\r\n ctx.beginPath()\r\n ctx.arc(particleX, particleY, 1.5, 0, Math.PI * 2)\r\n ctx.fillStyle = isDark\r\n ? `rgba(239, 145, 97, ${0.5 + pulse * 0.3})`\r\n : `rgba(239, 146, 98, ${0.7 + pulse * 0.3})`\r\n ctx.fill()\r\n })\r\n })\r\n\r\n // Theme-aware nodes\r\n dataNodes.forEach(node => {\r\n const pulse = (Math.sin(time + node.pulse) + 1) / 2\r\n const size = 2.5 + pulse * 1\r\n \r\n ctx.beginPath()\r\n ctx.arc(node.x, node.y, size * 2, 0, Math.PI * 2)\r\n ctx.fillStyle = isDark\r\n ? `rgba(239, 145, 97, ${0.12 + pulse * 0.1})`\r\n : `rgba(239, 146, 98, ${0.3 + pulse * 0.15})`\r\n ctx.fill()\r\n\r\n ctx.beginPath()\r\n ctx.arc(node.x, node.y, size, 0, Math.PI * 2)\r\n ctx.fillStyle = isDark\r\n ? `rgba(239, 145, 97, ${0.55 + pulse * 0.25})`\r\n : `rgba(239, 146, 98, ${0.75 + pulse * 0.2})`\r\n ctx.fill()\r\n })\r\n\r\n animationFrameId = requestAnimationFrame(draw)\r\n }\r\n\r\n draw()\r\n\r\n return () => {\r\n cancelAnimationFrame(animationFrameId)\r\n window.removeEventListener('resize', resize)\r\n }\r\n }, [smoothMouseX, smoothMouseY, isDark])\r\n\r\n const assetsUrl = process.env.NEXT_PUBLIC_MINIO_BUCKET_URL || ''\r\n\r\n return (\r\n <>\r\n <div className=\"absolute top-0 right-0 inset-0 z-10 w-screen\">\r\n <img\r\n src={`${assetsUrl}/cdt-homepage/home-bg.png`}\r\n alt=\"Background\"\r\n className=\"object-cover opacity-10 w-screen\"\r\n style={{ filter: isDark ? 'invert(0)' : 'invert(1)' }}\r\n />\r\n </div>\r\n <div className=\"absolute w-screen inset-0 bg-gradient-to-br from-background/10 via-background/5 to-primary/5\" />\r\n <canvas\r\n ref={canvasRef}\r\n className=\"absolute inset-0 w-full h-full opacity-30\"\r\n style={{ mixBlendMode: isDark ? 'screen' : 'multiply' }}\r\n />\r\n <div className=\"absolute inset-0 bg-gradient-to-t from-background/30 via-background/10 to-transparent\" />\r\n </>\r\n )\r\n}\r\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/core/components/ui/AnimatedBackground.tsx"],"sourcesContent":["'use client'\r\n\r\n// SPDX-License-Identifier: AGPL-3.0-or-later\r\n// Copyright (C) 2025 Collab Digital Twins\r\n\r\nimport { useEffect, useRef, useState } from 'react'\r\nimport { useMotionValue, useSpring } from 'framer-motion'\r\n\r\ninterface Props {\r\n theme?: 'light' | 'dark'\r\n}\r\n\r\nexport default function AnimatedBackground({ theme }: Props = {}) {\r\n const canvasRef = useRef<HTMLCanvasElement>(null)\r\n const mouseX = useMotionValue(0)\r\n const mouseY = useMotionValue(0)\r\n const smoothMouseX = useSpring(mouseX, { stiffness: 50, damping: 20 })\r\n const smoothMouseY = useSpring(mouseY, { stiffness: 50, damping: 20 })\r\n const [isDark, setIsDark] = useState(theme !== undefined ? theme === 'dark' : true)\r\n\r\n useEffect(() => {\r\n // If theme is controlled externally, just sync and skip the observer\r\n if (theme !== undefined) {\r\n setIsDark(theme === 'dark')\r\n return\r\n }\r\n\r\n // Auto-detect from document for standalone usage (hero section)\r\n setIsDark(document.documentElement.classList.contains('dark'))\r\n const observer = new MutationObserver(() => {\r\n setIsDark(document.documentElement.classList.contains('dark'))\r\n })\r\n observer.observe(document.documentElement, {\r\n attributes: true,\r\n attributeFilter: ['class']\r\n })\r\n return () => observer.disconnect()\r\n }, [theme])\r\n\r\n useEffect(() => {\r\n const handleMouseMove = (e: MouseEvent) => {\r\n mouseX.set(e.clientX)\r\n mouseY.set(e.clientY)\r\n }\r\n\r\n window.addEventListener('mousemove', handleMouseMove)\r\n return () => window.removeEventListener('mousemove', handleMouseMove)\r\n }, [mouseX, mouseY])\r\n\r\n useEffect(() => {\r\n const canvas = canvasRef.current\r\n if (!canvas) return\r\n\r\n const ctx = canvas.getContext('2d')\r\n if (!ctx) return\r\n\r\n const resize = () => {\r\n canvas.width = window.innerWidth\r\n canvas.height = window.innerHeight\r\n }\r\n resize()\r\n window.addEventListener('resize', resize)\r\n\r\n let animationFrameId: number\r\n let time = 0\r\n let offsetX = 0\r\n\r\n interface DataNode {\r\n x: number\r\n y: number\r\n baseX: number\r\n baseY: number\r\n connections: number[]\r\n pulse: number\r\n }\r\n\r\n const dataNodes: DataNode[] = []\r\n const gridSize = 100\r\n const nodeSpacing = 150\r\n // Render extra columns for seamless wrap\r\n const nodeCols = Math.ceil(canvas.width / nodeSpacing) + 2\r\n const nodeRows = Math.ceil(canvas.height / nodeSpacing)\r\n\r\n for (let row = 0; row < nodeRows; row++) {\r\n for (let col = 0; col < nodeCols; col++) {\r\n const index = row * nodeCols + col\r\n const baseX = col * nodeSpacing + nodeSpacing / 2\r\n const baseY = row * nodeSpacing + nodeSpacing / 2\r\n dataNodes.push({\r\n x: baseX,\r\n y: baseY,\r\n baseX,\r\n baseY,\r\n connections: [],\r\n pulse: (row + col) * 0.5\r\n })\r\n }\r\n }\r\n\r\n dataNodes.forEach((node, i) => {\r\n const col = i % nodeCols\r\n const row = Math.floor(i / nodeCols)\r\n if (col < nodeCols - 1) {\r\n node.connections.push(i + 1)\r\n }\r\n if (row < nodeRows - 1) {\r\n node.connections.push(i + nodeCols)\r\n }\r\n })\r\n\r\n const draw = () => {\r\n time += 0.008\r\n // Move left slowly\r\n offsetX += 0.1 // Lower for slower movement\r\n // Loop offsetX to avoid overflow and create infinite effect\r\n if (offsetX > nodeSpacing) offsetX -= nodeSpacing\r\n\r\n ctx.clearRect(0, 0, canvas.width, canvas.height)\r\n\r\n // Theme-aware colors\r\n const bgGradient = ctx.createLinearGradient(0, 0, canvas.width, canvas.height)\r\n if (isDark) {\r\n bgGradient.addColorStop(0, 'rgba(239, 145, 97, 0.025)')\r\n bgGradient.addColorStop(1, 'rgba(180, 90, 40, 0.02)')\r\n } else {\r\n bgGradient.addColorStop(0, 'rgba(239, 146, 98, 0.08)')\r\n bgGradient.addColorStop(1, 'rgba(239, 146, 98, 0.06)')\r\n }\r\n ctx.fillStyle = bgGradient\r\n ctx.fillRect(0, 0, canvas.width, canvas.height)\r\n\r\n // Animate node positions with floating effect\r\n dataNodes.forEach((node, i) => {\r\n const floatX = Math.sin(time * 0.3 + node.pulse) * 2\r\n const floatY = Math.cos(time * 0.2 + node.pulse) * 2\r\n // Shift node baseX by offsetX for infinite left movement\r\n let x = node.baseX - offsetX + floatX\r\n // Wrap node.x to the right if it goes off the left edge\r\n x = ((x + nodeCols * nodeSpacing) % (nodeCols * nodeSpacing))\r\n node.x = x\r\n node.y = node.baseY + floatY\r\n })\r\n\r\n // Theme-aware grid lines\r\n ctx.strokeStyle = isDark ? 'rgba(239, 145, 97, 0.08)' : 'rgba(239, 146, 98, 0.3)'\r\n ctx.lineWidth = 0.5\r\n \r\n for (let y = canvas.height; y > canvas.height * 0.3; y -= gridSize) {\r\n ctx.beginPath()\r\n ctx.moveTo(0, y)\r\n ctx.lineTo(canvas.width, y)\r\n ctx.stroke()\r\n }\r\n \r\n const verticalSpacing = gridSize * 1.5\r\n // Render extra vertical grid lines for seamless wrap\r\n const gridCols = Math.ceil(canvas.width / verticalSpacing) + 2\r\n for (let i = 0; i < gridCols; i++) {\r\n // Shift grid lines by offsetX for infinite left movement\r\n let x = i * verticalSpacing - offsetX % verticalSpacing - verticalSpacing\r\n // Wrap x for seamless effect\r\n x = ((x + gridCols * verticalSpacing) % (gridCols * verticalSpacing))\r\n ctx.beginPath()\r\n ctx.moveTo(x, canvas.height)\r\n ctx.lineTo(x + (x - canvas.width / 2) * 0.3, canvas.height * 0.3)\r\n ctx.stroke()\r\n }\r\n\r\n // Theme-aware connections with data flow\r\n ctx.lineWidth = 0.8\r\n dataNodes.forEach((node, i) => {\r\n node.connections.forEach(targetIndex => {\r\n const target = dataNodes[targetIndex]\r\n const pulse = (Math.sin(time + node.pulse) + 1) / 2\r\n \r\n ctx.beginPath()\r\n ctx.moveTo(node.x, node.y)\r\n ctx.lineTo(target.x, target.y)\r\n ctx.strokeStyle = isDark\r\n ? `rgba(239, 145, 97, ${0.1 + pulse * 0.08})`\r\n : `rgba(239, 146, 98, ${0.35 + pulse * 0.2})`\r\n ctx.stroke()\r\n\r\n // Animated data particles flowing along connections\r\n const flowProgress = (time * 0.3 + node.pulse) % 1\r\n const particleX = node.x + (target.x - node.x) * flowProgress\r\n const particleY = node.y + (target.y - node.y) * flowProgress\r\n\r\n ctx.beginPath()\r\n ctx.arc(particleX, particleY, 1.5, 0, Math.PI * 2)\r\n ctx.fillStyle = isDark\r\n ? `rgba(239, 145, 97, ${0.5 + pulse * 0.3})`\r\n : `rgba(239, 146, 98, ${0.7 + pulse * 0.3})`\r\n ctx.fill()\r\n })\r\n })\r\n\r\n // Theme-aware nodes\r\n dataNodes.forEach(node => {\r\n const pulse = (Math.sin(time + node.pulse) + 1) / 2\r\n const size = 2.5 + pulse * 1\r\n \r\n ctx.beginPath()\r\n ctx.arc(node.x, node.y, size * 2, 0, Math.PI * 2)\r\n ctx.fillStyle = isDark\r\n ? `rgba(239, 145, 97, ${0.12 + pulse * 0.1})`\r\n : `rgba(239, 146, 98, ${0.3 + pulse * 0.15})`\r\n ctx.fill()\r\n\r\n ctx.beginPath()\r\n ctx.arc(node.x, node.y, size, 0, Math.PI * 2)\r\n ctx.fillStyle = isDark\r\n ? `rgba(239, 145, 97, ${0.55 + pulse * 0.25})`\r\n : `rgba(239, 146, 98, ${0.75 + pulse * 0.2})`\r\n ctx.fill()\r\n })\r\n\r\n animationFrameId = requestAnimationFrame(draw)\r\n }\r\n\r\n draw()\r\n\r\n return () => {\r\n cancelAnimationFrame(animationFrameId)\r\n window.removeEventListener('resize', resize)\r\n }\r\n }, [smoothMouseX, smoothMouseY, isDark])\r\n\r\n const assetsUrl = process.env.NEXT_PUBLIC_MINIO_BUCKET_URL || ''\r\n\r\n return (\r\n <>\r\n <div className=\"absolute top-0 right-0 inset-0 z-10 w-screen\">\r\n <img\r\n src={`${assetsUrl}/cdt-homepage/home-bg.png`}\r\n alt=\"Background\"\r\n className=\"object-cover opacity-10 w-screen\"\r\n style={{ filter: isDark ? 'invert(0)' : 'invert(1)' }}\r\n />\r\n </div>\r\n <div className=\"absolute w-screen inset-0 bg-gradient-to-br from-background/10 via-background/5 to-primary/5\" />\r\n <canvas\r\n ref={canvasRef}\r\n className=\"absolute inset-0 w-full h-full opacity-30\"\r\n style={{ mixBlendMode: isDark ? 'screen' : 'multiply' }}\r\n />\r\n <div className=\"absolute inset-0 bg-gradient-to-t from-background/30 via-background/10 to-transparent\" />\r\n </>\r\n )\r\n}\r\n"],"mappings":"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","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppSidebar.d.ts","sourceRoot":"","sources":["../../../../src/core/components/ui/AppSidebar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AppSidebar.d.ts","sourceRoot":"","sources":["../../../../src/core/components/ui/AppSidebar.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAY9B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAGzC,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,WAAW,EACnB,iBAAiB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAC1D,iBAAiB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAC1D,iBAAiB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAC1D,SAAS,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,EACjE,eAAe,GAAG,SAYnB,CAAA;AAED,UAAU,eAAe;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAClF;AAED,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,eAAe,qBA4FhE"}
|
|
@@ -47,21 +47,36 @@ function AppSidebar({ children, signOut }) {
|
|
|
47
47
|
}
|
|
48
48
|
) }),
|
|
49
49
|
children,
|
|
50
|
-
/* @__PURE__ */ jsxs(
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
50
|
+
/* @__PURE__ */ jsxs(
|
|
51
|
+
"div",
|
|
52
|
+
{
|
|
53
|
+
className: `w-full flex flex-col ${sidebarState === "expanded" ? "items-center justify-center" : "justify-center"}`,
|
|
54
|
+
children: [
|
|
55
|
+
/* @__PURE__ */ jsx(NavUser, { signOut }),
|
|
56
|
+
/* @__PURE__ */ jsx(
|
|
57
|
+
Link,
|
|
58
|
+
{
|
|
59
|
+
href: "https://collabdt.org/",
|
|
60
|
+
className: sidebarState === "expanded" ? "w-full" : "",
|
|
61
|
+
target: "_blank",
|
|
62
|
+
rel: "noopener noreferrer",
|
|
63
|
+
children: /* @__PURE__ */ jsx(
|
|
64
|
+
Button,
|
|
65
|
+
{
|
|
66
|
+
title: isCollapsed ? t("home") : void 0,
|
|
67
|
+
variant: "ghost",
|
|
68
|
+
className: `text-xs scale-[85%] py-0 my-0 w-full ${sidebarState === "expanded" ? "flex flex-row items-center justify-center gap-2" : "flex flex-col items-center"}`,
|
|
69
|
+
children: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
70
|
+
/* @__PURE__ */ jsx("div", { className: isCollapsed ? "scale-75" : "", children: /* @__PURE__ */ jsx(CdtIcon, { monochromatic: true }) }),
|
|
71
|
+
!isCollapsed && /* @__PURE__ */ jsx("span", { children: t("home") })
|
|
72
|
+
] })
|
|
73
|
+
}
|
|
74
|
+
)
|
|
75
|
+
}
|
|
76
|
+
)
|
|
77
|
+
]
|
|
78
|
+
}
|
|
79
|
+
)
|
|
65
80
|
] })
|
|
66
81
|
] });
|
|
67
82
|
}
|