@ynput/ayon-frontend-shared 0.3.21 → 0.3.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DetailsPanel.cjs.js +1 -1
- package/dist/DetailsPanel.es.js +23 -22
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/_virtual/index.cjs15.js +1 -1
- package/dist/_virtual/index.cjs19.js +1 -1
- package/dist/_virtual/index.cjs6.js +1 -1
- package/dist/_virtual/index.cjs8.js +1 -1
- package/dist/_virtual/index.es15.js +2 -2
- package/dist/_virtual/index.es16.js +2 -2
- package/dist/_virtual/index.es17.js +2 -2
- package/dist/_virtual/index.es18.js +2 -2
- package/dist/_virtual/index.es19.js +2 -2
- package/dist/_virtual/index.es6.js +2 -2
- package/dist/_virtual/index.es8.js +2 -2
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +157 -155
- package/dist/components.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +10 -9
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
- package/dist/node_modules/remove-accents/index.cjs.js +1 -1
- package/dist/node_modules/remove-accents/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js +1 -1
- package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
- package/dist/shared/node_modules/prop-types/index.es.js +1 -1
- package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
- package/dist/shared/node_modules/react-is/index.es.js +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +155 -175
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js +2 -0
- package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js.map +1 -0
- package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js +77 -0
- package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js.map +1 -0
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +3 -2
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +3 -2
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
- package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.cjs.js +1 -1
- package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.cjs.js.map +1 -1
- package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.es.js +26 -24
- package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.es.js.map +1 -1
- package/dist/shared/src/components/EnumEditor/EnumEditor.cjs.js +1 -1
- package/dist/shared/src/components/EnumEditor/EnumEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/EnumEditor/EnumEditor.es.js +63 -60
- package/dist/shared/src/components/EnumEditor/EnumEditor.es.js.map +1 -1
- package/dist/shared/src/components/EnumEditor/EnumEditorItem.cjs.js +1 -1
- package/dist/shared/src/components/EnumEditor/EnumEditorItem.cjs.js.map +1 -1
- package/dist/shared/src/components/EnumEditor/EnumEditorItem.es.js +110 -89
- package/dist/shared/src/components/EnumEditor/EnumEditorItem.es.js.map +1 -1
- package/dist/shared/src/components/EnumEditor/hooks/useDraggable.cjs.js +1 -1
- package/dist/shared/src/components/EnumEditor/hooks/useDraggable.cjs.js.map +1 -1
- package/dist/shared/src/components/EnumEditor/hooks/useDraggable.es.js +36 -28
- package/dist/shared/src/components/EnumEditor/hooks/useDraggable.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +3 -2
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +3 -2
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +5 -4
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +3 -2
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +3 -2
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +3 -2
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.es.js +3 -2
- package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +3 -2
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +4 -3
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +3 -2
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +2 -0
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -0
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js +307 -0
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -0
- package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.es.js +64 -322
- package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.styled.cjs.js +22 -5
- package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.styled.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.styled.es.js +27 -9
- package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.styled.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +5 -4
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +3 -2
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +3 -2
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +5 -4
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +3 -2
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +3 -2
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +3 -2
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +3 -2
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +3 -2
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +3 -2
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +17 -16
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +3 -2
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +3 -2
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +3 -2
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +3 -2
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +3 -2
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +3 -2
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +3 -2
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +3 -2
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +3 -2
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +3 -2
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +7 -6
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +3 -2
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +6 -5
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +9 -8
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +14 -13
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +3 -2
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +3 -2
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +3 -2
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +3 -2
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +4 -4
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +3 -2
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.es.js +5 -4
- package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
- package/dist/shared/src/util/getAttributeIcon.cjs.js +1 -1
- package/dist/shared/src/util/getAttributeIcon.cjs.js.map +1 -1
- package/dist/shared/src/util/getAttributeIcon.es.js +5 -5
- package/dist/shared/src/util/getAttributeIcon.es.js.map +1 -1
- package/dist/types/components/AttributeEditor/attributeTypeMap.d.ts +13 -0
- package/dist/types/components/AttributeEditor/index.d.ts +1 -0
- package/dist/types/components/EnumEditor/DraggableEnumEditorItem.d.ts +2 -1
- package/dist/types/components/EnumEditor/EnumEditor.d.ts +2 -1
- package/dist/types/components/EnumEditor/EnumEditorItem.d.ts +2 -1
- package/dist/types/components/EnumEditor/hooks/useDraggable.d.ts +3 -1
- package/dist/types/components/ReviewablesSelector/Card.d.ts +18 -0
- package/dist/types/components/ReviewablesSelector/ReviewablesSelector.d.ts +1 -2
- package/dist/types/components/ReviewablesSelector/ReviewablesSelector.styled.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const M=require("../../../../../_virtual/index.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const M=require("../../../../../_virtual/index.cjs7.js"),I=require("./error-codes.cjs.js"),T=require("./getShortErrorMsg.cjs.js"),U=require("./desc.cjs.js");var E;function u(){return E||(E=1,(function(r){Object.defineProperty(r,Symbol.toStringTag,{value:"Module"});const e=I.__require(),i=T.__require(),_=U.__require();r.BUILD_001=e.BUILD_001,r.BUILD_002=e.BUILD_002,r.RUNTIME_001=e.RUNTIME_001,r.RUNTIME_002=e.RUNTIME_002,r.RUNTIME_003=e.RUNTIME_003,r.RUNTIME_004=e.RUNTIME_004,r.RUNTIME_005=e.RUNTIME_005,r.RUNTIME_006=e.RUNTIME_006,r.RUNTIME_007=e.RUNTIME_007,r.RUNTIME_008=e.RUNTIME_008,r.RUNTIME_009=e.RUNTIME_009,r.RUNTIME_010=e.RUNTIME_010,r.RUNTIME_011=e.RUNTIME_011,r.RUNTIME_012=e.RUNTIME_012,r.TYPE_001=e.TYPE_001,r.buildDescMap=_.buildDescMap,r.errorDescMap=_.errorDescMap,r.getShortErrorMsg=i.getShortErrorMsg,r.runtimeDescMap=_.runtimeDescMap,r.typeDescMap=_.typeDescMap})(M.__exports)),M.__exports}exports.__require=u;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __exports as M } from "../../../../../_virtual/index.
|
|
1
|
+
import { __exports as M } from "../../../../../_virtual/index.es7.js";
|
|
2
2
|
import { __require as I } from "./error-codes.es.js";
|
|
3
3
|
import { __require as U } from "./getShortErrorMsg.es.js";
|
|
4
4
|
import { __require as T } from "./desc.es.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../../../_virtual/index.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../../../_virtual/index.cjs6.js"),f=require("./utils/logger.cjs.js"),h=require("./utils/tool.cjs.js"),m=require("./global.cjs.js"),G=require("./utils/semver/index.cjs.js"),S=require("./utils/share.cjs.js"),y=require("./utils/manifest.cjs.js"),R=require("./utils/load.cjs.js"),F=require("./utils/index.cjs.js"),I=require("./helpers.cjs.js"),P=require("./module/index.cjs.js"),p=require("./core.cjs.js"),C=require("./type/index.cjs.js"),E=require("../../sdk/dist/index.cjs.js");var a;function M(){return a||(a=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const o=f.__require(),i=h.__require(),r=m.__require(),l=G.__require(),s=S.__require(),c=y.__require(),n=R.__require();F.__require();const d=I.__require(),_=P.__require(),q=p.__require(),g=C.__require();let u=E.__require();const b=d.default;e.CurrentGlobal=r.CurrentGlobal,e.Global=r.Global,e.Module=_.Module,e.ModuleFederation=q.ModuleFederation,e.addGlobalSnapshot=r.addGlobalSnapshot,e.assert=o.assert,e.error=o.error,e.getGlobalFederationConstructor=r.getGlobalFederationConstructor,e.getGlobalSnapshot=r.getGlobalSnapshot,e.getInfoWithoutType=r.getInfoWithoutType,e.getRegisteredShare=s.getRegisteredShare,e.getRemoteEntry=n.getRemoteEntry,e.getRemoteInfo=n.getRemoteInfo,e.helpers=b,e.isStaticResourcesEqual=i.isStaticResourcesEqual,Object.defineProperty(e,"loadScript",{enumerable:!0,get:function(){return u.loadScript}}),Object.defineProperty(e,"loadScriptNode",{enumerable:!0,get:function(){return u.loadScriptNode}}),e.matchRemoteWithNameAndExpose=c.matchRemoteWithNameAndExpose,e.registerGlobalPlugins=r.registerGlobalPlugins,e.resetFederationGlobalInfo=r.resetFederationGlobalInfo,e.safeWrapper=i.safeWrapper,e.satisfy=l.satisfy,e.setGlobalFederationConstructor=r.setGlobalFederationConstructor,e.setGlobalFederationInstance=r.setGlobalFederationInstance,Object.defineProperty(e,"types",{enumerable:!0,get:function(){return g.type_exports}})})(t.__exports)),t.__exports}exports.__require=M;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __exports as t } from "../../../../../_virtual/index.
|
|
1
|
+
import { __exports as t } from "../../../../../_virtual/index.es6.js";
|
|
2
2
|
import { __require as b } from "./utils/logger.es.js";
|
|
3
3
|
import { __require as g } from "./utils/tool.es.js";
|
|
4
4
|
import { __require as p } from "./global.es.js";
|
package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../../../../../../../_virtual/index.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../../../../../../../_virtual/index.cjs17.js"),R=require("../../utils/logger.cjs.js"),x=require("../../utils/tool.cjs.js"),b=require("../../utils/index.cjs.js"),v=require("../../utils/preload.cjs.js"),E=require("../../../../sdk/dist/index.cjs.js"),N=require("../../../../error-codes/dist/index.cjs.js");var d;function P(){if(d)return n.__exports;d=1;const f=R.__require(),i=x.__require();b.__require();const m=v.__require();let u=E.__require(),_=N.__require();function c(e,r){const o=i.getRemoteEntryInfoFromSnapshot(r);o.url||f.error(_.RUNTIME_011,_.runtimeDescMap,{remoteName:e.name});let t=(0,u.getResourceUrl)(r,o.url);!u.isBrowserEnvValue&&!t.startsWith("http")&&(t=`https:${t}`),e.type=o.type,e.entryGlobalName=o.globalName,e.entry=t,e.version=r.version,e.buildVersion=r.buildVersion}function q(){return{name:"snapshot-plugin",async afterResolve(e){const{remote:r,pkgNameOrAlias:o,expose:t,origin:s,remoteInfo:a,id:g}=e;if(!i.isRemoteInfoWithEntry(r)||!i.isPureRemoteEntry(r)){const{remoteSnapshot:l,globalSnapshot:y}=await s.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:r,id:g});c(a,l);const h={remote:r,preloadConfig:{nameOrAlias:o,exposes:[t],resourceCategory:"sync",share:!1,depsRemote:!1}},p=await s.remoteHandler.hooks.lifecycle.generatePreloadAssets.emit({origin:s,preloadOptions:h,remoteInfo:a,remote:r,remoteSnapshot:l,globalSnapshot:y});return p&&m.preloadAssets(a,s,p,!1),{...e,remoteSnapshot:l}}return e}}}return n.__exports.assignRemoteInfo=c,n.__exports.snapshotPlugin=q,n.__exports}exports.__require=P;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __exports as i } from "../../../../../../../_virtual/index.
|
|
1
|
+
import { __exports as i } from "../../../../../../../_virtual/index.es17.js";
|
|
2
2
|
import { __require as R } from "../../utils/logger.es.js";
|
|
3
3
|
import { __require as E } from "../../utils/tool.es.js";
|
|
4
4
|
import { __require as b } from "../../utils/index.es.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const x=require("../../../../../../_virtual/index.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const x=require("../../../../../../_virtual/index.cjs19.js"),U=require("../utils/logger.cjs.js"),K=require("../global.cjs.js"),V=require("../constant.cjs.js"),B=require("../utils/share.cjs.js"),z=require("../utils/manifest.cjs.js"),Y=require("../utils/load.cjs.js"),J=require("../utils/context.cjs.js"),Q=require("../utils/index.cjs.js"),X=require("../utils/preload.cjs.js"),Z=require("../module/index.cjs.js"),ee=require("../utils/hooks/syncHook.cjs.js"),oe=require("../utils/hooks/asyncHook.cjs.js"),te=require("../utils/hooks/syncWaterfallHook.cjs.js"),re=require("../utils/hooks/asyncWaterfallHooks.cjs.js"),se=require("../utils/hooks/pluginSystem.cjs.js"),ne=require("../utils/hooks/index.cjs.js"),ie=require("../plugins/snapshot/SnapshotHandler.cjs.js"),ae=require("../../../sdk/dist/index.cjs.js"),le=require("../../../error-codes/dist/index.cjs.js");var N;function ce(){if(N)return x.__exports;N=1;const I=U.__require(),c=K.__require(),T=V.__require(),P=B.__require(),W=z.__require(),b=Y.__require(),C=J.__require();Q.__require();const M=X.__require(),v=Z.__require(),G=ee.__require(),p=oe.__require(),H=te.__require(),L=re.__require(),F=se.__require();ne.__require();const D=ie.__require();let k=ae.__require(),O=le.__require();var $=class{constructor(e){this.hooks=new F.PluginSystem({beforeRegisterRemote:new H.SyncWaterfallHook("beforeRegisterRemote"),registerRemote:new H.SyncWaterfallHook("registerRemote"),beforeRequest:new L.AsyncWaterfallHook("beforeRequest"),onLoad:new p.AsyncHook("onLoad"),handlePreloadModule:new G.SyncHook("handlePreloadModule"),errorLoadRemote:new p.AsyncHook("errorLoadRemote"),beforePreloadRemote:new p.AsyncHook("beforePreloadRemote"),generatePreloadAssets:new p.AsyncHook("generatePreloadAssets"),afterPreloadRemote:new p.AsyncHook,loadEntry:new p.AsyncHook}),this.host=e,this.idToRemoteMap={}}formatAndRegisterRemote(e,o){return(o.remotes||[]).reduce((i,r)=>(this.registerRemote(r,i,{force:!1}),i),e.remotes)}setIdToRemoteMap(e,o){const{remote:i,expose:r}=o,{name:s,alias:t}=i;if(this.idToRemoteMap[e]={name:i.name,expose:r},t&&e.startsWith(s)){const n=e.replace(s,t);this.idToRemoteMap[n]={name:i.name,expose:r};return}if(t&&e.startsWith(t)){const n=e.replace(t,s);this.idToRemoteMap[n]={name:i.name,expose:r}}}async loadRemote(e,o){const{host:i}=this;try{const{loadFactory:r=!0}=o||{loadFactory:!0},{module:s,moduleOptions:t,remoteMatchInfo:n}=await this.getRemoteModuleAndOptions({id:e}),{pkgNameOrAlias:d,remote:l,expose:f,id:u,remoteSnapshot:a}=n,m=await s.get(u,f,o,a),_=await this.hooks.lifecycle.onLoad.emit({id:u,pkgNameOrAlias:d,expose:f,exposeModule:r?m:void 0,exposeModuleFactory:r?void 0:m,remote:l,options:t,moduleInstance:s,origin:i});return this.setIdToRemoteMap(e,n),typeof _=="function"?_:m}catch(r){const{from:s="runtime"}=o||{from:"runtime"},t=await this.hooks.lifecycle.errorLoadRemote.emit({id:e,error:r,from:s,lifecycle:"onLoad",origin:i});if(!t)throw r;return t}}async preloadRemote(e){const{host:o}=this;await this.hooks.lifecycle.beforePreloadRemote.emit({preloadOps:e,options:o.options,origin:o});const i=M.formatPreloadArgs(o.options.remotes,e);await Promise.all(i.map(async r=>{const{remote:s}=r,t=b.getRemoteInfo(s),{globalSnapshot:n,remoteSnapshot:d}=await o.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:s}),l=await this.hooks.lifecycle.generatePreloadAssets.emit({origin:o,preloadOptions:r,remote:s,remoteInfo:t,globalSnapshot:n,remoteSnapshot:d});l&&M.preloadAssets(t,o,l)}))}registerRemotes(e,o){const{host:i}=this;e.forEach(r=>{this.registerRemote(r,i.options.remotes,{force:o?.force})})}async getRemoteModuleAndOptions(e){const{host:o}=this,{id:i}=e;let r;try{r=await this.hooks.lifecycle.beforeRequest.emit({id:i,options:o.options,origin:o})}catch(_){if(r=await this.hooks.lifecycle.errorLoadRemote.emit({id:i,options:o.options,origin:o,from:"runtime",error:_,lifecycle:"beforeRequest"}),!r)throw _}const{id:s}=r,t=W.matchRemoteWithNameAndExpose(o.options.remotes,s);t||I.error(O.RUNTIME_004,O.runtimeDescMap,{hostName:o.options.name,requestId:s},void 0,C.optionsToMFContext(o.options));const{remote:n}=t,d=b.getRemoteInfo(n),l=await o.sharedHandler.hooks.lifecycle.afterResolve.emit({id:s,...t,options:o.options,origin:o,remoteInfo:d}),{remote:f,expose:u}=l;I.assert(f&&u,`The 'beforeRequest' hook was executed, but it failed to return the correct 'remote' and 'expose' values while loading ${s}.`);let a=o.moduleCache.get(f.name);const m={host:o,remoteInfo:d};return a||(a=new v.Module(m),o.moduleCache.set(f.name,a)),{module:a,moduleOptions:m,remoteMatchInfo:l}}registerRemote(e,o,i){const{host:r}=this,s=()=>{if(e.alias){const n=o.find(d=>e.alias&&(d.name.startsWith(e.alias)||d.alias?.startsWith(e.alias)));I.assert(!n,`The alias ${e.alias} of remote ${e.name} is not allowed to be the prefix of ${n&&n.name} name or alias`)}"entry"in e&&k.isBrowserEnvValue&&typeof window<"u"&&!e.entry.startsWith("http")&&(e.entry=new URL(e.entry,window.location.origin).href),e.shareScope||(e.shareScope=T.DEFAULT_SCOPE),e.type||(e.type=T.DEFAULT_REMOTE_TYPE)};this.hooks.lifecycle.beforeRegisterRemote.emit({remote:e,origin:r});const t=o.find(n=>n.name===e.name);if(!t)s(),o.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:r});else{const n=[`The remote "${e.name}" is already registered.`,"Please note that overriding it may cause unexpected errors."];i?.force&&(this.removeRemote(t),s(),o.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:r}),(0,k.warn)(n.join(" ")))}}removeRemote(e){try{const{host:o}=this,{name:i}=e,r=o.options.remotes.findIndex(t=>t.name===i);r!==-1&&o.options.remotes.splice(r,1);const s=o.moduleCache.get(e.name);if(s){const t=s.remoteInfo,n=t.entryGlobalName;c.CurrentGlobal[n]&&(Object.getOwnPropertyDescriptor(c.CurrentGlobal,n)?.configurable?delete c.CurrentGlobal[n]:c.CurrentGlobal[n]=void 0);const d=b.getRemoteEntryUniqueKey(s.remoteInfo);c.globalLoading[d]&&delete c.globalLoading[d],o.snapshotHandler.manifestCache.delete(t.entry);let l=t.buildVersion?(0,k.composeKeyWithSeparator)(t.name,t.buildVersion):t.name;const f=c.CurrentGlobal.__FEDERATION__.__INSTANCES__.findIndex(a=>t.buildVersion?a.options.id===l:a.name===l);if(f!==-1){const a=c.CurrentGlobal.__FEDERATION__.__INSTANCES__[f];l=a.options.id||l;const m=P.getGlobalShareScope();let _=!0;const w=[];Object.keys(m).forEach(y=>{const g=m[y];g&&Object.keys(g).forEach(q=>{const R=g[q];R&&Object.keys(R).forEach(E=>{const S=R[E];S&&Object.keys(S).forEach(A=>{const h=S[A];h&&typeof h=="object"&&h.from===t.name&&(h.loaded||h.loading?(h.useIn=h.useIn.filter(j=>j!==t.name),h.useIn.length?_=!1:w.push([y,q,E,A])):w.push([y,q,E,A]))})})})}),_&&(a.shareScopeMap={},delete m[l]),w.forEach(([y,g,q,R])=>{delete m[y]?.[g]?.[q]?.[R]}),c.CurrentGlobal.__FEDERATION__.__INSTANCES__.splice(f,1)}const{hostGlobalSnapshot:u}=D.getGlobalRemoteInfo(e,o);if(u){const a=u&&"remotesInfo"in u&&u.remotesInfo&&c.getInfoWithoutType(u.remotesInfo,e.name).key;a&&(delete u.remotesInfo[a],c.Global.__FEDERATION__.__MANIFEST_LOADING__[a]&&delete c.Global.__FEDERATION__.__MANIFEST_LOADING__[a])}o.moduleCache.delete(e.name)}}catch(o){I.logger.error(`removeRemote failed: ${o instanceof Error?o.message:String(o)}`)}}};return x.__exports.RemoteHandler=$,x.__exports}exports.__require=ce;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __exports as M } from "../../../../../../_virtual/index.
|
|
1
|
+
import { __exports as M } from "../../../../../../_virtual/index.es19.js";
|
|
2
2
|
import { __require as j } from "../utils/logger.es.js";
|
|
3
3
|
import { __require as K } from "../global.es.js";
|
|
4
4
|
import { __require as V } from "../constant.es.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("../../../../../../_virtual/index.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("../../../../../../_virtual/index.cjs18.js"),P=require("../utils/logger.cjs.js"),U=require("../constant.cjs.js"),x=require("../utils/share.cjs.js"),C=require("../utils/context.cjs.js"),L=require("../utils/index.cjs.js"),W=require("../utils/hooks/asyncHook.cjs.js"),A=require("../utils/hooks/syncWaterfallHook.cjs.js"),$=require("../utils/hooks/asyncWaterfallHooks.cjs.js"),O=require("../utils/hooks/pluginSystem.cjs.js"),z=require("../utils/hooks/index.cjs.js"),G=require("../../../error-codes/dist/index.cjs.js");var w;function j(){if(w)return v.__exports;w=1;const q=P.__require(),T=U.__require(),l=x.__require(),k=C.__require();L.__require();const I=W.__require(),M=A.__require(),E=$.__require(),H=O.__require();z.__require();let m=G.__require();var R=class{constructor(o){this.hooks=new H.PluginSystem({beforeRegisterShare:new M.SyncWaterfallHook("beforeRegisterShare"),afterResolve:new E.AsyncWaterfallHook("afterResolve"),beforeLoadShare:new E.AsyncWaterfallHook("beforeLoadShare"),loadShare:new I.AsyncHook,resolveShare:new M.SyncWaterfallHook("resolveShare"),initContainerShareScopeMap:new M.SyncWaterfallHook("initContainerShareScopeMap")}),this.host=o,this.shareScopeMap={},this.initTokens={},this._setGlobalShareScopeMap(o.options)}registerShared(o,h){const{newShareInfos:e,allShareInfos:r}=l.formatShareConfigs(o,h);return Object.keys(e).forEach(i=>{e[i].forEach(c=>{c.scope.forEach(d=>{this.hooks.lifecycle.beforeRegisterShare.emit({origin:this.host,pkgName:i,shared:c}),this.shareScopeMap[d]?.[i]||this.setShared({pkgName:i,lib:c.lib,get:c.get,loaded:c.loaded||!!c.lib,shared:c,from:h.name})})})}),{newShareInfos:e,allShareInfos:r}}async loadShare(o,h){const{host:e}=this,r=l.getTargetSharedOptions({pkgName:o,extraOptions:h,shareInfos:e.options.shared});r?.scope&&await Promise.all(r.scope.map(async s=>{await Promise.all(this.initializeSharing(s,{strategy:r.strategy}))}));const{shareInfo:i}=await this.hooks.lifecycle.beforeLoadShare.emit({pkgName:o,shareInfo:r,shared:e.options.shared,origin:e});q.assert(i,`Cannot find shared "${o}" in host "${e.options.name}". Ensure the shared config for "${o}" is declared in the federation plugin options and the host has been initialized before loading shares.`);const{shared:c,useTreesShaking:d}=l.getRegisteredShare(this.shareScopeMap,o,i,this.hooks.lifecycle.resolveShare)||{};if(c){const s=l.directShare(c,d);if(s.lib)return l.addUseIn(s,e.options.name),s.lib;if(s.loading&&!s.loaded){const f=await s.loading;return s.loaded=!0,s.lib||(s.lib=f),l.addUseIn(s,e.options.name),f}else{const S=(async()=>{const p=await s.get();return l.addUseIn(s,e.options.name),s.loaded=!0,s.lib=p,p})();return this.setShared({pkgName:o,loaded:!1,shared:c,from:e.options.name,lib:null,loading:S,treeShaking:d?s:void 0}),S}}else{if(h?.customShareInfo)return!1;const s=l.shouldUseTreeShaking(i.treeShaking),f=l.directShare(i,s),p=(async()=>{const y=await f.get();f.lib=y,f.loaded=!0,l.addUseIn(f,e.options.name);const{shared:n,useTreesShaking:t}=l.getRegisteredShare(this.shareScopeMap,o,i,this.hooks.lifecycle.resolveShare)||{};if(n){const a=l.directShare(n,t);a.lib=y,a.loaded=!0,n.from=i.from}return y})();return this.setShared({pkgName:o,loaded:!1,shared:i,from:e.options.name,lib:null,loading:p,treeShaking:s?f:void 0}),p}}initializeSharing(o=T.DEFAULT_SCOPE,h){const{host:e}=this,r=h?.from,i=h?.strategy;let c=h?.initScope;const d=[];if(r!=="build"){const{initTokens:n}=this;c||(c=[]);let t=n[o];if(t||(t=n[o]={from:this.host.name}),c.indexOf(t)>=0)return d;c.push(t)}const s=this.shareScopeMap,f=e.options.name;s[o]||(s[o]={});const S=s[o],p=(n,t)=>{const{version:a,eager:g}=t;S[n]=S[n]||{};const _=S[n],u=_[a]&&l.directShare(_[a]),b=!!(u&&("eager"in u&&u.eager||"shareConfig"in u&&u.shareConfig?.eager));(!u||u.strategy!=="loaded-first"&&!u.loaded&&(!g!=!b?g:f>_[a].from))&&(_[a]=t)},y=async n=>{const{module:t}=await e.remoteHandler.getRemoteModuleAndOptions({id:n});let a;try{a=await t.getEntry()}catch(g){if(a=await e.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:n,error:g,from:"runtime",lifecycle:"beforeLoadShare",origin:e}),!a)return}finally{a?.init&&!t.initing&&(t.remoteEntryExports=a,await t.init(void 0,void 0,c))}};return Object.keys(e.options.shared).forEach(n=>{e.options.shared[n].forEach(t=>{t.scope.includes(o)&&p(n,t)})}),(e.options.shareStrategy==="version-first"||i==="version-first")&&e.options.remotes.forEach(n=>{n.shareScope===o&&d.push(y(n.name))}),d}loadShareSync(o,h){const{host:e}=this,r=l.getTargetSharedOptions({pkgName:o,extraOptions:h,shareInfos:e.options.shared});r?.scope&&r.scope.forEach(d=>{this.initializeSharing(d,{strategy:r.strategy})});const{shared:i,useTreesShaking:c}=l.getRegisteredShare(this.shareScopeMap,o,r,this.hooks.lifecycle.resolveShare)||{};if(i){if(typeof i.lib=="function")return l.addUseIn(i,e.options.name),i.loaded||(i.loaded=!0,i.from===e.options.name&&(r.loaded=!0)),i.lib;if(typeof i.get=="function"){const d=i.get();if(!(d instanceof Promise))return l.addUseIn(i,e.options.name),this.setShared({pkgName:o,loaded:!0,from:e.options.name,lib:d,shared:i}),d}}if(r.lib)return r.loaded||(r.loaded=!0),r.lib;if(r.get){const d=r.get();return d instanceof Promise&&q.error(h?.from==="build"?m.RUNTIME_005:m.RUNTIME_006,m.runtimeDescMap,{hostName:e.options.name,sharedPkgName:o},void 0,k.optionsToMFContext(e.options)),r.lib=d,this.setShared({pkgName:o,loaded:!0,from:e.options.name,lib:r.lib,shared:r}),r.lib}q.error(m.RUNTIME_006,m.runtimeDescMap,{hostName:e.options.name,sharedPkgName:o},void 0,k.optionsToMFContext(e.options))}initShareScopeMap(o,h,e={}){const{host:r}=this;this.shareScopeMap[o]=h,this.hooks.lifecycle.initContainerShareScopeMap.emit({shareScope:h,options:r.options,origin:r,scopeName:o,hostShareScopeMap:e.hostShareScopeMap})}setShared({pkgName:o,shared:h,from:e,lib:r,loading:i,loaded:c,get:d,treeShaking:s}){const{version:f,scope:S="default",...p}=h,y=Array.isArray(S)?S:[S],n=t=>{const a=(_,u,b)=>{b&&!_[u]&&(_[u]=b)},g=s?t.treeShaking:t;a(g,"loaded",c),a(g,"loading",i),a(g,"get",d)};y.forEach(t=>{this.shareScopeMap[t]||(this.shareScopeMap[t]={}),this.shareScopeMap[t][o]||(this.shareScopeMap[t][o]={}),this.shareScopeMap[t][o][f]||(this.shareScopeMap[t][o][f]={version:f,scope:[t],...p,lib:r});const a=this.shareScopeMap[t][o][f];n(a),e&&a.from!==e&&(a.from=e)})}_setGlobalShareScopeMap(o){const h=l.getGlobalShareScope(),e=o.id||o.name;e&&!h[e]&&(h[e]=this.shareScopeMap)}};return v.__exports.SharedHandler=R,v.__exports}exports.__require=j;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __exports as k } from "../../../../../../_virtual/index.
|
|
1
|
+
import { __exports as k } from "../../../../../../_virtual/index.es18.js";
|
|
2
2
|
import { __require as P } from "../utils/logger.es.js";
|
|
3
3
|
import { __require as U } from "../constant.es.js";
|
|
4
4
|
import { __require as C } from "../utils/share.es.js";
|
package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../../../../_virtual/index.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../../../../_virtual/index.cjs16.js"),o=require("./syncHook.cjs.js"),i=require("./asyncHook.cjs.js"),u=require("./syncWaterfallHook.cjs.js"),t=require("./asyncWaterfallHooks.cjs.js"),s=require("./pluginSystem.cjs.js");var r;function n(){return r||(r=1,o.__require(),i.__require(),u.__require(),t.__require(),s.__require()),e.__exports}exports.__require=n;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __exports as r } from "../../../../../../../_virtual/index.
|
|
1
|
+
import { __exports as r } from "../../../../../../../_virtual/index.es16.js";
|
|
2
2
|
import { __require as o } from "./syncHook.es.js";
|
|
3
3
|
import { __require as i } from "./asyncHook.es.js";
|
|
4
4
|
import { __require as u } from "./syncWaterfallHook.es.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../_virtual/index.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../_virtual/index.cjs15.js"),t=require("../react-is/index.cjs.js"),u=require("./factoryWithTypeCheckers.cjs.js"),s=require("./factoryWithThrowingShims.cjs.js");var r;function _(){if(r)return e.__module.exports;if(r=1,process.env.NODE_ENV!=="production"){var o=t.__require(),i=!0;e.__module.exports=u.__require()(o.isElement,i)}else e.__module.exports=s.__require()();return e.__module.exports}exports.__require=_;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __module as r } from "../../../_virtual/index.
|
|
1
|
+
import { __module as r } from "../../../_virtual/index.es15.js";
|
|
2
2
|
import { __require as s } from "../react-is/index.es.js";
|
|
3
3
|
import { __require as t } from "./factoryWithTypeCheckers.es.js";
|
|
4
4
|
import { __require as p } from "./factoryWithThrowingShims.es.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../_virtual/index.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../_virtual/index.cjs21.js"),t=require("./cjs/react-is.production.min.cjs.js"),o=require("./cjs/react-is.development.cjs.js");var r;function u(){return r||(r=1,process.env.NODE_ENV==="production"?e.__module.exports=t.__require():e.__module.exports=o.__require()),e.__module.exports}exports.__require=u;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __module as e } from "../../../_virtual/index.
|
|
1
|
+
import { __module as e } from "../../../_virtual/index.es21.js";
|
|
2
2
|
import { __require as o } from "./cjs/react-is.production.min.es.js";
|
|
3
3
|
import { __require as t } from "./cjs/react-is.development.es.js";
|
|
4
4
|
var r;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../../../../_virtual/jsx-runtime.cjs.js"),T=require("react"),i=require("@ynput/ayon-react-components"),C=require("lodash"),K=require("./components/MinMaxField.cjs.js"),V=require("../EnumEditor/EnumEditor.cjs.js");require("../EnumEditor/EnumEditor.styled.cjs.js");require("clsx");const m=require("./attributeTypeMap.cjs.js"),Y=[{value:"project",label:"Project"},{value:"folder",label:"Folder"},{value:"task",label:"Task"},{value:"product",label:"Product"},{value:"version",label:"Version"},{value:"representation",label:"Representation"},{value:"user",label:"User"},{value:"list",label:"List"}],z=[{value:"description",scope:null},{value:"example",scope:null},{value:"default",scope:["project"]},{value:"inherit",scope:["project","folder","task","product","version","representation","user"]}],J={name:"",scope:["folder","task"],builtin:!1,position:0,data:{type:"string",title:"",description:"",example:"",default:void 0,enum:void 0,minLength:void 0,maxLength:void 0,regex:"",minItems:void 0,maxItems:void 0,ge:void 0,gt:void 0,le:void 0,lt:void 0}},G=(u,c)=>{const r=JSON.parse(JSON.stringify(J)),j=["name"];Object.keys(r).forEach(o=>{!j.includes(o)&&u.includes(o)&&o!=="data"&&delete r[o]});const g=["title"];return r.data&&Object.keys(r.data).forEach(o=>{!g.includes(o)&&u.includes(o)&&delete r.data[o]}),c&&Object.keys(c).forEach(o=>{const x=o;x==="data"&&c.data&&r.data?r.data={...r.data,...c.data}:c[x]!==void 0&&(r[x]=c[x])}),r},X=({attribute:u,defaultData:c,existingNames:r,error:j="",isUpdating:g,excludes:o=[],onHide:x,onEdit:L,onDelete:w})=>{const _=c?{...c,name:c.name||(c.data?.title?C.camelCase(c.data.title):void 0)}:void 0,f=u||G(o,{position:r.length,..._}),[n,y]=T.useState(f),[v,D]=T.useState(()=>m.backendToUiType(f?.data?.type,f?.data?.enum)),[k,F]=T.useState(()=>f?.data?.type==="float");T.useEffect(()=>{u&&(y(u),D(m.backendToUiType(u.data?.type,u.data?.enum)),F(u.data?.type==="float"))},[u]);const h=!u,S=(e,t)=>{y(s=>s&&{...s,[e]:t})},d=(e,t)=>{y(s=>{if(!s||!s.data)return s;const l={...s.data,[e]:t};return{...s,data:l}})};let E="";n&&h&&(r.includes(n.name)?E="This attribute already exists":n.name.match("^[a-zA-Z_]{2,64}$")||(j="Invalid attribute name"));const N=()=>{n&&L(n)},q=a.jsxRuntimeExports.jsxs("div",{style:{display:"flex",width:"100%",flexDirection:"row"},children:[w&&u&&a.jsxRuntimeExports.jsx(i.Button,{variant:"danger",label:"Delete attribute",icon:"delete",disabled:g,onClick:w}),a.jsxRuntimeExports.jsx(i.Spacer,{}),a.jsxRuntimeExports.jsx(i.SaveButton,{label:h?"Create Attribute":"Save Attribute",icon:"check",disabled:!!E||!n,active:!E&&!!n,saving:g,onClick:N})]});let R=[];z.forEach(e=>{(!e?.scope||e?.scope?.some(t=>n?.scope?.includes(t)))&&R.push(e.value)});const P=m.UI_TYPE_FIELDS[v]??[],U=m.UI_TYPE_EXCLUDE[v]??[];R=[...R,...P].filter(e=>!U.includes(e));const O={enum:(e=[],t)=>a.jsxRuntimeExports.jsx(V.EnumEditor,{values:e,onChange:s=>{t(s?.length?s:void 0)}}),inherit:(e,t)=>a.jsxRuntimeExports.jsx(i.InputSwitch,{checked:e,onChange:s=>t(s.target.checked)}),booleanDefault:(e,t)=>a.jsxRuntimeExports.jsx(i.InputSwitch,{checked:e,onChange:s=>t(s.target.checked)})},M=e=>{const t=e.target.value;d("title",t),h&&S("name",C.camelCase(t))},A=e=>{const t=e[0];D(t),d("type",m.uiTypeToBackend(t,k)),t!=="select"&&t!=="multi_select"&&d("enum",void 0),t!=="text"&&n?.data?.regex&&d("regex","")};return a.jsxRuntimeExports.jsx(i.Dialog,{header:n?.data?.title||n?.name||"New attribute",footer:q,onClose:x,isOpen:!0,style:{width:700,zIndex:999},size:"full",enableBackdropClose:!1,onKeyDown:e=>{e.key==="Enter"&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),N())},children:n&&a.jsxRuntimeExports.jsxs(i.FormLayout,{children:[!o.includes("title")&&a.jsxRuntimeExports.jsx(i.FormRow,{label:"Title",children:a.jsxRuntimeExports.jsx(i.InputText,{value:n?.data.title,onChange:M,autoFocus:!0})},"title"),!o.includes("name")&&a.jsxRuntimeExports.jsx(i.FormRow,{label:"Name",children:a.jsxRuntimeExports.jsx(i.LockedInput,{value:n.name,disabled:!h,onSubmit:e=>S("name",e),label:"name"})},"name"),!o.includes("scope")&&a.jsxRuntimeExports.jsx(i.FormRow,{label:"Scope",children:a.jsxRuntimeExports.jsx(i.Dropdown,{options:Y,disabled:n.builtin,value:n.scope||[],onChange:e=>S("scope",e),multiSelect:!0,widthExpand:!0})}),!o.includes("type")&&a.jsxRuntimeExports.jsx(i.FormRow,{label:"Type",children:a.jsxRuntimeExports.jsx(i.Dropdown,{value:[v],disabled:n.builtin||!h,valueIcon:m.UI_TYPE_OPTIONS.find(e=>e.value===v)?.icon,options:m.UI_TYPE_OPTIONS,onChange:A,minSelected:1,widthExpand:!0})}),!o.includes("type")&&v==="number"&&a.jsxRuntimeExports.jsx(i.FormRow,{label:"Decimal",children:a.jsxRuntimeExports.jsx(i.InputSwitch,{checked:k,disabled:n.builtin||!h,onChange:e=>{const t=e.target.checked;F(t),d("type",t?"float":"integer")}})}),R.map(e=>{if(o.includes(e))return null;let t=null,s=C.upperFirst(e);if(e==="enum"||e==="inherit"){const l=O[e];t=l(n?.data[e],b=>d(e,b))}else if(e==="default"&&n?.data?.type==="boolean")t=O.booleanDefault(n?.data[e],l=>d(e,l));else if(["ge","gt","le","lt"].includes(e)){if(["gt","lt"].includes(e))return null;t=a.jsxRuntimeExports.jsx(K.MinMaxField,{value:n?.data,isMin:e==="ge",isFloat:n?.data?.type==="float",onChange:l=>{const b=l.ge!==void 0?Number(l.ge):void 0,I=l.le!==void 0?Number(l.le):void 0;l.ge!==void 0&&isNaN(b)||l.le!==void 0&&isNaN(I)||y(p=>{if(!p||!p.data)return p;const B={...p.data,...l};return{...p,data:B}})}}),s=e==="ge"?"Min":"Max"}else{const l=b=>{const I=b.target.value;switch(e){case"minLength":case"maxLength":case"minItems":case"maxItems":{const p=parseInt(I,10);d(e,isNaN(p)?void 0:p);break}default:d(e,I);break}};t=a.jsxRuntimeExports.jsx(i.InputText,{value:String(n?.data[e]??""),onChange:l})}return a.jsxRuntimeExports.jsx(i.FormRow,{label:s,style:{alignItems:"flex-start"},children:t},e)}),a.jsxRuntimeExports.jsx("span",{children:(E||j)&&a.jsxRuntimeExports.jsx("span",{className:"form-error-text",children:E||j})})]})})};exports.AttributeEditor=X;
|
|
2
2
|
//# sourceMappingURL=AttributeEditor.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeEditor.cjs.js","sources":["../../../../../src/components/AttributeEditor/AttributeEditor.tsx"],"sourcesContent":["import { FC, useEffect, useState } from 'react'\nimport {\n SaveButton,\n Spacer,\n FormLayout,\n FormRow,\n InputText,\n InputSwitch,\n LockedInput,\n Dropdown,\n Dialog,\n Button,\n} from '@ynput/ayon-react-components'\nimport { camelCase, upperFirst } from 'lodash'\nimport { MinMaxField } from './components'\nimport { EnumEditor } from '@shared/components/EnumEditor'\nimport { AttributeData, AttributeModel, AttributeEnumItem } from '@shared/api'\n\nconst SCOPE_OPTIONS = [\n { value: 'project', label: 'Project' },\n { value: 'folder', label: 'Folder' },\n { value: 'task', label: 'Task' },\n { value: 'product', label: 'Product' },\n { value: 'version', label: 'Version' },\n { value: 'representation', label: 'Representation' },\n { value: 'user', label: 'User' },\n { value: 'list', label: 'List' },\n]\n\n// Define types for constants\ninterface GlobalFieldEntry {\n value: keyof AttributeData\n scope: (AttributeModel['scope'] | '')[] | null\n}\n\nconst GLOBAL_FIELDS: GlobalFieldEntry[] = [\n { value: 'description', scope: null },\n { value: 'example', scope: null },\n // @ts-expect-error - project is not a scope?\n { value: 'default', scope: ['project'] },\n {\n value: 'inherit',\n scope: ['project', 'folder', 'task', 'product', 'version', 'representation', 'user'],\n },\n]\n\ninterface TypeOptionDef {\n value: AttributeData['type']\n label: string\n fields: (keyof AttributeData)[]\n exclude?: (keyof AttributeData)[]\n}\n\ninterface TypeOptionsMap {\n [key: string]: TypeOptionDef\n}\n\nconst TYPE_OPTIONS: TypeOptionsMap = {\n string: {\n value: 'string',\n label: 'String',\n fields: ['minLength', 'maxLength', 'enum', 'regex'],\n },\n integer: {\n value: 'integer',\n label: 'Integer',\n fields: ['ge', 'gt', 'le', 'lt'],\n },\n float: {\n value: 'float',\n label: 'Decimal number',\n fields: ['ge', 'gt', 'le', 'lt'],\n },\n list_of_strings: {\n value: 'list_of_strings',\n label: 'List Of Strings',\n fields: ['minItems', 'maxItems', 'enum'],\n },\n boolean: {\n value: 'boolean',\n label: 'Boolean',\n fields: [],\n exclude: ['example'],\n },\n datetime: {\n value: 'datetime',\n label: 'Datetime',\n fields: [],\n },\n}\n\ntype Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>\ntype PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>\nexport type AttributeForm = PartialBy<AttributeModel, 'scope' | 'position'>\ntype Excludes = (keyof Omit<AttributeModel, 'data'> | keyof AttributeData)[]\n\nconst initFormData: AttributeForm = {\n name: '',\n scope: ['folder', 'task'],\n builtin: false,\n position: 0,\n data: {\n type: 'string',\n title: '',\n description: '',\n example: '',\n default: undefined,\n enum: undefined,\n minLength: undefined,\n maxLength: undefined,\n regex: '',\n minItems: undefined,\n maxItems: undefined,\n ge: undefined,\n gt: undefined,\n le: undefined,\n lt: undefined,\n },\n}\n\n// build the form data based on excludes and to update any data\nconst buildInitFormData = (excludes: Excludes, data?: Partial<AttributeForm>) => {\n // Create a deep clone of init form data\n const formData = JSON.parse(JSON.stringify(initFormData)) as AttributeForm\n\n // Filter out top-level excludes if not in required\n const required = ['name']\n Object.keys(formData).forEach((key) => {\n if (\n !required.includes(key) &&\n excludes.includes(key as keyof Omit<AttributeModel, 'data'>) &&\n key !== 'data'\n ) {\n delete formData[key as keyof AttributeForm]\n }\n })\n\n // Filter out data field excludes if not in in required\n const requiredData = ['title']\n if (formData.data) {\n Object.keys(formData.data).forEach((key) => {\n if (!requiredData.includes(key) && excludes.includes(key as keyof AttributeData)) {\n delete formData.data[key as keyof AttributeData]\n }\n })\n }\n\n // Merge with provided data if any\n if (data) {\n // Merge top-level fields\n Object.keys(data).forEach((key) => {\n const typedKey = key as keyof AttributeForm\n\n if (typedKey === 'data' && data.data && formData.data) {\n // Deep merge of data fields\n formData.data = { ...formData.data, ...data.data }\n } else if (data[typedKey] !== undefined) {\n // @ts-ignore - We know these properties exist\n formData[typedKey] = data[typedKey]\n }\n })\n }\n\n return formData\n}\n\nexport interface AttributeEditorProps {\n attribute: AttributeForm | null\n defaultData?: Partial<AttributeForm>\n existingNames: string[]\n error?: string\n isUpdating?: boolean\n excludes?: Excludes\n onHide: () => void\n onEdit: (attribute: AttributeForm) => void\n onDelete?: () => void\n}\n\nexport const AttributeEditor: FC<AttributeEditorProps> = ({\n attribute,\n defaultData,\n existingNames,\n error = '',\n isUpdating,\n excludes = [],\n onHide,\n onEdit,\n onDelete,\n}) => {\n const resolvedDefaultData = defaultData\n ? {\n ...defaultData,\n name:\n defaultData.name ||\n (defaultData.data?.title ? camelCase(defaultData.data.title) : undefined),\n }\n : undefined\n\n const [formData, setFormData] = useState<AttributeForm | null>(\n attribute ||\n buildInitFormData(excludes, {\n position: existingNames.length,\n ...resolvedDefaultData,\n }),\n )\n\n useEffect(() => {\n if (!!attribute) setFormData(attribute)\n }, [attribute])\n\n const isNew = !attribute\n\n // const setTopLevelData = (key: string, value: string) => {\n const setTopLevelData = <K extends keyof Omit<AttributeModel, 'data'>>(\n key: K,\n value: AttributeModel[K],\n ) => {\n setFormData((d) => {\n if (!d) {\n return d\n }\n return { ...d, [key]: value }\n })\n }\n\n // const setData = (key, value) => {\n const setData = <K extends keyof AttributeData>(key: K, value: AttributeData[K]) => {\n setFormData((d) => {\n // Add a check for d and d.data\n if (!d || !d.data) {\n return d\n }\n const dt = { ...d.data, [key]: value }\n return { ...d, data: dt }\n })\n }\n\n let internalError = ''\n if (formData) {\n if (isNew) {\n if (existingNames.includes(formData.name)) internalError = 'This attribute already exists'\n else if (!formData.name.match('^[a-zA-Z_]{2,64}$')) error = 'Invalid attribute name'\n } // name validation\n }\n\n const handleSubmit = () => {\n if (formData) {\n onEdit(formData)\n }\n }\n\n const footer = (\n <div style={{ display: 'flex', width: '100%', flexDirection: 'row' }}>\n {onDelete && attribute && (\n <Button\n variant=\"danger\"\n label={'Delete attribute'}\n icon={'delete'}\n disabled={isUpdating}\n onClick={onDelete}\n />\n )}\n <Spacer />\n <SaveButton\n label={isNew ? 'Create Attribute' : 'Save Attribute'}\n icon={'check'}\n disabled={!!internalError || !formData}\n active={!internalError && !!formData}\n saving={isUpdating}\n onClick={handleSubmit}\n />\n </div>\n )\n\n let dataFields: (keyof AttributeData)[] = []\n\n // add global fields, only if scope are null (all) or the scope is included\n GLOBAL_FIELDS.forEach((globalField) => {\n // @ts-expect-error - project scope will never be found here?\n if (!globalField?.scope || globalField?.scope?.some((s) => formData?.scope?.includes(s))) {\n dataFields.push(globalField.value)\n }\n })\n\n if (formData?.data.type && TYPE_OPTIONS[formData.data.type]) {\n const typeOpt = TYPE_OPTIONS[formData.data.type]\n dataFields = [...dataFields, ...typeOpt.fields].filter((f) => !typeOpt.exclude?.includes(f))\n }\n\n type CustomFieldRenderer = (value: any, onChange: (newValue: any) => void) => JSX.Element | null\n const customFields: {\n enum: CustomFieldRenderer\n inherit: CustomFieldRenderer\n booleanDefault: CustomFieldRenderer\n } = {\n enum: (value = [], onChange) => (\n <EnumEditor\n values={value as AttributeEnumItem[]}\n onChange={(val) => {\n onChange(val?.length ? val : undefined)\n }}\n />\n ),\n inherit: (value, onChange) => (\n <InputSwitch\n checked={value}\n onChange={(e) => onChange((e.target as HTMLInputElement).checked)}\n />\n ),\n booleanDefault: (value, onChange) => (\n <InputSwitch\n checked={value}\n onChange={(e) => onChange((e.target as HTMLInputElement).checked)}\n />\n ),\n }\n\n const handleTitleChange = (e: React.ChangeEvent) => {\n const v = (e.target as HTMLInputElement).value\n setData('title', v)\n\n if (isNew) {\n setTopLevelData('name', camelCase(v))\n }\n }\n\n return (\n <Dialog\n header={formData?.data?.title || formData?.name || 'New attribute'}\n footer={footer}\n onClose={onHide}\n isOpen={true}\n style={{ width: 700, zIndex: 999 }}\n size=\"full\"\n enableBackdropClose={false}\n onKeyDown={(e: React.KeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Enter' && (e.metaKey || e.ctrlKey)) {\n e.preventDefault()\n handleSubmit()\n }\n }}\n >\n {formData && (\n <FormLayout>\n {!excludes.includes('title') && (\n <FormRow label={'Title'} key={'title'}>\n <InputText value={formData?.data['title']} onChange={handleTitleChange} autoFocus />\n </FormRow>\n )}\n {!excludes.includes('name') && (\n <FormRow label={'Name'} key={'name'}>\n <LockedInput\n value={formData.name}\n disabled={!isNew}\n onSubmit={(v) => setTopLevelData('name', v)}\n label=\"name\"\n />\n </FormRow>\n )}\n {!excludes.includes('scope') && (\n <FormRow label=\"Scope\">\n <Dropdown\n options={SCOPE_OPTIONS}\n disabled={formData.builtin}\n value={formData.scope || []}\n onChange={(v) => setTopLevelData('scope', v as AttributeModel['scope'])}\n multiSelect\n widthExpand\n />\n </FormRow>\n )}\n {!excludes.includes('type') && (\n <FormRow label=\"Type\">\n <Dropdown\n value={[formData?.data?.type]}\n disabled={formData.builtin || !isNew}\n options={Object.values(TYPE_OPTIONS)}\n onChange={(v) => {\n const newType = v[0] as AttributeData['type']\n // Check if regex is supported for the new type\n const typeOpt = TYPE_OPTIONS[newType]\n const supportsRegex = typeOpt?.fields?.includes('regex')\n\n setData('type', newType)\n // Clear regex if not supported by the new type\n if (!supportsRegex && formData?.data?.regex) {\n setData('regex', '')\n }\n }}\n minSelected={1}\n widthExpand\n />\n </FormRow>\n )}\n {dataFields.map((field) => {\n // skip if field is excluded\n if (excludes.includes(field)) return null\n\n let fieldComp = null\n let fieldLabel = upperFirst(field)\n\n if (field === 'enum' || field === 'inherit') {\n const renderer = customFields[field as 'enum' | 'inherit']\n fieldComp = renderer(formData?.data[field], (value) => setData(field, value))\n } else if (field === 'default' && formData?.data?.type === 'boolean') {\n fieldComp = customFields['booleanDefault'](\n formData?.data[field] as boolean,\n (value) => setData(field, value as AttributeData['default']),\n )\n } else if (['ge', 'gt', 'le', 'lt'].includes(field)) {\n // ignore gt and lt\n if (['gt', 'lt'].includes(field)) return null\n fieldComp = (\n <MinMaxField\n value={formData?.data}\n isMin={field === 'ge'}\n isFloat={formData?.data?.type === 'float'}\n onChange={(v) => {\n const geValue = v.ge !== undefined ? Number(v.ge) : undefined\n const leValue = v.le !== undefined ? Number(v.le) : undefined\n\n if (\n // @ts-expect-error\n (v.ge !== undefined && isNaN(geValue)) ||\n // @ts-expect-error\n (v.le !== undefined && isNaN(leValue))\n ) {\n // Do not update the form if the value is not a valid number\n return\n }\n\n setFormData((d) => {\n if (!d || !d.data) return d\n const dt = { ...d.data, ...v }\n return { ...d, data: dt }\n })\n }}\n />\n )\n\n // rewrite field to min or max for display label\n fieldLabel = field === 'ge' ? 'Min' : 'Max'\n } else {\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const strValue = e.target.value\n switch (field) {\n case 'minLength':\n case 'maxLength':\n case 'minItems':\n case 'maxItems': {\n const num = parseInt(strValue, 10)\n setData(field, isNaN(num) ? undefined : num)\n break\n }\n default:\n // For string fields ('description', 'regex') or 'any' type fields ('example', 'default')\n setData(field, strValue as AttributeData[typeof field])\n break\n }\n }\n\n fieldComp = (\n <InputText\n value={String(formData?.data[field] ?? '')}\n onChange={handleInputChange}\n />\n )\n }\n\n return (\n <FormRow\n label={fieldLabel}\n key={field}\n style={{\n alignItems: 'flex-start',\n }}\n >\n {fieldComp}\n </FormRow>\n )\n })}\n <span>\n {(internalError || error) && (\n <span className=\"form-error-text\">{internalError || error}</span>\n )}\n </span>\n </FormLayout>\n )}\n </Dialog>\n )\n}\n"],"names":["SCOPE_OPTIONS","GLOBAL_FIELDS","TYPE_OPTIONS","initFormData","buildInitFormData","excludes","data","formData","required","key","requiredData","typedKey","AttributeEditor","attribute","defaultData","existingNames","error","isUpdating","onHide","onEdit","onDelete","resolvedDefaultData","camelCase","setFormData","useState","useEffect","isNew","setTopLevelData","value","d","setData","dt","internalError","handleSubmit","footer","jsxs","jsx","Button","Spacer","SaveButton","dataFields","globalField","s","typeOpt","f","customFields","onChange","EnumEditor","val","InputSwitch","e","handleTitleChange","v","Dialog","FormLayout","FormRow","InputText","LockedInput","Dropdown","newType","supportsRegex","field","fieldComp","fieldLabel","upperFirst","renderer","MinMaxField","geValue","leValue","handleInputChange","strValue","num"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AttributeEditor.cjs.js","sources":["../../../../../src/components/AttributeEditor/AttributeEditor.tsx"],"sourcesContent":["import { FC, useEffect, useState } from 'react'\nimport {\n SaveButton,\n Spacer,\n FormLayout,\n FormRow,\n InputText,\n InputSwitch,\n LockedInput,\n Dropdown,\n Dialog,\n Button,\n} from '@ynput/ayon-react-components'\nimport { camelCase, upperFirst } from 'lodash'\nimport { MinMaxField } from './components'\nimport { EnumEditor } from '@shared/components/EnumEditor'\nimport { AttributeData, AttributeModel, AttributeEnumItem } from '@shared/api'\nimport {\n UIAttributeType,\n UI_TYPE_OPTIONS,\n UI_TYPE_FIELDS,\n UI_TYPE_EXCLUDE,\n backendToUiType,\n uiTypeToBackend,\n} from './attributeTypeMap'\n\nconst SCOPE_OPTIONS = [\n { value: 'project', label: 'Project' },\n { value: 'folder', label: 'Folder' },\n { value: 'task', label: 'Task' },\n { value: 'product', label: 'Product' },\n { value: 'version', label: 'Version' },\n { value: 'representation', label: 'Representation' },\n { value: 'user', label: 'User' },\n { value: 'list', label: 'List' },\n]\n\n// Define types for constants\ninterface GlobalFieldEntry {\n value: keyof AttributeData\n scope: (AttributeModel['scope'] | '')[] | null\n}\n\nconst GLOBAL_FIELDS: GlobalFieldEntry[] = [\n { value: 'description', scope: null },\n { value: 'example', scope: null },\n // @ts-expect-error - project is not a scope?\n { value: 'default', scope: ['project'] },\n {\n value: 'inherit',\n scope: ['project', 'folder', 'task', 'product', 'version', 'representation', 'user'],\n },\n]\n\ntype Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>\ntype PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>\nexport type AttributeForm = PartialBy<AttributeModel, 'scope' | 'position'>\ntype Excludes = (keyof Omit<AttributeModel, 'data'> | keyof AttributeData)[]\n\nconst initFormData: AttributeForm = {\n name: '',\n scope: ['folder', 'task'],\n builtin: false,\n position: 0,\n data: {\n type: 'string',\n title: '',\n description: '',\n example: '',\n default: undefined,\n enum: undefined,\n minLength: undefined,\n maxLength: undefined,\n regex: '',\n minItems: undefined,\n maxItems: undefined,\n ge: undefined,\n gt: undefined,\n le: undefined,\n lt: undefined,\n },\n}\n\n// build the form data based on excludes and to update any data\nconst buildInitFormData = (excludes: Excludes, data?: Partial<AttributeForm>) => {\n // Create a deep clone of init form data\n const formData = JSON.parse(JSON.stringify(initFormData)) as AttributeForm\n\n // Filter out top-level excludes if not in required\n const required = ['name']\n Object.keys(formData).forEach((key) => {\n if (\n !required.includes(key) &&\n excludes.includes(key as keyof Omit<AttributeModel, 'data'>) &&\n key !== 'data'\n ) {\n delete formData[key as keyof AttributeForm]\n }\n })\n\n // Filter out data field excludes if not in in required\n const requiredData = ['title']\n if (formData.data) {\n Object.keys(formData.data).forEach((key) => {\n if (!requiredData.includes(key) && excludes.includes(key as keyof AttributeData)) {\n delete formData.data[key as keyof AttributeData]\n }\n })\n }\n\n // Merge with provided data if any\n if (data) {\n // Merge top-level fields\n Object.keys(data).forEach((key) => {\n const typedKey = key as keyof AttributeForm\n\n if (typedKey === 'data' && data.data && formData.data) {\n // Deep merge of data fields\n formData.data = { ...formData.data, ...data.data }\n } else if (data[typedKey] !== undefined) {\n // @ts-ignore - We know these properties exist\n formData[typedKey] = data[typedKey]\n }\n })\n }\n\n return formData\n}\n\nexport interface AttributeEditorProps {\n attribute: AttributeForm | null\n defaultData?: Partial<AttributeForm>\n existingNames: string[]\n error?: string\n isUpdating?: boolean\n excludes?: Excludes\n onHide: () => void\n onEdit: (attribute: AttributeForm) => void\n onDelete?: () => void\n}\n\nexport const AttributeEditor: FC<AttributeEditorProps> = ({\n attribute,\n defaultData,\n existingNames,\n error = '',\n isUpdating,\n excludes = [],\n onHide,\n onEdit,\n onDelete,\n}) => {\n const resolvedDefaultData = defaultData\n ? {\n ...defaultData,\n name:\n defaultData.name ||\n (defaultData.data?.title ? camelCase(defaultData.data.title) : undefined),\n }\n : undefined\n\n const initData =\n attribute ||\n buildInitFormData(excludes, {\n position: existingNames.length,\n ...resolvedDefaultData,\n })\n\n const [formData, setFormData] = useState<AttributeForm | null>(initData)\n const [uiType, setUiType] = useState<UIAttributeType>(() =>\n backendToUiType(initData?.data?.type, initData?.data?.enum),\n )\n const [isDecimal, setIsDecimal] = useState<boolean>(() => initData?.data?.type === 'float')\n\n useEffect(() => {\n if (!!attribute) {\n setFormData(attribute)\n setUiType(backendToUiType(attribute.data?.type, attribute.data?.enum))\n setIsDecimal(attribute.data?.type === 'float')\n }\n }, [attribute])\n\n const isNew = !attribute\n\n // const setTopLevelData = (key: string, value: string) => {\n const setTopLevelData = <K extends keyof Omit<AttributeModel, 'data'>>(\n key: K,\n value: AttributeModel[K],\n ) => {\n setFormData((d) => {\n if (!d) {\n return d\n }\n return { ...d, [key]: value }\n })\n }\n\n // const setData = (key, value) => {\n const setData = <K extends keyof AttributeData>(key: K, value: AttributeData[K]) => {\n setFormData((d) => {\n // Add a check for d and d.data\n if (!d || !d.data) {\n return d\n }\n const dt = { ...d.data, [key]: value }\n return { ...d, data: dt }\n })\n }\n\n let internalError = ''\n if (formData) {\n if (isNew) {\n if (existingNames.includes(formData.name)) internalError = 'This attribute already exists'\n else if (!formData.name.match('^[a-zA-Z_]{2,64}$')) error = 'Invalid attribute name'\n } // name validation\n }\n\n const handleSubmit = () => {\n if (formData) {\n onEdit(formData)\n }\n }\n\n const footer = (\n <div style={{ display: 'flex', width: '100%', flexDirection: 'row' }}>\n {onDelete && attribute && (\n <Button\n variant=\"danger\"\n label={'Delete attribute'}\n icon={'delete'}\n disabled={isUpdating}\n onClick={onDelete}\n />\n )}\n <Spacer />\n <SaveButton\n label={isNew ? 'Create Attribute' : 'Save Attribute'}\n icon={'check'}\n disabled={!!internalError || !formData}\n active={!internalError && !!formData}\n saving={isUpdating}\n onClick={handleSubmit}\n />\n </div>\n )\n\n let dataFields: (keyof AttributeData)[] = []\n\n // add global fields, only if scope are null (all) or the scope is included\n GLOBAL_FIELDS.forEach((globalField) => {\n // @ts-expect-error - project scope will never be found here?\n if (!globalField?.scope || globalField?.scope?.some((s) => formData?.scope?.includes(s))) {\n dataFields.push(globalField.value)\n }\n })\n\n const typeFields = UI_TYPE_FIELDS[uiType] ?? []\n const typeExclude = UI_TYPE_EXCLUDE[uiType] ?? []\n dataFields = [...dataFields, ...typeFields].filter((f) => !typeExclude.includes(f))\n\n type CustomFieldRenderer = (value: any, onChange: (newValue: any) => void) => JSX.Element | null\n const customFields: {\n enum: CustomFieldRenderer\n inherit: CustomFieldRenderer\n booleanDefault: CustomFieldRenderer\n } = {\n enum: (value = [], onChange) => (\n <EnumEditor\n values={value as AttributeEnumItem[]}\n onChange={(val) => {\n onChange(val?.length ? val : undefined)\n }}\n />\n ),\n inherit: (value, onChange) => (\n <InputSwitch\n checked={value}\n onChange={(e) => onChange((e.target as HTMLInputElement).checked)}\n />\n ),\n booleanDefault: (value, onChange) => (\n <InputSwitch\n checked={value}\n onChange={(e) => onChange((e.target as HTMLInputElement).checked)}\n />\n ),\n }\n\n const handleTitleChange = (e: React.ChangeEvent) => {\n const v = (e.target as HTMLInputElement).value\n setData('title', v)\n\n if (isNew) {\n setTopLevelData('name', camelCase(v))\n }\n }\n\n const handleUiTypeChange = (v: string[]) => {\n const newUiType = v[0] as UIAttributeType\n setUiType(newUiType)\n setData('type', uiTypeToBackend(newUiType, isDecimal))\n\n // Clear enum when switching away from select/multi_select\n if (newUiType !== 'select' && newUiType !== 'multi_select') {\n setData('enum', undefined)\n }\n // Clear regex if not supported by the new type\n if (newUiType !== 'text' && formData?.data?.regex) {\n setData('regex', '')\n }\n }\n\n return (\n <Dialog\n header={formData?.data?.title || formData?.name || 'New attribute'}\n footer={footer}\n onClose={onHide}\n isOpen={true}\n style={{ width: 700, zIndex: 999 }}\n size=\"full\"\n enableBackdropClose={false}\n onKeyDown={(e: React.KeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Enter' && (e.metaKey || e.ctrlKey)) {\n e.preventDefault()\n handleSubmit()\n }\n }}\n >\n {formData && (\n <FormLayout>\n {!excludes.includes('title') && (\n <FormRow label={'Title'} key={'title'}>\n <InputText value={formData?.data['title']} onChange={handleTitleChange} autoFocus />\n </FormRow>\n )}\n {!excludes.includes('name') && (\n <FormRow label={'Name'} key={'name'}>\n <LockedInput\n value={formData.name}\n disabled={!isNew}\n onSubmit={(v) => setTopLevelData('name', v)}\n label=\"name\"\n />\n </FormRow>\n )}\n {!excludes.includes('scope') && (\n <FormRow label=\"Scope\">\n <Dropdown\n options={SCOPE_OPTIONS}\n disabled={formData.builtin}\n value={formData.scope || []}\n onChange={(v) => setTopLevelData('scope', v as AttributeModel['scope'])}\n multiSelect\n widthExpand\n />\n </FormRow>\n )}\n {!excludes.includes('type') && (\n <FormRow label=\"Type\">\n <Dropdown\n value={[uiType]}\n disabled={formData.builtin || !isNew}\n valueIcon={UI_TYPE_OPTIONS.find((o) => o.value === uiType)?.icon}\n options={UI_TYPE_OPTIONS}\n onChange={handleUiTypeChange}\n minSelected={1}\n widthExpand\n />\n </FormRow>\n )}\n {!excludes.includes('type') && uiType === 'number' && (\n <FormRow label=\"Decimal\">\n <InputSwitch\n checked={isDecimal}\n disabled={formData.builtin || !isNew}\n onChange={(e) => {\n const checked = (e.target as HTMLInputElement).checked\n setIsDecimal(checked)\n setData('type', checked ? 'float' : 'integer')\n }}\n />\n </FormRow>\n )}\n {dataFields.map((field) => {\n // skip if field is excluded\n if (excludes.includes(field)) return null\n\n let fieldComp = null\n let fieldLabel = upperFirst(field)\n\n if (field === 'enum' || field === 'inherit') {\n const renderer = customFields[field as 'enum' | 'inherit']\n fieldComp = renderer(formData?.data[field], (value) => setData(field, value))\n } else if (field === 'default' && formData?.data?.type === 'boolean') {\n fieldComp = customFields['booleanDefault'](\n formData?.data[field] as boolean,\n (value) => setData(field, value as AttributeData['default']),\n )\n } else if (['ge', 'gt', 'le', 'lt'].includes(field)) {\n // ignore gt and lt\n if (['gt', 'lt'].includes(field)) return null\n fieldComp = (\n <MinMaxField\n value={formData?.data}\n isMin={field === 'ge'}\n isFloat={formData?.data?.type === 'float'}\n onChange={(v) => {\n const geValue = v.ge !== undefined ? Number(v.ge) : undefined\n const leValue = v.le !== undefined ? Number(v.le) : undefined\n\n if (\n // @ts-expect-error\n (v.ge !== undefined && isNaN(geValue)) ||\n // @ts-expect-error\n (v.le !== undefined && isNaN(leValue))\n ) {\n // Do not update the form if the value is not a valid number\n return\n }\n\n setFormData((d) => {\n if (!d || !d.data) return d\n const dt = { ...d.data, ...v }\n return { ...d, data: dt }\n })\n }}\n />\n )\n\n // rewrite field to min or max for display label\n fieldLabel = field === 'ge' ? 'Min' : 'Max'\n } else {\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const strValue = e.target.value\n switch (field) {\n case 'minLength':\n case 'maxLength':\n case 'minItems':\n case 'maxItems': {\n const num = parseInt(strValue, 10)\n setData(field, isNaN(num) ? undefined : num)\n break\n }\n default:\n // For string fields ('description', 'regex') or 'any' type fields ('example', 'default')\n setData(field, strValue as AttributeData[typeof field])\n break\n }\n }\n\n fieldComp = (\n <InputText\n value={String(formData?.data[field] ?? '')}\n onChange={handleInputChange}\n />\n )\n }\n\n return (\n <FormRow\n label={fieldLabel}\n key={field}\n style={{\n alignItems: 'flex-start',\n }}\n >\n {fieldComp}\n </FormRow>\n )\n })}\n <span>\n {(internalError || error) && (\n <span className=\"form-error-text\">{internalError || error}</span>\n )}\n </span>\n </FormLayout>\n )}\n </Dialog>\n )\n}\n"],"names":["SCOPE_OPTIONS","GLOBAL_FIELDS","initFormData","buildInitFormData","excludes","data","formData","required","key","requiredData","typedKey","AttributeEditor","attribute","defaultData","existingNames","error","isUpdating","onHide","onEdit","onDelete","resolvedDefaultData","camelCase","initData","setFormData","useState","uiType","setUiType","backendToUiType","isDecimal","setIsDecimal","useEffect","isNew","setTopLevelData","value","d","setData","dt","internalError","handleSubmit","footer","jsxs","jsx","Button","Spacer","SaveButton","dataFields","globalField","s","typeFields","UI_TYPE_FIELDS","typeExclude","UI_TYPE_EXCLUDE","f","customFields","onChange","EnumEditor","val","InputSwitch","e","handleTitleChange","v","handleUiTypeChange","newUiType","uiTypeToBackend","Dialog","FormLayout","FormRow","InputText","LockedInput","Dropdown","UI_TYPE_OPTIONS","o","checked","field","fieldComp","fieldLabel","upperFirst","renderer","MinMaxField","geValue","leValue","handleInputChange","strValue","num"],"mappings":"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"}
|