// // Copyright © 2025 Hardcore Engineering Inc. // // Licensed under the Eclipse Public License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. You may // obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // // See the License for the specific language governing permissions and // limitations under the License. // import type { ViewletViewAction, Action, ActionCategory, ViewAction } from '@hcengineering/view' import { type Card, cardId } from '@hcengineering/card' import card from '@hcengineering/card-resources/src/plugin' import type { Client, Doc, DocumentQuery, Ref } from '@hcengineering/core' import {} from '@hcengineering/core' import { mergeIds, type Resource } from '@hcengineering/platform' import { type TagCategory } from '@hcengineering/tags' import { type Location, type ResolvedLocation } from '@hcengineering/ui/src/types' import { type LocationData } from '@hcengineering/workbench' import { type NotificationGroup, type NotificationType } from '@hcengineering/notification' export default mergeIds(cardId, card, { app: { Card: '' as Ref }, actionImpl: { DeleteMasterTag: '' as ViewAction, DuplicateCard: '' as ViewAction, EditSpace: '' as ViewAction, CreateChild: '' as ViewAction }, action: { DeleteMasterTag: '' as Ref, SetParent: '' as Ref>, UnsetParent: '' as Ref>, PublicLink: '' as Ref>, Duplicate: '' as Ref, CreateChild: '' as Ref }, category: { Card: '' as Ref, Labels: '' as Ref }, specialViewAction: { CardRelationshipTable: '' as Ref, CardTable: '' as Ref, CopyAsMarkdownTable: '' as Ref, CopyAsMarkdownRelationshipTable: '' as Ref }, ids: { MasterTags: '' as Ref, ManageMasterTags: '' as Ref, TagRelations: '' as Ref, CardNotificationGroup: '' as Ref, CardCreateNotification: '' as Ref, CardNotification: '' as Ref, CardMessageNotification: '' as Ref }, resolver: { Location: '' as Resource<(loc: Location) => Promise>, LocationData: '' as Resource<(loc: Location) => Promise> }, function: { CardTitleProvider: '' as Resource<(client: Client, ref: Ref, doc?: Doc) => Promise>, GetCardLink: '' as Resource<(doc: Doc, props: Record) => Promise>, CardCustomLinkMatch: '' as Resource<(doc: Doc) => boolean>, CardCustomLinkEncode: '' as Resource<(doc: Doc) => Location>, CheckRelationsSectionVisibility: '' as Resource<(doc: Card) => Promise>, CheckOldMessagesSectionVisibility: '' as Resource<(doc: Card) => Promise>, CheckCommunicationMessagesSectionVisibility: '' as Resource<(doc: Card) => Promise>, ShowAllVersions: '' as Resource<(value: any, query: DocumentQuery) => DocumentQuery> } })