@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 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';
@@ -0,0 +1,7 @@
1
+ import {
2
+ SynPagination
3
+ } from "../chunks/chunk.6FP6NGQ3.js";
4
+ export {
5
+ SynPagination
6
+ };
7
+ //# sourceMappingURL=pagination.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
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
- SynButton
102
- } from "./chunks/chunk.TGSZHDUW.js";
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.11.1"
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.11.1",
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.11.1"
52
+ "@synergy-design-system/tokens": "3.12.0"
53
53
  }
54
54
  }