@api-client/ui 0.5.57 → 0.6.0
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/INSTRUCTIONS.md +141 -0
- package/build/src/builders/DialogBuilder.d.ts +245 -0
- package/build/src/builders/DialogBuilder.d.ts.map +1 -0
- package/build/src/builders/DialogBuilder.js +406 -0
- package/build/src/builders/DialogBuilder.js.map +1 -0
- package/build/src/cache/Cache.d.ts +72 -0
- package/build/src/cache/Cache.d.ts.map +1 -0
- package/build/src/cache/Cache.js +221 -0
- package/build/src/cache/Cache.js.map +1 -0
- package/build/src/core/Model.d.ts +18 -64
- package/build/src/core/Model.d.ts.map +1 -1
- package/build/src/core/Model.js +47 -90
- package/build/src/core/Model.js.map +1 -1
- package/build/src/core/ServiceManager.d.ts.map +1 -1
- package/build/src/core/ServiceManager.js +1 -0
- package/build/src/core/ServiceManager.js.map +1 -1
- package/build/src/data/BreadcrumbsModel.d.ts +37 -0
- package/build/src/data/BreadcrumbsModel.d.ts.map +1 -0
- package/build/src/data/BreadcrumbsModel.js +77 -0
- package/build/src/data/BreadcrumbsModel.js.map +1 -0
- package/build/src/data/DataCatalogModel.d.ts +53 -0
- package/build/src/data/DataCatalogModel.d.ts.map +1 -0
- package/build/src/data/DataCatalogModel.js +174 -0
- package/build/src/data/DataCatalogModel.js.map +1 -0
- package/build/src/data/DomainBrowserModel.d.ts +30 -0
- package/build/src/data/DomainBrowserModel.d.ts.map +1 -0
- package/build/src/data/DomainBrowserModel.js +113 -0
- package/build/src/data/DomainBrowserModel.js.map +1 -0
- package/build/src/data/FileModel.d.ts +36 -0
- package/build/src/data/FileModel.d.ts.map +1 -0
- package/build/src/data/FileModel.js +71 -0
- package/build/src/data/FileModel.js.map +1 -0
- package/build/src/data/FileShareModel.d.ts +57 -0
- package/build/src/data/FileShareModel.d.ts.map +1 -0
- package/build/src/data/FileShareModel.js +238 -0
- package/build/src/data/FileShareModel.js.map +1 -0
- package/build/src/data/FilesModel.d.ts +71 -0
- package/build/src/data/FilesModel.d.ts.map +1 -0
- package/build/src/data/FilesModel.js +205 -0
- package/build/src/data/FilesModel.js.map +1 -0
- package/build/src/data/InvitationModel.d.ts +27 -0
- package/build/src/data/InvitationModel.d.ts.map +1 -0
- package/build/src/data/InvitationModel.js +66 -0
- package/build/src/data/InvitationModel.js.map +1 -0
- package/build/src/data/PatchableFileModel.d.ts +167 -0
- package/build/src/data/PatchableFileModel.d.ts.map +1 -0
- package/build/src/data/PatchableFileModel.js +243 -0
- package/build/src/data/PatchableFileModel.js.map +1 -0
- package/build/src/data/PatchableLiveDataContentModel.d.ts +8 -0
- package/build/src/data/PatchableLiveDataContentModel.d.ts.map +1 -0
- package/build/src/data/PatchableLiveDataContentModel.js +32 -0
- package/build/src/data/PatchableLiveDataContentModel.js.map +1 -0
- package/build/src/data/PatchableRawContentModel.d.ts +10 -0
- package/build/src/data/PatchableRawContentModel.d.ts.map +1 -0
- package/build/src/data/PatchableRawContentModel.js +38 -0
- package/build/src/data/PatchableRawContentModel.js.map +1 -0
- package/build/src/data/TrashModel.d.ts +51 -0
- package/build/src/data/TrashModel.d.ts.map +1 -0
- package/build/src/data/TrashModel.js +112 -0
- package/build/src/data/TrashModel.js.map +1 -0
- package/build/src/data/UserModel.d.ts +28 -0
- package/build/src/data/UserModel.d.ts.map +1 -0
- package/build/src/data/UserModel.js +98 -0
- package/build/src/data/UserModel.js.map +1 -0
- package/build/src/data/UsersModel.d.ts +84 -0
- package/build/src/data/UsersModel.d.ts.map +1 -0
- package/build/src/data/UsersModel.js +307 -0
- package/build/src/data/UsersModel.js.map +1 -0
- package/build/src/data/retry_logic.d.ts +66 -0
- package/build/src/data/retry_logic.d.ts.map +1 -0
- package/build/src/data/retry_logic.js +84 -0
- package/build/src/data/retry_logic.js.map +1 -0
- package/build/src/elements/autocomplete/internals/autocomplete.d.ts.map +1 -1
- package/build/src/elements/autocomplete/internals/autocomplete.js +5 -2
- package/build/src/elements/autocomplete/internals/autocomplete.js.map +1 -1
- package/build/src/elements/data-table/DataTable.d.ts +17 -0
- package/build/src/elements/data-table/DataTable.d.ts.map +1 -1
- package/build/src/elements/data-table/DataTable.js +5 -4
- package/build/src/elements/data-table/DataTable.js.map +1 -1
- package/build/src/elements/data-table/DataTable.styles.d.ts.map +1 -1
- package/build/src/elements/data-table/DataTable.styles.js +7 -2
- package/build/src/elements/data-table/DataTable.styles.js.map +1 -1
- package/build/src/elements/data-table/data-catalog-table.d.ts +16 -0
- package/build/src/elements/data-table/data-catalog-table.d.ts.map +1 -0
- package/build/src/elements/data-table/data-catalog-table.js +33 -0
- package/build/src/elements/data-table/data-catalog-table.js.map +1 -0
- package/build/src/elements/data-table/filesystem-table.d.ts +17 -0
- package/build/src/elements/data-table/filesystem-table.d.ts.map +1 -0
- package/build/src/elements/data-table/filesystem-table.js +35 -0
- package/build/src/elements/data-table/filesystem-table.js.map +1 -0
- package/build/src/elements/data-table/internals/DataCatalog.styles.d.ts +3 -0
- package/build/src/elements/data-table/internals/DataCatalog.styles.d.ts.map +1 -0
- package/build/src/elements/data-table/internals/DataCatalog.styles.js +29 -0
- package/build/src/elements/data-table/internals/DataCatalog.styles.js.map +1 -0
- package/build/src/elements/data-table/internals/DataCatalogTable.d.ts +44 -0
- package/build/src/elements/data-table/internals/DataCatalogTable.d.ts.map +1 -0
- package/build/src/elements/data-table/internals/DataCatalogTable.js +208 -0
- package/build/src/elements/data-table/internals/DataCatalogTable.js.map +1 -0
- package/build/src/elements/data-table/internals/Filesystem.styles.d.ts +3 -0
- package/build/src/elements/data-table/internals/Filesystem.styles.d.ts.map +1 -0
- package/build/src/elements/data-table/internals/Filesystem.styles.js +23 -0
- package/build/src/elements/data-table/internals/Filesystem.styles.js.map +1 -0
- package/build/src/elements/data-table/internals/FilesystemDataTable.d.ts +36 -0
- package/build/src/elements/data-table/internals/FilesystemDataTable.d.ts.map +1 -0
- package/build/src/elements/data-table/internals/FilesystemDataTable.js +230 -0
- package/build/src/elements/data-table/internals/FilesystemDataTable.js.map +1 -0
- package/build/src/elements/data-table/internals/TrashDataTable.d.ts +32 -0
- package/build/src/elements/data-table/internals/TrashDataTable.d.ts.map +1 -0
- package/build/src/elements/data-table/internals/TrashDataTable.js +161 -0
- package/build/src/elements/data-table/internals/TrashDataTable.js.map +1 -0
- package/build/src/elements/data-table/internals/UserData.styles.d.ts +3 -0
- package/build/src/elements/data-table/internals/UserData.styles.d.ts.map +1 -0
- package/build/src/elements/data-table/internals/UserData.styles.js +16 -0
- package/build/src/elements/data-table/internals/UserData.styles.js.map +1 -0
- package/build/src/elements/data-table/internals/UsersDataTable.d.ts +30 -0
- package/build/src/elements/data-table/internals/UsersDataTable.d.ts.map +1 -0
- package/build/src/elements/data-table/internals/UsersDataTable.js +243 -0
- package/build/src/elements/data-table/internals/UsersDataTable.js.map +1 -0
- package/build/src/elements/data-table/trash-table.d.ts +11 -0
- package/build/src/elements/data-table/trash-table.d.ts.map +1 -0
- package/build/src/elements/data-table/trash-table.js +28 -0
- package/build/src/elements/data-table/trash-table.js.map +1 -0
- package/build/src/elements/data-table/users-table.d.ts +11 -0
- package/build/src/elements/data-table/users-table.d.ts.map +1 -0
- package/build/src/elements/data-table/users-table.js +28 -0
- package/build/src/elements/data-table/users-table.js.map +1 -0
- package/build/src/elements/file-system/internals/Breadcrumbs.d.ts +0 -2
- package/build/src/elements/file-system/internals/Breadcrumbs.d.ts.map +1 -1
- package/build/src/elements/file-system/internals/Breadcrumbs.js +0 -2
- package/build/src/elements/file-system/internals/Breadcrumbs.js.map +1 -1
- package/build/src/elements/file-system/internals/QuickApiFilesystem.d.ts +197 -0
- package/build/src/elements/file-system/internals/QuickApiFilesystem.d.ts.map +1 -0
- package/build/src/elements/file-system/internals/QuickApiFilesystem.js +434 -0
- package/build/src/elements/file-system/internals/QuickApiFilesystem.js.map +1 -0
- package/build/src/elements/file-system/internals/QuickApiFilesystem.styles.d.ts +3 -0
- package/build/src/elements/file-system/internals/QuickApiFilesystem.styles.d.ts.map +1 -0
- package/build/src/elements/file-system/internals/QuickApiFilesystem.styles.js +49 -0
- package/build/src/elements/file-system/internals/QuickApiFilesystem.styles.js.map +1 -0
- package/build/src/elements/file-system/internals/ShareFile.d.ts +166 -0
- package/build/src/elements/file-system/internals/ShareFile.d.ts.map +1 -0
- package/build/src/elements/file-system/internals/ShareFile.js +581 -0
- package/build/src/elements/file-system/internals/ShareFile.js.map +1 -0
- package/build/src/elements/file-system/internals/ShareFile.styles.d.ts +3 -0
- package/build/src/elements/file-system/internals/ShareFile.styles.d.ts.map +1 -0
- package/build/src/elements/file-system/internals/ShareFile.styles.js +98 -0
- package/build/src/elements/file-system/internals/ShareFile.styles.js.map +1 -0
- package/build/src/elements/file-system/quick-api-filesystem.d.ts +11 -0
- package/build/src/elements/file-system/quick-api-filesystem.d.ts.map +1 -0
- package/build/src/elements/file-system/quick-api-filesystem.js +28 -0
- package/build/src/elements/file-system/quick-api-filesystem.js.map +1 -0
- package/build/src/elements/file-system/share-file.d.ts +20 -0
- package/build/src/elements/file-system/share-file.d.ts.map +1 -0
- package/build/src/elements/file-system/share-file.js +37 -0
- package/build/src/elements/file-system/share-file.js.map +1 -0
- package/build/src/elements/file-system/ui-breadcrumbs.d.ts +2 -0
- package/build/src/elements/file-system/ui-breadcrumbs.d.ts.map +1 -1
- package/build/src/elements/file-system/ui-breadcrumbs.js +2 -0
- package/build/src/elements/file-system/ui-breadcrumbs.js.map +1 -1
- package/build/src/elements/layout/SplitItem.d.ts.map +1 -1
- package/build/src/elements/layout/SplitItem.js +0 -7
- package/build/src/elements/layout/SplitItem.js.map +1 -1
- package/build/src/elements/navigation/internals/Navigation.d.ts +1 -1
- package/build/src/elements/navigation/internals/Navigation.d.ts.map +1 -1
- package/build/src/elements/navigation/internals/Navigation.js +10 -4
- package/build/src/elements/navigation/internals/Navigation.js.map +1 -1
- package/build/src/elements/search-input/internals/input.d.ts +27 -0
- package/build/src/elements/search-input/internals/input.d.ts.map +1 -0
- package/build/src/elements/search-input/internals/input.js +99 -0
- package/build/src/elements/search-input/internals/input.js.map +1 -0
- package/build/src/elements/search-input/internals/input.styles.d.ts +3 -0
- package/build/src/elements/search-input/internals/input.styles.d.ts.map +1 -0
- package/build/src/elements/search-input/internals/input.styles.js +38 -0
- package/build/src/elements/search-input/internals/input.styles.js.map +1 -0
- package/build/src/elements/search-input/search-input.d.ts +12 -0
- package/build/src/elements/search-input/search-input.d.ts.map +1 -0
- package/build/src/elements/search-input/search-input.js +30 -0
- package/build/src/elements/search-input/search-input.js.map +1 -0
- package/build/src/elements/setup/internals/InvitationScreen.d.ts +189 -0
- package/build/src/elements/setup/internals/InvitationScreen.d.ts.map +1 -0
- package/build/src/elements/setup/internals/InvitationScreen.js +466 -0
- package/build/src/elements/setup/internals/InvitationScreen.js.map +1 -0
- package/build/src/elements/setup/internals/InvitationScreen.styles.d.ts +3 -0
- package/build/src/elements/setup/internals/InvitationScreen.styles.d.ts.map +1 -0
- package/build/src/elements/setup/internals/InvitationScreen.styles.js +3 -0
- package/build/src/elements/setup/internals/InvitationScreen.styles.js.map +1 -0
- package/build/src/elements/setup/internals/LoginScreen.d.ts +61 -0
- package/build/src/elements/setup/internals/LoginScreen.d.ts.map +1 -0
- package/build/src/elements/setup/internals/LoginScreen.js +181 -0
- package/build/src/elements/setup/internals/LoginScreen.js.map +1 -0
- package/build/src/elements/setup/internals/LoginScreen.styles.d.ts +3 -0
- package/build/src/elements/setup/internals/LoginScreen.styles.d.ts.map +1 -0
- package/build/src/elements/setup/internals/LoginScreen.styles.js +3 -0
- package/build/src/elements/setup/internals/LoginScreen.styles.js.map +1 -0
- package/build/src/elements/setup/internals/OrganizationCreateScreen.d.ts +67 -0
- package/build/src/elements/setup/internals/OrganizationCreateScreen.d.ts.map +1 -0
- package/build/src/elements/setup/internals/OrganizationCreateScreen.js +194 -0
- package/build/src/elements/setup/internals/OrganizationCreateScreen.js.map +1 -0
- package/build/src/elements/setup/internals/OrganizationCreateScreen.styles.d.ts +3 -0
- package/build/src/elements/setup/internals/OrganizationCreateScreen.styles.d.ts.map +1 -0
- package/build/src/elements/setup/internals/OrganizationCreateScreen.styles.js +3 -0
- package/build/src/elements/setup/internals/OrganizationCreateScreen.styles.js.map +1 -0
- package/build/src/elements/setup/internals/OrganizationSelectionScreen.d.ts +41 -0
- package/build/src/elements/setup/internals/OrganizationSelectionScreen.d.ts.map +1 -0
- package/build/src/elements/setup/internals/OrganizationSelectionScreen.js +123 -0
- package/build/src/elements/setup/internals/OrganizationSelectionScreen.js.map +1 -0
- package/build/src/elements/setup/internals/OrganizationSelectionScreen.styles.d.ts +3 -0
- package/build/src/elements/setup/internals/OrganizationSelectionScreen.styles.d.ts.map +1 -0
- package/build/src/elements/setup/internals/OrganizationSelectionScreen.styles.js +3 -0
- package/build/src/elements/setup/internals/OrganizationSelectionScreen.styles.js.map +1 -0
- package/build/src/elements/setup/internals/OrganizationSelector.d.ts +56 -0
- package/build/src/elements/setup/internals/OrganizationSelector.d.ts.map +1 -0
- package/build/src/elements/setup/internals/OrganizationSelector.js +140 -0
- package/build/src/elements/setup/internals/OrganizationSelector.js.map +1 -0
- package/build/src/elements/setup/internals/OrganizationSelector.styles.d.ts +3 -0
- package/build/src/elements/setup/internals/OrganizationSelector.styles.d.ts.map +1 -0
- package/build/src/elements/setup/internals/OrganizationSelector.styles.js +3 -0
- package/build/src/elements/setup/internals/OrganizationSelector.styles.js.map +1 -0
- package/build/src/elements/setup/internals/common.styles.d.ts +3 -0
- package/build/src/elements/setup/internals/common.styles.d.ts.map +1 -0
- package/build/src/elements/setup/internals/common.styles.js +72 -0
- package/build/src/elements/setup/internals/common.styles.js.map +1 -0
- package/build/src/elements/setup/internals/icons.d.ts +4 -0
- package/build/src/elements/setup/internals/icons.d.ts.map +1 -0
- package/build/src/elements/setup/internals/icons.js +41 -0
- package/build/src/elements/setup/internals/icons.js.map +1 -0
- package/build/src/elements/setup/invitation-screen.d.ts +13 -0
- package/build/src/elements/setup/invitation-screen.d.ts.map +1 -0
- package/build/src/elements/setup/invitation-screen.js +32 -0
- package/build/src/elements/setup/invitation-screen.js.map +1 -0
- package/build/src/elements/setup/login-screen.d.ts +12 -0
- package/build/src/elements/setup/login-screen.d.ts.map +1 -0
- package/build/src/elements/setup/login-screen.js +31 -0
- package/build/src/elements/setup/login-screen.js.map +1 -0
- package/build/src/elements/setup/organization-create-screen.d.ts +13 -0
- package/build/src/elements/setup/organization-create-screen.d.ts.map +1 -0
- package/build/src/elements/setup/organization-create-screen.js +32 -0
- package/build/src/elements/setup/organization-create-screen.js.map +1 -0
- package/build/src/elements/setup/organization-selection-screen.d.ts +14 -0
- package/build/src/elements/setup/organization-selection-screen.d.ts.map +1 -0
- package/build/src/elements/setup/organization-selection-screen.js +33 -0
- package/build/src/elements/setup/organization-selection-screen.js.map +1 -0
- package/build/src/elements/setup/organization-selector.d.ts +32 -0
- package/build/src/elements/setup/organization-selector.d.ts.map +1 -0
- package/build/src/elements/setup/organization-selector.js +50 -0
- package/build/src/elements/setup/organization-selector.js.map +1 -0
- package/build/src/elements/user/internals/UserAvatar.d.ts +3 -1
- package/build/src/elements/user/internals/UserAvatar.d.ts.map +1 -1
- package/build/src/elements/user/internals/UserAvatar.js +5 -1
- package/build/src/elements/user/internals/UserAvatar.js.map +1 -1
- package/build/src/events/DomainEvents.d.ts +31 -0
- package/build/src/events/DomainEvents.d.ts.map +1 -0
- package/build/src/events/DomainEvents.js +65 -0
- package/build/src/events/DomainEvents.js.map +1 -0
- package/build/src/events/EventTypes.d.ts +7 -0
- package/build/src/events/EventTypes.d.ts.map +1 -1
- package/build/src/events/EventTypes.js +8 -0
- package/build/src/events/EventTypes.js.map +1 -1
- package/build/src/events/Events.d.ts +32 -25
- package/build/src/events/Events.d.ts.map +1 -1
- package/build/src/events/Events.js +2 -0
- package/build/src/events/Events.js.map +1 -1
- package/build/src/exceptions/builder.d.ts +11 -0
- package/build/src/exceptions/builder.d.ts.map +1 -0
- package/build/src/exceptions/builder.js +29 -0
- package/build/src/exceptions/builder.js.map +1 -0
- package/build/src/help/help_coordinator.d.ts +82 -0
- package/build/src/help/help_coordinator.d.ts.map +1 -0
- package/build/src/help/help_coordinator.js +206 -0
- package/build/src/help/help_coordinator.js.map +1 -0
- package/build/src/help/help_panel.d.ts +88 -0
- package/build/src/help/help_panel.d.ts.map +1 -0
- package/build/src/help/help_panel.js +323 -0
- package/build/src/help/help_panel.js.map +1 -0
- package/build/src/help/help_panel.styles.d.ts +3 -0
- package/build/src/help/help_panel.styles.d.ts.map +1 -0
- package/build/src/help/help_panel.styles.js +196 -0
- package/build/src/help/help_panel.styles.js.map +1 -0
- package/build/src/help/help_service_controller.d.ts +108 -0
- package/build/src/help/help_service_controller.d.ts.map +1 -0
- package/build/src/help/help_service_controller.js +252 -0
- package/build/src/help/help_service_controller.js.map +1 -0
- package/build/src/help/help_topic.d.ts +60 -0
- package/build/src/help/help_topic.d.ts.map +1 -0
- package/build/src/help/help_topic.js +2 -0
- package/build/src/help/help_topic.js.map +1 -0
- package/build/src/help/index.d.ts +6 -0
- package/build/src/help/index.d.ts.map +1 -0
- package/build/src/help/index.js +6 -0
- package/build/src/help/index.js.map +1 -0
- package/build/src/help/render.d.ts +14 -0
- package/build/src/help/render.d.ts.map +1 -0
- package/build/src/help/render.js +37 -0
- package/build/src/help/render.js.map +1 -0
- package/build/src/lib/Dom.d.ts +7 -0
- package/build/src/lib/Dom.d.ts.map +1 -1
- package/build/src/lib/Dom.js +33 -0
- package/build/src/lib/Dom.js.map +1 -1
- package/build/src/lib/files/Utils.d.ts +10 -0
- package/build/src/lib/files/Utils.d.ts.map +1 -1
- package/build/src/lib/files/Utils.js +47 -0
- package/build/src/lib/files/Utils.js.map +1 -1
- package/build/src/md/button/internals/base.d.ts +5 -0
- package/build/src/md/button/internals/base.d.ts.map +1 -1
- package/build/src/md/button/internals/base.js +23 -4
- package/build/src/md/button/internals/base.js.map +1 -1
- package/build/src/md/dropdown-list/internals/UiDropdownList.d.ts.map +1 -1
- package/build/src/md/dropdown-list/internals/UiDropdownList.js +11 -5
- package/build/src/md/dropdown-list/internals/UiDropdownList.js.map +1 -1
- package/build/src/md/icons/Icons.d.ts +2 -1
- package/build/src/md/icons/Icons.d.ts.map +1 -1
- package/build/src/md/icons/Icons.js +1 -0
- package/build/src/md/icons/Icons.js.map +1 -1
- package/build/src/md/input/Input.d.ts.map +1 -1
- package/build/src/md/input/Input.js +14 -9
- package/build/src/md/input/Input.js.map +1 -1
- package/build/src/md/list/internals/List.d.ts +8 -0
- package/build/src/md/list/internals/List.d.ts.map +1 -1
- package/build/src/md/list/internals/List.js +24 -2
- package/build/src/md/list/internals/List.js.map +1 -1
- package/build/src/md/list/internals/ListItem.d.ts.map +1 -1
- package/build/src/md/list/internals/ListItem.js +8 -4
- package/build/src/md/list/internals/ListItem.js.map +1 -1
- package/build/src/md/menu/internal/Menu.js +2 -2
- package/build/src/md/menu/internal/Menu.js.map +1 -1
- package/build/src/md/menu/internal/Menu.styles.d.ts.map +1 -1
- package/build/src/md/menu/internal/Menu.styles.js +4 -2
- package/build/src/md/menu/internal/Menu.styles.js.map +1 -1
- package/build/src/md/select/internals/Select.d.ts +4 -3
- package/build/src/md/select/internals/Select.d.ts.map +1 -1
- package/build/src/md/select/internals/Select.js +12 -15
- package/build/src/md/select/internals/Select.js.map +1 -1
- package/build/src/md/select/internals/Select.styles.d.ts.map +1 -1
- package/build/src/md/select/internals/Select.styles.js +3 -0
- package/build/src/md/select/internals/Select.styles.js.map +1 -1
- package/build/src/md/switch/internals/SwitchElement.js +3 -3
- package/build/src/md/switch/internals/SwitchElement.js.map +1 -1
- package/build/src/modeling/api-create-action-editor.d.ts +17 -0
- package/build/src/modeling/api-create-action-editor.d.ts.map +1 -0
- package/build/src/modeling/api-create-action-editor.js +34 -0
- package/build/src/modeling/api-create-action-editor.js.map +1 -0
- package/build/src/modeling/api-delete-action-editor.d.ts +21 -0
- package/build/src/modeling/api-delete-action-editor.d.ts.map +1 -0
- package/build/src/modeling/api-delete-action-editor.js +38 -0
- package/build/src/modeling/api-delete-action-editor.js.map +1 -0
- package/build/src/modeling/api-list-action-editor.d.ts +25 -0
- package/build/src/modeling/api-list-action-editor.d.ts.map +1 -0
- package/build/src/modeling/api-list-action-editor.js +42 -0
- package/build/src/modeling/api-list-action-editor.js.map +1 -0
- package/build/src/modeling/api-modeling-access-configuration.d.ts +21 -0
- package/build/src/modeling/api-modeling-access-configuration.d.ts.map +1 -0
- package/build/src/modeling/api-modeling-access-configuration.js +37 -0
- package/build/src/modeling/api-modeling-access-configuration.js.map +1 -0
- package/build/src/modeling/api-modeling-access.d.ts +19 -0
- package/build/src/modeling/api-modeling-access.d.ts.map +1 -0
- package/build/src/modeling/api-modeling-access.js +39 -0
- package/build/src/modeling/api-modeling-access.js.map +1 -0
- package/build/src/modeling/api-modeling-actions.d.ts +20 -0
- package/build/src/modeling/api-modeling-actions.d.ts.map +1 -0
- package/build/src/modeling/api-modeling-actions.js +40 -0
- package/build/src/modeling/api-modeling-actions.js.map +1 -0
- package/build/src/modeling/api-modeling-description.d.ts +15 -0
- package/build/src/modeling/api-modeling-description.d.ts.map +1 -0
- package/build/src/modeling/api-modeling-description.js +35 -0
- package/build/src/modeling/api-modeling-description.js.map +1 -0
- package/build/src/modeling/api-modeling-entity-card.d.ts +11 -0
- package/build/src/modeling/api-modeling-entity-card.d.ts.map +1 -0
- package/build/src/modeling/api-modeling-entity-card.js +28 -0
- package/build/src/modeling/api-modeling-entity-card.js.map +1 -0
- package/build/src/modeling/api-modeling-entity-editor.d.ts +17 -0
- package/build/src/modeling/api-modeling-entity-editor.d.ts.map +1 -0
- package/build/src/modeling/api-modeling-entity-editor.js +35 -0
- package/build/src/modeling/api-modeling-entity-editor.js.map +1 -0
- package/build/src/modeling/api-modeling-navigation.d.ts +13 -0
- package/build/src/modeling/api-modeling-navigation.d.ts.map +1 -0
- package/build/src/modeling/api-modeling-navigation.js +31 -0
- package/build/src/modeling/api-modeling-navigation.js.map +1 -0
- package/build/src/modeling/api-modeling-rate-limiting.d.ts +19 -0
- package/build/src/modeling/api-modeling-rate-limiting.d.ts.map +1 -0
- package/build/src/modeling/api-modeling-rate-limiting.js +35 -0
- package/build/src/modeling/api-modeling-rate-limiting.js.map +1 -0
- package/build/src/modeling/api-modeling-session.d.ts +31 -0
- package/build/src/modeling/api-modeling-session.d.ts.map +1 -0
- package/build/src/modeling/api-modeling-session.js +51 -0
- package/build/src/modeling/api-modeling-session.js.map +1 -0
- package/build/src/modeling/api-read-action-editor.d.ts +17 -0
- package/build/src/modeling/api-read-action-editor.d.ts.map +1 -0
- package/build/src/modeling/api-read-action-editor.js +34 -0
- package/build/src/modeling/api-read-action-editor.js.map +1 -0
- package/build/src/modeling/api-search-action-editor.d.ts +22 -0
- package/build/src/modeling/api-search-action-editor.d.ts.map +1 -0
- package/build/src/modeling/api-search-action-editor.js +39 -0
- package/build/src/modeling/api-search-action-editor.js.map +1 -0
- package/build/src/modeling/api-update-action-editor.d.ts +18 -0
- package/build/src/modeling/api-update-action-editor.d.ts.map +1 -0
- package/build/src/modeling/api-update-action-editor.js +35 -0
- package/build/src/modeling/api-update-action-editor.js.map +1 -0
- package/build/src/modeling/data-catalog-browser.d.ts +12 -0
- package/build/src/modeling/data-catalog-browser.d.ts.map +1 -0
- package/build/src/modeling/data-catalog-browser.js +28 -0
- package/build/src/modeling/data-catalog-browser.js.map +1 -0
- package/build/src/modeling/dialogs/CalculatedTaxonomy.d.ts +64 -0
- package/build/src/modeling/dialogs/CalculatedTaxonomy.d.ts.map +1 -0
- package/build/src/modeling/dialogs/CalculatedTaxonomy.js +299 -0
- package/build/src/modeling/dialogs/CalculatedTaxonomy.js.map +1 -0
- package/build/src/modeling/dialogs/CategoryTaxonomy.d.ts +25 -0
- package/build/src/modeling/dialogs/CategoryTaxonomy.d.ts.map +1 -0
- package/build/src/modeling/dialogs/CategoryTaxonomy.js +210 -0
- package/build/src/modeling/dialogs/CategoryTaxonomy.js.map +1 -0
- package/build/src/modeling/dialogs/CurrencyTaxonomy.d.ts +27 -0
- package/build/src/modeling/dialogs/CurrencyTaxonomy.d.ts.map +1 -0
- package/build/src/modeling/dialogs/CurrencyTaxonomy.js +212 -0
- package/build/src/modeling/dialogs/CurrencyTaxonomy.js.map +1 -0
- package/build/src/modeling/dialogs/EmailTaxonomy.d.ts +21 -0
- package/build/src/modeling/dialogs/EmailTaxonomy.d.ts.map +1 -0
- package/build/src/modeling/dialogs/EmailTaxonomy.js +166 -0
- package/build/src/modeling/dialogs/EmailTaxonomy.js.map +1 -0
- package/build/src/modeling/dialogs/GeospatialCoordinatesTaxonomy.d.ts +34 -0
- package/build/src/modeling/dialogs/GeospatialCoordinatesTaxonomy.d.ts.map +1 -0
- package/build/src/modeling/dialogs/GeospatialCoordinatesTaxonomy.js +488 -0
- package/build/src/modeling/dialogs/GeospatialCoordinatesTaxonomy.js.map +1 -0
- package/build/src/modeling/dialogs/HtmlTaxonomy.d.ts +31 -0
- package/build/src/modeling/dialogs/HtmlTaxonomy.d.ts.map +1 -0
- package/build/src/modeling/dialogs/HtmlTaxonomy.js +331 -0
- package/build/src/modeling/dialogs/HtmlTaxonomy.js.map +1 -0
- package/build/src/modeling/dialogs/MarkdownTaxonomy.d.ts +29 -0
- package/build/src/modeling/dialogs/MarkdownTaxonomy.d.ts.map +1 -0
- package/build/src/modeling/dialogs/MarkdownTaxonomy.js +290 -0
- package/build/src/modeling/dialogs/MarkdownTaxonomy.js.map +1 -0
- package/build/src/modeling/dialogs/PasswordTaxonomy.d.ts +22 -0
- package/build/src/modeling/dialogs/PasswordTaxonomy.d.ts.map +1 -0
- package/build/src/modeling/dialogs/PasswordTaxonomy.js +206 -0
- package/build/src/modeling/dialogs/PasswordTaxonomy.js.map +1 -0
- package/build/src/modeling/dialogs/PhoneTaxonomy.d.ts +21 -0
- package/build/src/modeling/dialogs/PhoneTaxonomy.d.ts.map +1 -0
- package/build/src/modeling/dialogs/PhoneTaxonomy.js +242 -0
- package/build/src/modeling/dialogs/PhoneTaxonomy.js.map +1 -0
- package/build/src/modeling/dialogs/PublicUniqueNameTaxonomy.d.ts +28 -0
- package/build/src/modeling/dialogs/PublicUniqueNameTaxonomy.d.ts.map +1 -0
- package/build/src/modeling/dialogs/PublicUniqueNameTaxonomy.js +205 -0
- package/build/src/modeling/dialogs/PublicUniqueNameTaxonomy.js.map +1 -0
- package/build/src/modeling/dialogs/SkuTaxonomy.d.ts +31 -0
- package/build/src/modeling/dialogs/SkuTaxonomy.d.ts.map +1 -0
- package/build/src/modeling/dialogs/SkuTaxonomy.js +319 -0
- package/build/src/modeling/dialogs/SkuTaxonomy.js.map +1 -0
- package/build/src/modeling/dialogs/StatusTaxonomy.d.ts +27 -0
- package/build/src/modeling/dialogs/StatusTaxonomy.d.ts.map +1 -0
- package/build/src/modeling/dialogs/StatusTaxonomy.js +138 -0
- package/build/src/modeling/dialogs/StatusTaxonomy.js.map +1 -0
- package/build/src/modeling/dialogs/TagsTaxonomy.d.ts +23 -0
- package/build/src/modeling/dialogs/TagsTaxonomy.d.ts.map +1 -0
- package/build/src/modeling/dialogs/TagsTaxonomy.js +169 -0
- package/build/src/modeling/dialogs/TagsTaxonomy.js.map +1 -0
- package/build/src/modeling/dialogs/TaxonomyDialog.d.ts +53 -0
- package/build/src/modeling/dialogs/TaxonomyDialog.d.ts.map +1 -0
- package/build/src/modeling/dialogs/TaxonomyDialog.js +176 -0
- package/build/src/modeling/dialogs/TaxonomyDialog.js.map +1 -0
- package/build/src/modeling/dialogs/UrlTaxonomy.d.ts +19 -0
- package/build/src/modeling/dialogs/UrlTaxonomy.d.ts.map +1 -0
- package/build/src/modeling/dialogs/UrlTaxonomy.js +199 -0
- package/build/src/modeling/dialogs/UrlTaxonomy.js.map +1 -0
- package/build/src/modeling/dialogs/common.d.ts +3 -0
- package/build/src/modeling/dialogs/common.d.ts.map +1 -0
- package/build/src/modeling/dialogs/common.js +52 -0
- package/build/src/modeling/dialogs/common.js.map +1 -0
- package/build/src/modeling/domain-association-editor.d.ts +20 -0
- package/build/src/modeling/domain-association-editor.d.ts.map +1 -0
- package/build/src/modeling/domain-association-editor.js +38 -0
- package/build/src/modeling/domain-association-editor.js.map +1 -0
- package/build/src/modeling/domain-auto-fields-dialog.d.ts +23 -0
- package/build/src/modeling/domain-auto-fields-dialog.d.ts.map +1 -0
- package/build/src/modeling/domain-auto-fields-dialog.js +58 -0
- package/build/src/modeling/domain-auto-fields-dialog.js.map +1 -0
- package/build/src/modeling/domain-browser.d.ts +19 -0
- package/build/src/modeling/domain-browser.d.ts.map +1 -0
- package/build/src/modeling/domain-browser.js +37 -0
- package/build/src/modeling/domain-browser.js.map +1 -0
- package/build/src/modeling/domain-entity-editor.d.ts +26 -0
- package/build/src/modeling/domain-entity-editor.d.ts.map +1 -0
- package/build/src/modeling/domain-entity-editor.js +46 -0
- package/build/src/modeling/domain-entity-editor.js.map +1 -0
- package/build/src/modeling/domain-file-import.d.ts +16 -0
- package/build/src/modeling/domain-file-import.d.ts.map +1 -0
- package/build/src/modeling/domain-file-import.js +34 -0
- package/build/src/modeling/domain-file-import.js.map +1 -0
- package/build/src/modeling/domain-model-editor.d.ts +13 -0
- package/build/src/modeling/domain-model-editor.d.ts.map +1 -0
- package/build/src/modeling/domain-model-editor.js +33 -0
- package/build/src/modeling/domain-model-editor.js.map +1 -0
- package/build/src/modeling/domain-namespace-editor.d.ts +14 -0
- package/build/src/modeling/domain-namespace-editor.d.ts.map +1 -0
- package/build/src/modeling/domain-namespace-editor.js +34 -0
- package/build/src/modeling/domain-namespace-editor.js.map +1 -0
- package/build/src/modeling/domain-navigation.d.ts +15 -0
- package/build/src/modeling/domain-navigation.d.ts.map +1 -0
- package/build/src/modeling/domain-navigation.js +33 -0
- package/build/src/modeling/domain-navigation.js.map +1 -0
- package/build/src/modeling/domain-property-editor.d.ts +14 -0
- package/build/src/modeling/domain-property-editor.d.ts.map +1 -0
- package/build/src/modeling/domain-property-editor.js +33 -0
- package/build/src/modeling/domain-property-editor.js.map +1 -0
- package/build/src/modeling/domain-template-browser.d.ts +14 -0
- package/build/src/modeling/domain-template-browser.d.ts.map +1 -0
- package/build/src/modeling/domain-template-browser.js +31 -0
- package/build/src/modeling/domain-template-browser.js.map +1 -0
- package/build/src/modeling/domain-validation-report.d.ts +13 -0
- package/build/src/modeling/domain-validation-report.d.ts.map +1 -0
- package/build/src/modeling/domain-validation-report.js +30 -0
- package/build/src/modeling/domain-validation-report.js.map +1 -0
- package/build/src/modeling/internals/ApiCreateActionEditor.d.ts +60 -0
- package/build/src/modeling/internals/ApiCreateActionEditor.d.ts.map +1 -0
- package/build/src/modeling/internals/ApiCreateActionEditor.js +216 -0
- package/build/src/modeling/internals/ApiCreateActionEditor.js.map +1 -0
- package/build/src/modeling/internals/ApiDeleteActionEditor.d.ts +70 -0
- package/build/src/modeling/internals/ApiDeleteActionEditor.d.ts.map +1 -0
- package/build/src/modeling/internals/ApiDeleteActionEditor.js +301 -0
- package/build/src/modeling/internals/ApiDeleteActionEditor.js.map +1 -0
- package/build/src/modeling/internals/ApiEditor.d.ts +59 -0
- package/build/src/modeling/internals/ApiEditor.d.ts.map +1 -0
- package/build/src/modeling/internals/ApiEditor.js +119 -0
- package/build/src/modeling/internals/ApiEditor.js.map +1 -0
- package/build/src/modeling/internals/ApiListActionEditor.d.ts +93 -0
- package/build/src/modeling/internals/ApiListActionEditor.d.ts.map +1 -0
- package/build/src/modeling/internals/ApiListActionEditor.js +505 -0
- package/build/src/modeling/internals/ApiListActionEditor.js.map +1 -0
- package/build/src/modeling/internals/ApiModelingAccessConfiguration.d.ts +100 -0
- package/build/src/modeling/internals/ApiModelingAccessConfiguration.d.ts.map +1 -0
- package/build/src/modeling/internals/ApiModelingAccessConfiguration.js +607 -0
- package/build/src/modeling/internals/ApiModelingAccessConfiguration.js.map +1 -0
- package/build/src/modeling/internals/ApiModelingAccessScreen.d.ts +36 -0
- package/build/src/modeling/internals/ApiModelingAccessScreen.d.ts.map +1 -0
- package/build/src/modeling/internals/ApiModelingAccessScreen.js +296 -0
- package/build/src/modeling/internals/ApiModelingAccessScreen.js.map +1 -0
- package/build/src/modeling/internals/ApiModelingActionsScreen.d.ts +82 -0
- package/build/src/modeling/internals/ApiModelingActionsScreen.d.ts.map +1 -0
- package/build/src/modeling/internals/ApiModelingActionsScreen.js +298 -0
- package/build/src/modeling/internals/ApiModelingActionsScreen.js.map +1 -0
- package/build/src/modeling/internals/ApiModelingDescriptionScreen.d.ts +40 -0
- package/build/src/modeling/internals/ApiModelingDescriptionScreen.d.ts.map +1 -0
- package/build/src/modeling/internals/ApiModelingDescriptionScreen.js +356 -0
- package/build/src/modeling/internals/ApiModelingDescriptionScreen.js.map +1 -0
- package/build/src/modeling/internals/ApiModelingEntityCard.d.ts +74 -0
- package/build/src/modeling/internals/ApiModelingEntityCard.d.ts.map +1 -0
- package/build/src/modeling/internals/ApiModelingEntityCard.js +225 -0
- package/build/src/modeling/internals/ApiModelingEntityCard.js.map +1 -0
- package/build/src/modeling/internals/ApiModelingEntityEditor.d.ts +50 -0
- package/build/src/modeling/internals/ApiModelingEntityEditor.d.ts.map +1 -0
- package/build/src/modeling/internals/ApiModelingEntityEditor.js +384 -0
- package/build/src/modeling/internals/ApiModelingEntityEditor.js.map +1 -0
- package/build/src/modeling/internals/ApiModelingNavigation.d.ts +36 -0
- package/build/src/modeling/internals/ApiModelingNavigation.d.ts.map +1 -0
- package/build/src/modeling/internals/ApiModelingNavigation.js +115 -0
- package/build/src/modeling/internals/ApiModelingNavigation.js.map +1 -0
- package/build/src/modeling/internals/ApiModelingRateLimiting.d.ts +59 -0
- package/build/src/modeling/internals/ApiModelingRateLimiting.d.ts.map +1 -0
- package/build/src/modeling/internals/ApiModelingRateLimiting.js +394 -0
- package/build/src/modeling/internals/ApiModelingRateLimiting.js.map +1 -0
- package/build/src/modeling/internals/ApiModelingScreen.d.ts +23 -0
- package/build/src/modeling/internals/ApiModelingScreen.d.ts.map +1 -0
- package/build/src/modeling/internals/ApiModelingScreen.js +50 -0
- package/build/src/modeling/internals/ApiModelingScreen.js.map +1 -0
- package/build/src/modeling/internals/ApiModelingSessionScreen.d.ts +79 -0
- package/build/src/modeling/internals/ApiModelingSessionScreen.d.ts.map +1 -0
- package/build/src/modeling/internals/ApiModelingSessionScreen.js +708 -0
- package/build/src/modeling/internals/ApiModelingSessionScreen.js.map +1 -0
- package/build/src/modeling/internals/ApiReadActionEditor.d.ts +60 -0
- package/build/src/modeling/internals/ApiReadActionEditor.d.ts.map +1 -0
- package/build/src/modeling/internals/ApiReadActionEditor.js +216 -0
- package/build/src/modeling/internals/ApiReadActionEditor.js.map +1 -0
- package/build/src/modeling/internals/ApiSearchActionEditor.d.ts +75 -0
- package/build/src/modeling/internals/ApiSearchActionEditor.d.ts.map +1 -0
- package/build/src/modeling/internals/ApiSearchActionEditor.js +340 -0
- package/build/src/modeling/internals/ApiSearchActionEditor.js.map +1 -0
- package/build/src/modeling/internals/ApiUpdateActionEditor.d.ts +67 -0
- package/build/src/modeling/internals/ApiUpdateActionEditor.d.ts.map +1 -0
- package/build/src/modeling/internals/ApiUpdateActionEditor.js +301 -0
- package/build/src/modeling/internals/ApiUpdateActionEditor.js.map +1 -0
- package/build/src/modeling/internals/DataCatalogBrowser.d.ts +108 -0
- package/build/src/modeling/internals/DataCatalogBrowser.d.ts.map +1 -0
- package/build/src/modeling/internals/DataCatalogBrowser.js +320 -0
- package/build/src/modeling/internals/DataCatalogBrowser.js.map +1 -0
- package/build/src/modeling/internals/DomainAssociationEditor.d.ts +116 -0
- package/build/src/modeling/internals/DomainAssociationEditor.d.ts.map +1 -0
- package/build/src/modeling/internals/DomainAssociationEditor.js +688 -0
- package/build/src/modeling/internals/DomainAssociationEditor.js.map +1 -0
- package/build/src/modeling/internals/DomainAutoFieldsDialog.d.ts +45 -0
- package/build/src/modeling/internals/DomainAutoFieldsDialog.d.ts.map +1 -0
- package/build/src/modeling/internals/DomainAutoFieldsDialog.js +290 -0
- package/build/src/modeling/internals/DomainAutoFieldsDialog.js.map +1 -0
- package/build/src/modeling/internals/DomainBrowser.d.ts +176 -0
- package/build/src/modeling/internals/DomainBrowser.d.ts.map +1 -0
- package/build/src/modeling/internals/DomainBrowser.js +492 -0
- package/build/src/modeling/internals/DomainBrowser.js.map +1 -0
- package/build/src/modeling/internals/DomainEntityEditor.d.ts +168 -0
- package/build/src/modeling/internals/DomainEntityEditor.d.ts.map +1 -0
- package/build/src/modeling/internals/DomainEntityEditor.js +1183 -0
- package/build/src/modeling/internals/DomainEntityEditor.js.map +1 -0
- package/build/src/modeling/internals/DomainFileImport.d.ts +101 -0
- package/build/src/modeling/internals/DomainFileImport.d.ts.map +1 -0
- package/build/src/modeling/internals/DomainFileImport.js +473 -0
- package/build/src/modeling/internals/DomainFileImport.js.map +1 -0
- package/build/src/modeling/internals/DomainModelEditor.d.ts +15 -0
- package/build/src/modeling/internals/DomainModelEditor.d.ts.map +1 -0
- package/build/src/modeling/internals/DomainModelEditor.js +81 -0
- package/build/src/modeling/internals/DomainModelEditor.js.map +1 -0
- package/build/src/modeling/internals/DomainNamespaceEditor.d.ts +15 -0
- package/build/src/modeling/internals/DomainNamespaceEditor.d.ts.map +1 -0
- package/build/src/modeling/internals/DomainNamespaceEditor.js +81 -0
- package/build/src/modeling/internals/DomainNamespaceEditor.js.map +1 -0
- package/build/src/modeling/internals/DomainNavigation.d.ts +352 -0
- package/build/src/modeling/internals/DomainNavigation.d.ts.map +1 -0
- package/build/src/modeling/internals/DomainNavigation.js +1734 -0
- package/build/src/modeling/internals/DomainNavigation.js.map +1 -0
- package/build/src/modeling/internals/DomainPropertyEditor.d.ts +289 -0
- package/build/src/modeling/internals/DomainPropertyEditor.d.ts.map +1 -0
- package/build/src/modeling/internals/DomainPropertyEditor.js +1478 -0
- package/build/src/modeling/internals/DomainPropertyEditor.js.map +1 -0
- package/build/src/modeling/internals/DomainTemplateBrowser.d.ts +82 -0
- package/build/src/modeling/internals/DomainTemplateBrowser.d.ts.map +1 -0
- package/build/src/modeling/internals/DomainTemplateBrowser.js +492 -0
- package/build/src/modeling/internals/DomainTemplateBrowser.js.map +1 -0
- package/build/src/modeling/internals/DomainValidationReport.d.ts +85 -0
- package/build/src/modeling/internals/DomainValidationReport.d.ts.map +1 -0
- package/build/src/modeling/internals/DomainValidationReport.js +372 -0
- package/build/src/modeling/internals/DomainValidationReport.js.map +1 -0
- package/build/src/modeling/internals/ModelingElement.d.ts +56 -0
- package/build/src/modeling/internals/ModelingElement.d.ts.map +1 -0
- package/build/src/modeling/internals/ModelingElement.js +122 -0
- package/build/src/modeling/internals/ModelingElement.js.map +1 -0
- package/build/src/modeling/internals/styles/AccessConfiguration.styles.d.ts +3 -0
- package/build/src/modeling/internals/styles/AccessConfiguration.styles.d.ts.map +1 -0
- package/build/src/modeling/internals/styles/AccessConfiguration.styles.js +106 -0
- package/build/src/modeling/internals/styles/AccessConfiguration.styles.js.map +1 -0
- package/build/src/modeling/internals/styles/ApiCreateActionEditor.styles.d.ts +3 -0
- package/build/src/modeling/internals/styles/ApiCreateActionEditor.styles.d.ts.map +1 -0
- package/build/src/modeling/internals/styles/ApiCreateActionEditor.styles.js +15 -0
- package/build/src/modeling/internals/styles/ApiCreateActionEditor.styles.js.map +1 -0
- package/build/src/modeling/internals/styles/ApiDeleteActionEditor.styles.d.ts +3 -0
- package/build/src/modeling/internals/styles/ApiDeleteActionEditor.styles.d.ts.map +1 -0
- package/build/src/modeling/internals/styles/ApiDeleteActionEditor.styles.js +15 -0
- package/build/src/modeling/internals/styles/ApiDeleteActionEditor.styles.js.map +1 -0
- package/build/src/modeling/internals/styles/ApiListActionEditor.styles.d.ts +3 -0
- package/build/src/modeling/internals/styles/ApiListActionEditor.styles.d.ts.map +1 -0
- package/build/src/modeling/internals/styles/ApiListActionEditor.styles.js +15 -0
- package/build/src/modeling/internals/styles/ApiListActionEditor.styles.js.map +1 -0
- package/build/src/modeling/internals/styles/ApiModelingActionsScreen.styles.d.ts +3 -0
- package/build/src/modeling/internals/styles/ApiModelingActionsScreen.styles.d.ts.map +1 -0
- package/build/src/modeling/internals/styles/ApiModelingActionsScreen.styles.js +31 -0
- package/build/src/modeling/internals/styles/ApiModelingActionsScreen.styles.js.map +1 -0
- package/build/src/modeling/internals/styles/ApiModelingEntityCard.d.ts +3 -0
- package/build/src/modeling/internals/styles/ApiModelingEntityCard.d.ts.map +1 -0
- package/build/src/modeling/internals/styles/ApiModelingEntityCard.js +85 -0
- package/build/src/modeling/internals/styles/ApiModelingEntityCard.js.map +1 -0
- package/build/src/modeling/internals/styles/ApiModelingEntityEditor.d.ts +3 -0
- package/build/src/modeling/internals/styles/ApiModelingEntityEditor.d.ts.map +1 -0
- package/build/src/modeling/internals/styles/ApiModelingEntityEditor.js +68 -0
- package/build/src/modeling/internals/styles/ApiModelingEntityEditor.js.map +1 -0
- package/build/src/modeling/internals/styles/ApiModelingNavigation.styles.d.ts +3 -0
- package/build/src/modeling/internals/styles/ApiModelingNavigation.styles.d.ts.map +1 -0
- package/build/src/modeling/internals/styles/ApiModelingNavigation.styles.js +23 -0
- package/build/src/modeling/internals/styles/ApiModelingNavigation.styles.js.map +1 -0
- package/build/src/modeling/internals/styles/ApiReadActionEditor.styles.d.ts +3 -0
- package/build/src/modeling/internals/styles/ApiReadActionEditor.styles.d.ts.map +1 -0
- package/build/src/modeling/internals/styles/ApiReadActionEditor.styles.js +15 -0
- package/build/src/modeling/internals/styles/ApiReadActionEditor.styles.js.map +1 -0
- package/build/src/modeling/internals/styles/ApiSearchActionEditor.styles.d.ts +3 -0
- package/build/src/modeling/internals/styles/ApiSearchActionEditor.styles.d.ts.map +1 -0
- package/build/src/modeling/internals/styles/ApiSearchActionEditor.styles.js +15 -0
- package/build/src/modeling/internals/styles/ApiSearchActionEditor.styles.js.map +1 -0
- package/build/src/modeling/internals/styles/ApiUpdateActionEditor.styles.d.ts +3 -0
- package/build/src/modeling/internals/styles/ApiUpdateActionEditor.styles.d.ts.map +1 -0
- package/build/src/modeling/internals/styles/ApiUpdateActionEditor.styles.js +15 -0
- package/build/src/modeling/internals/styles/ApiUpdateActionEditor.styles.js.map +1 -0
- package/build/src/modeling/internals/styles/DataCatalogBrowser.styles.d.ts +3 -0
- package/build/src/modeling/internals/styles/DataCatalogBrowser.styles.d.ts.map +1 -0
- package/build/src/modeling/internals/styles/DataCatalogBrowser.styles.js +53 -0
- package/build/src/modeling/internals/styles/DataCatalogBrowser.styles.js.map +1 -0
- package/build/src/modeling/internals/styles/DomainAutoFieldsDialog.d.ts +3 -0
- package/build/src/modeling/internals/styles/DomainAutoFieldsDialog.d.ts.map +1 -0
- package/build/src/modeling/internals/styles/DomainAutoFieldsDialog.js +35 -0
- package/build/src/modeling/internals/styles/DomainAutoFieldsDialog.js.map +1 -0
- package/build/src/modeling/internals/styles/DomainBrowser.styles.d.ts +3 -0
- package/build/src/modeling/internals/styles/DomainBrowser.styles.d.ts.map +1 -0
- package/build/src/modeling/internals/styles/DomainBrowser.styles.js +26 -0
- package/build/src/modeling/internals/styles/DomainBrowser.styles.js.map +1 -0
- package/build/src/modeling/internals/styles/DomainEntityEditor.styles.d.ts +3 -0
- package/build/src/modeling/internals/styles/DomainEntityEditor.styles.d.ts.map +1 -0
- package/build/src/modeling/internals/styles/DomainEntityEditor.styles.js +98 -0
- package/build/src/modeling/internals/styles/DomainEntityEditor.styles.js.map +1 -0
- package/build/src/modeling/internals/styles/DomainFileImport.styles.d.ts +3 -0
- package/build/src/modeling/internals/styles/DomainFileImport.styles.d.ts.map +1 -0
- package/build/src/modeling/internals/styles/DomainFileImport.styles.js +100 -0
- package/build/src/modeling/internals/styles/DomainFileImport.styles.js.map +1 -0
- package/build/src/modeling/internals/styles/DomainModelEditor.styles.d.ts +3 -0
- package/build/src/modeling/internals/styles/DomainModelEditor.styles.d.ts.map +1 -0
- package/build/src/modeling/internals/styles/DomainModelEditor.styles.js +7 -0
- package/build/src/modeling/internals/styles/DomainModelEditor.styles.js.map +1 -0
- package/build/src/modeling/internals/styles/DomainNamespaceEditor.styles.d.ts +3 -0
- package/build/src/modeling/internals/styles/DomainNamespaceEditor.styles.d.ts.map +1 -0
- package/build/src/modeling/internals/styles/DomainNamespaceEditor.styles.js +7 -0
- package/build/src/modeling/internals/styles/DomainNamespaceEditor.styles.js.map +1 -0
- package/build/src/modeling/internals/styles/DomainNavigation.styles.d.ts +3 -0
- package/build/src/modeling/internals/styles/DomainNavigation.styles.d.ts.map +1 -0
- package/build/src/modeling/internals/styles/DomainNavigation.styles.js +343 -0
- package/build/src/modeling/internals/styles/DomainNavigation.styles.js.map +1 -0
- package/build/src/modeling/internals/styles/DomainPropertyEditor.styles.d.ts +3 -0
- package/build/src/modeling/internals/styles/DomainPropertyEditor.styles.d.ts.map +1 -0
- package/build/src/modeling/internals/styles/DomainPropertyEditor.styles.js +18 -0
- package/build/src/modeling/internals/styles/DomainPropertyEditor.styles.js.map +1 -0
- package/build/src/modeling/internals/styles/DomainTemplateBrowser.styles.d.ts +3 -0
- package/build/src/modeling/internals/styles/DomainTemplateBrowser.styles.d.ts.map +1 -0
- package/build/src/modeling/internals/styles/DomainTemplateBrowser.styles.js +553 -0
- package/build/src/modeling/internals/styles/DomainTemplateBrowser.styles.js.map +1 -0
- package/build/src/modeling/internals/styles/DomainValidationReport.styles.d.ts +3 -0
- package/build/src/modeling/internals/styles/DomainValidationReport.styles.d.ts.map +1 -0
- package/build/src/modeling/internals/styles/DomainValidationReport.styles.js +75 -0
- package/build/src/modeling/internals/styles/DomainValidationReport.styles.js.map +1 -0
- package/build/src/modeling/internals/styles/EditorCommon.styles.d.ts +8 -0
- package/build/src/modeling/internals/styles/EditorCommon.styles.d.ts.map +1 -0
- package/build/src/modeling/internals/styles/EditorCommon.styles.js +141 -0
- package/build/src/modeling/internals/styles/EditorCommon.styles.js.map +1 -0
- package/build/src/modeling/internals/styles/RateLimiting.styles.d.ts +3 -0
- package/build/src/modeling/internals/styles/RateLimiting.styles.d.ts.map +1 -0
- package/build/src/modeling/internals/styles/RateLimiting.styles.js +83 -0
- package/build/src/modeling/internals/styles/RateLimiting.styles.js.map +1 -0
- package/build/src/modeling/internals/styles/api.styles.d.ts +3 -0
- package/build/src/modeling/internals/styles/api.styles.d.ts.map +1 -0
- package/build/src/modeling/internals/styles/api.styles.js +146 -0
- package/build/src/modeling/internals/styles/api.styles.js.map +1 -0
- package/build/src/modeling/internals/styles/form_styles.d.ts +3 -0
- package/build/src/modeling/internals/styles/form_styles.d.ts.map +1 -0
- package/build/src/modeling/internals/styles/form_styles.js +107 -0
- package/build/src/modeling/internals/styles/form_styles.js.map +1 -0
- package/build/src/modeling/internals/styles/learning.styles.d.ts +3 -0
- package/build/src/modeling/internals/styles/learning.styles.d.ts.map +1 -0
- package/build/src/modeling/internals/styles/learning.styles.js +40 -0
- package/build/src/modeling/internals/styles/learning.styles.js.map +1 -0
- package/build/src/modeling/lib/access_helpers.d.ts +8 -0
- package/build/src/modeling/lib/access_helpers.d.ts.map +1 -0
- package/build/src/modeling/lib/access_helpers.js +42 -0
- package/build/src/modeling/lib/access_helpers.js.map +1 -0
- package/build/src/modeling/lib/formula_parser.d.ts +57 -0
- package/build/src/modeling/lib/formula_parser.d.ts.map +1 -0
- package/build/src/modeling/lib/formula_parser.js +162 -0
- package/build/src/modeling/lib/formula_parser.js.map +1 -0
- package/build/src/modeling/lib/ui_mapping.d.ts +60 -0
- package/build/src/modeling/lib/ui_mapping.d.ts.map +1 -0
- package/build/src/modeling/lib/ui_mapping.js +244 -0
- package/build/src/modeling/lib/ui_mapping.js.map +1 -0
- package/build/src/modeling/lib/validators.d.ts +15 -0
- package/build/src/modeling/lib/validators.d.ts.map +1 -0
- package/build/src/modeling/lib/validators.js +26 -0
- package/build/src/modeling/lib/validators.js.map +1 -0
- package/build/src/modeling/types.d.ts +261 -0
- package/build/src/modeling/types.d.ts.map +1 -0
- package/build/src/modeling/types.js +2 -0
- package/build/src/modeling/types.js.map +1 -0
- package/build/src/providers/organization.d.ts +9 -0
- package/build/src/providers/organization.d.ts.map +1 -0
- package/build/src/providers/organization.js +6 -0
- package/build/src/providers/organization.js.map +1 -0
- package/build/src/providers/organizations.d.ts +9 -0
- package/build/src/providers/organizations.d.ts.map +1 -0
- package/build/src/providers/organizations.js +6 -0
- package/build/src/providers/organizations.js.map +1 -0
- package/build/src/providers/user.d.ts +9 -0
- package/build/src/providers/user.d.ts.map +1 -0
- package/build/src/providers/user.js +6 -0
- package/build/src/providers/user.js.map +1 -0
- package/build/src/services/CacheService.d.ts +29 -0
- package/build/src/services/CacheService.d.ts.map +1 -0
- package/build/src/services/CacheService.js +47 -0
- package/build/src/services/CacheService.js.map +1 -0
- package/build/src/services/ConfigurationService.d.ts +12 -0
- package/build/src/services/ConfigurationService.d.ts.map +1 -0
- package/build/src/services/ConfigurationService.js +23 -0
- package/build/src/services/ConfigurationService.js.map +1 -0
- package/build/src/services/LoggingService.d.ts +29 -0
- package/build/src/services/LoggingService.d.ts.map +1 -0
- package/build/src/services/LoggingService.js +49 -0
- package/build/src/services/LoggingService.js.map +1 -0
- package/build/src/services/OrganizationService.d.ts +79 -0
- package/build/src/services/OrganizationService.d.ts.map +1 -0
- package/build/src/services/OrganizationService.js +222 -0
- package/build/src/services/OrganizationService.js.map +1 -0
- package/build/src/services/SdkService.d.ts +22 -0
- package/build/src/services/SdkService.d.ts.map +1 -0
- package/build/src/services/SdkService.js +46 -0
- package/build/src/services/SdkService.js.map +1 -0
- package/build/src/services/TransmitService.d.ts +14 -0
- package/build/src/services/TransmitService.d.ts.map +1 -0
- package/build/src/services/TransmitService.js +23 -0
- package/build/src/services/TransmitService.js.map +1 -0
- package/build/src/services/UserCacheService.d.ts +22 -0
- package/build/src/services/UserCacheService.d.ts.map +1 -0
- package/build/src/services/UserCacheService.js +49 -0
- package/build/src/services/UserCacheService.js.map +1 -0
- package/build/src/services/UserService.d.ts +50 -0
- package/build/src/services/UserService.d.ts.map +1 -0
- package/build/src/services/UserService.js +199 -0
- package/build/src/services/UserService.js.map +1 -0
- package/build/src/services/api_service.d.ts +22 -0
- package/build/src/services/api_service.d.ts.map +1 -0
- package/build/src/services/api_service.js +4 -0
- package/build/src/services/api_service.js.map +1 -0
- package/build/tsconfig.tsbuildinfo +1 -1
- package/lit-plugin.log +7904 -0
- package/package.json +20 -9
- package/src/builders/DialogBuilder.ts +474 -0
- package/src/builders/README.md +272 -0
- package/src/cache/Cache.ts +265 -0
- package/src/core/Model.ts +53 -119
- package/src/core/ServiceManager.ts +1 -0
- package/src/data/BreadcrumbsModel.ts +85 -0
- package/src/data/DataCatalogModel.ts +199 -0
- package/src/data/DomainBrowserModel.ts +118 -0
- package/src/data/FileModel.ts +76 -0
- package/src/data/FileShareModel.ts +258 -0
- package/src/data/FilesModel.ts +226 -0
- package/src/data/InvitationModel.ts +69 -0
- package/src/data/PatchableFileModel.ts +293 -0
- package/src/data/PatchableLiveDataContentModel.ts +34 -0
- package/src/data/PatchableRawContentModel.ts +43 -0
- package/src/data/TrashModel.ts +125 -0
- package/src/data/UserModel.ts +102 -0
- package/src/data/UsersModel.ts +325 -0
- package/src/data/retry_logic.ts +111 -0
- package/src/elements/autocomplete/internals/autocomplete.ts +5 -2
- package/src/elements/data-table/DataTable.styles.ts +7 -2
- package/src/elements/data-table/DataTable.ts +24 -5
- package/src/elements/data-table/data-catalog-table.ts +22 -0
- package/src/elements/data-table/filesystem-table.ts +24 -0
- package/src/elements/data-table/internals/DataCatalog.styles.ts +29 -0
- package/src/elements/data-table/internals/DataCatalogTable.ts +234 -0
- package/src/elements/data-table/internals/Filesystem.styles.ts +23 -0
- package/src/elements/data-table/internals/FilesystemDataTable.ts +227 -0
- package/src/elements/data-table/internals/TrashDataTable.ts +157 -0
- package/src/elements/data-table/internals/UserData.styles.ts +16 -0
- package/src/elements/data-table/internals/UsersDataTable.ts +238 -0
- package/src/elements/data-table/trash-table.ts +16 -0
- package/src/elements/data-table/users-table.ts +16 -0
- package/src/elements/file-system/internals/Breadcrumbs.ts +0 -3
- package/src/elements/file-system/internals/QuickApiFilesystem.styles.ts +49 -0
- package/src/elements/file-system/internals/QuickApiFilesystem.ts +452 -0
- package/src/elements/file-system/internals/ShareFile.styles.ts +98 -0
- package/src/elements/file-system/internals/ShareFile.ts +540 -0
- package/src/elements/file-system/quick-api-filesystem.ts +16 -0
- package/src/elements/file-system/share-file.ts +26 -0
- package/src/elements/file-system/ui-breadcrumbs.ts +3 -0
- package/src/elements/layout/SplitItem.ts +0 -8
- package/src/elements/navigation/internals/Navigation.ts +9 -4
- package/src/elements/search-input/internals/input.styles.ts +38 -0
- package/src/elements/search-input/internals/input.ts +74 -0
- package/src/elements/search-input/search-input.ts +18 -0
- package/src/elements/setup/Readme.md +3 -0
- package/src/elements/setup/internals/InvitationScreen.styles.ts +3 -0
- package/src/elements/setup/internals/InvitationScreen.ts +418 -0
- package/src/elements/setup/internals/LoginScreen.styles.ts +3 -0
- package/src/elements/setup/internals/LoginScreen.ts +136 -0
- package/src/elements/setup/internals/OrganizationCreateScreen.styles.ts +3 -0
- package/src/elements/setup/internals/OrganizationCreateScreen.ts +170 -0
- package/src/elements/setup/internals/OrganizationSelectionScreen.styles.ts +3 -0
- package/src/elements/setup/internals/OrganizationSelectionScreen.ts +100 -0
- package/src/elements/setup/internals/OrganizationSelector.styles.ts +3 -0
- package/src/elements/setup/internals/OrganizationSelector.ts +133 -0
- package/src/elements/setup/internals/common.styles.ts +72 -0
- package/src/elements/setup/internals/icons.ts +43 -0
- package/src/elements/setup/invitation-screen.ts +20 -0
- package/src/elements/setup/login-screen.ts +19 -0
- package/src/elements/setup/organization-create-screen.ts +20 -0
- package/src/elements/setup/organization-selection-screen.ts +21 -0
- package/src/elements/setup/organization-selector.ts +38 -0
- package/src/elements/user/internals/UserAvatar.ts +7 -2
- package/src/events/DomainEvents.ts +80 -0
- package/src/events/EventTypes.ts +8 -0
- package/src/events/Events.ts +2 -0
- package/src/exceptions/builder.ts +28 -0
- package/src/help/README.md +99 -0
- package/src/help/help_coordinator.ts +168 -0
- package/src/help/help_panel.styles.ts +196 -0
- package/src/help/help_panel.ts +329 -0
- package/src/help/help_service_controller.ts +338 -0
- package/src/help/help_topic.ts +61 -0
- package/src/help/index.ts +8 -0
- package/src/help/render.ts +41 -0
- package/src/lib/Dom.ts +36 -0
- package/src/lib/files/Utils.ts +65 -0
- package/src/md/button/internals/base.ts +15 -3
- package/src/md/dropdown-list/internals/UiDropdownList.ts +11 -4
- package/src/md/icons/Icons.ts +8 -0
- package/src/md/input/Input.ts +14 -9
- package/src/md/list/internals/List.ts +17 -1
- package/src/md/list/internals/ListItem.ts +6 -4
- package/src/md/menu/internal/Menu.styles.ts +4 -2
- package/src/md/menu/internal/Menu.ts +2 -2
- package/src/md/select/internals/Select.styles.ts +3 -0
- package/src/md/select/internals/Select.ts +16 -18
- package/src/md/switch/internals/SwitchElement.ts +3 -3
- package/src/modeling/api-create-action-editor.ts +23 -0
- package/src/modeling/api-delete-action-editor.ts +27 -0
- package/src/modeling/api-list-action-editor.ts +31 -0
- package/src/modeling/api-modeling-access-configuration.ts +28 -0
- package/src/modeling/api-modeling-access.ts +27 -0
- package/src/modeling/api-modeling-actions.ts +30 -0
- package/src/modeling/api-modeling-description.ts +23 -0
- package/src/modeling/api-modeling-entity-card.ts +16 -0
- package/src/modeling/api-modeling-entity-editor.ts +24 -0
- package/src/modeling/api-modeling-navigation.ts +19 -0
- package/src/modeling/api-modeling-rate-limiting.ts +26 -0
- package/src/modeling/api-modeling-session.ts +39 -0
- package/src/modeling/api-read-action-editor.ts +23 -0
- package/src/modeling/api-search-action-editor.ts +28 -0
- package/src/modeling/api-update-action-editor.ts +24 -0
- package/src/modeling/data-catalog-browser.ts +18 -0
- package/src/modeling/dialogs/CalculatedTaxonomy.ts +305 -0
- package/src/modeling/dialogs/CategoryTaxonomy.ts +210 -0
- package/src/modeling/dialogs/CurrencyTaxonomy.ts +209 -0
- package/src/modeling/dialogs/EmailTaxonomy.ts +163 -0
- package/src/modeling/dialogs/GeospatialCoordinatesTaxonomy.ts +500 -0
- package/src/modeling/dialogs/HtmlTaxonomy.ts +333 -0
- package/src/modeling/dialogs/MarkdownTaxonomy.ts +290 -0
- package/src/modeling/dialogs/PasswordTaxonomy.ts +201 -0
- package/src/modeling/dialogs/PhoneTaxonomy.ts +238 -0
- package/src/modeling/dialogs/PublicUniqueNameTaxonomy.ts +212 -0
- package/src/modeling/dialogs/SkuTaxonomy.ts +321 -0
- package/src/modeling/dialogs/StatusTaxonomy.ts +132 -0
- package/src/modeling/dialogs/TagsTaxonomy.ts +163 -0
- package/src/modeling/dialogs/TaxonomyDialog.ts +183 -0
- package/src/modeling/dialogs/UrlTaxonomy.ts +194 -0
- package/src/modeling/dialogs/common.ts +52 -0
- package/src/modeling/domain-association-editor.ts +26 -0
- package/src/modeling/domain-auto-fields-dialog.ts +55 -0
- package/src/modeling/domain-browser.ts +25 -0
- package/src/modeling/domain-entity-editor.ts +34 -0
- package/src/modeling/domain-file-import.ts +22 -0
- package/src/modeling/domain-model-editor.ts +21 -0
- package/src/modeling/domain-namespace-editor.ts +22 -0
- package/src/modeling/domain-navigation.ts +21 -0
- package/src/modeling/domain-property-editor.ts +21 -0
- package/src/modeling/domain-template-browser.ts +19 -0
- package/src/modeling/domain-validation-report.ts +18 -0
- package/src/modeling/internals/ApiCreateActionEditor.ts +177 -0
- package/src/modeling/internals/ApiDeleteActionEditor.ts +269 -0
- package/src/modeling/internals/ApiEditor.ts +91 -0
- package/src/modeling/internals/ApiListActionEditor.ts +479 -0
- package/src/modeling/internals/ApiModelingAccessConfiguration.ts +606 -0
- package/src/modeling/internals/ApiModelingAccessScreen.ts +279 -0
- package/src/modeling/internals/ApiModelingActionsScreen.ts +333 -0
- package/src/modeling/internals/ApiModelingDescriptionScreen.ts +342 -0
- package/src/modeling/internals/ApiModelingEntityCard.ts +210 -0
- package/src/modeling/internals/ApiModelingEntityEditor.ts +363 -0
- package/src/modeling/internals/ApiModelingNavigation.ts +87 -0
- package/src/modeling/internals/ApiModelingRateLimiting.ts +389 -0
- package/src/modeling/internals/ApiModelingScreen.ts +43 -0
- package/src/modeling/internals/ApiModelingSessionScreen.ts +725 -0
- package/src/modeling/internals/ApiReadActionEditor.ts +177 -0
- package/src/modeling/internals/ApiSearchActionEditor.ts +302 -0
- package/src/modeling/internals/ApiUpdateActionEditor.ts +266 -0
- package/src/modeling/internals/DataCatalogBrowser.ts +286 -0
- package/src/modeling/internals/DomainAssociationEditor.ts +722 -0
- package/src/modeling/internals/DomainAutoFieldsDialog.ts +281 -0
- package/src/modeling/internals/DomainBrowser.ts +499 -0
- package/src/modeling/internals/DomainEntityEditor.ts +1245 -0
- package/src/modeling/internals/DomainFileImport.ts +482 -0
- package/src/modeling/internals/DomainModelEditor.ts +87 -0
- package/src/modeling/internals/DomainNamespaceEditor.ts +87 -0
- package/src/modeling/internals/DomainNavigation.ts +1887 -0
- package/src/modeling/internals/DomainPropertyEditor.ts +1506 -0
- package/src/modeling/internals/DomainTemplateBrowser.ts +500 -0
- package/src/modeling/internals/DomainValidationReport.ts +291 -0
- package/src/modeling/internals/ModelingElement.ts +95 -0
- package/src/modeling/internals/styles/AccessConfiguration.styles.ts +106 -0
- package/src/modeling/internals/styles/ApiCreateActionEditor.styles.ts +15 -0
- package/src/modeling/internals/styles/ApiDeleteActionEditor.styles.ts +15 -0
- package/src/modeling/internals/styles/ApiListActionEditor.styles.ts +15 -0
- package/src/modeling/internals/styles/ApiModelingActionsScreen.styles.ts +31 -0
- package/src/modeling/internals/styles/ApiModelingEntityCard.ts +85 -0
- package/src/modeling/internals/styles/ApiModelingEntityEditor.ts +68 -0
- package/src/modeling/internals/styles/ApiModelingNavigation.styles.ts +23 -0
- package/src/modeling/internals/styles/ApiReadActionEditor.styles.ts +15 -0
- package/src/modeling/internals/styles/ApiSearchActionEditor.styles.ts +15 -0
- package/src/modeling/internals/styles/ApiUpdateActionEditor.styles.ts +15 -0
- package/src/modeling/internals/styles/DataCatalogBrowser.styles.ts +53 -0
- package/src/modeling/internals/styles/DomainAutoFieldsDialog.ts +35 -0
- package/src/modeling/internals/styles/DomainBrowser.styles.ts +26 -0
- package/src/modeling/internals/styles/DomainEntityEditor.styles.ts +98 -0
- package/src/modeling/internals/styles/DomainFileImport.styles.ts +100 -0
- package/src/modeling/internals/styles/DomainModelEditor.styles.ts +7 -0
- package/src/modeling/internals/styles/DomainNamespaceEditor.styles.ts +7 -0
- package/src/modeling/internals/styles/DomainNavigation.styles.ts +343 -0
- package/src/modeling/internals/styles/DomainPropertyEditor.styles.ts +18 -0
- package/src/modeling/internals/styles/DomainTemplateBrowser.styles.ts +553 -0
- package/src/modeling/internals/styles/DomainValidationReport.styles.ts +75 -0
- package/src/modeling/internals/styles/EditorCommon.styles.ts +141 -0
- package/src/modeling/internals/styles/RateLimiting.styles.ts +83 -0
- package/src/modeling/internals/styles/api.styles.ts +146 -0
- package/src/modeling/internals/styles/form_styles.ts +107 -0
- package/src/modeling/internals/styles/learning.styles.ts +40 -0
- package/src/modeling/lib/access_helpers.ts +57 -0
- package/src/modeling/lib/formula_parser.ts +187 -0
- package/src/modeling/lib/ui_mapping.ts +258 -0
- package/src/modeling/lib/validators.ts +30 -0
- package/src/modeling/types.ts +279 -0
- package/src/providers/organization.ts +7 -0
- package/src/providers/organizations.ts +7 -0
- package/src/providers/user.ts +7 -0
- package/src/services/CacheService.ts +56 -0
- package/src/services/ConfigurationService.ts +28 -0
- package/src/services/LoggingService.ts +60 -0
- package/src/services/OrganizationService.ts +238 -0
- package/src/services/SdkService.ts +57 -0
- package/src/services/TransmitService.ts +28 -0
- package/src/services/UserCacheService.ts +51 -0
- package/src/services/UserService.ts +214 -0
- package/src/services/api_service.ts +24 -0
- package/tsconfig.json +19 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApiModelingAccessConfiguration.js","sourceRoot":"","sources":["../../../../src/modeling/internals/ApiModelingAccessConfiguration.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, type TemplateResult, type PropertyValues, nothing } from 'lit'\nimport { repeat } from 'lit/directives/repeat.js'\nimport {\n type DomainAssociation,\n type MatchResourceOwnerAccessRule,\n type MatchUserRoleAccessRule,\n SemanticType,\n type AccessRule,\n type ApiModel,\n type DomainProperty,\n type DomainEntity,\n} from '@api-client/core/browser.js'\nimport { ApiEditor } from './ApiEditor.js'\nimport { property, state } from 'lit/decorators.js'\nimport type { ApiModelAccessTarget, ApiModelOperationName } from '../types.js'\nimport { isValidAccessRuleType, isValidAccessTarget, isValidOperationName } from '../lib/validators.js'\nimport { renderHelp } from '../../help/render.js'\nimport { createEmptyAccessRule } from '../lib/access_helpers.js'\n\n/**\n * An editor for configuring access settings of the API.\n * Access settings can be added either to the API itself, on an endpoint (exposed entity), or to individual operations.\n *\n * This editor doesn't support the dirty state. Any changes made in the editor are immediately reflected in the model.\n */\nexport default class ApiModelingAccessConfiguration extends ApiEditor {\n /**\n * The operation of the access configuration.\n * Can be one of: `list`, `read`, `create`, `update`, `delete`, or `search`.\n *\n * This property is only relevant when the `target` property is set to `action`.\n * If the `target` property is set to `api` or `endpoint`, this property is ignored.\n *\n * If the value is not set, the editor will not render anything.\n * @attribute\n */\n @property({ type: String }) accessor operation: ApiModelOperationName | undefined\n\n /**\n * The target of the access configuration.\n * Can be one of: `api`, `action`, or `endpoint`.\n *\n * When the value is set to `api`, the `operation` and `domainKey` properties are ignored.\n * When the value is set to `action`, the `operation` property must be set and the `domainKey` property\n * must point to an exposed entity.\n * When the value is set to `endpoint`, the `operation` property is ignored and the `domainKey` property\n * must point to an exposed entity.\n *\n * If the value is not set, the editor will not render anything.\n * @attribute\n */\n @property({ type: String }) accessor target: ApiModelAccessTarget | undefined\n\n /**\n * The access rules being edited.\n * This property is set when the `model`, `domainKey`, `operation`, or `target` properties change.\n * The editor should use this property to render the access rules and allow editing them.\n *\n * Note, it is a direct reference to the underlying model. Any changes to this array or its items\n * will be reflected in the model.\n */\n @state() accessor rules: AccessRule[]\n\n /**\n * The domain property of the user object in the domain model that has the UserRole semantic.\n */\n @state() accessor userRoleProperty: DomainProperty | null = null\n /**\n * An association of the exposed entity that has the ResourceOwner semantic.\n */\n @state() accessor resourceOwnerAssociation: DomainAssociation | null = null\n\n constructor() {\n super()\n this.operation = undefined\n this.target = undefined\n this.rules = []\n }\n\n protected override willUpdate(cp: PropertyValues<this>): void {\n if (cp.has('operation') || cp.has('target')) {\n this.setupModel(this.model, this.domainKey)\n } else {\n // We don't need to call `super.willUpdate(cp)` if we are calling `setupModel`\n super.willUpdate(cp)\n }\n }\n\n protected resetModel(): void {\n this.rules = []\n this.userRoleProperty = null\n this.resourceOwnerAssociation = null\n }\n\n protected override setupModel(model?: ApiModel, domainKey?: string): void | Promise<void> {\n const { target } = this\n this.resetModel()\n if (!model || !isValidAccessTarget(target)) {\n return\n }\n this.setupRules(model, target, domainKey)\n this.setupUserRoleProperty(model)\n this.setupResourceOwnerAssociation(model, target, domainKey)\n }\n\n protected setupRules(model: ApiModel, target: ApiModelAccessTarget, domainKey?: string): void {\n const { operation } = this\n if (target === 'api') {\n this.rules = model.accessRule ?? []\n return\n }\n // Everything else requires an `domainKey`\n if (!domainKey) {\n return\n }\n const entity = model.exposes.find((e) => e.key === domainKey)\n if (!entity) {\n return\n }\n if (target === 'endpoint') {\n this.rules = entity.accessRule ?? []\n return\n }\n // Everything else requires an operation\n if (!isValidOperationName(operation)) {\n return\n }\n // At this point we know that target === 'action' and operation is set\n // So we need to find the action in the entity and get its access rules\n const action = entity.actions.find((a) => a.kind === operation)\n this.rules = action?.accessRule ?? []\n }\n\n protected setupUserRoleProperty(model: ApiModel): void {\n const domain = model.domain\n if (!domain) {\n this.userRoleProperty = null\n return\n }\n // check domain properties first\n for (const entity of domain.listEntities()) {\n if (entity.hasSemantic(SemanticType.User)) {\n this.analyzeUserEntity(entity)\n return\n }\n }\n // check foreign entities next\n for (const entity of domain.listAllForeignEntities()) {\n if (entity.hasSemantic(SemanticType.User)) {\n this.analyzeUserEntity(entity)\n return\n }\n }\n }\n\n protected analyzeUserEntity(entity: DomainEntity): void {\n let roleProp: DomainProperty | null = null\n for (const property of entity.listProperties()) {\n if (property.hasSemantic(SemanticType.UserRole)) {\n roleProp = property\n }\n if (roleProp) {\n break\n }\n }\n this.userRoleProperty = roleProp\n }\n\n /**\n * Finds and sets the resource owner association for the exposed entity.\n * @param model The API model\n * @param target The target of the editor\n * @param domainKey The exposed entity id.\n */\n protected setupResourceOwnerAssociation(model: ApiModel, target: ApiModelAccessTarget, domainKey?: string): void {\n if (target === 'api' || !domainKey) {\n return\n }\n const domain = model.domain\n if (!domain) {\n return\n }\n const exposed = model.exposes.find((e) => e.key === domainKey)\n if (!exposed) {\n return\n }\n const entity = domain.findEntity(exposed.entity.key, exposed.entity.domain)\n if (!entity) {\n return\n }\n for (const assoc of entity.listAssociations()) {\n if (assoc.hasSemantic(SemanticType.ResourceOwnerIdentifier)) {\n this.resourceOwnerAssociation = assoc\n return\n }\n }\n }\n\n protected handleAddModeSelect(e: CustomEvent): void {\n const target = e.detail.item as HTMLElement | undefined\n if (!target) {\n return\n }\n const { item } = target.dataset\n if (!isValidAccessRuleType(item)) {\n return\n }\n this.addEmptyRule(item)\n }\n\n /**\n * Adds an empty access rule of the given type to the model.\n * @param rule The rule to add\n */\n addEmptyRule(rule: AccessRule['type']): void {\n const src = this.rules\n const info = createEmptyAccessRule(rule)\n if (rule === 'resourceOwner' && this.resourceOwnerAssociation) {\n // Set the property to the resource owner association property\n ;(info as MatchResourceOwnerAccessRule).property = this.resourceOwnerAssociation.key\n }\n src.push(info)\n this.synchronizeModel()\n this.notifyChange()\n this.requestUpdate()\n }\n\n protected synchronizeModel(): void {\n const { operation, target, model } = this\n if (!model || !isValidAccessTarget(target)) {\n return\n }\n const src = this.rules ?? []\n if (target === 'api') {\n model.accessRule = src.length > 0 ? src : undefined\n return\n }\n // Everything else requires an `domainKey`\n const { domainKey: domainKey } = this\n if (!domainKey) {\n return\n }\n const entity = model.exposes.find((e) => e.key === domainKey)\n if (!entity) {\n return\n }\n if (target === 'endpoint') {\n entity.accessRule = src.length > 0 ? src : undefined\n return\n }\n // Everything else requires an operation\n if (!isValidOperationName(operation)) {\n return\n }\n // At this point we know that target === 'action' and operation is set\n // So we need to find the action in the entity and set its access rules\n const action = entity.actions.find((a) => a.kind === operation)\n if (!action) {\n return\n }\n action.accessRule = src.length > 0 ? src : undefined\n }\n\n protected handleRuleDelete(e: Event): void {\n const button = e.currentTarget as HTMLElement\n const index = Number(button.dataset.index)\n if (Number.isNaN(index) || index < 0 || index >= this.rules.length) {\n return\n }\n this.rules.splice(index, 1)\n this.synchronizeModel()\n this.notifyChange()\n this.requestUpdate()\n }\n\n protected handleAddDomain(e: Event): void {\n const button = e.currentTarget as HTMLElement\n const ruleIndex = Number(button.dataset.ruleIndex)\n if (Number.isNaN(ruleIndex) || ruleIndex < 0 || ruleIndex >= this.rules.length) {\n return\n }\n const rule = this.rules[ruleIndex]\n if (rule.type !== 'matchEmailDomain') {\n return\n }\n if (!Array.isArray(rule.domains)) {\n rule.domains = []\n }\n rule.domains.push('') // Add an empty domain\n this.synchronizeModel()\n this.notifyChange()\n this.requestUpdate()\n }\n\n protected handleDomainDelete(e: Event): void {\n const button = e.currentTarget as HTMLElement\n const index = Number(button.dataset.index)\n const ruleIndex = Number(button.dataset.ruleIndex)\n if (\n Number.isNaN(index) ||\n index < 0 ||\n Number.isNaN(ruleIndex) ||\n ruleIndex < 0 ||\n ruleIndex >= this.rules.length\n ) {\n return\n }\n const rule = this.rules[ruleIndex]\n if (rule.type !== 'matchEmailDomain' || !Array.isArray(rule.domains) || index >= rule.domains.length) {\n return\n }\n rule.domains.splice(index, 1)\n this.synchronizeModel()\n this.notifyChange()\n this.requestUpdate()\n }\n\n protected handleDomainChange(e: Event): void {\n const input = e.currentTarget as HTMLInputElement\n const value = input.value.trim()\n const index = Number(input.dataset.index)\n const ruleIndex = Number(input.dataset.ruleIndex)\n if (\n Number.isNaN(index) ||\n index < 0 ||\n Number.isNaN(ruleIndex) ||\n ruleIndex < 0 ||\n ruleIndex >= this.rules.length\n ) {\n return\n }\n const rule = this.rules[ruleIndex]\n if (rule.type !== 'matchEmailDomain' || !Array.isArray(rule.domains) || index >= rule.domains.length) {\n return\n }\n rule.domains[index] = value\n this.synchronizeModel()\n this.notifyChange()\n this.requestUpdate()\n }\n\n protected handleUserRoleChange(e: Event): void {\n const input = e.currentTarget as HTMLInputElement\n const role = input.value\n const ruleIndex = Number(input.dataset.ruleIndex)\n if (Number.isNaN(ruleIndex) || ruleIndex < 0 || ruleIndex >= this.rules.length) {\n return\n }\n const rule = this.rules[ruleIndex]\n if (rule.type !== 'matchUserRole') {\n return\n }\n if (!Array.isArray(rule.role)) {\n rule.role = []\n }\n if (input.checked) {\n // Add the role\n if (!rule.role.includes(role)) {\n rule.role.push(role)\n }\n } else {\n // Remove the role\n const roleIndex = rule.role.indexOf(role)\n if (roleIndex >= 0) {\n rule.role.splice(roleIndex, 1)\n }\n }\n this.synchronizeModel()\n this.notifyChange()\n this.requestUpdate()\n }\n\n protected override render(): TemplateResult | typeof nothing {\n if (!isValidAccessTarget(this.target)) {\n return nothing\n }\n return html` ${this.renderIntro()} ${this.renderAddButton()} ${this.renderRules()} `\n }\n\n protected renderIntro(): TemplateResult {\n return html`<div class=\"intro\">\n <div class=\"header\">\n <span class=\"title-large\">Access mode</span>\n ${renderHelp('modeling', 'api:access-configuration')}\n </div>\n <span class=\"inline-help body-medium\"\n >Add an access mode that controls who can perform an API action on your data. All conditions have to be true to\n allow access.</span\n >\n </div>`\n }\n\n protected renderAddButton(): TemplateResult {\n const options: TemplateResult[] = [\n html`<ui-list-item role=\"menuitem\" data-item=\"public\">Public</ui-list-item>`,\n html`<ui-list-item role=\"menuitem\" data-item=\"authenticated\">Authenticated</ui-list-item>`,\n html`<ui-list-item role=\"menuitem\" data-item=\"matchUserRole\">User role</ui-list-item>`,\n html`<ui-list-item role=\"menuitem\" data-item=\"matchEmailDomain\">Email match</ui-list-item>`,\n ]\n const { target } = this\n if (target === 'action' || target === 'endpoint') {\n options.push(html`<ui-list-item role=\"menuitem\" data-item=\"resourceOwner\">Resource owner</ui-list-item>`)\n }\n return html`<ui-dropdown-list @select=\"${this.handleAddModeSelect}\" closeOnTab closeOnOutsideClick noOverlap>\n <ui-button color=\"outlined\">\n <ui-icon slot=\"icon\" icon=\"add\" aria-hidden=\"true\"></ui-icon>\n Add mode\n </ui-button>\n <ui-list slot=\"dropdown\" role=\"menu\">${options}</ui-list>\n </ui-dropdown-list>`\n }\n\n protected renderRules(): TemplateResult | typeof nothing {\n const { rules } = this\n if (rules.length === 0) {\n return nothing\n }\n const result: TemplateResult[] = []\n const len = rules.length\n rules.forEach((rule, index) => {\n result.push(this.renderRule(rule, index))\n if (index < len - 1) {\n result.push(html`<ui-divider class=\"rule-divider\"></ui-divider>`)\n }\n })\n return html`<div class=\"rules\">${result}</div>`\n }\n\n protected renderRule(rule: AccessRule, index: number): TemplateResult {\n if (rule.type === 'public') {\n return this.renderPublicRule(index)\n }\n if (rule.type === 'authenticated') {\n return this.renderAuthenticatedRule(index)\n }\n if (rule.type === 'resourceOwner') {\n return this.renderResourceOwnerRule(index)\n }\n if (rule.type === 'matchUserRole') {\n return this.renderMatchUserRoleRule(rule, index)\n }\n if (rule.type === 'matchEmailDomain') {\n return this.renderMatchEmailDomainRule(rule, index)\n }\n return html`<div class=\"rule\">\n <span class=\"rule-title title-medium\">Unknown rule</span>\n <span class=\"rule-description body-medium\">This rule type is not supported.</span>\n </div>`\n }\n\n protected renderRuleHeader(title: string, helpId: string, index: number): TemplateResult {\n return html`<div class=\"rule-header\">\n <span class=\"rule-title title-medium\">${title}</span>\n <div class=\"actions\">\n ${renderHelp('modeling', helpId)}\n <ui-icon-button type=\"button\" data-index=\"${index}\" @click=\"${this.handleRuleDelete}\">\n <ui-icon>delete_outline</ui-icon>\n </ui-icon-button>\n </div>\n </div>`\n }\n\n protected renderRuleDescription(description: string): TemplateResult {\n return html`<div class=\"rule-explainer\">\n <ui-icon>info</ui-icon>\n <span class=\"body-medium\">${description}</span>\n </div>`\n }\n\n protected renderPublicRule(index: number): TemplateResult {\n return html`<div class=\"rule\">\n ${this.renderRuleHeader('Public', 'api:access-configuration-public', index)}\n ${this.renderRuleDescription('Everyone can perform this API action.')}\n </div>`\n }\n\n protected renderAuthenticatedRule(index: number): TemplateResult {\n return html`<div class=\"rule\">\n ${this.renderRuleHeader('Authenticated user', 'api:access-configuration-authenticated', index)}\n ${this.renderRuleDescription('Any authenticated user of the API can perform this API action.')}\n </div>`\n }\n\n protected renderResourceOwnerRule(index: number): TemplateResult {\n let desc = ''\n if (this.target === 'api') {\n desc = 'This access mode cannot be used on the API level.'\n } else {\n desc = 'Only the resource owner can perform this API action. '\n desc += 'The data entity must define the Resource Owner semantic on one of the properties.'\n }\n return html`<div class=\"rule\">\n ${this.renderRuleHeader('Resource owner', 'api:access-configuration-resource-owner', index)}\n ${this.renderRuleDescription(desc)} ${this.renderResourceOwnerRuleDetails()}\n </div>`\n }\n\n protected renderResourceOwnerRuleDetails(): TemplateResult {\n let content: TemplateResult\n const { resourceOwnerAssociation } = this\n if (!resourceOwnerAssociation) {\n content = html`<div class=\"error-message\">\n <ui-icon aria-hidden=\"true\">error_outline</ui-icon>\n The owner field is not defined in the domain model.\n </div>`\n } else {\n content = html`<span>Owner field: <strong>${resourceOwnerAssociation.info.getLabel()}</strong></span>`\n }\n return html`<div class=\"resource-owner-details body-medium\">${content}</div>`\n }\n\n protected renderMatchUserRoleRule(rule: MatchUserRoleAccessRule, index: number): TemplateResult {\n let desc = 'Only users with matched roles can perform this API action. '\n desc += 'The data entity must define the Role semantic on one of the properties.'\n // const roles = rule.role ?? []\n return html`<div class=\"rule\">\n ${this.renderRuleHeader('User role', 'api:access-configuration-match-user-role', index)}\n ${this.renderRuleDescription(desc)} ${this.renderUserRoles(rule, index)}\n </div>`\n }\n\n protected renderUserRoles(rule: MatchUserRoleAccessRule, ruleIndex: number): TemplateResult {\n const { userRoleProperty } = this\n if (!userRoleProperty) {\n return html`<span class=\"body-medium\"\n >No property found in the domain model that has the UserRole semantic.</span\n >`\n }\n const enums = userRoleProperty.schema?.enum\n if (!Array.isArray(enums) || enums.length === 0) {\n return html`<span class=\"body-medium\">The UserRole property does not define any roles.</span>`\n }\n const roles = rule.role ?? []\n return html`<div class=\"user-roles\">\n <div class=\"rule-header\">\n <span class=\"rule-title title-small\">User roles</span>\n <div class=\"actions\">${renderHelp('modeling', 'api:access-configuration-match-user-role')}</div>\n </div>\n\n ${repeat(enums, (item: string) => this.renderRoleInput(roles, item, ruleIndex))}\n </div>`\n }\n\n protected renderRoleInput(roles: string[], role: string, ruleIndex: number): TemplateResult {\n const checked = roles.includes(role)\n return html`<div class=\"role-input\">\n <label class=\"label-large\">\n <ui-checkbox\n ?checked=${checked}\n name=\"userRole\"\n value=\"${role}\"\n data-rule-index=\"${ruleIndex}\"\n @change=\"${this.handleUserRoleChange}\"\n ></ui-checkbox>\n ${role}\n </label>\n </div>`\n }\n\n protected renderMatchEmailDomainRule(\n rule: Extract<AccessRule, { type: 'matchEmailDomain' }>,\n index: number\n ): TemplateResult {\n const desc = 'Only users with matched email domains can perform this API action.'\n // const domains = rule.domains ?? []\n return html`<div class=\"rule\">\n ${this.renderRuleHeader('Email match', 'api:access-configuration-match-email', index)}\n ${this.renderRuleDescription(desc)} ${this.renderEmailDomains(rule.domains ?? [], index)}\n </div>`\n }\n\n protected renderEmailDomains(domains: string[], ruleIndex: number): TemplateResult {\n return html`<div class=\"email-domains\">\n <div class=\"rule-header\">\n <span class=\"rule-title title-small\">Email domains</span>\n <div class=\"actions\">${renderHelp('modeling', 'api:access-configuration-match-email-domain')}</div>\n </div>\n\n ${repeat(domains, (item: string, index: number) => this.renderDomainInput(item, index, ruleIndex))}\n\n <ui-button color=\"outlined\" data-rule-index=\"${ruleIndex}\" @click=\"${this.handleAddDomain}\">Add domain</ui-button>\n </div>`\n }\n\n protected renderDomainInput(domain: string, index: number, ruleIndex: number): TemplateResult {\n return html`<div class=\"domain-input\">\n <ui-outlined-text-field\n label=\"Domain\"\n name=\"domain-${index}\"\n .value=${domain}\n @change=\"${this.handleDomainChange}\"\n data-index=\"${index}\"\n data-rule-index=\"${ruleIndex}\"\n class=\"domain-field\"\n ></ui-outlined-text-field>\n <ui-icon-button\n type=\"button\"\n data-index=\"${index}\"\n data-rule-index=\"${ruleIndex}\"\n @click=\"${this.handleDomainDelete}\"\n >\n <ui-icon>delete_outline</ui-icon>\n </ui-icon-button>\n </div>`\n }\n}\n"]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type TemplateResult, nothing } from 'lit';
|
|
2
|
+
import { DomainEntity, type ApiModel, type DomainProperty } from '@api-client/core/browser.js';
|
|
3
|
+
import { ApiModelingScreen } from './ApiModelingScreen.js';
|
|
4
|
+
/**
|
|
5
|
+
* A screen for editing API access information.
|
|
6
|
+
* Used in API modeling.
|
|
7
|
+
*
|
|
8
|
+
* Note that unlike configuration components, screens alter the model directly
|
|
9
|
+
* and notify changes as needed (on the model).
|
|
10
|
+
*/
|
|
11
|
+
export default class ApiModelingAccessScreen extends ApiModelingScreen {
|
|
12
|
+
/**
|
|
13
|
+
* A computed property from the data domain model that has the password semantic tag.
|
|
14
|
+
*/
|
|
15
|
+
protected accessor passwordProperty: DomainProperty | null;
|
|
16
|
+
/**
|
|
17
|
+
* A computed property from the data domain model that has the user role semantic tag.
|
|
18
|
+
*
|
|
19
|
+
* TODO:
|
|
20
|
+
* - We should scan the entire data domain for UserRole semantic as likely there might be more than one.
|
|
21
|
+
* We should recommend the one on the `User` entity if multiple found.
|
|
22
|
+
*/
|
|
23
|
+
protected accessor roleProperty: DomainProperty | null;
|
|
24
|
+
protected handleModelChange(model: ApiModel | undefined): void;
|
|
25
|
+
protected analyzeUserEntity(entity: DomainEntity): void;
|
|
26
|
+
protected handleAuthStrategyChange(e: CustomEvent): void;
|
|
27
|
+
protected handleAuthzStrategyChange(e: CustomEvent): void;
|
|
28
|
+
protected handleAccessConfigChange(): void;
|
|
29
|
+
render(): TemplateResult | typeof nothing;
|
|
30
|
+
protected renderAuthentication(model: ApiModel): TemplateResult;
|
|
31
|
+
protected renderPasswordConfirmation(model: ApiModel): TemplateResult | typeof nothing;
|
|
32
|
+
protected renderAuthorization(model: ApiModel): TemplateResult;
|
|
33
|
+
protected renderRoleConfirmation(model: ApiModel): TemplateResult | typeof nothing;
|
|
34
|
+
protected renderApiAccessConfiguration(): TemplateResult;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=ApiModelingAccessScreen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApiModelingAccessScreen.d.ts","sourceRoot":"","sources":["../../../../src/modeling/internals/ApiModelingAccessScreen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,OAAO,EAAE,MAAM,KAAK,CAAA;AACxD,OAAO,EAAE,YAAY,EAAgB,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAG5G,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAU1D;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,iBAAiB;IACpE;;OAEG;IACM,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,cAAc,GAAG,IAAI,CAAO;IAC1E;;;;;;OAMG;IACM,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,cAAc,GAAG,IAAI,CAAO;IAEtE,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI;IA0B9D,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAkBvD,SAAS,CAAC,wBAAwB,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IAgCxD,SAAS,CAAC,yBAAyB,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IAgCzD,SAAS,CAAC,wBAAwB,IAAI,IAAI;IAIjC,MAAM,IAAI,cAAc,GAAG,OAAO,OAAO;IAoBlD,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,QAAQ,GAAG,cAAc;IAmC/D,SAAS,CAAC,0BAA0B,CAAC,KAAK,EAAE,QAAQ,GAAG,cAAc,GAAG,OAAO,OAAO;IAkBtF,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,GAAG,cAAc;IAkC9D,SAAS,CAAC,sBAAsB,CAAC,KAAK,EAAE,QAAQ,GAAG,cAAc,GAAG,OAAO,OAAO;IAgBlF,SAAS,CAAC,4BAA4B,IAAI,cAAc;CAQzD"}
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
+
import { html, nothing } from 'lit';
|
|
3
|
+
import { SemanticType } from '@api-client/core/browser.js';
|
|
4
|
+
import { live } from 'lit/directives/live.js';
|
|
5
|
+
import { state } from 'lit/decorators.js';
|
|
6
|
+
import { ApiModelingScreen } from './ApiModelingScreen.js';
|
|
7
|
+
import { renderHelp } from '../../help/render.js';
|
|
8
|
+
let ApiModelingAccessScreen = (() => {
|
|
9
|
+
let _classSuper = ApiModelingScreen;
|
|
10
|
+
let _passwordProperty_decorators;
|
|
11
|
+
let _passwordProperty_initializers = [];
|
|
12
|
+
let _passwordProperty_extraInitializers = [];
|
|
13
|
+
let _roleProperty_decorators;
|
|
14
|
+
let _roleProperty_initializers = [];
|
|
15
|
+
let _roleProperty_extraInitializers = [];
|
|
16
|
+
return class ApiModelingAccessScreen extends _classSuper {
|
|
17
|
+
static {
|
|
18
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
19
|
+
_passwordProperty_decorators = [state()];
|
|
20
|
+
_roleProperty_decorators = [state()];
|
|
21
|
+
__esDecorate(this, null, _passwordProperty_decorators, { kind: "accessor", name: "passwordProperty", static: false, private: false, access: { has: obj => "passwordProperty" in obj, get: obj => obj.passwordProperty, set: (obj, value) => { obj.passwordProperty = value; } }, metadata: _metadata }, _passwordProperty_initializers, _passwordProperty_extraInitializers);
|
|
22
|
+
__esDecorate(this, null, _roleProperty_decorators, { kind: "accessor", name: "roleProperty", static: false, private: false, access: { has: obj => "roleProperty" in obj, get: obj => obj.roleProperty, set: (obj, value) => { obj.roleProperty = value; } }, metadata: _metadata }, _roleProperty_initializers, _roleProperty_extraInitializers);
|
|
23
|
+
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
24
|
+
}
|
|
25
|
+
#passwordProperty_accessor_storage = __runInitializers(this, _passwordProperty_initializers, null
|
|
26
|
+
/**
|
|
27
|
+
* A computed property from the data domain model that has the user role semantic tag.
|
|
28
|
+
*
|
|
29
|
+
* TODO:
|
|
30
|
+
* - We should scan the entire data domain for UserRole semantic as likely there might be more than one.
|
|
31
|
+
* We should recommend the one on the `User` entity if multiple found.
|
|
32
|
+
*/
|
|
33
|
+
);
|
|
34
|
+
/**
|
|
35
|
+
* A computed property from the data domain model that has the password semantic tag.
|
|
36
|
+
*/
|
|
37
|
+
get passwordProperty() { return this.#passwordProperty_accessor_storage; }
|
|
38
|
+
set passwordProperty(value) { this.#passwordProperty_accessor_storage = value; }
|
|
39
|
+
#roleProperty_accessor_storage = (__runInitializers(this, _passwordProperty_extraInitializers), __runInitializers(this, _roleProperty_initializers, null));
|
|
40
|
+
/**
|
|
41
|
+
* A computed property from the data domain model that has the user role semantic tag.
|
|
42
|
+
*
|
|
43
|
+
* TODO:
|
|
44
|
+
* - We should scan the entire data domain for UserRole semantic as likely there might be more than one.
|
|
45
|
+
* We should recommend the one on the `User` entity if multiple found.
|
|
46
|
+
*/
|
|
47
|
+
get roleProperty() { return this.#roleProperty_accessor_storage; }
|
|
48
|
+
set roleProperty(value) { this.#roleProperty_accessor_storage = value; }
|
|
49
|
+
handleModelChange(model) {
|
|
50
|
+
this.passwordProperty = null;
|
|
51
|
+
this.roleProperty = null;
|
|
52
|
+
if (!model) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const domain = model.domain;
|
|
56
|
+
if (!domain) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
// check local entities
|
|
60
|
+
for (const entity of domain.listEntities()) {
|
|
61
|
+
if (entity.hasSemantic(SemanticType.User)) {
|
|
62
|
+
this.analyzeUserEntity(entity);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
// check foreign entities
|
|
67
|
+
for (const entity of domain.listAllForeignEntities()) {
|
|
68
|
+
if (entity.hasSemantic(SemanticType.User)) {
|
|
69
|
+
this.analyzeUserEntity(entity);
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
analyzeUserEntity(entity) {
|
|
75
|
+
let passwordProp = null;
|
|
76
|
+
let roleProp = null;
|
|
77
|
+
for (const property of entity.listProperties()) {
|
|
78
|
+
if (property.hasSemantic(SemanticType.Password)) {
|
|
79
|
+
passwordProp = property;
|
|
80
|
+
}
|
|
81
|
+
if (property.hasSemantic(SemanticType.UserRole)) {
|
|
82
|
+
roleProp = property;
|
|
83
|
+
}
|
|
84
|
+
if (passwordProp && roleProp) {
|
|
85
|
+
break;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
this.passwordProperty = passwordProp;
|
|
89
|
+
this.roleProperty = roleProp;
|
|
90
|
+
}
|
|
91
|
+
handleAuthStrategyChange(e) {
|
|
92
|
+
const model = this.model;
|
|
93
|
+
if (!model) {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
const select = e.target;
|
|
97
|
+
const { value } = select;
|
|
98
|
+
if (model.authentication?.strategy === value) {
|
|
99
|
+
// Ignore resetting the same value.
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
if (value === 'UsernamePassword') {
|
|
103
|
+
if (!model.authentication || model.authentication.strategy !== 'UsernamePassword') {
|
|
104
|
+
model.authentication = {
|
|
105
|
+
strategy: 'UsernamePassword',
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
// For now, only UsernamePassword is a valid, non-disabled option.
|
|
111
|
+
// If other options are added, this logic will need to be expanded.
|
|
112
|
+
if (!model.authentication) {
|
|
113
|
+
model.authentication = { strategy: value };
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
model.authentication.strategy = value;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
this.model?.notifyChange();
|
|
120
|
+
this.requestUpdate();
|
|
121
|
+
}
|
|
122
|
+
handleAuthzStrategyChange(e) {
|
|
123
|
+
const model = this.model;
|
|
124
|
+
if (!model) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
const select = e.target;
|
|
128
|
+
const { value } = select;
|
|
129
|
+
if (model.authorization?.strategy === value) {
|
|
130
|
+
// Ignore resetting the same value.
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
if (value === 'RBAC') {
|
|
134
|
+
if (!model.authorization || model.authorization.strategy !== 'RBAC') {
|
|
135
|
+
model.authorization = {
|
|
136
|
+
strategy: 'RBAC',
|
|
137
|
+
roleKey: this.roleProperty?.key || '', // default value
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
// For now, only RBAC is a valid, non-disabled option.
|
|
143
|
+
if (!model.authorization) {
|
|
144
|
+
model.authorization = { strategy: value };
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
model.authorization.strategy = value;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
this.model?.notifyChange();
|
|
151
|
+
this.requestUpdate();
|
|
152
|
+
}
|
|
153
|
+
handleAccessConfigChange() {
|
|
154
|
+
this.model?.notifyChange();
|
|
155
|
+
}
|
|
156
|
+
render() {
|
|
157
|
+
const model = this.model;
|
|
158
|
+
if (!model) {
|
|
159
|
+
return nothing;
|
|
160
|
+
}
|
|
161
|
+
return html `
|
|
162
|
+
<div class="screen-container">
|
|
163
|
+
<div class="screen-header">
|
|
164
|
+
<h2 class="headline-medium">API Access</h2>
|
|
165
|
+
<span class="body-medium description">
|
|
166
|
+
API access allows you to control how your API customers access the API. Here, you can configure the
|
|
167
|
+
authentication strategy and global access rules. You can update these settings for each behaviors
|
|
168
|
+
separately.
|
|
169
|
+
</span>
|
|
170
|
+
</div>
|
|
171
|
+
${this.renderAuthentication(model)} ${this.renderAuthorization(model)} ${this.renderApiAccessConfiguration()}
|
|
172
|
+
</div>
|
|
173
|
+
`;
|
|
174
|
+
}
|
|
175
|
+
renderAuthentication(model) {
|
|
176
|
+
const authStrategy = model.authentication?.strategy;
|
|
177
|
+
return html `
|
|
178
|
+
<div class="config-section authentication">
|
|
179
|
+
<div class="section-header">
|
|
180
|
+
<h3 class="title-large">Authentication strategy</h3>
|
|
181
|
+
<span class="body-small description">
|
|
182
|
+
Choose how your API will verify the identity of its users. You can change these settings until you first
|
|
183
|
+
deploy your API. After that the change won't be possible.
|
|
184
|
+
</span>
|
|
185
|
+
</div>
|
|
186
|
+
<div class="row">
|
|
187
|
+
<ui-select
|
|
188
|
+
label="Strategy"
|
|
189
|
+
name="authenticationStrategy"
|
|
190
|
+
.value="${live(authStrategy)}"
|
|
191
|
+
@change="${this.handleAuthStrategyChange}"
|
|
192
|
+
>
|
|
193
|
+
<ui-option value="UsernamePassword">
|
|
194
|
+
<div>Username and Password</div>
|
|
195
|
+
<div slot="supporting-text">Authenticate with a username and password.</div>
|
|
196
|
+
</ui-option>
|
|
197
|
+
<ui-option value="SSO" disabled>
|
|
198
|
+
<div>Single Sign-On</div>
|
|
199
|
+
<div slot="supporting-text">Coming soon</div>
|
|
200
|
+
</ui-option>
|
|
201
|
+
</ui-select>
|
|
202
|
+
${renderHelp('api', 'auth-strategy-select')}
|
|
203
|
+
</div>
|
|
204
|
+
|
|
205
|
+
${this.renderPasswordConfirmation(model)}
|
|
206
|
+
</div>
|
|
207
|
+
`;
|
|
208
|
+
}
|
|
209
|
+
renderPasswordConfirmation(model) {
|
|
210
|
+
const strategy = model.authentication?.strategy;
|
|
211
|
+
if (strategy !== 'UsernamePassword') {
|
|
212
|
+
return nothing;
|
|
213
|
+
}
|
|
214
|
+
const prop = this.passwordProperty;
|
|
215
|
+
if (!prop) {
|
|
216
|
+
return html `<span class="body-small no-property-warning">
|
|
217
|
+
<ui-icon>warning_amber</ui-icon>
|
|
218
|
+
No password property found on the user entity. Please define one on the data domain's User entity to ensure
|
|
219
|
+
secure authentication.
|
|
220
|
+
</span>`;
|
|
221
|
+
}
|
|
222
|
+
return html `<span class="body-small property-info"
|
|
223
|
+
>Password property: <strong>${prop.info.getLabel()}</strong></span
|
|
224
|
+
>`;
|
|
225
|
+
}
|
|
226
|
+
renderAuthorization(model) {
|
|
227
|
+
const authzStrategy = model.authorization?.strategy || '';
|
|
228
|
+
return html `
|
|
229
|
+
<div class="config-section authorization">
|
|
230
|
+
<div class="section-header">
|
|
231
|
+
<h2 class="title-large">Authorization strategy</h2>
|
|
232
|
+
<span class="body-medium description">
|
|
233
|
+
It allows you to configure how users access data in your API. After the authorization strategy is set it
|
|
234
|
+
cannot be changed.
|
|
235
|
+
</span>
|
|
236
|
+
</div>
|
|
237
|
+
<div class="row">
|
|
238
|
+
<ui-select
|
|
239
|
+
label="Strategy"
|
|
240
|
+
name="authorizationStrategy"
|
|
241
|
+
.value="${live(authzStrategy)}"
|
|
242
|
+
@change="${this.handleAuthzStrategyChange}"
|
|
243
|
+
>
|
|
244
|
+
<ui-option value="RBAC">
|
|
245
|
+
<div>Role-based authentication</div>
|
|
246
|
+
<div slot="supporting-text">Access is granted based on user roles.</div>
|
|
247
|
+
</ui-option>
|
|
248
|
+
<ui-option value="PBAC" disabled>
|
|
249
|
+
<div>Permission-based authentication</div>
|
|
250
|
+
<div slot="supporting-text">Coming soon</div>
|
|
251
|
+
</ui-option>
|
|
252
|
+
</ui-select>
|
|
253
|
+
${renderHelp('api', 'authz-strategy-select')}
|
|
254
|
+
</div>
|
|
255
|
+
${this.renderRoleConfirmation(model)}
|
|
256
|
+
</div>
|
|
257
|
+
`;
|
|
258
|
+
}
|
|
259
|
+
renderRoleConfirmation(model) {
|
|
260
|
+
const strategy = model.authorization?.strategy || '';
|
|
261
|
+
if (strategy !== 'RBAC') {
|
|
262
|
+
return nothing;
|
|
263
|
+
}
|
|
264
|
+
const prop = this.roleProperty;
|
|
265
|
+
if (!prop) {
|
|
266
|
+
return html `<span class="body-small no-property-warning">
|
|
267
|
+
<ui-icon>warning_amber</ui-icon>
|
|
268
|
+
No role property found on the user entity. Please define one on the data domain's User entity to ensure proper
|
|
269
|
+
authorization.
|
|
270
|
+
</span>`;
|
|
271
|
+
}
|
|
272
|
+
return html `<span class="body-small property-info">Role property: <strong>${prop.info.getLabel()}</strong></span>`;
|
|
273
|
+
}
|
|
274
|
+
renderApiAccessConfiguration() {
|
|
275
|
+
return html `<api-modeling-access-configuration
|
|
276
|
+
.model=${this.model}
|
|
277
|
+
target="api"
|
|
278
|
+
@change=${this.handleAccessConfigChange}
|
|
279
|
+
class="api-access-configuration"
|
|
280
|
+
></api-modeling-access-configuration>`;
|
|
281
|
+
}
|
|
282
|
+
constructor() {
|
|
283
|
+
super(...arguments);
|
|
284
|
+
__runInitializers(this, _roleProperty_extraInitializers);
|
|
285
|
+
}
|
|
286
|
+
};
|
|
287
|
+
})();
|
|
288
|
+
/**
|
|
289
|
+
* A screen for editing API access information.
|
|
290
|
+
* Used in API modeling.
|
|
291
|
+
*
|
|
292
|
+
* Note that unlike configuration components, screens alter the model directly
|
|
293
|
+
* and notify changes as needed (on the model).
|
|
294
|
+
*/
|
|
295
|
+
export default ApiModelingAccessScreen;
|
|
296
|
+
//# sourceMappingURL=ApiModelingAccessScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApiModelingAccessScreen.js","sourceRoot":"","sources":["../../../../src/modeling/internals/ApiModelingAccessScreen.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, type TemplateResult, nothing } from 'lit'\nimport { DomainEntity, SemanticType, type ApiModel, type DomainProperty } from '@api-client/core/browser.js'\nimport { live } from 'lit/directives/live.js'\nimport { state } from 'lit/decorators.js'\nimport { ApiModelingScreen } from './ApiModelingScreen.js'\nimport { renderHelp } from '../../help/render.js'\nimport type { UiSelectElement } from '../../md/select/ui-select.js'\nimport type {\n AuthenticationConfiguration,\n AuthorizationConfiguration,\n RolesBasedAccessControl,\n UsernamePasswordConfiguration,\n} from '@api-client/core/modeling/types.js'\n\n/**\n * A screen for editing API access information.\n * Used in API modeling.\n *\n * Note that unlike configuration components, screens alter the model directly\n * and notify changes as needed (on the model).\n */\nexport default class ApiModelingAccessScreen extends ApiModelingScreen {\n /**\n * A computed property from the data domain model that has the password semantic tag.\n */\n @state() protected accessor passwordProperty: DomainProperty | null = null\n /**\n * A computed property from the data domain model that has the user role semantic tag.\n *\n * TODO:\n * - We should scan the entire data domain for UserRole semantic as likely there might be more than one.\n * We should recommend the one on the `User` entity if multiple found.\n */\n @state() protected accessor roleProperty: DomainProperty | null = null\n\n protected handleModelChange(model: ApiModel | undefined): void {\n this.passwordProperty = null\n this.roleProperty = null\n if (!model) {\n return\n }\n const domain = model.domain\n if (!domain) {\n return\n }\n // check local entities\n for (const entity of domain.listEntities()) {\n if (entity.hasSemantic(SemanticType.User)) {\n this.analyzeUserEntity(entity)\n return\n }\n }\n // check foreign entities\n for (const entity of domain.listAllForeignEntities()) {\n if (entity.hasSemantic(SemanticType.User)) {\n this.analyzeUserEntity(entity)\n return\n }\n }\n }\n\n protected analyzeUserEntity(entity: DomainEntity): void {\n let passwordProp: DomainProperty | null = null\n let roleProp: DomainProperty | null = null\n for (const property of entity.listProperties()) {\n if (property.hasSemantic(SemanticType.Password)) {\n passwordProp = property\n }\n if (property.hasSemantic(SemanticType.UserRole)) {\n roleProp = property\n }\n if (passwordProp && roleProp) {\n break\n }\n }\n this.passwordProperty = passwordProp\n this.roleProperty = roleProp\n }\n\n protected handleAuthStrategyChange(e: CustomEvent): void {\n const model = this.model\n if (!model) {\n return\n }\n const select = e.target as UiSelectElement\n const { value } = select\n\n if (model.authentication?.strategy === value) {\n // Ignore resetting the same value.\n return\n }\n\n if (value === 'UsernamePassword') {\n if (!model.authentication || model.authentication.strategy !== 'UsernamePassword') {\n model.authentication = {\n strategy: 'UsernamePassword',\n } as UsernamePasswordConfiguration\n }\n } else {\n // For now, only UsernamePassword is a valid, non-disabled option.\n // If other options are added, this logic will need to be expanded.\n if (!model.authentication) {\n model.authentication = { strategy: value } as AuthenticationConfiguration\n } else {\n model.authentication.strategy = value as string\n }\n }\n this.model?.notifyChange()\n this.requestUpdate()\n }\n\n protected handleAuthzStrategyChange(e: CustomEvent): void {\n const model = this.model\n if (!model) {\n return\n }\n const select = e.target as UiSelectElement\n const { value } = select\n\n if (model.authorization?.strategy === value) {\n // Ignore resetting the same value.\n return\n }\n\n if (value === 'RBAC') {\n if (!model.authorization || model.authorization.strategy !== 'RBAC') {\n model.authorization = {\n strategy: 'RBAC',\n roleKey: this.roleProperty?.key || '', // default value\n } as RolesBasedAccessControl\n }\n } else {\n // For now, only RBAC is a valid, non-disabled option.\n if (!model.authorization) {\n model.authorization = { strategy: value } as AuthorizationConfiguration\n } else {\n model.authorization.strategy = value as string\n }\n }\n this.model?.notifyChange()\n this.requestUpdate()\n }\n\n protected handleAccessConfigChange(): void {\n this.model?.notifyChange()\n }\n\n override render(): TemplateResult | typeof nothing {\n const model = this.model\n if (!model) {\n return nothing\n }\n return html`\n <div class=\"screen-container\">\n <div class=\"screen-header\">\n <h2 class=\"headline-medium\">API Access</h2>\n <span class=\"body-medium description\">\n API access allows you to control how your API customers access the API. Here, you can configure the\n authentication strategy and global access rules. You can update these settings for each behaviors\n separately.\n </span>\n </div>\n ${this.renderAuthentication(model)} ${this.renderAuthorization(model)} ${this.renderApiAccessConfiguration()}\n </div>\n `\n }\n\n protected renderAuthentication(model: ApiModel): TemplateResult {\n const authStrategy = model.authentication?.strategy\n return html`\n <div class=\"config-section authentication\">\n <div class=\"section-header\">\n <h3 class=\"title-large\">Authentication strategy</h3>\n <span class=\"body-small description\">\n Choose how your API will verify the identity of its users. You can change these settings until you first\n deploy your API. After that the change won't be possible.\n </span>\n </div>\n <div class=\"row\">\n <ui-select\n label=\"Strategy\"\n name=\"authenticationStrategy\"\n .value=\"${live(authStrategy)}\"\n @change=\"${this.handleAuthStrategyChange}\"\n >\n <ui-option value=\"UsernamePassword\">\n <div>Username and Password</div>\n <div slot=\"supporting-text\">Authenticate with a username and password.</div>\n </ui-option>\n <ui-option value=\"SSO\" disabled>\n <div>Single Sign-On</div>\n <div slot=\"supporting-text\">Coming soon</div>\n </ui-option>\n </ui-select>\n ${renderHelp('api', 'auth-strategy-select')}\n </div>\n\n ${this.renderPasswordConfirmation(model)}\n </div>\n `\n }\n\n protected renderPasswordConfirmation(model: ApiModel): TemplateResult | typeof nothing {\n const strategy = model.authentication?.strategy\n if (strategy !== 'UsernamePassword') {\n return nothing\n }\n const prop = this.passwordProperty\n if (!prop) {\n return html`<span class=\"body-small no-property-warning\">\n <ui-icon>warning_amber</ui-icon>\n No password property found on the user entity. Please define one on the data domain's User entity to ensure\n secure authentication.\n </span>`\n }\n return html`<span class=\"body-small property-info\"\n >Password property: <strong>${prop.info.getLabel()}</strong></span\n >`\n }\n\n protected renderAuthorization(model: ApiModel): TemplateResult {\n const authzStrategy = model.authorization?.strategy || ''\n return html`\n <div class=\"config-section authorization\">\n <div class=\"section-header\">\n <h2 class=\"title-large\">Authorization strategy</h2>\n <span class=\"body-medium description\">\n It allows you to configure how users access data in your API. After the authorization strategy is set it\n cannot be changed.\n </span>\n </div>\n <div class=\"row\">\n <ui-select\n label=\"Strategy\"\n name=\"authorizationStrategy\"\n .value=\"${live(authzStrategy)}\"\n @change=\"${this.handleAuthzStrategyChange}\"\n >\n <ui-option value=\"RBAC\">\n <div>Role-based authentication</div>\n <div slot=\"supporting-text\">Access is granted based on user roles.</div>\n </ui-option>\n <ui-option value=\"PBAC\" disabled>\n <div>Permission-based authentication</div>\n <div slot=\"supporting-text\">Coming soon</div>\n </ui-option>\n </ui-select>\n ${renderHelp('api', 'authz-strategy-select')}\n </div>\n ${this.renderRoleConfirmation(model)}\n </div>\n `\n }\n\n protected renderRoleConfirmation(model: ApiModel): TemplateResult | typeof nothing {\n const strategy = model.authorization?.strategy || ''\n if (strategy !== 'RBAC') {\n return nothing\n }\n const prop = this.roleProperty\n if (!prop) {\n return html`<span class=\"body-small no-property-warning\">\n <ui-icon>warning_amber</ui-icon>\n No role property found on the user entity. Please define one on the data domain's User entity to ensure proper\n authorization.\n </span>`\n }\n return html`<span class=\"body-small property-info\">Role property: <strong>${prop.info.getLabel()}</strong></span>`\n }\n\n protected renderApiAccessConfiguration(): TemplateResult {\n return html`<api-modeling-access-configuration\n .model=${this.model}\n target=\"api\"\n @change=${this.handleAccessConfigChange}\n class=\"api-access-configuration\"\n ></api-modeling-access-configuration>`\n }\n}\n"]}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { type TemplateResult, nothing } from 'lit';
|
|
2
|
+
import { ExposedEntity, type ApiModel } from '@api-client/core/browser.js';
|
|
3
|
+
import { ApiModelingScreen } from './ApiModelingScreen.js';
|
|
4
|
+
export interface EditActionEventDetail {
|
|
5
|
+
/**
|
|
6
|
+
* The id of the exposed entity.
|
|
7
|
+
*/
|
|
8
|
+
exposedId: string;
|
|
9
|
+
/**
|
|
10
|
+
* The kind of operation to edit (list, read, delete, etc)
|
|
11
|
+
*/
|
|
12
|
+
kind: string;
|
|
13
|
+
}
|
|
14
|
+
export interface EditExposedEntityEventDetail {
|
|
15
|
+
/**
|
|
16
|
+
* The id of the exposed entity.
|
|
17
|
+
*/
|
|
18
|
+
exposedId: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* A screen that allows the user to expose data entities as a root level actions
|
|
22
|
+
* and configure their properties:
|
|
23
|
+
* - Collection actions (create, list, search)
|
|
24
|
+
* - Resource actions (read, update, delete)
|
|
25
|
+
*
|
|
26
|
+
* @fires exposed-new - When the user wants to expose an entity.
|
|
27
|
+
* @fires action-edit - When the user wants to edit an action.
|
|
28
|
+
* @fires exposed-edit - When the user wants to edit an exposed entity.
|
|
29
|
+
* @fires exposed-remove - When the user wants to remove an exposed entity.
|
|
30
|
+
*/
|
|
31
|
+
export default class ApiModelingActionsScreen extends ApiModelingScreen {
|
|
32
|
+
/**
|
|
33
|
+
* A flag that determines whether the API has added a data domain.
|
|
34
|
+
*/
|
|
35
|
+
accessor hasDomain: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* The list of exposed entities **on the root level**.
|
|
38
|
+
*/
|
|
39
|
+
accessor exposed: ExposedEntity[];
|
|
40
|
+
protected handleModelChange(model: ApiModel | undefined): void;
|
|
41
|
+
protected handleDomainChange(): void;
|
|
42
|
+
/**
|
|
43
|
+
* A handler for the "Add data" button click.
|
|
44
|
+
* It dispatches the `exposeentity` event to notify the parent component that the user wants to expose an entity.
|
|
45
|
+
*/
|
|
46
|
+
protected handleAddDataClick(): void;
|
|
47
|
+
/**
|
|
48
|
+
* A handler for the "Remove action" button click.
|
|
49
|
+
* It removes the action from the model and updates the exposed list.
|
|
50
|
+
* @param event The event object.
|
|
51
|
+
*/
|
|
52
|
+
protected handleRemoveAction(e: Event): void;
|
|
53
|
+
/**
|
|
54
|
+
* Handles the action selection event.
|
|
55
|
+
* It dispatches the `editaction` event to notify the parent component that the user wants to edit an action.
|
|
56
|
+
* @param e The event object.
|
|
57
|
+
*/
|
|
58
|
+
protected handleActionSelect(e: CustomEvent<{
|
|
59
|
+
kind: string;
|
|
60
|
+
}>): void;
|
|
61
|
+
protected handleEditAction(e: Event): void;
|
|
62
|
+
render(): TemplateResult | typeof nothing;
|
|
63
|
+
private renderContent;
|
|
64
|
+
private renderEmptyView;
|
|
65
|
+
private renderExposedPath;
|
|
66
|
+
/**
|
|
67
|
+
* Recursively render an expose and its children. Shows entity name only.
|
|
68
|
+
* The model guarantees no infinite cycles, so the UI does not need to track visited nodes.
|
|
69
|
+
*/
|
|
70
|
+
private renderExposeTree;
|
|
71
|
+
/**
|
|
72
|
+
* Render a node and all its descendants inline (used for child rows).
|
|
73
|
+
*/
|
|
74
|
+
private renderExposeInline;
|
|
75
|
+
private renderEntity;
|
|
76
|
+
private renderMissingEntity;
|
|
77
|
+
private renderEntityActions;
|
|
78
|
+
private renderCollectionActions;
|
|
79
|
+
private renderResourceActions;
|
|
80
|
+
private renderEntityAction;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=ApiModelingActionsScreen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApiModelingActionsScreen.d.ts","sourceRoot":"","sources":["../../../../src/modeling/internals/ApiModelingActionsScreen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,OAAO,EAAE,MAAM,KAAK,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAG1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAG1D,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,4BAA4B;IAC3C;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,OAAO,OAAO,wBAAyB,SAAQ,iBAAiB;IACrE;;OAEG;IACM,QAAQ,CAAC,SAAS,UAAQ;IAEnC;;OAEG;IACM,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,CAAK;IAE/C,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI;cAc3C,kBAAkB,IAAI,IAAI;IAO7C;;;OAGG;IACH,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAUpC;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAkB5C;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI;IAmBpE,SAAS,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAkBjC,MAAM,IAAI,cAAc,GAAG,OAAO,OAAO;IAoBlD,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,iBAAiB;IAQzB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAoCxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA4B1B,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,kBAAkB;CAG3B"}
|