PromucFlow_constructor/app/client/src/pages/Applications/EmbedSnippet/Snippet.tsx

57 lines
1.3 KiB
TypeScript
Raw Normal View History

import React from "react";
import copy from "copy-to-clipboard";
feat: Renamed design system package (#19854) ## Description This PR includes changes for renaming design system package. Since we are building new package for the refactored design system components, the old package is renaming to design-system-old. Fixes #19536 ## Type of change - New feature (non-breaking change which adds functionality) - Breaking change (fix or feature that would cause existing functionality to not work as expected) ## How Has This Been Tested? - Manual - Jest - Cypress ### Test Plan > Add Testsmith test cases links that relate to this PR ### Issues raised during DP testing > Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR) ## Checklist: ### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] New and existing unit tests pass locally with my changes - [ ] PR is being merged under a feature flag ### QA activity: - [ ] Test plan has been approved by relevant developers - [ ] Test plan has been peer reviewed by QA - [ ] Cypress test cases have been added and approved by either SDET or manual QA - [ ] Organized project review call with relevant stakeholders after Round 1/2 of QA - [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-01-23 03:50:47 +00:00
import { Toaster, Variant, Text, TextType } from "design-system-old";
import { Colors } from "constants/Colors";
import {
createMessage,
IN_APP_EMBED_SETTING,
} from "@appsmith/constants/messages";
import styled from "styled-components";
const StyledText = styled(Text)`
line-height: 1.5;
/* width */
::-webkit-scrollbar {
width: 3px;
}
/* Track */
::-webkit-scrollbar-track {
background: ${Colors.GRAY_100};
}
`;
type EmbedCodeSnippetProps = {
snippet: string;
};
function EmbedCodeSnippet(props: EmbedCodeSnippetProps) {
const scrollWrapperRef = React.createRef<HTMLSpanElement>();
const onClick = () => {
copy(props.snippet);
Toaster.show({
text: createMessage(IN_APP_EMBED_SETTING.copiedEmbedCode),
variant: Variant.success,
});
};
return (
<div
className="flex flex-1 select-all bg-[color:var(--appsmith-color-black-100)]"
data-cy="t--embed-snippet"
onClick={onClick}
>
<StyledText
className="break-all max-h-32 overflow-y-auto p-2 mr-0.5"
color={Colors.GREY_900}
ref={scrollWrapperRef}
type={TextType.P1}
>
{props.snippet}
</StyledText>
</div>
);
}
export default EmbedCodeSnippet;