coreui-free-react-admin-template
174 строки · 7.7 Кб
1import React from 'react'2import {3CCard,4CCardBody,5CCardHeader,6CCol,7CPagination,8CPaginationItem,9CRow,10} from '@coreui/react'11import { DocsExample } from 'src/components'12
13const Paginations = () => {14return (15<CRow>16<CCol xs={12}>17<CCard className="mb-4">18<CCardHeader>19<strong>React Pagination</strong>20</CCardHeader>21<CCardBody>22<p className="text-body-secondary small">23We use a large block of connected links for our pagination, making links hard to miss24and easily scalable—all while providing large hit areas. Pagination is built with list25HTML elements so screen readers can announce the number of available links. Use a26wrapping <code><nav></code> element to identify it as a navigation section to27screen readers and other assistive technologies.28</p>29<p className="text-body-secondary small">30In addition, as pages likely have more than one such navigation section, it's31advisable to provide a descriptive <code>aria-label</code> for the{' '}32<code><nav></code> to reflect its purpose. For example, if the pagination33component is used to navigate between a set of search results, an appropriate label34could be <code>aria-label="Search results pages"</code>.35</p>36<DocsExample href="components/pagination">37<CPagination aria-label="Page navigation example">38<CPaginationItem>Previous</CPaginationItem>39<CPaginationItem>1</CPaginationItem>40<CPaginationItem>2</CPaginationItem>41<CPaginationItem>3</CPaginationItem>42<CPaginationItem>Next</CPaginationItem>43</CPagination>44</DocsExample>45</CCardBody>46</CCard>47</CCol>48<CCol xs={12}>49<CCard className="mb-4">50<CCardHeader>51<strong>React Pagination</strong> <small>Working with icons</small>52</CCardHeader>53<CCardBody>54<p className="text-body-secondary small">55Looking to use an icon or symbol in place of text for some pagination links? Be sure56to provide proper screen reader support with <code>aria</code> attributes.57</p>58<DocsExample href="components/pagination#working-with-icons">59<CPagination aria-label="Page navigation example">60<CPaginationItem aria-label="Previous">61<span aria-hidden="true">«</span>62</CPaginationItem>63<CPaginationItem>1</CPaginationItem>64<CPaginationItem>2</CPaginationItem>65<CPaginationItem>3</CPaginationItem>66<CPaginationItem aria-label="Next">67<span aria-hidden="true">»</span>68</CPaginationItem>69</CPagination>70</DocsExample>71</CCardBody>72</CCard>73</CCol>74<CCol xs={12}>75<CCard className="mb-4">76<CCardHeader>77<strong>React Pagination</strong> <small>Disabled and active states</small>78</CCardHeader>79<CCardBody>80<p className="text-body-secondary small">81Pagination links are customizable for different circumstances. Use{' '}82<code>disabled</code> for links that appear un-clickable and <code>.active</code> to83indicate the current page.84</p>85<p className="text-body-secondary small">86While the <code>disabled</code> prop uses <code>pointer-events: none</code> to{' '}87<em>try</em> to disable the link functionality of <code><a></code>s, that CSS88property is not yet standardized and doesn'taccount for keyboard navigation. As89such, we always add <code>tabindex="-1"</code> on disabled links and use90custom JavaScript to fully disable their functionality.91</p>92<DocsExample href="components/pagination#disabled-and-active-states">93<CPagination aria-label="Page navigation example">94<CPaginationItem aria-label="Previous" disabled>95<span aria-hidden="true">«</span>96</CPaginationItem>97<CPaginationItem active>1</CPaginationItem>98<CPaginationItem>2</CPaginationItem>99<CPaginationItem>3</CPaginationItem>100<CPaginationItem aria-label="Next">101<span aria-hidden="true">»</span>102</CPaginationItem>103</CPagination>104</DocsExample>105</CCardBody>106</CCard>107</CCol>108<CCol xs={12}>109<CCard className="mb-4">110<CCardHeader>111<strong>React Pagination</strong> <small>Sizing</small>112</CCardHeader>113<CCardBody>114<p className="text-body-secondary small">115Fancy larger or smaller pagination? Add <code>size="lg"</code> or{' '}116<code>size="sm"</code> for additional sizes.117</p>118<DocsExample href="components/pagination#sizing">119<CPagination size="lg" aria-label="Page navigation example">120<CPaginationItem>Previous</CPaginationItem>121<CPaginationItem>1</CPaginationItem>122<CPaginationItem>2</CPaginationItem>123<CPaginationItem>3</CPaginationItem>124<CPaginationItem>Next</CPaginationItem>125</CPagination>126</DocsExample>127<DocsExample href="components/pagination#sizing">128<CPagination size="sm" aria-label="Page navigation example">129<CPaginationItem>Previous</CPaginationItem>130<CPaginationItem>1</CPaginationItem>131<CPaginationItem>2</CPaginationItem>132<CPaginationItem>3</CPaginationItem>133<CPaginationItem>Next</CPaginationItem>134</CPagination>135</DocsExample>136</CCardBody>137</CCard>138</CCol>139<CCol xs={12}>140<CCard className="mb-4">141<CCardHeader>142<strong>React Pagination</strong> <small>Alignment</small>143</CCardHeader>144<CCardBody>145<p className="text-body-secondary small">146Change the alignment of pagination components with{' '}147<a href="https://coreui.io/docs/utilities/flex/">flexbox utilities</a>.148</p>149<DocsExample href="components/pagination#aligment">150<CPagination className="justify-content-center" aria-label="Page navigation example">151<CPaginationItem disabled>Previous</CPaginationItem>152<CPaginationItem>1</CPaginationItem>153<CPaginationItem>2</CPaginationItem>154<CPaginationItem>3</CPaginationItem>155<CPaginationItem>Next</CPaginationItem>156</CPagination>157</DocsExample>158<DocsExample href="components/pagination#aligment">159<CPagination className="justify-content-end" aria-label="Page navigation example">160<CPaginationItem disabled>Previous</CPaginationItem>161<CPaginationItem>1</CPaginationItem>162<CPaginationItem>2</CPaginationItem>163<CPaginationItem>3</CPaginationItem>164<CPaginationItem>Next</CPaginationItem>165</CPagination>166</DocsExample>167</CCardBody>168</CCard>169</CCol>170</CRow>171)172}
173
174export default Paginations175