ekm-ui 0.4.69 → 0.4.71
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +113 -113
- package/CHANGELOG.md +12 -0
- package/dist/card-payment-block.css +1 -1
- package/dist/card-payment-block.css.map +1 -1
- package/dist/card-payment-block.js +1 -1
- package/dist/chunk-WL2NTX3A.js +9 -0
- package/dist/chunk-WL2NTX3A.js.map +1 -0
- package/dist/country-picker/country-modal.css +1 -1
- package/dist/country-picker/country-modal.css.map +1 -1
- package/dist/country-picker/country-modal.js +1 -1
- package/dist/drag-and-drop.css +1 -1
- package/dist/drag-and-drop.css.map +1 -1
- package/dist/drag-and-drop.js +1 -1
- package/dist/file-picker/file-picker.css +1 -1
- package/dist/file-picker/file-picker.css.map +1 -1
- package/dist/file-picker/file-picker.js +1 -1
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.js +1 -1
- package/dist/layout/layout.css +1 -1
- package/dist/layout/layout.css.map +1 -1
- package/dist/layout/layout.js +1 -1
- package/dist/pagination/pagination.js +1 -1
- package/dist/product-picker/product-modal.css +1 -1
- package/dist/product-picker/product-modal.css.map +1 -1
- package/dist/product-picker/product-modal.js +1 -1
- package/dist/stacked-list-item.css +1 -1
- package/dist/stacked-list-item.css.map +1 -1
- package/dist/stacked-list-item.js +1 -1
- package/dist/table-result-block.css +1 -1
- package/dist/table-result-block.css.map +1 -1
- package/dist/table-result-block.js +1 -1
- package/package.json +1 -1
- package/src/pagination/pagination.tsx +120 -119
- package/dist/chunk-EK5I26TX.js +0 -9
- package/dist/chunk-EK5I26TX.js.map +0 -1
|
@@ -3,7 +3,7 @@ import './chunk-NF5KDPMG.js';
|
|
|
3
3
|
import './chunk-YZ2YZSNQ.js';
|
|
4
4
|
import './chunk-GVNUAH45.js';
|
|
5
5
|
import './chunk-JAR3LP2K.js';
|
|
6
|
-
import './chunk-
|
|
6
|
+
import './chunk-WL2NTX3A.js';
|
|
7
7
|
import './chunk-22RUXGYW.js';
|
|
8
8
|
import './chunk-LQKVFBLU.js';
|
|
9
9
|
import './chunk-HVNLAQA6.js';
|
package/package.json
CHANGED
|
@@ -101,143 +101,144 @@ export function Pagination({
|
|
|
101
101
|
</svg>
|
|
102
102
|
</button>
|
|
103
103
|
</div>
|
|
104
|
-
<div
|
|
105
|
-
<
|
|
106
|
-
htmlFor="rows"
|
|
107
|
-
className="text-sm font-normal text-gray-500 dark:text-gray-400 mb-0"
|
|
108
|
-
>
|
|
109
|
-
Rows per page
|
|
110
|
-
</label>
|
|
111
|
-
<select
|
|
112
|
-
id="rows"
|
|
113
|
-
className="block rounded-lg border border-gray-300 bg-gray-50 py-1.5 pl-3.5 pr-6 text-sm text-gray-900 focus:border-primary-500 focus:ring-primary-500 dark:border-gray-600 dark:bg-gray-700 dark:text-white dark:placeholder-gray-400 dark:focus:border-primary-500 dark:focus:ring-primary-500"
|
|
114
|
-
onChange={(e) => onChange(1, Number(e.target.value))}
|
|
115
|
-
value={pageSize}
|
|
116
|
-
>
|
|
117
|
-
<option value={10}>10</option>
|
|
118
|
-
<option value={25}>25</option>
|
|
119
|
-
<option value={50}>50</option>
|
|
120
|
-
<option value={100}>100</option>
|
|
121
|
-
</select>
|
|
122
|
-
<span className="text-sm font-normal text-gray-500 dark:text-gray-400">
|
|
104
|
+
<div className="hidden items-center w-full justify-between md:flex">
|
|
105
|
+
<div id="showingSection" className="text-sm font-normal text-gray-500 dark:text-gray-400">
|
|
123
106
|
{!loading && (
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
</span>{" "}
|
|
128
|
-
of{" "}
|
|
129
|
-
<span className="font-semibold text-gray-900 dark:text-white">
|
|
107
|
+
<span className="text-gray-500 dark:text-white">
|
|
108
|
+
Showing <span className="text-gray-900 font-semibold">{`${total === 0 ? 0 : from} - ${to}`}</span>{" "}of{" "}
|
|
109
|
+
<span className="text-gray-900 font-semibold">
|
|
130
110
|
{total}
|
|
131
111
|
</span>
|
|
132
|
-
|
|
112
|
+
</span>
|
|
133
113
|
)}
|
|
134
|
-
</
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
onClick={() => onChange(current - 1, pageSize)}
|
|
146
|
-
>
|
|
147
|
-
<span className="sr-only">Previous</span>
|
|
148
|
-
<svg
|
|
149
|
-
className="h-5 w-5"
|
|
150
|
-
aria-hidden="true"
|
|
151
|
-
fill="currentColor"
|
|
152
|
-
viewBox="0 0 20 20"
|
|
153
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
114
|
+
</div>
|
|
115
|
+
<ul className="hidden items-stretch -space-x-px md:inline-flex">
|
|
116
|
+
<li>
|
|
117
|
+
<button
|
|
118
|
+
id="btnPrevious"
|
|
119
|
+
disabled={current === 1}
|
|
120
|
+
className={clsx(
|
|
121
|
+
current === 1 && "cursor-not-allowed",
|
|
122
|
+
"ml-0 flex h-full items-center justify-center rounded-l-lg border border-gray-300 bg-white px-[8px] lg:px-3 py-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"
|
|
123
|
+
)}
|
|
124
|
+
onClick={() => onChange(current - 1, pageSize)}
|
|
154
125
|
>
|
|
155
|
-
<
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
126
|
+
<span className="sr-only">Previous</span>
|
|
127
|
+
<svg
|
|
128
|
+
className="h-5 w-5"
|
|
129
|
+
aria-hidden="true"
|
|
130
|
+
fill="currentColor"
|
|
131
|
+
viewBox="0 0 20 20"
|
|
132
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
133
|
+
>
|
|
134
|
+
<path
|
|
135
|
+
fillRule="evenodd"
|
|
136
|
+
d="M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z"
|
|
137
|
+
clipRule="evenodd"
|
|
138
|
+
></path>
|
|
139
|
+
</svg>
|
|
140
|
+
</button>
|
|
141
|
+
</li>
|
|
142
|
+
{showJumpPrev && (
|
|
143
|
+
<>
|
|
144
|
+
<li>
|
|
145
|
+
<button
|
|
146
|
+
id="btnPage1"
|
|
147
|
+
className={clsx(
|
|
148
|
+
current === 1 && "cursor-not-allowed",
|
|
149
|
+
"flex items-center justify-center border border-gray-300 bg-white px-[8px] lg:px-3 py-2 text-sm leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"
|
|
150
|
+
)}
|
|
151
|
+
onClick={() => onChange(1, pageSize)}
|
|
152
|
+
>
|
|
153
|
+
1
|
|
154
|
+
</button>
|
|
155
|
+
</li>
|
|
156
|
+
<li className="flex cursor-default items-center justify-center border border-gray-300 bg-white px-[8px] lg:px-3 py-2 text-sm leading-tight text-gray-500 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400">
|
|
157
|
+
...
|
|
158
|
+
</li>
|
|
159
|
+
</>
|
|
160
|
+
)}
|
|
161
|
+
{pages.map((page) => (
|
|
162
|
+
<li key={page}>
|
|
166
163
|
<button
|
|
167
|
-
id=
|
|
164
|
+
id={`btnPage${page}`}
|
|
165
|
+
onClick={() => onChange(page, pageSize)}
|
|
168
166
|
className={clsx(
|
|
169
|
-
|
|
170
|
-
|
|
167
|
+
"hidden items-center justify-center border px-[8px] lg:px-3 py-2 text-sm leading-tight",
|
|
168
|
+
page === current
|
|
169
|
+
? "md:flex z-10 border-primary-300 bg-primary-50 text-primary-600 hover:bg-primary-100 hover:text-primary-700 dark:border-gray-700 dark:bg-gray-700 dark:text-white st-pageCurrent"
|
|
170
|
+
: "lg:flex border-gray-300 bg-white text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"
|
|
171
171
|
)}
|
|
172
|
-
onClick={() => onChange(1, pageSize)}
|
|
173
172
|
>
|
|
174
|
-
|
|
173
|
+
{page}
|
|
175
174
|
</button>
|
|
176
175
|
</li>
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
176
|
+
))}
|
|
177
|
+
{showJumpNext && (
|
|
178
|
+
<>
|
|
179
|
+
<li className="flex cursor-default items-center justify-center border border-gray-300 bg-white px-[8px] lg:px-3 py-2 text-sm leading-tight text-gray-500 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400">
|
|
180
|
+
...
|
|
181
|
+
</li>
|
|
182
|
+
<li>
|
|
183
|
+
<button
|
|
184
|
+
id="btnLast"
|
|
185
|
+
className="flex items-center justify-center border border-gray-300 bg-white px-[8px] lg:px-3 py-2 text-sm leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"
|
|
186
|
+
onClick={() => onChange(totalPages, pageSize)}
|
|
187
|
+
>
|
|
188
|
+
{totalPages}
|
|
189
|
+
</button>
|
|
190
|
+
</li>
|
|
191
|
+
</>
|
|
192
|
+
)}
|
|
193
|
+
<li>
|
|
184
194
|
<button
|
|
185
|
-
id=
|
|
186
|
-
|
|
195
|
+
id="btnNext"
|
|
196
|
+
disabled={current === totalPages}
|
|
197
|
+
onClick={() => onChange(current + 1, pageSize)}
|
|
187
198
|
className={clsx(
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
? "z-10 border-primary-300 bg-primary-50 text-primary-600 hover:bg-primary-100 hover:text-primary-700 dark:border-gray-700 dark:bg-gray-700 dark:text-white st-pageCurrent"
|
|
191
|
-
: "border-gray-300 bg-white text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"
|
|
199
|
+
current === totalPages && "cursor-not-allowed",
|
|
200
|
+
"flex h-full items-center justify-center rounded-r-lg border border-gray-300 bg-white px-[8px] lg:px-3 py-1.5 leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"
|
|
192
201
|
)}
|
|
193
202
|
>
|
|
194
|
-
|
|
203
|
+
<span className="sr-only">Next</span>
|
|
204
|
+
<svg
|
|
205
|
+
className="h-5 w-5"
|
|
206
|
+
aria-hidden="true"
|
|
207
|
+
fill="currentColor"
|
|
208
|
+
viewBox="0 0 20 20"
|
|
209
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
210
|
+
>
|
|
211
|
+
<path
|
|
212
|
+
fillRule="evenodd"
|
|
213
|
+
d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
|
|
214
|
+
clipRule="evenodd"
|
|
215
|
+
></path>
|
|
216
|
+
</svg>
|
|
195
217
|
</button>
|
|
196
218
|
</li>
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
</li>
|
|
203
|
-
<li>
|
|
204
|
-
<button
|
|
205
|
-
id="btnLast"
|
|
206
|
-
className="flex items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"
|
|
207
|
-
onClick={() => onChange(totalPages, pageSize)}
|
|
208
|
-
>
|
|
209
|
-
{totalPages}
|
|
210
|
-
</button>
|
|
211
|
-
</li>
|
|
212
|
-
</>
|
|
213
|
-
)}
|
|
214
|
-
<li>
|
|
215
|
-
<button
|
|
216
|
-
id="btnNext"
|
|
217
|
-
disabled={current === totalPages}
|
|
218
|
-
onClick={() => onChange(current + 1, pageSize)}
|
|
219
|
-
className={clsx(
|
|
220
|
-
current === totalPages && "cursor-not-allowed",
|
|
221
|
-
"flex h-full items-center justify-center rounded-r-lg border border-gray-300 bg-white px-3 py-1.5 leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"
|
|
222
|
-
)}
|
|
219
|
+
</ul>
|
|
220
|
+
<div id="rowsPerPageSection" className="flex items-center space-x-3">
|
|
221
|
+
<label
|
|
222
|
+
htmlFor="rows"
|
|
223
|
+
className="text-sm font-normal text-gray-500 dark:text-gray-400 mb-0"
|
|
223
224
|
>
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
</
|
|
225
|
+
Show
|
|
226
|
+
</label>
|
|
227
|
+
<select
|
|
228
|
+
id="rows"
|
|
229
|
+
className="block rounded-lg border border-gray-300 bg-gray-50 py-1.5 pl-3.5 pr-6 text-sm text-gray-900 focus:border-primary-500 focus:ring-primary-500 dark:border-gray-600 dark:bg-gray-700 dark:text-white dark:placeholder-gray-400 dark:focus:border-primary-500 dark:focus:ring-primary-500"
|
|
230
|
+
onChange={(e) => onChange(1, Number(e.target.value))}
|
|
231
|
+
value={pageSize}
|
|
232
|
+
>
|
|
233
|
+
<option value={10}>10</option>
|
|
234
|
+
<option value={25}>25</option>
|
|
235
|
+
<option value={50}>50</option>
|
|
236
|
+
<option value={100}>100</option>
|
|
237
|
+
</select>
|
|
238
|
+
|
|
239
|
+
</div>
|
|
240
|
+
|
|
241
|
+
</div>
|
|
241
242
|
</nav>
|
|
242
243
|
</div>
|
|
243
244
|
</div>
|
package/dist/chunk-EK5I26TX.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import s from 'clsx';
|
|
2
|
-
import { useMemo } from 'react';
|
|
3
|
-
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
4
|
-
|
|
5
|
-
function b(t,d=0){return [...Array(t).keys()].map(r=>r+d)}function k({pageSize:t,total:d,current:r,onChange:l,loading:h}){let y=Math.min((r-1)*t+1,d),p=Math.min(y+t-1,d),a=Math.ceil(d/t),v=useMemo(()=>a>5&&r>=4,[a,r]),x=useMemo(()=>a>5&&r<a-3,[a,r]),n=[];return a<=5?n=b(a,1):x?n=b(5,Math.max(r-2,1)):n=b(5,a-4),jsx("div",{id:"paginationControl",className:"w-full",children:jsx("div",{className:"relative overflow-hidden rounded-b-lg bg-white dark:bg-gray-800",children:jsxs("nav",{className:" flex flex-wrap items-start justify-between gap-x-4 gap-y-2 md:items-center","aria-label":"Table navigation",children:[jsxs("div",{className:"flex w-full justify-between md:hidden",children:[jsxs("button",{id:"btnPreviousM",disabled:r===1,className:s(r===1&&"cursor-not-allowed","ml-0 flex h-full items-center justify-center rounded-lg border border-gray-300 bg-white px-3 py-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"),onClick:()=>l(r-1,t),children:[jsx("svg",{className:"h-5 w-5","aria-hidden":"true",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg",children:jsx("path",{fillRule:"evenodd",d:"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z",clipRule:"evenodd"})}),jsx("span",{className:"leading-none",children:"Previous"})]}),jsxs("button",{id:"btnNextM",disabled:r===a,className:s(r===a&&"cursor-not-allowed","flex h-full items-center justify-center rounded-lg border border-gray-300 bg-white px-3 py-1.5 leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"),onClick:()=>l(r+1,t),children:[jsx("span",{children:"Next"}),jsx("svg",{className:"h-5 w-5","aria-hidden":"true",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg",children:jsx("path",{fillRule:"evenodd",d:"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z",clipRule:"evenodd"})})]})]}),jsxs("div",{id:"rowsPerPageSection",className:"hidden items-center space-x-3 md:flex",children:[jsx("label",{htmlFor:"rows",className:"text-sm font-normal text-gray-500 dark:text-gray-400 mb-0",children:"Rows per page"}),jsxs("select",{id:"rows",className:"block rounded-lg border border-gray-300 bg-gray-50 py-1.5 pl-3.5 pr-6 text-sm text-gray-900 focus:border-primary-500 focus:ring-primary-500 dark:border-gray-600 dark:bg-gray-700 dark:text-white dark:placeholder-gray-400 dark:focus:border-primary-500 dark:focus:ring-primary-500",onChange:i=>l(1,Number(i.target.value)),value:t,children:[jsx("option",{value:10,children:"10"}),jsx("option",{value:25,children:"25"}),jsx("option",{value:50,children:"50"}),jsx("option",{value:100,children:"100"})]}),jsx("span",{className:"text-sm font-normal text-gray-500 dark:text-gray-400",children:!h&&jsxs(Fragment,{children:[jsxs("span",{className:"font-semibold text-gray-900 dark:text-white",children:["Showing ",jsx(Fragment,{children:d===0?0:y})," to ",jsx(Fragment,{children:p})]})," ","of"," ",jsx("span",{className:"font-semibold text-gray-900 dark:text-white",children:d})]})})]}),jsxs("ul",{className:"hidden items-stretch -space-x-px md:inline-flex",children:[jsx("li",{children:jsxs("button",{id:"btnPrevious",disabled:r===1,className:s(r===1&&"cursor-not-allowed","ml-0 flex h-full items-center justify-center rounded-l-lg border border-gray-300 bg-white px-3 py-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"),onClick:()=>l(r-1,t),children:[jsx("span",{className:"sr-only",children:"Previous"}),jsx("svg",{className:"h-5 w-5","aria-hidden":"true",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg",children:jsx("path",{fillRule:"evenodd",d:"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z",clipRule:"evenodd"})})]})}),v&&jsxs(Fragment,{children:[jsx("li",{children:jsx("button",{id:"btnPage1",className:s(r===1&&"cursor-not-allowed","flex items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"),onClick:()=>l(1,t),children:"1"})}),jsx("li",{className:"flex cursor-default items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400",children:"..."})]}),n.map(i=>jsx("li",{children:jsx("button",{id:`btnPage${i}`,onClick:()=>l(i,t),className:s("flex items-center justify-center border px-3 py-2 text-sm leading-tight",i===r?"z-10 border-primary-300 bg-primary-50 text-primary-600 hover:bg-primary-100 hover:text-primary-700 dark:border-gray-700 dark:bg-gray-700 dark:text-white st-pageCurrent":"border-gray-300 bg-white text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"),children:i})},i)),x&&jsxs(Fragment,{children:[jsx("li",{className:"flex cursor-default items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400",children:"..."}),jsx("li",{children:jsx("button",{id:"btnLast",className:"flex items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white",onClick:()=>l(a,t),children:a})})]}),jsx("li",{children:jsxs("button",{id:"btnNext",disabled:r===a,onClick:()=>l(r+1,t),className:s(r===a&&"cursor-not-allowed","flex h-full items-center justify-center rounded-r-lg border border-gray-300 bg-white px-3 py-1.5 leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"),children:[jsx("span",{className:"sr-only",children:"Next"}),jsx("svg",{className:"h-5 w-5","aria-hidden":"true",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg",children:jsx("path",{fillRule:"evenodd",d:"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z",clipRule:"evenodd"})})]})})]})]})})})}
|
|
6
|
-
|
|
7
|
-
export { k as a };
|
|
8
|
-
//# sourceMappingURL=out.js.map
|
|
9
|
-
//# sourceMappingURL=chunk-EK5I26TX.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/pagination/pagination.tsx"],"names":["clsx","useMemo","Fragment","jsx","jsxs","range","size","startAt","i","Pagination","pageSize","total","current","onChange","loading","from","to","totalPages","showJumpPrev","showJumpNext","pages","e","page"],"mappings":"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","sourcesContent":["import clsx from \"clsx\";\nimport { useMemo } from \"react\";\n\nexport type PaginationProps = {\n pageSize: number;\n total: number;\n current: number;\n onChange: (page: number, pageSize: number) => void;\n loading?: boolean;\n};\n\nfunction range(size: number, startAt = 0): number[] {\n return [...Array(size).keys()].map((i) => i + startAt);\n}\n\nexport function Pagination({\n pageSize,\n total,\n current,\n onChange,\n loading,\n}: PaginationProps) {\n // Calculate the values that are displayed\n const from = Math.min((current - 1) * pageSize + 1, total);\n const to = Math.min(from + pageSize - 1, total);\n const totalPages = Math.ceil(total / pageSize);\n\n const showJumpPrev = useMemo(() => {\n return totalPages > 5 && current >= 4;\n }, [totalPages, current]);\n\n const showJumpNext = useMemo(() => {\n return totalPages > 5 && current < totalPages - 3;\n }, [totalPages, current]);\n\n let pages: number[] = [];\n\n if (totalPages <= 5) {\n pages = range(totalPages, 1);\n } else if (showJumpNext) {\n pages = range(5, Math.max(current - 2, 1));\n } else {\n pages = range(5, totalPages - 4);\n }\n\n return (\n <div id=\"paginationControl\" className=\"w-full\">\n <div className=\"relative overflow-hidden rounded-b-lg bg-white dark:bg-gray-800\">\n <nav\n className=\" flex flex-wrap items-start justify-between gap-x-4 gap-y-2 md:items-center\"\n aria-label=\"Table navigation\"\n >\n <div className=\"flex w-full justify-between md:hidden\">\n <button\n id=\"btnPreviousM\"\n disabled={current === 1}\n className={clsx(\n current === 1 && \"cursor-not-allowed\",\n \"ml-0 flex h-full items-center justify-center rounded-lg border border-gray-300 bg-white px-3 py-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white\"\n )}\n onClick={() => onChange(current - 1, pageSize)}\n >\n <svg\n className=\"h-5 w-5\"\n aria-hidden=\"true\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n ></path>\n </svg>\n <span className=\"leading-none\">Previous</span>\n </button>\n\n <button\n id=\"btnNextM\"\n disabled={current === totalPages}\n className={clsx(\n current === totalPages && \"cursor-not-allowed\",\n \"flex h-full items-center justify-center rounded-lg border border-gray-300 bg-white px-3 py-1.5 leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white\"\n )}\n onClick={() => onChange(current + 1, pageSize)}\n >\n <span>Next</span>\n <svg\n className=\"h-5 w-5\"\n aria-hidden=\"true\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z\"\n clipRule=\"evenodd\"\n ></path>\n </svg>\n </button>\n </div>\n <div id=\"rowsPerPageSection\" className=\"hidden items-center space-x-3 md:flex\">\n <label\n htmlFor=\"rows\"\n className=\"text-sm font-normal text-gray-500 dark:text-gray-400 mb-0\"\n >\n Rows per page\n </label>\n <select\n id=\"rows\"\n className=\"block rounded-lg border border-gray-300 bg-gray-50 py-1.5 pl-3.5 pr-6 text-sm text-gray-900 focus:border-primary-500 focus:ring-primary-500 dark:border-gray-600 dark:bg-gray-700 dark:text-white dark:placeholder-gray-400 dark:focus:border-primary-500 dark:focus:ring-primary-500\"\n onChange={(e) => onChange(1, Number(e.target.value))}\n value={pageSize}\n >\n <option value={10}>10</option>\n <option value={25}>25</option>\n <option value={50}>50</option>\n <option value={100}>100</option>\n </select>\n <span className=\"text-sm font-normal text-gray-500 dark:text-gray-400\">\n {!loading && (\n <>\n <span className=\"font-semibold text-gray-900 dark:text-white\">\n Showing <>{total === 0 ? 0 : from}</> to <>{to}</>\n </span>{\" \"}\n of{\" \"}\n <span className=\"font-semibold text-gray-900 dark:text-white\">\n {total}\n </span>\n </>\n )}\n </span>\n </div>\n <ul className=\"hidden items-stretch -space-x-px md:inline-flex\">\n <li>\n <button\n id=\"btnPrevious\"\n disabled={current === 1}\n className={clsx(\n current === 1 && \"cursor-not-allowed\",\n \"ml-0 flex h-full items-center justify-center rounded-l-lg border border-gray-300 bg-white px-3 py-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white\"\n )}\n onClick={() => onChange(current - 1, pageSize)}\n >\n <span className=\"sr-only\">Previous</span>\n <svg\n className=\"h-5 w-5\"\n aria-hidden=\"true\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n ></path>\n </svg>\n </button>\n </li>\n {showJumpPrev && (\n <>\n <li>\n <button\n id=\"btnPage1\"\n className={clsx(\n current === 1 && \"cursor-not-allowed\",\n \"flex items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white\"\n )}\n onClick={() => onChange(1, pageSize)}\n >\n 1\n </button>\n </li>\n <li className=\"flex cursor-default items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400\">\n ...\n </li>\n </>\n )}\n {pages.map((page) => (\n <li key={page}>\n <button\n id={`btnPage${page}`}\n onClick={() => onChange(page, pageSize)}\n className={clsx(\n \"flex items-center justify-center border px-3 py-2 text-sm leading-tight\",\n page === current\n ? \"z-10 border-primary-300 bg-primary-50 text-primary-600 hover:bg-primary-100 hover:text-primary-700 dark:border-gray-700 dark:bg-gray-700 dark:text-white st-pageCurrent\"\n : \"border-gray-300 bg-white text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white\"\n )}\n >\n {page}\n </button>\n </li>\n ))}\n {showJumpNext && (\n <>\n <li className=\"flex cursor-default items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400\">\n ...\n </li>\n <li>\n <button\n id=\"btnLast\"\n className=\"flex items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white\"\n onClick={() => onChange(totalPages, pageSize)}\n >\n {totalPages}\n </button>\n </li>\n </>\n )}\n <li>\n <button\n id=\"btnNext\"\n disabled={current === totalPages}\n onClick={() => onChange(current + 1, pageSize)}\n className={clsx(\n current === totalPages && \"cursor-not-allowed\",\n \"flex h-full items-center justify-center rounded-r-lg border border-gray-300 bg-white px-3 py-1.5 leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white\"\n )}\n >\n <span className=\"sr-only\">Next</span>\n <svg\n className=\"h-5 w-5\"\n aria-hidden=\"true\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z\"\n clipRule=\"evenodd\"\n ></path>\n </svg>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n </div>\n );\n}\n"]}
|