@synergy-design-system/react 3.11.1 → 3.12.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/CHANGELOG.md +16 -0
- package/dist/chunks/chunk.6FP6NGQ3.js +21 -0
- package/dist/chunks/chunk.6FP6NGQ3.js.map +7 -0
- package/dist/components/pagination.d.ts +35 -0
- package/dist/components/pagination.js +7 -0
- package/dist/components/pagination.js.map +7 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +12 -8
- package/dist/types/syn-jsx-elements.d.ts +60 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @synergy-design-system/react
|
|
2
2
|
|
|
3
|
+
## 3.12.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#1240](https://github.com/synergy-design-system/synergy-design-system/pull/1240) [`06c29d4`](https://github.com/synergy-design-system/synergy-design-system/commit/06c29d4be7b9297d34919646cfd71394abdc6f88) Thanks [@schilchSICKAG](https://github.com/schilchSICKAG)! - Released on: 2026-04-22
|
|
8
|
+
|
|
9
|
+
feat: ✨ Add new component `<syn-pagination>` (#684)
|
|
10
|
+
|
|
11
|
+
Adds a new component `<syn-pagination>` that may be used to paginate large datasets.
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Updated dependencies [[`06c29d4`](https://github.com/synergy-design-system/synergy-design-system/commit/06c29d4be7b9297d34919646cfd71394abdc6f88)]:
|
|
16
|
+
- @synergy-design-system/components@3.12.0
|
|
17
|
+
- @synergy-design-system/tokens@3.12.0
|
|
18
|
+
|
|
3
19
|
## 3.11.1
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// ../react/src/components/pagination.ts
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { createComponent } from "@lit/react";
|
|
4
|
+
import Component from "@synergy-design-system/components/components/pagination/pagination.component.js";
|
|
5
|
+
var tagName = "syn-pagination";
|
|
6
|
+
Component.define("syn-pagination");
|
|
7
|
+
var SynPagination = createComponent({
|
|
8
|
+
displayName: "SynPagination",
|
|
9
|
+
elementClass: Component,
|
|
10
|
+
events: {
|
|
11
|
+
onSynPaginationPageChanged: "syn-pagination-page-changed",
|
|
12
|
+
onSynPaginationPageSizeChanged: "syn-pagination-page-size-changed"
|
|
13
|
+
},
|
|
14
|
+
react: React,
|
|
15
|
+
tagName
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
export {
|
|
19
|
+
SynPagination
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=chunk.6FP6NGQ3.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/pagination.ts"],
|
|
4
|
+
"sourcesContent": ["// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED @synergy-design-system/react wrappers for @synergy-design-system/components\n// Please do not edit this file directly!\n// It will get recreated when running pnpm build.\n// ---------------------------------------------------------------------\nimport * as React from 'react';\nimport { createComponent } from '@lit/react';\nimport Component from '@synergy-design-system/components/components/pagination/pagination.component.js';\n\nimport { type EventName } from '@lit/react';\nimport type { SynPaginationPageChangedEvent } from '@synergy-design-system/components';\nimport type { SynPaginationPageSizeChangedEvent } from '@synergy-design-system/components';\n\nconst tagName = 'syn-pagination';\nComponent.define('syn-pagination');\n\n/**\n * @summary <syn-pagination /> provides page navigation, direct page input, and page-size selection for large data sets.\n *\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-pagination--docs\n * @status stable\n * @since 3.12.0\n *\n * @event syn-pagination-page-changed - Emitted when the current page changes\n * @event syn-pagination-page-size-changed - Emitted when the page size changes\n *\n * @csspart base - The component's base wrapper.\n * @csspart divider - The divider element displayed at the top of the pagination component.\n * @csspart page-size-select-wrapper - The wrapper element containing the page size select and page item summary.\n * @csspart page-size-select - The page size select element.\n * @csspart page-item-summary - The text element displaying the current page item range and total items.\n * @csspart page-input-section - The section containing the page number input and total pages display.\n * @csspart page-input - The page number input element.\n * @csspart navigation - The pagination navigation element.\n * @csspart navigation-action - The individual navigation action buttons (first, previous, next, last).\n *\n * @accessibility\n * The entire component is wrapped in a semantic `<nav>` landmark with an `aria-label` for screen reader accessibility.\n * Use the `aria-label` attribute to provide a unique, descriptive label when multiple pagination controls exist on the page.\n * Example: `<syn-pagination aria-label=\"Search results pagination\"></syn-pagination>`\n */\nexport const SynPagination = createComponent({\n displayName: 'SynPagination',\n elementClass: Component,\n events: {\n onSynPaginationPageChanged:\n 'syn-pagination-page-changed' as EventName<SynPaginationPageChangedEvent>,\n onSynPaginationPageSizeChanged:\n 'syn-pagination-page-size-changed' as EventName<SynPaginationPageSizeChangedEvent>,\n },\n react: React,\n tagName,\n});\n\nexport type { SynPaginationPageChangedEvent } from '@synergy-design-system/components';\nexport type { SynPaginationPageSizeChangedEvent } from '@synergy-design-system/components';\n"],
|
|
5
|
+
"mappings": ";AAKA,YAAY,WAAW;AACvB,SAAS,uBAAuB;AAChC,OAAO,eAAe;AAMtB,IAAM,UAAU;AAChB,UAAU,OAAO,gBAAgB;AA2B1B,IAAM,gBAAgB,gBAAgB;AAAA,EAC3C,aAAa;AAAA,EACb,cAAc;AAAA,EACd,QAAQ;AAAA,IACN,4BACE;AAAA,IACF,gCACE;AAAA,EACJ;AAAA,EACA,OAAO;AAAA,EACP;AACF,CAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import Component from '@synergy-design-system/components/components/pagination/pagination.component.js';
|
|
2
|
+
import { type EventName } from '@lit/react';
|
|
3
|
+
import type { SynPaginationPageChangedEvent } from '@synergy-design-system/components';
|
|
4
|
+
import type { SynPaginationPageSizeChangedEvent } from '@synergy-design-system/components';
|
|
5
|
+
/**
|
|
6
|
+
* @summary <syn-pagination /> provides page navigation, direct page input, and page-size selection for large data sets.
|
|
7
|
+
*
|
|
8
|
+
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-pagination--docs
|
|
9
|
+
* @status stable
|
|
10
|
+
* @since 3.12.0
|
|
11
|
+
*
|
|
12
|
+
* @event syn-pagination-page-changed - Emitted when the current page changes
|
|
13
|
+
* @event syn-pagination-page-size-changed - Emitted when the page size changes
|
|
14
|
+
*
|
|
15
|
+
* @csspart base - The component's base wrapper.
|
|
16
|
+
* @csspart divider - The divider element displayed at the top of the pagination component.
|
|
17
|
+
* @csspart page-size-select-wrapper - The wrapper element containing the page size select and page item summary.
|
|
18
|
+
* @csspart page-size-select - The page size select element.
|
|
19
|
+
* @csspart page-item-summary - The text element displaying the current page item range and total items.
|
|
20
|
+
* @csspart page-input-section - The section containing the page number input and total pages display.
|
|
21
|
+
* @csspart page-input - The page number input element.
|
|
22
|
+
* @csspart navigation - The pagination navigation element.
|
|
23
|
+
* @csspart navigation-action - The individual navigation action buttons (first, previous, next, last).
|
|
24
|
+
*
|
|
25
|
+
* @accessibility
|
|
26
|
+
* The entire component is wrapped in a semantic `<nav>` landmark with an `aria-label` for screen reader accessibility.
|
|
27
|
+
* Use the `aria-label` attribute to provide a unique, descriptive label when multiple pagination controls exist on the page.
|
|
28
|
+
* Example: `<syn-pagination aria-label="Search results pagination"></syn-pagination>`
|
|
29
|
+
*/
|
|
30
|
+
export declare const SynPagination: import("@lit/react").ReactWebComponent<Component, {
|
|
31
|
+
onSynPaginationPageChanged: EventName<SynPaginationPageChangedEvent>;
|
|
32
|
+
onSynPaginationPageSizeChanged: EventName<SynPaginationPageSizeChangedEvent>;
|
|
33
|
+
}>;
|
|
34
|
+
export type { SynPaginationPageChangedEvent } from '@synergy-design-system/components';
|
|
35
|
+
export type { SynPaginationPageSizeChangedEvent } from '@synergy-design-system/components';
|
package/dist/index.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ export { SynMenuLabel } from './components/menu-label.js';
|
|
|
24
24
|
export { SynNavItem } from './components/nav-item.js';
|
|
25
25
|
export { SynOptgroup } from './components/optgroup.js';
|
|
26
26
|
export { SynOption } from './components/option.js';
|
|
27
|
+
export { SynPagination } from './components/pagination.js';
|
|
27
28
|
export { SynPopup } from './components/popup.js';
|
|
28
29
|
export { SynPrioNav } from './components/prio-nav.js';
|
|
29
30
|
export { SynProgressBar } from './components/progress-bar.js';
|
package/dist/index.js
CHANGED
|
@@ -49,9 +49,6 @@ import {
|
|
|
49
49
|
import {
|
|
50
50
|
SynSpinner
|
|
51
51
|
} from "./chunks/chunk.SOARUKQP.js";
|
|
52
|
-
import {
|
|
53
|
-
SynMenu
|
|
54
|
-
} from "./chunks/chunk.4IVJHGWM.js";
|
|
55
52
|
import {
|
|
56
53
|
SynNavItem
|
|
57
54
|
} from "./chunks/chunk.EFKHCKYH.js";
|
|
@@ -61,6 +58,9 @@ import {
|
|
|
61
58
|
import {
|
|
62
59
|
SynOption
|
|
63
60
|
} from "./chunks/chunk.BCGANMMM.js";
|
|
61
|
+
import {
|
|
62
|
+
SynPagination
|
|
63
|
+
} from "./chunks/chunk.6FP6NGQ3.js";
|
|
64
64
|
import {
|
|
65
65
|
SynPopup
|
|
66
66
|
} from "./chunks/chunk.6MRDGRZF.js";
|
|
@@ -73,9 +73,6 @@ import {
|
|
|
73
73
|
import {
|
|
74
74
|
SynProgressRing
|
|
75
75
|
} from "./chunks/chunk.ADSD2U7G.js";
|
|
76
|
-
import {
|
|
77
|
-
SynDropdown
|
|
78
|
-
} from "./chunks/chunk.AE6RZ4W2.js";
|
|
79
76
|
import {
|
|
80
77
|
SynFile
|
|
81
78
|
} from "./chunks/chunk.IQB5SV6K.js";
|
|
@@ -98,8 +95,8 @@ import {
|
|
|
98
95
|
SynMenuLabel
|
|
99
96
|
} from "./chunks/chunk.BTEVTUXU.js";
|
|
100
97
|
import {
|
|
101
|
-
|
|
102
|
-
} from "./chunks/chunk.
|
|
98
|
+
SynMenu
|
|
99
|
+
} from "./chunks/chunk.4IVJHGWM.js";
|
|
103
100
|
import {
|
|
104
101
|
SynCard
|
|
105
102
|
} from "./chunks/chunk.OJAJTT5S.js";
|
|
@@ -121,6 +118,9 @@ import {
|
|
|
121
118
|
import {
|
|
122
119
|
SynDrawer
|
|
123
120
|
} from "./chunks/chunk.RWOJEMSX.js";
|
|
121
|
+
import {
|
|
122
|
+
SynDropdown
|
|
123
|
+
} from "./chunks/chunk.AE6RZ4W2.js";
|
|
124
124
|
import {
|
|
125
125
|
SynAccordion
|
|
126
126
|
} from "./chunks/chunk.2PS5VOXM.js";
|
|
@@ -139,6 +139,9 @@ import {
|
|
|
139
139
|
import {
|
|
140
140
|
SynButtonGroup
|
|
141
141
|
} from "./chunks/chunk.HHPIABBV.js";
|
|
142
|
+
import {
|
|
143
|
+
SynButton
|
|
144
|
+
} from "./chunks/chunk.TGSZHDUW.js";
|
|
142
145
|
export {
|
|
143
146
|
SynAccordion,
|
|
144
147
|
SynAlert,
|
|
@@ -166,6 +169,7 @@ export {
|
|
|
166
169
|
SynNavItem,
|
|
167
170
|
SynOptgroup,
|
|
168
171
|
SynOption,
|
|
172
|
+
SynPagination,
|
|
169
173
|
SynPopup,
|
|
170
174
|
SynPrioNav,
|
|
171
175
|
SynProgressBar,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CSSProperties, DOMAttributes, RefObject } from 'react';
|
|
2
|
-
import type { SynShowEvent, SynAfterShowEvent, SynHideEvent, SynAfterHideEvent, SynBlurEvent, SynFocusEvent, SynInvalidEvent, SynChangeEvent, SynInputEvent, SynClearEvent, SynErrorEvent, SynInitialFocusEvent, SynRequestCloseEvent, SynBurgerMenuClosedEvent, SynBurgerMenuHiddenEvent, SynBurgerMenuOpenEvent, SynLoadEvent, SynClampEvent, SynSelectEvent, SynRepositionEvent, SynMoveEvent, SynCloseEvent, SynTabShowEvent, SynTabHideEvent, SynRemoveEvent, SynAccordion, SynAlert, SynBadge, SynBreadcrumb, SynBreadcrumbItem, SynButton, SynButtonGroup, SynCard, SynCheckbox, SynCombobox, SynDetails, SynDialog, SynDivider, SynDrawer, SynDropdown, SynFile, SynHeader, SynIcon, SynIconButton, SynInput, SynMenu, SynMenuItem, SynMenuLabel, SynNavItem, SynOptgroup, SynOption, SynPopup, SynPrioNav, SynProgressBar, SynProgressRing, SynRadio, SynRadioButton, SynRadioGroup, SynRange, SynRangeTick, SynSelect, SynSideNav, SynSpinner, SynSwitch, SynTab, SynTabGroup, SynTabPanel, SynTag, SynTagGroup, SynTextarea, SynTooltip, SynValidate } from '@synergy-design-system/components';
|
|
2
|
+
import type { SynShowEvent, SynAfterShowEvent, SynHideEvent, SynAfterHideEvent, SynBlurEvent, SynFocusEvent, SynInvalidEvent, SynChangeEvent, SynInputEvent, SynClearEvent, SynErrorEvent, SynInitialFocusEvent, SynRequestCloseEvent, SynBurgerMenuClosedEvent, SynBurgerMenuHiddenEvent, SynBurgerMenuOpenEvent, SynLoadEvent, SynClampEvent, SynSelectEvent, SynPaginationPageChangedEvent, SynPaginationPageSizeChangedEvent, SynRepositionEvent, SynMoveEvent, SynCloseEvent, SynTabShowEvent, SynTabHideEvent, SynRemoveEvent, SynAccordion, SynAlert, SynBadge, SynBreadcrumb, SynBreadcrumbItem, SynButton, SynButtonGroup, SynCard, SynCheckbox, SynCombobox, SynDetails, SynDialog, SynDivider, SynDrawer, SynDropdown, SynFile, SynHeader, SynIcon, SynIconButton, SynInput, SynMenu, SynMenuItem, SynMenuLabel, SynNavItem, SynOptgroup, SynOption, SynPagination, SynPopup, SynPrioNav, SynProgressBar, SynProgressRing, SynRadio, SynRadioButton, SynRadioGroup, SynRange, SynRangeTick, SynSelect, SynSideNav, SynSpinner, SynSwitch, SynTab, SynTabGroup, SynTabPanel, SynTag, SynTagGroup, SynTextarea, SynTooltip, SynValidate } from '@synergy-design-system/components';
|
|
3
3
|
/**
|
|
4
4
|
* Used core types
|
|
5
5
|
* @see https://coryrylan.com/blog/how-to-use-web-components-with-typescript-and-react
|
|
@@ -970,6 +970,40 @@ export type SynCustomElement<SynElement extends HTMLElement, Events extends SynE
|
|
|
970
970
|
* @csspart prefix - The container that wraps the prefix.
|
|
971
971
|
* @csspart suffix - The container that wraps the suffix.
|
|
972
972
|
*/ export type SynOptionJSXElement = SynCustomElement<SynOption, []>;
|
|
973
|
+
/**
|
|
974
|
+
* @summary <syn-pagination /> provides page navigation, direct page input, and page-size selection for large data sets.
|
|
975
|
+
*
|
|
976
|
+
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-pagination--docs
|
|
977
|
+
* @status stable
|
|
978
|
+
* @since 3.12.0
|
|
979
|
+
*
|
|
980
|
+
* @event syn-pagination-page-changed - Emitted when the current page changes
|
|
981
|
+
* @event syn-pagination-page-size-changed - Emitted when the page size changes
|
|
982
|
+
*
|
|
983
|
+
* @csspart base - The component's base wrapper.
|
|
984
|
+
* @csspart divider - The divider element displayed at the top of the pagination component.
|
|
985
|
+
* @csspart page-size-select-wrapper - The wrapper element containing the page size select and page item summary.
|
|
986
|
+
* @csspart page-size-select - The page size select element.
|
|
987
|
+
* @csspart page-item-summary - The text element displaying the current page item range and total items.
|
|
988
|
+
* @csspart page-input-section - The section containing the page number input and total pages display.
|
|
989
|
+
* @csspart page-input - The page number input element.
|
|
990
|
+
* @csspart navigation - The pagination navigation element.
|
|
991
|
+
* @csspart navigation-action - The individual navigation action buttons (first, previous, next, last).
|
|
992
|
+
*
|
|
993
|
+
* @accessibility
|
|
994
|
+
* The entire component is wrapped in a semantic `<nav>` landmark with an `aria-label` for screen reader accessibility.
|
|
995
|
+
* Use the `aria-label` attribute to provide a unique, descriptive label when multiple pagination controls exist on the page.
|
|
996
|
+
* Example: `<syn-pagination aria-label="Search results pagination"></syn-pagination>`
|
|
997
|
+
*/ export type SynPaginationJSXElement = SynCustomElement<SynPagination, [
|
|
998
|
+
[
|
|
999
|
+
'syn-pagination-page-changed',
|
|
1000
|
+
SynPaginationPageChangedEvent
|
|
1001
|
+
],
|
|
1002
|
+
[
|
|
1003
|
+
'syn-pagination-page-size-changed',
|
|
1004
|
+
SynPaginationPageSizeChangedEvent
|
|
1005
|
+
]
|
|
1006
|
+
]>;
|
|
973
1007
|
/**
|
|
974
1008
|
* @summary Popup is a utility that lets you declaratively anchor "popup" containers to another element.
|
|
975
1009
|
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-popup--docs
|
|
@@ -2366,6 +2400,31 @@ declare module 'react' {
|
|
|
2366
2400
|
* @csspart prefix - The container that wraps the prefix.
|
|
2367
2401
|
* @csspart suffix - The container that wraps the suffix.
|
|
2368
2402
|
*/ 'syn-option': SynOptionJSXElement;
|
|
2403
|
+
/**
|
|
2404
|
+
* @summary <syn-pagination /> provides page navigation, direct page input, and page-size selection for large data sets.
|
|
2405
|
+
*
|
|
2406
|
+
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-pagination--docs
|
|
2407
|
+
* @status stable
|
|
2408
|
+
* @since 3.12.0
|
|
2409
|
+
*
|
|
2410
|
+
* @event syn-pagination-page-changed - Emitted when the current page changes
|
|
2411
|
+
* @event syn-pagination-page-size-changed - Emitted when the page size changes
|
|
2412
|
+
*
|
|
2413
|
+
* @csspart base - The component's base wrapper.
|
|
2414
|
+
* @csspart divider - The divider element displayed at the top of the pagination component.
|
|
2415
|
+
* @csspart page-size-select-wrapper - The wrapper element containing the page size select and page item summary.
|
|
2416
|
+
* @csspart page-size-select - The page size select element.
|
|
2417
|
+
* @csspart page-item-summary - The text element displaying the current page item range and total items.
|
|
2418
|
+
* @csspart page-input-section - The section containing the page number input and total pages display.
|
|
2419
|
+
* @csspart page-input - The page number input element.
|
|
2420
|
+
* @csspart navigation - The pagination navigation element.
|
|
2421
|
+
* @csspart navigation-action - The individual navigation action buttons (first, previous, next, last).
|
|
2422
|
+
*
|
|
2423
|
+
* @accessibility
|
|
2424
|
+
* The entire component is wrapped in a semantic `<nav>` landmark with an `aria-label` for screen reader accessibility.
|
|
2425
|
+
* Use the `aria-label` attribute to provide a unique, descriptive label when multiple pagination controls exist on the page.
|
|
2426
|
+
* Example: `<syn-pagination aria-label="Search results pagination"></syn-pagination>`
|
|
2427
|
+
*/ 'syn-pagination': SynPaginationJSXElement;
|
|
2369
2428
|
/**
|
|
2370
2429
|
* @summary Popup is a utility that lets you declaratively anchor "popup" containers to another element.
|
|
2371
2430
|
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-popup--docs
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
},
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@lit/react": "^1.0.8",
|
|
8
|
-
"@synergy-design-system/components": "3.
|
|
8
|
+
"@synergy-design-system/components": "3.12.0"
|
|
9
9
|
},
|
|
10
10
|
"description": "React wrappers for the Synergy Design System",
|
|
11
11
|
"exports": {
|
|
@@ -43,12 +43,12 @@
|
|
|
43
43
|
"directory": "packages/react"
|
|
44
44
|
},
|
|
45
45
|
"type": "module",
|
|
46
|
-
"version": "3.
|
|
46
|
+
"version": "3.12.0",
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@types/react": "^19.2.14",
|
|
49
49
|
"react": "^19.2.4"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
|
-
"@synergy-design-system/tokens": "3.
|
|
52
|
+
"@synergy-design-system/tokens": "3.12.0"
|
|
53
53
|
}
|
|
54
54
|
}
|