@charcoal-ui/react 6.0.0-rc.6 → 6.0.0-rc.8

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.
Files changed (292) hide show
  1. package/dist/_lib/createDivComponent.cjs +20 -0
  2. package/dist/_lib/createDivComponent.cjs.map +1 -0
  3. package/dist/_lib/createDivComponent.js +19 -0
  4. package/dist/_lib/createDivComponent.js.map +1 -0
  5. package/dist/_lib/index.cjs +22 -0
  6. package/dist/_lib/index.cjs.map +1 -0
  7. package/dist/_lib/index.js +20 -0
  8. package/dist/_lib/index.js.map +1 -0
  9. package/dist/_lib/useClassNames.cjs +15 -0
  10. package/dist/_lib/useClassNames.cjs.map +1 -0
  11. package/dist/_lib/useClassNames.js +14 -0
  12. package/dist/_lib/useClassNames.js.map +1 -0
  13. package/dist/_lib/useForwardedRef.cjs +19 -0
  14. package/dist/_lib/useForwardedRef.cjs.map +1 -0
  15. package/dist/_lib/useForwardedRef.js +17 -0
  16. package/dist/_lib/useForwardedRef.js.map +1 -0
  17. package/dist/_lib/useIsomorphicLayoutEffect.cjs +13 -0
  18. package/dist/_lib/useIsomorphicLayoutEffect.cjs.map +1 -0
  19. package/dist/_lib/useIsomorphicLayoutEffect.js +12 -0
  20. package/dist/_lib/useIsomorphicLayoutEffect.js.map +1 -0
  21. package/dist/_virtual/_rolldown/runtime.cjs +30 -0
  22. package/dist/components/Button/index2.cjs +26 -0
  23. package/dist/components/Button/index2.cjs.map +1 -0
  24. package/dist/components/Button/index2.js +24 -0
  25. package/dist/components/Button/index2.js.map +1 -0
  26. package/dist/components/Carousel/CarouselItem.cjs +46 -0
  27. package/dist/components/Carousel/CarouselItem.cjs.map +1 -0
  28. package/dist/components/Carousel/CarouselItem.js +45 -0
  29. package/dist/components/Carousel/CarouselItem.js.map +1 -0
  30. package/dist/components/Carousel/carouselStore.cjs +38 -0
  31. package/dist/components/Carousel/carouselStore.cjs.map +1 -0
  32. package/dist/components/Carousel/carouselStore.js +37 -0
  33. package/dist/components/Carousel/carouselStore.js.map +1 -0
  34. package/dist/components/Carousel/index.d.ts +2 -0
  35. package/dist/components/Carousel/index.d.ts.map +1 -1
  36. package/dist/components/Carousel/index2.cjs +145 -0
  37. package/dist/components/Carousel/index2.cjs.map +1 -0
  38. package/dist/components/Carousel/index2.js +144 -0
  39. package/dist/components/Carousel/index2.js.map +1 -0
  40. package/dist/components/Carousel/intersectionObserver.cjs +46 -0
  41. package/dist/components/Carousel/intersectionObserver.cjs.map +1 -0
  42. package/dist/components/Carousel/intersectionObserver.js +45 -0
  43. package/dist/components/Carousel/intersectionObserver.js.map +1 -0
  44. package/dist/components/Carousel/resizeObserver.cjs +34 -0
  45. package/dist/components/Carousel/resizeObserver.cjs.map +1 -0
  46. package/dist/components/Carousel/resizeObserver.js +33 -0
  47. package/dist/components/Carousel/resizeObserver.js.map +1 -0
  48. package/dist/components/Carousel/store.cjs +24 -0
  49. package/dist/components/Carousel/store.cjs.map +1 -0
  50. package/dist/components/Carousel/store.js +23 -0
  51. package/dist/components/Carousel/store.js.map +1 -0
  52. package/dist/components/Carousel/useCarouselScroller.cjs +149 -0
  53. package/dist/components/Carousel/useCarouselScroller.cjs.map +1 -0
  54. package/dist/components/Carousel/useCarouselScroller.js +148 -0
  55. package/dist/components/Carousel/useCarouselScroller.js.map +1 -0
  56. package/dist/components/Checkbox/CheckboxInput/index2.cjs +29 -0
  57. package/dist/components/Checkbox/CheckboxInput/index2.cjs.map +1 -0
  58. package/dist/components/Checkbox/CheckboxInput/index2.js +28 -0
  59. package/dist/components/Checkbox/CheckboxInput/index2.js.map +1 -0
  60. package/dist/components/Checkbox/CheckboxWithLabel.cjs +23 -0
  61. package/dist/components/Checkbox/CheckboxWithLabel.cjs.map +1 -0
  62. package/dist/components/Checkbox/CheckboxWithLabel.js +21 -0
  63. package/dist/components/Checkbox/CheckboxWithLabel.js.map +1 -0
  64. package/dist/components/Checkbox/index2.cjs +34 -0
  65. package/dist/components/Checkbox/index2.cjs.map +1 -0
  66. package/dist/components/Checkbox/index2.js +33 -0
  67. package/dist/components/Checkbox/index2.js.map +1 -0
  68. package/dist/components/Clickable/index2.cjs +21 -0
  69. package/dist/components/Clickable/index2.cjs.map +1 -0
  70. package/dist/components/Clickable/index2.js +19 -0
  71. package/dist/components/Clickable/index2.js.map +1 -0
  72. package/dist/components/DropdownSelector/DropdownMenuItem/index2.cjs +44 -0
  73. package/dist/components/DropdownSelector/DropdownMenuItem/index2.cjs.map +1 -0
  74. package/dist/components/DropdownSelector/DropdownMenuItem/index2.js +43 -0
  75. package/dist/components/DropdownSelector/DropdownMenuItem/index2.js.map +1 -0
  76. package/dist/components/DropdownSelector/DropdownPopover.cjs +41 -0
  77. package/dist/components/DropdownSelector/DropdownPopover.cjs.map +1 -0
  78. package/dist/components/DropdownSelector/DropdownPopover.js +40 -0
  79. package/dist/components/DropdownSelector/DropdownPopover.js.map +1 -0
  80. package/dist/components/DropdownSelector/ListItem/index2.cjs +19 -0
  81. package/dist/components/DropdownSelector/ListItem/index2.cjs.map +1 -0
  82. package/dist/components/DropdownSelector/ListItem/index2.js +18 -0
  83. package/dist/components/DropdownSelector/ListItem/index2.js.map +1 -0
  84. package/dist/components/DropdownSelector/MenuItem/index.cjs +30 -0
  85. package/dist/components/DropdownSelector/MenuItem/index.cjs.map +1 -0
  86. package/dist/components/DropdownSelector/MenuItem/index.js +29 -0
  87. package/dist/components/DropdownSelector/MenuItem/index.js.map +1 -0
  88. package/dist/components/DropdownSelector/MenuItem/internals/handleFocusByKeyBoard.cjs +30 -0
  89. package/dist/components/DropdownSelector/MenuItem/internals/handleFocusByKeyBoard.cjs.map +1 -0
  90. package/dist/components/DropdownSelector/MenuItem/internals/handleFocusByKeyBoard.js +29 -0
  91. package/dist/components/DropdownSelector/MenuItem/internals/handleFocusByKeyBoard.js.map +1 -0
  92. package/dist/components/DropdownSelector/MenuItem/internals/useMenuItemHandleKeyDown.cjs +53 -0
  93. package/dist/components/DropdownSelector/MenuItem/internals/useMenuItemHandleKeyDown.cjs.map +1 -0
  94. package/dist/components/DropdownSelector/MenuItem/internals/useMenuItemHandleKeyDown.js +52 -0
  95. package/dist/components/DropdownSelector/MenuItem/internals/useMenuItemHandleKeyDown.js.map +1 -0
  96. package/dist/components/DropdownSelector/MenuItemGroup/index2.cjs +20 -0
  97. package/dist/components/DropdownSelector/MenuItemGroup/index2.cjs.map +1 -0
  98. package/dist/components/DropdownSelector/MenuItemGroup/index2.js +19 -0
  99. package/dist/components/DropdownSelector/MenuItemGroup/index2.js.map +1 -0
  100. package/dist/components/DropdownSelector/MenuList/MenuListContext.cjs +15 -0
  101. package/dist/components/DropdownSelector/MenuList/MenuListContext.cjs.map +1 -0
  102. package/dist/components/DropdownSelector/MenuList/MenuListContext.js +14 -0
  103. package/dist/components/DropdownSelector/MenuList/MenuListContext.js.map +1 -0
  104. package/dist/components/DropdownSelector/MenuList/index2.cjs +32 -0
  105. package/dist/components/DropdownSelector/MenuList/index2.cjs.map +1 -0
  106. package/dist/components/DropdownSelector/MenuList/index2.js +31 -0
  107. package/dist/components/DropdownSelector/MenuList/index2.js.map +1 -0
  108. package/dist/components/DropdownSelector/MenuList/internals/getValuesRecursive.cjs +34 -0
  109. package/dist/components/DropdownSelector/MenuList/internals/getValuesRecursive.cjs.map +1 -0
  110. package/dist/components/DropdownSelector/MenuList/internals/getValuesRecursive.js +32 -0
  111. package/dist/components/DropdownSelector/MenuList/internals/getValuesRecursive.js.map +1 -0
  112. package/dist/components/DropdownSelector/Popover/index2.cjs +71 -0
  113. package/dist/components/DropdownSelector/Popover/index2.cjs.map +1 -0
  114. package/dist/components/DropdownSelector/Popover/index2.js +70 -0
  115. package/dist/components/DropdownSelector/Popover/index2.js.map +1 -0
  116. package/dist/components/DropdownSelector/Popover/usePreventScroll.cjs +27 -0
  117. package/dist/components/DropdownSelector/Popover/usePreventScroll.cjs.map +1 -0
  118. package/dist/components/DropdownSelector/Popover/usePreventScroll.js +26 -0
  119. package/dist/components/DropdownSelector/Popover/usePreventScroll.js.map +1 -0
  120. package/dist/components/DropdownSelector/index2.cjs +113 -0
  121. package/dist/components/DropdownSelector/index2.cjs.map +1 -0
  122. package/dist/components/DropdownSelector/index2.js +111 -0
  123. package/dist/components/DropdownSelector/index2.js.map +1 -0
  124. package/dist/components/DropdownSelector/utils/findPreviewRecursive.cjs +34 -0
  125. package/dist/components/DropdownSelector/utils/findPreviewRecursive.cjs.map +1 -0
  126. package/dist/components/DropdownSelector/utils/findPreviewRecursive.js +32 -0
  127. package/dist/components/DropdownSelector/utils/findPreviewRecursive.js.map +1 -0
  128. package/dist/components/FieldLabel/index2.cjs +35 -0
  129. package/dist/components/FieldLabel/index2.cjs.map +1 -0
  130. package/dist/components/FieldLabel/index2.js +33 -0
  131. package/dist/components/FieldLabel/index2.js.map +1 -0
  132. package/dist/components/HintText/index2.cjs +25 -0
  133. package/dist/components/HintText/index2.cjs.map +1 -0
  134. package/dist/components/HintText/index2.js +24 -0
  135. package/dist/components/HintText/index2.js.map +1 -0
  136. package/dist/components/Icon/index.cjs +39 -0
  137. package/dist/components/Icon/index.cjs.map +1 -0
  138. package/dist/components/Icon/index.js +37 -0
  139. package/dist/components/Icon/index.js.map +1 -0
  140. package/dist/components/IconButton/index2.cjs +46 -0
  141. package/dist/components/IconButton/index2.cjs.map +1 -0
  142. package/dist/components/IconButton/index2.js +44 -0
  143. package/dist/components/IconButton/index2.js.map +1 -0
  144. package/dist/components/LoadingSpinner/index2.cjs +43 -0
  145. package/dist/components/LoadingSpinner/index2.cjs.map +1 -0
  146. package/dist/components/LoadingSpinner/index2.js +41 -0
  147. package/dist/components/LoadingSpinner/index2.js.map +1 -0
  148. package/dist/components/Modal/Dialog/index2.cjs +30 -0
  149. package/dist/components/Modal/Dialog/index2.cjs.map +1 -0
  150. package/dist/components/Modal/Dialog/index2.js +28 -0
  151. package/dist/components/Modal/Dialog/index2.js.map +1 -0
  152. package/dist/components/Modal/ModalBackgroundContext.cjs +14 -0
  153. package/dist/components/Modal/ModalBackgroundContext.cjs.map +1 -0
  154. package/dist/components/Modal/ModalBackgroundContext.js +12 -0
  155. package/dist/components/Modal/ModalBackgroundContext.js.map +1 -0
  156. package/dist/components/Modal/ModalPlumbing2.cjs +30 -0
  157. package/dist/components/Modal/ModalPlumbing2.cjs.map +1 -0
  158. package/dist/components/Modal/ModalPlumbing2.js +26 -0
  159. package/dist/components/Modal/ModalPlumbing2.js.map +1 -0
  160. package/dist/components/Modal/index2.cjs +121 -0
  161. package/dist/components/Modal/index2.cjs.map +1 -0
  162. package/dist/components/Modal/index2.js +118 -0
  163. package/dist/components/Modal/index2.js.map +1 -0
  164. package/dist/components/Modal/useCustomModalOverlay.cjs +48 -0
  165. package/dist/components/Modal/useCustomModalOverlay.cjs.map +1 -0
  166. package/dist/components/Modal/useCustomModalOverlay.js +45 -0
  167. package/dist/components/Modal/useCustomModalOverlay.js.map +1 -0
  168. package/dist/components/Modal/useTransitionPresence.cjs +57 -0
  169. package/dist/components/Modal/useTransitionPresence.cjs.map +1 -0
  170. package/dist/components/Modal/useTransitionPresence.js +56 -0
  171. package/dist/components/Modal/useTransitionPresence.js.map +1 -0
  172. package/dist/components/MultiSelect/context.cjs +19 -0
  173. package/dist/components/MultiSelect/context.cjs.map +1 -0
  174. package/dist/components/MultiSelect/context.js +18 -0
  175. package/dist/components/MultiSelect/context.js.map +1 -0
  176. package/dist/components/MultiSelect/index2.cjs +97 -0
  177. package/dist/components/MultiSelect/index2.cjs.map +1 -0
  178. package/dist/components/MultiSelect/index2.js +93 -0
  179. package/dist/components/MultiSelect/index2.js.map +1 -0
  180. package/dist/components/Pagination/PaginationContext.cjs +16 -0
  181. package/dist/components/Pagination/PaginationContext.cjs.map +1 -0
  182. package/dist/components/Pagination/PaginationContext.js +14 -0
  183. package/dist/components/Pagination/PaginationContext.js.map +1 -0
  184. package/dist/components/Pagination/helper.cjs +63 -0
  185. package/dist/components/Pagination/helper.cjs.map +1 -0
  186. package/dist/components/Pagination/helper.js +61 -0
  187. package/dist/components/Pagination/helper.js.map +1 -0
  188. package/dist/components/Pagination/index2.cjs +301 -0
  189. package/dist/components/Pagination/index2.cjs.map +1 -0
  190. package/dist/components/Pagination/index2.js +288 -0
  191. package/dist/components/Pagination/index2.js.map +1 -0
  192. package/dist/components/Radio/RadioGroup/index2.cjs +49 -0
  193. package/dist/components/Radio/RadioGroup/index2.cjs.map +1 -0
  194. package/dist/components/Radio/RadioGroup/index2.js +47 -0
  195. package/dist/components/Radio/RadioGroup/index2.js.map +1 -0
  196. package/dist/components/Radio/RadioGroupContext.cjs +20 -0
  197. package/dist/components/Radio/RadioGroupContext.cjs.map +1 -0
  198. package/dist/components/Radio/RadioGroupContext.js +18 -0
  199. package/dist/components/Radio/RadioGroupContext.js.map +1 -0
  200. package/dist/components/Radio/RadioInput/index2.cjs +27 -0
  201. package/dist/components/Radio/RadioInput/index2.cjs.map +1 -0
  202. package/dist/components/Radio/RadioInput/index2.js +26 -0
  203. package/dist/components/Radio/RadioInput/index2.js.map +1 -0
  204. package/dist/components/Radio/index2.cjs +42 -0
  205. package/dist/components/Radio/index2.cjs.map +1 -0
  206. package/dist/components/Radio/index2.js +39 -0
  207. package/dist/components/Radio/index2.js.map +1 -0
  208. package/dist/components/SegmentedControl/RadioGroupContext.cjs +24 -0
  209. package/dist/components/SegmentedControl/RadioGroupContext.cjs.map +1 -0
  210. package/dist/components/SegmentedControl/RadioGroupContext.js +21 -0
  211. package/dist/components/SegmentedControl/RadioGroupContext.js.map +1 -0
  212. package/dist/components/SegmentedControl/index2.cjs +72 -0
  213. package/dist/components/SegmentedControl/index2.cjs.map +1 -0
  214. package/dist/components/SegmentedControl/index2.js +70 -0
  215. package/dist/components/SegmentedControl/index2.js.map +1 -0
  216. package/dist/components/Switch/SwitchInput/index2.cjs +25 -0
  217. package/dist/components/Switch/SwitchInput/index2.cjs.map +1 -0
  218. package/dist/components/Switch/SwitchInput/index2.js +24 -0
  219. package/dist/components/Switch/SwitchInput/index2.js.map +1 -0
  220. package/dist/components/Switch/SwitchWithLabel.cjs +23 -0
  221. package/dist/components/Switch/SwitchWithLabel.cjs.map +1 -0
  222. package/dist/components/Switch/SwitchWithLabel.js +21 -0
  223. package/dist/components/Switch/SwitchWithLabel.js.map +1 -0
  224. package/dist/components/Switch/index2.cjs +37 -0
  225. package/dist/components/Switch/index2.cjs.map +1 -0
  226. package/dist/components/Switch/index2.js +36 -0
  227. package/dist/components/Switch/index2.js.map +1 -0
  228. package/dist/components/TagItem/index.d.ts.map +1 -1
  229. package/dist/components/TagItem/index2.cjs +57 -0
  230. package/dist/components/TagItem/index2.cjs.map +1 -0
  231. package/dist/components/TagItem/index2.js +55 -0
  232. package/dist/components/TagItem/index2.js.map +1 -0
  233. package/dist/components/TextArea/index2.cjs +134 -0
  234. package/dist/components/TextArea/index2.cjs.map +1 -0
  235. package/dist/components/TextArea/index2.js +133 -0
  236. package/dist/components/TextArea/index2.js.map +1 -0
  237. package/dist/components/TextEllipsis/helper.cjs +31 -0
  238. package/dist/components/TextEllipsis/helper.cjs.map +1 -0
  239. package/dist/components/TextEllipsis/helper.js +30 -0
  240. package/dist/components/TextEllipsis/helper.js.map +1 -0
  241. package/dist/components/TextEllipsis/index2.cjs +119 -0
  242. package/dist/components/TextEllipsis/index2.cjs.map +1 -0
  243. package/dist/components/TextEllipsis/index2.js +114 -0
  244. package/dist/components/TextEllipsis/index2.js.map +1 -0
  245. package/dist/components/TextField/AssistiveText/index2.cjs +10 -0
  246. package/dist/components/TextField/AssistiveText/index2.cjs.map +1 -0
  247. package/dist/components/TextField/AssistiveText/index2.js +10 -0
  248. package/dist/components/TextField/AssistiveText/index2.js.map +1 -0
  249. package/dist/components/TextField/index2.cjs +101 -0
  250. package/dist/components/TextField/index2.cjs.map +1 -0
  251. package/dist/components/TextField/index2.js +100 -0
  252. package/dist/components/TextField/index2.js.map +1 -0
  253. package/dist/components/TextField/useFocusWithClick.cjs +23 -0
  254. package/dist/components/TextField/useFocusWithClick.cjs.map +1 -0
  255. package/dist/components/TextField/useFocusWithClick.js +22 -0
  256. package/dist/components/TextField/useFocusWithClick.js.map +1 -0
  257. package/dist/core/CharcoalProvider.cjs +16 -0
  258. package/dist/core/CharcoalProvider.cjs.map +1 -0
  259. package/dist/core/CharcoalProvider.js +14 -0
  260. package/dist/core/CharcoalProvider.js.map +1 -0
  261. package/dist/core/OverlayProvider.js +4 -0
  262. package/dist/core/SSRProvider.cjs +15 -0
  263. package/dist/core/SSRProvider.cjs.map +1 -0
  264. package/dist/core/SSRProvider.js +14 -0
  265. package/dist/core/SSRProvider.js.map +1 -0
  266. package/dist/core/SetThemeScript.cjs +45 -0
  267. package/dist/core/SetThemeScript.cjs.map +1 -0
  268. package/dist/core/SetThemeScript.js +43 -0
  269. package/dist/core/SetThemeScript.js.map +1 -0
  270. package/dist/core/themeHelper.cjs +154 -0
  271. package/dist/core/themeHelper.cjs.map +1 -0
  272. package/dist/core/themeHelper.js +143 -0
  273. package/dist/core/themeHelper.js.map +1 -0
  274. package/dist/index.cjs +81 -12
  275. package/dist/index.css +1380 -1355
  276. package/dist/index.js +31 -12
  277. package/dist/layered.css +1376 -1351
  278. package/dist/layered.css.map +1 -1
  279. package/package.json +5 -5
  280. package/src/components/Carousel/MIGRATION.md +8 -8
  281. package/src/components/Carousel/__snapshots__/index.css.snap +4 -2
  282. package/src/components/Carousel/index.css +5 -2
  283. package/src/components/Carousel/index.story.tsx +14 -12
  284. package/src/components/Carousel/index.test.tsx +24 -0
  285. package/src/components/Carousel/index.tsx +17 -0
  286. package/src/components/TagItem/index.test.tsx +38 -0
  287. package/src/components/TagItem/index.tsx +1 -0
  288. package/src/components/TextArea/__snapshots__/index.css.snap +29 -8
  289. package/src/components/TextArea/index.css +30 -8
  290. package/src/components/TextArea/index.tsx +1 -1
  291. package/dist/index.cjs.map +0 -1
  292. 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":"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"}
@@ -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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"}