@dnanpm/ui-components 0.9.0 → 0.10.0
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/README.md +13 -0
- package/dist/components/Accordion/Accordion.css +5 -1
- package/dist/components/AccordionItem/AccordionItem.cjs +4 -4
- package/dist/components/AccordionItem/AccordionItem.cjs.map +1 -1
- package/dist/components/AccordionItem/AccordionItem.css +4 -1
- package/dist/components/AccordionItem/AccordionItem.d.ts.map +1 -1
- package/dist/components/AccordionItem/AccordionItem.js +2 -2
- package/dist/components/AccordionItem/AccordionItem.js.map +1 -1
- package/dist/components/Avatar/Avatar.cjs +83 -0
- package/dist/components/Avatar/Avatar.cjs.map +1 -0
- package/dist/components/Avatar/Avatar.css +188 -0
- package/dist/components/Avatar/Avatar.d.ts +3 -0
- package/dist/components/Avatar/Avatar.d.ts.map +1 -0
- package/dist/components/Avatar/Avatar.js +83 -0
- package/dist/components/Avatar/Avatar.js.map +1 -0
- package/dist/components/Avatar/Avatar.module.css.cjs +40 -0
- package/dist/components/Avatar/Avatar.module.css.cjs.map +1 -0
- package/dist/components/Avatar/Avatar.module.css.js +40 -0
- package/dist/components/Avatar/Avatar.module.css.js.map +1 -0
- package/dist/components/Avatar/Avatar.types.d.ts +66 -0
- package/dist/components/Avatar/Avatar.types.d.ts.map +1 -0
- package/dist/components/Avatar/Avatar.utils.cjs +17 -0
- package/dist/components/Avatar/Avatar.utils.cjs.map +1 -0
- package/dist/components/Avatar/Avatar.utils.d.ts +6 -0
- package/dist/components/Avatar/Avatar.utils.d.ts.map +1 -0
- package/dist/components/Avatar/Avatar.utils.js +17 -0
- package/dist/components/Avatar/Avatar.utils.js.map +1 -0
- package/dist/components/Avatar/index.d.ts +3 -0
- package/dist/components/Avatar/index.d.ts.map +1 -0
- package/dist/components/Breadcrumb/Breadcrumb.cjs +9 -12
- package/dist/components/Breadcrumb/Breadcrumb.cjs.map +1 -1
- package/dist/components/Breadcrumb/Breadcrumb.css +16 -16
- package/dist/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
- package/dist/components/Breadcrumb/Breadcrumb.js +2 -5
- package/dist/components/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/components/Breadcrumb/Breadcrumb.module.css.cjs +5 -8
- package/dist/components/Breadcrumb/Breadcrumb.module.css.cjs.map +1 -1
- package/dist/components/Breadcrumb/Breadcrumb.module.css.js +5 -8
- package/dist/components/Breadcrumb/Breadcrumb.module.css.js.map +1 -1
- package/dist/components/Button/Button.cjs +29 -3
- package/dist/components/Button/Button.cjs.map +1 -1
- package/dist/components/Button/Button.css +78 -31
- package/dist/components/Button/Button.d.ts +1 -1
- package/dist/components/Button/Button.d.ts.map +1 -1
- package/dist/components/Button/Button.js +28 -2
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/Button/Button.module.css.cjs +19 -11
- package/dist/components/Button/Button.module.css.cjs.map +1 -1
- package/dist/components/Button/Button.module.css.js +19 -11
- package/dist/components/Button/Button.module.css.js.map +1 -1
- package/dist/components/Button/Button.types.d.ts +20 -3
- package/dist/components/Button/Button.types.d.ts.map +1 -1
- package/dist/components/Button/index.d.ts +1 -1
- package/dist/components/Button/index.d.ts.map +1 -1
- package/dist/components/ButtonCard/ButtonCard.cjs +19 -14
- package/dist/components/ButtonCard/ButtonCard.cjs.map +1 -1
- package/dist/components/ButtonCard/ButtonCard.css +63 -20
- package/dist/components/ButtonCard/ButtonCard.d.ts +2 -1
- package/dist/components/ButtonCard/ButtonCard.d.ts.map +1 -1
- package/dist/components/ButtonCard/ButtonCard.js +17 -12
- package/dist/components/ButtonCard/ButtonCard.js.map +1 -1
- package/dist/components/ButtonCard/ButtonCard.module.css.cjs +14 -12
- package/dist/components/ButtonCard/ButtonCard.module.css.cjs.map +1 -1
- package/dist/components/ButtonCard/ButtonCard.module.css.js +14 -12
- package/dist/components/ButtonCard/ButtonCard.module.css.js.map +1 -1
- package/dist/components/ButtonCard/ButtonCard.types.d.ts +3 -2
- package/dist/components/ButtonCard/ButtonCard.types.d.ts.map +1 -1
- package/dist/components/Checkbox/Checkbox.cjs +105 -0
- package/dist/components/Checkbox/Checkbox.cjs.map +1 -0
- package/dist/components/Checkbox/Checkbox.css +323 -0
- package/dist/components/Checkbox/Checkbox.d.ts +3 -0
- package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
- package/dist/components/Checkbox/Checkbox.js +105 -0
- package/dist/components/Checkbox/Checkbox.js.map +1 -0
- package/dist/components/Checkbox/Checkbox.module.css.cjs +35 -0
- package/dist/components/Checkbox/Checkbox.module.css.cjs.map +1 -0
- package/dist/components/Checkbox/Checkbox.module.css.js +35 -0
- package/dist/components/Checkbox/Checkbox.module.css.js.map +1 -0
- package/dist/components/Checkbox/Checkbox.types.d.ts +47 -0
- package/dist/components/Checkbox/Checkbox.types.d.ts.map +1 -0
- package/dist/components/Checkbox/index.d.ts +3 -0
- package/dist/components/Checkbox/index.d.ts.map +1 -0
- package/dist/components/ContentCard/ContentCard.cjs +8 -7
- package/dist/components/ContentCard/ContentCard.cjs.map +1 -1
- package/dist/components/ContentCard/ContentCard.css +39 -34
- package/dist/components/ContentCard/ContentCard.d.ts.map +1 -1
- package/dist/components/ContentCard/ContentCard.js +3 -2
- package/dist/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/components/ContentCard/ContentCard.module.css.cjs +18 -18
- package/dist/components/ContentCard/ContentCard.module.css.js +18 -18
- package/dist/components/ContentCard/ContentCard.types.d.ts +2 -1
- package/dist/components/ContentCard/ContentCard.types.d.ts.map +1 -1
- package/dist/components/Drawer/Drawer.cjs +15 -7
- package/dist/components/Drawer/Drawer.cjs.map +1 -1
- package/dist/components/Drawer/Drawer.css +48 -45
- package/dist/components/Drawer/Drawer.d.ts.map +1 -1
- package/dist/components/Drawer/Drawer.js +12 -4
- package/dist/components/Drawer/Drawer.js.map +1 -1
- package/dist/components/Drawer/Drawer.module.css.cjs +16 -16
- package/dist/components/Drawer/Drawer.module.css.js +16 -16
- package/dist/components/Footer/Footer.cjs +8 -9
- package/dist/components/Footer/Footer.cjs.map +1 -1
- package/dist/components/Footer/Footer.css +87 -83
- package/dist/components/Footer/Footer.d.ts.map +1 -1
- package/dist/components/Footer/Footer.js +1 -2
- package/dist/components/Footer/Footer.js.map +1 -1
- package/dist/components/Footer/Footer.module.css.cjs +39 -39
- package/dist/components/Footer/Footer.module.css.js +39 -39
- package/dist/components/FunctionButton/FunctionButton.cjs +2 -2
- package/dist/components/FunctionButton/FunctionButton.cjs.map +1 -1
- package/dist/components/FunctionButton/FunctionButton.css +5 -1
- package/dist/components/FunctionButton/FunctionButton.js +1 -1
- package/dist/components/FunctionButton/FunctionButton.js.map +1 -1
- package/dist/components/Hero/Hero.cjs +30 -27
- package/dist/components/Hero/Hero.cjs.map +1 -1
- package/dist/components/Hero/Hero.css +49 -44
- package/dist/components/Hero/Hero.d.ts +1 -1
- package/dist/components/Hero/Hero.d.ts.map +1 -1
- package/dist/components/Hero/Hero.js +30 -27
- package/dist/components/Hero/Hero.js.map +1 -1
- package/dist/components/Hero/Hero.module.css.cjs +18 -18
- package/dist/components/Hero/Hero.module.css.js +18 -18
- package/dist/components/Hero/Hero.types.d.ts +2 -6
- package/dist/components/Hero/Hero.types.d.ts.map +1 -1
- package/dist/components/IconButton/IconButton.cjs +3 -4
- package/dist/components/IconButton/IconButton.cjs.map +1 -1
- package/dist/components/IconButton/IconButton.css +5 -1
- package/dist/components/IconButton/IconButton.d.ts.map +1 -1
- package/dist/components/IconButton/IconButton.js +1 -2
- package/dist/components/IconButton/IconButton.js.map +1 -1
- package/dist/components/Label/Label.css +5 -1
- package/dist/components/MainNavigation/MainNavigation.cjs +216 -162
- package/dist/components/MainNavigation/MainNavigation.cjs.map +1 -1
- package/dist/components/MainNavigation/MainNavigation.css +206 -183
- package/dist/components/MainNavigation/MainNavigation.d.ts +1 -1
- package/dist/components/MainNavigation/MainNavigation.d.ts.map +1 -1
- package/dist/components/MainNavigation/MainNavigation.js +177 -123
- package/dist/components/MainNavigation/MainNavigation.js.map +1 -1
- package/dist/components/MainNavigation/MainNavigation.module.css.cjs +80 -78
- package/dist/components/MainNavigation/MainNavigation.module.css.cjs.map +1 -1
- package/dist/components/MainNavigation/MainNavigation.module.css.js +80 -78
- package/dist/components/MainNavigation/MainNavigation.module.css.js.map +1 -1
- package/dist/components/MainNavigation/MainNavigation.types.d.ts +0 -13
- package/dist/components/MainNavigation/MainNavigation.types.d.ts.map +1 -1
- package/dist/components/MainNavigation/MainNavigation.utils.cjs +8 -4
- package/dist/components/MainNavigation/MainNavigation.utils.cjs.map +1 -1
- package/dist/components/MainNavigation/MainNavigation.utils.d.ts +1 -0
- package/dist/components/MainNavigation/MainNavigation.utils.d.ts.map +1 -1
- package/dist/components/MainNavigation/MainNavigation.utils.js +8 -4
- package/dist/components/MainNavigation/MainNavigation.utils.js.map +1 -1
- package/dist/components/Modal/Modal.cjs +14 -6
- package/dist/components/Modal/Modal.cjs.map +1 -1
- package/dist/components/Modal/Modal.css +44 -40
- package/dist/components/Modal/Modal.d.ts.map +1 -1
- package/dist/components/Modal/Modal.js +12 -4
- package/dist/components/Modal/Modal.js.map +1 -1
- package/dist/components/Modal/Modal.module.css.cjs +18 -18
- package/dist/components/Modal/Modal.module.css.js +18 -18
- package/dist/components/Notification/Notification.cjs +3 -2
- package/dist/components/Notification/Notification.cjs.map +1 -1
- package/dist/components/Notification/Notification.css +16 -11
- package/dist/components/Notification/Notification.d.ts.map +1 -1
- package/dist/components/Notification/Notification.js +2 -1
- package/dist/components/Notification/Notification.js.map +1 -1
- package/dist/components/Notification/Notification.module.css.cjs +9 -9
- package/dist/components/Notification/Notification.module.css.js +9 -9
- package/dist/components/Pagination/Pagination.cjs +142 -0
- package/dist/components/Pagination/Pagination.cjs.map +1 -0
- package/dist/components/Pagination/Pagination.css +256 -0
- package/dist/components/Pagination/Pagination.d.ts +3 -0
- package/dist/components/Pagination/Pagination.d.ts.map +1 -0
- package/dist/components/Pagination/Pagination.js +142 -0
- package/dist/components/Pagination/Pagination.js.map +1 -0
- package/dist/components/Pagination/Pagination.module.css.cjs +34 -0
- package/dist/components/Pagination/Pagination.module.css.cjs.map +1 -0
- package/dist/components/Pagination/Pagination.module.css.js +34 -0
- package/dist/components/Pagination/Pagination.module.css.js.map +1 -0
- package/dist/components/Pagination/Pagination.types.d.ts +20 -0
- package/dist/components/Pagination/Pagination.types.d.ts.map +1 -0
- package/dist/components/Pagination/Pagination.utils.cjs +76 -0
- package/dist/components/Pagination/Pagination.utils.cjs.map +1 -0
- package/dist/components/Pagination/Pagination.utils.d.ts +21 -0
- package/dist/components/Pagination/Pagination.utils.d.ts.map +1 -0
- package/dist/components/Pagination/Pagination.utils.js +76 -0
- package/dist/components/Pagination/Pagination.utils.js.map +1 -0
- package/dist/components/Pagination/index.d.ts +3 -0
- package/dist/components/Pagination/index.d.ts.map +1 -0
- package/dist/components/Pictograph/Pictograph.css +5 -1
- package/dist/components/Pictograph/PictographItem.css +5 -1
- package/dist/components/Quote/Quote.css +5 -1
- package/dist/components/Spinner/Spinner.css +5 -1
- package/dist/design-tokens/dist/tokens.cjs +5 -0
- package/dist/design-tokens/dist/tokens.cjs.map +1 -0
- package/dist/design-tokens/dist/tokens.js +5 -0
- package/dist/design-tokens/dist/tokens.js.map +1 -0
- package/dist/index.cjs +6 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/styles/utilities.css +6 -0
- package/dist/styles/utils/elevation.css +35 -26
- package/dist/styles/utils/focus.css +63 -68
- package/dist/styles/utils/index.cjs +33 -0
- package/dist/styles/utils/index.cjs.map +1 -0
- package/dist/styles/utils/index.d.ts +20 -0
- package/dist/styles/utils/index.d.ts.map +1 -0
- package/dist/styles/utils/index.js +33 -0
- package/dist/styles/utils/index.js.map +1 -0
- package/dist/styles/utils/overlay.css +35 -27
- package/dist/styles/utils/text-decoration.css +20 -12
- package/dist/styles.css +27 -3
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/isRenderable/index.d.ts +2 -0
- package/dist/utils/isRenderable/index.d.ts.map +1 -0
- package/dist/utils/isRenderable/isRenderable.cjs +5 -0
- package/dist/utils/isRenderable/isRenderable.cjs.map +1 -0
- package/dist/utils/isRenderable/isRenderable.d.ts +4 -0
- package/dist/utils/isRenderable/isRenderable.d.ts.map +1 -0
- package/dist/utils/isRenderable/isRenderable.js +5 -0
- package/dist/utils/isRenderable/isRenderable.js.map +1 -0
- package/package.json +12 -4
- package/dist/styles/utils/elevation.module.css.cjs +0 -16
- package/dist/styles/utils/elevation.module.css.cjs.map +0 -1
- package/dist/styles/utils/elevation.module.css.js +0 -16
- package/dist/styles/utils/elevation.module.css.js.map +0 -1
- package/dist/styles/utils/focus.module.css.cjs +0 -16
- package/dist/styles/utils/focus.module.css.cjs.map +0 -1
- package/dist/styles/utils/focus.module.css.js +0 -16
- package/dist/styles/utils/focus.module.css.js.map +0 -1
- package/dist/styles/utils/overlay.module.css.cjs +0 -13
- package/dist/styles/utils/overlay.module.css.cjs.map +0 -1
- package/dist/styles/utils/overlay.module.css.js +0 -13
- package/dist/styles/utils/overlay.module.css.js.map +0 -1
- package/dist/styles/utils/text-decoration.module.css.cjs +0 -13
- package/dist/styles/utils/text-decoration.module.css.cjs.map +0 -1
- package/dist/styles/utils/text-decoration.module.css.js +0 -13
- package/dist/styles/utils/text-decoration.module.css.js.map +0 -1
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { ChevronLeftFilled, MoreFilled, ChevronRightFilled } from "@dnanpm/icons";
|
|
3
|
+
import { useRef, useState, useLayoutEffect } from "react";
|
|
4
|
+
import { focusStyles } from "../../styles/utils/index.js";
|
|
5
|
+
import { validatePages, getPageCandidates, getPageWidth } from "./Pagination.utils.js";
|
|
6
|
+
import styles from "./Pagination.module.css.js";
|
|
7
|
+
import { cn } from "../../utils/cn/cn.js";
|
|
8
|
+
const defaultPageLabel = (page) => `Sivu ${page}`;
|
|
9
|
+
const defaultAnnouncement = (page, total) => `Sivu ${page} / ${total}`;
|
|
10
|
+
const Pagination = ({
|
|
11
|
+
currentPage,
|
|
12
|
+
totalPages,
|
|
13
|
+
onPageChange,
|
|
14
|
+
showPreviousNext = true,
|
|
15
|
+
previousPageLabel = "Edellinen sivu",
|
|
16
|
+
nextPageLabel = "Seuraava sivu",
|
|
17
|
+
formatPageLabel = defaultPageLabel,
|
|
18
|
+
formatPageAnnouncement = defaultAnnouncement,
|
|
19
|
+
className,
|
|
20
|
+
"aria-label": ariaLabel,
|
|
21
|
+
"aria-labelledby": ariaLabelledBy,
|
|
22
|
+
onFocusCapture,
|
|
23
|
+
onBlurCapture,
|
|
24
|
+
ref,
|
|
25
|
+
...props
|
|
26
|
+
}) => {
|
|
27
|
+
validatePages(currentPage, totalPages);
|
|
28
|
+
const currentButton = useRef(null);
|
|
29
|
+
const focusedButton = useRef(null);
|
|
30
|
+
const [announcement, setAnnouncement] = useState({
|
|
31
|
+
page: currentPage,
|
|
32
|
+
empty: totalPages === 0,
|
|
33
|
+
text: ""
|
|
34
|
+
});
|
|
35
|
+
if (announcement.page !== currentPage || announcement.empty !== (totalPages === 0)) {
|
|
36
|
+
setAnnouncement({
|
|
37
|
+
page: currentPage,
|
|
38
|
+
empty: totalPages === 0,
|
|
39
|
+
text: totalPages > 0 && !announcement.empty && announcement.page !== currentPage ? formatPageAnnouncement(currentPage, totalPages) : ""
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
useLayoutEffect(() => {
|
|
43
|
+
const focused = focusedButton.current;
|
|
44
|
+
if (focused && (!focused.isConnected || focused.disabled) && (document.activeElement === document.body || document.activeElement === focused)) {
|
|
45
|
+
currentButton.current?.focus();
|
|
46
|
+
}
|
|
47
|
+
}, [currentPage, totalPages, showPreviousNext]);
|
|
48
|
+
if (totalPages === 0) return null;
|
|
49
|
+
const requestPage = (page) => {
|
|
50
|
+
if (page !== currentPage) onPageChange(page);
|
|
51
|
+
};
|
|
52
|
+
const buttonClass = cn(styles.pagination__button, focusStyles.focusable);
|
|
53
|
+
return /* @__PURE__ */ jsxs(
|
|
54
|
+
"nav",
|
|
55
|
+
{
|
|
56
|
+
ref,
|
|
57
|
+
className: cn(styles.pagination, className),
|
|
58
|
+
"aria-label": ariaLabel ?? (ariaLabelledBy ? void 0 : "Sivutus"),
|
|
59
|
+
"aria-labelledby": ariaLabelledBy,
|
|
60
|
+
onFocusCapture: (event) => {
|
|
61
|
+
if (event.target instanceof HTMLButtonElement) focusedButton.current = event.target;
|
|
62
|
+
onFocusCapture?.(event);
|
|
63
|
+
},
|
|
64
|
+
onBlurCapture: (event) => {
|
|
65
|
+
const button = focusedButton.current;
|
|
66
|
+
const focusLeftPagination = event.relatedTarget ? !event.currentTarget.contains(event.relatedTarget) : button?.isConnected && !button.disabled;
|
|
67
|
+
if (focusLeftPagination) {
|
|
68
|
+
focusedButton.current = null;
|
|
69
|
+
}
|
|
70
|
+
onBlurCapture?.(event);
|
|
71
|
+
},
|
|
72
|
+
...props,
|
|
73
|
+
children: [
|
|
74
|
+
/* @__PURE__ */ jsxs(
|
|
75
|
+
"ul",
|
|
76
|
+
{
|
|
77
|
+
className: cn(
|
|
78
|
+
styles.pagination__list,
|
|
79
|
+
styles[`pagination__list--${getPageWidth(totalPages)}`],
|
|
80
|
+
{ [styles["pagination__list--arrows"]]: showPreviousNext }
|
|
81
|
+
),
|
|
82
|
+
children: [
|
|
83
|
+
showPreviousNext && /* @__PURE__ */ jsx("li", { className: styles.pagination__arrow, children: /* @__PURE__ */ jsx(
|
|
84
|
+
"button",
|
|
85
|
+
{
|
|
86
|
+
type: "button",
|
|
87
|
+
className: buttonClass,
|
|
88
|
+
"aria-label": previousPageLabel,
|
|
89
|
+
disabled: currentPage === 1,
|
|
90
|
+
onClick: () => requestPage(currentPage - 1),
|
|
91
|
+
children: /* @__PURE__ */ jsx(ChevronLeftFilled, { "aria-hidden": "true", size: "16" })
|
|
92
|
+
}
|
|
93
|
+
) }),
|
|
94
|
+
getPageCandidates(currentPage, totalPages).map(({ item, budgets }) => /* @__PURE__ */ jsx(
|
|
95
|
+
"li",
|
|
96
|
+
{
|
|
97
|
+
className: cn(
|
|
98
|
+
styles.pagination__item,
|
|
99
|
+
{
|
|
100
|
+
[styles["pagination__item--current"]]: item.kind === "page" && item.page === currentPage
|
|
101
|
+
},
|
|
102
|
+
budgets.map((budget) => styles[`pagination__item--${budget}`])
|
|
103
|
+
),
|
|
104
|
+
"aria-hidden": item.kind === "gap" ? true : void 0,
|
|
105
|
+
children: item.kind === "page" ? /* @__PURE__ */ jsx(
|
|
106
|
+
"button",
|
|
107
|
+
{
|
|
108
|
+
type: "button",
|
|
109
|
+
ref: item.page === currentPage ? currentButton : void 0,
|
|
110
|
+
className: buttonClass,
|
|
111
|
+
"aria-label": formatPageLabel(item.page),
|
|
112
|
+
"aria-current": item.page === currentPage ? "page" : void 0,
|
|
113
|
+
onClick: () => requestPage(item.page),
|
|
114
|
+
children: item.page
|
|
115
|
+
}
|
|
116
|
+
) : /* @__PURE__ */ jsx("span", { className: styles.pagination__gap, children: /* @__PURE__ */ jsx(MoreFilled, { "aria-hidden": "true", size: "16" }) })
|
|
117
|
+
},
|
|
118
|
+
item.key
|
|
119
|
+
)),
|
|
120
|
+
showPreviousNext && /* @__PURE__ */ jsx("li", { className: styles.pagination__arrow, children: /* @__PURE__ */ jsx(
|
|
121
|
+
"button",
|
|
122
|
+
{
|
|
123
|
+
type: "button",
|
|
124
|
+
className: buttonClass,
|
|
125
|
+
"aria-label": nextPageLabel,
|
|
126
|
+
disabled: currentPage === totalPages,
|
|
127
|
+
onClick: () => requestPage(currentPage + 1),
|
|
128
|
+
children: /* @__PURE__ */ jsx(ChevronRightFilled, { "aria-hidden": "true", size: "16" })
|
|
129
|
+
}
|
|
130
|
+
) })
|
|
131
|
+
]
|
|
132
|
+
}
|
|
133
|
+
),
|
|
134
|
+
/* @__PURE__ */ jsx("span", { className: styles["pagination__sr-only"], "aria-live": "polite", "aria-atomic": "true", children: announcement.text })
|
|
135
|
+
]
|
|
136
|
+
}
|
|
137
|
+
);
|
|
138
|
+
};
|
|
139
|
+
export {
|
|
140
|
+
Pagination
|
|
141
|
+
};
|
|
142
|
+
//# sourceMappingURL=Pagination.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pagination.js","sources":["../../../src/components/Pagination/Pagination.tsx"],"sourcesContent":["import { ChevronLeftFilled, ChevronRightFilled, MoreFilled } from '@dnanpm/icons';\nimport { useLayoutEffect, useRef, useState } from 'react';\nimport { cn } from '../../utils/cn';\nimport { focusStyles } from '../../styles/utils';\nimport type { PaginationProps } from './Pagination.types';\nimport { getPageCandidates, getPageWidth, validatePages } from './Pagination.utils';\nimport styles from './Pagination.module.css';\n\nconst defaultPageLabel = (page: number) => `Sivu ${page}`;\nconst defaultAnnouncement = (page: number, total: number) => `Sivu ${page} / ${total}`;\n\nexport const Pagination = ({\n currentPage,\n totalPages,\n onPageChange,\n showPreviousNext = true,\n previousPageLabel = 'Edellinen sivu',\n nextPageLabel = 'Seuraava sivu',\n formatPageLabel = defaultPageLabel,\n formatPageAnnouncement = defaultAnnouncement,\n className,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n onFocusCapture,\n onBlurCapture,\n ref,\n ...props\n}: PaginationProps) => {\n validatePages(currentPage, totalPages);\n const currentButton = useRef<HTMLButtonElement>(null);\n const focusedButton = useRef<HTMLButtonElement | null>(null);\n const [announcement, setAnnouncement] = useState({\n page: currentPage,\n empty: totalPages === 0,\n text: '',\n });\n\n if (announcement.page !== currentPage || announcement.empty !== (totalPages === 0)) {\n setAnnouncement({\n page: currentPage,\n empty: totalPages === 0,\n text:\n totalPages > 0 && !announcement.empty && announcement.page !== currentPage\n ? formatPageAnnouncement(currentPage, totalPages)\n : '',\n });\n }\n\n useLayoutEffect(() => {\n const focused = focusedButton.current;\n if (\n focused &&\n (!focused.isConnected || focused.disabled) &&\n (document.activeElement === document.body || document.activeElement === focused)\n ) {\n currentButton.current?.focus();\n }\n }, [currentPage, totalPages, showPreviousNext]);\n\n if (totalPages === 0) return null;\n\n const requestPage = (page: number) => {\n if (page !== currentPage) onPageChange(page);\n };\n const buttonClass = cn(styles.pagination__button, focusStyles.focusable);\n\n return (\n <nav\n ref={ref}\n className={cn(styles.pagination, className)}\n aria-label={ariaLabel ?? (ariaLabelledBy ? undefined : 'Sivutus')}\n aria-labelledby={ariaLabelledBy}\n onFocusCapture={(event) => {\n if (event.target instanceof HTMLButtonElement) focusedButton.current = event.target;\n onFocusCapture?.(event);\n }}\n onBlurCapture={(event) => {\n const button = focusedButton.current;\n const focusLeftPagination = event.relatedTarget\n ? !event.currentTarget.contains(event.relatedTarget)\n : button?.isConnected && !button.disabled;\n\n if (focusLeftPagination) {\n focusedButton.current = null;\n }\n onBlurCapture?.(event);\n }}\n {...props}\n >\n <ul\n className={cn(\n styles.pagination__list,\n styles[`pagination__list--${getPageWidth(totalPages)}`],\n { [styles['pagination__list--arrows']]: showPreviousNext },\n )}\n >\n {showPreviousNext && (\n <li className={styles.pagination__arrow}>\n <button\n type=\"button\"\n className={buttonClass}\n aria-label={previousPageLabel}\n disabled={currentPage === 1}\n onClick={() => requestPage(currentPage - 1)}\n >\n <ChevronLeftFilled aria-hidden=\"true\" size=\"16\" />\n </button>\n </li>\n )}\n {getPageCandidates(currentPage, totalPages).map(({ item, budgets }) => (\n <li\n key={item.key}\n className={cn(\n styles.pagination__item,\n {\n [styles['pagination__item--current']]:\n item.kind === 'page' && item.page === currentPage,\n },\n budgets.map((budget) => styles[`pagination__item--${budget}`]),\n )}\n aria-hidden={item.kind === 'gap' ? true : undefined}\n >\n {item.kind === 'page' ? (\n <button\n type=\"button\"\n ref={item.page === currentPage ? currentButton : undefined}\n className={buttonClass}\n aria-label={formatPageLabel(item.page)}\n aria-current={item.page === currentPage ? 'page' : undefined}\n onClick={() => requestPage(item.page)}\n >\n {item.page}\n </button>\n ) : (\n <span className={styles.pagination__gap}>\n <MoreFilled aria-hidden=\"true\" size=\"16\" />\n </span>\n )}\n </li>\n ))}\n {showPreviousNext && (\n <li className={styles.pagination__arrow}>\n <button\n type=\"button\"\n className={buttonClass}\n aria-label={nextPageLabel}\n disabled={currentPage === totalPages}\n onClick={() => requestPage(currentPage + 1)}\n >\n <ChevronRightFilled aria-hidden=\"true\" size=\"16\" />\n </button>\n </li>\n )}\n </ul>\n <span className={styles['pagination__sr-only']} aria-live=\"polite\" aria-atomic=\"true\">\n {announcement.text}\n </span>\n </nav>\n );\n};\n"],"names":[],"mappings":";;;;;;;AAQA,MAAM,mBAAmB,CAAC,SAAiB,QAAQ,IAAI;AACvD,MAAM,sBAAsB,CAAC,MAAc,UAAkB,QAAQ,IAAI,MAAM,KAAK;AAE7E,MAAM,aAAa,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA,mBAAmB;AAAA,EACnB,oBAAoB;AAAA,EACpB,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,yBAAyB;AAAA,EACzB;AAAA,EACA,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACP,MAAuB;AACnB,gBAAc,aAAa,UAAU;AACrC,QAAM,gBAAgB,OAA0B,IAAI;AACpD,QAAM,gBAAgB,OAAiC,IAAI;AAC3D,QAAM,CAAC,cAAc,eAAe,IAAI,SAAS;AAAA,IAC7C,MAAM;AAAA,IACN,OAAO,eAAe;AAAA,IACtB,MAAM;AAAA,EAAA,CACT;AAED,MAAI,aAAa,SAAS,eAAe,aAAa,WAAW,eAAe,IAAI;AAChF,oBAAgB;AAAA,MACZ,MAAM;AAAA,MACN,OAAO,eAAe;AAAA,MACtB,MACI,aAAa,KAAK,CAAC,aAAa,SAAS,aAAa,SAAS,cACzD,uBAAuB,aAAa,UAAU,IAC9C;AAAA,IAAA,CACb;AAAA,EACL;AAEA,kBAAgB,MAAM;AAClB,UAAM,UAAU,cAAc;AAC9B,QACI,YACC,CAAC,QAAQ,eAAe,QAAQ,cAChC,SAAS,kBAAkB,SAAS,QAAQ,SAAS,kBAAkB,UAC1E;AACE,oBAAc,SAAS,MAAA;AAAA,IAC3B;AAAA,EACJ,GAAG,CAAC,aAAa,YAAY,gBAAgB,CAAC;AAE9C,MAAI,eAAe,EAAG,QAAO;AAE7B,QAAM,cAAc,CAAC,SAAiB;AAClC,QAAI,SAAS,YAAa,cAAa,IAAI;AAAA,EAC/C;AACA,QAAM,cAAc,GAAG,OAAO,oBAAoB,YAAY,SAAS;AAEvE,SACI;AAAA,IAAC;AAAA,IAAA;AAAA,MACG;AAAA,MACA,WAAW,GAAG,OAAO,YAAY,SAAS;AAAA,MAC1C,cAAY,cAAc,iBAAiB,SAAY;AAAA,MACvD,mBAAiB;AAAA,MACjB,gBAAgB,CAAC,UAAU;AACvB,YAAI,MAAM,kBAAkB,kBAAmB,eAAc,UAAU,MAAM;AAC7E,yBAAiB,KAAK;AAAA,MAC1B;AAAA,MACA,eAAe,CAAC,UAAU;AACtB,cAAM,SAAS,cAAc;AAC7B,cAAM,sBAAsB,MAAM,gBAC5B,CAAC,MAAM,cAAc,SAAS,MAAM,aAAa,IACjD,QAAQ,eAAe,CAAC,OAAO;AAErC,YAAI,qBAAqB;AACrB,wBAAc,UAAU;AAAA,QAC5B;AACA,wBAAgB,KAAK;AAAA,MACzB;AAAA,MACC,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,WAAW;AAAA,cACP,OAAO;AAAA,cACP,OAAO,qBAAqB,aAAa,UAAU,CAAC,EAAE;AAAA,cACtD,EAAE,CAAC,OAAO,0BAA0B,CAAC,GAAG,iBAAA;AAAA,YAAiB;AAAA,YAG5D,UAAA;AAAA,cAAA,oBACG,oBAAC,MAAA,EAAG,WAAW,OAAO,mBAClB,UAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACG,MAAK;AAAA,kBACL,WAAW;AAAA,kBACX,cAAY;AAAA,kBACZ,UAAU,gBAAgB;AAAA,kBAC1B,SAAS,MAAM,YAAY,cAAc,CAAC;AAAA,kBAE1C,UAAA,oBAAC,mBAAA,EAAkB,eAAY,QAAO,MAAK,KAAA,CAAK;AAAA,gBAAA;AAAA,cAAA,GAExD;AAAA,cAEH,kBAAkB,aAAa,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,QAAA,MACrD;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBAEG,WAAW;AAAA,oBACP,OAAO;AAAA,oBACP;AAAA,sBACI,CAAC,OAAO,2BAA2B,CAAC,GAChC,KAAK,SAAS,UAAU,KAAK,SAAS;AAAA,oBAAA;AAAA,oBAE9C,QAAQ,IAAI,CAAC,WAAW,OAAO,qBAAqB,MAAM,EAAE,CAAC;AAAA,kBAAA;AAAA,kBAEjE,eAAa,KAAK,SAAS,QAAQ,OAAO;AAAA,kBAEzC,UAAA,KAAK,SAAS,SACX;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACG,MAAK;AAAA,sBACL,KAAK,KAAK,SAAS,cAAc,gBAAgB;AAAA,sBACjD,WAAW;AAAA,sBACX,cAAY,gBAAgB,KAAK,IAAI;AAAA,sBACrC,gBAAc,KAAK,SAAS,cAAc,SAAS;AAAA,sBACnD,SAAS,MAAM,YAAY,KAAK,IAAI;AAAA,sBAEnC,UAAA,KAAK;AAAA,oBAAA;AAAA,kBAAA,IAGV,oBAAC,QAAA,EAAK,WAAW,OAAO,iBACpB,UAAA,oBAAC,YAAA,EAAW,eAAY,QAAO,MAAK,KAAA,CAAK,EAAA,CAC7C;AAAA,gBAAA;AAAA,gBAzBC,KAAK;AAAA,cAAA,CA4BjB;AAAA,cACA,oBACG,oBAAC,MAAA,EAAG,WAAW,OAAO,mBAClB,UAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACG,MAAK;AAAA,kBACL,WAAW;AAAA,kBACX,cAAY;AAAA,kBACZ,UAAU,gBAAgB;AAAA,kBAC1B,SAAS,MAAM,YAAY,cAAc,CAAC;AAAA,kBAE1C,UAAA,oBAAC,oBAAA,EAAmB,eAAY,QAAO,MAAK,KAAA,CAAK;AAAA,gBAAA;AAAA,cAAA,EACrD,CACJ;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAGR,oBAAC,QAAA,EAAK,WAAW,OAAO,qBAAqB,GAAG,aAAU,UAAS,eAAY,QAC1E,UAAA,aAAa,KAAA,CAClB;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGZ;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
require('./Pagination.css');
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
4
|
+
const pagination = "_pagination_1w4hz_1";
|
|
5
|
+
const pagination__list = "_pagination__list_1w4hz_8";
|
|
6
|
+
const pagination__item = "_pagination__item_1w4hz_31";
|
|
7
|
+
const pagination__arrow = "_pagination__arrow_1w4hz_32";
|
|
8
|
+
const pagination__button = "_pagination__button_1w4hz_67";
|
|
9
|
+
const pagination__gap = "_pagination__gap_1w4hz_68";
|
|
10
|
+
const styles = {
|
|
11
|
+
pagination,
|
|
12
|
+
pagination__list,
|
|
13
|
+
"pagination__list--wide": "_pagination__list--wide_1w4hz_21",
|
|
14
|
+
"pagination__list--arrows": "_pagination__list--arrows_1w4hz_25",
|
|
15
|
+
pagination__item,
|
|
16
|
+
pagination__arrow,
|
|
17
|
+
"pagination__item--3": "_pagination__item--3_1w4hz_45",
|
|
18
|
+
"pagination__item--5": "_pagination__item--5_1w4hz_49",
|
|
19
|
+
"pagination__item--7": "_pagination__item--7_1w4hz_53",
|
|
20
|
+
"pagination__item--9": "_pagination__item--9_1w4hz_57",
|
|
21
|
+
"pagination__item--current": "_pagination__item--current_1w4hz_63",
|
|
22
|
+
pagination__button,
|
|
23
|
+
pagination__gap,
|
|
24
|
+
"pagination__list--normal": "_pagination__list--normal_1w4hz_140",
|
|
25
|
+
"pagination__sr-only": "_pagination__sr-only_1w4hz_229"
|
|
26
|
+
};
|
|
27
|
+
exports.default = styles;
|
|
28
|
+
exports.pagination = pagination;
|
|
29
|
+
exports.pagination__arrow = pagination__arrow;
|
|
30
|
+
exports.pagination__button = pagination__button;
|
|
31
|
+
exports.pagination__gap = pagination__gap;
|
|
32
|
+
exports.pagination__item = pagination__item;
|
|
33
|
+
exports.pagination__list = pagination__list;
|
|
34
|
+
//# sourceMappingURL=Pagination.module.css.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pagination.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import './Pagination.css';
|
|
2
|
+
const pagination = "_pagination_1w4hz_1";
|
|
3
|
+
const pagination__list = "_pagination__list_1w4hz_8";
|
|
4
|
+
const pagination__item = "_pagination__item_1w4hz_31";
|
|
5
|
+
const pagination__arrow = "_pagination__arrow_1w4hz_32";
|
|
6
|
+
const pagination__button = "_pagination__button_1w4hz_67";
|
|
7
|
+
const pagination__gap = "_pagination__gap_1w4hz_68";
|
|
8
|
+
const styles = {
|
|
9
|
+
pagination,
|
|
10
|
+
pagination__list,
|
|
11
|
+
"pagination__list--wide": "_pagination__list--wide_1w4hz_21",
|
|
12
|
+
"pagination__list--arrows": "_pagination__list--arrows_1w4hz_25",
|
|
13
|
+
pagination__item,
|
|
14
|
+
pagination__arrow,
|
|
15
|
+
"pagination__item--3": "_pagination__item--3_1w4hz_45",
|
|
16
|
+
"pagination__item--5": "_pagination__item--5_1w4hz_49",
|
|
17
|
+
"pagination__item--7": "_pagination__item--7_1w4hz_53",
|
|
18
|
+
"pagination__item--9": "_pagination__item--9_1w4hz_57",
|
|
19
|
+
"pagination__item--current": "_pagination__item--current_1w4hz_63",
|
|
20
|
+
pagination__button,
|
|
21
|
+
pagination__gap,
|
|
22
|
+
"pagination__list--normal": "_pagination__list--normal_1w4hz_140",
|
|
23
|
+
"pagination__sr-only": "_pagination__sr-only_1w4hz_229"
|
|
24
|
+
};
|
|
25
|
+
export {
|
|
26
|
+
styles as default,
|
|
27
|
+
pagination,
|
|
28
|
+
pagination__arrow,
|
|
29
|
+
pagination__button,
|
|
30
|
+
pagination__gap,
|
|
31
|
+
pagination__item,
|
|
32
|
+
pagination__list
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=Pagination.module.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pagination.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ComponentPropsWithRef } from 'react';
|
|
2
|
+
export interface PaginationProps extends Omit<ComponentPropsWithRef<'nav'>, 'children' | 'onChange'> {
|
|
3
|
+
/** One-based current page. The application owns this value. */
|
|
4
|
+
readonly currentPage: number;
|
|
5
|
+
/** Nonnegative safe integer. Zero renders nothing. */
|
|
6
|
+
readonly totalPages: number;
|
|
7
|
+
/** Requests a different page; does not load results or update currentPage. */
|
|
8
|
+
readonly onPageChange: (page: number) => void;
|
|
9
|
+
/** Show the Previous and Next controls. @default true */
|
|
10
|
+
readonly showPreviousNext?: boolean;
|
|
11
|
+
/** Accessible name of the Previous control. @default 'Edellinen sivu' */
|
|
12
|
+
readonly previousPageLabel?: string;
|
|
13
|
+
/** Accessible name of the Next control. @default 'Seuraava sivu' */
|
|
14
|
+
readonly nextPageLabel?: string;
|
|
15
|
+
/** Accessible name of each numbered control. @default page => `Sivu ${page}` */
|
|
16
|
+
readonly formatPageLabel?: (page: number) => string;
|
|
17
|
+
/** Announcement after a controlled page change. @default (page, total) => `Sivu ${page} / ${total}` */
|
|
18
|
+
readonly formatPageAnnouncement?: (page: number, totalPages: number) => string;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=Pagination.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pagination.types.d.ts","sourceRoot":"","sources":["../../../src/components/Pagination/Pagination.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAEnD,MAAM,WAAW,eAAgB,SAAQ,IAAI,CACzC,qBAAqB,CAAC,KAAK,CAAC,EAC5B,UAAU,GAAG,UAAU,CAC1B;IACG,+DAA+D;IAC/D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,sDAAsD;IACtD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,yDAAyD;IACzD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,yEAAyE;IACzE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,oEAAoE;IACpE,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,gFAAgF;IAChF,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACpD,uGAAuG;IACvG,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;CAClF"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const pageBudgets = [3, 5, 7, 9];
|
|
4
|
+
const validatePages = (currentPage, totalPages) => {
|
|
5
|
+
if (!Number.isSafeInteger(totalPages) || totalPages < 0) {
|
|
6
|
+
throw new RangeError("Pagination: totalPages must be a nonnegative safe integer.");
|
|
7
|
+
}
|
|
8
|
+
if (!Number.isSafeInteger(currentPage) || currentPage < 1 || totalPages > 0 && currentPage > totalPages) {
|
|
9
|
+
throw new RangeError(
|
|
10
|
+
"Pagination: currentPage must be a positive safe integer within totalPages."
|
|
11
|
+
);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
const pageItem = (page) => ({
|
|
15
|
+
key: `page-${page}`,
|
|
16
|
+
kind: "page",
|
|
17
|
+
page
|
|
18
|
+
});
|
|
19
|
+
const getPageItems = (currentPage, totalPages, budget) => {
|
|
20
|
+
if (totalPages === 0) return [];
|
|
21
|
+
const count = Math.min(budget, totalPages);
|
|
22
|
+
if (totalPages <= budget || budget < 7) {
|
|
23
|
+
const start2 = Math.max(
|
|
24
|
+
1,
|
|
25
|
+
Math.min(currentPage - Math.floor(count / 2), totalPages - count + 1)
|
|
26
|
+
);
|
|
27
|
+
return Array.from({ length: count }, (_, index) => pageItem(start2 + index));
|
|
28
|
+
}
|
|
29
|
+
const siblings = (budget - 5) / 2;
|
|
30
|
+
const windowSize = budget - 4;
|
|
31
|
+
const start = Math.max(2, Math.min(currentPage - siblings, totalPages - windowSize));
|
|
32
|
+
const pages = [1];
|
|
33
|
+
if (currentPage <= siblings + 2) {
|
|
34
|
+
for (let page = 2; page <= budget - 2; page++) pages.push(page);
|
|
35
|
+
} else if (currentPage >= totalPages - siblings - 1) {
|
|
36
|
+
for (let offset = budget - 3; offset >= 1; offset--) pages.push(totalPages - offset);
|
|
37
|
+
} else {
|
|
38
|
+
for (let offset = 0; offset < windowSize; offset++) pages.push(start + offset);
|
|
39
|
+
}
|
|
40
|
+
pages.push(totalPages);
|
|
41
|
+
return pages.flatMap((page, index) => {
|
|
42
|
+
const previous = pages[index - 1];
|
|
43
|
+
if (previous === void 0 || page === previous + 1) return [pageItem(page)];
|
|
44
|
+
if (page === previous + 2) return [pageItem(previous + 1), pageItem(page)];
|
|
45
|
+
return [
|
|
46
|
+
{ key: `gap-${previous}-${page}`, kind: "gap", after: previous, before: page },
|
|
47
|
+
pageItem(page)
|
|
48
|
+
];
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
const getPageCandidates = (currentPage, totalPages) => {
|
|
52
|
+
const candidates = /* @__PURE__ */ new Map();
|
|
53
|
+
for (const budget of pageBudgets) {
|
|
54
|
+
for (const item of getPageItems(currentPage, totalPages, budget)) {
|
|
55
|
+
const existing = candidates.get(item.key);
|
|
56
|
+
if (existing) existing.budgets.push(budget);
|
|
57
|
+
else candidates.set(item.key, { item, budgets: [budget] });
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return [...candidates.values()].sort((a, b) => {
|
|
61
|
+
const aPosition = a.item.kind === "page" ? a.item.page : a.item.after;
|
|
62
|
+
const bPosition = b.item.kind === "page" ? b.item.page : b.item.after;
|
|
63
|
+
return aPosition - bPosition || Number(a.item.kind === "gap") - Number(b.item.kind === "gap");
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
const getPageWidth = (totalPages) => {
|
|
67
|
+
const digits = String(totalPages).length;
|
|
68
|
+
if (digits <= 2) return "normal";
|
|
69
|
+
return "wide";
|
|
70
|
+
};
|
|
71
|
+
exports.getPageCandidates = getPageCandidates;
|
|
72
|
+
exports.getPageItems = getPageItems;
|
|
73
|
+
exports.getPageWidth = getPageWidth;
|
|
74
|
+
exports.pageBudgets = pageBudgets;
|
|
75
|
+
exports.validatePages = validatePages;
|
|
76
|
+
//# sourceMappingURL=Pagination.utils.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pagination.utils.cjs","sources":["../../../src/components/Pagination/Pagination.utils.ts"],"sourcesContent":["export const pageBudgets = [3, 5, 7, 9] as const;\nexport type PageBudget = (typeof pageBudgets)[number];\n\nexport type PaginationItem =\n | { readonly key: string; readonly kind: 'page'; readonly page: number }\n | {\n readonly key: string;\n readonly kind: 'gap';\n readonly after: number;\n readonly before: number;\n };\n\nexport interface PaginationCandidate {\n readonly item: PaginationItem;\n readonly budgets: readonly PageBudget[];\n}\n\nexport const validatePages = (currentPage: number, totalPages: number) => {\n if (!Number.isSafeInteger(totalPages) || totalPages < 0) {\n throw new RangeError('Pagination: totalPages must be a nonnegative safe integer.');\n }\n if (\n !Number.isSafeInteger(currentPage) ||\n currentPage < 1 ||\n (totalPages > 0 && currentPage > totalPages)\n ) {\n throw new RangeError(\n 'Pagination: currentPage must be a positive safe integer within totalPages.',\n );\n }\n};\n\nconst pageItem = (page: number): PaginationItem => ({\n key: `page-${page}`,\n kind: 'page',\n page,\n});\n\nexport const getPageItems = (\n currentPage: number,\n totalPages: number,\n budget: PageBudget,\n): PaginationItem[] => {\n if (totalPages === 0) return [];\n\n const count = Math.min(budget, totalPages);\n if (totalPages <= budget || budget < 7) {\n const start = Math.max(\n 1,\n Math.min(currentPage - Math.floor(count / 2), totalPages - count + 1),\n );\n return Array.from({ length: count }, (_, index) => pageItem(start + index));\n }\n\n const siblings = (budget - 5) / 2;\n const windowSize = budget - 4;\n const start = Math.max(2, Math.min(currentPage - siblings, totalPages - windowSize));\n const pages = [1];\n if (currentPage <= siblings + 2) {\n for (let page = 2; page <= budget - 2; page++) pages.push(page);\n } else if (currentPage >= totalPages - siblings - 1) {\n for (let offset = budget - 3; offset >= 1; offset--) pages.push(totalPages - offset);\n } else {\n for (let offset = 0; offset < windowSize; offset++) pages.push(start + offset);\n }\n pages.push(totalPages);\n\n return pages.flatMap((page, index): PaginationItem[] => {\n const previous = pages[index - 1];\n if (previous === undefined || page === previous + 1) return [pageItem(page)];\n if (page === previous + 2) return [pageItem(previous + 1), pageItem(page)];\n return [\n { key: `gap-${previous}-${page}`, kind: 'gap', after: previous, before: page },\n pageItem(page),\n ];\n });\n};\n\nexport const getPageCandidates = (\n currentPage: number,\n totalPages: number,\n): PaginationCandidate[] => {\n const candidates = new Map<string, { item: PaginationItem; budgets: PageBudget[] }>();\n for (const budget of pageBudgets) {\n for (const item of getPageItems(currentPage, totalPages, budget)) {\n const existing = candidates.get(item.key);\n if (existing) existing.budgets.push(budget);\n else candidates.set(item.key, { item, budgets: [budget] });\n }\n }\n return [...candidates.values()].sort((a, b) => {\n const aPosition = a.item.kind === 'page' ? a.item.page : a.item.after;\n const bPosition = b.item.kind === 'page' ? b.item.page : b.item.after;\n return (\n aPosition - bPosition || Number(a.item.kind === 'gap') - Number(b.item.kind === 'gap')\n );\n });\n};\n\nexport const getPageWidth = (totalPages: number) => {\n const digits = String(totalPages).length;\n if (digits <= 2) return 'normal';\n return 'wide';\n};\n"],"names":["start"],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare const pageBudgets: readonly [3, 5, 7, 9];
|
|
2
|
+
export type PageBudget = (typeof pageBudgets)[number];
|
|
3
|
+
export type PaginationItem = {
|
|
4
|
+
readonly key: string;
|
|
5
|
+
readonly kind: 'page';
|
|
6
|
+
readonly page: number;
|
|
7
|
+
} | {
|
|
8
|
+
readonly key: string;
|
|
9
|
+
readonly kind: 'gap';
|
|
10
|
+
readonly after: number;
|
|
11
|
+
readonly before: number;
|
|
12
|
+
};
|
|
13
|
+
export interface PaginationCandidate {
|
|
14
|
+
readonly item: PaginationItem;
|
|
15
|
+
readonly budgets: readonly PageBudget[];
|
|
16
|
+
}
|
|
17
|
+
export declare const validatePages: (currentPage: number, totalPages: number) => void;
|
|
18
|
+
export declare const getPageItems: (currentPage: number, totalPages: number, budget: PageBudget) => PaginationItem[];
|
|
19
|
+
export declare const getPageCandidates: (currentPage: number, totalPages: number) => PaginationCandidate[];
|
|
20
|
+
export declare const getPageWidth: (totalPages: number) => "normal" | "wide";
|
|
21
|
+
//# sourceMappingURL=Pagination.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pagination.utils.d.ts","sourceRoot":"","sources":["../../../src/components/Pagination/Pagination.utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,uBAAwB,CAAC;AACjD,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtD,MAAM,MAAM,cAAc,GACpB;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACtE;IACI,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B,CAAC;AAER,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;CAC3C;AAED,eAAO,MAAM,aAAa,GAAI,aAAa,MAAM,EAAE,YAAY,MAAM,SAapE,CAAC;AAQF,eAAO,MAAM,YAAY,GACrB,aAAa,MAAM,EACnB,YAAY,MAAM,EAClB,QAAQ,UAAU,KACnB,cAAc,EAkChB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC1B,aAAa,MAAM,EACnB,YAAY,MAAM,KACnB,mBAAmB,EAgBrB,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,YAAY,MAAM,sBAI9C,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
const pageBudgets = [3, 5, 7, 9];
|
|
2
|
+
const validatePages = (currentPage, totalPages) => {
|
|
3
|
+
if (!Number.isSafeInteger(totalPages) || totalPages < 0) {
|
|
4
|
+
throw new RangeError("Pagination: totalPages must be a nonnegative safe integer.");
|
|
5
|
+
}
|
|
6
|
+
if (!Number.isSafeInteger(currentPage) || currentPage < 1 || totalPages > 0 && currentPage > totalPages) {
|
|
7
|
+
throw new RangeError(
|
|
8
|
+
"Pagination: currentPage must be a positive safe integer within totalPages."
|
|
9
|
+
);
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
const pageItem = (page) => ({
|
|
13
|
+
key: `page-${page}`,
|
|
14
|
+
kind: "page",
|
|
15
|
+
page
|
|
16
|
+
});
|
|
17
|
+
const getPageItems = (currentPage, totalPages, budget) => {
|
|
18
|
+
if (totalPages === 0) return [];
|
|
19
|
+
const count = Math.min(budget, totalPages);
|
|
20
|
+
if (totalPages <= budget || budget < 7) {
|
|
21
|
+
const start2 = Math.max(
|
|
22
|
+
1,
|
|
23
|
+
Math.min(currentPage - Math.floor(count / 2), totalPages - count + 1)
|
|
24
|
+
);
|
|
25
|
+
return Array.from({ length: count }, (_, index) => pageItem(start2 + index));
|
|
26
|
+
}
|
|
27
|
+
const siblings = (budget - 5) / 2;
|
|
28
|
+
const windowSize = budget - 4;
|
|
29
|
+
const start = Math.max(2, Math.min(currentPage - siblings, totalPages - windowSize));
|
|
30
|
+
const pages = [1];
|
|
31
|
+
if (currentPage <= siblings + 2) {
|
|
32
|
+
for (let page = 2; page <= budget - 2; page++) pages.push(page);
|
|
33
|
+
} else if (currentPage >= totalPages - siblings - 1) {
|
|
34
|
+
for (let offset = budget - 3; offset >= 1; offset--) pages.push(totalPages - offset);
|
|
35
|
+
} else {
|
|
36
|
+
for (let offset = 0; offset < windowSize; offset++) pages.push(start + offset);
|
|
37
|
+
}
|
|
38
|
+
pages.push(totalPages);
|
|
39
|
+
return pages.flatMap((page, index) => {
|
|
40
|
+
const previous = pages[index - 1];
|
|
41
|
+
if (previous === void 0 || page === previous + 1) return [pageItem(page)];
|
|
42
|
+
if (page === previous + 2) return [pageItem(previous + 1), pageItem(page)];
|
|
43
|
+
return [
|
|
44
|
+
{ key: `gap-${previous}-${page}`, kind: "gap", after: previous, before: page },
|
|
45
|
+
pageItem(page)
|
|
46
|
+
];
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
const getPageCandidates = (currentPage, totalPages) => {
|
|
50
|
+
const candidates = /* @__PURE__ */ new Map();
|
|
51
|
+
for (const budget of pageBudgets) {
|
|
52
|
+
for (const item of getPageItems(currentPage, totalPages, budget)) {
|
|
53
|
+
const existing = candidates.get(item.key);
|
|
54
|
+
if (existing) existing.budgets.push(budget);
|
|
55
|
+
else candidates.set(item.key, { item, budgets: [budget] });
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return [...candidates.values()].sort((a, b) => {
|
|
59
|
+
const aPosition = a.item.kind === "page" ? a.item.page : a.item.after;
|
|
60
|
+
const bPosition = b.item.kind === "page" ? b.item.page : b.item.after;
|
|
61
|
+
return aPosition - bPosition || Number(a.item.kind === "gap") - Number(b.item.kind === "gap");
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
const getPageWidth = (totalPages) => {
|
|
65
|
+
const digits = String(totalPages).length;
|
|
66
|
+
if (digits <= 2) return "normal";
|
|
67
|
+
return "wide";
|
|
68
|
+
};
|
|
69
|
+
export {
|
|
70
|
+
getPageCandidates,
|
|
71
|
+
getPageItems,
|
|
72
|
+
getPageWidth,
|
|
73
|
+
pageBudgets,
|
|
74
|
+
validatePages
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=Pagination.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pagination.utils.js","sources":["../../../src/components/Pagination/Pagination.utils.ts"],"sourcesContent":["export const pageBudgets = [3, 5, 7, 9] as const;\nexport type PageBudget = (typeof pageBudgets)[number];\n\nexport type PaginationItem =\n | { readonly key: string; readonly kind: 'page'; readonly page: number }\n | {\n readonly key: string;\n readonly kind: 'gap';\n readonly after: number;\n readonly before: number;\n };\n\nexport interface PaginationCandidate {\n readonly item: PaginationItem;\n readonly budgets: readonly PageBudget[];\n}\n\nexport const validatePages = (currentPage: number, totalPages: number) => {\n if (!Number.isSafeInteger(totalPages) || totalPages < 0) {\n throw new RangeError('Pagination: totalPages must be a nonnegative safe integer.');\n }\n if (\n !Number.isSafeInteger(currentPage) ||\n currentPage < 1 ||\n (totalPages > 0 && currentPage > totalPages)\n ) {\n throw new RangeError(\n 'Pagination: currentPage must be a positive safe integer within totalPages.',\n );\n }\n};\n\nconst pageItem = (page: number): PaginationItem => ({\n key: `page-${page}`,\n kind: 'page',\n page,\n});\n\nexport const getPageItems = (\n currentPage: number,\n totalPages: number,\n budget: PageBudget,\n): PaginationItem[] => {\n if (totalPages === 0) return [];\n\n const count = Math.min(budget, totalPages);\n if (totalPages <= budget || budget < 7) {\n const start = Math.max(\n 1,\n Math.min(currentPage - Math.floor(count / 2), totalPages - count + 1),\n );\n return Array.from({ length: count }, (_, index) => pageItem(start + index));\n }\n\n const siblings = (budget - 5) / 2;\n const windowSize = budget - 4;\n const start = Math.max(2, Math.min(currentPage - siblings, totalPages - windowSize));\n const pages = [1];\n if (currentPage <= siblings + 2) {\n for (let page = 2; page <= budget - 2; page++) pages.push(page);\n } else if (currentPage >= totalPages - siblings - 1) {\n for (let offset = budget - 3; offset >= 1; offset--) pages.push(totalPages - offset);\n } else {\n for (let offset = 0; offset < windowSize; offset++) pages.push(start + offset);\n }\n pages.push(totalPages);\n\n return pages.flatMap((page, index): PaginationItem[] => {\n const previous = pages[index - 1];\n if (previous === undefined || page === previous + 1) return [pageItem(page)];\n if (page === previous + 2) return [pageItem(previous + 1), pageItem(page)];\n return [\n { key: `gap-${previous}-${page}`, kind: 'gap', after: previous, before: page },\n pageItem(page),\n ];\n });\n};\n\nexport const getPageCandidates = (\n currentPage: number,\n totalPages: number,\n): PaginationCandidate[] => {\n const candidates = new Map<string, { item: PaginationItem; budgets: PageBudget[] }>();\n for (const budget of pageBudgets) {\n for (const item of getPageItems(currentPage, totalPages, budget)) {\n const existing = candidates.get(item.key);\n if (existing) existing.budgets.push(budget);\n else candidates.set(item.key, { item, budgets: [budget] });\n }\n }\n return [...candidates.values()].sort((a, b) => {\n const aPosition = a.item.kind === 'page' ? a.item.page : a.item.after;\n const bPosition = b.item.kind === 'page' ? b.item.page : b.item.after;\n return (\n aPosition - bPosition || Number(a.item.kind === 'gap') - Number(b.item.kind === 'gap')\n );\n });\n};\n\nexport const getPageWidth = (totalPages: number) => {\n const digits = String(totalPages).length;\n if (digits <= 2) return 'normal';\n return 'wide';\n};\n"],"names":["start"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Pagination/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.cjs","sources":["../../../../design-tokens/dist/tokens.js"],"sourcesContent":["/**\n * Do not edit directly, this file was auto-generated.\n */\n\nexport const ColorSemanticForegroundDefault = \"#121212\";\nexport const ColorSemanticForegroundMuted = \"#505050\";\nexport const ColorSemanticForegroundInverse = \"#ffffff\";\nexport const ColorSemanticForegroundPrimaryStrong = \"#da0070\";\nexport const ColorSemanticForegroundPrimaryMid = \"#ff82c1\";\nexport const ColorSemanticForegroundPrimarySoft = \"#ffbfe0\";\nexport const ColorSemanticForegroundSecondaryStrong = \"#551c3e\";\nexport const ColorSemanticForegroundSecondaryMid = \"#69214c\";\nexport const ColorSemanticForegroundSecondarySoft = \"#792a59\";\nexport const ColorSemanticForegroundStatusError = \"#dd0a0a\";\nexport const ColorSemanticForegroundStatusWarning = \"#eb6600\";\nexport const ColorSemanticForegroundStatusSuccess = \"#008500\";\nexport const ColorSemanticForegroundStatusInfo = \"#0b7c99\";\nexport const ColorSemanticForegroundLink = \"#da0070\";\nexport const ColorSemanticForegroundLinkInverse = \"#ffffff\";\nexport const ColorSemanticForegroundLinkHover = \"#ae005a\";\nexport const ColorSemanticForegroundLinkInverseHover = \"#ffffffcc\";\nexport const ColorSemanticForegroundInverseMuted = \"#ffffffb3\";\nexport const ColorSemanticSurfaceBase = \"#ffffff\";\nexport const ColorSemanticSurfaceNeutralSoft = \"#fdfbfa\";\nexport const ColorSemanticSurfaceNeutralMid = \"#f8f4f1\";\nexport const ColorSemanticSurfaceNeutralStrong = \"#ede8e1\";\nexport const ColorSemanticSurfacePrimaryStrong = \"#da0070\";\nexport const ColorSemanticSurfacePrimaryMid = \"#ff82c1\";\nexport const ColorSemanticSurfacePrimarySoft = \"#ffbfe0\";\nexport const ColorSemanticSurfaceSecondaryStrong = \"#551c3e\";\nexport const ColorSemanticSurfaceSecondaryMid = \"#69214c\";\nexport const ColorSemanticSurfaceSecondarySoft = \"#792a59\";\nexport const ColorSemanticSurfaceBaseInverse = \"#121212\";\nexport const ColorSemanticBorderNeutralMid = \"#d4d2ce\";\nexport const ColorSemanticBorderNeutralSoft = \"#e7e5e3\";\nexport const ColorSemanticBorderNeutralBase = \"#efeeed\";\nexport const ColorSemanticBorderNeutralStrong = \"#948b89\";\nexport const ColorSemanticBorderSecondary = \"#551c3e\";\nexport const ColorSemanticBorderPrimary = \"#da0070\";\nexport const ColorSemanticBorderFocus = \"#0064e2\";\nexport const ColorSemanticBorderInverse = \"#ffffff\";\nexport const ColorSemanticBorderError = \"#dd0a0a\";\nexport const ColorSemanticBorderWarning = \"#eb6600\";\nexport const ColorSemanticBorderSuccess = \"#008500\";\nexport const ColorSemanticBorderInfo = \"#0b7c99\";\nexport const ColorSemanticUtilityFocusSoft = \"#d8e9ff\";\nexport const ColorSemanticUtilityFocusStrong = \"#0064e2\";\nexport const ColorSemanticUtilityOverlayStrong = \"#551c3e66\";\nexport const ColorSemanticUtilityOverlaySoft = \"#551c3e1a\";\nexport const ColorSemanticStatusInfo = \"#0b7c99\";\nexport const ColorSemanticStatusSuccess = \"#008500\";\nexport const ColorSemanticStatusWarning = \"#eb6600\";\nexport const ColorSemanticStatusError = \"#dd0a0a\";\nexport const ColorSemanticAccentLemonStrong = \"#fff347\";\nexport const ColorSemanticAccentLemonMid = \"#fff9a3\";\nexport const ColorSemanticAccentLemonSoft = \"#fffaba\";\nexport const ColorSemanticAccentOrangeStrong = \"#ffa633\";\nexport const ColorSemanticAccentOrangeMid = \"#ffca85\";\nexport const ColorSemanticAccentOrangeSoft = \"#ffdbad\";\nexport const ColorSemanticAccentSkyStrong = \"#2ecaf0\";\nexport const ColorSemanticAccentSkyMid = \"#77dcf5\";\nexport const ColorSemanticAccentSkySoft = \"#96e4f8\";\nexport const ColorSemanticInteractivePrimaryDefault = \"#da0070\";\nexport const ColorSemanticInteractivePrimaryHover = \"#ae005a\";\nexport const ColorSemanticInteractivePrimaryActive = \"#f7007f\";\nexport const ColorSemanticInteractivePrimaryDisabled = \"#da00704d\";\nexport const ColorSemanticInteractivePrimaryFocus = \"#ae005a\";\nexport const ColorSemanticInteractiveSecondaryDefault = \"#551c3e\";\nexport const ColorSemanticInteractiveSecondaryHover = \"#441632\";\nexport const ColorSemanticInteractiveSecondaryFocus = \"#441632\";\nexport const ColorSemanticInteractiveSecondaryActive = \"#732654\";\nexport const ColorSemanticInteractiveSecondaryDisabled = \"#551c3e4d\";\nexport const ColorSemanticInteractiveNeutralDefault = \"#ede8e1\";\nexport const ColorSemanticInteractiveNeutralHover = \"#cabca7\";\nexport const ColorSemanticInteractiveNeutralFocus = \"#cabca7\";\nexport const ColorSemanticInteractiveNeutralActive = \"#efeae4\";\nexport const ColorSemanticInteractiveNeutralDisabled = \"#ede8e14d\";\nexport const ColorSemanticInteractiveFocusRing = \"#0064e2\";\nexport const ColorSemanticInteractiveFocusRingWeak = \"#d8e9ff\";\nexport const ColorSemanticInteractiveInverseDefault = \"#ffffff\";\nexport const ColorSemanticInteractiveInverseHover = \"#ffffff\";\nexport const ColorSemanticInteractiveInverseFocus = \"#ffffff\";\nexport const ColorSemanticInteractiveInverseActive = \"#ffffffe6\";\nexport const ColorSemanticInteractiveInverseDisabled = \"#ffffff4d\";\nexport const ColorSemanticInteractiveAuxiliaryDefault = \"#ffdbad\";\nexport const ColorSemanticInteractiveAuxiliaryHover = \"#ffb557\";\nexport const ColorSemanticInteractiveAuxiliaryFocus = \"#ffb557\";\nexport const ColorSemanticInteractiveAuxiliaryActive = \"#ffdbad\";\nexport const ColorSemanticInteractiveAuxiliaryDisabled = \"#ffdbad4d\";\nexport const RadiusSemanticNone = \"0px\";\nexport const RadiusSemanticSm = \"4px\";\nexport const RadiusSemanticMd = \"8px\";\nexport const RadiusSemanticLg = \"12px\";\nexport const RadiusSemanticFull = \"1000px\";\nexport const BorderwidthSemanticNone = \"0px\";\nexport const BorderwidthSemanticXs = \"1px\";\nexport const BorderwidthSemanticMd = \"3px\";\nexport const BorderwidthSemanticLg = \"4px\";\nexport const BorderwidthSemanticXl = \"5px\";\nexport const BorderwidthSemanticXxl = \"6px\";\nexport const BorderwidthSemanticSm = \"2px\";\nexport const SpacingSpace0 = \"0px\";\nexport const SpacingSpace4 = \"4px\";\nexport const SpacingSpace8 = \"8px\";\nexport const SpacingSpace12 = \"12px\";\nexport const SpacingSpace16 = \"16px\";\nexport const SpacingSpace20 = \"20px\";\nexport const SpacingSpace24 = \"24px\";\nexport const SpacingSpace32 = \"32px\";\nexport const SpacingSpace40 = \"40px\";\nexport const SpacingSpace48 = \"48px\";\nexport const SpacingSpace64 = \"64px\";\nexport const SpacingSpace80 = \"80px\";\nexport const SpacingSpace96 = \"96px\";\nexport const SpacingSpace112 = \"112px\";\nexport const SpacingSpace128 = \"128px\";\nexport const SpacingSpace144 = \"144px\";\nexport const SpacingSpace160 = \"160px\";\nexport const TypographyFontSizeHeadingXxl = \"48px\";\nexport const TypographyFontSizeHeadingXl = \"40px\";\nexport const TypographyFontSizeHeadingLg = \"34px\";\nexport const TypographyFontSizeHeadingMd = \"28px\";\nexport const TypographyFontSizeHeadingSm = \"24px\";\nexport const TypographyFontSizeHeadingXs = \"20px\";\nexport const TypographyFontSizeHeadingXxs = \"18px\";\nexport const TypographyFontSizeTextLg = \"20px\";\nexport const TypographyFontSizeTextMd = \"16px\";\nexport const TypographyFontSizeTextSm = \"14px\";\nexport const TypographyFontSizeTextXs = \"12px\";\nexport const TypographyFontSizePricingLg = \"34px\";\nexport const TypographyFontSizePricingMd = \"30px\";\nexport const TypographyFontSizePricingSm = \"24px\";\nexport const TypographyFontSizePricingXs = \"20px\";\nexport const TypographyFontWeightRegular = 400;\nexport const TypographyFontWeightMedium = 500;\nexport const TypographyFontWeightBold = 700;\nexport const TypographyFontWeightBlack = 900;\nexport const TypographyFontWeightDemiBold = 600;\nexport const TypographyLineHeightXs = 1;\nexport const TypographyLineHeightSm = 1.15;\nexport const TypographyLineHeightMd = 1.25;\nexport const TypographyLineHeightLg = 1.5;\nexport const TypographyLetterSpacingTight = \"-0.02em\";\nexport const TypographyLetterSpacingNormal = \"0em\";\nexport const TypographyLetterSpacingWide = \"0.02em\";\nexport const TypographyFontFamilyHeading = \"DNA Heading\";\nexport const TypographyFontFamilyText = \"DNA Text\";\nexport const ElevationSemanticElevationLowColor = \"#1212120f\";\nexport const ElevationSemanticElevationLowOffsetX = \"0px\";\nexport const ElevationSemanticElevationLowOffsetY = \"2px\";\nexport const ElevationSemanticElevationLowBlur = \"16px\";\nexport const ElevationSemanticElevationLowSpread = \"0px\";\nexport const ElevationSemanticElevationMediumColor = \"#12121214\";\nexport const ElevationSemanticElevationMediumOffsetX = \"0px\";\nexport const ElevationSemanticElevationMediumOffsetY = \"4px\";\nexport const ElevationSemanticElevationMediumBlur = \"24px\";\nexport const ElevationSemanticElevationMediumSpread = \"0px\";\nexport const ElevationSemanticElevationHighColor = \"#12121229\";\nexport const ElevationSemanticElevationHighOffsetX = \"0px\";\nexport const ElevationSemanticElevationHighOffsetY = \"8px\";\nexport const ElevationSemanticElevationHighBlur = \"64px\";\nexport const ElevationSemanticElevationHighSpread = \"0px\";\nexport const ZindexSemanticBelow = -1;\nexport const ZindexSemanticBase = 0;\nexport const ZindexSemanticRaised = 200;\nexport const ZindexSemanticSticky = 400;\nexport const ZindexSemanticPopup = 600;\nexport const ZindexSemanticNavigation = 1000;\nexport const ZindexSemanticWidget = 1040;\nexport const ZindexSemanticOverlay = 1100;\nexport const ZindexSemanticDialog = 1200;\nexport const ZindexSemanticSystem = 1300;\nexport const LayoutSemanticBreakpointSmallMobile = \"360px\";\nexport const LayoutSemanticBreakpointLargeMobile = \"480px\";\nexport const LayoutSemanticBreakpointTablet = \"768px\";\nexport const LayoutSemanticBreakpointDesktop = \"1024px\";\nexport const LayoutSemanticBreakpointLargeDesktop = \"1344px\";\nexport const LayoutSemanticPageMinWidth = \"320px\";\nexport const LayoutSemanticPageMaxWidth = \"2560px\";\nexport const LayoutSemanticContainerNarrow = \"628px\";\nexport const LayoutSemanticContainerDefault = \"845px\";\nexport const LayoutSemanticContainerWide = \"1280px\";\n"],"names":[],"mappings":";;AA+KY,MAAC,kCAAkC;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sources":["../../../../design-tokens/dist/tokens.js"],"sourcesContent":["/**\n * Do not edit directly, this file was auto-generated.\n */\n\nexport const ColorSemanticForegroundDefault = \"#121212\";\nexport const ColorSemanticForegroundMuted = \"#505050\";\nexport const ColorSemanticForegroundInverse = \"#ffffff\";\nexport const ColorSemanticForegroundPrimaryStrong = \"#da0070\";\nexport const ColorSemanticForegroundPrimaryMid = \"#ff82c1\";\nexport const ColorSemanticForegroundPrimarySoft = \"#ffbfe0\";\nexport const ColorSemanticForegroundSecondaryStrong = \"#551c3e\";\nexport const ColorSemanticForegroundSecondaryMid = \"#69214c\";\nexport const ColorSemanticForegroundSecondarySoft = \"#792a59\";\nexport const ColorSemanticForegroundStatusError = \"#dd0a0a\";\nexport const ColorSemanticForegroundStatusWarning = \"#eb6600\";\nexport const ColorSemanticForegroundStatusSuccess = \"#008500\";\nexport const ColorSemanticForegroundStatusInfo = \"#0b7c99\";\nexport const ColorSemanticForegroundLink = \"#da0070\";\nexport const ColorSemanticForegroundLinkInverse = \"#ffffff\";\nexport const ColorSemanticForegroundLinkHover = \"#ae005a\";\nexport const ColorSemanticForegroundLinkInverseHover = \"#ffffffcc\";\nexport const ColorSemanticForegroundInverseMuted = \"#ffffffb3\";\nexport const ColorSemanticSurfaceBase = \"#ffffff\";\nexport const ColorSemanticSurfaceNeutralSoft = \"#fdfbfa\";\nexport const ColorSemanticSurfaceNeutralMid = \"#f8f4f1\";\nexport const ColorSemanticSurfaceNeutralStrong = \"#ede8e1\";\nexport const ColorSemanticSurfacePrimaryStrong = \"#da0070\";\nexport const ColorSemanticSurfacePrimaryMid = \"#ff82c1\";\nexport const ColorSemanticSurfacePrimarySoft = \"#ffbfe0\";\nexport const ColorSemanticSurfaceSecondaryStrong = \"#551c3e\";\nexport const ColorSemanticSurfaceSecondaryMid = \"#69214c\";\nexport const ColorSemanticSurfaceSecondarySoft = \"#792a59\";\nexport const ColorSemanticSurfaceBaseInverse = \"#121212\";\nexport const ColorSemanticBorderNeutralMid = \"#d4d2ce\";\nexport const ColorSemanticBorderNeutralSoft = \"#e7e5e3\";\nexport const ColorSemanticBorderNeutralBase = \"#efeeed\";\nexport const ColorSemanticBorderNeutralStrong = \"#948b89\";\nexport const ColorSemanticBorderSecondary = \"#551c3e\";\nexport const ColorSemanticBorderPrimary = \"#da0070\";\nexport const ColorSemanticBorderFocus = \"#0064e2\";\nexport const ColorSemanticBorderInverse = \"#ffffff\";\nexport const ColorSemanticBorderError = \"#dd0a0a\";\nexport const ColorSemanticBorderWarning = \"#eb6600\";\nexport const ColorSemanticBorderSuccess = \"#008500\";\nexport const ColorSemanticBorderInfo = \"#0b7c99\";\nexport const ColorSemanticUtilityFocusSoft = \"#d8e9ff\";\nexport const ColorSemanticUtilityFocusStrong = \"#0064e2\";\nexport const ColorSemanticUtilityOverlayStrong = \"#551c3e66\";\nexport const ColorSemanticUtilityOverlaySoft = \"#551c3e1a\";\nexport const ColorSemanticStatusInfo = \"#0b7c99\";\nexport const ColorSemanticStatusSuccess = \"#008500\";\nexport const ColorSemanticStatusWarning = \"#eb6600\";\nexport const ColorSemanticStatusError = \"#dd0a0a\";\nexport const ColorSemanticAccentLemonStrong = \"#fff347\";\nexport const ColorSemanticAccentLemonMid = \"#fff9a3\";\nexport const ColorSemanticAccentLemonSoft = \"#fffaba\";\nexport const ColorSemanticAccentOrangeStrong = \"#ffa633\";\nexport const ColorSemanticAccentOrangeMid = \"#ffca85\";\nexport const ColorSemanticAccentOrangeSoft = \"#ffdbad\";\nexport const ColorSemanticAccentSkyStrong = \"#2ecaf0\";\nexport const ColorSemanticAccentSkyMid = \"#77dcf5\";\nexport const ColorSemanticAccentSkySoft = \"#96e4f8\";\nexport const ColorSemanticInteractivePrimaryDefault = \"#da0070\";\nexport const ColorSemanticInteractivePrimaryHover = \"#ae005a\";\nexport const ColorSemanticInteractivePrimaryActive = \"#f7007f\";\nexport const ColorSemanticInteractivePrimaryDisabled = \"#da00704d\";\nexport const ColorSemanticInteractivePrimaryFocus = \"#ae005a\";\nexport const ColorSemanticInteractiveSecondaryDefault = \"#551c3e\";\nexport const ColorSemanticInteractiveSecondaryHover = \"#441632\";\nexport const ColorSemanticInteractiveSecondaryFocus = \"#441632\";\nexport const ColorSemanticInteractiveSecondaryActive = \"#732654\";\nexport const ColorSemanticInteractiveSecondaryDisabled = \"#551c3e4d\";\nexport const ColorSemanticInteractiveNeutralDefault = \"#ede8e1\";\nexport const ColorSemanticInteractiveNeutralHover = \"#cabca7\";\nexport const ColorSemanticInteractiveNeutralFocus = \"#cabca7\";\nexport const ColorSemanticInteractiveNeutralActive = \"#efeae4\";\nexport const ColorSemanticInteractiveNeutralDisabled = \"#ede8e14d\";\nexport const ColorSemanticInteractiveFocusRing = \"#0064e2\";\nexport const ColorSemanticInteractiveFocusRingWeak = \"#d8e9ff\";\nexport const ColorSemanticInteractiveInverseDefault = \"#ffffff\";\nexport const ColorSemanticInteractiveInverseHover = \"#ffffff\";\nexport const ColorSemanticInteractiveInverseFocus = \"#ffffff\";\nexport const ColorSemanticInteractiveInverseActive = \"#ffffffe6\";\nexport const ColorSemanticInteractiveInverseDisabled = \"#ffffff4d\";\nexport const ColorSemanticInteractiveAuxiliaryDefault = \"#ffdbad\";\nexport const ColorSemanticInteractiveAuxiliaryHover = \"#ffb557\";\nexport const ColorSemanticInteractiveAuxiliaryFocus = \"#ffb557\";\nexport const ColorSemanticInteractiveAuxiliaryActive = \"#ffdbad\";\nexport const ColorSemanticInteractiveAuxiliaryDisabled = \"#ffdbad4d\";\nexport const RadiusSemanticNone = \"0px\";\nexport const RadiusSemanticSm = \"4px\";\nexport const RadiusSemanticMd = \"8px\";\nexport const RadiusSemanticLg = \"12px\";\nexport const RadiusSemanticFull = \"1000px\";\nexport const BorderwidthSemanticNone = \"0px\";\nexport const BorderwidthSemanticXs = \"1px\";\nexport const BorderwidthSemanticMd = \"3px\";\nexport const BorderwidthSemanticLg = \"4px\";\nexport const BorderwidthSemanticXl = \"5px\";\nexport const BorderwidthSemanticXxl = \"6px\";\nexport const BorderwidthSemanticSm = \"2px\";\nexport const SpacingSpace0 = \"0px\";\nexport const SpacingSpace4 = \"4px\";\nexport const SpacingSpace8 = \"8px\";\nexport const SpacingSpace12 = \"12px\";\nexport const SpacingSpace16 = \"16px\";\nexport const SpacingSpace20 = \"20px\";\nexport const SpacingSpace24 = \"24px\";\nexport const SpacingSpace32 = \"32px\";\nexport const SpacingSpace40 = \"40px\";\nexport const SpacingSpace48 = \"48px\";\nexport const SpacingSpace64 = \"64px\";\nexport const SpacingSpace80 = \"80px\";\nexport const SpacingSpace96 = \"96px\";\nexport const SpacingSpace112 = \"112px\";\nexport const SpacingSpace128 = \"128px\";\nexport const SpacingSpace144 = \"144px\";\nexport const SpacingSpace160 = \"160px\";\nexport const TypographyFontSizeHeadingXxl = \"48px\";\nexport const TypographyFontSizeHeadingXl = \"40px\";\nexport const TypographyFontSizeHeadingLg = \"34px\";\nexport const TypographyFontSizeHeadingMd = \"28px\";\nexport const TypographyFontSizeHeadingSm = \"24px\";\nexport const TypographyFontSizeHeadingXs = \"20px\";\nexport const TypographyFontSizeHeadingXxs = \"18px\";\nexport const TypographyFontSizeTextLg = \"20px\";\nexport const TypographyFontSizeTextMd = \"16px\";\nexport const TypographyFontSizeTextSm = \"14px\";\nexport const TypographyFontSizeTextXs = \"12px\";\nexport const TypographyFontSizePricingLg = \"34px\";\nexport const TypographyFontSizePricingMd = \"30px\";\nexport const TypographyFontSizePricingSm = \"24px\";\nexport const TypographyFontSizePricingXs = \"20px\";\nexport const TypographyFontWeightRegular = 400;\nexport const TypographyFontWeightMedium = 500;\nexport const TypographyFontWeightBold = 700;\nexport const TypographyFontWeightBlack = 900;\nexport const TypographyFontWeightDemiBold = 600;\nexport const TypographyLineHeightXs = 1;\nexport const TypographyLineHeightSm = 1.15;\nexport const TypographyLineHeightMd = 1.25;\nexport const TypographyLineHeightLg = 1.5;\nexport const TypographyLetterSpacingTight = \"-0.02em\";\nexport const TypographyLetterSpacingNormal = \"0em\";\nexport const TypographyLetterSpacingWide = \"0.02em\";\nexport const TypographyFontFamilyHeading = \"DNA Heading\";\nexport const TypographyFontFamilyText = \"DNA Text\";\nexport const ElevationSemanticElevationLowColor = \"#1212120f\";\nexport const ElevationSemanticElevationLowOffsetX = \"0px\";\nexport const ElevationSemanticElevationLowOffsetY = \"2px\";\nexport const ElevationSemanticElevationLowBlur = \"16px\";\nexport const ElevationSemanticElevationLowSpread = \"0px\";\nexport const ElevationSemanticElevationMediumColor = \"#12121214\";\nexport const ElevationSemanticElevationMediumOffsetX = \"0px\";\nexport const ElevationSemanticElevationMediumOffsetY = \"4px\";\nexport const ElevationSemanticElevationMediumBlur = \"24px\";\nexport const ElevationSemanticElevationMediumSpread = \"0px\";\nexport const ElevationSemanticElevationHighColor = \"#12121229\";\nexport const ElevationSemanticElevationHighOffsetX = \"0px\";\nexport const ElevationSemanticElevationHighOffsetY = \"8px\";\nexport const ElevationSemanticElevationHighBlur = \"64px\";\nexport const ElevationSemanticElevationHighSpread = \"0px\";\nexport const ZindexSemanticBelow = -1;\nexport const ZindexSemanticBase = 0;\nexport const ZindexSemanticRaised = 200;\nexport const ZindexSemanticSticky = 400;\nexport const ZindexSemanticPopup = 600;\nexport const ZindexSemanticNavigation = 1000;\nexport const ZindexSemanticWidget = 1040;\nexport const ZindexSemanticOverlay = 1100;\nexport const ZindexSemanticDialog = 1200;\nexport const ZindexSemanticSystem = 1300;\nexport const LayoutSemanticBreakpointSmallMobile = \"360px\";\nexport const LayoutSemanticBreakpointLargeMobile = \"480px\";\nexport const LayoutSemanticBreakpointTablet = \"768px\";\nexport const LayoutSemanticBreakpointDesktop = \"1024px\";\nexport const LayoutSemanticBreakpointLargeDesktop = \"1344px\";\nexport const LayoutSemanticPageMinWidth = \"320px\";\nexport const LayoutSemanticPageMaxWidth = \"2560px\";\nexport const LayoutSemanticContainerNarrow = \"628px\";\nexport const LayoutSemanticContainerDefault = \"845px\";\nexport const LayoutSemanticContainerWide = \"1280px\";\n"],"names":[],"mappings":"AA+KY,MAAC,kCAAkC;"}
|