Hiyve Components - v1.0.0
    Preparing search index...

    Every piece of text the components show. Override any of them with labels on CourseProvider.

    interface CourseLabels {
        acceptedAnswersLabel: string;
        acceptsLabel: string;
        addBlockHeading: string;
        addClientLesson: (name: string) => string;
        addLesson: string;
        addOption: string;
        addPrerequisite: string;
        addQuestion: string;
        addSection: string;
        addStatus: string;
        allCaughtUp: string;
        allCoursesHeading: string;
        allLessonsComplete: string;
        anchorPage: (page: number) => string;
        anchorRegion: string;
        anchorTime: (time: string) => string;
        answerPlaceholder: string;
        approvalHelp: string;
        approvalLabel: string;
        approve: string;
        archiveCourse: string;
        archivedHeading: string;
        archivedHelp: string;
        askedLessonPrefix: string;
        attachFile: string;
        attachRecording: string;
        attempt: (index: number) => string;
        attemptHistory: (count: number, bestPercent: number | null) => string;
        attemptsHelp: string;
        attemptsLabel: string;
        averageProgress: string;
        awaitingApproval: (providerName?: string) => string;
        awaitingApprovalShort: string;
        backToCourses: string;
        backToOutline: string;
        behindEmpty: string;
        behindHeading: string;
        behindInactive: (days: number) => string;
        behindNotStarted: string;
        behindOverdue: (count: number) => string;
        blockAudio: string;
        blockEmbed: string;
        blockFailed: string;
        blockFile: string;
        blockHeadingLabel: string;
        blockLiveSession: string;
        blockOptions: string;
        blockQuiz: string;
        blockRichText: string;
        blockSubmission: string;
        blockUnknown: string;
        blockVideo: string;
        breadcrumbCourses: string;
        breadcrumbLabel: string;
        builderBack: string;
        cancel: string;
        chipAfter: (title: string) => string;
        chipApproval: string;
        chipDueDay: (days: number) => string;
        chipDueOn: (date: string) => string;
        chipHidden: string;
        chipOpensDay: (days: number) => string;
        chipOpensOn: (date: string) => string;
        clientCount: (count: number) => string;
        clientEnrolled: (count: number) => string;
        clientLessonsHeading: (name: string) => string;
        clients: string;
        clientsTitle: string;
        close: string;
        columnActions: string;
        columnClient: string;
        columnCourse: string;
        columnFinished: string;
        columnLastActive: string;
        columnProgress: string;
        columnReason: string;
        columnStatus: string;
        columnToReview: string;
        columnWhere: string;
        commentArea: (position: number) => string;
        commentPlaceholder: string;
        completeAndContinue: string;
        completedLessonPrefix: string;
        continueCourse: string;
        continueHeading: string;
        copyOf: (title: string) => string;
        correctAnswer: string;
        courseArchivedBadge: string;
        courseCompletedBadge: string;
        courseFinished: string;
        courseNameLabel: string;
        courseOptions: string;
        courseOutline: string;
        coursesHeading: string;
        courseTitleLabel: string;
        courseTitlePlaceholder: string;
        coverColorAuto: string;
        coverColorLabel: string;
        coverColorOption: (position: number) => string;
        coverHeading: string;
        coverHelp: string;
        coverPreview: string;
        createCourse: string;
        customizeFor: (name: string) => string;
        customizeHelp: (name: string) => string;
        customUnavailable: (kind: string) => string;
        dashboardSubtitle: string;
        dashboardTitle: string;
        dateLabel: string;
        daysLabel: string;
        delete: string;
        deleteBlock: string;
        deleteBlockConfirm: (what: string) => string;
        deleteCourse: string;
        deleteCourseConfirm: (title: string) => string;
        deleteLesson: string;
        deleteLessonConfirm: (title: string) => string;
        deleteOption: string;
        deleteQuestion: string;
        deleteSection: string;
        deleteSectionConfirm: (title: string) => string;
        deleteStatus: string;
        descriptionLabel: string;
        descriptionPlaceholder: string;
        detailsButton: string;
        detailsHeading: string;
        deviceUnavailable: string;
        discardChanges: string;
        discardChangesConfirm: string;
        draftHelp: string;
        dueAfterDays: string;
        dueAfterDaysHelp: (days: number) => string;
        dueLabel: string;
        dueNone: string;
        dueNoneHelp: string;
        dueOn: (date: string) => string;
        dueOnDate: string;
        duplicateCourse: string;
        earlierSubmissions: (count: number) => string;
        editCourse: string;
        editedAt: (relative: string) => string;
        editLesson: string;
        editStatuses: string;
        effectApprove: string;
        effectNone: string;
        effectSendBack: string;
        embedNotAllowed: string;
        embedUrlHelp: string;
        embedUrlLabel: string;
        emptyOutline: string;
        enrollClients: string;
        enrollFromRoster: string;
        enrollHelp: string;
        enrollSelected: (count: number) => string;
        estimatedMinutesLabel: string;
        everyoneHeading: string;
        fileChoose: string;
        fileDownload: string;
        fileTooLarge: (size: string, limit: string) => string;
        fileUnavailable: string;
        filterAll: string;
        filterCompleted: string;
        filterInProgress: string;
        findClient: string;
        finishedCourse: string;
        formatBytes: (bytes: number) => string;
        formatDate: (iso: string) => string;
        formatSeconds: (seconds: number) => string;
        giveStatus: string;
        goToNextLesson: string;
        hiddenLesson: string;
        hiddenNotice: string;
        hideLesson: string;
        inboxEmpty: string;
        inboxHeading: string;
        issueCycle: string;
        issueInvalidDrip: string;
        issueInvalidDue: string;
        issueUnknownPrerequisite: string;
        justForYou: string;
        keepEditing: string;
        lessonApproved: (name: string) => string;
        lessonCommentPlaceholder: (providerName: string | undefined) => string;
        lessonCommentsHeading: string;
        lessonCount: (count: number) => string;
        lessonDescriptionLabel: string;
        lessonEmpty: string;
        lessonOptions: string;
        lessonPosition: (position: number, total: number) => string;
        lessonReplyPlaceholder: (firstName: string) => string;
        lessonSentBack: (name: string) => string;
        lessonsOpenLabel: string;
        lessonsProgress: (done: number, total: number) => string;
        lessonStatus: (status: LessonStatus) => string;
        lessonTextLabel: string;
        lessonTitleLabel: string;
        librarySubtitle: string;
        libraryTitle: string;
        liveDescriptionLabel: string;
        liveJoin: string;
        liveRoom: (roomName: string) => string;
        liveUnavailable: string;
        loading: string;
        lockedAccessPending: string;
        lockedApproval: (titles: string[]) => string;
        lockedDrip: (date: string) => string;
        lockedDripNever: string;
        lockedPaused: string;
        lockedPrerequisite: (titles: string[]) => string;
        lockedRemoved: string;
        markArea: string;
        markAreaKeyboardHint: string;
        markComplete: string;
        markCorrect: string;
        markDone: string;
        markedComplete: (name: string, lessonTitle: string) => string;
        maxRecordingLabel: string;
        minutes: (minutes: number) => string;
        moreOpens: (date: string) => string;
        moveDown: string;
        moveToSection: (sectionTitle: string) => string;
        moveUp: string;
        myCoursesSubtitle: string;
        myCoursesTitle: string;
        newCourse: string;
        newLessonTitle: string;
        newSectionTitle: string;
        nextLesson: string;
        noAnswers: string;
        noBlocks: string;
        noClientLessons: string;
        noClients: string;
        noCourses: string;
        noCoursesProvider: string;
        noFile: string;
        noMatches: string;
        notActiveYet: string;
        noteLabel: (firstName: string) => string;
        notePlaceholder: string;
        nothingToMarkComplete: string;
        nothingToUnlock: string;
        notReviewedYet: string;
        numberAnswerLabel: string;
        open: string;
        openFile: string;
        optionLabel: (index: number) => string;
        outlineHeading: string;
        overdue: string;
        passMarkLabel: string;
        pause: string;
        pendingCount: (count: number) => string;
        pendingCustom: (label: string) => string;
        pendingListen: string;
        pendingPassQuiz: string;
        pendingSubmit: string;
        pendingSubmitQuiz: string;
        pendingWatch: string;
        percent: (percent: number) => string;
        photoCapture: string;
        photoChoose: string;
        photoRetake: string;
        photoUse: string;
        pinToPage: (page: number) => string;
        pinToRegion: string;
        pinToTime: (time: string) => string;
        placeAfterLabel: string;
        placeFirst: string;
        previewAsClient: string;
        previewBanner: string;
        previousLesson: string;
        progressionFree: string;
        progressionFreeHelp: string;
        progressionLabel: string;
        progressionSequential: string;
        progressionSequentialHelp: string;
        progressReset: (name: string) => string;
        publishCourse: string;
        questionKindLabel: string;
        questionLongText: string;
        questionMulti: string;
        questionNumber: string;
        questionPromptLabel: string;
        questionScale: string;
        questionShortText: string;
        questionSingle: string;
        quizAnswerAll: string;
        quizAnswerPlaceholder: string;
        quizAttemptOf: (attempt: number, max: number) => string;
        quizCheck: string;
        quizNoAttemptsLeft: string;
        quizNotPassed: string;
        quizPassed: string;
        quizPassMark: (percent: number) => string;
        quizRetry: string;
        quizScore: (correct: number, total: number) => string;
        quizSubmitForReview: string;
        quizSubmittedForReview: string;
        recorderAgain: string;
        recorderAllowCamera: string;
        recorderAllowMic: string;
        recorderLimit: (seconds: number) => string;
        recorderStart: string;
        recorderStop: string;
        recorderUse: string;
        relativeTime: (iso: string, now?: number) => string;
        releaseAfterDays: string;
        releaseAfterDaysHelp: (days: number) => string;
        releaseImmediately: string;
        releaseImmediatelyHelp: string;
        releaseLabel: string;
        releaseOnDate: string;
        removeAttachment: string;
        removeClient: string;
        removeClientConfirm: (name: string) => string;
        removeImage: string;
        removePrerequisite: (title: string) => string;
        replaceFile: string;
        replaceImage: string;
        reply: string;
        replyPlaceholder: string;
        required: string;
        requiresLabel: string;
        requiresNone: string;
        resetProgress: string;
        resetProgressConfirm: (name: string) => string;
        restoreCourse: string;
        resubmit: string;
        resume: string;
        resumeLesson: string;
        resumeNote: string;
        retry: string;
        reviewBanner: (count: number) => string;
        reviewBannerHelp: string;
        reviewCourse: string;
        reviewNow: string;
        reviewStatusesTitle: string;
        roomNameLabel: string;
        rosterEmpty: string;
        rulesHeading: string;
        save: string;
        saveAsTemplate: string;
        saved: string;
        saveFailed: string;
        saving: string;
        scaleMaxLabel: string;
        scaleMaxTextLabel: string;
        scaleMinLabel: string;
        scaleMinTextLabel: string;
        score: (percent: number) => string;
        scoringAuto: string;
        scoringAutoHelp: string;
        scoringLabel: string;
        scoringReview: string;
        scoringReviewHelp: string;
        searchClients: string;
        searchCourses: string;
        searchPlaceholder: string;
        sectionCount: (count: number) => string;
        sectionLabel: string;
        sectionOptions: string;
        sectionTitleLabel: string;
        secureContextRequired: string;
        selectLesson: string;
        send: string;
        sendBack: string;
        sentBack: string;
        sortAttention: string;
        sortClients: string;
        sortLabel: string;
        sortLastActive: string;
        sortName: string;
        sortProgress: string;
        sortRecent: string;
        sortStatus: string;
        sortTitle: string;
        startCourse: string;
        starterBadge: string;
        statusActive: string;
        statusArchived: string;
        statusCompleted: string;
        statusDraft: string;
        statusEffectLabel: string;
        statusLabelLabel: string;
        statusPaused: string;
        statusPublished: string;
        statusRemoved: string;
        statusRevising: string;
        statusToneLabel: string;
        statusWaiting: string;
        submissionPromptLabel: string;
        submit: string;
        submitAnother: string;
        submitAudio: string;
        submitFile: string;
        submitPhoto: string;
        submittedAt: (relative: string) => string;
        submittedLessonPrefix: string;
        submitText: string;
        submitting: string;
        submitVideo: string;
        templateBadge: string;
        templatesHeading: string;
        templatesHelp: string;
        theirAnswers: string;
        tileActiveClients: string;
        tileBehind: string;
        tileFinished: string;
        tileToReview: string;
        toContinue: (items: string[]) => string;
        toleranceLabel: string;
        toneNegative: string;
        toneNeutral: string;
        tonePositive: string;
        unansweredComments: (count: number) => string;
        unlockLesson: string;
        unlocksOnApproval: (titles: string[]) => string;
        unsaved: string;
        uploadFile: string;
        uploadImage: string;
        uploading: string;
        uploadRecording: string;
        useTemplate: string;
        viewFailed: string;
        waitingHeading: string;
        waitingToSave: string;
        withProvider: (name: string) => string;
        you: string;
        yourSubmissions: string;
    }
    Index

    Properties

    acceptedAnswersLabel acceptsLabel addBlockHeading addClientLesson addLesson addOption addPrerequisite addQuestion addSection addStatus allCaughtUp allCoursesHeading allLessonsComplete anchorPage anchorRegion anchorTime answerPlaceholder approvalHelp approvalLabel approve archiveCourse archivedHeading archivedHelp askedLessonPrefix attachFile attachRecording attempt attemptHistory attemptsHelp attemptsLabel averageProgress awaitingApproval awaitingApprovalShort backToCourses backToOutline behindEmpty behindHeading behindInactive behindNotStarted behindOverdue blockAudio blockEmbed blockFailed blockFile blockHeadingLabel blockLiveSession blockOptions blockQuiz blockRichText blockSubmission blockUnknown blockVideo breadcrumbCourses breadcrumbLabel builderBack cancel chipAfter chipApproval chipDueDay chipDueOn chipHidden chipOpensDay chipOpensOn clientCount clientEnrolled clientLessonsHeading clients clientsTitle close columnActions columnClient columnCourse columnFinished columnLastActive columnProgress columnReason columnStatus columnToReview columnWhere commentArea commentPlaceholder completeAndContinue completedLessonPrefix continueCourse continueHeading copyOf correctAnswer courseArchivedBadge courseCompletedBadge courseFinished courseNameLabel courseOptions courseOutline coursesHeading courseTitleLabel courseTitlePlaceholder coverColorAuto coverColorLabel coverColorOption coverHeading coverHelp coverPreview createCourse customizeFor customizeHelp customUnavailable dashboardSubtitle dashboardTitle dateLabel daysLabel delete deleteBlock deleteBlockConfirm deleteCourse deleteCourseConfirm deleteLesson deleteLessonConfirm deleteOption deleteQuestion deleteSection deleteSectionConfirm deleteStatus descriptionLabel descriptionPlaceholder detailsButton detailsHeading deviceUnavailable discardChanges discardChangesConfirm draftHelp dueAfterDays dueAfterDaysHelp dueLabel dueNone dueNoneHelp dueOn dueOnDate duplicateCourse earlierSubmissions editCourse editedAt editLesson editStatuses effectApprove effectNone effectSendBack embedNotAllowed embedUrlHelp embedUrlLabel emptyOutline enrollClients enrollFromRoster enrollHelp enrollSelected estimatedMinutesLabel everyoneHeading fileChoose fileDownload fileTooLarge fileUnavailable filterAll filterCompleted filterInProgress findClient finishedCourse formatBytes formatDate formatSeconds giveStatus goToNextLesson hiddenLesson hiddenNotice hideLesson inboxEmpty inboxHeading issueCycle issueInvalidDrip issueInvalidDue issueUnknownPrerequisite justForYou keepEditing lessonApproved lessonCommentPlaceholder lessonCommentsHeading lessonCount lessonDescriptionLabel lessonEmpty lessonOptions lessonPosition lessonReplyPlaceholder lessonSentBack lessonsOpenLabel lessonsProgress lessonStatus lessonTextLabel lessonTitleLabel librarySubtitle libraryTitle liveDescriptionLabel liveJoin liveRoom liveUnavailable loading lockedAccessPending lockedApproval lockedDrip lockedDripNever lockedPaused lockedPrerequisite lockedRemoved markArea markAreaKeyboardHint markComplete markCorrect markDone markedComplete maxRecordingLabel minutes moreOpens moveDown moveToSection moveUp myCoursesSubtitle myCoursesTitle newCourse newLessonTitle newSectionTitle nextLesson noAnswers noBlocks noClientLessons noClients noCourses noCoursesProvider noFile noMatches notActiveYet noteLabel notePlaceholder nothingToMarkComplete nothingToUnlock notReviewedYet numberAnswerLabel open openFile optionLabel outlineHeading overdue passMarkLabel pause pendingCount pendingCustom pendingListen pendingPassQuiz pendingSubmit pendingSubmitQuiz pendingWatch percent photoCapture photoChoose photoRetake photoUse pinToPage pinToRegion pinToTime placeAfterLabel placeFirst previewAsClient previewBanner previousLesson progressionFree progressionFreeHelp progressionLabel progressionSequential progressionSequentialHelp progressReset publishCourse questionKindLabel questionLongText questionMulti questionNumber questionPromptLabel questionScale questionShortText questionSingle quizAnswerAll quizAnswerPlaceholder quizAttemptOf quizCheck quizNoAttemptsLeft quizNotPassed quizPassed quizPassMark quizRetry quizScore quizSubmitForReview quizSubmittedForReview recorderAgain recorderAllowCamera recorderAllowMic recorderLimit recorderStart recorderStop recorderUse relativeTime releaseAfterDays releaseAfterDaysHelp releaseImmediately releaseImmediatelyHelp releaseLabel releaseOnDate removeAttachment removeClient removeClientConfirm removeImage removePrerequisite replaceFile replaceImage reply replyPlaceholder required requiresLabel requiresNone resetProgress resetProgressConfirm restoreCourse resubmit resume resumeLesson resumeNote retry reviewBanner reviewBannerHelp reviewCourse reviewNow reviewStatusesTitle roomNameLabel rosterEmpty rulesHeading save saveAsTemplate saved saveFailed saving scaleMaxLabel scaleMaxTextLabel scaleMinLabel scaleMinTextLabel score scoringAuto scoringAutoHelp scoringLabel scoringReview scoringReviewHelp searchClients searchCourses searchPlaceholder sectionCount sectionLabel sectionOptions sectionTitleLabel secureContextRequired selectLesson send sendBack sentBack sortAttention sortClients sortLabel sortLastActive sortName sortProgress sortRecent sortStatus sortTitle startCourse starterBadge statusActive statusArchived statusCompleted statusDraft statusEffectLabel statusLabelLabel statusPaused statusPublished statusRemoved statusRevising statusToneLabel statusWaiting submissionPromptLabel submit submitAnother submitAudio submitFile submitPhoto submittedAt submittedLessonPrefix submitText submitting submitVideo templateBadge templatesHeading templatesHelp theirAnswers tileActiveClients tileBehind tileFinished tileToReview toContinue toleranceLabel toneNegative toneNeutral tonePositive unansweredComments unlockLesson unlocksOnApproval unsaved uploadFile uploadImage uploading uploadRecording useTemplate viewFailed waitingHeading waitingToSave withProvider you yourSubmissions

    Properties

    acceptedAnswersLabel: string
    acceptsLabel: string
    addBlockHeading: string
    addClientLesson: (name: string) => string
    addLesson: string
    addOption: string
    addPrerequisite: string
    addQuestion: string
    addSection: string
    addStatus: string
    allCaughtUp: string
    allCoursesHeading: string
    allLessonsComplete: string
    anchorPage: (page: number) => string
    anchorRegion: string
    anchorTime: (time: string) => string
    answerPlaceholder: string
    approvalHelp: string
    approvalLabel: string
    approve: string
    archiveCourse: string
    archivedHeading: string
    archivedHelp: string
    askedLessonPrefix: string

    Review queue: "{name} asked about {lesson}".

    attachFile: string
    attachRecording: string
    attempt: (index: number) => string
    attemptHistory: (count: number, bestPercent: number | null) => string

    Review: how many tries a client made and their best score, e.g. "3 attempts · best 80%".

    attemptsHelp: string
    attemptsLabel: string

    Quiz editor: how many tries an auto-scored quiz allows.

    averageProgress: string
    awaitingApproval: (providerName?: string) => string
    awaitingApprovalShort: string
    backToCourses: string
    backToOutline: string

    Phone layout: back from a lesson to the course outline in the builder.

    behindEmpty: string
    behindHeading: string
    behindInactive: (days: number) => string
    behindNotStarted: string
    behindOverdue: (count: number) => string

    Dashboard: a client with lessons past their due date.

    blockAudio: string
    blockEmbed: string
    blockFailed: string
    blockFile: string
    blockHeadingLabel: string
    blockLiveSession: string
    blockOptions: string
    blockQuiz: string
    blockRichText: string
    blockSubmission: string
    blockUnknown: string
    blockVideo: string
    breadcrumbCourses: string
    breadcrumbLabel: string

    Name of the breadcrumb trail above a course's clients.

    builderBack: string
    cancel: string
    chipAfter: (title: string) => string
    chipApproval: string
    chipDueDay: (days: number) => string
    chipDueOn: (date: string) => string
    chipHidden: string
    chipOpensDay: (days: number) => string
    chipOpensOn: (date: string) => string
    clientCount: (count: number) => string

    How many clients a course has, e.g. "3 clients".

    clientEnrolled: (count: number) => string
    clientLessonsHeading: (name: string) => string
    clients: string
    clientsTitle: string
    close: string
    columnActions: string
    columnClient: string
    columnCourse: string
    columnFinished: string
    columnLastActive: string
    columnProgress: string
    columnReason: string
    columnStatus: string
    columnToReview: string
    columnWhere: string
    commentArea: (position: number) => string

    A marked area on a photo, for screen readers.

    commentPlaceholder: string
    completeAndContinue: string
    completedLessonPrefix: string
    continueCourse: string
    continueHeading: string
    copyOf: (title: string) => string
    correctAnswer: string
    courseArchivedBadge: string

    Client: a course they have that the provider has archived.

    courseCompletedBadge: string
    courseFinished: string
    courseNameLabel: string
    courseOptions: string
    courseOutline: string

    Phone layout: the player's button that shows or hides the course outline.

    coursesHeading: string
    courseTitleLabel: string
    courseTitlePlaceholder: string
    coverColorAuto: string

    The color picked from the course id, when none is chosen.

    coverColorLabel: string
    coverColorOption: (position: number) => string

    The nth color swatch, for screen readers.

    coverHeading: string
    coverHelp: string
    coverPreview: string
    createCourse: string
    customizeFor: (name: string) => string
    customizeHelp: (name: string) => string
    customUnavailable: (kind: string) => string
    dashboardSubtitle: string
    dashboardTitle: string
    dateLabel: string
    daysLabel: string
    delete: string
    deleteBlock: string
    deleteBlockConfirm: (what: string) => string
    deleteCourse: string
    deleteCourseConfirm: (title: string) => string
    deleteLesson: string
    deleteLessonConfirm: (title: string) => string
    deleteOption: string
    deleteQuestion: string
    deleteSection: string
    deleteSectionConfirm: (title: string) => string
    deleteStatus: string
    descriptionLabel: string
    descriptionPlaceholder: string
    detailsButton: string

    Builder: the button that opens the course details (description and cover).

    detailsHeading: string
    deviceUnavailable: string
    discardChanges: string
    discardChangesConfirm: string
    draftHelp: string

    Builder and clients screen: why no one can be enrolled yet.

    dueAfterDays: string
    dueAfterDaysHelp: (days: number) => string
    dueLabel: string

    Builder: the lesson's due date controls.

    dueNone: string
    dueNoneHelp: string
    dueOn: (date: string) => string

    Client: when a lesson is due, e.g. "Due Tue 14 Oct".

    dueOnDate: string
    duplicateCourse: string
    earlierSubmissions: (count: number) => string
    editCourse: string
    editedAt: (relative: string) => string
    editLesson: string
    editStatuses: string
    effectApprove: string
    effectNone: string
    effectSendBack: string
    embedNotAllowed: string
    embedUrlHelp: string
    embedUrlLabel: string
    emptyOutline: string
    enrollClients: string
    enrollFromRoster: string
    enrollHelp: string
    enrollSelected: (count: number) => string
    estimatedMinutesLabel: string
    everyoneHeading: string
    fileChoose: string
    fileDownload: string
    fileTooLarge: (size: string, limit: string) => string

    A file is over maxUploadBytes. Both sizes come from formatBytes.

    fileUnavailable: string
    filterAll: string
    filterCompleted: string
    filterInProgress: string
    findClient: string

    Clients screen: find and order clients.

    finishedCourse: string
    formatBytes: (bytes: number) => string

    A file size for people to read.

    formatDate: (iso: string) => string
    formatSeconds: (seconds: number) => string
    giveStatus: string
    goToNextLesson: string
    hiddenLesson: string
    hiddenNotice: string
    hideLesson: string
    inboxEmpty: string
    inboxHeading: string
    issueCycle: string
    issueInvalidDrip: string
    issueInvalidDue: string
    issueUnknownPrerequisite: string
    justForYou: string
    keepEditing: string
    lessonApproved: (name: string) => string
    lessonCommentPlaceholder: (providerName: string | undefined) => string
    lessonCommentsHeading: string

    Lesson comments: the heading, and what to type.

    lessonCount: (count: number) => string
    lessonDescriptionLabel: string
    lessonEmpty: string
    lessonOptions: string
    lessonPosition: (position: number, total: number) => string

    Phone layout: where the current lesson sits, e.g. "Lesson 3 of 8".

    lessonReplyPlaceholder: (firstName: string) => string
    lessonSentBack: (name: string) => string
    lessonsOpenLabel: string
    lessonsProgress: (done: number, total: number) => string
    lessonStatus: (status: LessonStatus) => string

    A lesson's status, read out with it in the outline.

    lessonTextLabel: string

    Name of a lesson's text, for screen readers, when the block has no heading.

    lessonTitleLabel: string
    librarySubtitle: string
    libraryTitle: string
    liveDescriptionLabel: string
    liveJoin: string
    liveRoom: (roomName: string) => string
    liveUnavailable: string
    loading: string
    lockedAccessPending: string
    lockedApproval: (titles: string[]) => string
    lockedDrip: (date: string) => string
    lockedDripNever: string
    lockedPaused: string
    lockedPrerequisite: (titles: string[]) => string
    lockedRemoved: string
    markArea: string
    markAreaKeyboardHint: string

    How to mark an area on a photo with the keyboard.

    markComplete: string

    Clients screen: mark one of a client's lessons complete by hand.

    markCorrect: string
    markDone: string
    markedComplete: (name: string, lessonTitle: string) => string
    maxRecordingLabel: string
    minutes: (minutes: number) => string
    moreOpens: (date: string) => string
    moveDown: string
    moveToSection: (sectionTitle: string) => string

    Builder: move a lesson to another section.

    moveUp: string
    myCoursesSubtitle: string
    myCoursesTitle: string
    newCourse: string
    newLessonTitle: string
    newSectionTitle: string
    nextLesson: string
    noAnswers: string
    noBlocks: string
    noClientLessons: string
    noClients: string
    noCourses: string
    noCoursesProvider: string
    noFile: string
    noMatches: string
    notActiveYet: string
    noteLabel: (firstName: string) => string
    notePlaceholder: string
    nothingToMarkComplete: string
    nothingToUnlock: string
    notReviewedYet: string
    numberAnswerLabel: string
    open: string
    openFile: string
    optionLabel: (index: number) => string
    outlineHeading: string
    overdue: string
    passMarkLabel: string
    pause: string
    pendingCount: (count: number) => string
    pendingCustom: (label: string) => string
    pendingListen: string
    pendingPassQuiz: string
    pendingSubmit: string
    pendingSubmitQuiz: string
    pendingWatch: string
    percent: (percent: number) => string
    photoCapture: string
    photoChoose: string
    photoRetake: string
    photoUse: string
    pinToPage: (page: number) => string
    pinToRegion: string
    pinToTime: (time: string) => string
    placeAfterLabel: string
    placeFirst: string
    previewAsClient: string
    previewBanner: string
    previousLesson: string
    progressionFree: string
    progressionFreeHelp: string
    progressionLabel: string
    progressionSequential: string
    progressionSequentialHelp: string
    progressReset: (name: string) => string
    publishCourse: string
    questionKindLabel: string
    questionLongText: string
    questionMulti: string
    questionNumber: string
    questionPromptLabel: string
    questionScale: string
    questionShortText: string
    questionSingle: string
    quizAnswerAll: string
    quizAnswerPlaceholder: string
    quizAttemptOf: (attempt: number, max: number) => string

    Client: which try this is, e.g. "Attempt 2 of 3".

    quizCheck: string
    quizNoAttemptsLeft: string
    quizNotPassed: string
    quizPassed: string
    quizPassMark: (percent: number) => string
    quizRetry: string
    quizScore: (correct: number, total: number) => string
    quizSubmitForReview: string
    quizSubmittedForReview: string
    recorderAgain: string
    recorderAllowCamera: string
    recorderAllowMic: string
    recorderLimit: (seconds: number) => string
    recorderStart: string
    recorderStop: string
    recorderUse: string
    relativeTime: (iso: string, now?: number) => string
    releaseAfterDays: string
    releaseAfterDaysHelp: (days: number) => string
    releaseImmediately: string
    releaseImmediatelyHelp: string
    releaseLabel: string
    releaseOnDate: string
    removeAttachment: string
    removeClient: string
    removeClientConfirm: (name: string) => string
    removeImage: string
    removePrerequisite: (title: string) => string
    replaceFile: string
    replaceImage: string
    reply: string
    replyPlaceholder: string
    required: string
    requiresLabel: string
    requiresNone: string
    resetProgress: string
    resetProgressConfirm: (name: string) => string
    restoreCourse: string
    resubmit: string
    resume: string
    resumeLesson: string
    resumeNote: string
    retry: string
    reviewBanner: (count: number) => string
    reviewBannerHelp: string
    reviewCourse: string
    reviewNow: string
    reviewStatusesTitle: string
    roomNameLabel: string
    rosterEmpty: string
    rulesHeading: string
    save: string
    saveAsTemplate: string
    saved: string
    saveFailed: string
    saving: string
    scaleMaxLabel: string
    scaleMaxTextLabel: string
    scaleMinLabel: string
    scaleMinTextLabel: string
    score: (percent: number) => string
    scoringAuto: string
    scoringAutoHelp: string
    scoringLabel: string
    scoringReview: string
    scoringReviewHelp: string
    searchClients: string
    searchCourses: string

    Library: find and order courses.

    searchPlaceholder: string
    sectionCount: (count: number) => string
    sectionLabel: string
    sectionOptions: string
    sectionTitleLabel: string
    secureContextRequired: string
    selectLesson: string
    send: string
    sendBack: string
    sentBack: string
    sortAttention: string
    sortClients: string
    sortLabel: string
    sortLastActive: string
    sortName: string
    sortProgress: string
    sortRecent: string
    sortStatus: string
    sortTitle: string
    startCourse: string
    starterBadge: string
    statusActive: string
    statusArchived: string
    statusCompleted: string
    statusDraft: string
    statusEffectLabel: string
    statusLabelLabel: string
    statusPaused: string
    statusPublished: string
    statusRemoved: string
    statusRevising: string
    statusToneLabel: string
    statusWaiting: string
    submissionPromptLabel: string
    submit: string
    submitAnother: string
    submitAudio: string
    submitFile: string
    submitPhoto: string
    submittedAt: (relative: string) => string
    submittedLessonPrefix: string
    submitText: string
    submitting: string
    submitVideo: string
    templateBadge: string
    templatesHeading: string
    templatesHelp: string
    theirAnswers: string
    tileActiveClients: string
    tileBehind: string
    tileFinished: string
    tileToReview: string
    toContinue: (items: string[]) => string
    toleranceLabel: string
    toneNegative: string
    toneNeutral: string
    tonePositive: string
    unansweredComments: (count: number) => string
    unlockLesson: string
    unlocksOnApproval: (titles: string[]) => string
    unsaved: string
    uploadFile: string
    uploadImage: string
    uploading: string
    uploadRecording: string
    useTemplate: string
    viewFailed: string
    waitingHeading: string
    waitingToSave: string
    withProvider: (name: string) => string
    you: string
    yourSubmissions: string