CSC Design System next
VueFlavour Vue React Angular TypeScript PrimaryCSC UI ColorsPrimarySecondaryAccentCustom ColorsRedOrangeGreenBluePurplePink
Guides Getting started Customization Data visualization Migration guide Componentsc-accordionc-alertc-autocompletec-badgec-buttonc-button-groupc-cardc-checkboxc-csc-logoc-data-tablec-dividerc-iconc-icon-buttonc-inputc-linkc-listc-loaderc-login-buttonsc-login-cardc-mainc-menuc-messagec-modalc-navigation-buttonc-otp-inputc-pagec-paginationc-popoverc-progress-barc-progress-circlec-radio-groupc-selectc-side-navigationc-sliderc-spinnerc-statusc-stepsc-switchc-tablec-tabsc-tagsc-text-fieldc-toastsc-toolbarc-tooltip

<c-main>

Wrapper component for the whole page

Examples

Basic
Vue React Angular TypeScript
<template>
  <c-main class="demo-shell">
    <c-toolbar class="relative">
      <c-csc-logo />

      <span>My Service</span>
    </c-toolbar>

    <c-page>
      <h2>Dashboard</h2>

      <p>Page content goes here.</p>
    </c-page>
  </c-main>
</template>

<style scoped>
/* Demo-only sizing: c-main normally fills the whole viewport. */
.demo-shell::part(root) {
  height: 320px;
}

.demo-shell c-page {
  height: auto;
}
</style>

API reference

<c-main>

Wrapper component for the whole page

Properties

PropertyAttributeTypeDefaultDescription
disableLayoutdisable-layoutbooleanfalseDisable the default dashboard layout

Slots

SlotDescription
defaultContents of the page

CSS parts

Style from outside with c-main::part(name) — parts are the library's only styling customization API.

PartDescription
rootThe main element carrying the page background and dashboard grid layout