@synergy-design-system/react 3.11.0 → 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,29 @@
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
+
19
+ ## 3.11.1
20
+
21
+ ### Patch Changes
22
+
23
+ - Updated dependencies [[`9d36167`](https://github.com/synergy-design-system/synergy-design-system/commit/9d36167d35ebbdd43820d520140d6823e1331ea1)]:
24
+ - @synergy-design-system/components@3.11.1
25
+ - @synergy-design-system/tokens@3.11.1
26
+
3
27
  ## 3.11.0
4
28
 
5
29
  ### 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
@@ -1,3 +1,9 @@
1
+ import {
2
+ SynValidate
3
+ } from "./chunks/chunk.NDVLOP3B.js";
4
+ import {
5
+ SynSwitch
6
+ } from "./chunks/chunk.3AUZZVYZ.js";
1
7
  import {
2
8
  SynTabGroup
3
9
  } from "./chunks/chunk.5GCIGA47.js";
@@ -20,8 +26,8 @@ import {
20
26
  SynTooltip
21
27
  } from "./chunks/chunk.GRD6B33U.js";
22
28
  import {
23
- SynValidate
24
- } from "./chunks/chunk.NDVLOP3B.js";
29
+ SynRadioButton
30
+ } from "./chunks/chunk.2LDP5CAQ.js";
25
31
  import {
26
32
  SynRadioGroup
27
33
  } from "./chunks/chunk.5CIFYMXU.js";
@@ -43,9 +49,6 @@ import {
43
49
  import {
44
50
  SynSpinner
45
51
  } from "./chunks/chunk.SOARUKQP.js";
46
- import {
47
- SynSwitch
48
- } from "./chunks/chunk.3AUZZVYZ.js";
49
52
  import {
50
53
  SynNavItem
51
54
  } from "./chunks/chunk.EFKHCKYH.js";
@@ -55,6 +58,9 @@ import {
55
58
  import {
56
59
  SynOption
57
60
  } from "./chunks/chunk.BCGANMMM.js";
61
+ import {
62
+ SynPagination
63
+ } from "./chunks/chunk.6FP6NGQ3.js";
58
64
  import {
59
65
  SynPopup
60
66
  } from "./chunks/chunk.6MRDGRZF.js";
@@ -67,9 +73,6 @@ import {
67
73
  import {
68
74
  SynProgressRing
69
75
  } from "./chunks/chunk.ADSD2U7G.js";
70
- import {
71
- SynRadioButton
72
- } from "./chunks/chunk.2LDP5CAQ.js";
73
76
  import {
74
77
  SynFile
75
78
  } from "./chunks/chunk.IQB5SV6K.js";
@@ -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.0"
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.0",
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.0"
52
+ "@synergy-design-system/tokens": "3.12.0"
53
53
  }
54
54
  }