react-icons/md#MdHorizontalSplit TypeScript Examples
The following examples show how to use
react-icons/md#MdHorizontalSplit.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: index.tsx From slice-machine with Apache License 2.0 | 6 votes |
links: LinkProps[] = [
{
title: "Custom Types",
href: "/",
match(pathname: string) {
return pathname === "/" || pathname.indexOf("/cts") === 0;
},
Icon: MdSpaceDashboard,
},
{
title: "Slices",
href: "/slices",
match(pathname: string) {
return pathname.indexOf("/slices") === 0;
},
Icon: MdHorizontalSplit,
},
]
Example #2
Source File: UpdateSliceZoneModalEmptyState.tsx From slice-machine with Apache License 2.0 | 6 votes |
UpdateSliceZoneModalEmptyState = () => (
<Flex sx={{ flexDirection: "column", alignItems: "center" }}>
<MdHorizontalSplit size={40} />
<Text variant={"small"} sx={{ mt: 2 }}>
No Slices in your project
</Text>
<Text variant={"xs"} sx={{ maxWidth: "412px", textAlign: "center", mt: 3 }}>
Slices are sections of your website. Prismic documents contain a dynamic
"Slice Zone" that allows content creators to add, edit, and rearrange
Slices to compose dynamic layouts for any page design.
</Text>
<Link passHref href={`/slices`}>
<Button sx={{ mt: "24px" }}>Create new Slice</Button>
</Link>
</Flex>
)
Example #3
Source File: index.tsx From slice-machine with Apache License 2.0 | 4 votes |
Header: React.FC<{
Model: ContextProps["Model"];
store: ContextProps["store"];
variation: ContextProps["variation"];
onSave: () => void;
onPush: () => void;
isLoading: boolean;
imageLoading?: boolean;
}> = ({
Model,
store,
variation,
onSave,
onPush,
isLoading,
imageLoading = false,
}) => {
const router = useRouter();
const [showVariationModal, setShowVariationModal] = useState(false);
const unSynced = ["MODIFIED", "NEW_SLICE"].indexOf(Model.__status) !== -1;
return (
<Flex
sx={{
display: "flex",
flexWrap: "wrap",
margin: "0 auto",
maxWidth: 1224,
mx: "auto",
px: 3,
pt: 4,
}}
>
<Box
as="section"
sx={{
flexGrow: 99999,
flexBasis: 0,
minWidth: 320,
}}
>
<Flex sx={{ justifyContent: "space-between", alignItems: "start" }}>
<Box>
<Flex sx={{ flexDirection: "column" }}>
<Flex
sx={{
fontSize: 4,
fontWeight: "heading",
alignItems: "center",
}}
>
<Link href="/slices" passHref>
<ThemeLinK variant="invisible">
<Flex sx={{ alignItems: "center" }}>
<MdHorizontalSplit /> <Text ml={2}>Slices</Text>
</Flex>
</ThemeLinK>
</Link>
<Box sx={{ fontWeight: "thin" }} as="span">
<Text ml={2}>
{`/ ${Model.model.name} / ${variation.name}`}
</Text>
</Box>
</Flex>
<Flex mt={3} sx={{ alignItems: "center" }}>
<Flex sx={{ alignItems: "center" }}>
<VariationPopover
defaultValue={variation}
variations={Model.variations}
onNewVariation={() => setShowVariationModal(true)}
onChange={(v) =>
void router.push(
...Links.variation({
lib: Model.href,
sliceName: Model.model.name,
variationId: v.id,
}).all
)
}
/>
<Box ml={2}>
<Text variant="xs">Variation id : {variation.id}</Text>
</Box>
</Flex>
</Flex>
</Flex>
</Box>
<SaveButton
onClick={Model.isTouched ? onSave : onPush}
loading={isLoading && !imageLoading}
disabled={
isLoading || imageLoading || (!Model.isTouched && !unSynced)
}
>
{Model.isTouched
? "Save model to filesystem"
: unSynced
? "Push Slice to Prismic"
: "Your Slice is up to date!"}
</SaveButton>
<VariationModal
isOpen={showVariationModal}
onClose={() => setShowVariationModal(false)}
onSubmit={(id, name, copiedVariation) => {
store.copyVariation(id, name, copiedVariation);
void router.push(
...Links.variation({
lib: Model.href,
sliceName: Model.model.name,
variationId: id,
}).all
);
}}
initialVariation={variation}
variations={Model.variations}
/>
</Flex>
</Box>
</Flex>
);
}
Example #4
Source File: slices.tsx From slice-machine with Apache License 2.0 | 4 votes |
SlicesIndex: React.FunctionComponent = () => {
const libraries = useContext(LibrariesContext);
const { openCreateSliceModal, closeCreateSliceModal, createSlice } =
useSliceMachineActions();
const { isCreateSliceModalOpen, isCreatingSlice, localLibs, remoteLibs } =
useSelector((store: SliceMachineStoreType) => ({
isCreateSliceModalOpen: isModalOpen(store, ModalKeysEnum.CREATE_SLICE),
isCreatingSlice: isLoading(store, LoadingKeysEnum.CREATE_SLICE),
localLibs: getLibraries(store),
remoteLibs: getRemoteSlices(store),
}));
const _onCreate = ({
sliceName,
from,
}: {
sliceName: string;
from: string;
}) => {
createSlice(sliceName, from);
};
const localLibraries: LibraryState[] | undefined = libraries?.filter(
(l) => l.isLocal
);
const sliceCount = (libraries || []).reduce((count, lib) => {
if (!lib) {
return count;
}
return count + lib.components.length;
}, 0);
return (
<>
<Container
sx={{
display: "flex",
flex: 1,
}}
>
<Box
as={"main"}
sx={{
flex: 1,
display: "flex",
flexDirection: "column",
}}
>
<Header
ActionButton={
localLibraries?.length != 0 && sliceCount != 0 ? (
<CreateSliceButton
onClick={openCreateSliceModal}
loading={isCreatingSlice}
/>
) : undefined
}
MainBreadcrumb={
<>
<MdHorizontalSplit /> <Text ml={2}>Slices</Text>
</>
}
breadrumbHref="/slices"
/>
{libraries && (
<Flex
sx={{
flex: 1,
flexDirection: "column",
}}
>
{sliceCount === 0 ? (
<Flex
sx={{
flex: 1,
justifyContent: "center",
alignItems: "center",
}}
>
<EmptyState
title={"What are Slices?"}
onCreateNew={openCreateSliceModal}
isLoading={isCreatingSlice}
buttonText={"Create one"}
documentationComponent={
<>
Slices are sections of your website. Prismic documents
contain a dynamic "Slice Zone" that allows content
creators to add, edit, and rearrange Slices to compose
dynamic layouts for any page design.{" "}
<Link
target={"_blank"}
href={"https://prismic.io/docs/core-concepts/slices"}
sx={(theme) => ({ color: theme?.colors?.primary })}
>
Learn more
</Link>
.
</>
}
/>
</Flex>
) : (
libraries.map((lib: LibraryState) => {
const { name, isLocal, components } = lib;
return (
<Flex
key={name}
sx={{
flexDirection: "column",
"&:not(last-of-type)": {
mb: 4,
},
}}
>
<Flex
sx={{
alignItems: "center",
justifyContent: "space-between",
}}
>
<Flex
sx={{
alignItems: "center",
fontSize: 3,
lineHeight: "48px",
fontWeight: "heading",
mb: 1,
}}
>
<Text>{name}</Text>
</Flex>
{!isLocal && <p>⚠️ External libraries are read-only</p>}
</Flex>
<Grid
elems={components.map(([e]) => e)}
defineElementKey={(slice: SliceState) =>
slice.model.name
}
renderElem={(slice: SliceState) => {
return SharedSlice.render({
displayStatus: true,
slice,
});
}}
/>
</Flex>
);
})
)}
</Flex>
)}
</Box>
</Container>
{localLibraries && localLibraries.length > 0 && (
<CreateSliceModal
isCreatingSlice={isCreatingSlice}
isOpen={isCreateSliceModalOpen}
close={closeCreateSliceModal}
libraries={localLibs}
remoteSlices={remoteLibs}
onSubmit={({ sliceName, from }) => _onCreate({ sliceName, from })}
/>
)}
</>
);
}