@shoplflow/base 0.26.5 → 0.26.6

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/dist/index.d.cts CHANGED
@@ -1076,4 +1076,50 @@ declare const Tooltip: {
1076
1076
  Content: ({ content, ...args }: TooltipContentProps) => react_jsx_runtime.JSX.Element;
1077
1077
  };
1078
1078
 
1079
- export { Avatar, AvatarOptionProps, AvatarProps, AvatarSizeVariantType, AvatarSizeVariants, BackDropOptionProps, BackDropProps, BorderRadiusTokens, BoxShadowTokens, Button, ButtonComponent, ButtonOptionProps, ButtonProps, ButtonSizeVariantType, ButtonSizeVariants, ButtonStyleVariantType, ButtonStyleVariants, CHECKBOX_SYMBOL_KEY, Callout, CalloutOptionProps, CalloutProps, CalloutType, CalloutTypes, Checkbox, CheckboxOptionProps, CheckboxProps, CheckboxStyleVariantType, CheckboxStyleVariants, ChipButton, ChipButtonOptionProps, ChipButtonProps, ChipButtonSizeVariantType, ChipButtonSizeVariants, ChipButtonStyleVariantType, ChipButtonStyleVariants, ChipToggle, ChipToggleOptionProps, ChipToggleProps, ChipToggleSizeVariantType, ChipToggleSizeVariants, ChipToggleStyleVariantType, ChipToggleStyleVariants, ColorTokens, DangerouslySetInnerHTML, Dropdown, DropdownButtonProps, DropdownContentProps, DropdownOptionProps, DropdownOptionVariantType, DropdownProps, DropdownSizeVariantType, FontWeightTokens, Icon, IconButton, IconButtonComponent, IconButtonOptionProps, IconButtonProps, IconButtonSizeVariantType, IconButtonSizeVariants, IconButtonStyleVariantType, IconButtonStyleVariants, IconOptionProps, IconProps, IconSizeVariants, IconSizeVariantsType, Input, InputButton, InputButtonOptionProps, InputButtonProps, InputOptionProps, InputProps, List, ListContent2ColumnsProps, ListOptionProps, ListProps, ListText2RowsProps, MODAL_FOOTER_KEY, MODAL_HEADER_KEY, Menu, MenuOptionProps, MenuProps, MenuSizeVariantType, MenuSizeVariants, MinusBoxOptionProps, MinusBoxProps, MinusButton, Modal, ModalBodyOptionProps, ModalBodyProps, ModalContainerOptionProps, ModalContainerProps, ModalContext, ModalFooterOptionProps, ModalFooterProps, ModalFooterType, ModalHandlerContext, ModalHeaderOptionProps, ModalHeaderProps, ModalHeaderType, ModalPortal as ModalProvider, ModalSize, ModalSizeType, ModalStateType, MotionStack, MotionStackComponentType, MotionStackContainer, MotionStackContainerComponentType, Popper, PopperOptionProps, PopperPortal, PopperPortalProps, PopperProps, PopperTrigger, PopperTriggerProps, RADIO_SYMBOL_KEY, Radio, RadioOptionProps, RadioProps, RemoveModalProps, ScrollArea, ScrollAreaOptionProps, ScrollAreaProps, ScrollbarRefType, SelectInputButton, SelectInputButtonOptionProps, SelectInputButtonProps, ShoplflowProvider, ShoplflowProviderProps, SpacingTokens, Stack, StackComponentType, StackContainer, StackContainerComponentType, StackContainerGenericProps, StackContainerOptionProps, StackContainerProps, StackGenericProps, StackOptionProps, StackProps, StyledIcon, StyledStack, StyledStackContainer, Switch, SwitchOptionProps, SwitchProps, Tag, TagOptionProps, TagProps, TagSizeVariantType, TagSizeVariants, TagStyleVariantType, TagStyleVariants, Text, Text2Rows, TextArea, TextAreaOptionProps, TextAreaProps, TextOptionProps, TextProps, Tooltip, TooltipContentProps, TooltipOptionProps, TooltipProps, TypographyTokens, borderRadiusTokens, boxShadowTokens, colorTokens, fontWeightTokens, getDomain, spacingTokens, typographyTokens, useDomain, useHandleModal, useModalValue };
1079
+ interface PaginationProps extends PaginationOptionProps, HTMLAttributes<HTMLDivElement> {
1080
+ }
1081
+ interface PaginationOptionProps extends LeftAndRightNodeProps {
1082
+ /**
1083
+ * 선택된 페이지
1084
+ * @description: index입니다.
1085
+ * @example: 1 page > 0 index
1086
+ */
1087
+ currentPage: number;
1088
+ /**
1089
+ * 페이지에 보여질 아이템(List) 갯수
1090
+ * @default: 20
1091
+ */
1092
+ pageSize: string;
1093
+ /**
1094
+ * 테이블 아이템 총 갯수
1095
+ */
1096
+ itemsTotalCount: number;
1097
+ /**
1098
+ * 라인에 보여지는 최대 페이지 갯수
1099
+ * @default: 5
1100
+ * @example: [1] [2] [3] [4] [5]
1101
+ */
1102
+ pageCount?: number;
1103
+ previousPage: () => void;
1104
+ nextPage: () => void;
1105
+ gotoPage: (updater: ((pageIndex: number) => number) | number) => void;
1106
+ }
1107
+ interface PaginationSizeSelectorProps {
1108
+ data: Array<{
1109
+ label: string;
1110
+ value: string;
1111
+ }>;
1112
+ /**
1113
+ * 페이지에 보여질 아이템(List) 갯수
1114
+ * @default: 20
1115
+ */
1116
+ pageSize?: string;
1117
+ setPageSize: (value: string) => void;
1118
+ }
1119
+
1120
+ declare const Pagination: {
1121
+ ({ currentPage, pageCount, itemsTotalCount, pageSize, previousPage, nextPage, gotoPage, leftSource, rightSource, ...rest }: PaginationProps): react_jsx_runtime.JSX.Element;
1122
+ SizeSelector: ({ data, pageSize, setPageSize }: PaginationSizeSelectorProps) => react_jsx_runtime.JSX.Element;
1123
+ };
1124
+
1125
+ export { Avatar, AvatarOptionProps, AvatarProps, AvatarSizeVariantType, AvatarSizeVariants, BackDropOptionProps, BackDropProps, BorderRadiusTokens, BoxShadowTokens, Button, ButtonComponent, ButtonOptionProps, ButtonProps, ButtonSizeVariantType, ButtonSizeVariants, ButtonStyleVariantType, ButtonStyleVariants, CHECKBOX_SYMBOL_KEY, Callout, CalloutOptionProps, CalloutProps, CalloutType, CalloutTypes, Checkbox, CheckboxOptionProps, CheckboxProps, CheckboxStyleVariantType, CheckboxStyleVariants, ChipButton, ChipButtonOptionProps, ChipButtonProps, ChipButtonSizeVariantType, ChipButtonSizeVariants, ChipButtonStyleVariantType, ChipButtonStyleVariants, ChipToggle, ChipToggleOptionProps, ChipToggleProps, ChipToggleSizeVariantType, ChipToggleSizeVariants, ChipToggleStyleVariantType, ChipToggleStyleVariants, ColorTokens, DangerouslySetInnerHTML, Dropdown, DropdownButtonProps, DropdownContentProps, DropdownOptionProps, DropdownOptionVariantType, DropdownProps, DropdownSizeVariantType, FontWeightTokens, Icon, IconButton, IconButtonComponent, IconButtonOptionProps, IconButtonProps, IconButtonSizeVariantType, IconButtonSizeVariants, IconButtonStyleVariantType, IconButtonStyleVariants, IconOptionProps, IconProps, IconSizeVariants, IconSizeVariantsType, Input, InputButton, InputButtonOptionProps, InputButtonProps, InputOptionProps, InputProps, List, ListContent2ColumnsProps, ListOptionProps, ListProps, ListText2RowsProps, MODAL_FOOTER_KEY, MODAL_HEADER_KEY, Menu, MenuOptionProps, MenuProps, MenuSizeVariantType, MenuSizeVariants, MinusBoxOptionProps, MinusBoxProps, MinusButton, Modal, ModalBodyOptionProps, ModalBodyProps, ModalContainerOptionProps, ModalContainerProps, ModalContext, ModalFooterOptionProps, ModalFooterProps, ModalFooterType, ModalHandlerContext, ModalHeaderOptionProps, ModalHeaderProps, ModalHeaderType, ModalPortal as ModalProvider, ModalSize, ModalSizeType, ModalStateType, MotionStack, MotionStackComponentType, MotionStackContainer, MotionStackContainerComponentType, Pagination, PaginationOptionProps, PaginationProps, PaginationSizeSelectorProps, Popper, PopperOptionProps, PopperPortal, PopperPortalProps, PopperProps, PopperTrigger, PopperTriggerProps, RADIO_SYMBOL_KEY, Radio, RadioOptionProps, RadioProps, RemoveModalProps, ScrollArea, ScrollAreaOptionProps, ScrollAreaProps, ScrollbarRefType, SelectInputButton, SelectInputButtonOptionProps, SelectInputButtonProps, ShoplflowProvider, ShoplflowProviderProps, SpacingTokens, Stack, StackComponentType, StackContainer, StackContainerComponentType, StackContainerGenericProps, StackContainerOptionProps, StackContainerProps, StackGenericProps, StackOptionProps, StackProps, StyledIcon, StyledStack, StyledStackContainer, Switch, SwitchOptionProps, SwitchProps, Tag, TagOptionProps, TagProps, TagSizeVariantType, TagSizeVariants, TagStyleVariantType, TagStyleVariants, Text, Text2Rows, TextArea, TextAreaOptionProps, TextAreaProps, TextOptionProps, TextProps, Tooltip, TooltipContentProps, TooltipOptionProps, TooltipProps, TypographyTokens, borderRadiusTokens, boxShadowTokens, colorTokens, fontWeightTokens, getDomain, spacingTokens, typographyTokens, useDomain, useHandleModal, useModalValue };
package/dist/index.d.ts CHANGED
@@ -1076,4 +1076,50 @@ declare const Tooltip: {
1076
1076
  Content: ({ content, ...args }: TooltipContentProps) => react_jsx_runtime.JSX.Element;
1077
1077
  };
1078
1078
 
1079
- export { Avatar, AvatarOptionProps, AvatarProps, AvatarSizeVariantType, AvatarSizeVariants, BackDropOptionProps, BackDropProps, BorderRadiusTokens, BoxShadowTokens, Button, ButtonComponent, ButtonOptionProps, ButtonProps, ButtonSizeVariantType, ButtonSizeVariants, ButtonStyleVariantType, ButtonStyleVariants, CHECKBOX_SYMBOL_KEY, Callout, CalloutOptionProps, CalloutProps, CalloutType, CalloutTypes, Checkbox, CheckboxOptionProps, CheckboxProps, CheckboxStyleVariantType, CheckboxStyleVariants, ChipButton, ChipButtonOptionProps, ChipButtonProps, ChipButtonSizeVariantType, ChipButtonSizeVariants, ChipButtonStyleVariantType, ChipButtonStyleVariants, ChipToggle, ChipToggleOptionProps, ChipToggleProps, ChipToggleSizeVariantType, ChipToggleSizeVariants, ChipToggleStyleVariantType, ChipToggleStyleVariants, ColorTokens, DangerouslySetInnerHTML, Dropdown, DropdownButtonProps, DropdownContentProps, DropdownOptionProps, DropdownOptionVariantType, DropdownProps, DropdownSizeVariantType, FontWeightTokens, Icon, IconButton, IconButtonComponent, IconButtonOptionProps, IconButtonProps, IconButtonSizeVariantType, IconButtonSizeVariants, IconButtonStyleVariantType, IconButtonStyleVariants, IconOptionProps, IconProps, IconSizeVariants, IconSizeVariantsType, Input, InputButton, InputButtonOptionProps, InputButtonProps, InputOptionProps, InputProps, List, ListContent2ColumnsProps, ListOptionProps, ListProps, ListText2RowsProps, MODAL_FOOTER_KEY, MODAL_HEADER_KEY, Menu, MenuOptionProps, MenuProps, MenuSizeVariantType, MenuSizeVariants, MinusBoxOptionProps, MinusBoxProps, MinusButton, Modal, ModalBodyOptionProps, ModalBodyProps, ModalContainerOptionProps, ModalContainerProps, ModalContext, ModalFooterOptionProps, ModalFooterProps, ModalFooterType, ModalHandlerContext, ModalHeaderOptionProps, ModalHeaderProps, ModalHeaderType, ModalPortal as ModalProvider, ModalSize, ModalSizeType, ModalStateType, MotionStack, MotionStackComponentType, MotionStackContainer, MotionStackContainerComponentType, Popper, PopperOptionProps, PopperPortal, PopperPortalProps, PopperProps, PopperTrigger, PopperTriggerProps, RADIO_SYMBOL_KEY, Radio, RadioOptionProps, RadioProps, RemoveModalProps, ScrollArea, ScrollAreaOptionProps, ScrollAreaProps, ScrollbarRefType, SelectInputButton, SelectInputButtonOptionProps, SelectInputButtonProps, ShoplflowProvider, ShoplflowProviderProps, SpacingTokens, Stack, StackComponentType, StackContainer, StackContainerComponentType, StackContainerGenericProps, StackContainerOptionProps, StackContainerProps, StackGenericProps, StackOptionProps, StackProps, StyledIcon, StyledStack, StyledStackContainer, Switch, SwitchOptionProps, SwitchProps, Tag, TagOptionProps, TagProps, TagSizeVariantType, TagSizeVariants, TagStyleVariantType, TagStyleVariants, Text, Text2Rows, TextArea, TextAreaOptionProps, TextAreaProps, TextOptionProps, TextProps, Tooltip, TooltipContentProps, TooltipOptionProps, TooltipProps, TypographyTokens, borderRadiusTokens, boxShadowTokens, colorTokens, fontWeightTokens, getDomain, spacingTokens, typographyTokens, useDomain, useHandleModal, useModalValue };
1079
+ interface PaginationProps extends PaginationOptionProps, HTMLAttributes<HTMLDivElement> {
1080
+ }
1081
+ interface PaginationOptionProps extends LeftAndRightNodeProps {
1082
+ /**
1083
+ * 선택된 페이지
1084
+ * @description: index입니다.
1085
+ * @example: 1 page > 0 index
1086
+ */
1087
+ currentPage: number;
1088
+ /**
1089
+ * 페이지에 보여질 아이템(List) 갯수
1090
+ * @default: 20
1091
+ */
1092
+ pageSize: string;
1093
+ /**
1094
+ * 테이블 아이템 총 갯수
1095
+ */
1096
+ itemsTotalCount: number;
1097
+ /**
1098
+ * 라인에 보여지는 최대 페이지 갯수
1099
+ * @default: 5
1100
+ * @example: [1] [2] [3] [4] [5]
1101
+ */
1102
+ pageCount?: number;
1103
+ previousPage: () => void;
1104
+ nextPage: () => void;
1105
+ gotoPage: (updater: ((pageIndex: number) => number) | number) => void;
1106
+ }
1107
+ interface PaginationSizeSelectorProps {
1108
+ data: Array<{
1109
+ label: string;
1110
+ value: string;
1111
+ }>;
1112
+ /**
1113
+ * 페이지에 보여질 아이템(List) 갯수
1114
+ * @default: 20
1115
+ */
1116
+ pageSize?: string;
1117
+ setPageSize: (value: string) => void;
1118
+ }
1119
+
1120
+ declare const Pagination: {
1121
+ ({ currentPage, pageCount, itemsTotalCount, pageSize, previousPage, nextPage, gotoPage, leftSource, rightSource, ...rest }: PaginationProps): react_jsx_runtime.JSX.Element;
1122
+ SizeSelector: ({ data, pageSize, setPageSize }: PaginationSizeSelectorProps) => react_jsx_runtime.JSX.Element;
1123
+ };
1124
+
1125
+ export { Avatar, AvatarOptionProps, AvatarProps, AvatarSizeVariantType, AvatarSizeVariants, BackDropOptionProps, BackDropProps, BorderRadiusTokens, BoxShadowTokens, Button, ButtonComponent, ButtonOptionProps, ButtonProps, ButtonSizeVariantType, ButtonSizeVariants, ButtonStyleVariantType, ButtonStyleVariants, CHECKBOX_SYMBOL_KEY, Callout, CalloutOptionProps, CalloutProps, CalloutType, CalloutTypes, Checkbox, CheckboxOptionProps, CheckboxProps, CheckboxStyleVariantType, CheckboxStyleVariants, ChipButton, ChipButtonOptionProps, ChipButtonProps, ChipButtonSizeVariantType, ChipButtonSizeVariants, ChipButtonStyleVariantType, ChipButtonStyleVariants, ChipToggle, ChipToggleOptionProps, ChipToggleProps, ChipToggleSizeVariantType, ChipToggleSizeVariants, ChipToggleStyleVariantType, ChipToggleStyleVariants, ColorTokens, DangerouslySetInnerHTML, Dropdown, DropdownButtonProps, DropdownContentProps, DropdownOptionProps, DropdownOptionVariantType, DropdownProps, DropdownSizeVariantType, FontWeightTokens, Icon, IconButton, IconButtonComponent, IconButtonOptionProps, IconButtonProps, IconButtonSizeVariantType, IconButtonSizeVariants, IconButtonStyleVariantType, IconButtonStyleVariants, IconOptionProps, IconProps, IconSizeVariants, IconSizeVariantsType, Input, InputButton, InputButtonOptionProps, InputButtonProps, InputOptionProps, InputProps, List, ListContent2ColumnsProps, ListOptionProps, ListProps, ListText2RowsProps, MODAL_FOOTER_KEY, MODAL_HEADER_KEY, Menu, MenuOptionProps, MenuProps, MenuSizeVariantType, MenuSizeVariants, MinusBoxOptionProps, MinusBoxProps, MinusButton, Modal, ModalBodyOptionProps, ModalBodyProps, ModalContainerOptionProps, ModalContainerProps, ModalContext, ModalFooterOptionProps, ModalFooterProps, ModalFooterType, ModalHandlerContext, ModalHeaderOptionProps, ModalHeaderProps, ModalHeaderType, ModalPortal as ModalProvider, ModalSize, ModalSizeType, ModalStateType, MotionStack, MotionStackComponentType, MotionStackContainer, MotionStackContainerComponentType, Pagination, PaginationOptionProps, PaginationProps, PaginationSizeSelectorProps, Popper, PopperOptionProps, PopperPortal, PopperPortalProps, PopperProps, PopperTrigger, PopperTriggerProps, RADIO_SYMBOL_KEY, Radio, RadioOptionProps, RadioProps, RemoveModalProps, ScrollArea, ScrollAreaOptionProps, ScrollAreaProps, ScrollbarRefType, SelectInputButton, SelectInputButtonOptionProps, SelectInputButtonProps, ShoplflowProvider, ShoplflowProviderProps, SpacingTokens, Stack, StackComponentType, StackContainer, StackContainerComponentType, StackContainerGenericProps, StackContainerOptionProps, StackContainerProps, StackGenericProps, StackOptionProps, StackProps, StyledIcon, StyledStack, StyledStackContainer, Switch, SwitchOptionProps, SwitchProps, Tag, TagOptionProps, TagProps, TagSizeVariantType, TagSizeVariants, TagStyleVariantType, TagStyleVariants, Text, Text2Rows, TextArea, TextAreaOptionProps, TextAreaProps, TextOptionProps, TextProps, Tooltip, TooltipContentProps, TooltipOptionProps, TooltipProps, TypographyTokens, borderRadiusTokens, boxShadowTokens, colorTokens, fontWeightTokens, getDomain, spacingTokens, typographyTokens, useDomain, useHandleModal, useModalValue };
package/dist/index.js CHANGED
@@ -5,13 +5,13 @@ import { motion, AnimatePresence } from 'framer-motion';
5
5
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
6
6
  import { createPortal } from 'react-dom';
7
7
  import { css } from '@emotion/react';
8
- import { useMergeRefs, noop, OutSideClick, useParentElementClick, isNullOrUndefined } from '@shoplflow/utils';
8
+ import { useMergeRefs, noop, OutSideClick, useSelect, useParentElementClick, isNullOrUndefined } from '@shoplflow/utils';
9
9
  import Scrollbars from 'react-custom-scrollbars-2';
10
10
  import { FloatingPortal, autoUpdate, offset, autoPlacement } from '@floating-ui/react';
11
11
  export { arrow, flip, hide, inline, offset, shift, size } from '@floating-ui/react';
12
12
  import { useFloating } from '@floating-ui/react-dom';
13
13
  import * as ShoplAssets from '@shoplflow/shopl-assets';
14
- import { DownArrowSolidXsmallIcon } from '@shoplflow/shopl-assets';
14
+ import { DownArrowSolidXsmallIcon, FirstPageIcon, LeftArrowIcon, RightArrowIcon, EndPageIcon } from '@shoplflow/shopl-assets';
15
15
  import * as HadaAssets from '@shoplflow/hada-assets';
16
16
  import { flip, shift } from '@floating-ui/core';
17
17
 
@@ -3411,6 +3411,122 @@ var Tooltip = (_a) => {
3411
3411
  };
3412
3412
  Tooltip.Content = TooltipContent;
3413
3413
  var Tooltip_default = Tooltip;
3414
+ var PaginationWrapper = styled6.div`
3415
+ display: flex;
3416
+ align-items: center;
3417
+ width: 100%;
3418
+ justify-content: space-between;
3419
+ `;
3420
+ var StyledPagination = styled6.nav`
3421
+ display: flex;
3422
+ align-items: center;
3423
+ `;
3424
+ var PageItem = styled6.button`
3425
+ display: flex;
3426
+ justify-content: center;
3427
+ align-items: center;
3428
+ width: 32px;
3429
+ height: 32px;
3430
+ border-radius: ${borderRadiusTokens.borderRadius08};
3431
+ background-color: ${({ isActive }) => isActive ? colorTokens.neutral300 : colorTokens.neutral0};
3432
+ font-size: 13px;
3433
+ font-weight: ${({ isActive }) => isActive && "600"};
3434
+ line-height: 2;
3435
+ cursor: pointer;
3436
+
3437
+ &:hover {
3438
+ background-color: ${({ isActive }) => isActive ? colorTokens.neutral300 : colorTokens.neutral100};
3439
+ }
3440
+ `;
3441
+ var Ellipsis = styled6.div`
3442
+ display: flex;
3443
+ justify-content: center;
3444
+ align-items: center;
3445
+ width: 32px;
3446
+ height: 32px;
3447
+ `;
3448
+ var PaginationSizeSelector = ({ data, pageSize, setPageSize }) => {
3449
+ const { selectedItem, handleToggleSelect } = useSelect("SINGLE", data, {
3450
+ key: "value"
3451
+ });
3452
+ const handleClickMenu = (value) => {
3453
+ handleToggleSelect(value);
3454
+ setPageSize(value);
3455
+ };
3456
+ return /* @__PURE__ */ jsx(
3457
+ Dropdown_default,
3458
+ {
3459
+ option: "CLICK",
3460
+ width: "66px",
3461
+ trigger: /* @__PURE__ */ jsx(
3462
+ Dropdown_default.Button,
3463
+ {
3464
+ placeholder: String(pageSize),
3465
+ sizeVar: "S",
3466
+ value: selectedItem && /* @__PURE__ */ jsx(Text_default, { typography: "body1_400", color: "neutral400", children: selectedItem.label })
3467
+ }
3468
+ ),
3469
+ popper: /* @__PURE__ */ jsx(Dropdown_default.Content, { type: "FILL", children: data.map((item) => {
3470
+ const isSelected = item.value === pageSize;
3471
+ return /* @__PURE__ */ jsx(Menu_default, { isSelected, onClick: () => handleClickMenu(item.value), children: item.label }, item.value);
3472
+ }) })
3473
+ }
3474
+ );
3475
+ };
3476
+ var PaginationSizeSelector_default = PaginationSizeSelector;
3477
+ var Pagination = (_a) => {
3478
+ var _b = _a, {
3479
+ currentPage,
3480
+ pageCount = 5,
3481
+ itemsTotalCount,
3482
+ pageSize,
3483
+ previousPage,
3484
+ nextPage,
3485
+ gotoPage,
3486
+ leftSource,
3487
+ rightSource
3488
+ } = _b, rest = __objRest(_b, [
3489
+ "currentPage",
3490
+ "pageCount",
3491
+ "itemsTotalCount",
3492
+ "pageSize",
3493
+ "previousPage",
3494
+ "nextPage",
3495
+ "gotoPage",
3496
+ "leftSource",
3497
+ "rightSource"
3498
+ ]);
3499
+ const pageTotalCount = Math.ceil(itemsTotalCount / Number(pageSize));
3500
+ const showLeftEllipsis = currentPage > pageCount - 1;
3501
+ const showRightEllipsis = currentPage < pageTotalCount && Math.ceil((currentPage + 1) / pageCount) < Math.ceil(pageTotalCount / pageCount);
3502
+ const canPreviousPage = currentPage > 0;
3503
+ const canNextPage = currentPage < pageTotalCount - 1;
3504
+ return /* @__PURE__ */ jsxs(PaginationWrapper, __spreadProps(__spreadValues({}, rest), { children: [
3505
+ leftSource ? leftSource : /* @__PURE__ */ jsx("div", {}),
3506
+ /* @__PURE__ */ jsxs(StyledPagination, { "data-shoplflow": "Pagination", children: [
3507
+ /* @__PURE__ */ jsx(IconButton_default, { sizeVar: "S", styleVar: "GHOST", disabled: !canPreviousPage, onClick: () => gotoPage(0), children: /* @__PURE__ */ jsx(Icon_default, { iconSource: FirstPageIcon, color: "neutral400", sizeVar: "S" }) }),
3508
+ /* @__PURE__ */ jsx(IconButton_default, { sizeVar: "S", styleVar: "GHOST", onClick: previousPage, disabled: !canPreviousPage, children: /* @__PURE__ */ jsx(Icon_default, { iconSource: LeftArrowIcon, color: "neutral400", sizeVar: "S" }) }),
3509
+ showLeftEllipsis && /* @__PURE__ */ jsx(Ellipsis, { children: /* @__PURE__ */ jsx(Text_default, { children: "..." }) }),
3510
+ [...Array(pageTotalCount)].splice(0, pageCount).map(
3511
+ (_, idx) => idx + Math.floor(currentPage / pageCount) * pageCount < pageTotalCount && /* @__PURE__ */ jsx(
3512
+ PageItem,
3513
+ {
3514
+ isActive: currentPage === idx + Math.floor(currentPage / pageCount) * pageCount,
3515
+ onClick: () => gotoPage(idx + Math.floor(currentPage / pageCount) * pageCount),
3516
+ children: idx + 1 + Math.floor(currentPage / pageCount) * pageCount
3517
+ },
3518
+ idx
3519
+ )
3520
+ ),
3521
+ showRightEllipsis && /* @__PURE__ */ jsx(Ellipsis, { children: /* @__PURE__ */ jsx(Text_default, { children: "..." }) }),
3522
+ /* @__PURE__ */ jsx(IconButton_default, { sizeVar: "S", styleVar: "GHOST", onClick: nextPage, disabled: !canNextPage, children: /* @__PURE__ */ jsx(Icon_default, { iconSource: RightArrowIcon, color: "neutral400", sizeVar: "S" }) }),
3523
+ /* @__PURE__ */ jsx(IconButton_default, { sizeVar: "S", styleVar: "GHOST", disabled: !canNextPage, onClick: () => gotoPage(pageTotalCount - 1), children: /* @__PURE__ */ jsx(Icon_default, { iconSource: EndPageIcon, color: "neutral400", sizeVar: "S" }) })
3524
+ ] }),
3525
+ rightSource ? rightSource : /* @__PURE__ */ jsx("div", {})
3526
+ ] }));
3527
+ };
3528
+ Pagination.SizeSelector = PaginationSizeSelector_default;
3529
+ var Pagination_default = Pagination;
3414
3530
  var SpaceMarginWrapper = styled6(motion.div)`
3415
3531
  position: relative;
3416
3532
  display: flex;
@@ -3465,6 +3581,6 @@ classnames/index.js:
3465
3581
  *)
3466
3582
  */
3467
3583
 
3468
- export { Avatar_default as Avatar, AvatarSizeVariants, Button_default as Button, ButtonSizeVariants, ButtonStyleVariants, CHECKBOX_SYMBOL_KEY, Callout_default as Callout, CalloutTypes, Checkbox_default as Checkbox, CheckboxStyleVariants, ChipButton_default as ChipButton, ChipButtonSizeVariants, ChipButtonStyleVariants, ChipToggle_default as ChipToggle, ChipToggleSizeVariants, ChipToggleStyleVariants, Dropdown_default as Dropdown, Icon_default as Icon, IconButton_default as IconButton, IconButtonSizeVariants, IconButtonStyleVariants, IconSizeVariants, Input_default as Input, InputButton_default as InputButton, List_default as List, MODAL_FOOTER_KEY, MODAL_HEADER_KEY, Menu_default as Menu, MenuSizeVariants, MinusButton_default as MinusButton, Modal, ModalContext, ModalHandlerContext, ModalPortal_default as ModalProvider, ModalSize, MotionStack, MotionStackContainer, Popper_default as Popper, PopperPortal, PopperTrigger, RADIO_SYMBOL_KEY, Radio_default as Radio, ScrollArea_default as ScrollArea, SelectInputButton_default as SelectInputButton, ShoplflowProvider_default as ShoplflowProvider, Stack_default as Stack, StackContainer_default as StackContainer, StyledIcon, StyledStack, StyledStackContainer, Switch_default as Switch, Tag_default as Tag, TagSizeVariants, TagStyleVariants, Text_default as Text, Text2Rows, TextArea_default as TextArea, Tooltip_default as Tooltip, borderRadiusTokens, boxShadowTokens, colorTokens, fontWeightTokens, getDomain, spacingTokens, typographyTokens, useDomain, useHandleModal, useModalValue };
3584
+ export { Avatar_default as Avatar, AvatarSizeVariants, Button_default as Button, ButtonSizeVariants, ButtonStyleVariants, CHECKBOX_SYMBOL_KEY, Callout_default as Callout, CalloutTypes, Checkbox_default as Checkbox, CheckboxStyleVariants, ChipButton_default as ChipButton, ChipButtonSizeVariants, ChipButtonStyleVariants, ChipToggle_default as ChipToggle, ChipToggleSizeVariants, ChipToggleStyleVariants, Dropdown_default as Dropdown, Icon_default as Icon, IconButton_default as IconButton, IconButtonSizeVariants, IconButtonStyleVariants, IconSizeVariants, Input_default as Input, InputButton_default as InputButton, List_default as List, MODAL_FOOTER_KEY, MODAL_HEADER_KEY, Menu_default as Menu, MenuSizeVariants, MinusButton_default as MinusButton, Modal, ModalContext, ModalHandlerContext, ModalPortal_default as ModalProvider, ModalSize, MotionStack, MotionStackContainer, Pagination_default as Pagination, Popper_default as Popper, PopperPortal, PopperTrigger, RADIO_SYMBOL_KEY, Radio_default as Radio, ScrollArea_default as ScrollArea, SelectInputButton_default as SelectInputButton, ShoplflowProvider_default as ShoplflowProvider, Stack_default as Stack, StackContainer_default as StackContainer, StyledIcon, StyledStack, StyledStackContainer, Switch_default as Switch, Tag_default as Tag, TagSizeVariants, TagStyleVariants, Text_default as Text, Text2Rows, TextArea_default as TextArea, Tooltip_default as Tooltip, borderRadiusTokens, boxShadowTokens, colorTokens, fontWeightTokens, getDomain, spacingTokens, typographyTokens, useDomain, useHandleModal, useModalValue };
3469
3585
  //# sourceMappingURL=out.js.map
3470
3586
  //# sourceMappingURL=index.js.map