/** * Teams Selectors * * Selectors for team management: * - Team switcher * - Team creation * - Team members * - Invitations */ export declare const TEAMS_SELECTORS: { readonly switcher: { readonly compact: "team-switcher-compact"; readonly full: "team-switcher"; readonly dropdown: "team-switcher-dropdown"; readonly option: "team-option-{slug}"; readonly manageLink: "manage-teams-link"; readonly createButton: "create-team-button"; }; readonly switchModal: { readonly container: "team-switch-modal"; }; readonly create: { readonly dialog: "create-team-dialog"; readonly button: "create-team-button"; readonly nameInput: "team-name-input"; readonly slugInput: "team-slug-input"; readonly descriptionInput: "team-description-input"; readonly cancel: "cancel-create-team"; readonly submit: "submit-create-team"; }; readonly members: { readonly section: "team-members-section"; readonly row: "member-row-{id}"; readonly actions: "member-actions-{id}"; readonly makeRole: "make-{role}-action"; readonly remove: "remove-member-action"; }; readonly invite: { readonly button: "invite-member-button"; readonly buttonDisabled: "invite-member-button-disabled"; readonly dialog: "invite-member-dialog"; readonly emailInput: "member-email-input"; readonly roleSelect: "member-role-select"; readonly roleOption: "role-option-{role}"; readonly cancel: "cancel-invite-member"; readonly submit: "submit-invite-member"; }; readonly invitations: { readonly row: "invitation-row-{id}"; readonly cancel: "cancel-invitation-{id}"; }; /** * Inline editing for team name and description * * Note on selector structure: The name and description fields have separate * selector definitions rather than using a dynamic pattern. This is an intentional * design decision because: * 1. There are only 2 fields (name and description), making duplication minimal * 2. Each field has different input types (Input vs Textarea) with distinct selectors * 3. Explicit definitions provide better clarity and type safety * 4. The small duplication cost is outweighed by improved readability * * Decision documented in PR #1 code review (Issue #9). */ readonly edit: { readonly name: { readonly value: "team-edit-name-value"; readonly editIcon: "team-edit-name-edit-icon"; readonly input: "team-edit-name-input"; readonly saveIcon: "team-edit-name-save-icon"; readonly cancelIcon: "team-edit-name-cancel-icon"; readonly error: "team-edit-name-error"; readonly success: "team-edit-name-success"; }; readonly description: { readonly value: "team-edit-description-value"; readonly editIcon: "team-edit-description-edit-icon"; readonly textarea: "team-edit-description-textarea"; readonly saveIcon: "team-edit-description-save-icon"; readonly cancelIcon: "team-edit-description-cancel-icon"; readonly error: "team-edit-description-error"; readonly success: "team-edit-description-success"; }; readonly success: "team-edit-success"; readonly error: "team-edit-error"; }; readonly acceptInvite: { readonly loading: "accept-invite-loading"; readonly container: "accept-invite-container"; readonly info: "accept-invite-info"; readonly teamName: "accept-invite-team-name"; readonly requiresAuth: "accept-invite-requires-auth"; readonly inviter: "accept-invite-inviter"; readonly role: "accept-invite-role"; readonly signin: "accept-invite-signin"; readonly signup: "accept-invite-signup"; readonly valid: "accept-invite-valid"; readonly accept: "accept-invite-accept"; readonly accepting: "accept-invite-accepting"; readonly success: "accept-invite-success"; readonly alreadyMember: "accept-invite-already-member"; readonly emailMismatch: "accept-invite-email-mismatch"; readonly notFound: "accept-invite-not-found"; readonly expired: "accept-invite-expired"; readonly error: "accept-invite-error"; }; }; export type TeamsSelectorsType = typeof TEAMS_SELECTORS; //# sourceMappingURL=teams.selectors.d.ts.map