Pagination
Basic usage
<script>
  let current
</script>
<CPagination pages={6} bind:current /><script>
  let current
</script>
<CPagination pages={6} bind:current />Shapes
<script>
  let current
</script>
<div class="c-column c-gutter-md">
  <CPagination pages={6} bind:current shape="square" />
  <CPagination pages={6} bind:current shape="rounded" />
  <CPagination pages={6} bind:current shape="circle" />
</div><script>
  let current
</script>
<div class="c-column c-gutter-md">
  <CPagination pages={6} bind:current shape="square" />
  <CPagination pages={6} bind:current shape="rounded" />
  <CPagination pages={6} bind:current shape="circle" />
</div>Sizes
<script>
  let current
</script>
<div class="c-column c-gutter-md">
  <CPagination pages={6} bind:current size="xs" />
  <CPagination pages={6} bind:current size="sm" shape="rounded" />
  <CPagination pages={6} bind:current shape="circle" />
  <CPagination pages={6} bind:current size="lg" shape="rounded" />
  <CPagination pages={6} bind:current size="xl" />
</div><script>
  let current
</script>
<div class="c-column c-gutter-md">
  <CPagination pages={6} bind:current size="xs" />
  <CPagination pages={6} bind:current size="sm" shape="rounded" />
  <CPagination pages={6} bind:current shape="circle" />
  <CPagination pages={6} bind:current size="lg" shape="rounded" />
  <CPagination pages={6} bind:current size="xl" />
</div>Gutter sizes
<script>
  let current
</script>
<div class="c-column c-gutter-md">
  <CPagination pages={6} bind:current gutterSize="xs" />
  <CPagination pages={6} bind:current gutterSize="sm" />
  <CPagination pages={6} bind:current />
  <CPagination pages={6} bind:current gutterSize="lg" />
  <CPagination pages={6} bind:current gutterSize="xl" />
</div><script>
  let current
</script>
<div class="c-column c-gutter-md">
  <CPagination pages={6} bind:current gutterSize="xs" />
  <CPagination pages={6} bind:current gutterSize="sm" />
  <CPagination pages={6} bind:current />
  <CPagination pages={6} bind:current gutterSize="lg" />
  <CPagination pages={6} bind:current gutterSize="xl" />
</div>Themes
<script>
  let current
</script>
<div class="c-column c-gutter-md">
  <CPagination pages={6} bind:current theme="primary" shape="circle" />
  <CPagination pages={6} bind:current theme="secondary" shape="circle" />
  <CPagination pages={6} bind:current theme="warning" shape="circle" />
  <CPagination pages={6} bind:current theme="negative" shape="circle" />
</div><script>
  let current
</script>
<div class="c-column c-gutter-md">
  <CPagination pages={6} bind:current theme="primary" shape="circle" />
  <CPagination pages={6} bind:current theme="secondary" shape="circle" />
  <CPagination pages={6} bind:current theme="warning" shape="circle" />
  <CPagination pages={6} bind:current theme="negative" shape="circle" />
</div>No to first/last button
<script>
  let current
</script>
<CPagination pages={6} bind:current showBoundaryButton={false} /><script>
  let current
</script>
<CPagination pages={6} bind:current showBoundaryButton={false} />No prev/next button
<script>
  let current
</script>
<CPagination pages={6} bind:current showPrevNextButton={false} /><script>
  let current
</script>
<CPagination pages={6} bind:current showPrevNextButton={false} />Max display pages
<script>
  let current = 4
</script>
<CPagination pages={10} maxDisplayPages={3} bind:current /><script>
  let current = 4
</script>
<CPagination pages={10} maxDisplayPages={3} bind:current />Customize buttons with slots
<script>
  let current = 4
</script>
<CPagination pages={10} maxDisplayPages={3} bind:current>
  <button slot="to-first" let:set let:disabled on:click={set} {disabled}>
    To first
  </button>
  <CButton
    slot="to-prev"
    let:set
    let:disabled
    on:click={set}
    {disabled}
    flat
    theme="negative"
    >
    <div class="i-ph-arrow-arc-left-fill"></div>
  </CButton>
  <CButton slot="left-ellipsis" let:set flat theme="warning" on:click={set}>
    <div class="i-ion-ellipsis-horizontal-circle"></div>
  </CButton>
  <button slot="page-button" let:p let:active on:click={() => (current = p)}>
    <span class:c-text-primary={active} class:c-font-xl={active}>
      {p}
    </span>
  </button>
  <CButton slot="right-ellipsis" let:set flat theme="warning" on:click={set}>
    <div class="i-octicon-ellipsis-16"></div>
  </CButton>
  <CButton
    slot="to-next"
    let:set
    let:disabled
    on:click={set}
    {disabled}
    flat
    theme="secondary"
    >
    <div class="i-ph-arrow-arc-right-fill"></div>
  </CButton>
   <button slot="to-last" let:set let:disabled on:click={set} {disabled}>
    To last
  </button>
</CPagination><script>
  let current = 4
</script>
<CPagination pages={10} maxDisplayPages={3} bind:current>
  <button slot="to-first" let:set let:disabled on:click={set} {disabled}>
    To first
  </button>
  <CButton
    slot="to-prev"
    let:set
    let:disabled
    on:click={set}
    {disabled}
    flat
    theme="negative"
    >
    <div class="i-ph-arrow-arc-left-fill"></div>
  </CButton>
  <CButton slot="left-ellipsis" let:set flat theme="warning" on:click={set}>
    <div class="i-ion-ellipsis-horizontal-circle"></div>
  </CButton>
  <button slot="page-button" let:p let:active on:click={() => (current = p)}>
    <span class:c-text-primary={active} class:c-font-xl={active}>
      {p}
    </span>
  </button>
  <CButton slot="right-ellipsis" let:set flat theme="warning" on:click={set}>
    <div class="i-octicon-ellipsis-16"></div>
  </CButton>
  <CButton
    slot="to-next"
    let:set
    let:disabled
    on:click={set}
    {disabled}
    flat
    theme="secondary"
    >
    <div class="i-ph-arrow-arc-right-fill"></div>
  </CButton>
   <button slot="to-last" let:set let:disabled on:click={set} {disabled}>
    To last
  </button>
</CPagination>CPagination Props
- pagesdefault:number0The total page count 
- shapedefault:'circle' | 'square' | 'rounded'square
- currentdefault:number1Current page. It is recommended to use bind:current
- maxDisplayPagesdefault:number5The max page count to display. Will display ... when the pages is larger than this 
- sizedefault:anyundefinedThe size of all buttons 
- gutterSizedefault:stringmdThe gutter size between each button 
- themedefault:anyundefinedThe theme of all buttons 
- showBoundaryButtondefault:booleantrueDetermine whether to show the to first/last button or not. 
- showPrevNextButtondefault:booleantrueDetermine whether to show the to prev/next button or not. 
CPagination Events
CPagination Slots
- to-firstCustomize the "to first" button Bindings: - set   functionSet first page 
- disabled   functionDetermine whether the button should be disabled or not 
 
- set   
- to-prevCustomize the "to prev" button Bindings: - set   functionDo set previous page 
- disabled   booleanDetermine whether the button should be disabled or not 
 
- set   
- left-ellipsisCustomize the left ellipsis button Bindings: - set   functionSet left ellipsis page 
 
- set   
- page-buttonCustomize the page button Bindings: - p   numberThe page number 
- active   booleanDetermine whether the button is active or not 
 
- p   
- right-ellipsisCustomize the right ellipsis button Bindings: - set   functionSet right ellipsis page 
 
- set   
- to-nextCustomize the "to next" button Bindings: - set   functionSet next page 
- disabled   booleanDetermine whether the button should be disabled or not 
 
- set   
- to-lastCustomize the "to last" button Bindings: - set   functionSet last page 
- disabled   booleanDetermine whether the button should be disabled or not 
 
- set