@charcoal-ui/react 6.0.0-rc.7 → 6.0.0-rc.9
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/_lib/createDivComponent.cjs +20 -0
- package/dist/_lib/createDivComponent.cjs.map +1 -0
- package/dist/_lib/createDivComponent.js +19 -0
- package/dist/_lib/createDivComponent.js.map +1 -0
- package/dist/_lib/index.cjs +22 -0
- package/dist/_lib/index.cjs.map +1 -0
- package/dist/_lib/index.js +20 -0
- package/dist/_lib/index.js.map +1 -0
- package/dist/_lib/useClassNames.cjs +15 -0
- package/dist/_lib/useClassNames.cjs.map +1 -0
- package/dist/_lib/useClassNames.js +14 -0
- package/dist/_lib/useClassNames.js.map +1 -0
- package/dist/_lib/useForwardedRef.cjs +19 -0
- package/dist/_lib/useForwardedRef.cjs.map +1 -0
- package/dist/_lib/useForwardedRef.js +17 -0
- package/dist/_lib/useForwardedRef.js.map +1 -0
- package/dist/_lib/useIsomorphicLayoutEffect.cjs +13 -0
- package/dist/_lib/useIsomorphicLayoutEffect.cjs.map +1 -0
- package/dist/_lib/useIsomorphicLayoutEffect.js +12 -0
- package/dist/_lib/useIsomorphicLayoutEffect.js.map +1 -0
- package/dist/_virtual/_rolldown/runtime.cjs +30 -0
- package/dist/components/Button/index2.cjs +26 -0
- package/dist/components/Button/index2.cjs.map +1 -0
- package/dist/components/Button/index2.js +24 -0
- package/dist/components/Button/index2.js.map +1 -0
- package/dist/components/Carousel/CarouselItem.cjs +46 -0
- package/dist/components/Carousel/CarouselItem.cjs.map +1 -0
- package/dist/components/Carousel/CarouselItem.js +45 -0
- package/dist/components/Carousel/CarouselItem.js.map +1 -0
- package/dist/components/Carousel/carouselStore.cjs +38 -0
- package/dist/components/Carousel/carouselStore.cjs.map +1 -0
- package/dist/components/Carousel/carouselStore.js +37 -0
- package/dist/components/Carousel/carouselStore.js.map +1 -0
- package/dist/components/Carousel/index2.cjs +145 -0
- package/dist/components/Carousel/index2.cjs.map +1 -0
- package/dist/components/Carousel/index2.js +144 -0
- package/dist/components/Carousel/index2.js.map +1 -0
- package/dist/components/Carousel/intersectionObserver.cjs +46 -0
- package/dist/components/Carousel/intersectionObserver.cjs.map +1 -0
- package/dist/components/Carousel/intersectionObserver.js +45 -0
- package/dist/components/Carousel/intersectionObserver.js.map +1 -0
- package/dist/components/Carousel/resizeObserver.cjs +34 -0
- package/dist/components/Carousel/resizeObserver.cjs.map +1 -0
- package/dist/components/Carousel/resizeObserver.js +33 -0
- package/dist/components/Carousel/resizeObserver.js.map +1 -0
- package/dist/components/Carousel/store.cjs +24 -0
- package/dist/components/Carousel/store.cjs.map +1 -0
- package/dist/components/Carousel/store.js +23 -0
- package/dist/components/Carousel/store.js.map +1 -0
- package/dist/components/Carousel/useCarouselScroller.cjs +149 -0
- package/dist/components/Carousel/useCarouselScroller.cjs.map +1 -0
- package/dist/components/Carousel/useCarouselScroller.js +148 -0
- package/dist/components/Carousel/useCarouselScroller.js.map +1 -0
- package/dist/components/Checkbox/CheckboxInput/index2.cjs +29 -0
- package/dist/components/Checkbox/CheckboxInput/index2.cjs.map +1 -0
- package/dist/components/Checkbox/CheckboxInput/index2.js +28 -0
- package/dist/components/Checkbox/CheckboxInput/index2.js.map +1 -0
- package/dist/components/Checkbox/CheckboxWithLabel.cjs +23 -0
- package/dist/components/Checkbox/CheckboxWithLabel.cjs.map +1 -0
- package/dist/components/Checkbox/CheckboxWithLabel.js +21 -0
- package/dist/components/Checkbox/CheckboxWithLabel.js.map +1 -0
- package/dist/components/Checkbox/index2.cjs +34 -0
- package/dist/components/Checkbox/index2.cjs.map +1 -0
- package/dist/components/Checkbox/index2.js +33 -0
- package/dist/components/Checkbox/index2.js.map +1 -0
- package/dist/components/Clickable/index2.cjs +21 -0
- package/dist/components/Clickable/index2.cjs.map +1 -0
- package/dist/components/Clickable/index2.js +19 -0
- package/dist/components/Clickable/index2.js.map +1 -0
- package/dist/components/DropdownSelector/DropdownMenuItem/index2.cjs +44 -0
- package/dist/components/DropdownSelector/DropdownMenuItem/index2.cjs.map +1 -0
- package/dist/components/DropdownSelector/DropdownMenuItem/index2.js +43 -0
- package/dist/components/DropdownSelector/DropdownMenuItem/index2.js.map +1 -0
- package/dist/components/DropdownSelector/DropdownPopover.cjs +41 -0
- package/dist/components/DropdownSelector/DropdownPopover.cjs.map +1 -0
- package/dist/components/DropdownSelector/DropdownPopover.js +40 -0
- package/dist/components/DropdownSelector/DropdownPopover.js.map +1 -0
- package/dist/components/DropdownSelector/ListItem/index2.cjs +19 -0
- package/dist/components/DropdownSelector/ListItem/index2.cjs.map +1 -0
- package/dist/components/DropdownSelector/ListItem/index2.js +18 -0
- package/dist/components/DropdownSelector/ListItem/index2.js.map +1 -0
- package/dist/components/DropdownSelector/MenuItem/index.cjs +30 -0
- package/dist/components/DropdownSelector/MenuItem/index.cjs.map +1 -0
- package/dist/components/DropdownSelector/MenuItem/index.js +29 -0
- package/dist/components/DropdownSelector/MenuItem/index.js.map +1 -0
- package/dist/components/DropdownSelector/MenuItem/internals/handleFocusByKeyBoard.cjs +30 -0
- package/dist/components/DropdownSelector/MenuItem/internals/handleFocusByKeyBoard.cjs.map +1 -0
- package/dist/components/DropdownSelector/MenuItem/internals/handleFocusByKeyBoard.js +29 -0
- package/dist/components/DropdownSelector/MenuItem/internals/handleFocusByKeyBoard.js.map +1 -0
- package/dist/components/DropdownSelector/MenuItem/internals/useMenuItemHandleKeyDown.cjs +53 -0
- package/dist/components/DropdownSelector/MenuItem/internals/useMenuItemHandleKeyDown.cjs.map +1 -0
- package/dist/components/DropdownSelector/MenuItem/internals/useMenuItemHandleKeyDown.js +52 -0
- package/dist/components/DropdownSelector/MenuItem/internals/useMenuItemHandleKeyDown.js.map +1 -0
- package/dist/components/DropdownSelector/MenuItemGroup/index2.cjs +20 -0
- package/dist/components/DropdownSelector/MenuItemGroup/index2.cjs.map +1 -0
- package/dist/components/DropdownSelector/MenuItemGroup/index2.js +19 -0
- package/dist/components/DropdownSelector/MenuItemGroup/index2.js.map +1 -0
- package/dist/components/DropdownSelector/MenuList/MenuListContext.cjs +15 -0
- package/dist/components/DropdownSelector/MenuList/MenuListContext.cjs.map +1 -0
- package/dist/components/DropdownSelector/MenuList/MenuListContext.js +14 -0
- package/dist/components/DropdownSelector/MenuList/MenuListContext.js.map +1 -0
- package/dist/components/DropdownSelector/MenuList/index2.cjs +32 -0
- package/dist/components/DropdownSelector/MenuList/index2.cjs.map +1 -0
- package/dist/components/DropdownSelector/MenuList/index2.js +31 -0
- package/dist/components/DropdownSelector/MenuList/index2.js.map +1 -0
- package/dist/components/DropdownSelector/MenuList/internals/getValuesRecursive.cjs +34 -0
- package/dist/components/DropdownSelector/MenuList/internals/getValuesRecursive.cjs.map +1 -0
- package/dist/components/DropdownSelector/MenuList/internals/getValuesRecursive.js +32 -0
- package/dist/components/DropdownSelector/MenuList/internals/getValuesRecursive.js.map +1 -0
- package/dist/components/DropdownSelector/Popover/index2.cjs +71 -0
- package/dist/components/DropdownSelector/Popover/index2.cjs.map +1 -0
- package/dist/components/DropdownSelector/Popover/index2.js +70 -0
- package/dist/components/DropdownSelector/Popover/index2.js.map +1 -0
- package/dist/components/DropdownSelector/Popover/usePreventScroll.cjs +27 -0
- package/dist/components/DropdownSelector/Popover/usePreventScroll.cjs.map +1 -0
- package/dist/components/DropdownSelector/Popover/usePreventScroll.js +26 -0
- package/dist/components/DropdownSelector/Popover/usePreventScroll.js.map +1 -0
- package/dist/components/DropdownSelector/index2.cjs +113 -0
- package/dist/components/DropdownSelector/index2.cjs.map +1 -0
- package/dist/components/DropdownSelector/index2.js +111 -0
- package/dist/components/DropdownSelector/index2.js.map +1 -0
- package/dist/components/DropdownSelector/utils/findPreviewRecursive.cjs +34 -0
- package/dist/components/DropdownSelector/utils/findPreviewRecursive.cjs.map +1 -0
- package/dist/components/DropdownSelector/utils/findPreviewRecursive.js +32 -0
- package/dist/components/DropdownSelector/utils/findPreviewRecursive.js.map +1 -0
- package/dist/components/FieldLabel/index2.cjs +35 -0
- package/dist/components/FieldLabel/index2.cjs.map +1 -0
- package/dist/components/FieldLabel/index2.js +33 -0
- package/dist/components/FieldLabel/index2.js.map +1 -0
- package/dist/components/HintText/index2.cjs +25 -0
- package/dist/components/HintText/index2.cjs.map +1 -0
- package/dist/components/HintText/index2.js +24 -0
- package/dist/components/HintText/index2.js.map +1 -0
- package/dist/components/Icon/index.cjs +39 -0
- package/dist/components/Icon/index.cjs.map +1 -0
- package/dist/components/Icon/index.js +37 -0
- package/dist/components/Icon/index.js.map +1 -0
- package/dist/components/IconButton/index2.cjs +46 -0
- package/dist/components/IconButton/index2.cjs.map +1 -0
- package/dist/components/IconButton/index2.js +44 -0
- package/dist/components/IconButton/index2.js.map +1 -0
- package/dist/components/LoadingSpinner/index2.cjs +43 -0
- package/dist/components/LoadingSpinner/index2.cjs.map +1 -0
- package/dist/components/LoadingSpinner/index2.js +41 -0
- package/dist/components/LoadingSpinner/index2.js.map +1 -0
- package/dist/components/Modal/Dialog/index2.cjs +30 -0
- package/dist/components/Modal/Dialog/index2.cjs.map +1 -0
- package/dist/components/Modal/Dialog/index2.js +28 -0
- package/dist/components/Modal/Dialog/index2.js.map +1 -0
- package/dist/components/Modal/ModalBackgroundContext.cjs +14 -0
- package/dist/components/Modal/ModalBackgroundContext.cjs.map +1 -0
- package/dist/components/Modal/ModalBackgroundContext.js +12 -0
- package/dist/components/Modal/ModalBackgroundContext.js.map +1 -0
- package/dist/components/Modal/ModalPlumbing2.cjs +30 -0
- package/dist/components/Modal/ModalPlumbing2.cjs.map +1 -0
- package/dist/components/Modal/ModalPlumbing2.js +26 -0
- package/dist/components/Modal/ModalPlumbing2.js.map +1 -0
- package/dist/components/Modal/index2.cjs +121 -0
- package/dist/components/Modal/index2.cjs.map +1 -0
- package/dist/components/Modal/index2.js +118 -0
- package/dist/components/Modal/index2.js.map +1 -0
- package/dist/components/Modal/useCustomModalOverlay.cjs +48 -0
- package/dist/components/Modal/useCustomModalOverlay.cjs.map +1 -0
- package/dist/components/Modal/useCustomModalOverlay.js +45 -0
- package/dist/components/Modal/useCustomModalOverlay.js.map +1 -0
- package/dist/components/Modal/useTransitionPresence.cjs +57 -0
- package/dist/components/Modal/useTransitionPresence.cjs.map +1 -0
- package/dist/components/Modal/useTransitionPresence.js +56 -0
- package/dist/components/Modal/useTransitionPresence.js.map +1 -0
- package/dist/components/MultiSelect/context.cjs +19 -0
- package/dist/components/MultiSelect/context.cjs.map +1 -0
- package/dist/components/MultiSelect/context.js +18 -0
- package/dist/components/MultiSelect/context.js.map +1 -0
- package/dist/components/MultiSelect/index2.cjs +97 -0
- package/dist/components/MultiSelect/index2.cjs.map +1 -0
- package/dist/components/MultiSelect/index2.js +93 -0
- package/dist/components/MultiSelect/index2.js.map +1 -0
- package/dist/components/Pagination/PaginationContext.cjs +16 -0
- package/dist/components/Pagination/PaginationContext.cjs.map +1 -0
- package/dist/components/Pagination/PaginationContext.js +14 -0
- package/dist/components/Pagination/PaginationContext.js.map +1 -0
- package/dist/components/Pagination/helper.cjs +63 -0
- package/dist/components/Pagination/helper.cjs.map +1 -0
- package/dist/components/Pagination/helper.js +61 -0
- package/dist/components/Pagination/helper.js.map +1 -0
- package/dist/components/Pagination/index2.cjs +301 -0
- package/dist/components/Pagination/index2.cjs.map +1 -0
- package/dist/components/Pagination/index2.js +288 -0
- package/dist/components/Pagination/index2.js.map +1 -0
- package/dist/components/Radio/RadioGroup/index2.cjs +49 -0
- package/dist/components/Radio/RadioGroup/index2.cjs.map +1 -0
- package/dist/components/Radio/RadioGroup/index2.js +47 -0
- package/dist/components/Radio/RadioGroup/index2.js.map +1 -0
- package/dist/components/Radio/RadioGroupContext.cjs +20 -0
- package/dist/components/Radio/RadioGroupContext.cjs.map +1 -0
- package/dist/components/Radio/RadioGroupContext.js +18 -0
- package/dist/components/Radio/RadioGroupContext.js.map +1 -0
- package/dist/components/Radio/RadioInput/index2.cjs +27 -0
- package/dist/components/Radio/RadioInput/index2.cjs.map +1 -0
- package/dist/components/Radio/RadioInput/index2.js +26 -0
- package/dist/components/Radio/RadioInput/index2.js.map +1 -0
- package/dist/components/Radio/index2.cjs +42 -0
- package/dist/components/Radio/index2.cjs.map +1 -0
- package/dist/components/Radio/index2.js +39 -0
- package/dist/components/Radio/index2.js.map +1 -0
- package/dist/components/SegmentedControl/RadioGroupContext.cjs +24 -0
- package/dist/components/SegmentedControl/RadioGroupContext.cjs.map +1 -0
- package/dist/components/SegmentedControl/RadioGroupContext.js +21 -0
- package/dist/components/SegmentedControl/RadioGroupContext.js.map +1 -0
- package/dist/components/SegmentedControl/index2.cjs +72 -0
- package/dist/components/SegmentedControl/index2.cjs.map +1 -0
- package/dist/components/SegmentedControl/index2.js +70 -0
- package/dist/components/SegmentedControl/index2.js.map +1 -0
- package/dist/components/Switch/SwitchInput/index2.cjs +25 -0
- package/dist/components/Switch/SwitchInput/index2.cjs.map +1 -0
- package/dist/components/Switch/SwitchInput/index2.js +24 -0
- package/dist/components/Switch/SwitchInput/index2.js.map +1 -0
- package/dist/components/Switch/SwitchWithLabel.cjs +23 -0
- package/dist/components/Switch/SwitchWithLabel.cjs.map +1 -0
- package/dist/components/Switch/SwitchWithLabel.js +21 -0
- package/dist/components/Switch/SwitchWithLabel.js.map +1 -0
- package/dist/components/Switch/index2.cjs +37 -0
- package/dist/components/Switch/index2.cjs.map +1 -0
- package/dist/components/Switch/index2.js +36 -0
- package/dist/components/Switch/index2.js.map +1 -0
- package/dist/components/TagItem/index2.cjs +57 -0
- package/dist/components/TagItem/index2.cjs.map +1 -0
- package/dist/components/TagItem/index2.js +55 -0
- package/dist/components/TagItem/index2.js.map +1 -0
- package/dist/components/TextArea/index2.cjs +134 -0
- package/dist/components/TextArea/index2.cjs.map +1 -0
- package/dist/components/TextArea/index2.js +133 -0
- package/dist/components/TextArea/index2.js.map +1 -0
- package/dist/components/TextEllipsis/helper.cjs +31 -0
- package/dist/components/TextEllipsis/helper.cjs.map +1 -0
- package/dist/components/TextEllipsis/helper.js +30 -0
- package/dist/components/TextEllipsis/helper.js.map +1 -0
- package/dist/components/TextEllipsis/index2.cjs +119 -0
- package/dist/components/TextEllipsis/index2.cjs.map +1 -0
- package/dist/components/TextEllipsis/index2.js +114 -0
- package/dist/components/TextEllipsis/index2.js.map +1 -0
- package/dist/components/TextField/AssistiveText/index2.cjs +10 -0
- package/dist/components/TextField/AssistiveText/index2.cjs.map +1 -0
- package/dist/components/TextField/AssistiveText/index2.js +10 -0
- package/dist/components/TextField/AssistiveText/index2.js.map +1 -0
- package/dist/components/TextField/index2.cjs +101 -0
- package/dist/components/TextField/index2.cjs.map +1 -0
- package/dist/components/TextField/index2.js +100 -0
- package/dist/components/TextField/index2.js.map +1 -0
- package/dist/components/TextField/useFocusWithClick.cjs +23 -0
- package/dist/components/TextField/useFocusWithClick.cjs.map +1 -0
- package/dist/components/TextField/useFocusWithClick.js +22 -0
- package/dist/components/TextField/useFocusWithClick.js.map +1 -0
- package/dist/core/CharcoalProvider.cjs +16 -0
- package/dist/core/CharcoalProvider.cjs.map +1 -0
- package/dist/core/CharcoalProvider.js +14 -0
- package/dist/core/CharcoalProvider.js.map +1 -0
- package/dist/core/OverlayProvider.js +4 -0
- package/dist/core/SSRProvider.cjs +15 -0
- package/dist/core/SSRProvider.cjs.map +1 -0
- package/dist/core/SSRProvider.js +14 -0
- package/dist/core/SSRProvider.js.map +1 -0
- package/dist/core/SetThemeScript.cjs +45 -0
- package/dist/core/SetThemeScript.cjs.map +1 -0
- package/dist/core/SetThemeScript.js +43 -0
- package/dist/core/SetThemeScript.js.map +1 -0
- package/dist/core/themeHelper.cjs +154 -0
- package/dist/core/themeHelper.cjs.map +1 -0
- package/dist/core/themeHelper.js +143 -0
- package/dist/core/themeHelper.js.map +1 -0
- package/dist/index.cjs +81 -12
- package/dist/index.css +1536 -1530
- package/dist/index.js +31 -12
- package/dist/layered.css +1508 -1502
- package/dist/layered.css.map +1 -1
- package/package.json +5 -5
- package/src/__tests__/css-shorthand-safety.test.ts +150 -0
- package/src/components/Button/__snapshots__/index.css.snap +8 -3
- package/src/components/Button/index.css +8 -3
- package/src/components/LoadingSpinner/__snapshots__/index.css.snap +1 -2
- package/src/components/LoadingSpinner/index.css +1 -2
- package/src/components/Pagination/__snapshots__/index.css.snap +3 -1
- package/src/components/Pagination/index.css +3 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
|
|
3
|
+
const require_useClassNames = require('../../_lib/useClassNames.cjs');
|
|
4
|
+
const require_index = require('../IconButton/index2.cjs');
|
|
5
|
+
require('./index.cjs');
|
|
6
|
+
const require_helper = require('./helper.cjs');
|
|
7
|
+
const require_PaginationContext = require('./PaginationContext.cjs');
|
|
8
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
9
|
+
let react_compiler_runtime = require("react-compiler-runtime");
|
|
10
|
+
|
|
11
|
+
//#region src/components/Pagination/index.tsx
|
|
12
|
+
function NavButton(t0) {
|
|
13
|
+
"use memo";
|
|
14
|
+
const $ = (0, react_compiler_runtime.c)(16);
|
|
15
|
+
if ($[0] !== "6df9a461da70eeb5250dbca07b72d0ce43e952d7b7d08baba19bf889ba545794") {
|
|
16
|
+
for (let $i = 0; $i < 16; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
|
|
17
|
+
$[0] = "6df9a461da70eeb5250dbca07b72d0ce43e952d7b7d08baba19bf889ba545794";
|
|
18
|
+
}
|
|
19
|
+
const { direction, ariaLabel } = t0;
|
|
20
|
+
const { page, pageCount, size, isLinkMode, makeUrl, LinkComponent, makeClickHandler, linkProps } = require_PaginationContext.usePaginationContext();
|
|
21
|
+
const isPrev = direction === "prev";
|
|
22
|
+
const targetPage = isPrev ? Math.max(1, page - 1) : Math.min(pageCount, page + 1);
|
|
23
|
+
const disabled = isPrev ? page <= 1 : page >= pageCount;
|
|
24
|
+
const navButtonClassName = require_useClassNames.useClassNames("charcoal-pagination-nav-button", linkProps?.className);
|
|
25
|
+
const t1 = isPrev ? "24/Prev" : "24/Next";
|
|
26
|
+
const t2 = disabled || void 0;
|
|
27
|
+
let t3;
|
|
28
|
+
if ($[1] !== LinkComponent || $[2] !== disabled || $[3] !== isLinkMode || $[4] !== linkProps || $[5] !== makeClickHandler || $[6] !== makeUrl || $[7] !== navButtonClassName || $[8] !== targetPage) {
|
|
29
|
+
t3 = isLinkMode && makeUrl ? {
|
|
30
|
+
component: LinkComponent,
|
|
31
|
+
href: makeUrl(targetPage),
|
|
32
|
+
"aria-disabled": disabled,
|
|
33
|
+
...linkProps,
|
|
34
|
+
className: navButtonClassName
|
|
35
|
+
} : {
|
|
36
|
+
disabled,
|
|
37
|
+
onClick: makeClickHandler(targetPage),
|
|
38
|
+
className: navButtonClassName
|
|
39
|
+
};
|
|
40
|
+
$[1] = LinkComponent;
|
|
41
|
+
$[2] = disabled;
|
|
42
|
+
$[3] = isLinkMode;
|
|
43
|
+
$[4] = linkProps;
|
|
44
|
+
$[5] = makeClickHandler;
|
|
45
|
+
$[6] = makeUrl;
|
|
46
|
+
$[7] = navButtonClassName;
|
|
47
|
+
$[8] = targetPage;
|
|
48
|
+
$[9] = t3;
|
|
49
|
+
} else t3 = $[9];
|
|
50
|
+
let t4;
|
|
51
|
+
if ($[10] !== ariaLabel || $[11] !== size || $[12] !== t1 || $[13] !== t2 || $[14] !== t3) {
|
|
52
|
+
t4 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.default, {
|
|
53
|
+
icon: t1,
|
|
54
|
+
size,
|
|
55
|
+
"data-hidden": t2,
|
|
56
|
+
"aria-label": ariaLabel,
|
|
57
|
+
...t3
|
|
58
|
+
});
|
|
59
|
+
$[10] = ariaLabel;
|
|
60
|
+
$[11] = size;
|
|
61
|
+
$[12] = t1;
|
|
62
|
+
$[13] = t2;
|
|
63
|
+
$[14] = t3;
|
|
64
|
+
$[15] = t4;
|
|
65
|
+
} else t4 = $[15];
|
|
66
|
+
return t4;
|
|
67
|
+
}
|
|
68
|
+
function PageItem(t0) {
|
|
69
|
+
"use memo";
|
|
70
|
+
const $ = (0, react_compiler_runtime.c)(20);
|
|
71
|
+
if ($[0] !== "6df9a461da70eeb5250dbca07b72d0ce43e952d7b7d08baba19bf889ba545794") {
|
|
72
|
+
for (let $i = 0; $i < 20; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
|
|
73
|
+
$[0] = "6df9a461da70eeb5250dbca07b72d0ce43e952d7b7d08baba19bf889ba545794";
|
|
74
|
+
}
|
|
75
|
+
const { value } = t0;
|
|
76
|
+
const { page, size, isLinkMode, makeUrl, LinkComponent, makeClickHandler, linkProps } = require_PaginationContext.usePaginationContext();
|
|
77
|
+
const pageItemClassName = require_useClassNames.useClassNames("charcoal-pagination-button", linkProps?.className);
|
|
78
|
+
if (value === "...") {
|
|
79
|
+
let t1;
|
|
80
|
+
if ($[1] !== size) {
|
|
81
|
+
t1 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.default, {
|
|
82
|
+
icon: "24/Dot",
|
|
83
|
+
size,
|
|
84
|
+
disabled: true,
|
|
85
|
+
className: "charcoal-pagination-spacer",
|
|
86
|
+
"aria-hidden": true
|
|
87
|
+
});
|
|
88
|
+
$[1] = size;
|
|
89
|
+
$[2] = t1;
|
|
90
|
+
} else t1 = $[2];
|
|
91
|
+
return t1;
|
|
92
|
+
}
|
|
93
|
+
if (value === page) {
|
|
94
|
+
let t1;
|
|
95
|
+
if ($[3] !== value) {
|
|
96
|
+
t1 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
97
|
+
className: "charcoal-pagination-button",
|
|
98
|
+
"aria-current": "page",
|
|
99
|
+
children: value
|
|
100
|
+
});
|
|
101
|
+
$[3] = value;
|
|
102
|
+
$[4] = t1;
|
|
103
|
+
} else t1 = $[4];
|
|
104
|
+
return t1;
|
|
105
|
+
}
|
|
106
|
+
if (typeof value !== "number") return null;
|
|
107
|
+
if (isLinkMode && makeUrl) {
|
|
108
|
+
let t1;
|
|
109
|
+
if ($[5] !== makeUrl || $[6] !== value) {
|
|
110
|
+
t1 = makeUrl(value);
|
|
111
|
+
$[5] = makeUrl;
|
|
112
|
+
$[6] = value;
|
|
113
|
+
$[7] = t1;
|
|
114
|
+
} else t1 = $[7];
|
|
115
|
+
let t2;
|
|
116
|
+
if ($[8] !== LinkComponent || $[9] !== linkProps || $[10] !== pageItemClassName || $[11] !== t1 || $[12] !== value) {
|
|
117
|
+
t2 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LinkComponent, {
|
|
118
|
+
href: t1,
|
|
119
|
+
...linkProps,
|
|
120
|
+
className: pageItemClassName,
|
|
121
|
+
children: value
|
|
122
|
+
});
|
|
123
|
+
$[8] = LinkComponent;
|
|
124
|
+
$[9] = linkProps;
|
|
125
|
+
$[10] = pageItemClassName;
|
|
126
|
+
$[11] = t1;
|
|
127
|
+
$[12] = value;
|
|
128
|
+
$[13] = t2;
|
|
129
|
+
} else t2 = $[13];
|
|
130
|
+
return t2;
|
|
131
|
+
}
|
|
132
|
+
let t1;
|
|
133
|
+
if ($[14] !== makeClickHandler || $[15] !== value) {
|
|
134
|
+
t1 = makeClickHandler(value);
|
|
135
|
+
$[14] = makeClickHandler;
|
|
136
|
+
$[15] = value;
|
|
137
|
+
$[16] = t1;
|
|
138
|
+
} else t1 = $[16];
|
|
139
|
+
let t2;
|
|
140
|
+
if ($[17] !== t1 || $[18] !== value) {
|
|
141
|
+
t2 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
142
|
+
type: "button",
|
|
143
|
+
className: "charcoal-pagination-button",
|
|
144
|
+
onClick: t1,
|
|
145
|
+
children: value
|
|
146
|
+
});
|
|
147
|
+
$[17] = t1;
|
|
148
|
+
$[18] = value;
|
|
149
|
+
$[19] = t2;
|
|
150
|
+
} else t2 = $[19];
|
|
151
|
+
return t2;
|
|
152
|
+
}
|
|
153
|
+
function Pagination(t0) {
|
|
154
|
+
"use memo";
|
|
155
|
+
const $ = (0, react_compiler_runtime.c)(41);
|
|
156
|
+
if ($[0] !== "6df9a461da70eeb5250dbca07b72d0ce43e952d7b7d08baba19bf889ba545794") {
|
|
157
|
+
for (let $i = 0; $i < 41; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
|
|
158
|
+
$[0] = "6df9a461da70eeb5250dbca07b72d0ce43e952d7b7d08baba19bf889ba545794";
|
|
159
|
+
}
|
|
160
|
+
let className;
|
|
161
|
+
let linkProps;
|
|
162
|
+
let makeUrl;
|
|
163
|
+
let navProps;
|
|
164
|
+
let onChange;
|
|
165
|
+
let page;
|
|
166
|
+
let pageCount;
|
|
167
|
+
let pageRangeDisplayed;
|
|
168
|
+
let t1;
|
|
169
|
+
let t2;
|
|
170
|
+
let t3;
|
|
171
|
+
let t4;
|
|
172
|
+
if ($[1] !== t0) {
|
|
173
|
+
({page, pageCount, pageRangeDisplayed, size: t1, onChange, makeUrl, component: t2, linkProps, className, ariaLabelNext: t3, ariaLabelPrev: t4, ...navProps} = t0);
|
|
174
|
+
$[1] = t0;
|
|
175
|
+
$[2] = className;
|
|
176
|
+
$[3] = linkProps;
|
|
177
|
+
$[4] = makeUrl;
|
|
178
|
+
$[5] = navProps;
|
|
179
|
+
$[6] = onChange;
|
|
180
|
+
$[7] = page;
|
|
181
|
+
$[8] = pageCount;
|
|
182
|
+
$[9] = pageRangeDisplayed;
|
|
183
|
+
$[10] = t1;
|
|
184
|
+
$[11] = t2;
|
|
185
|
+
$[12] = t3;
|
|
186
|
+
$[13] = t4;
|
|
187
|
+
} else {
|
|
188
|
+
className = $[2];
|
|
189
|
+
linkProps = $[3];
|
|
190
|
+
makeUrl = $[4];
|
|
191
|
+
navProps = $[5];
|
|
192
|
+
onChange = $[6];
|
|
193
|
+
page = $[7];
|
|
194
|
+
pageCount = $[8];
|
|
195
|
+
pageRangeDisplayed = $[9];
|
|
196
|
+
t1 = $[10];
|
|
197
|
+
t2 = $[11];
|
|
198
|
+
t3 = $[12];
|
|
199
|
+
t4 = $[13];
|
|
200
|
+
}
|
|
201
|
+
const size = t1 === void 0 ? "M" : t1;
|
|
202
|
+
const LinkComponent = t2 === void 0 ? "a" : t2;
|
|
203
|
+
const ariaLabelNext = t3 === void 0 ? "Next" : t3;
|
|
204
|
+
const ariaLabelPrev = t4 === void 0 ? "Previous" : t4;
|
|
205
|
+
const window = require_helper.usePaginationWindow(page, pageCount, pageRangeDisplayed);
|
|
206
|
+
const isLinkMode = makeUrl !== void 0;
|
|
207
|
+
let t5;
|
|
208
|
+
if ($[14] !== onChange) {
|
|
209
|
+
t5 = (value) => () => onChange?.(value);
|
|
210
|
+
$[14] = onChange;
|
|
211
|
+
$[15] = t5;
|
|
212
|
+
} else t5 = $[15];
|
|
213
|
+
const makeClickHandler = t5;
|
|
214
|
+
const classNames = require_useClassNames.useClassNames("charcoal-pagination", className);
|
|
215
|
+
let t6;
|
|
216
|
+
if ($[16] !== LinkComponent || $[17] !== isLinkMode || $[18] !== linkProps || $[19] !== makeClickHandler || $[20] !== makeUrl || $[21] !== page || $[22] !== pageCount || $[23] !== size) {
|
|
217
|
+
t6 = {
|
|
218
|
+
page,
|
|
219
|
+
pageCount,
|
|
220
|
+
size,
|
|
221
|
+
isLinkMode,
|
|
222
|
+
makeUrl,
|
|
223
|
+
LinkComponent,
|
|
224
|
+
makeClickHandler,
|
|
225
|
+
linkProps
|
|
226
|
+
};
|
|
227
|
+
$[16] = LinkComponent;
|
|
228
|
+
$[17] = isLinkMode;
|
|
229
|
+
$[18] = linkProps;
|
|
230
|
+
$[19] = makeClickHandler;
|
|
231
|
+
$[20] = makeUrl;
|
|
232
|
+
$[21] = page;
|
|
233
|
+
$[22] = pageCount;
|
|
234
|
+
$[23] = size;
|
|
235
|
+
$[24] = t6;
|
|
236
|
+
} else t6 = $[24];
|
|
237
|
+
const t7 = t6;
|
|
238
|
+
let t8;
|
|
239
|
+
if ($[25] !== ariaLabelPrev) {
|
|
240
|
+
t8 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(NavButton, {
|
|
241
|
+
direction: "prev",
|
|
242
|
+
ariaLabel: ariaLabelPrev
|
|
243
|
+
});
|
|
244
|
+
$[25] = ariaLabelPrev;
|
|
245
|
+
$[26] = t8;
|
|
246
|
+
} else t8 = $[26];
|
|
247
|
+
let t9;
|
|
248
|
+
if ($[27] !== window) {
|
|
249
|
+
t9 = window.map(_temp);
|
|
250
|
+
$[27] = window;
|
|
251
|
+
$[28] = t9;
|
|
252
|
+
} else t9 = $[28];
|
|
253
|
+
let t10;
|
|
254
|
+
if ($[29] !== ariaLabelNext) {
|
|
255
|
+
t10 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(NavButton, {
|
|
256
|
+
direction: "next",
|
|
257
|
+
ariaLabel: ariaLabelNext
|
|
258
|
+
});
|
|
259
|
+
$[29] = ariaLabelNext;
|
|
260
|
+
$[30] = t10;
|
|
261
|
+
} else t10 = $[30];
|
|
262
|
+
let t11;
|
|
263
|
+
if ($[31] !== classNames || $[32] !== navProps || $[33] !== size || $[34] !== t10 || $[35] !== t8 || $[36] !== t9) {
|
|
264
|
+
t11 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("nav", {
|
|
265
|
+
"data-size": size,
|
|
266
|
+
"aria-label": "Pagination",
|
|
267
|
+
...navProps,
|
|
268
|
+
className: classNames,
|
|
269
|
+
children: [
|
|
270
|
+
t8,
|
|
271
|
+
t9,
|
|
272
|
+
t10
|
|
273
|
+
]
|
|
274
|
+
});
|
|
275
|
+
$[31] = classNames;
|
|
276
|
+
$[32] = navProps;
|
|
277
|
+
$[33] = size;
|
|
278
|
+
$[34] = t10;
|
|
279
|
+
$[35] = t8;
|
|
280
|
+
$[36] = t9;
|
|
281
|
+
$[37] = t11;
|
|
282
|
+
} else t11 = $[37];
|
|
283
|
+
let t12;
|
|
284
|
+
if ($[38] !== t11 || $[39] !== t7) {
|
|
285
|
+
t12 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_PaginationContext.PaginationContext.Provider, {
|
|
286
|
+
value: t7,
|
|
287
|
+
children: t11
|
|
288
|
+
});
|
|
289
|
+
$[38] = t11;
|
|
290
|
+
$[39] = t7;
|
|
291
|
+
$[40] = t12;
|
|
292
|
+
} else t12 = $[40];
|
|
293
|
+
return t12;
|
|
294
|
+
}
|
|
295
|
+
function _temp(p) {
|
|
296
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PageItem, { value: p }, p);
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
//#endregion
|
|
300
|
+
exports.default = Pagination;
|
|
301
|
+
//# sourceMappingURL=index2.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index2.cjs","names":["usePaginationWindow","useClassNames","IconButton","IconButtonProps","PaginationContext","usePaginationContext","LinkComponentProps","PaginationContextValue","PageRangeDisplayed","Size","NavButtonProps","direction","ariaLabel","NavButton","t0","$","_c","$i","Symbol","for","page","pageCount","size","isLinkMode","makeUrl","LinkComponent","makeClickHandler","linkProps","isPrev","targetPage","Math","max","min","disabled","navButtonClassName","className","t1","t2","undefined","t3","component","href","onClick","t4","PageItem","value","pageItemClassName","PaginationCommonProps","pageRangeDisplayed","ariaLabelPrev","ariaLabelNext","NavProps","Omit","React","ComponentPropsWithoutRef","PaginationProps","ElementType","onChange","newPage","T","Pagination","navProps","window","t5","classNames","t6","contextValue","t7","t8","t9","map","_temp","t10","t11","t12","p"],"sources":["../../../src/components/Pagination/index.tsx"],"sourcesContent":["import './index.css'\n\nimport { usePaginationWindow } from './helper'\nimport { useClassNames } from '../../_lib/useClassNames'\nimport IconButton, { IconButtonProps } from '../IconButton'\nimport {\n PaginationContext,\n usePaginationContext,\n type LinkComponentProps,\n type PaginationContextValue,\n type PageRangeDisplayed,\n type Size,\n} from './PaginationContext'\n\ntype NavButtonProps = {\n direction: 'prev' | 'next'\n ariaLabel: IconButtonProps['aria-label']\n}\n\nfunction NavButton({ direction, ariaLabel }: NavButtonProps) {\n 'use memo'\n const {\n page,\n pageCount,\n size,\n isLinkMode,\n makeUrl,\n LinkComponent,\n makeClickHandler,\n linkProps,\n } = usePaginationContext()\n\n const isPrev = direction === 'prev'\n const targetPage = isPrev\n ? Math.max(1, page - 1)\n : Math.min(pageCount, page + 1)\n const disabled = isPrev ? page <= 1 : page >= pageCount\n const navButtonClassName = useClassNames(\n 'charcoal-pagination-nav-button',\n linkProps?.className,\n )\n\n return (\n <IconButton\n icon={isPrev ? '24/Prev' : '24/Next'}\n size={size}\n /* Use data-hidden, not [hidden]: Tailwind preflight's `[hidden] { display: none !important }` would clobber `visibility: hidden` and collapse the layout space. */\n data-hidden={disabled || undefined}\n aria-label={ariaLabel}\n {...(isLinkMode && makeUrl\n ? {\n component: LinkComponent as 'a',\n href: makeUrl(targetPage),\n 'aria-disabled': disabled,\n ...linkProps,\n className: navButtonClassName,\n }\n : {\n disabled,\n onClick: makeClickHandler(targetPage),\n className: navButtonClassName,\n })}\n />\n )\n}\n\nfunction PageItem({ value }: { value: number | string }) {\n 'use memo'\n const {\n page,\n size,\n isLinkMode,\n makeUrl,\n LinkComponent,\n makeClickHandler,\n linkProps,\n } = usePaginationContext()\n const pageItemClassName = useClassNames(\n 'charcoal-pagination-button',\n linkProps?.className,\n )\n\n // 省略記号\n if (value === '...') {\n return (\n <IconButton\n icon=\"24/Dot\"\n size={size}\n disabled\n className=\"charcoal-pagination-spacer\"\n aria-hidden\n />\n )\n }\n // 現在ページ(クリック不可)\n if (value === page) {\n return (\n <span className=\"charcoal-pagination-button\" aria-current=\"page\">\n {value}\n </span>\n )\n }\n if (typeof value !== 'number') return null\n // リンクモード: ページへのリンク\n if (isLinkMode && makeUrl) {\n return (\n <LinkComponent\n href={makeUrl(value)}\n {...linkProps}\n className={pageItemClassName}\n >\n {value}\n </LinkComponent>\n )\n }\n // ボタンモード: クリックでページ遷移\n return (\n <button\n type=\"button\"\n className=\"charcoal-pagination-button\"\n onClick={makeClickHandler(value)}\n >\n {value}\n </button>\n )\n}\n\ninterface PaginationCommonProps {\n page: number\n pageCount: number\n pageRangeDisplayed?: PageRangeDisplayed\n size?: Size\n ariaLabelPrev?: string\n ariaLabelNext?: string\n}\n\ntype NavProps = Omit<React.ComponentPropsWithoutRef<'nav'>, 'onChange'>\n\n/**\n * Pagination component. Use either `onChange` (button mode) or `makeUrl` (link mode).\n *\n * @example\n * // Button mode - for client-side state\n * <Pagination page={1} pageCount={10} onChange={setPage} />\n *\n * @example\n * // Link mode - for server routing / static pages\n * <Pagination page={1} pageCount={10} makeUrl={(p) => `?page=${p}`} />\n *\n * @example\n * // Link mode with custom component (e.g. Next.js Link)\n * <Pagination page={1} pageCount={10} makeUrl={(p) => `?page=${p}`} component={Link} />\n *\n * @example\n * // Link mode with linkProps (e.g. Next.js scroll)\n * <Pagination page={1} pageCount={10} makeUrl={(p) => `?page=${p}`} component={Link} linkProps={{ scroll: 'marker' }} />\n */\nexport type PaginationProps<T extends React.ElementType = 'a'> =\n PaginationCommonProps &\n NavProps &\n (\n | {\n onChange(newPage: number): void\n makeUrl?: never\n component?: never\n linkProps?: undefined\n }\n | {\n makeUrl(page: number): string\n onChange?: never\n /**\n * The component used for link elements. Receives `href`, `className`, and `children`.\n * @default 'a'\n */\n component?: T\n /**\n * Additional props passed to all link elements (e.g. Next.js Link's scroll, prefetch).\n */\n linkProps?: Omit<\n React.ComponentPropsWithoutRef<T>,\n 'href' | 'children'\n >\n }\n )\n\nexport default function Pagination<T extends React.ElementType = 'a'>({\n page,\n pageCount,\n pageRangeDisplayed,\n size = 'M',\n onChange,\n makeUrl,\n component: LinkComponent = 'a' as T,\n linkProps,\n className,\n ariaLabelNext = 'Next',\n ariaLabelPrev = 'Previous',\n ...navProps\n}: PaginationProps<T>) {\n 'use memo'\n const window = usePaginationWindow(page, pageCount, pageRangeDisplayed)\n const isLinkMode = makeUrl !== undefined\n const makeClickHandler = (value: number) => () => onChange?.(value)\n const classNames = useClassNames('charcoal-pagination', className)\n\n const contextValue = {\n page,\n pageCount,\n size,\n isLinkMode,\n makeUrl,\n LinkComponent,\n makeClickHandler,\n linkProps,\n }\n\n return (\n <PaginationContext.Provider\n value={\n contextValue as PaginationContextValue<\n React.ElementType<LinkComponentProps>\n >\n }\n >\n <nav\n data-size={size}\n aria-label=\"Pagination\"\n {...navProps}\n className={classNames}\n >\n <NavButton direction=\"prev\" ariaLabel={ariaLabelPrev} />\n {window.map((p) => (\n <PageItem key={p} value={p} />\n ))}\n <NavButton direction=\"next\" ariaLabel={ariaLabelNext} />\n </nav>\n </PaginationContext.Provider>\n )\n}\n"],"mappings":";;;;;;;;;;;AAmBA,SAAAa,UAAAC,IAAA;AAAA;CAAA,MAAAC,kCAAA,GAAA;CAAA,IAAAA,EAAA,OAAA,oEAAA;EAAA,KAAA,IAAAE,KAAA,GAAAA,KAAA,IAAAA,MAAA,GAAAF,EAAAE,MAAAC,OAAAC,IAAA,4BAAA;EAAAJ,EAAA,KAAA;;CAAmB,MAAA,EAAAJ,WAAAC,cAAAE;CAEjB,MAAA,EAAAM,MAAAC,WAAAC,MAAAC,YAAAC,SAAAC,eAAAC,kBAAAC,cASItB,gDAAsB;CAE1B,MAAAuB,SAAejB,cAAc;CAC7B,MAAAkB,aAAmBD,SACfE,KAAIC,IAAK,GAAGX,OAAO,EACU,GAA7BU,KAAIE,IAAKX,WAAWD,OAAO,EAAE;CACjC,MAAAa,WAAiBL,SAASR,QAAQ,IAAIA,QAAQC;CAC9C,MAAAa,qBAA2BjC,oCACzB,kCACA0B,WAASQ,UACV;CAIS,MAAAC,KAAAR,SAAA,YAAA;CAGO,MAAAS,KAAAJ,YAAAK;CAAqB,IAAAC;CAAA,IAAAxB,EAAA,OAAAU,iBAAAV,EAAA,OAAAkB,YAAAlB,EAAA,OAAAQ,cAAAR,EAAA,OAAAY,aAAAZ,EAAA,OAAAW,oBAAAX,EAAA,OAAAS,WAAAT,EAAA,OAAAmB,sBAAAnB,EAAA,OAAAc,YAAA;EAE7BU,KAAAhB,cAAAC,UAAA;GAAAgB,WAEYf;GAAoBgB,MACzBjB,QAAQK,WAAW;GAAA,iBACRI;GAAQ,GACtBN;GAASQ,WACDD;GAMZ,GAZA;GAAAD;GAAAS,SAUUhB,iBAAiBG,WAAW;GAAAM,WAC1BD;GACZ;EAAAnB,EAAA,KAAAU;EAAAV,EAAA,KAAAkB;EAAAlB,EAAA,KAAAQ;EAAAR,EAAA,KAAAY;EAAAZ,EAAA,KAAAW;EAAAX,EAAA,KAAAS;EAAAT,EAAA,KAAAmB;EAAAnB,EAAA,KAAAc;EAAAd,EAAA,KAAAwB;QAAAA,KAAAxB,EAAA;CAAA,IAAA4B;CAAA,IAAA5B,EAAA,QAAAH,aAAAG,EAAA,QAAAO,QAAAP,EAAA,QAAAqB,MAAArB,EAAA,QAAAsB,MAAAtB,EAAA,QAAAwB,IAAA;EAlBPI,KAAA,2CAAC,uBAAD;GACQ,MAAAP;GACAd;GAEO,eAAAe;GACDzB,cAAAA;GAAS,GAChB2B;GAaL;EAAAxB,EAAA,MAAAH;EAAAG,EAAA,MAAAO;EAAAP,EAAA,MAAAqB;EAAArB,EAAA,MAAAsB;EAAAtB,EAAA,MAAAwB;EAAAxB,EAAA,MAAA4B;QAAAA,KAAA5B,EAAA;CAAA,OAnBF4B;;AAuBJ,SAAAC,SAAA9B,IAAA;AAAA;CAAA,MAAAC,kCAAA,GAAA;CAAA,IAAAA,EAAA,OAAA,oEAAA;EAAA,KAAA,IAAAE,KAAA,GAAAA,KAAA,IAAAA,MAAA,GAAAF,EAAAE,MAAAC,OAAAC,IAAA,4BAAA;EAAAJ,EAAA,KAAA;;CAAkB,MAAA,EAAA8B,UAAA/B;CAEhB,MAAA,EAAAM,MAAAE,MAAAC,YAAAC,SAAAC,eAAAC,kBAAAC,cAQItB,gDAAsB;CAC1B,MAAAyC,oBAA0B7C,oCACxB,8BACA0B,WAASQ,UACV;CAGD,IAAIU,UAAU,OAAK;EAAA,IAAAT;EAAA,IAAArB,EAAA,OAAAO,MAAA;GAEfc,KAAA,2CAAC,uBAAD;IACO,MAAA;IACCd;IACN,UAAA;IACU,WAAA;IACV,eAAA;IACA;GAAAP,EAAA,KAAAO;GAAAP,EAAA,KAAAqB;SAAAA,KAAArB,EAAA;EAAA,OANFqB;;CAUJ,IAAIS,UAAUzB,MAAI;EAAA,IAAAgB;EAAA,IAAArB,EAAA,OAAA8B,OAAA;GAEdT,KAAA,2CAAA,QAAA;IAAgB,WAAA;IAA0C,gBAAA;cACvDS;IACI;GAAA9B,EAAA,KAAA8B;GAAA9B,EAAA,KAAAqB;SAAAA,KAAArB,EAAA;EAAA,OAFPqB;;CAKJ,IAAI,OAAOS,UAAU,UAAQ,OAAS;CAEtC,IAAItB,cAAAC,SAAqB;EAAA,IAAAY;EAAA,IAAArB,EAAA,OAAAS,WAAAT,EAAA,OAAA8B,OAAA;GAGbT,KAAAZ,QAAQqB,MAAM;GAAA9B,EAAA,KAAAS;GAAAT,EAAA,KAAA8B;GAAA9B,EAAA,KAAAqB;SAAAA,KAAArB,EAAA;EAAA,IAAAsB;EAAA,IAAAtB,EAAA,OAAAU,iBAAAV,EAAA,OAAAY,aAAAZ,EAAA,QAAA+B,qBAAA/B,EAAA,QAAAqB,MAAArB,EAAA,QAAA8B,OAAA;GADtBR,KAAA,2CAAC,eAAD;IACQ,MAAAD;IAAc,GAChBT;IACOmB,WAAAA;cAEVD;IACa;GAAA9B,EAAA,KAAAU;GAAAV,EAAA,KAAAY;GAAAZ,EAAA,MAAA+B;GAAA/B,EAAA,MAAAqB;GAAArB,EAAA,MAAA8B;GAAA9B,EAAA,MAAAsB;SAAAA,KAAAtB,EAAA;EAAA,OANhBsB;;CAQH,IAAAD;CAAA,IAAArB,EAAA,QAAAW,oBAAAX,EAAA,QAAA8B,OAAA;EAMYT,KAAAV,iBAAiBmB,MAAM;EAAA9B,EAAA,MAAAW;EAAAX,EAAA,MAAA8B;EAAA9B,EAAA,MAAAqB;QAAAA,KAAArB,EAAA;CAAA,IAAAsB;CAAA,IAAAtB,EAAA,QAAAqB,MAAArB,EAAA,QAAA8B,OAAA;EAHlCR,KAAA,2CAAA,UAAA;GACO,MAAA;GACK,WAAA;GACD,SAAAD;aAERS;GACM;EAAA9B,EAAA,MAAAqB;EAAArB,EAAA,MAAA8B;EAAA9B,EAAA,MAAAsB;QAAAA,KAAAtB,EAAA;CAAA,OANTsB;;AAoEJ,SAAeuB,WAAA9C,IAAA;AAAA;CAAA,MAAAC,kCAAA,GAAA;CAAA,IAAAA,EAAA,OAAA,oEAAA;EAAA,KAAA,IAAAE,KAAA,GAAAA,KAAA,IAAAA,MAAA,GAAAF,EAAAE,MAAAC,OAAAC,IAAA,4BAAA;EAAAJ,EAAA,KAAA;;CAAA,IAAAoB;CAAA,IAAAR;CAAA,IAAAH;CAAA,IAAAqC;CAAA,IAAAJ;CAAA,IAAArC;CAAA,IAAAC;CAAA,IAAA2B;CAAA,IAAAZ;CAAA,IAAAC;CAAA,IAAAE;CAAA,IAAAI;CAAA,IAAA5B,EAAA,OAAAD,IAAA;EAAuD,CAAA,CAAAM,MAAAC,WAAA2B,oBAAA1B,MAAAc,IAAAqB,UAAAjC,SAAAgB,WAAAH,IAAAV,WAAAQ,WAAAe,eAAAX,IAAAU,eAAAN,OAAAkB,YAAA/C;EAajDC,EAAA,KAAAD;EAAAC,EAAA,KAAAoB;EAAApB,EAAA,KAAAY;EAAAZ,EAAA,KAAAS;EAAAT,EAAA,KAAA8C;EAAA9C,EAAA,KAAA0C;EAAA1C,EAAA,KAAAK;EAAAL,EAAA,KAAAM;EAAAN,EAAA,KAAAiC;EAAAjC,EAAA,MAAAqB;EAAArB,EAAA,MAAAsB;EAAAtB,EAAA,MAAAwB;EAAAxB,EAAA,MAAA4B;QAAA;EAAAR,YAAApB,EAAA;EAAAY,YAAAZ,EAAA;EAAAS,UAAAT,EAAA;EAAA8C,WAAA9C,EAAA;EAAA0C,WAAA1C,EAAA;EAAAK,OAAAL,EAAA;EAAAM,YAAAN,EAAA;EAAAiC,qBAAAjC,EAAA;EAAAqB,KAAArB,EAAA;EAAAsB,KAAAtB,EAAA;EAAAwB,KAAAxB,EAAA;EAAA4B,KAAA5B,EAAA;;CATnB,MAAAO,OAAAc,OAAAE,SAAA,MAAAF;CAGW,MAAAX,gBAAAY,OAAAC,SAAgB,MAAhBD;CAGX,MAAAa,gBAAAX,OAAAD,SAAA,SAAAC;CACA,MAAAU,gBAAAN,OAAAL,SAAA,aAAAK;CAIA,MAAAmB,SAAe9D,mCAAoBoB,MAAMC,WAAW2B,mBAAmB;CACvE,MAAAzB,aAAmBC,YAAYc;CAAS,IAAAyB;CAAA,IAAAhD,EAAA,QAAA0C,UAAA;EACfM,MAAAlB,gBAAyBY,WAAWZ,MAAM;EAAA9B,EAAA,MAAA0C;EAAA1C,EAAA,MAAAgD;QAAAA,KAAAhD,EAAA;CAAnE,MAAAW,mBAAyBqC;CACzB,MAAAC,aAAmB/D,oCAAc,uBAAuBkC,UAAU;CAAA,IAAA8B;CAAA,IAAAlD,EAAA,QAAAU,iBAAAV,EAAA,QAAAQ,cAAAR,EAAA,QAAAY,aAAAZ,EAAA,QAAAW,oBAAAX,EAAA,QAAAS,WAAAT,EAAA,QAAAK,QAAAL,EAAA,QAAAM,aAAAN,EAAA,QAAAO,MAAA;EAE7C2C,KAAA;GAAA7C;GAAAC;GAAAC;GAAAC;GAAAC;GAAAC;GAAAC;GAAAC;GASpB;EAAAZ,EAAA,MAAAU;EAAAV,EAAA,MAAAQ;EAAAR,EAAA,MAAAY;EAAAZ,EAAA,MAAAW;EAAAX,EAAA,MAAAS;EAAAT,EAAA,MAAAK;EAAAL,EAAA,MAAAM;EAAAN,EAAA,MAAAO;EAAAP,EAAA,MAAAkD;QAAAA,KAAAlD,EAAA;CAKK,MAAAoD,KAAAD;CAEC,IAAAE;CAAA,IAAArD,EAAA,QAAAkC,eAAA;EASDmB,KAAA,2CAAC,WAAD;GAAqB,WAAA;GAAkBnB,WAAAA;GAAiB;EAAAlC,EAAA,MAAAkC;EAAAlC,EAAA,MAAAqD;QAAAA,KAAArD,EAAA;CAAA,IAAAsD;CAAA,IAAAtD,EAAA,QAAA+C,QAAA;EACvDO,KAAAP,OAAMQ,IAAKC,MAEV;EAAAxD,EAAA,MAAA+C;EAAA/C,EAAA,MAAAsD;QAAAA,KAAAtD,EAAA;CAAA,IAAAyD;CAAA,IAAAzD,EAAA,QAAAmC,eAAA;EACFsB,MAAA,2CAAC,WAAD;GAAqB,WAAA;GAAkBtB,WAAAA;GAAiB;EAAAnC,EAAA,MAAAmC;EAAAnC,EAAA,MAAAyD;QAAAA,MAAAzD,EAAA;CAAA,IAAA0D;CAAA,IAAA1D,EAAA,QAAAiD,cAAAjD,EAAA,QAAA8C,YAAA9C,EAAA,QAAAO,QAAAP,EAAA,QAAAyD,OAAAzD,EAAA,QAAAqD,MAAArD,EAAA,QAAAsD,IAAA;EAV1DI,MAAA,4CAAA,OAAA;GACanD,aAAAA;GACA,cAAA;GAAY,GACnBuC;GACOG,WAAAA;aAJb;IAMEI;IACCC;IAGDG;IACI;;EAAAzD,EAAA,MAAAiD;EAAAjD,EAAA,MAAA8C;EAAA9C,EAAA,MAAAO;EAAAP,EAAA,MAAAyD;EAAAzD,EAAA,MAAAqD;EAAArD,EAAA,MAAAsD;EAAAtD,EAAA,MAAA0D;QAAAA,MAAA1D,EAAA;CAAA,IAAA2D;CAAA,IAAA3D,EAAA,QAAA0D,OAAA1D,EAAA,QAAAoD,IAAA;EAlBRO,MAAA,2CAAA,4CAAA,UAAA;GAEI,OAAAP;aAKFM;GAY2B;EAAA1D,EAAA,MAAA0D;EAAA1D,EAAA,MAAAoD;EAAApD,EAAA,MAAA2D;QAAAA,MAAA3D,EAAA;CAAA,OAnB7B2D;;AAhCW,SAAAH,MAAAI,GAAA;CAAA,OA+CL,2CAAC,UAAD,EAAyBA,OAAAA,GAAK,EAAfA,EAAe"}
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useClassNames } from "../../_lib/useClassNames.js";
|
|
3
|
+
import IconButton from "../IconButton/index2.js";
|
|
4
|
+
/* empty css */
|
|
5
|
+
import { usePaginationWindow } from "./helper.js";
|
|
6
|
+
import { PaginationContext, usePaginationContext } from "./PaginationContext.js";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
import { c } from "react-compiler-runtime";
|
|
9
|
+
|
|
10
|
+
//#region src/components/Pagination/index.tsx
|
|
11
|
+
function NavButton(t0) {
|
|
12
|
+
"use memo";
|
|
13
|
+
const $ = c(15);
|
|
14
|
+
const { direction, ariaLabel } = t0;
|
|
15
|
+
const { page, pageCount, size, isLinkMode, makeUrl, LinkComponent, makeClickHandler, linkProps } = usePaginationContext();
|
|
16
|
+
const isPrev = direction === "prev";
|
|
17
|
+
const targetPage = isPrev ? Math.max(1, page - 1) : Math.min(pageCount, page + 1);
|
|
18
|
+
const disabled = isPrev ? page <= 1 : page >= pageCount;
|
|
19
|
+
const navButtonClassName = useClassNames("charcoal-pagination-nav-button", linkProps?.className);
|
|
20
|
+
const t1 = isPrev ? "24/Prev" : "24/Next";
|
|
21
|
+
const t2 = disabled || void 0;
|
|
22
|
+
let t3;
|
|
23
|
+
if ($[0] !== LinkComponent || $[1] !== disabled || $[2] !== isLinkMode || $[3] !== linkProps || $[4] !== makeClickHandler || $[5] !== makeUrl || $[6] !== navButtonClassName || $[7] !== targetPage) {
|
|
24
|
+
t3 = isLinkMode && makeUrl ? {
|
|
25
|
+
component: LinkComponent,
|
|
26
|
+
href: makeUrl(targetPage),
|
|
27
|
+
"aria-disabled": disabled,
|
|
28
|
+
...linkProps,
|
|
29
|
+
className: navButtonClassName
|
|
30
|
+
} : {
|
|
31
|
+
disabled,
|
|
32
|
+
onClick: makeClickHandler(targetPage),
|
|
33
|
+
className: navButtonClassName
|
|
34
|
+
};
|
|
35
|
+
$[0] = LinkComponent;
|
|
36
|
+
$[1] = disabled;
|
|
37
|
+
$[2] = isLinkMode;
|
|
38
|
+
$[3] = linkProps;
|
|
39
|
+
$[4] = makeClickHandler;
|
|
40
|
+
$[5] = makeUrl;
|
|
41
|
+
$[6] = navButtonClassName;
|
|
42
|
+
$[7] = targetPage;
|
|
43
|
+
$[8] = t3;
|
|
44
|
+
} else t3 = $[8];
|
|
45
|
+
let t4;
|
|
46
|
+
if ($[9] !== ariaLabel || $[10] !== size || $[11] !== t1 || $[12] !== t2 || $[13] !== t3) {
|
|
47
|
+
t4 = /* @__PURE__ */ jsx(IconButton, {
|
|
48
|
+
icon: t1,
|
|
49
|
+
size,
|
|
50
|
+
"data-hidden": t2,
|
|
51
|
+
"aria-label": ariaLabel,
|
|
52
|
+
...t3
|
|
53
|
+
});
|
|
54
|
+
$[9] = ariaLabel;
|
|
55
|
+
$[10] = size;
|
|
56
|
+
$[11] = t1;
|
|
57
|
+
$[12] = t2;
|
|
58
|
+
$[13] = t3;
|
|
59
|
+
$[14] = t4;
|
|
60
|
+
} else t4 = $[14];
|
|
61
|
+
return t4;
|
|
62
|
+
}
|
|
63
|
+
function PageItem(t0) {
|
|
64
|
+
"use memo";
|
|
65
|
+
const $ = c(19);
|
|
66
|
+
const { value } = t0;
|
|
67
|
+
const { page, size, isLinkMode, makeUrl, LinkComponent, makeClickHandler, linkProps } = usePaginationContext();
|
|
68
|
+
const pageItemClassName = useClassNames("charcoal-pagination-button", linkProps?.className);
|
|
69
|
+
if (value === "...") {
|
|
70
|
+
let t1;
|
|
71
|
+
if ($[0] !== size) {
|
|
72
|
+
t1 = /* @__PURE__ */ jsx(IconButton, {
|
|
73
|
+
icon: "24/Dot",
|
|
74
|
+
size,
|
|
75
|
+
disabled: true,
|
|
76
|
+
className: "charcoal-pagination-spacer",
|
|
77
|
+
"aria-hidden": true
|
|
78
|
+
});
|
|
79
|
+
$[0] = size;
|
|
80
|
+
$[1] = t1;
|
|
81
|
+
} else t1 = $[1];
|
|
82
|
+
return t1;
|
|
83
|
+
}
|
|
84
|
+
if (value === page) {
|
|
85
|
+
let t1;
|
|
86
|
+
if ($[2] !== value) {
|
|
87
|
+
t1 = /* @__PURE__ */ jsx("span", {
|
|
88
|
+
className: "charcoal-pagination-button",
|
|
89
|
+
"aria-current": "page",
|
|
90
|
+
children: value
|
|
91
|
+
});
|
|
92
|
+
$[2] = value;
|
|
93
|
+
$[3] = t1;
|
|
94
|
+
} else t1 = $[3];
|
|
95
|
+
return t1;
|
|
96
|
+
}
|
|
97
|
+
if (typeof value !== "number") return null;
|
|
98
|
+
if (isLinkMode && makeUrl) {
|
|
99
|
+
let t1;
|
|
100
|
+
if ($[4] !== makeUrl || $[5] !== value) {
|
|
101
|
+
t1 = makeUrl(value);
|
|
102
|
+
$[4] = makeUrl;
|
|
103
|
+
$[5] = value;
|
|
104
|
+
$[6] = t1;
|
|
105
|
+
} else t1 = $[6];
|
|
106
|
+
let t2;
|
|
107
|
+
if ($[7] !== LinkComponent || $[8] !== linkProps || $[9] !== pageItemClassName || $[10] !== t1 || $[11] !== value) {
|
|
108
|
+
t2 = /* @__PURE__ */ jsx(LinkComponent, {
|
|
109
|
+
href: t1,
|
|
110
|
+
...linkProps,
|
|
111
|
+
className: pageItemClassName,
|
|
112
|
+
children: value
|
|
113
|
+
});
|
|
114
|
+
$[7] = LinkComponent;
|
|
115
|
+
$[8] = linkProps;
|
|
116
|
+
$[9] = pageItemClassName;
|
|
117
|
+
$[10] = t1;
|
|
118
|
+
$[11] = value;
|
|
119
|
+
$[12] = t2;
|
|
120
|
+
} else t2 = $[12];
|
|
121
|
+
return t2;
|
|
122
|
+
}
|
|
123
|
+
let t1;
|
|
124
|
+
if ($[13] !== makeClickHandler || $[14] !== value) {
|
|
125
|
+
t1 = makeClickHandler(value);
|
|
126
|
+
$[13] = makeClickHandler;
|
|
127
|
+
$[14] = value;
|
|
128
|
+
$[15] = t1;
|
|
129
|
+
} else t1 = $[15];
|
|
130
|
+
let t2;
|
|
131
|
+
if ($[16] !== t1 || $[17] !== value) {
|
|
132
|
+
t2 = /* @__PURE__ */ jsx("button", {
|
|
133
|
+
type: "button",
|
|
134
|
+
className: "charcoal-pagination-button",
|
|
135
|
+
onClick: t1,
|
|
136
|
+
children: value
|
|
137
|
+
});
|
|
138
|
+
$[16] = t1;
|
|
139
|
+
$[17] = value;
|
|
140
|
+
$[18] = t2;
|
|
141
|
+
} else t2 = $[18];
|
|
142
|
+
return t2;
|
|
143
|
+
}
|
|
144
|
+
function Pagination(t0) {
|
|
145
|
+
"use memo";
|
|
146
|
+
const $ = c(40);
|
|
147
|
+
let className;
|
|
148
|
+
let linkProps;
|
|
149
|
+
let makeUrl;
|
|
150
|
+
let navProps;
|
|
151
|
+
let onChange;
|
|
152
|
+
let page;
|
|
153
|
+
let pageCount;
|
|
154
|
+
let pageRangeDisplayed;
|
|
155
|
+
let t1;
|
|
156
|
+
let t2;
|
|
157
|
+
let t3;
|
|
158
|
+
let t4;
|
|
159
|
+
if ($[0] !== t0) {
|
|
160
|
+
({page, pageCount, pageRangeDisplayed, size: t1, onChange, makeUrl, component: t2, linkProps, className, ariaLabelNext: t3, ariaLabelPrev: t4, ...navProps} = t0);
|
|
161
|
+
$[0] = t0;
|
|
162
|
+
$[1] = className;
|
|
163
|
+
$[2] = linkProps;
|
|
164
|
+
$[3] = makeUrl;
|
|
165
|
+
$[4] = navProps;
|
|
166
|
+
$[5] = onChange;
|
|
167
|
+
$[6] = page;
|
|
168
|
+
$[7] = pageCount;
|
|
169
|
+
$[8] = pageRangeDisplayed;
|
|
170
|
+
$[9] = t1;
|
|
171
|
+
$[10] = t2;
|
|
172
|
+
$[11] = t3;
|
|
173
|
+
$[12] = t4;
|
|
174
|
+
} else {
|
|
175
|
+
className = $[1];
|
|
176
|
+
linkProps = $[2];
|
|
177
|
+
makeUrl = $[3];
|
|
178
|
+
navProps = $[4];
|
|
179
|
+
onChange = $[5];
|
|
180
|
+
page = $[6];
|
|
181
|
+
pageCount = $[7];
|
|
182
|
+
pageRangeDisplayed = $[8];
|
|
183
|
+
t1 = $[9];
|
|
184
|
+
t2 = $[10];
|
|
185
|
+
t3 = $[11];
|
|
186
|
+
t4 = $[12];
|
|
187
|
+
}
|
|
188
|
+
const size = t1 === void 0 ? "M" : t1;
|
|
189
|
+
const LinkComponent = t2 === void 0 ? "a" : t2;
|
|
190
|
+
const ariaLabelNext = t3 === void 0 ? "Next" : t3;
|
|
191
|
+
const ariaLabelPrev = t4 === void 0 ? "Previous" : t4;
|
|
192
|
+
const window = usePaginationWindow(page, pageCount, pageRangeDisplayed);
|
|
193
|
+
const isLinkMode = makeUrl !== void 0;
|
|
194
|
+
let t5;
|
|
195
|
+
if ($[13] !== onChange) {
|
|
196
|
+
t5 = (value) => () => onChange?.(value);
|
|
197
|
+
$[13] = onChange;
|
|
198
|
+
$[14] = t5;
|
|
199
|
+
} else t5 = $[14];
|
|
200
|
+
const makeClickHandler = t5;
|
|
201
|
+
const classNames = useClassNames("charcoal-pagination", className);
|
|
202
|
+
let t6;
|
|
203
|
+
if ($[15] !== LinkComponent || $[16] !== isLinkMode || $[17] !== linkProps || $[18] !== makeClickHandler || $[19] !== makeUrl || $[20] !== page || $[21] !== pageCount || $[22] !== size) {
|
|
204
|
+
t6 = {
|
|
205
|
+
page,
|
|
206
|
+
pageCount,
|
|
207
|
+
size,
|
|
208
|
+
isLinkMode,
|
|
209
|
+
makeUrl,
|
|
210
|
+
LinkComponent,
|
|
211
|
+
makeClickHandler,
|
|
212
|
+
linkProps
|
|
213
|
+
};
|
|
214
|
+
$[15] = LinkComponent;
|
|
215
|
+
$[16] = isLinkMode;
|
|
216
|
+
$[17] = linkProps;
|
|
217
|
+
$[18] = makeClickHandler;
|
|
218
|
+
$[19] = makeUrl;
|
|
219
|
+
$[20] = page;
|
|
220
|
+
$[21] = pageCount;
|
|
221
|
+
$[22] = size;
|
|
222
|
+
$[23] = t6;
|
|
223
|
+
} else t6 = $[23];
|
|
224
|
+
const t7 = t6;
|
|
225
|
+
let t8;
|
|
226
|
+
if ($[24] !== ariaLabelPrev) {
|
|
227
|
+
t8 = /* @__PURE__ */ jsx(NavButton, {
|
|
228
|
+
direction: "prev",
|
|
229
|
+
ariaLabel: ariaLabelPrev
|
|
230
|
+
});
|
|
231
|
+
$[24] = ariaLabelPrev;
|
|
232
|
+
$[25] = t8;
|
|
233
|
+
} else t8 = $[25];
|
|
234
|
+
let t9;
|
|
235
|
+
if ($[26] !== window) {
|
|
236
|
+
t9 = window.map(_temp);
|
|
237
|
+
$[26] = window;
|
|
238
|
+
$[27] = t9;
|
|
239
|
+
} else t9 = $[27];
|
|
240
|
+
let t10;
|
|
241
|
+
if ($[28] !== ariaLabelNext) {
|
|
242
|
+
t10 = /* @__PURE__ */ jsx(NavButton, {
|
|
243
|
+
direction: "next",
|
|
244
|
+
ariaLabel: ariaLabelNext
|
|
245
|
+
});
|
|
246
|
+
$[28] = ariaLabelNext;
|
|
247
|
+
$[29] = t10;
|
|
248
|
+
} else t10 = $[29];
|
|
249
|
+
let t11;
|
|
250
|
+
if ($[30] !== classNames || $[31] !== navProps || $[32] !== size || $[33] !== t10 || $[34] !== t8 || $[35] !== t9) {
|
|
251
|
+
t11 = /* @__PURE__ */ jsxs("nav", {
|
|
252
|
+
"data-size": size,
|
|
253
|
+
"aria-label": "Pagination",
|
|
254
|
+
...navProps,
|
|
255
|
+
className: classNames,
|
|
256
|
+
children: [
|
|
257
|
+
t8,
|
|
258
|
+
t9,
|
|
259
|
+
t10
|
|
260
|
+
]
|
|
261
|
+
});
|
|
262
|
+
$[30] = classNames;
|
|
263
|
+
$[31] = navProps;
|
|
264
|
+
$[32] = size;
|
|
265
|
+
$[33] = t10;
|
|
266
|
+
$[34] = t8;
|
|
267
|
+
$[35] = t9;
|
|
268
|
+
$[36] = t11;
|
|
269
|
+
} else t11 = $[36];
|
|
270
|
+
let t12;
|
|
271
|
+
if ($[37] !== t11 || $[38] !== t7) {
|
|
272
|
+
t12 = /* @__PURE__ */ jsx(PaginationContext.Provider, {
|
|
273
|
+
value: t7,
|
|
274
|
+
children: t11
|
|
275
|
+
});
|
|
276
|
+
$[37] = t11;
|
|
277
|
+
$[38] = t7;
|
|
278
|
+
$[39] = t12;
|
|
279
|
+
} else t12 = $[39];
|
|
280
|
+
return t12;
|
|
281
|
+
}
|
|
282
|
+
function _temp(p) {
|
|
283
|
+
return /* @__PURE__ */ jsx(PageItem, { value: p }, p);
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
//#endregion
|
|
287
|
+
export { Pagination as default };
|
|
288
|
+
//# sourceMappingURL=index2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index2.js","names":["usePaginationWindow","useClassNames","IconButton","IconButtonProps","PaginationContext","usePaginationContext","LinkComponentProps","PaginationContextValue","PageRangeDisplayed","Size","NavButtonProps","direction","ariaLabel","NavButton","t0","$","_c","page","pageCount","size","isLinkMode","makeUrl","LinkComponent","makeClickHandler","linkProps","isPrev","targetPage","Math","max","min","disabled","navButtonClassName","className","t1","t2","undefined","t3","component","href","onClick","t4","PageItem","value","pageItemClassName","PaginationCommonProps","pageRangeDisplayed","ariaLabelPrev","ariaLabelNext","NavProps","Omit","React","ComponentPropsWithoutRef","PaginationProps","ElementType","onChange","newPage","T","Pagination","navProps","window","t5","classNames","t6","contextValue","t7","t8","t9","map","_temp","t10","t11","t12","p"],"sources":["../../../src/components/Pagination/index.tsx"],"sourcesContent":["import './index.css'\n\nimport { usePaginationWindow } from './helper'\nimport { useClassNames } from '../../_lib/useClassNames'\nimport IconButton, { IconButtonProps } from '../IconButton'\nimport {\n PaginationContext,\n usePaginationContext,\n type LinkComponentProps,\n type PaginationContextValue,\n type PageRangeDisplayed,\n type Size,\n} from './PaginationContext'\n\ntype NavButtonProps = {\n direction: 'prev' | 'next'\n ariaLabel: IconButtonProps['aria-label']\n}\n\nfunction NavButton({ direction, ariaLabel }: NavButtonProps) {\n 'use memo'\n const {\n page,\n pageCount,\n size,\n isLinkMode,\n makeUrl,\n LinkComponent,\n makeClickHandler,\n linkProps,\n } = usePaginationContext()\n\n const isPrev = direction === 'prev'\n const targetPage = isPrev\n ? Math.max(1, page - 1)\n : Math.min(pageCount, page + 1)\n const disabled = isPrev ? page <= 1 : page >= pageCount\n const navButtonClassName = useClassNames(\n 'charcoal-pagination-nav-button',\n linkProps?.className,\n )\n\n return (\n <IconButton\n icon={isPrev ? '24/Prev' : '24/Next'}\n size={size}\n /* Use data-hidden, not [hidden]: Tailwind preflight's `[hidden] { display: none !important }` would clobber `visibility: hidden` and collapse the layout space. */\n data-hidden={disabled || undefined}\n aria-label={ariaLabel}\n {...(isLinkMode && makeUrl\n ? {\n component: LinkComponent as 'a',\n href: makeUrl(targetPage),\n 'aria-disabled': disabled,\n ...linkProps,\n className: navButtonClassName,\n }\n : {\n disabled,\n onClick: makeClickHandler(targetPage),\n className: navButtonClassName,\n })}\n />\n )\n}\n\nfunction PageItem({ value }: { value: number | string }) {\n 'use memo'\n const {\n page,\n size,\n isLinkMode,\n makeUrl,\n LinkComponent,\n makeClickHandler,\n linkProps,\n } = usePaginationContext()\n const pageItemClassName = useClassNames(\n 'charcoal-pagination-button',\n linkProps?.className,\n )\n\n // 省略記号\n if (value === '...') {\n return (\n <IconButton\n icon=\"24/Dot\"\n size={size}\n disabled\n className=\"charcoal-pagination-spacer\"\n aria-hidden\n />\n )\n }\n // 現在ページ(クリック不可)\n if (value === page) {\n return (\n <span className=\"charcoal-pagination-button\" aria-current=\"page\">\n {value}\n </span>\n )\n }\n if (typeof value !== 'number') return null\n // リンクモード: ページへのリンク\n if (isLinkMode && makeUrl) {\n return (\n <LinkComponent\n href={makeUrl(value)}\n {...linkProps}\n className={pageItemClassName}\n >\n {value}\n </LinkComponent>\n )\n }\n // ボタンモード: クリックでページ遷移\n return (\n <button\n type=\"button\"\n className=\"charcoal-pagination-button\"\n onClick={makeClickHandler(value)}\n >\n {value}\n </button>\n )\n}\n\ninterface PaginationCommonProps {\n page: number\n pageCount: number\n pageRangeDisplayed?: PageRangeDisplayed\n size?: Size\n ariaLabelPrev?: string\n ariaLabelNext?: string\n}\n\ntype NavProps = Omit<React.ComponentPropsWithoutRef<'nav'>, 'onChange'>\n\n/**\n * Pagination component. Use either `onChange` (button mode) or `makeUrl` (link mode).\n *\n * @example\n * // Button mode - for client-side state\n * <Pagination page={1} pageCount={10} onChange={setPage} />\n *\n * @example\n * // Link mode - for server routing / static pages\n * <Pagination page={1} pageCount={10} makeUrl={(p) => `?page=${p}`} />\n *\n * @example\n * // Link mode with custom component (e.g. Next.js Link)\n * <Pagination page={1} pageCount={10} makeUrl={(p) => `?page=${p}`} component={Link} />\n *\n * @example\n * // Link mode with linkProps (e.g. Next.js scroll)\n * <Pagination page={1} pageCount={10} makeUrl={(p) => `?page=${p}`} component={Link} linkProps={{ scroll: 'marker' }} />\n */\nexport type PaginationProps<T extends React.ElementType = 'a'> =\n PaginationCommonProps &\n NavProps &\n (\n | {\n onChange(newPage: number): void\n makeUrl?: never\n component?: never\n linkProps?: undefined\n }\n | {\n makeUrl(page: number): string\n onChange?: never\n /**\n * The component used for link elements. Receives `href`, `className`, and `children`.\n * @default 'a'\n */\n component?: T\n /**\n * Additional props passed to all link elements (e.g. Next.js Link's scroll, prefetch).\n */\n linkProps?: Omit<\n React.ComponentPropsWithoutRef<T>,\n 'href' | 'children'\n >\n }\n )\n\nexport default function Pagination<T extends React.ElementType = 'a'>({\n page,\n pageCount,\n pageRangeDisplayed,\n size = 'M',\n onChange,\n makeUrl,\n component: LinkComponent = 'a' as T,\n linkProps,\n className,\n ariaLabelNext = 'Next',\n ariaLabelPrev = 'Previous',\n ...navProps\n}: PaginationProps<T>) {\n 'use memo'\n const window = usePaginationWindow(page, pageCount, pageRangeDisplayed)\n const isLinkMode = makeUrl !== undefined\n const makeClickHandler = (value: number) => () => onChange?.(value)\n const classNames = useClassNames('charcoal-pagination', className)\n\n const contextValue = {\n page,\n pageCount,\n size,\n isLinkMode,\n makeUrl,\n LinkComponent,\n makeClickHandler,\n linkProps,\n }\n\n return (\n <PaginationContext.Provider\n value={\n contextValue as PaginationContextValue<\n React.ElementType<LinkComponentProps>\n >\n }\n >\n <nav\n data-size={size}\n aria-label=\"Pagination\"\n {...navProps}\n className={classNames}\n >\n <NavButton direction=\"prev\" ariaLabel={ariaLabelPrev} />\n {window.map((p) => (\n <PageItem key={p} value={p} />\n ))}\n <NavButton direction=\"next\" ariaLabel={ariaLabelNext} />\n </nav>\n </PaginationContext.Provider>\n )\n}\n"],"mappings":"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"}
|