"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.paidTierUpgradeForm = exports.paidTierStep1 = exports.paidTierStep0 = exports.paidTierPromptInput = exports.paidTierSuccessCard = exports.paidTierInfoCard = exports.upgradeSuccessSticky = exports.upgradePendingSticky = exports.freeTierLimitSticky = exports.freeTierLimitDirective = exports.continueUpgradeQButton = exports.learnMoreButton = exports.upgradeQButton = exports.qProName = exports.paidTierLearnMoreUrl = exports.plansAndPricingTitle = void 0;
const mynah_ui_1 = require("@aws/mynah-ui");
exports.plansAndPricingTitle = 'Plans &amp; Pricing';
exports.paidTierLearnMoreUrl = 'https://aws.amazon.com/q/pricing/';
exports.qProName = 'Q Developer Pro';
exports.upgradeQButton = {
    id: 'paidtier-upgrade-q',
    flash: 'once',
    fillState: 'always',
    position: 'inside',
    icon: 'external',
    // https://github.com/aws/mynah-ui/blob/main/src/components/icon/icons/q.svg
    // https://github.com/aws/mynah-ui/blob/main/src/components/icon/icons/rocket.svg
    // icon: MynahIcons.Q,
    text: `Subscribe to ${exports.qProName}`,
    // description: `Upgrade to ${qProName}`,
    status: 'primary',
    disabled: false,
};
exports.learnMoreButton = {
    id: 'paidtier-upgrade-q-learnmore',
    fillState: 'hover',
    // position: 'inside',
    icon: 'external',
    description: `Learn about ${exports.qProName}`,
    text: 'Learn more',
    status: 'info',
    disabled: false,
};
exports.continueUpgradeQButton = {
    id: 'paidtier-upgrade-q-continue',
    icon: 'rocket',
    flash: 'once',
    fillState: 'hover',
    position: 'inside',
    // description: `Link an AWS account to upgrade ${qProName}`,
    text: 'Continue',
    disabled: false,
};
exports.freeTierLimitDirective = {
    type: mynah_ui_1.ChatItemType.DIRECTIVE,
    messageId: 'freetier-limit-directive',
    fullWidth: true,
    contentHorizontalAlignment: 'center',
    canBeDismissed: false,
    body: 'Unable to send. Monthly invocation limit met for this month.',
};
/** "Banner" (sticky card) shown above the chat prompt. */
exports.freeTierLimitSticky = {
    messageId: 'freetier-limit-banner',
    body: `To increase your limit, subscribe to ${exports.qProName}. During the upgrade, you'll be asked to link your Builder ID to the AWS account that will be billed the monthly subscription fee. Learn more about [pricing &gt;](${exports.paidTierLearnMoreUrl})`,
    buttons: [exports.upgradeQButton],
    header: {
        icon: 'warning',
        iconStatus: 'warning',
        body: '### Monthly request limit reached',
    },
    canBeDismissed: false,
};
exports.upgradePendingSticky = {
    messageId: 'upgrade-pending-banner',
    body: exports.freeTierLimitSticky.body,
    buttons: [exports.upgradeQButton],
    header: {
        icon: 'progress',
        iconStatus: undefined,
        body: '### Waiting for subscription status...',
    },
    canBeDismissed: true,
};
exports.upgradeSuccessSticky = {
    messageId: 'upgrade-success-banner',
    // body: `Successfully upgraded to ${qProName}.`,
    status: 'success',
    buttons: [],
    // icon: 'q',
    // iconStatus: 'success',
    header: {
        icon: 'ok-circled',
        iconStatus: 'success',
        body: `Successfully upgraded to ${exports.qProName}.`,
        // status: {
        //     status: 'success',
        //     position: 'right',
        //     text: `Successfully upgraded to ${qProName}.`,
        // },
    },
    canBeDismissed: true,
};
exports.paidTierInfoCard = {
    type: mynah_ui_1.ChatItemType.ANSWER,
    title: 'UPGRADE TO AMAZON Q PRO',
    buttons: [exports.upgradeQButton],
    header: {
        icon: 'q',
        iconStatus: 'primary',
        body: `This feature requires a subscription to ${exports.qProName}.`,
        status: {
            status: 'info',
            icon: 'q',
        },
    },
    body: `Upgrade to ${exports.qProName}. [Learn More...](${exports.paidTierLearnMoreUrl})`,
    messageId: 'paidtier-info',
    fullWidth: true,
    canBeDismissed: true,
    snapToTop: true,
};
exports.paidTierSuccessCard = {
    type: mynah_ui_1.ChatItemType.ANSWER,
    title: 'UPGRADED TO AMAZON Q PRO',
    header: {
        icon: 'q',
        iconStatus: 'primary',
        body: `Welcome to ${exports.qProName}`,
        status: {
            status: 'success',
            icon: 'q',
            text: 'Success',
        },
    },
    messageId: 'paidtier-success',
    fullWidth: true,
    canBeDismissed: true,
    body: `Upgraded to ${exports.qProName}\n\n[Learn More...](${exports.paidTierLearnMoreUrl})`,
    snapToTop: true,
};
exports.paidTierPromptInput = {
    placeholder: '111111111111',
    type: 'textinput',
    id: 'paid-tier',
    // tooltip: `Upgrade to ${qProName}`,
    value: 'true',
    icon: 'magic',
};
exports.paidTierStep0 = {
    type: mynah_ui_1.ChatItemType.DIRECTIVE,
    body: `You have upgraded to ${exports.qProName}`,
};
exports.paidTierStep1 = {
    type: mynah_ui_1.ChatItemType.DIRECTIVE,
    body: `You have upgraded to ${exports.qProName}`,
};
/** "Upgrade Q" form with a "AWS account id" user-input textbox. */
exports.paidTierUpgradeForm = {
    type: mynah_ui_1.ChatItemType.ANSWER,
    status: 'info',
    fullWidth: true,
    // title: 'Connect AWS account and upgrade',
    body: `
# Connect AWS account and upgrade

Provide your AWS account number to enable your ${exports.qProName} subscription. Upon confirming the subscription, your AWS account will begin to be charged.

[Learn More...](${exports.paidTierLearnMoreUrl})
`,
    formItems: [
        {
            id: 'awsAccountId',
            type: 'textinput',
            title: 'AWS account ID',
            description: '12-digit AWS account ID',
            // tooltip: `Link an AWS account to upgrade to ${qProName}`,
            validationPatterns: {
                patterns: [{ pattern: '[0-9]{12}', errorMessage: 'Must be a valid 12-digit AWS account ID' }],
            },
        },
    ],
    buttons: [exports.continueUpgradeQButton],
    snapToTop: true,
};
//# sourceMappingURL=paidTier.js.map