@api-client/ui 0.5.58 → 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
|
@@ -22,15 +22,20 @@ let UiList = (() => {
|
|
|
22
22
|
let _assignedElements_decorators;
|
|
23
23
|
let _assignedElements_initializers = [];
|
|
24
24
|
let _assignedElements_extraInitializers = [];
|
|
25
|
+
let _delegateFocus_decorators;
|
|
26
|
+
let _delegateFocus_initializers = [];
|
|
27
|
+
let _delegateFocus_extraInitializers = [];
|
|
25
28
|
return class UiList extends _classSuper {
|
|
26
29
|
static {
|
|
27
30
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
28
31
|
_selector_decorators = [property({ type: String })];
|
|
29
32
|
_selectActive_decorators = [property({ type: Boolean })];
|
|
30
33
|
_assignedElements_decorators = [queryAssignedElements({ flatten: true })];
|
|
34
|
+
_delegateFocus_decorators = [property({ type: Boolean })];
|
|
31
35
|
__esDecorate(this, null, _selector_decorators, { kind: "accessor", name: "selector", static: false, private: false, access: { has: obj => "selector" in obj, get: obj => obj.selector, set: (obj, value) => { obj.selector = value; } }, metadata: _metadata }, _selector_initializers, _selector_extraInitializers);
|
|
32
36
|
__esDecorate(this, null, _selectActive_decorators, { kind: "accessor", name: "selectActive", static: false, private: false, access: { has: obj => "selectActive" in obj, get: obj => obj.selectActive, set: (obj, value) => { obj.selectActive = value; } }, metadata: _metadata }, _selectActive_initializers, _selectActive_extraInitializers);
|
|
33
37
|
__esDecorate(this, null, _assignedElements_decorators, { kind: "accessor", name: "assignedElements", static: false, private: false, access: { has: obj => "assignedElements" in obj, get: obj => obj.assignedElements, set: (obj, value) => { obj.assignedElements = value; } }, metadata: _metadata }, _assignedElements_initializers, _assignedElements_extraInitializers);
|
|
38
|
+
__esDecorate(this, null, _delegateFocus_decorators, { kind: "accessor", name: "delegateFocus", static: false, private: false, access: { has: obj => "delegateFocus" in obj, get: obj => obj.delegateFocus, set: (obj, value) => { obj.delegateFocus = value; } }, metadata: _metadata }, _delegateFocus_initializers, _delegateFocus_extraInitializers);
|
|
34
39
|
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
35
40
|
}
|
|
36
41
|
#items_accessor_storage = [];
|
|
@@ -59,9 +64,19 @@ let UiList = (() => {
|
|
|
59
64
|
#assignedElements_accessor_storage = (__runInitializers(this, _selectActive_extraInitializers), __runInitializers(this, _assignedElements_initializers, void 0));
|
|
60
65
|
get assignedElements() { return this.#assignedElements_accessor_storage; }
|
|
61
66
|
set assignedElements(value) { this.#assignedElements_accessor_storage = value; }
|
|
67
|
+
#delegateFocus_accessor_storage = (__runInitializers(this, _assignedElements_extraInitializers), __runInitializers(this, _delegateFocus_initializers, void 0));
|
|
68
|
+
/**
|
|
69
|
+
* When set it delegates focus to the active child of a list item.
|
|
70
|
+
* Used when the list has input controls like checkboxes or switches.
|
|
71
|
+
* When set, the list behaves like a regular HTML (but styled) listbox
|
|
72
|
+
* and does not manage focus on its own.
|
|
73
|
+
* @attribute
|
|
74
|
+
*/
|
|
75
|
+
get delegateFocus() { return this.#delegateFocus_accessor_storage; }
|
|
76
|
+
set delegateFocus(value) { this.#delegateFocus_accessor_storage = value; }
|
|
62
77
|
constructor() {
|
|
63
78
|
super();
|
|
64
|
-
__runInitializers(this,
|
|
79
|
+
__runInitializers(this, _delegateFocus_extraInitializers);
|
|
65
80
|
this.selector = 'ui-list-item';
|
|
66
81
|
this.addEventListener('keydown', this.handleKeydown.bind(this));
|
|
67
82
|
this.addEventListener('click', this.handleClick.bind(this));
|
|
@@ -69,7 +84,7 @@ let UiList = (() => {
|
|
|
69
84
|
}
|
|
70
85
|
connectedCallback() {
|
|
71
86
|
super.connectedCallback();
|
|
72
|
-
if (!this.hasAttribute('tabindex')) {
|
|
87
|
+
if (!this.hasAttribute('tabindex') && !this.delegateFocus) {
|
|
73
88
|
this.setAttribute('tabindex', '0');
|
|
74
89
|
}
|
|
75
90
|
}
|
|
@@ -110,6 +125,10 @@ let UiList = (() => {
|
|
|
110
125
|
const elements = this.assignedElements || [];
|
|
111
126
|
const items = elements.filter(this.isListItem, this);
|
|
112
127
|
this.items = items;
|
|
128
|
+
if (this.delegateFocus) {
|
|
129
|
+
// remove tabindex from the list and items
|
|
130
|
+
items.forEach((item) => item.removeAttribute('tabindex'));
|
|
131
|
+
}
|
|
113
132
|
if (this.activeListItem && !items.includes(this.activeListItem)) {
|
|
114
133
|
this.activeListItem = null;
|
|
115
134
|
}
|
|
@@ -210,6 +229,9 @@ let UiList = (() => {
|
|
|
210
229
|
item.scrollIntoView({ block: 'nearest', inline: 'nearest', behavior: 'smooth' });
|
|
211
230
|
}
|
|
212
231
|
handleKeydown(event) {
|
|
232
|
+
if (this.delegateFocus) {
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
213
235
|
if (Object.values(ACTIVATION_KEYS).includes(event.key)) {
|
|
214
236
|
this.activateFromEvent(event);
|
|
215
237
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.js","sourceRoot":"","sources":["../../../../../src/md/list/internals/List.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, type PropertyValues, type TemplateResult } from 'lit'\nimport { property, queryAssignedElements } from 'lit/decorators.js'\nimport type UiListItem from './ListItem.js'\n\nconst NAVIGATION_KEYS = {\n ArrowDown: 'ArrowDown',\n ArrowUp: 'ArrowUp',\n Home: 'Home',\n End: 'End',\n}\n\nconst ACTIVATION_KEYS = {\n Enter: 'Enter',\n Space: ' ',\n}\n\nexport interface UiListSelection {\n item: HTMLElement\n index: number\n}\n\nexport interface UiListItemsChange {\n items: UiListItem[]\n}\n\n/**\n * @fires select - Dispatched when the user click or press `Enter` or `Space` on any active list item.\n * The `event.detail` object contains the `item` and `index` properties.\n * @fires itemschange - Dispatched when the list items change, e.g. when the slot changes.\n * The `event.detail` object contains the `items` property with the list of items.\n * @fires highlightchange - Dispatched when the highlighted item changes.\n * The `event.detail` object contains the `items` property with the list of items.\n */\nexport default class UiList extends LitElement {\n /**\n * The computed list of list items to render.\n */\n accessor items: UiListItem[] = []\n\n activeListItem: UiListItem | null = null\n\n highlightListItem: UiListItem | null = null\n\n /**\n * The CSS selector that is used to recognize which items are\n * active list items (can be selected, focused, etc.)\n * @attribute\n */\n @property({ type: String }) accessor selector: string\n\n /**\n * When set it marks last activated list item as selected.\n * @attribute\n */\n @property({ type: Boolean }) accessor selectActive: boolean | undefined\n\n @queryAssignedElements({ flatten: true }) protected accessor assignedElements!: HTMLElement[]\n\n constructor() {\n super()\n this.selector = 'ui-list-item'\n this.addEventListener('keydown', this.handleKeydown.bind(this))\n this.addEventListener('click', this.handleClick.bind(this))\n this.addEventListener('focus', this.handleFocusEvent.bind(this))\n }\n\n override connectedCallback(): void {\n super.connectedCallback()\n if (!this.hasAttribute('tabindex')) {\n this.setAttribute('tabindex', '0')\n }\n }\n\n override focus(options?: FocusOptions): void {\n this.handleFocus(options)\n }\n\n override firstUpdated(changedProperties: PropertyValues): void {\n super.firstUpdated(changedProperties)\n\n this.updateItems()\n }\n\n protected handleFocusEvent(event: FocusEvent): void {\n if (event.target !== this) {\n return\n }\n this.handleFocus()\n }\n\n protected handleFocus(options?: FocusOptions): void {\n if (this.activeListItem) {\n this.activeListItem.focus(options)\n } else {\n this.activateFirstItem()\n }\n }\n\n activateFirstItem(): void {\n this.activeListItem = this.getFirstItem()\n this.activeListItem?.activate()\n }\n\n activateLastItem(): void {\n this.activeListItem = this.getLastItem()\n this.activeListItem?.activate()\n }\n\n resetActiveListItem(): void {\n this.activeListItem = null\n this.setAttribute('tabindex', '0')\n }\n\n protected updateItems(): void {\n const elements = this.assignedElements || []\n const items = elements.filter(this.isListItem, this)\n this.items = items\n if (this.activeListItem && !items.includes(this.activeListItem)) {\n this.activeListItem = null\n }\n if (this.highlightListItem && !items.includes(this.highlightListItem)) {\n this.highlightListItem = null\n }\n this.dispatchEvent(\n new CustomEvent<UiListItemsChange>('itemschange', { bubbles: false, composed: false, detail: { items } })\n )\n }\n\n /**\n * @return Whether the given element is a list item element.\n */\n protected isListItem(element: Element): element is UiListItem {\n if (element.nodeType !== Node.ELEMENT_NODE) {\n return false\n }\n return element.matches(this.selector)\n }\n\n getFirstItem(): UiListItem {\n return this.items[0]\n }\n\n getLastItem(): UiListItem {\n return this.items[this.items.length - 1]\n }\n\n getPreviousItem(item: UiListItem): UiListItem {\n const { items } = this\n const curIndex = items.indexOf(item)\n if (curIndex < 0) {\n return item\n }\n let i = curIndex\n let result: HTMLElement | undefined\n do {\n i--\n if (i === curIndex) {\n // looped back from the end, no active element to find.\n return item\n }\n const tmp = items[i]\n if (!tmp) {\n i = items.length\n continue\n }\n if (this.isSelectable(tmp)) {\n result = tmp\n }\n } while (!result)\n return (result as UiListItem) || item\n }\n\n getNextItem(item: UiListItem): UiListItem {\n const { items } = this\n const curIndex = items.indexOf(item)\n if (curIndex < 0) {\n return item\n }\n let i = curIndex\n let next: HTMLElement | undefined\n do {\n i++\n if (i === curIndex) {\n // looped back from the start, no active element to find.\n return item\n }\n const tmp = items[i]\n if (!tmp) {\n i = -1\n continue\n }\n if (this.isSelectable(tmp)) {\n next = tmp\n }\n } while (!next)\n return (next as UiListItem) || item\n }\n\n protected isSelectable(element: HTMLElement): boolean {\n if ((element as unknown as { disabled: boolean }).disabled) {\n return false\n }\n if (element.hasAttribute('disabled')) {\n return false\n }\n if (element.hidden && element.hasAttribute('hidden')) {\n return false\n }\n return true\n }\n\n protected isListItemActive(item: UiListItem): boolean {\n return item.isActive()\n }\n\n protected deactivateListItem(item: UiListItem): void {\n item.deactivate()\n }\n\n protected activateListItem(item?: UiListItem | null): void {\n if (!item) {\n return\n }\n this.removeAttribute('tabindex')\n item.activate()\n item.scrollIntoView({ block: 'nearest', inline: 'nearest', behavior: 'smooth' })\n }\n\n handleKeydown(event: KeyboardEvent): void {\n if (Object.values(ACTIVATION_KEYS).includes(event.key)) {\n this.activateFromEvent(event)\n return\n }\n if (Object.values(NAVIGATION_KEYS).indexOf(event.key) === -1) return\n\n for (const item of this.items) {\n if (this.isListItemActive(item)) {\n this.activeListItem = item\n }\n\n this.deactivateListItem(item)\n }\n\n if (event.key === NAVIGATION_KEYS.ArrowDown) {\n event.preventDefault()\n this.activateNext()\n }\n\n if (event.key === NAVIGATION_KEYS.ArrowUp) {\n event.preventDefault()\n this.activatePrevious()\n }\n\n if (event.key === NAVIGATION_KEYS.Home) {\n event.preventDefault()\n this.activateFirst()\n }\n\n if (event.key === NAVIGATION_KEYS.End) {\n event.preventDefault()\n this.activateLast()\n }\n }\n\n activateFirst(): void {\n this.activeListItem = this.getFirstItem()\n if (this.activeListItem) {\n this.activateListItem(this.activeListItem)\n }\n }\n\n activateLast(): void {\n this.activeListItem = this.getLastItem()\n if (this.activeListItem) {\n this.activateListItem(this.activeListItem)\n }\n }\n\n activateNext(item = this.activeListItem): void {\n this.activeListItem = item ? this.getNextItem(item) : this.getFirstItem()\n if (this.activeListItem) {\n this.activateListItem(this.activeListItem)\n }\n }\n\n activatePrevious(item = this.activeListItem): void {\n this.activeListItem = item ? this.getPreviousItem(item) : this.getLastItem()\n if (this.activeListItem) {\n this.activateListItem(this.activeListItem)\n }\n }\n\n /**\n * Sets `highlight` class on the next item.\n * @param item When not set it highlights the first item. Default to `this.highlightListItem`.\n * Pass `null` to select first item.\n */\n highlightNext(item = this.highlightListItem): void {\n const next = item ? this.getNextItem(item) : this.getFirstItem()\n this.highlightItem(next)\n }\n\n /**\n * Sets `highlight` class on the previous item.\n * @param item When not set it highlights the last item. Default to `this.highlightListItem`.\n * Pass `null` to select last item.\n */\n highlightPrevious(item = this.highlightListItem): void {\n const previous = item ? this.getPreviousItem(item) : this.getLastItem()\n this.highlightItem(previous)\n }\n\n highlightFirst(): void {\n const item = this.getFirstItem()\n this.highlightItem(item)\n }\n\n highlightLast(): void {\n const item = this.getLastItem()\n this.highlightItem(item)\n }\n\n handleClick(event: MouseEvent): void {\n this.activateFromEvent(event)\n }\n\n highlightItem(item?: UiListItem | null): void {\n if (this.highlightListItem === item) {\n return\n }\n if (this.highlightListItem) {\n this.highlightListItem.classList.remove('highlight')\n }\n this.highlightListItem = item || null\n if (this.highlightListItem) {\n this.highlightListItem.classList.add('highlight')\n this.highlightListItem.scrollIntoView({ block: 'nearest', inline: 'nearest', behavior: 'smooth' })\n }\n this.dispatchEvent(\n new CustomEvent('highlightchange', { bubbles: false, composed: false, detail: { item: this.highlightListItem } })\n )\n }\n\n /**\n * Activates a list item from an Event.\n * Activate means dispatches a non-bubbling CustomEvent with the item in the detail.\n */\n protected activateFromEvent(e: Event): void {\n const path = e.composedPath()\n let item: UiListItem | undefined\n while (!item) {\n const next = path.shift() as Element\n if (next === this) {\n break\n }\n if (!this.isListItem(next) || !this.isSelectable(next)) {\n continue\n }\n item = next as UiListItem\n }\n if (!item) {\n return\n }\n this.manageSelection(item)\n item.activate()\n this.activeListItem = item\n e.preventDefault()\n this.notifySelect(item)\n }\n\n /**\n * @param item The UiListItem that is selected.\n * @returns True when the event was canceled.\n */\n notifySelect(item: UiListItem, index?: number): boolean {\n const resolvedIndex = index ?? this.items.indexOf(item)\n if (resolvedIndex === -1) {\n return false\n }\n const event = new CustomEvent<UiListSelection>('select', {\n cancelable: true,\n detail: {\n item,\n index: resolvedIndex,\n },\n })\n this.dispatchEvent(event)\n return event.defaultPrevented\n }\n\n protected manageSelection(item: UiListItem): void {\n if (!this.selectActive) {\n return\n }\n const { items } = this\n items.forEach((current) => current.classList.remove('select'))\n item.classList.add('select')\n }\n\n override render(): TemplateResult {\n return html`<slot @slotchange=\"${this.updateItems}\"></slot>`\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"List.js","sourceRoot":"","sources":["../../../../../src/md/list/internals/List.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAA4C,MAAM,KAAK,CAAA;AAChF,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAGnE,MAAM,eAAe,GAAG;IACtB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;CACX,CAAA;AAED,MAAM,eAAe,GAAG;IACtB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,GAAG;CACX,CAAA;;sBAmBmC,UAAU;;;;;;;;;;;;;iBAAzB,MAAO,SAAQ,WAAU;;;oCAe3C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wCAM1B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;4CAE3B,qBAAqB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;yCASxC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAjBA,6KAAS,QAAQ,6BAAR,QAAQ,2FAAQ;YAMxB,yLAAS,YAAY,6BAAZ,YAAY,mGAAqB;YAE7B,qMAAmB,gBAAgB,6BAAhB,gBAAgB,2GAAgB;YAShE,4LAAS,aAAa,6BAAb,aAAa,qGAAqB;;;QA5BxE,0BAA+B,EAAE,CAAA;QAHjC;;WAEG;QACH,IAAS,KAAK,2CAAmB;QAAjC,IAAS,KAAK,iDAAmB;QAEjC,cAAc,GAAsB,IAAI,CAAA;QAExC,iBAAiB,GAAsB,IAAI,CAAA;QAOf,qFAAyB;QALrD;;;;WAIG;QACyB,IAAS,QAAQ,8CAAQ;QAAzB,IAAS,QAAQ,oDAAQ;QAMxB,qJAA0C;QAJvE;;;WAGG;QAC0B,IAAS,YAAY,kDAAqB;QAA1C,IAAS,YAAY,wDAAqB;QAE7B,iKAAmD;QAAnD,IAAmB,gBAAgB,sDAAgB;QAAnD,IAAmB,gBAAgB,4DAAgB;QAShE,+JAA2C;QAPxE;;;;;;WAMG;QAC0B,IAAS,aAAa,mDAAqB;QAA3C,IAAS,aAAa,yDAAqB;QAExE;YACE,KAAK,EAAE,CAAA;;YACP,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAA;YAC9B,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YAC/D,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YAC3D,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;SACjE;QAEQ,iBAAiB;YACxB,KAAK,CAAC,iBAAiB,EAAE,CAAA;YACzB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC1D,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;YACpC,CAAC;QACH,CAAC;QAEQ,KAAK,CAAC,OAAsB;YACnC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAC3B,CAAC;QAEQ,YAAY,CAAC,iBAAiC;YACrD,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAA;YAErC,IAAI,CAAC,WAAW,EAAE,CAAA;QACpB,CAAC;QAES,gBAAgB,CAAC,KAAiB;YAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBAC1B,OAAM;YACR,CAAC;YACD,IAAI,CAAC,WAAW,EAAE,CAAA;QACpB,CAAC;QAES,WAAW,CAAC,OAAsB;YAC1C,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACpC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,iBAAiB,EAAE,CAAA;YAC1B,CAAC;QACH,CAAC;QAED,iBAAiB;YACf,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;YACzC,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAA;QACjC,CAAC;QAED,gBAAgB;YACd,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;YACxC,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAA;QACjC,CAAC;QAED,mBAAmB;YACjB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;YAC1B,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;QACpC,CAAC;QAES,WAAW;YACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAA;YAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;YACpD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;YAClB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,0CAA0C;gBAC1C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAA;YAC3D,CAAC;YACD,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;gBAChE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;YAC5B,CAAC;YACD,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACtE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;YAC/B,CAAC;YACD,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAoB,aAAa,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAC1G,CAAA;QACH,CAAC;QAED;;WAEG;QACO,UAAU,CAAC,OAAgB;YACnC,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC3C,OAAO,KAAK,CAAA;YACd,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACvC,CAAC;QAED,YAAY;YACV,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACtB,CAAC;QAED,WAAW;YACT,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC1C,CAAC;QAED,eAAe,CAAC,IAAgB;YAC9B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;YACtB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACpC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAA;YACb,CAAC;YACD,IAAI,CAAC,GAAG,QAAQ,CAAA;YAChB,IAAI,MAA+B,CAAA;YACnC,GAAG,CAAC;gBACF,CAAC,EAAE,CAAA;gBACH,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACnB,uDAAuD;oBACvD,OAAO,IAAI,CAAA;gBACb,CAAC;gBACD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;gBACpB,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;oBAChB,SAAQ;gBACV,CAAC;gBACD,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC3B,MAAM,GAAG,GAAG,CAAA;gBACd,CAAC;YACH,CAAC,QAAQ,CAAC,MAAM,EAAC;YACjB,OAAQ,MAAqB,IAAI,IAAI,CAAA;QACvC,CAAC;QAED,WAAW,CAAC,IAAgB;YAC1B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;YACtB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACpC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAA;YACb,CAAC;YACD,IAAI,CAAC,GAAG,QAAQ,CAAA;YAChB,IAAI,IAA6B,CAAA;YACjC,GAAG,CAAC;gBACF,CAAC,EAAE,CAAA;gBACH,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACnB,yDAAyD;oBACzD,OAAO,IAAI,CAAA;gBACb,CAAC;gBACD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;gBACpB,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,CAAC,GAAG,CAAC,CAAC,CAAA;oBACN,SAAQ;gBACV,CAAC;gBACD,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC3B,IAAI,GAAG,GAAG,CAAA;gBACZ,CAAC;YACH,CAAC,QAAQ,CAAC,IAAI,EAAC;YACf,OAAQ,IAAmB,IAAI,IAAI,CAAA;QACrC,CAAC;QAES,YAAY,CAAC,OAAoB;YACzC,IAAK,OAA4C,CAAC,QAAQ,EAAE,CAAC;gBAC3D,OAAO,KAAK,CAAA;YACd,CAAC;YACD,IAAI,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;gBACrC,OAAO,KAAK,CAAA;YACd,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrD,OAAO,KAAK,CAAA;YACd,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QAES,gBAAgB,CAAC,IAAgB;YACzC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAA;QACxB,CAAC;QAES,kBAAkB,CAAC,IAAgB;YAC3C,IAAI,CAAC,UAAU,EAAE,CAAA;QACnB,CAAC;QAES,gBAAgB,CAAC,IAAwB;YACjD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAM;YACR,CAAC;YACD,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;YAChC,IAAI,CAAC,QAAQ,EAAE,CAAA;YACf,IAAI,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAA;QAClF,CAAC;QAED,aAAa,CAAC,KAAoB;YAChC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,OAAM;YACR,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;gBAC7B,OAAM;YACR,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAAE,OAAM;YAEpE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;gBAC5B,CAAC;gBAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;YAC/B,CAAC;YAED,IAAI,KAAK,CAAC,GAAG,KAAK,eAAe,CAAC,SAAS,EAAE,CAAC;gBAC5C,KAAK,CAAC,cAAc,EAAE,CAAA;gBACtB,IAAI,CAAC,YAAY,EAAE,CAAA;YACrB,CAAC;YAED,IAAI,KAAK,CAAC,GAAG,KAAK,eAAe,CAAC,OAAO,EAAE,CAAC;gBAC1C,KAAK,CAAC,cAAc,EAAE,CAAA;gBACtB,IAAI,CAAC,gBAAgB,EAAE,CAAA;YACzB,CAAC;YAED,IAAI,KAAK,CAAC,GAAG,KAAK,eAAe,CAAC,IAAI,EAAE,CAAC;gBACvC,KAAK,CAAC,cAAc,EAAE,CAAA;gBACtB,IAAI,CAAC,aAAa,EAAE,CAAA;YACtB,CAAC;YAED,IAAI,KAAK,CAAC,GAAG,KAAK,eAAe,CAAC,GAAG,EAAE,CAAC;gBACtC,KAAK,CAAC,cAAc,EAAE,CAAA;gBACtB,IAAI,CAAC,YAAY,EAAE,CAAA;YACrB,CAAC;QACH,CAAC;QAED,aAAa;YACX,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;YACzC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAC5C,CAAC;QACH,CAAC;QAED,YAAY;YACV,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;YACxC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAC5C,CAAC;QACH,CAAC;QAED,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc;YACrC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAA;YACzE,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAC5C,CAAC;QACH,CAAC;QAED,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc;YACzC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;YAC5E,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAC5C,CAAC;QACH,CAAC;QAED;;;;WAIG;QACH,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,iBAAiB;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAA;YAChE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QAC1B,CAAC;QAED;;;;WAIG;QACH,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC,iBAAiB;YAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;YACvE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QAC9B,CAAC;QAED,cAAc;YACZ,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;YAChC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QAC1B,CAAC;QAED,aAAa;YACX,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;YAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QAC1B,CAAC;QAED,WAAW,CAAC,KAAiB;YAC3B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;QAC/B,CAAC;QAED,aAAa,CAAC,IAAwB;YACpC,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;gBACpC,OAAM;YACR,CAAC;YACD,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;YACtD,CAAC;YACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,IAAI,IAAI,CAAA;YACrC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;gBACjD,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAA;YACpG,CAAC;YACD,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAClH,CAAA;QACH,CAAC;QAED;;;WAGG;QACO,iBAAiB,CAAC,CAAQ;YAClC,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,CAAA;YAC7B,IAAI,IAA4B,CAAA;YAChC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAa,CAAA;gBACpC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAClB,MAAK;gBACP,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvD,SAAQ;gBACV,CAAC;gBACD,IAAI,GAAG,IAAkB,CAAA;YAC3B,CAAC;YACD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAM;YACR,CAAC;YACD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;YAC1B,IAAI,CAAC,QAAQ,EAAE,CAAA;YACf,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;YAC1B,CAAC,CAAC,cAAc,EAAE,CAAA;YAClB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC;QAED;;;WAGG;QACH,YAAY,CAAC,IAAgB,EAAE,KAAc;YAC3C,MAAM,aAAa,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACvD,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;gBACzB,OAAO,KAAK,CAAA;YACd,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,WAAW,CAAkB,QAAQ,EAAE;gBACvD,UAAU,EAAE,IAAI;gBAChB,MAAM,EAAE;oBACN,IAAI;oBACJ,KAAK,EAAE,aAAa;iBACrB;aACF,CAAC,CAAA;YACF,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;YACzB,OAAO,KAAK,CAAC,gBAAgB,CAAA;QAC/B,CAAC;QAES,eAAe,CAAC,IAAgB;YACxC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,OAAM;YACR,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;YACtB,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;YAC9D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC9B,CAAC;QAEQ,MAAM;YACb,OAAO,IAAI,CAAA,sBAAsB,IAAI,CAAC,WAAW,WAAW,CAAA;QAC9D,CAAC;;;AAxYH;;;;;;;GAOG;AACH,sBAiYC","sourcesContent":["import { html, LitElement, type PropertyValues, type TemplateResult } from 'lit'\nimport { property, queryAssignedElements } from 'lit/decorators.js'\nimport type UiListItem from './ListItem.js'\n\nconst NAVIGATION_KEYS = {\n ArrowDown: 'ArrowDown',\n ArrowUp: 'ArrowUp',\n Home: 'Home',\n End: 'End',\n}\n\nconst ACTIVATION_KEYS = {\n Enter: 'Enter',\n Space: ' ',\n}\n\nexport interface UiListSelection {\n item: HTMLElement\n index: number\n}\n\nexport interface UiListItemsChange {\n items: UiListItem[]\n}\n\n/**\n * @fires select - Dispatched when the user click or press `Enter` or `Space` on any active list item.\n * The `event.detail` object contains the `item` and `index` properties.\n * @fires itemschange - Dispatched when the list items change, e.g. when the slot changes.\n * The `event.detail` object contains the `items` property with the list of items.\n * @fires highlightchange - Dispatched when the highlighted item changes.\n * The `event.detail` object contains the `items` property with the list of items.\n */\nexport default class UiList extends LitElement {\n /**\n * The computed list of list items to render.\n */\n accessor items: UiListItem[] = []\n\n activeListItem: UiListItem | null = null\n\n highlightListItem: UiListItem | null = null\n\n /**\n * The CSS selector that is used to recognize which items are\n * active list items (can be selected, focused, etc.)\n * @attribute\n */\n @property({ type: String }) accessor selector: string\n\n /**\n * When set it marks last activated list item as selected.\n * @attribute\n */\n @property({ type: Boolean }) accessor selectActive: boolean | undefined\n\n @queryAssignedElements({ flatten: true }) protected accessor assignedElements!: HTMLElement[]\n\n /**\n * When set it delegates focus to the active child of a list item.\n * Used when the list has input controls like checkboxes or switches.\n * When set, the list behaves like a regular HTML (but styled) listbox\n * and does not manage focus on its own.\n * @attribute\n */\n @property({ type: Boolean }) accessor delegateFocus: boolean | undefined\n\n constructor() {\n super()\n this.selector = 'ui-list-item'\n this.addEventListener('keydown', this.handleKeydown.bind(this))\n this.addEventListener('click', this.handleClick.bind(this))\n this.addEventListener('focus', this.handleFocusEvent.bind(this))\n }\n\n override connectedCallback(): void {\n super.connectedCallback()\n if (!this.hasAttribute('tabindex') && !this.delegateFocus) {\n this.setAttribute('tabindex', '0')\n }\n }\n\n override focus(options?: FocusOptions): void {\n this.handleFocus(options)\n }\n\n override firstUpdated(changedProperties: PropertyValues): void {\n super.firstUpdated(changedProperties)\n\n this.updateItems()\n }\n\n protected handleFocusEvent(event: FocusEvent): void {\n if (event.target !== this) {\n return\n }\n this.handleFocus()\n }\n\n protected handleFocus(options?: FocusOptions): void {\n if (this.activeListItem) {\n this.activeListItem.focus(options)\n } else {\n this.activateFirstItem()\n }\n }\n\n activateFirstItem(): void {\n this.activeListItem = this.getFirstItem()\n this.activeListItem?.activate()\n }\n\n activateLastItem(): void {\n this.activeListItem = this.getLastItem()\n this.activeListItem?.activate()\n }\n\n resetActiveListItem(): void {\n this.activeListItem = null\n this.setAttribute('tabindex', '0')\n }\n\n protected updateItems(): void {\n const elements = this.assignedElements || []\n const items = elements.filter(this.isListItem, this)\n this.items = items\n if (this.delegateFocus) {\n // remove tabindex from the list and items\n items.forEach((item) => item.removeAttribute('tabindex'))\n }\n if (this.activeListItem && !items.includes(this.activeListItem)) {\n this.activeListItem = null\n }\n if (this.highlightListItem && !items.includes(this.highlightListItem)) {\n this.highlightListItem = null\n }\n this.dispatchEvent(\n new CustomEvent<UiListItemsChange>('itemschange', { bubbles: false, composed: false, detail: { items } })\n )\n }\n\n /**\n * @return Whether the given element is a list item element.\n */\n protected isListItem(element: Element): element is UiListItem {\n if (element.nodeType !== Node.ELEMENT_NODE) {\n return false\n }\n return element.matches(this.selector)\n }\n\n getFirstItem(): UiListItem {\n return this.items[0]\n }\n\n getLastItem(): UiListItem {\n return this.items[this.items.length - 1]\n }\n\n getPreviousItem(item: UiListItem): UiListItem {\n const { items } = this\n const curIndex = items.indexOf(item)\n if (curIndex < 0) {\n return item\n }\n let i = curIndex\n let result: HTMLElement | undefined\n do {\n i--\n if (i === curIndex) {\n // looped back from the end, no active element to find.\n return item\n }\n const tmp = items[i]\n if (!tmp) {\n i = items.length\n continue\n }\n if (this.isSelectable(tmp)) {\n result = tmp\n }\n } while (!result)\n return (result as UiListItem) || item\n }\n\n getNextItem(item: UiListItem): UiListItem {\n const { items } = this\n const curIndex = items.indexOf(item)\n if (curIndex < 0) {\n return item\n }\n let i = curIndex\n let next: HTMLElement | undefined\n do {\n i++\n if (i === curIndex) {\n // looped back from the start, no active element to find.\n return item\n }\n const tmp = items[i]\n if (!tmp) {\n i = -1\n continue\n }\n if (this.isSelectable(tmp)) {\n next = tmp\n }\n } while (!next)\n return (next as UiListItem) || item\n }\n\n protected isSelectable(element: HTMLElement): boolean {\n if ((element as unknown as { disabled: boolean }).disabled) {\n return false\n }\n if (element.hasAttribute('disabled')) {\n return false\n }\n if (element.hidden && element.hasAttribute('hidden')) {\n return false\n }\n return true\n }\n\n protected isListItemActive(item: UiListItem): boolean {\n return item.isActive()\n }\n\n protected deactivateListItem(item: UiListItem): void {\n item.deactivate()\n }\n\n protected activateListItem(item?: UiListItem | null): void {\n if (!item) {\n return\n }\n this.removeAttribute('tabindex')\n item.activate()\n item.scrollIntoView({ block: 'nearest', inline: 'nearest', behavior: 'smooth' })\n }\n\n handleKeydown(event: KeyboardEvent): void {\n if (this.delegateFocus) {\n return\n }\n if (Object.values(ACTIVATION_KEYS).includes(event.key)) {\n this.activateFromEvent(event)\n return\n }\n if (Object.values(NAVIGATION_KEYS).indexOf(event.key) === -1) return\n\n for (const item of this.items) {\n if (this.isListItemActive(item)) {\n this.activeListItem = item\n }\n\n this.deactivateListItem(item)\n }\n\n if (event.key === NAVIGATION_KEYS.ArrowDown) {\n event.preventDefault()\n this.activateNext()\n }\n\n if (event.key === NAVIGATION_KEYS.ArrowUp) {\n event.preventDefault()\n this.activatePrevious()\n }\n\n if (event.key === NAVIGATION_KEYS.Home) {\n event.preventDefault()\n this.activateFirst()\n }\n\n if (event.key === NAVIGATION_KEYS.End) {\n event.preventDefault()\n this.activateLast()\n }\n }\n\n activateFirst(): void {\n this.activeListItem = this.getFirstItem()\n if (this.activeListItem) {\n this.activateListItem(this.activeListItem)\n }\n }\n\n activateLast(): void {\n this.activeListItem = this.getLastItem()\n if (this.activeListItem) {\n this.activateListItem(this.activeListItem)\n }\n }\n\n activateNext(item = this.activeListItem): void {\n this.activeListItem = item ? this.getNextItem(item) : this.getFirstItem()\n if (this.activeListItem) {\n this.activateListItem(this.activeListItem)\n }\n }\n\n activatePrevious(item = this.activeListItem): void {\n this.activeListItem = item ? this.getPreviousItem(item) : this.getLastItem()\n if (this.activeListItem) {\n this.activateListItem(this.activeListItem)\n }\n }\n\n /**\n * Sets `highlight` class on the next item.\n * @param item When not set it highlights the first item. Default to `this.highlightListItem`.\n * Pass `null` to select first item.\n */\n highlightNext(item = this.highlightListItem): void {\n const next = item ? this.getNextItem(item) : this.getFirstItem()\n this.highlightItem(next)\n }\n\n /**\n * Sets `highlight` class on the previous item.\n * @param item When not set it highlights the last item. Default to `this.highlightListItem`.\n * Pass `null` to select last item.\n */\n highlightPrevious(item = this.highlightListItem): void {\n const previous = item ? this.getPreviousItem(item) : this.getLastItem()\n this.highlightItem(previous)\n }\n\n highlightFirst(): void {\n const item = this.getFirstItem()\n this.highlightItem(item)\n }\n\n highlightLast(): void {\n const item = this.getLastItem()\n this.highlightItem(item)\n }\n\n handleClick(event: MouseEvent): void {\n this.activateFromEvent(event)\n }\n\n highlightItem(item?: UiListItem | null): void {\n if (this.highlightListItem === item) {\n return\n }\n if (this.highlightListItem) {\n this.highlightListItem.classList.remove('highlight')\n }\n this.highlightListItem = item || null\n if (this.highlightListItem) {\n this.highlightListItem.classList.add('highlight')\n this.highlightListItem.scrollIntoView({ block: 'nearest', inline: 'nearest', behavior: 'smooth' })\n }\n this.dispatchEvent(\n new CustomEvent('highlightchange', { bubbles: false, composed: false, detail: { item: this.highlightListItem } })\n )\n }\n\n /**\n * Activates a list item from an Event.\n * Activate means dispatches a non-bubbling CustomEvent with the item in the detail.\n */\n protected activateFromEvent(e: Event): void {\n const path = e.composedPath()\n let item: UiListItem | undefined\n while (!item) {\n const next = path.shift() as Element\n if (next === this) {\n break\n }\n if (!this.isListItem(next) || !this.isSelectable(next)) {\n continue\n }\n item = next as UiListItem\n }\n if (!item) {\n return\n }\n this.manageSelection(item)\n item.activate()\n this.activeListItem = item\n e.preventDefault()\n this.notifySelect(item)\n }\n\n /**\n * @param item The UiListItem that is selected.\n * @returns True when the event was canceled.\n */\n notifySelect(item: UiListItem, index?: number): boolean {\n const resolvedIndex = index ?? this.items.indexOf(item)\n if (resolvedIndex === -1) {\n return false\n }\n const event = new CustomEvent<UiListSelection>('select', {\n cancelable: true,\n detail: {\n item,\n index: resolvedIndex,\n },\n })\n this.dispatchEvent(event)\n return event.defaultPrevented\n }\n\n protected manageSelection(item: UiListItem): void {\n if (!this.selectActive) {\n return\n }\n const { items } = this\n items.forEach((current) => current.classList.remove('select'))\n item.classList.add('select')\n }\n\n override render(): TemplateResult {\n return html`<slot @slotchange=\"${this.updateItems}\"></slot>`\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListItem.d.ts","sourceRoot":"","sources":["../../../../../src/md/list/internals/ListItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;AAE1D,OAAO,EAAY,SAAS,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAA;AAC3F,OAAO,QAAQ,MAAM,kCAAkC,CAAA;AAGvD,OAAO,mCAAmC,CAAA;AAC1C,OAAO,2BAA2B,CAAA;AAElC,oBAAY,aAAa;IACvB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAED,oBAAY,aAAa;IACvB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,SAAS;;IAC3B,QAAQ,CAAC,MAAM,EAAG,QAAQ,CAAA;IAI9C,IAAI,KAAK,IAAI,aAAa,CAKzB;IAED;;;;OAIG;IACH,IACI,KAAK,CAAC,KAAK,EAAE,aAAa,EAI7B;IAED;;;OAGG;IACyC,QAAQ,CAAC,QAAQ,UAAQ;IAErE;;;;OAIG;IACwC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAA;IAExE;;;;;OAKG;IACyC,QAAQ,CAAC,MAAM,UAAQ;IAEnE,SAA6D,QAAQ,SAAK;IAEjE,QAAQ,CAAC,YAAY,UAAQ;IAC7B,QAAQ,CAAC,UAAU,UAAQ;IAC3B,QAAQ,CAAC,cAAc,UAAQ;IAC/B,QAAQ,CAAC,WAAW,UAAQ;IAC5B,QAAQ,CAAC,iBAAiB,UAAQ;;cAmBxB,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAOhE,iBAAiB,IAAI,IAAI;cAOf,UAAU,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAMpD,aAAa,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"ListItem.d.ts","sourceRoot":"","sources":["../../../../../src/md/list/internals/ListItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;AAE1D,OAAO,EAAY,SAAS,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAA;AAC3F,OAAO,QAAQ,MAAM,kCAAkC,CAAA;AAGvD,OAAO,mCAAmC,CAAA;AAC1C,OAAO,2BAA2B,CAAA;AAElC,oBAAY,aAAa;IACvB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAED,oBAAY,aAAa;IACvB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,SAAS;;IAC3B,QAAQ,CAAC,MAAM,EAAG,QAAQ,CAAA;IAI9C,IAAI,KAAK,IAAI,aAAa,CAKzB;IAED;;;;OAIG;IACH,IACI,KAAK,CAAC,KAAK,EAAE,aAAa,EAI7B;IAED;;;OAGG;IACyC,QAAQ,CAAC,QAAQ,UAAQ;IAErE;;;;OAIG;IACwC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAA;IAExE;;;;;OAKG;IACyC,QAAQ,CAAC,MAAM,UAAQ;IAEnE,SAA6D,QAAQ,SAAK;IAEjE,QAAQ,CAAC,YAAY,UAAQ;IAC7B,QAAQ,CAAC,UAAU,UAAQ;IAC3B,QAAQ,CAAC,cAAc,UAAQ;IAC/B,QAAQ,CAAC,WAAW,UAAQ;IAC5B,QAAQ,CAAC,iBAAiB,UAAQ;;cAmBxB,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAOhE,iBAAiB,IAAI,IAAI;cAOf,UAAU,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAMpD,aAAa,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI;IAYrC,WAAW,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI;IAanC,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAQ3C,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAQvC,kBAAkB,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI;IASzC,kBAAkB,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI;IAWlD;;OAEG;IACH,QAAQ,IAAI,IAAI;IAQhB;;OAEG;IACH,QAAQ,IAAI,OAAO;IAOnB;;OAEG;IACH,UAAU,IAAI,IAAI;IAOlB,OAAO,CAAC,iBAAiB;IAKzB,SAAS,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAKtD,SAAS,CAAC,8BAA8B,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAK5D,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAKnD,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAKjD,SAAS,CAAC,uBAAuB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAKrD,iBAAiB,IAAI,SAAS;cAUX,MAAM,IAAI,cAAc;IAS3C,SAAS,CAAC,YAAY,IAAI,cAAc;IAIxC,SAAS,CAAC,eAAe,IAAI,cAAc;IAS3C,SAAS,CAAC,eAAe,IAAI,SAAS;IAOtC,SAAS,CAAC,WAAW,IAAI,cAAc;IAMvC,SAAS,CAAC,aAAa,IAAI,SAAS;IAQpC,SAAS,CAAC,SAAS,IAAI,cAAc;IAOrC,SAAS,CAAC,UAAU,IAAI,cAAc;CAWvC"}
|
|
@@ -183,22 +183,26 @@ let UiListItem = (() => {
|
|
|
183
183
|
}
|
|
184
184
|
}
|
|
185
185
|
handleKeyDown(e) {
|
|
186
|
-
if (this.disabled
|
|
186
|
+
if (this.disabled) {
|
|
187
187
|
e.stopPropagation();
|
|
188
188
|
e.preventDefault();
|
|
189
189
|
return;
|
|
190
190
|
}
|
|
191
|
+
if (this.static)
|
|
192
|
+
return;
|
|
191
193
|
if (e.key !== ' ' && e.key !== 'Enter')
|
|
192
194
|
return;
|
|
193
195
|
// do not prevent default, so that parent elements can handle the key event
|
|
194
196
|
this.beginPress({ positionEvent: e });
|
|
195
197
|
}
|
|
196
198
|
handleKeyUp(e) {
|
|
197
|
-
if (this.disabled
|
|
199
|
+
if (this.disabled) {
|
|
198
200
|
e.stopPropagation();
|
|
199
201
|
e.preventDefault();
|
|
200
202
|
return;
|
|
201
203
|
}
|
|
204
|
+
if (this.static)
|
|
205
|
+
return;
|
|
202
206
|
if (e.key !== ' ' && e.key !== 'Enter')
|
|
203
207
|
return;
|
|
204
208
|
// do not prevent default, so that parent elements can handle the key event
|
|
@@ -299,13 +303,13 @@ let UiListItem = (() => {
|
|
|
299
303
|
render() {
|
|
300
304
|
return html `
|
|
301
305
|
${this.renderFocusRing()} ${this.renderRipple()}
|
|
302
|
-
<div class="${classMap(this.getSurfaceClasses())}">
|
|
306
|
+
<div class="${classMap(this.getSurfaceClasses())}" part="surface">
|
|
303
307
|
${this.renderStart()} ${this.renderBody()} ${this.renderEnd()}
|
|
304
308
|
</div>
|
|
305
309
|
`;
|
|
306
310
|
}
|
|
307
311
|
renderRipple() {
|
|
308
|
-
return html `<ui-ripple class="ripple" ?disabled="${this.disabled || this.static}"></ui-ripple>`;
|
|
312
|
+
return html `<ui-ripple part="ripple" class="ripple" ?disabled="${this.disabled || this.static}"></ui-ripple>`;
|
|
309
313
|
}
|
|
310
314
|
renderFocusRing() {
|
|
311
315
|
return html `<ui-focus-ring
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListItem.js","sourceRoot":"","sources":["../../../../../src/md/list/internals/ListItem.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, PropertyValues, TemplateResult } from 'lit'\nimport { property, state, query } from 'lit/decorators.js'\nimport { classMap, ClassInfo } from 'lit/directives/class-map.js'\nimport { UiElement } from '../../UiElement.js'\nimport { BeginPressConfig, EndPressConfig } from '../../../controllers/ActionController.js'\nimport UiRipple from '../../ripple/internals/ripple.js'\nimport { setDisabled } from '../../../lib/disabled.js'\n\nimport '../../focus-ring/ui-focus-ring.js'\nimport '../../ripple/ui-ripple.js'\n\nexport enum ListItemLines {\n one = 'one',\n two = 'two',\n three = 'three',\n auto = 'auto',\n}\n\nexport enum ListItemImage {\n icon = 'icon',\n avatar = 'avatar',\n image = 'image',\n video = 'video',\n auto = 'auto',\n}\n\n/**\n * @slot - The main content of the list item, typically a label or title.\n * @slot overline - The text displayed above the main content.\n * @slot start - The content displayed at the start of the list item.\n * @slot end - The content displayed at the end of the list item.\n * @slot end-text - The text displayed at the end of the list item.\n * @slot supporting-text - The supporting text displayed below the main content.\n */\nexport default class UiListItem extends UiElement {\n @query('ui-ripple') accessor ripple!: UiRipple\n\n #lines: ListItemLines = ListItemLines.one\n\n get lines(): ListItemLines {\n if (this.#lines === ListItemLines.auto) {\n return this.hasOverline || this.hasSupportingText ? ListItemLines.two : ListItemLines.one\n }\n return this.#lines\n }\n\n /**\n * The number of lines to render the list template for.\n * @default ListItemLines.one\n * @attribute\n */\n @property({ type: String, reflect: true })\n set lines(value: ListItemLines) {\n const oldValue = this.#lines\n this.#lines = value\n this.requestUpdate('lines', oldValue)\n }\n\n /**\n * Whether the list item is disabled. The user can't interact with the list item when `true`.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor disabled = false\n\n /**\n * The type of the list image.\n * @default ListItemImage.icon\n * @attribute\n */\n @property({ type: String, reflect: true }) accessor image: ListItemImage\n\n /**\n * Whether the list item is static and should not be focusable.\n * The ripple effect will not be applied when `true`.\n * @default false\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor static = false\n\n @property({ type: Number, reflect: true }) override accessor tabIndex = -1\n\n @state() accessor hasStartItem = false\n @state() accessor hasEndItem = false\n @state() accessor hasEndTextItem = false\n @state() accessor hasOverline = false\n @state() accessor hasSupportingText = false\n\n constructor() {\n super()\n\n this.image = ListItemImage.icon\n this.lines = ListItemLines.one\n\n this.addEventListener('click', this.handleClick.bind(this))\n this.addEventListener('pointerdown', this.handlePointerDown.bind(this))\n this.addEventListener('pointerup', this.handlePointerUp.bind(this))\n this.addEventListener('pointercancel', this.handlePointerCancel.bind(this))\n this.addEventListener('pointerleave', this.handlePointerLeave.bind(this))\n this.addEventListener('pointerenter', this.handlePointerEnter.bind(this))\n this.addEventListener('contextmenu', this.handleContextMenu.bind(this))\n this.addEventListener('keydown', this.handleKeyDown.bind(this))\n this.addEventListener('keyup', this.handleKeyUp.bind(this))\n }\n\n protected override updated(changedProperties: PropertyValues<this>): void {\n super.updated(changedProperties)\n if (changedProperties.has('tabIndex') && (this.tabIndex === -1 || this.tabIndex === null)) {\n this.ripple?.endPress()\n }\n }\n\n override connectedCallback(): void {\n super.connectedCallback()\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'listitem')\n }\n }\n\n protected override willUpdate(cp: PropertyValues<this>): void {\n if (cp.has('disabled')) {\n setDisabled(this, cp.get('disabled'))\n }\n }\n\n override handleKeyDown(e: KeyboardEvent): void {\n if (this.disabled || this.static) {\n e.stopPropagation()\n e.preventDefault()\n return\n }\n if (e.key !== ' ' && e.key !== 'Enter') return\n // do not prevent default, so that parent elements can handle the key event\n this.beginPress({ positionEvent: e })\n }\n\n override handleKeyUp(e: KeyboardEvent): void {\n if (this.disabled || this.static) {\n e.stopPropagation()\n e.preventDefault()\n return\n }\n if (e.key !== ' ' && e.key !== 'Enter') return\n\n // do not prevent default, so that parent elements can handle the key event\n this.endPress({ cancelled: false, actionData: { item: this } })\n }\n\n override beginPress(options: BeginPressConfig): void {\n if (this.disabled || this.static) {\n return\n }\n super.beginPress(options)\n this.ripple.beginPress(options.positionEvent)\n }\n\n override endPress(options: EndPressConfig): void {\n if (this.disabled || this.static) {\n return\n }\n super.endPress(options)\n this.ripple.endPress()\n }\n\n override handlePointerEnter(e: PointerEvent): void {\n if (this.disabled || this.static) {\n e.stopPropagation()\n e.preventDefault()\n return\n }\n this.ripple.beginHover(e)\n }\n\n override handlePointerLeave(e: PointerEvent): void {\n if (this.disabled || this.static) {\n e.stopPropagation()\n e.preventDefault()\n return\n }\n super.handlePointerLeave(e)\n\n this.ripple.endHover()\n }\n\n /**\n * Focuses list item and makes list item focusable via keyboard.\n */\n activate(): void {\n if (this.disabled || this.static) {\n return\n }\n this.setAttribute('tabindex', '0')\n this.focus()\n }\n\n /**\n * Returns true if list item is currently focused and is focusable.\n */\n isActive(): boolean {\n if (this.disabled || this.static) {\n return false\n }\n return this.getAttribute('tabindex') === '0'\n }\n\n /**\n * Removes list item from sequential keyboard navigation.\n */\n deactivate(): void {\n if (this.disabled || this.static) {\n return\n }\n this.removeAttribute('tabindex')\n }\n\n private _handleSlotChange(event: Event): boolean {\n const slot = event.target as HTMLSlotElement\n return slot.assignedNodes({ flatten: true }).length > 0\n }\n\n protected handleOverlineSlotChange(event: Event): void {\n this.hasOverline = this._handleSlotChange(event)\n this.requestUpdate()\n }\n\n protected handleSupportingTextSlotChange(event: Event): void {\n this.hasSupportingText = this._handleSlotChange(event)\n this.requestUpdate()\n }\n\n protected handleStartSlotChange(event: Event): void {\n this.hasStartItem = this._handleSlotChange(event)\n this.requestUpdate()\n }\n\n protected handleEndSlotChange(event: Event): void {\n this.hasEndItem = this._handleSlotChange(event)\n this.requestUpdate()\n }\n\n protected handleEndTextSlotChange(event: Event): void {\n this.hasEndTextItem = this._handleSlotChange(event)\n this.requestUpdate()\n }\n\n getSurfaceClasses(): ClassInfo {\n const result: ClassInfo = {\n 'surface': true,\n 'one-line': this.lines === ListItemLines.one,\n 'two-lines': this.lines === ListItemLines.two,\n 'three-lines': this.lines === ListItemLines.three,\n }\n return result\n }\n\n protected override render(): TemplateResult {\n return html`\n ${this.renderFocusRing()} ${this.renderRipple()}\n <div class=\"${classMap(this.getSurfaceClasses())}\">\n ${this.renderStart()} ${this.renderBody()} ${this.renderEnd()}\n </div>\n `\n }\n\n protected renderRipple(): TemplateResult {\n return html`<ui-ripple class=\"ripple\" ?disabled=\"${this.disabled || this.static}\"></ui-ripple>`\n }\n\n protected renderFocusRing(): TemplateResult {\n return html`<ui-focus-ring\n part=\"focus-ring\"\n class=\"focus-ring\"\n .control=\"${this as HTMLElement}\"\n inward\n ></ui-focus-ring>`\n }\n\n protected getStartClasses(): ClassInfo {\n return {\n 'start': true,\n 'has-start': this.hasStartItem,\n }\n }\n\n protected renderStart(): TemplateResult {\n return html`<div class=\"${classMap(this.getStartClasses())}\">\n <slot name=\"start\" @slotchange=${this.handleStartSlotChange}></slot>\n </div>`\n }\n\n protected getEndClasses(): ClassInfo {\n return {\n 'end': true,\n 'has-end': this.hasEndItem,\n 'has-end-text': this.hasEndTextItem,\n }\n }\n\n protected renderEnd(): TemplateResult {\n return html`<div class=\"${classMap(this.getEndClasses())}\">\n <slot name=\"end-text\" class=\"trailing-supporting-text\" @slotchange=${this.handleEndTextSlotChange}></slot>\n <slot name=\"end\" @slotchange=${this.handleEndSlotChange}></slot>\n </div>`\n }\n\n protected renderBody(): TemplateResult {\n return html`\n <div class=\"body\">\n <slot name=\"overline\" @slotchange=${this.handleOverlineSlotChange}></slot>\n <span class=\"headline\"><slot></slot></span>\n <span class=\"supporting-text\"\n ><slot name=\"supporting-text\" @slotchange=${this.handleSupportingTextSlotChange}></slot\n ></span>\n </div>\n `\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ListItem.js","sourceRoot":"","sources":["../../../../../src/md/list/internals/ListItem.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, PropertyValues, TemplateResult } from 'lit'\nimport { property, state, query } from 'lit/decorators.js'\nimport { classMap, ClassInfo } from 'lit/directives/class-map.js'\nimport { UiElement } from '../../UiElement.js'\nimport { BeginPressConfig, EndPressConfig } from '../../../controllers/ActionController.js'\nimport UiRipple from '../../ripple/internals/ripple.js'\nimport { setDisabled } from '../../../lib/disabled.js'\n\nimport '../../focus-ring/ui-focus-ring.js'\nimport '../../ripple/ui-ripple.js'\n\nexport enum ListItemLines {\n one = 'one',\n two = 'two',\n three = 'three',\n auto = 'auto',\n}\n\nexport enum ListItemImage {\n icon = 'icon',\n avatar = 'avatar',\n image = 'image',\n video = 'video',\n auto = 'auto',\n}\n\n/**\n * @slot - The main content of the list item, typically a label or title.\n * @slot overline - The text displayed above the main content.\n * @slot start - The content displayed at the start of the list item.\n * @slot end - The content displayed at the end of the list item.\n * @slot end-text - The text displayed at the end of the list item.\n * @slot supporting-text - The supporting text displayed below the main content.\n */\nexport default class UiListItem extends UiElement {\n @query('ui-ripple') accessor ripple!: UiRipple\n\n #lines: ListItemLines = ListItemLines.one\n\n get lines(): ListItemLines {\n if (this.#lines === ListItemLines.auto) {\n return this.hasOverline || this.hasSupportingText ? ListItemLines.two : ListItemLines.one\n }\n return this.#lines\n }\n\n /**\n * The number of lines to render the list template for.\n * @default ListItemLines.one\n * @attribute\n */\n @property({ type: String, reflect: true })\n set lines(value: ListItemLines) {\n const oldValue = this.#lines\n this.#lines = value\n this.requestUpdate('lines', oldValue)\n }\n\n /**\n * Whether the list item is disabled. The user can't interact with the list item when `true`.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor disabled = false\n\n /**\n * The type of the list image.\n * @default ListItemImage.icon\n * @attribute\n */\n @property({ type: String, reflect: true }) accessor image: ListItemImage\n\n /**\n * Whether the list item is static and should not be focusable.\n * The ripple effect will not be applied when `true`.\n * @default false\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor static = false\n\n @property({ type: Number, reflect: true }) override accessor tabIndex = -1\n\n @state() accessor hasStartItem = false\n @state() accessor hasEndItem = false\n @state() accessor hasEndTextItem = false\n @state() accessor hasOverline = false\n @state() accessor hasSupportingText = false\n\n constructor() {\n super()\n\n this.image = ListItemImage.icon\n this.lines = ListItemLines.one\n\n this.addEventListener('click', this.handleClick.bind(this))\n this.addEventListener('pointerdown', this.handlePointerDown.bind(this))\n this.addEventListener('pointerup', this.handlePointerUp.bind(this))\n this.addEventListener('pointercancel', this.handlePointerCancel.bind(this))\n this.addEventListener('pointerleave', this.handlePointerLeave.bind(this))\n this.addEventListener('pointerenter', this.handlePointerEnter.bind(this))\n this.addEventListener('contextmenu', this.handleContextMenu.bind(this))\n this.addEventListener('keydown', this.handleKeyDown.bind(this))\n this.addEventListener('keyup', this.handleKeyUp.bind(this))\n }\n\n protected override updated(changedProperties: PropertyValues<this>): void {\n super.updated(changedProperties)\n if (changedProperties.has('tabIndex') && (this.tabIndex === -1 || this.tabIndex === null)) {\n this.ripple?.endPress()\n }\n }\n\n override connectedCallback(): void {\n super.connectedCallback()\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'listitem')\n }\n }\n\n protected override willUpdate(cp: PropertyValues<this>): void {\n if (cp.has('disabled')) {\n setDisabled(this, cp.get('disabled'))\n }\n }\n\n override handleKeyDown(e: KeyboardEvent): void {\n if (this.disabled) {\n e.stopPropagation()\n e.preventDefault()\n return\n }\n if (this.static) return\n if (e.key !== ' ' && e.key !== 'Enter') return\n // do not prevent default, so that parent elements can handle the key event\n this.beginPress({ positionEvent: e })\n }\n\n override handleKeyUp(e: KeyboardEvent): void {\n if (this.disabled) {\n e.stopPropagation()\n e.preventDefault()\n return\n }\n if (this.static) return\n if (e.key !== ' ' && e.key !== 'Enter') return\n\n // do not prevent default, so that parent elements can handle the key event\n this.endPress({ cancelled: false, actionData: { item: this } })\n }\n\n override beginPress(options: BeginPressConfig): void {\n if (this.disabled || this.static) {\n return\n }\n super.beginPress(options)\n this.ripple.beginPress(options.positionEvent)\n }\n\n override endPress(options: EndPressConfig): void {\n if (this.disabled || this.static) {\n return\n }\n super.endPress(options)\n this.ripple.endPress()\n }\n\n override handlePointerEnter(e: PointerEvent): void {\n if (this.disabled || this.static) {\n e.stopPropagation()\n e.preventDefault()\n return\n }\n this.ripple.beginHover(e)\n }\n\n override handlePointerLeave(e: PointerEvent): void {\n if (this.disabled || this.static) {\n e.stopPropagation()\n e.preventDefault()\n return\n }\n super.handlePointerLeave(e)\n\n this.ripple.endHover()\n }\n\n /**\n * Focuses list item and makes list item focusable via keyboard.\n */\n activate(): void {\n if (this.disabled || this.static) {\n return\n }\n this.setAttribute('tabindex', '0')\n this.focus()\n }\n\n /**\n * Returns true if list item is currently focused and is focusable.\n */\n isActive(): boolean {\n if (this.disabled || this.static) {\n return false\n }\n return this.getAttribute('tabindex') === '0'\n }\n\n /**\n * Removes list item from sequential keyboard navigation.\n */\n deactivate(): void {\n if (this.disabled || this.static) {\n return\n }\n this.removeAttribute('tabindex')\n }\n\n private _handleSlotChange(event: Event): boolean {\n const slot = event.target as HTMLSlotElement\n return slot.assignedNodes({ flatten: true }).length > 0\n }\n\n protected handleOverlineSlotChange(event: Event): void {\n this.hasOverline = this._handleSlotChange(event)\n this.requestUpdate()\n }\n\n protected handleSupportingTextSlotChange(event: Event): void {\n this.hasSupportingText = this._handleSlotChange(event)\n this.requestUpdate()\n }\n\n protected handleStartSlotChange(event: Event): void {\n this.hasStartItem = this._handleSlotChange(event)\n this.requestUpdate()\n }\n\n protected handleEndSlotChange(event: Event): void {\n this.hasEndItem = this._handleSlotChange(event)\n this.requestUpdate()\n }\n\n protected handleEndTextSlotChange(event: Event): void {\n this.hasEndTextItem = this._handleSlotChange(event)\n this.requestUpdate()\n }\n\n getSurfaceClasses(): ClassInfo {\n const result: ClassInfo = {\n 'surface': true,\n 'one-line': this.lines === ListItemLines.one,\n 'two-lines': this.lines === ListItemLines.two,\n 'three-lines': this.lines === ListItemLines.three,\n }\n return result\n }\n\n protected override render(): TemplateResult {\n return html`\n ${this.renderFocusRing()} ${this.renderRipple()}\n <div class=\"${classMap(this.getSurfaceClasses())}\" part=\"surface\">\n ${this.renderStart()} ${this.renderBody()} ${this.renderEnd()}\n </div>\n `\n }\n\n protected renderRipple(): TemplateResult {\n return html`<ui-ripple part=\"ripple\" class=\"ripple\" ?disabled=\"${this.disabled || this.static}\"></ui-ripple>`\n }\n\n protected renderFocusRing(): TemplateResult {\n return html`<ui-focus-ring\n part=\"focus-ring\"\n class=\"focus-ring\"\n .control=\"${this as HTMLElement}\"\n inward\n ></ui-focus-ring>`\n }\n\n protected getStartClasses(): ClassInfo {\n return {\n 'start': true,\n 'has-start': this.hasStartItem,\n }\n }\n\n protected renderStart(): TemplateResult {\n return html`<div class=\"${classMap(this.getStartClasses())}\">\n <slot name=\"start\" @slotchange=${this.handleStartSlotChange}></slot>\n </div>`\n }\n\n protected getEndClasses(): ClassInfo {\n return {\n 'end': true,\n 'has-end': this.hasEndItem,\n 'has-end-text': this.hasEndTextItem,\n }\n }\n\n protected renderEnd(): TemplateResult {\n return html`<div class=\"${classMap(this.getEndClasses())}\">\n <slot name=\"end-text\" class=\"trailing-supporting-text\" @slotchange=${this.handleEndTextSlotChange}></slot>\n <slot name=\"end\" @slotchange=${this.handleEndSlotChange}></slot>\n </div>`\n }\n\n protected renderBody(): TemplateResult {\n return html`\n <div class=\"body\">\n <slot name=\"overline\" @slotchange=${this.handleOverlineSlotChange}></slot>\n <span class=\"headline\"><slot></slot></span>\n <span class=\"supporting-text\"\n ><slot name=\"supporting-text\" @slotchange=${this.handleSupportingTextSlotChange}></slot\n ></span>\n </div>\n `\n }\n}\n"]}
|
|
@@ -148,7 +148,7 @@ let Menu = (() => {
|
|
|
148
148
|
super.showPopover();
|
|
149
149
|
this.open = true;
|
|
150
150
|
this.focus();
|
|
151
|
-
this.dispatchEvent(new CustomEvent('open'
|
|
151
|
+
this.dispatchEvent(new CustomEvent('open'));
|
|
152
152
|
}
|
|
153
153
|
/**
|
|
154
154
|
* Hides the menu
|
|
@@ -159,7 +159,7 @@ let Menu = (() => {
|
|
|
159
159
|
super.hidePopover();
|
|
160
160
|
this.open = false;
|
|
161
161
|
this.closeSubMenu();
|
|
162
|
-
this.dispatchEvent(new CustomEvent('close'
|
|
162
|
+
this.dispatchEvent(new CustomEvent('close'));
|
|
163
163
|
}
|
|
164
164
|
positionMenu() {
|
|
165
165
|
// for the frame, make the element visible (without animations)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../../../src/md/menu/internal/Menu.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, PropertyValues, TemplateResult } from 'lit'\nimport { property, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { nanoid } from 'nanoid'\nimport UiList from '../../list/internals/List.js'\nimport UiMenuItem from './MenuItem.js'\nimport UiSubMenu from './SubMenu.js'\nimport { setDisabled } from '../../../lib/disabled.js'\nimport UiListItem from '../../list/internals/ListItem.js'\nimport { bound } from '../../../decorators/bound.js'\n\n/**\n * Material Design 3 Menu component with sub-menu support.\n * Uses Popover API and Anchor Positioning API for modern positioning.\n *\n * @fires select - Dispatched when a menu item is selected\n * @fires close - Dispatched when the menu is closed\n * @fires open - Dispatched when the menu is opened\n */\nexport default class Menu extends UiList {\n /**\n * Whether the menu is currently open\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor open = false\n\n /**\n * Whether the menu is disabled\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor disabled = false\n\n /**\n * Whether to select menu items when they are activated.\n * When true, clicking or pressing Enter/Space on a menu item will mark it as selected.\n * When false (default), menu items will not be marked as selected when activated.\n *\n * Note, this is different than `selectActive` as this property controls the class names\n * set on the menu item.\n * @attribute\n */\n @property({ type: Boolean }) accessor selectOnActivate = false\n\n /**\n * Currently active sub-menu\n */\n @state() accessor activeSubMenu: UiSubMenu | null = null\n\n constructor() {\n super()\n this.selector = 'ui-menu-item'\n this.ariaExpanded = 'false'\n this.addEventListener('beforetoggle', this.handleBeforeToggle.bind(this))\n }\n\n override connectedCallback(): void {\n super.connectedCallback()\n this.setAttribute('role', 'menu')\n this.setAttribute('tabindex', '-1')\n if (!this.hasAttribute('popover')) {\n this.setAttribute('popover', 'auto')\n }\n if (!this.id) {\n this.id = nanoid()\n }\n }\n\n protected override updated(changedProperties: PropertyValues<this>): void {\n super.updated(changedProperties)\n\n if (changedProperties.has('disabled')) {\n setDisabled(this, this.disabled)\n }\n }\n\n override togglePopover(force?: boolean): boolean {\n if (!this.open && !this.disabled) {\n this.positionMenu()\n }\n this.open = !this.open\n this.ariaExpanded = String(this.open)\n this.tabIndex = this.open ? 0 : -1\n const result = super.togglePopover(force)\n if (this.open) {\n this.focus()\n }\n return result\n }\n\n protected queryMenuItems(): UiMenuItem[] {\n const slot = this.shadowRoot?.querySelector('slot')\n if (!slot) return []\n const { selector } = this\n return Array.from(slot.assignedElements({ flatten: true })).filter((el) => el.matches(selector)) as UiMenuItem[]\n }\n\n show(): void {\n this.showPopover()\n }\n\n hide(): void {\n this.hidePopover()\n }\n\n /**\n * Shows the menu\n */\n override showPopover(): void {\n this.tabIndex = 0 // Make menu focusable\n this.ariaExpanded = 'true'\n this.positionMenu()\n super.showPopover()\n this.open = true\n this.focus()\n this.dispatchEvent(new CustomEvent('open', { bubbles: false, composed: true }))\n }\n\n /**\n * Hides the menu\n */\n override hidePopover(): void {\n this.tabIndex = -1\n this.ariaExpanded = 'false'\n super.hidePopover()\n this.open = false\n this.closeSubMenu()\n this.dispatchEvent(new CustomEvent('close', { bubbles: false, composed: true }))\n }\n\n positionMenu(): void {\n // for the frame, make the element visible (without animations)\n // to take measurements correctly.\n this.classList.add('measurements')\n\n // Reset any previous manual positioning to let CSS anchor positioning work\n this.style.removeProperty('position-area')\n this.style.removeProperty('max-height')\n this.style.removeProperty('max-width')\n\n // Let CSS anchor positioning handle the positioning automatically\n // Only intervene if we need to set max-height for overflow cases\n const box = this.getBoundingClientRect()\n this.classList.remove('measurements')\n\n // Check if the menu content is being clipped\n const isVerticallyClipped = this.scrollHeight > this.clientHeight\n const isHorizontallyClipped = this.scrollWidth > this.clientWidth\n\n // Get the actual bottom and right edges of the menu\n const menuBottom = box.top + box.height\n const menuRight = box.left + box.width\n\n // Detect if menu is positioned above or below the anchor\n // by checking if the menu is in the upper or lower half of the viewport\n const viewportMiddle = innerHeight / 2\n const isMenuInUpperHalf = box.top < viewportMiddle\n\n // console.log(`Menu positioned at: top=${box.top}, left=${box.left}, bottom=${menuBottom}, right=${menuRight}`)\n // console.log(\n // eslint-disable-next-line max-len\n // `Menu is in upper half: ${isMenuInUpperHalf}, Vertically clipped: ${isVerticallyClipped}, Horizontally clipped: ${isHorizontallyClipped}`\n // )\n // Add CSS class to control animation direction\n if (isMenuInUpperHalf) {\n this.classList.add('menu-positioned-above')\n this.classList.remove('menu-positioned-below')\n } else {\n this.classList.add('menu-positioned-below')\n this.classList.remove('menu-positioned-above')\n }\n // Only set max-height if the menu would overflow the viewport OR is already clipped\n if (menuBottom > innerHeight || isVerticallyClipped) {\n let availableHeight: number\n\n if (isMenuInUpperHalf) {\n // Menu is positioned below the anchor - available space is from top to bottom of viewport\n availableHeight = innerHeight - box.top\n } else {\n // Menu is positioned above the anchor - available space is from top of viewport to bottom of menu\n availableHeight = box.top + box.height\n }\n\n this.style.maxHeight = `${Math.max(200, availableHeight - 20)}px`\n }\n\n // Only set max-width if the menu would overflow the viewport OR is already clipped\n if (menuRight > innerWidth || isHorizontallyClipped) {\n const availableWidth = innerWidth - box.left\n if (availableWidth < 200) {\n this.style.maxWidth = `${Math.max(180, availableWidth - 20)}px`\n }\n }\n }\n\n /**\n * Handles beforetoggle event from popover\n */\n protected handleBeforeToggle(e: Event): void {\n const toggleEvent = e as ToggleEvent\n if (toggleEvent.newState === 'closed') {\n this.open = false\n this.closeSubMenu()\n }\n }\n\n /**\n * Handles keyboard navigation for the menu\n */\n override handleKeydown(e: KeyboardEvent): void {\n if (!this.open || e.defaultPrevented) return\n\n switch (e.key) {\n case 'Escape':\n e.preventDefault()\n this.hide()\n break\n case 'ArrowRight':\n e.preventDefault()\n this.openSubMenu()\n break\n case 'ArrowLeft':\n e.preventDefault()\n this.closeSubMenu()\n break\n default:\n // Let the parent UiList handle other keys\n super.handleKeydown(e)\n }\n }\n\n @bound\n handleSubMenuSelect(e: CustomEvent): void {\n super.notifySelect(e.detail.item, e.detail.index)\n }\n\n /**\n * Opens the sub-menu for the currently active item\n */\n protected openSubMenu(): void {\n const activeItem = this.activeListItem as UiMenuItem\n if (activeItem?.hasSubMenu) {\n activeItem.openSubMenu()\n }\n }\n\n /**\n * Closes the currently open sub-menu\n */\n closeSubMenu(): void {\n if (this.activeSubMenu) {\n this.activeSubMenu.removeEventListener('select', this.handleSubMenuSelect as EventListener)\n this.activeSubMenu.hide()\n this.activeSubMenu = null\n }\n }\n\n /**\n * Sets the active sub-menu\n */\n setActiveSubMenu(subMenu: UiSubMenu | null): void {\n this.activeSubMenu = subMenu\n subMenu?.addEventListener('select', this.handleSubMenuSelect as EventListener)\n }\n\n override notifySelect(item: UiListItem & { selected?: boolean }, index?: number): boolean {\n // Only handle selection if selectOnActivate is enabled\n if (this.selectOnActivate) {\n this.clearSelection()\n item.selected = true\n }\n this.hide()\n return super.notifySelect(item, index)\n }\n\n /**\n * Clears selection from all menu items\n */\n protected clearSelection(): void {\n const items = this.queryMenuItems()\n items.forEach((menuItem) => {\n menuItem.selected = false\n })\n }\n\n /**\n * Gets the currently selected menu item\n */\n get selectedItem(): UiMenuItem | null {\n const items = this.queryMenuItems()\n return items.find((item) => item.selected) || null\n }\n\n /**\n * Sets the selected menu item\n */\n setSelectedItem(item: UiMenuItem | null): void {\n this.clearSelection()\n if (item) {\n item.selected = true\n }\n }\n\n /**\n * Handles sub-menu opening\n */\n protected handleSubMenuOpen(e: CustomEvent): void {\n const subMenu = e.detail.subMenu\n this.setActiveSubMenu(subMenu)\n }\n\n /**\n * Handles slot changes to update menu items\n */\n protected handleSlotChange(): void {\n // Update the items list when slot content changes\n this.updateItems()\n }\n\n override render(): TemplateResult {\n const classes = classMap({\n 'menu-container': true,\n })\n\n return html`\n <div class=${classes}>\n <slot @slotchange=${this.handleSlotChange}></slot>\n </div>\n `\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../../../src/md/menu/internal/Menu.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, PropertyValues, TemplateResult } from 'lit'\nimport { property, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { nanoid } from 'nanoid'\nimport UiList from '../../list/internals/List.js'\nimport UiMenuItem from './MenuItem.js'\nimport UiSubMenu from './SubMenu.js'\nimport { setDisabled } from '../../../lib/disabled.js'\nimport UiListItem from '../../list/internals/ListItem.js'\nimport { bound } from '../../../decorators/bound.js'\n\n/**\n * Material Design 3 Menu component with sub-menu support.\n * Uses Popover API and Anchor Positioning API for modern positioning.\n *\n * @fires select - Dispatched when a menu item is selected\n * @fires close - Dispatched when the menu is closed\n * @fires open - Dispatched when the menu is opened\n */\nexport default class Menu extends UiList {\n /**\n * Whether the menu is currently open\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor open = false\n\n /**\n * Whether the menu is disabled\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor disabled = false\n\n /**\n * Whether to select menu items when they are activated.\n * When true, clicking or pressing Enter/Space on a menu item will mark it as selected.\n * When false (default), menu items will not be marked as selected when activated.\n *\n * Note, this is different than `selectActive` as this property controls the class names\n * set on the menu item.\n * @attribute\n */\n @property({ type: Boolean }) accessor selectOnActivate = false\n\n /**\n * Currently active sub-menu\n */\n @state() accessor activeSubMenu: UiSubMenu | null = null\n\n constructor() {\n super()\n this.selector = 'ui-menu-item'\n this.ariaExpanded = 'false'\n this.addEventListener('beforetoggle', this.handleBeforeToggle.bind(this))\n }\n\n override connectedCallback(): void {\n super.connectedCallback()\n this.setAttribute('role', 'menu')\n this.setAttribute('tabindex', '-1')\n if (!this.hasAttribute('popover')) {\n this.setAttribute('popover', 'auto')\n }\n if (!this.id) {\n this.id = nanoid()\n }\n }\n\n protected override updated(changedProperties: PropertyValues<this>): void {\n super.updated(changedProperties)\n\n if (changedProperties.has('disabled')) {\n setDisabled(this, this.disabled)\n }\n }\n\n override togglePopover(force?: boolean): boolean {\n if (!this.open && !this.disabled) {\n this.positionMenu()\n }\n this.open = !this.open\n this.ariaExpanded = String(this.open)\n this.tabIndex = this.open ? 0 : -1\n const result = super.togglePopover(force)\n if (this.open) {\n this.focus()\n }\n return result\n }\n\n protected queryMenuItems(): UiMenuItem[] {\n const slot = this.shadowRoot?.querySelector('slot')\n if (!slot) return []\n const { selector } = this\n return Array.from(slot.assignedElements({ flatten: true })).filter((el) => el.matches(selector)) as UiMenuItem[]\n }\n\n show(): void {\n this.showPopover()\n }\n\n hide(): void {\n this.hidePopover()\n }\n\n /**\n * Shows the menu\n */\n override showPopover(): void {\n this.tabIndex = 0 // Make menu focusable\n this.ariaExpanded = 'true'\n this.positionMenu()\n super.showPopover()\n this.open = true\n this.focus()\n this.dispatchEvent(new CustomEvent('open'))\n }\n\n /**\n * Hides the menu\n */\n override hidePopover(): void {\n this.tabIndex = -1\n this.ariaExpanded = 'false'\n super.hidePopover()\n this.open = false\n this.closeSubMenu()\n this.dispatchEvent(new CustomEvent('close'))\n }\n\n positionMenu(): void {\n // for the frame, make the element visible (without animations)\n // to take measurements correctly.\n this.classList.add('measurements')\n\n // Reset any previous manual positioning to let CSS anchor positioning work\n this.style.removeProperty('position-area')\n this.style.removeProperty('max-height')\n this.style.removeProperty('max-width')\n\n // Let CSS anchor positioning handle the positioning automatically\n // Only intervene if we need to set max-height for overflow cases\n const box = this.getBoundingClientRect()\n this.classList.remove('measurements')\n\n // Check if the menu content is being clipped\n const isVerticallyClipped = this.scrollHeight > this.clientHeight\n const isHorizontallyClipped = this.scrollWidth > this.clientWidth\n\n // Get the actual bottom and right edges of the menu\n const menuBottom = box.top + box.height\n const menuRight = box.left + box.width\n\n // Detect if menu is positioned above or below the anchor\n // by checking if the menu is in the upper or lower half of the viewport\n const viewportMiddle = innerHeight / 2\n const isMenuInUpperHalf = box.top < viewportMiddle\n\n // console.log(`Menu positioned at: top=${box.top}, left=${box.left}, bottom=${menuBottom}, right=${menuRight}`)\n // console.log(\n // eslint-disable-next-line max-len\n // `Menu is in upper half: ${isMenuInUpperHalf}, Vertically clipped: ${isVerticallyClipped}, Horizontally clipped: ${isHorizontallyClipped}`\n // )\n // Add CSS class to control animation direction\n if (isMenuInUpperHalf) {\n this.classList.add('menu-positioned-above')\n this.classList.remove('menu-positioned-below')\n } else {\n this.classList.add('menu-positioned-below')\n this.classList.remove('menu-positioned-above')\n }\n // Only set max-height if the menu would overflow the viewport OR is already clipped\n if (menuBottom > innerHeight || isVerticallyClipped) {\n let availableHeight: number\n\n if (isMenuInUpperHalf) {\n // Menu is positioned below the anchor - available space is from top to bottom of viewport\n availableHeight = innerHeight - box.top\n } else {\n // Menu is positioned above the anchor - available space is from top of viewport to bottom of menu\n availableHeight = box.top + box.height\n }\n\n this.style.maxHeight = `${Math.max(200, availableHeight - 20)}px`\n }\n\n // Only set max-width if the menu would overflow the viewport OR is already clipped\n if (menuRight > innerWidth || isHorizontallyClipped) {\n const availableWidth = innerWidth - box.left\n if (availableWidth < 200) {\n this.style.maxWidth = `${Math.max(180, availableWidth - 20)}px`\n }\n }\n }\n\n /**\n * Handles beforetoggle event from popover\n */\n protected handleBeforeToggle(e: Event): void {\n const toggleEvent = e as ToggleEvent\n if (toggleEvent.newState === 'closed') {\n this.open = false\n this.closeSubMenu()\n }\n }\n\n /**\n * Handles keyboard navigation for the menu\n */\n override handleKeydown(e: KeyboardEvent): void {\n if (!this.open || e.defaultPrevented) return\n\n switch (e.key) {\n case 'Escape':\n e.preventDefault()\n this.hide()\n break\n case 'ArrowRight':\n e.preventDefault()\n this.openSubMenu()\n break\n case 'ArrowLeft':\n e.preventDefault()\n this.closeSubMenu()\n break\n default:\n // Let the parent UiList handle other keys\n super.handleKeydown(e)\n }\n }\n\n @bound\n handleSubMenuSelect(e: CustomEvent): void {\n super.notifySelect(e.detail.item, e.detail.index)\n }\n\n /**\n * Opens the sub-menu for the currently active item\n */\n protected openSubMenu(): void {\n const activeItem = this.activeListItem as UiMenuItem\n if (activeItem?.hasSubMenu) {\n activeItem.openSubMenu()\n }\n }\n\n /**\n * Closes the currently open sub-menu\n */\n closeSubMenu(): void {\n if (this.activeSubMenu) {\n this.activeSubMenu.removeEventListener('select', this.handleSubMenuSelect as EventListener)\n this.activeSubMenu.hide()\n this.activeSubMenu = null\n }\n }\n\n /**\n * Sets the active sub-menu\n */\n setActiveSubMenu(subMenu: UiSubMenu | null): void {\n this.activeSubMenu = subMenu\n subMenu?.addEventListener('select', this.handleSubMenuSelect as EventListener)\n }\n\n override notifySelect(item: UiListItem & { selected?: boolean }, index?: number): boolean {\n // Only handle selection if selectOnActivate is enabled\n if (this.selectOnActivate) {\n this.clearSelection()\n item.selected = true\n }\n this.hide()\n return super.notifySelect(item, index)\n }\n\n /**\n * Clears selection from all menu items\n */\n protected clearSelection(): void {\n const items = this.queryMenuItems()\n items.forEach((menuItem) => {\n menuItem.selected = false\n })\n }\n\n /**\n * Gets the currently selected menu item\n */\n get selectedItem(): UiMenuItem | null {\n const items = this.queryMenuItems()\n return items.find((item) => item.selected) || null\n }\n\n /**\n * Sets the selected menu item\n */\n setSelectedItem(item: UiMenuItem | null): void {\n this.clearSelection()\n if (item) {\n item.selected = true\n }\n }\n\n /**\n * Handles sub-menu opening\n */\n protected handleSubMenuOpen(e: CustomEvent): void {\n const subMenu = e.detail.subMenu\n this.setActiveSubMenu(subMenu)\n }\n\n /**\n * Handles slot changes to update menu items\n */\n protected handleSlotChange(): void {\n // Update the items list when slot content changes\n this.updateItems()\n }\n\n override render(): TemplateResult {\n const classes = classMap({\n 'menu-container': true,\n })\n\n return html`\n <div class=${classes}>\n <slot @slotchange=${this.handleSlotChange}></slot>\n </div>\n `\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.styles.d.ts","sourceRoot":"","sources":["../../../../../src/md/menu/internal/Menu.styles.ts"],"names":[],"mappings":";AAEA,
|
|
1
|
+
{"version":3,"file":"Menu.styles.d.ts","sourceRoot":"","sources":["../../../../../src/md/menu/internal/Menu.styles.ts"],"names":[],"mappings":";AAEA,wBA6QC"}
|
|
@@ -33,9 +33,11 @@ export default css `
|
|
|
33
33
|
:host(:popover-open) {
|
|
34
34
|
display: block;
|
|
35
35
|
background-color: var(--md-sys-color-surface-container);
|
|
36
|
-
border-radius: var(--md-sys-shape-corner-extra-small);
|
|
37
|
-
box-shadow: var(--md-sys-elevation-3);
|
|
36
|
+
/* border-radius: var(--md-sys-shape-corner-extra-small);
|
|
37
|
+
box-shadow: var(--md-sys-elevation-3); */
|
|
38
38
|
animation: menu-scale-in 0.15s cubic-bezier(0.4, 0, 0.2, 1) forwards;
|
|
39
|
+
box-shadow: var(--md-sys-elevation-1);
|
|
40
|
+
border-radius: var(--md-sys-shape-corner-medium);
|
|
39
41
|
}
|
|
40
42
|
|
|
41
43
|
/* Scale animation for menus positioned below the anchor */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.styles.js","sourceRoot":"","sources":["../../../../../src/md/menu/internal/Menu.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB,eAAe,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"Menu.styles.js","sourceRoot":"","sources":["../../../../../src/md/menu/internal/Menu.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6QjB,CAAA","sourcesContent":["import { css } from 'lit'\n\nexport default css`\n :host {\n display: none;\n position-area: bottom span-right;\n position-try: --menu-fallback-bottom-left, --menu-fallback-top-right, --menu-fallback-top-left, flip-block;\n position: fixed;\n margin: 0;\n padding: 0;\n border: none;\n /* in most cases the max-height won't matter as this assumes the whole screen to be available, which is rarely the truth. */\n max-height: 90vh;\n overflow: auto;\n }\n\n @position-try --menu-fallback-bottom-left {\n position-area: bottom span-left;\n }\n\n @position-try --menu-fallback-top-right {\n position-area: top span-right;\n }\n\n @position-try --menu-fallback-top-left {\n position-area: top span-left;\n }\n\n /* Special class set on the element to render the menu to take measurements */\n :host(.measurements) {\n display: block;\n }\n\n :host(:popover-open) {\n display: block;\n background-color: var(--md-sys-color-surface-container);\n /* border-radius: var(--md-sys-shape-corner-extra-small);\n box-shadow: var(--md-sys-elevation-3); */\n animation: menu-scale-in 0.15s cubic-bezier(0.4, 0, 0.2, 1) forwards;\n box-shadow: var(--md-sys-elevation-1);\n border-radius: var(--md-sys-shape-corner-medium);\n }\n\n /* Scale animation for menus positioned below the anchor */\n @keyframes menu-scale-in {\n 0% {\n transform: scaleY(0);\n transform-origin: top center;\n opacity: 0;\n }\n 100% {\n transform: scaleY(1);\n transform-origin: top center;\n opacity: 1;\n }\n }\n\n /* Scale animation for menus positioned above the anchor */\n @keyframes menu-scale-in-up {\n 0% {\n transform: scaleY(0);\n transform-origin: bottom center;\n opacity: 0;\n }\n 100% {\n transform: scaleY(1);\n transform-origin: bottom center;\n opacity: 1;\n }\n }\n\n /* Position-specific animations using JavaScript-detected classes */\n :host(.menu-positioned-above):popover-open {\n animation: menu-scale-in-up 0.15s var(--md-sys-motion-easing-standard-accelerate) forwards;\n }\n\n :host(.menu-positioned-below):popover-open {\n animation: menu-scale-in 0.15s var(--md-sys-motion-easing-standard-accelerate) forwards;\n }\n\n .menu-container {\n min-width: 200px;\n padding: 8px 0;\n outline: none;\n }\n\n .menu-divider {\n height: 1px;\n background-color: var(--md-sys-color-outline-variant);\n margin: 8px 0;\n }\n\n /* Menu Item Styles */\n .menu-item {\n position: relative;\n display: flex;\n align-items: center;\n min-height: 48px;\n padding: 0 16px;\n cursor: pointer;\n outline: none;\n transition: background-color 0.2s ease;\n }\n\n .menu-item:hover {\n background-color: var(--md-sys-color-surface-variant);\n }\n\n .menu-item:focus {\n background-color: var(--md-sys-color-surface-variant);\n }\n\n .menu-item[disabled] {\n opacity: 0.38;\n cursor: not-allowed;\n pointer-events: none;\n }\n\n .menu-item-content {\n display: flex;\n align-items: center;\n width: 100%;\n gap: 12px;\n }\n\n .menu-item-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n color: var(--md-sys-color-on-surface);\n font-size: 20px;\n }\n\n .menu-item-label {\n flex: 1;\n color: var(--md-sys-color-on-surface);\n font-family: var(--md-sys-typescale-label-large-font-family-name);\n font-size: var(--md-sys-typescale-label-large-font-size);\n font-weight: var(--md-sys-typescale-label-large-font-weight);\n line-height: var(--md-sys-typescale-label-large-line-height);\n letter-spacing: var(--md-sys-typescale-label-large-letter-spacing);\n }\n\n .menu-item-arrow {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n color: var(--md-sys-color-on-surface);\n font-size: 18px;\n font-weight: 500;\n }\n\n .menu-item-with-submenu {\n position: relative;\n }\n\n .menu-item-with-submenu:hover .menu-item-arrow {\n color: var(--md-sys-color-primary);\n }\n\n /* Sub-menu Styles */\n .submenu-container {\n min-width: 200px;\n max-width: 320px;\n background-color: var(--md-sys-color-surface);\n border-radius: var(--md-sys-shape-corner-extra-small);\n box-shadow: var(--md-sys-elevation-level3);\n padding: 8px 0;\n }\n\n /* Submenu positioning with Anchor API */\n ui-sub-menu {\n display: none;\n }\n\n ui-sub-menu:popover-open {\n display: block;\n background-color: var(--md-sys-color-surface);\n border-radius: var(--md-sys-shape-corner-extra-small);\n box-shadow: var(--md-sys-elevation-level3);\n min-width: 200px;\n max-width: 320px;\n padding: 8px 0;\n z-index: 1000;\n animation: submenu-scale-in 0.12s cubic-bezier(0.4, 0, 0.2, 1) forwards;\n }\n\n /* Submenu scale animation */\n @keyframes submenu-scale-in {\n 0% {\n transform: scaleY(0) scaleX(0.8);\n transform-origin: left top;\n opacity: 0;\n }\n 100% {\n transform: scaleY(1) scaleX(1);\n transform-origin: left top;\n opacity: 1;\n }\n }\n\n /* Fallback positioning for browsers without anchor positioning */\n @supports not (anchor-name: --test) {\n ui-sub-menu:popover-open {\n position: fixed;\n transform: translateX(200px);\n }\n }\n\n /* Focus Ring */\n md-focus-ring {\n --md-focus-ring-color: var(--md-sys-color-primary);\n --md-focus-ring-width: 2px;\n }\n\n /* Ripple Effect */\n ui-ripple {\n --md-ripple-color: var(--md-sys-color-primary);\n --md-ripple-opacity: 0.12;\n }\n\n /* Responsive Design */\n @media (max-width: 600px) {\n .menu-container {\n min-width: 180px;\n max-width: 280px;\n }\n\n .submenu-container {\n min-width: 180px;\n max-width: 280px;\n }\n }\n\n /* High Contrast Mode */\n @media (prefers-contrast: high) {\n .menu-container {\n border: 1px solid var(--md-sys-color-outline);\n }\n\n .submenu-container {\n border: 1px solid var(--md-sys-color-outline);\n }\n\n .menu-divider {\n background-color: var(--md-sys-color-outline);\n }\n }\n\n /* Reduced Motion */\n @media (prefers-reduced-motion: reduce) {\n .menu-item {\n transition: none;\n }\n\n :host(:popover-open) {\n animation: none;\n opacity: 1;\n transform: none;\n }\n\n ui-sub-menu:popover-open {\n animation: none;\n opacity: 1;\n transform: none;\n }\n }\n`\n"]}
|
|
@@ -303,11 +303,12 @@ export default class UiSelect extends UiElement {
|
|
|
303
303
|
* Selects an option and updates the component state
|
|
304
304
|
*/
|
|
305
305
|
protected selectOption(option: UiOption): void;
|
|
306
|
-
handleSelect(e: CustomEvent<{
|
|
306
|
+
protected handleSelect(e: CustomEvent<{
|
|
307
307
|
item: UiOption;
|
|
308
308
|
}>): void;
|
|
309
|
-
handleMenuClose(): void;
|
|
310
|
-
handleMenuToggle(e: ToggleEvent): void;
|
|
309
|
+
protected handleMenuClose(): void;
|
|
310
|
+
protected handleMenuToggle(e: ToggleEvent): void;
|
|
311
|
+
protected dispatchChangeEvent(item: UiOption): void;
|
|
311
312
|
protected renderInput(): TemplateResult;
|
|
312
313
|
protected renderMenu(): TemplateResult;
|
|
313
314
|
protected handleSlotChange(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../../src/md/select/internals/Select.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../../src/md/select/internals/Select.ts"],"names":[],"mappings":"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"}
|
|
@@ -587,11 +587,11 @@ let UiSelect = (() => {
|
|
|
587
587
|
firstSelectableOption.scrollIntoView({ behavior: 'instant', block: 'nearest', inline: 'nearest' });
|
|
588
588
|
}
|
|
589
589
|
}
|
|
590
|
-
this.dispatchEvent(new CustomEvent('open'
|
|
590
|
+
this.dispatchEvent(new CustomEvent('open'));
|
|
591
591
|
}
|
|
592
592
|
else {
|
|
593
593
|
menu.hidePopover();
|
|
594
|
-
this.dispatchEvent(new CustomEvent('close'
|
|
594
|
+
this.dispatchEvent(new CustomEvent('close'));
|
|
595
595
|
// Return focus to the select element when menu closes
|
|
596
596
|
this.focus();
|
|
597
597
|
}
|
|
@@ -774,13 +774,7 @@ let UiSelect = (() => {
|
|
|
774
774
|
this.selectedOption = option;
|
|
775
775
|
this.#value = option.value;
|
|
776
776
|
this.#internals.setFormValue(this.value ?? null);
|
|
777
|
-
|
|
778
|
-
const changeEvent = new CustomEvent('change', {
|
|
779
|
-
detail: { value: this.value, item: option },
|
|
780
|
-
bubbles: false,
|
|
781
|
-
composed: true,
|
|
782
|
-
});
|
|
783
|
-
this.dispatchEvent(changeEvent);
|
|
777
|
+
this.dispatchChangeEvent(option);
|
|
784
778
|
}
|
|
785
779
|
handleSelect(e) {
|
|
786
780
|
e.stopPropagation();
|
|
@@ -794,12 +788,7 @@ let UiSelect = (() => {
|
|
|
794
788
|
this.#internals.setFormValue(this.value ?? null);
|
|
795
789
|
this.open = false;
|
|
796
790
|
// Dispatch change event
|
|
797
|
-
|
|
798
|
-
detail: { value: this.value, item: item },
|
|
799
|
-
bubbles: false,
|
|
800
|
-
composed: true,
|
|
801
|
-
});
|
|
802
|
-
this.dispatchEvent(changeEvent);
|
|
791
|
+
this.dispatchChangeEvent(item);
|
|
803
792
|
// Focus will be returned to select element by handleOpenChange when open=false
|
|
804
793
|
}
|
|
805
794
|
handleMenuClose() {
|
|
@@ -811,6 +800,14 @@ let UiSelect = (() => {
|
|
|
811
800
|
this.open = false;
|
|
812
801
|
}
|
|
813
802
|
}
|
|
803
|
+
dispatchChangeEvent(item) {
|
|
804
|
+
const changeEvent = new CustomEvent('change', {
|
|
805
|
+
detail: { value: this.value, item },
|
|
806
|
+
bubbles: false,
|
|
807
|
+
composed: false,
|
|
808
|
+
});
|
|
809
|
+
this.dispatchEvent(changeEvent);
|
|
810
|
+
}
|
|
814
811
|
renderInput() {
|
|
815
812
|
const styles = {
|
|
816
813
|
'anchor-name': `--${this.id}`,
|