@orfium/ictinus 5.42.2 → 5.42.4

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.
@@ -1,9 +1,9 @@
1
1
 
2
- > @orfium/ictinus@5.42.2 build /home/runner/work/orfium-ictinus/orfium-ictinus/packages/ictinus
2
+ > @orfium/ictinus@5.42.4 build /home/runner/work/orfium-ictinus/orfium-ictinus/packages/ictinus
3
3
  > pnpm build:main && pnpm build:codemods && pnpm build:vanilla
4
4
 
5
5
 
6
- > @orfium/ictinus@5.42.2 build:main /home/runner/work/orfium-ictinus/orfium-ictinus/packages/ictinus
6
+ > @orfium/ictinus@5.42.4 build:main /home/runner/work/orfium-ictinus/orfium-ictinus/packages/ictinus
7
7
  > vite build --mode production
8
8
 
9
9
  production /home/runner/work/orfium-ictinus/orfium-ictinus/packages/ictinus
@@ -41,6 +41,7 @@ computing gzip size...
41
41
  dist/_virtual/ariaDpubRoles.js  0.04 kB │ gzip: 0.06 kB
42
42
  dist/_virtual/ariaGraphicsRoles.js  0.04 kB │ gzip: 0.06 kB
43
43
  dist/_virtual/escapeHTML.js  0.04 kB │ gzip: 0.06 kB
44
+ dist/_virtual/iteratorProxy.js  0.04 kB │ gzip: 0.06 kB
44
45
  dist/_virtual/commandRole.js  0.04 kB │ gzip: 0.06 kB
45
46
  dist/_virtual/compositeRole.js  0.04 kB │ gzip: 0.06 kB
46
47
  dist/_virtual/inputRole.js  0.04 kB │ gzip: 0.06 kB
@@ -53,7 +54,45 @@ computing gzip size...
53
54
  dist/_virtual/structureRole.js  0.04 kB │ gzip: 0.06 kB
54
55
  dist/_virtual/widgetRole.js  0.04 kB │ gzip: 0.06 kB
55
56
  dist/_virtual/windowRole.js  0.04 kB │ gzip: 0.06 kB
56
- dist/_virtual/iteratorProxy.js  0.04 kB │ gzip: 0.06 kB
57
+ dist/_virtual/docAbstractRole.js  0.04 kB │ gzip: 0.06 kB
58
+ dist/_virtual/docAcknowledgmentsRole.js  0.04 kB │ gzip: 0.06 kB
59
+ dist/_virtual/docAfterwordRole.js  0.04 kB │ gzip: 0.06 kB
60
+ dist/_virtual/docAppendixRole.js  0.04 kB │ gzip: 0.06 kB
61
+ dist/_virtual/docBacklinkRole.js  0.04 kB │ gzip: 0.06 kB
62
+ dist/_virtual/docBiblioentryRole.js  0.04 kB │ gzip: 0.06 kB
63
+ dist/_virtual/docBibliographyRole.js  0.04 kB │ gzip: 0.06 kB
64
+ dist/_virtual/docBibliorefRole.js  0.04 kB │ gzip: 0.06 kB
65
+ dist/_virtual/docChapterRole.js  0.04 kB │ gzip: 0.06 kB
66
+ dist/_virtual/docColophonRole.js  0.04 kB │ gzip: 0.06 kB
67
+ dist/_virtual/docConclusionRole.js  0.04 kB │ gzip: 0.06 kB
68
+ dist/_virtual/docCoverRole.js  0.04 kB │ gzip: 0.06 kB
69
+ dist/_virtual/docCreditRole.js  0.04 kB │ gzip: 0.06 kB
70
+ dist/_virtual/docCreditsRole.js  0.04 kB │ gzip: 0.06 kB
71
+ dist/_virtual/docDedicationRole.js  0.04 kB │ gzip: 0.06 kB
72
+ dist/_virtual/docEndnoteRole.js  0.04 kB │ gzip: 0.06 kB
73
+ dist/_virtual/docEndnotesRole.js  0.04 kB │ gzip: 0.06 kB
74
+ dist/_virtual/docEpigraphRole.js  0.04 kB │ gzip: 0.06 kB
75
+ dist/_virtual/docEpilogueRole.js  0.04 kB │ gzip: 0.06 kB
76
+ dist/_virtual/docErrataRole.js  0.04 kB │ gzip: 0.06 kB
77
+ dist/_virtual/docExampleRole.js  0.04 kB │ gzip: 0.06 kB
78
+ dist/_virtual/docFootnoteRole.js  0.04 kB │ gzip: 0.06 kB
79
+ dist/_virtual/docForewordRole.js  0.04 kB │ gzip: 0.06 kB
80
+ dist/_virtual/docGlossaryRole.js  0.04 kB │ gzip: 0.06 kB
81
+ dist/_virtual/docGlossrefRole.js  0.04 kB │ gzip: 0.06 kB
82
+ dist/_virtual/docIndexRole.js  0.04 kB │ gzip: 0.06 kB
83
+ dist/_virtual/docIntroductionRole.js  0.04 kB │ gzip: 0.06 kB
84
+ dist/_virtual/docNoterefRole.js  0.04 kB │ gzip: 0.06 kB
85
+ dist/_virtual/docNoticeRole.js  0.04 kB │ gzip: 0.06 kB
86
+ dist/_virtual/docPagebreakRole.js  0.04 kB │ gzip: 0.06 kB
87
+ dist/_virtual/docPagelistRole.js  0.04 kB │ gzip: 0.06 kB
88
+ dist/_virtual/docPartRole.js  0.04 kB │ gzip: 0.06 kB
89
+ dist/_virtual/docPrefaceRole.js  0.04 kB │ gzip: 0.06 kB
90
+ dist/_virtual/docPrologueRole.js  0.04 kB │ gzip: 0.06 kB
91
+ dist/_virtual/docPullquoteRole.js  0.04 kB │ gzip: 0.06 kB
92
+ dist/_virtual/docQnaRole.js  0.04 kB │ gzip: 0.06 kB
93
+ dist/_virtual/docSubtitleRole.js  0.04 kB │ gzip: 0.06 kB
94
+ dist/_virtual/docTipRole.js  0.04 kB │ gzip: 0.06 kB
95
+ dist/_virtual/docTocRole.js  0.04 kB │ gzip: 0.06 kB
57
96
  dist/_virtual/alertRole.js  0.04 kB │ gzip: 0.06 kB
58
97
  dist/_virtual/alertdialogRole.js  0.04 kB │ gzip: 0.06 kB
59
98
  dist/_virtual/applicationRole.js  0.04 kB │ gzip: 0.06 kB
@@ -136,45 +175,6 @@ computing gzip size...
136
175
  dist/_virtual/treeRole.js  0.04 kB │ gzip: 0.06 kB
137
176
  dist/_virtual/treegridRole.js  0.04 kB │ gzip: 0.06 kB
138
177
  dist/_virtual/treeitemRole.js  0.04 kB │ gzip: 0.06 kB
139
- dist/_virtual/docAbstractRole.js  0.04 kB │ gzip: 0.06 kB
140
- dist/_virtual/docAcknowledgmentsRole.js  0.04 kB │ gzip: 0.06 kB
141
- dist/_virtual/docAfterwordRole.js  0.04 kB │ gzip: 0.06 kB
142
- dist/_virtual/docAppendixRole.js  0.04 kB │ gzip: 0.06 kB
143
- dist/_virtual/docBacklinkRole.js  0.04 kB │ gzip: 0.06 kB
144
- dist/_virtual/docBiblioentryRole.js  0.04 kB │ gzip: 0.06 kB
145
- dist/_virtual/docBibliographyRole.js  0.04 kB │ gzip: 0.06 kB
146
- dist/_virtual/docBibliorefRole.js  0.04 kB │ gzip: 0.06 kB
147
- dist/_virtual/docChapterRole.js  0.04 kB │ gzip: 0.06 kB
148
- dist/_virtual/docColophonRole.js  0.04 kB │ gzip: 0.06 kB
149
- dist/_virtual/docConclusionRole.js  0.04 kB │ gzip: 0.06 kB
150
- dist/_virtual/docCoverRole.js  0.04 kB │ gzip: 0.06 kB
151
- dist/_virtual/docCreditRole.js  0.04 kB │ gzip: 0.06 kB
152
- dist/_virtual/docCreditsRole.js  0.04 kB │ gzip: 0.06 kB
153
- dist/_virtual/docDedicationRole.js  0.04 kB │ gzip: 0.06 kB
154
- dist/_virtual/docEndnoteRole.js  0.04 kB │ gzip: 0.06 kB
155
- dist/_virtual/docEndnotesRole.js  0.04 kB │ gzip: 0.06 kB
156
- dist/_virtual/docEpigraphRole.js  0.04 kB │ gzip: 0.06 kB
157
- dist/_virtual/docEpilogueRole.js  0.04 kB │ gzip: 0.06 kB
158
- dist/_virtual/docErrataRole.js  0.04 kB │ gzip: 0.06 kB
159
- dist/_virtual/docExampleRole.js  0.04 kB │ gzip: 0.06 kB
160
- dist/_virtual/docFootnoteRole.js  0.04 kB │ gzip: 0.06 kB
161
- dist/_virtual/docForewordRole.js  0.04 kB │ gzip: 0.06 kB
162
- dist/_virtual/docGlossaryRole.js  0.04 kB │ gzip: 0.06 kB
163
- dist/_virtual/docGlossrefRole.js  0.04 kB │ gzip: 0.06 kB
164
- dist/_virtual/docIndexRole.js  0.04 kB │ gzip: 0.06 kB
165
- dist/_virtual/docIntroductionRole.js  0.04 kB │ gzip: 0.06 kB
166
- dist/_virtual/docNoterefRole.js  0.04 kB │ gzip: 0.06 kB
167
- dist/_virtual/docNoticeRole.js  0.04 kB │ gzip: 0.06 kB
168
- dist/_virtual/docPagebreakRole.js  0.04 kB │ gzip: 0.06 kB
169
- dist/_virtual/docPagelistRole.js  0.04 kB │ gzip: 0.06 kB
170
- dist/_virtual/docPartRole.js  0.04 kB │ gzip: 0.06 kB
171
- dist/_virtual/docPrefaceRole.js  0.04 kB │ gzip: 0.06 kB
172
- dist/_virtual/docPrologueRole.js  0.04 kB │ gzip: 0.06 kB
173
- dist/_virtual/docPullquoteRole.js  0.04 kB │ gzip: 0.06 kB
174
- dist/_virtual/docQnaRole.js  0.04 kB │ gzip: 0.06 kB
175
- dist/_virtual/docSubtitleRole.js  0.04 kB │ gzip: 0.06 kB
176
- dist/_virtual/docTipRole.js  0.04 kB │ gzip: 0.06 kB
177
- dist/_virtual/docTocRole.js  0.04 kB │ gzip: 0.06 kB
178
178
  dist/_virtual/graphicsDocumentRole.js  0.04 kB │ gzip: 0.06 kB
179
179
  dist/_virtual/graphicsObjectRole.js  0.04 kB │ gzip: 0.06 kB
180
180
  dist/_virtual/graphicsSymbolRole.js  0.04 kB │ gzip: 0.06 kB
@@ -521,8 +521,8 @@ computing gzip size...
521
521
  dist/components/Search/StatefulSearch.js  0.89 kB │ gzip: 0.48 kB
522
522
  dist/components/Chart/BarChart/components/CustomTooltip/CustomTooltip.style.js  0.89 kB │ gzip: 0.45 kB
523
523
  dist/node_modules/@testing-library/react/node_modules/aria-query/lib/etc/roles/dpub/docQnaRole.js  0.90 kB │ gzip: 0.47 kB
524
- dist/components/Filter/components/FilterMenu/components/Options/Options.style.js  0.90 kB │ gzip: 0.49 kB
525
524
  dist/node_modules/@testing-library/react/node_modules/aria-query/lib/etc/roles/literal/menuitemcheckboxRole.js  0.90 kB │ gzip: 0.47 kB
525
+ dist/components/Filter/components/FilterMenu/components/Options/Options.style.js  0.90 kB │ gzip: 0.49 kB
526
526
  dist/node_modules/@testing-library/react/node_modules/aria-query/lib/etc/roles/dpub/docCreditRole.js  0.90 kB │ gzip: 0.47 kB
527
527
  dist/node_modules/@testing-library/react/node_modules/aria-query/lib/etc/roles/literal/searchboxRole.js  0.90 kB │ gzip: 0.47 kB
528
528
  dist/components/Icon/assets/musicBusiness/recording.svg.js  0.90 kB │ gzip: 0.53 kB
@@ -680,8 +680,8 @@ computing gzip size...
680
680
  dist/components/Notification/Snackbar/Snackbar.style.js  1.32 kB │ gzip: 0.62 kB
681
681
  dist/components/Icon/assets/toggledActions/pair.svg.js  1.33 kB │ gzip: 0.68 kB
682
682
  dist/components/Icon/assets/generic/mail.svg.js  1.33 kB │ gzip: 0.71 kB
683
- dist/components/DropdownButton/DropdownButton.style.js  1.33 kB │ gzip: 0.60 kB
684
683
  dist/components/Notification/Notification.style.js  1.33 kB │ gzip: 0.61 kB
684
+ dist/components/DropdownButton/DropdownButton.style.js  1.33 kB │ gzip: 0.60 kB
685
685
  dist/components/TextInputBase/TextInputBase.js  1.33 kB │ gzip: 0.63 kB
686
686
  dist/node_modules/is-regex/index.js  1.33 kB │ gzip: 0.57 kB
687
687
  dist/components/Avatar/Avatar.style.js  1.33 kB │ gzip: 0.60 kB
@@ -721,7 +721,6 @@ computing gzip size...
721
721
  dist/components/Link/Link.style.js  1.47 kB │ gzip: 0.65 kB
722
722
  dist/components/Icon/assets/toggledActions/lock.svg.js  1.47 kB │ gzip: 0.73 kB
723
723
  dist/components/Icon/assets/basicActions/undo.svg.js  1.48 kB │ gzip: 0.77 kB
724
- dist/components/Table/components/TTitle/TTitle.js  1.48 kB │ gzip: 0.67 kB
725
724
  dist/components/Icon/assets/musicBusiness/concert.svg.js  1.48 kB │ gzip: 0.76 kB
726
725
  dist/components/Slider/components/SliderMark/SliderMark.style.js  1.48 kB │ gzip: 0.64 kB
727
726
  dist/components/Filter/components/FilterButton/FilterButton.style.js  1.48 kB │ gzip: 0.69 kB
@@ -733,6 +732,7 @@ computing gzip size...
733
732
  dist/components/Box/Box.js  1.53 kB │ gzip: 0.55 kB
734
733
  dist/components/TableV4/components/TableCell/TableCell.js  1.53 kB │ gzip: 0.75 kB
735
734
  dist/node_modules/@testing-library/react/node_modules/aria-query/lib/etc/roles/ariaAbstractRoles.js  1.53 kB │ gzip: 0.52 kB
735
+ dist/components/Table/components/TTitle/TTitle.js  1.54 kB │ gzip: 0.69 kB
736
736
  dist/components/Icon/assets/generic/legal.svg.js  1.54 kB │ gzip: 0.79 kB
737
737
  dist/components/Icon/assets/musicBusiness/artist.svg.js  1.54 kB │ gzip: 0.81 kB
738
738
  dist/components/Drawer/Drawer.js  1.55 kB │ gzip: 0.70 kB
@@ -910,11 +910,11 @@ computing gzip size...
910
910
  dist/index.js  13.47 kB │ gzip: 3.24 kB
911
911
  dist/node_modules/@testing-library/react/node_modules/@testing-library/dom/dist/@testing-library/dom.esm.js  55.14 kB │ gzip: 13.99 kB
912
912
  dist/sprinkles/properties.css.js 115.00 kB │ gzip: 14.50 kB
913
- [vite:dts] Declaration files built in 13643ms.
913
+ [vite:dts] Declaration files built in 10888ms.
914
914
 
915
- ✓ built in 19.37s
915
+ ✓ built in 15.54s
916
916
 
917
- > @orfium/ictinus@5.42.2 build:codemods /home/runner/work/orfium-ictinus/orfium-ictinus/packages/ictinus
917
+ > @orfium/ictinus@5.42.4 build:codemods /home/runner/work/orfium-ictinus/orfium-ictinus/packages/ictinus
918
918
  > vite build --config vite.codemods.config.ts
919
919
 
920
920
  vite v7.1.6 building for production...
@@ -947,16 +947,16 @@ computing gzip size...
947
947
  dist/codemods/drawerCodemod.cjs 1.07 kB │ gzip: 0.42 kB
948
948
  dist/codemods/unchangedIconsCodemod.cjs 1.12 kB │ gzip: 0.56 kB
949
949
  dist/codemods/globalsCodemod.cjs 7.12 kB │ gzip: 1.12 kB
950
- [vite:dts] Declaration files built in 976ms.
950
+ [vite:dts] Declaration files built in 793ms.
951
951
 
952
- ✓ built in 1.15s
952
+ ✓ built in 977ms
953
953
 
954
- > @orfium/ictinus@5.42.2 build:vanilla /home/runner/work/orfium-ictinus/orfium-ictinus/packages/ictinus
954
+ > @orfium/ictinus@5.42.4 build:vanilla /home/runner/work/orfium-ictinus/orfium-ictinus/packages/ictinus
955
955
  > rm -rf dist/vanilla && NODE_ENV=production rollup -c
956
956
 
957
957
  
958
958
  ./src/vanilla/index.ts → dist/vanilla...
959
- created dist/vanilla in 1.2s
959
+ created dist/vanilla in 1.1s
960
960
  
961
961
  ./src/vanilla/index.ts → dist/vanilla...
962
- created dist/vanilla in 5.1s
962
+ created dist/vanilla in 4.2s
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @orfium/ictinus
2
2
 
3
+ ## 5.42.4
4
+
5
+ ### Patch Changes
6
+
7
+ - b680d21: add rows count label
8
+
9
+ ## 5.42.3
10
+
11
+ ### Patch Changes
12
+
13
+ - 00aeba5: make rows count string or number
14
+
3
15
  ## 5.42.2
4
16
 
5
17
  ### Patch Changes
@@ -1,4 +1,4 @@
1
- var e = { exports: {} };
1
+ var o = { exports: {} };
2
2
  export {
3
- e as __module
3
+ o as __module
4
4
  };
@@ -1,4 +1,4 @@
1
- var o = { exports: {} };
1
+ var e = { exports: {} };
2
2
  export {
3
- o as __module
3
+ e as __module
4
4
  };
@@ -1,41 +1,44 @@
1
- import { jsxs as e, jsx as n, Fragment as f } from "@emotion/react/jsx-runtime";
2
- import C, { useMemo as T } from "react";
3
- import j from "react-fast-compare";
1
+ import { jsxs as e, jsx as s, Fragment as f } from "@emotion/react/jsx-runtime";
2
+ import T, { useMemo as j } from "react";
3
+ import w from "react-fast-compare";
4
4
  import { tTitleContainer as A, titleContent as $, actionsContent as g } from "./TTitle.style.js";
5
- import r from "../../../Typography/Typography.js";
5
+ import a from "../../../Typography/Typography.js";
6
6
  import k from "./components/ColumnChooser/ColumnChooser.js";
7
- const w = ({
8
- type: a = "read-only",
9
- columns: m,
10
- columnsConfig: s,
11
- rowsConfig: d,
12
- rowsCount: h,
13
- containerRef: p,
7
+ const R = ({
8
+ type: m = "read-only",
9
+ columns: d,
10
+ columnsConfig: l,
11
+ rowsConfig: h,
12
+ rowsCount: p,
13
+ containerRef: u,
14
14
  dataTestPrefixId: i
15
15
  }) => {
16
16
  const {
17
- hasRowsCount: l,
17
+ hasRowsCount: r,
18
+ rowsCountLabel: o,
18
19
  rowSelection: c,
19
- bulkActions: u,
20
+ bulkActions: b,
20
21
  defaultAction: v
21
- } = d ?? {}, t = a === "interactive" && c, o = t ? Object.keys(c).length : l ? h : 0, b = t || l, y = t && o > 0, _ = T(() => /* @__PURE__ */ e("div", { "data-testid": `${i}_title`, children: [
22
- /* @__PURE__ */ n(r, { type: "active", variant: "label02", "data-testid": `${i}_title_items_count`, children: o }),
23
- /* @__PURE__ */ e(r, { variant: "label02", children: [
24
- " items ",
22
+ } = h ?? {}, t = m === "interactive" && c, n = t ? Object.keys(c).length : r ? p : 0, y = t || r, C = t && Number(n) > 0, _ = j(() => /* @__PURE__ */ e("div", { "data-testid": `${i}_title`, children: [
23
+ /* @__PURE__ */ s(a, { type: "active", variant: "label02", "data-testid": `${i}_title_items_count`, children: n }),
24
+ /* @__PURE__ */ e(a, { variant: "label02", children: [
25
+ " ",
26
+ o || "items",
27
+ " ",
25
28
  t ? "selected" : ""
26
29
  ] })
27
- ] }), [i, t, o]);
30
+ ] }), [i, t, n, o]);
28
31
  return /* @__PURE__ */ e("div", { css: A(), children: [
29
- /* @__PURE__ */ n("div", { css: $(), children: b && /* @__PURE__ */ e(f, { children: [
32
+ /* @__PURE__ */ s("div", { css: $(), children: y && /* @__PURE__ */ e(f, { children: [
30
33
  _,
31
- y && u
34
+ C && b
32
35
  ] }) }),
33
36
  /* @__PURE__ */ e("div", { css: g(), children: [
34
37
  v,
35
- s && /* @__PURE__ */ n(k, { columns: m, columnsConfig: s, containerRef: p, dataTestPrefixId: i })
38
+ l && /* @__PURE__ */ s(k, { columns: d, columnsConfig: l, containerRef: u, dataTestPrefixId: i })
36
39
  ] })
37
40
  ] });
38
- }, M = C.memo(w, j);
41
+ }, M = T.memo(R, w);
39
42
  export {
40
43
  M as default
41
44
  };
@@ -1,4 +1,4 @@
1
- import { __module as r } from "../../_virtual/index10.js";
1
+ import { __module as r } from "../../_virtual/index9.js";
2
2
  import { __require as s } from "../has-bigints/index.js";
3
3
  var i;
4
4
  function y() {
@@ -1,4 +1,4 @@
1
- import { __module as e } from "../../_virtual/index9.js";
1
+ import { __module as e } from "../../_virtual/index8.js";
2
2
  import { __require as l } from "../call-bound/index.js";
3
3
  import { __require as y } from "../has-symbols/index.js";
4
4
  import { __require as b } from "../safe-regex-test/index.js";
@@ -1,4 +1,4 @@
1
- import { __module as r } from "../../_virtual/index8.js";
1
+ import { __module as r } from "../../_virtual/index10.js";
2
2
  import { __require as c } from "../get-intrinsic/index.js";
3
3
  import { __require as p } from "../call-bound/index.js";
4
4
  var i;
@@ -5,7 +5,7 @@ type Props = Pick<TableProps<any>, 'columnsConfig' | 'columns' | 'rowsConfig' |
5
5
  /** Element that that serves as the positioning boundary of the ColumnChooser Menu */
6
6
  containerRef: React.MutableRefObject<any>;
7
7
  /** Number of rows */
8
- rowsCount?: number;
8
+ rowsCount?: number | string;
9
9
  } & TestProps;
10
10
  declare const _default: React.NamedExoticComponent<React.PropsWithChildren<Props>>;
11
11
  export default _default;
@@ -72,7 +72,9 @@ export type RowsConfig = {
72
72
  /** Whether a rows counter should be displayed, regardless of row selection functionality */
73
73
  hasRowsCount?: boolean;
74
74
  /** The number of rows counter that will be displayed. If no number is provided it will default to the number of rows in the table */
75
- rowsCount?: number;
75
+ rowsCount?: number | string;
76
+ /** Label text to display next to the row count (e.g., "items", "users", "products"). Defaults to "items" if not provided. */
77
+ rowsCountLabel?: string;
76
78
  /** State which indicated which rows are selected */
77
79
  rowSelection?: RowSelectionState;
78
80
  /** Callback for row selection state change */
@@ -1,3 +1,3 @@
1
- var version = "5.42.2";
1
+ var version = "5.42.4";
2
2
 
3
3
  export { version };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orfium/ictinus",
3
- "version": "5.42.2",
3
+ "version": "5.42.4",
4
4
  "type": "module",
5
5
  "main": "./dist/index.umd.cjs",
6
6
  "module": "./dist/index.js",
@@ -1,10 +1,10 @@
1
1
  import React, { useMemo } from 'react';
2
2
  import isEqual from 'react-fast-compare';
3
3
 
4
- import ColumnChooser from './components/ColumnChooser';
5
- import { actionsContent, titleContent, tTitleContainer } from './TTitle.style';
6
4
  import type { TableProps } from 'components/Table/types';
7
5
  import Typography from 'components/Typography';
6
+ import ColumnChooser from './components/ColumnChooser';
7
+ import { actionsContent, titleContent, tTitleContainer } from './TTitle.style';
8
8
 
9
9
  import type { TestProps } from '~/utils/types';
10
10
 
@@ -12,7 +12,7 @@ type Props = Pick<TableProps<any>, 'columnsConfig' | 'columns' | 'rowsConfig' |
12
12
  /** Element that that serves as the positioning boundary of the ColumnChooser Menu */
13
13
  containerRef: React.MutableRefObject<any>;
14
14
  /** Number of rows */
15
- rowsCount?: number;
15
+ rowsCount?: number | string;
16
16
  } & TestProps;
17
17
 
18
18
  const TTitle: React.FCC<Props> = ({
@@ -24,33 +24,37 @@ const TTitle: React.FCC<Props> = ({
24
24
  containerRef,
25
25
  dataTestPrefixId,
26
26
  }) => {
27
- const { hasRowsCount, rowSelection, bulkActions, defaultAction } = rowsConfig ?? {};
27
+ const { hasRowsCount, rowsCountLabel, rowSelection, bulkActions, defaultAction } =
28
+ rowsConfig ?? {};
28
29
 
29
30
  const isSelectable = type === 'interactive' && rowSelection;
30
31
 
31
32
  const itemsToDisplay = isSelectable
32
33
  ? Object.keys(rowSelection).length
33
34
  : hasRowsCount
34
- ? rowsCount
35
- : 0;
35
+ ? rowsCount
36
+ : 0;
36
37
 
37
38
  const hasTitle = isSelectable || hasRowsCount;
38
- const hasVisibleActions = isSelectable && itemsToDisplay > 0;
39
+ const hasVisibleActions = isSelectable && Number(itemsToDisplay) > 0;
39
40
 
40
41
  const title = useMemo(
41
42
  () => (
42
43
  <div data-testid={`${dataTestPrefixId}_title`}>
43
44
  <Typography
44
- type='active'
45
+ type="active"
45
46
  variant="label02"
46
47
  data-testid={`${dataTestPrefixId}_title_items_count`}
47
48
  >
48
49
  {itemsToDisplay}
49
50
  </Typography>
50
- <Typography variant="label02"> items {isSelectable ? 'selected' : ''}</Typography>
51
+ <Typography variant="label02">
52
+ {' '}
53
+ {rowsCountLabel ? rowsCountLabel : 'items'} {isSelectable ? 'selected' : ''}
54
+ </Typography>
51
55
  </div>
52
56
  ),
53
- [dataTestPrefixId, isSelectable, itemsToDisplay]
57
+ [dataTestPrefixId, isSelectable, itemsToDisplay, rowsCountLabel]
54
58
  );
55
59
 
56
60
  return (
@@ -102,7 +102,9 @@ export type RowsConfig = {
102
102
  /** Whether a rows counter should be displayed, regardless of row selection functionality */
103
103
  hasRowsCount?: boolean;
104
104
  /** The number of rows counter that will be displayed. If no number is provided it will default to the number of rows in the table */
105
- rowsCount?: number;
105
+ rowsCount?: number | string;
106
+ /** Label text to display next to the row count (e.g., "items", "users", "products"). Defaults to "items" if not provided. */
107
+ rowsCountLabel?: string;
106
108
  /** State which indicated which rows are selected */
107
109
  rowSelection?: RowSelectionState;
108
110
  /** Callback for row selection state change */