@drivenets/design-system 0.11.1 → 0.12.1

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.
Files changed (49) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/index.cjs +778 -140
  3. package/dist/index.d.cts +268 -2
  4. package/dist/index.d.cts.map +1 -1
  5. package/dist/index.d.ts +268 -2
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +774 -141
  8. package/dist/index.js.map +1 -1
  9. package/dist/index.min.css +1 -1
  10. package/package.json +2 -1
  11. package/src/components/ds-autocomplete/ds-autocomplete.module.scss +1 -1
  12. package/src/components/ds-catalog-layout/catalog-layout-empty-illustration.tsx +57 -0
  13. package/src/components/ds-catalog-layout/ds-catalog-layout.context.ts +19 -0
  14. package/src/components/ds-catalog-layout/ds-catalog-layout.module.scss +167 -0
  15. package/src/components/ds-catalog-layout/ds-catalog-layout.tsx +130 -0
  16. package/src/components/ds-catalog-layout/ds-catalog-layout.types.ts +62 -0
  17. package/src/components/ds-catalog-layout/index.ts +9 -0
  18. package/src/components/ds-dropdown-menu/ds-dropdown-menu.module.scss +5 -0
  19. package/src/components/ds-key-value-pair/ds-key-value-pair.module.scss +0 -5
  20. package/src/components/ds-smart-tabs/ds-smart-tabs.module.scss +1 -0
  21. package/src/components/ds-status-badge/ds-status-badge.types.ts +15 -0
  22. package/src/components/ds-status-badge-v2/ds-status-badge-v2.module.scss +109 -0
  23. package/src/components/ds-status-badge-v2/ds-status-badge-v2.tsx +77 -0
  24. package/src/components/ds-status-badge-v2/ds-status-badge-v2.types.ts +79 -0
  25. package/src/components/ds-status-badge-v2/ds-status-badge-v2.unit.test.ts +25 -0
  26. package/src/components/ds-status-badge-v2/index.ts +13 -0
  27. package/src/components/ds-status-badge-v2/phase-config.ts +15 -0
  28. package/src/components/ds-table/components/ds-table-body-virtualized/ds-table-body-virtualized.tsx +16 -8
  29. package/src/components/ds-table/components/ds-table-body-virtualized/ds-table-body-virtualized.types.ts +61 -0
  30. package/src/components/ds-table/components/ds-table-body-virtualized/use-infinite-scroll.ts +54 -0
  31. package/src/components/ds-table/components/ds-table-header/ds-table-header.module.scss +4 -9
  32. package/src/components/ds-table/components/ds-table-header/ds-table-header.tsx +12 -26
  33. package/src/components/ds-table/components/ds-table-header-selectable-cell/ds-table-header-selectable-cell.tsx +22 -0
  34. package/src/components/ds-table/components/ds-table-header-selectable-cell/ds-table-header-selectable-cell.types.ts +9 -0
  35. package/src/components/ds-table/components/ds-table-header-selectable-cell/index.ts +2 -0
  36. package/src/components/ds-table/components/ds-table-row/ds-table-row.module.scss +4 -9
  37. package/src/components/ds-table/components/ds-table-row/ds-table-row.tsx +20 -15
  38. package/src/components/ds-table/components/ds-table-row-selectable-cell/ds-table-row-selectable-cell.tsx +9 -18
  39. package/src/components/ds-table/components/ds-table-row-selectable-cell/ds-table-row-selectable-cell.types.ts +2 -11
  40. package/src/components/ds-table/components/ds-table-row-virtualized/ds-table-row-virtualized.module.scss +3 -6
  41. package/src/components/ds-table/components/ds-table-row-virtualized/ds-table-row-virtualized.tsx +2 -6
  42. package/src/components/ds-table/ds-table.tsx +57 -17
  43. package/src/components/ds-table/ds-table.types.ts +27 -1
  44. package/src/components/ds-table/styles/_variables.scss +0 -1
  45. package/src/components/ds-table/styles/shared/ds-table-shared.module.scss +1 -0
  46. package/src/components/ds-table/utils/constants.ts +21 -0
  47. package/src/index.ts +2 -0
  48. package/src/styles/shared/_dropdown.scss +1 -1
  49. package/src/components/ds-table/components/ds-table-row-selectable-cell/ds-table-row-selectable-cell.module.scss +0 -6
package/dist/index.cjs CHANGED
@@ -3225,7 +3225,7 @@ const Title$2 = (t0) => {
3225
3225
  } else t2 = $[5];
3226
3226
  return t2;
3227
3227
  };
3228
- const Body$3 = (t0) => {
3228
+ const Body$4 = (t0) => {
3229
3229
  const $ = (0, react_compiler_runtime.c)(6);
3230
3230
  const { style, className, children } = t0;
3231
3231
  let t1;
@@ -3273,7 +3273,7 @@ const Actions$3 = (t0) => {
3273
3273
  return t2;
3274
3274
  };
3275
3275
  DsAlertBanner.Title = Title$2;
3276
- DsAlertBanner.Body = Body$3;
3276
+ DsAlertBanner.Body = Body$4;
3277
3277
  DsAlertBanner.Actions = Actions$3;
3278
3278
  //#endregion
3279
3279
  //#region src/components/ds-alert-banner/ds-alert-banner.types.ts
@@ -4082,7 +4082,7 @@ const Trigger = _ark_ui_react_menu.Menu.Trigger;
4082
4082
  /**
4083
4083
  * Content component - wraps the dropdown content
4084
4084
  */
4085
- const Content$1 = (t0) => {
4085
+ const Content$2 = (t0) => {
4086
4086
  const $ = (0, react_compiler_runtime.c)(9);
4087
4087
  const { disablePortal: t1, children, className, style } = t0;
4088
4088
  const Wrapper = (t1 === void 0 ? false : t1) ? react.Fragment : _ark_ui_react_portal.Portal;
@@ -4187,7 +4187,7 @@ const ItemIndicator = (t0) => {
4187
4187
  /**
4188
4188
  * Header component - sticky header container for search, filters, or other controls
4189
4189
  */
4190
- const Header$4 = (t0) => {
4190
+ const Header$5 = (t0) => {
4191
4191
  const $ = (0, react_compiler_runtime.c)(6);
4192
4192
  const { children, className, style } = t0;
4193
4193
  let t1;
@@ -4663,11 +4663,11 @@ const DsDropdownMenuLegacy = (t0) => {
4663
4663
  const DsDropdownMenu = {
4664
4664
  Root: Root$3,
4665
4665
  Trigger,
4666
- Content: Content$1,
4666
+ Content: Content$2,
4667
4667
  Item: Item$2,
4668
4668
  ItemIndicator,
4669
4669
  TriggerItem,
4670
- Header: Header$4,
4670
+ Header: Header$5,
4671
4671
  Actions: Actions$2,
4672
4672
  ItemGroup,
4673
4673
  ItemGroupLabel,
@@ -5505,7 +5505,7 @@ const Root$2 = (t0) => {
5505
5505
  * Use with DsCard.Title and DsCard.Extra for standard layout,
5506
5506
  * or provide custom children for full flexibility.
5507
5507
  */
5508
- const Header$3 = (t0) => {
5508
+ const Header$4 = (t0) => {
5509
5509
  const $ = (0, react_compiler_runtime.c)(12);
5510
5510
  let children;
5511
5511
  let className;
@@ -5549,7 +5549,7 @@ const Header$3 = (t0) => {
5549
5549
  /**
5550
5550
  * Card body - main content area.
5551
5551
  */
5552
- const Body$2 = (t0) => {
5552
+ const Body$3 = (t0) => {
5553
5553
  const $ = (0, react_compiler_runtime.c)(12);
5554
5554
  let children;
5555
5555
  let className;
@@ -5636,8 +5636,8 @@ const Footer$3 = (t0) => {
5636
5636
  };
5637
5637
  const DsCard = {
5638
5638
  Root: Root$2,
5639
- Header: Header$3,
5640
- Body: Body$2,
5639
+ Header: Header$4,
5640
+ Body: Body$3,
5641
5641
  Footer: Footer$3
5642
5642
  };
5643
5643
  //#endregion
@@ -5648,6 +5648,413 @@ const cardSizes = [
5648
5648
  "large"
5649
5649
  ];
5650
5650
  //#endregion
5651
+ //#region src/components/ds-catalog-layout/ds-catalog-layout.module.scss
5652
+ var ds_catalog_layout_module_default = {
5653
+ "body": "ub6JXq_body",
5654
+ "content": "ub6JXq_content",
5655
+ "contentHeader": "ub6JXq_contentHeader",
5656
+ "contentHeaderActions": "ub6JXq_contentHeaderActions",
5657
+ "contentHeaderItem": "ub6JXq_contentHeaderItem",
5658
+ "contentHeaderTitle": "ub6JXq_contentHeaderTitle",
5659
+ "contentHeaderTitleRow": "ub6JXq_contentHeaderTitleRow",
5660
+ "contentWithSideMenu": "ub6JXq_contentWithSideMenu",
5661
+ "fillParent": "ub6JXq_fillParent",
5662
+ "header": "ub6JXq_header",
5663
+ "root": "ub6JXq_root",
5664
+ "sideMenu": "ub6JXq_sideMenu",
5665
+ "sideMenuPanel": "ub6JXq_sideMenuPanel",
5666
+ "sideMenuPinButton": "ub6JXq_sideMenuPinButton"
5667
+ };
5668
+ //#endregion
5669
+ //#region src/components/ds-catalog-layout/ds-catalog-layout.context.ts
5670
+ const DsCatalogLayoutContext = (0, react.createContext)(null);
5671
+ const useDsCatalogLayoutContext = () => {
5672
+ const context = (0, react.useContext)(DsCatalogLayoutContext);
5673
+ if (!context) throw new Error("DsCatalogLayout compound components must be used within DsCatalogLayout");
5674
+ return context;
5675
+ };
5676
+ //#endregion
5677
+ //#region src/components/ds-catalog-layout/ds-catalog-layout.tsx
5678
+ const DEFAULT_LOCALE = Object.freeze({
5679
+ pinButtonLabel: "Pin side menu",
5680
+ unpinButtonLabel: "Unpin side menu"
5681
+ });
5682
+ const DsCatalogLayout = (t0) => {
5683
+ const $ = (0, react_compiler_runtime.c)(17);
5684
+ let className;
5685
+ let rest;
5686
+ let t1;
5687
+ if ($[0] !== t0) {
5688
+ ({className, fillParent: t1, ...rest} = t0);
5689
+ $[0] = t0;
5690
+ $[1] = className;
5691
+ $[2] = rest;
5692
+ $[3] = t1;
5693
+ } else {
5694
+ className = $[1];
5695
+ rest = $[2];
5696
+ t1 = $[3];
5697
+ }
5698
+ const fillParent = t1 === void 0 ? false : t1;
5699
+ const [hasSideMenu, setHasSideMenu] = (0, react.useState)(false);
5700
+ let t2;
5701
+ if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
5702
+ t2 = () => setHasSideMenu(true);
5703
+ $[4] = t2;
5704
+ } else t2 = $[4];
5705
+ const registerSideMenu = t2;
5706
+ let t3;
5707
+ if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
5708
+ t3 = () => setHasSideMenu(false);
5709
+ $[5] = t3;
5710
+ } else t3 = $[5];
5711
+ const unregisterSideMenu = t3;
5712
+ let t4;
5713
+ if ($[6] !== hasSideMenu) {
5714
+ t4 = {
5715
+ hasSideMenu,
5716
+ registerSideMenu,
5717
+ unregisterSideMenu
5718
+ };
5719
+ $[6] = hasSideMenu;
5720
+ $[7] = t4;
5721
+ } else t4 = $[7];
5722
+ const contextValue = t4;
5723
+ let t5;
5724
+ if ($[8] !== className || $[9] !== fillParent) {
5725
+ t5 = (0, classnames.default)(ds_catalog_layout_module_default.root, { [ds_catalog_layout_module_default.fillParent]: fillParent }, className);
5726
+ $[8] = className;
5727
+ $[9] = fillParent;
5728
+ $[10] = t5;
5729
+ } else t5 = $[10];
5730
+ let t6;
5731
+ if ($[11] !== rest || $[12] !== t5) {
5732
+ t6 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
5733
+ ...rest,
5734
+ className: t5
5735
+ });
5736
+ $[11] = rest;
5737
+ $[12] = t5;
5738
+ $[13] = t6;
5739
+ } else t6 = $[13];
5740
+ let t7;
5741
+ if ($[14] !== contextValue || $[15] !== t6) {
5742
+ t7 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsCatalogLayoutContext.Provider, {
5743
+ value: contextValue,
5744
+ children: t6
5745
+ });
5746
+ $[14] = contextValue;
5747
+ $[15] = t6;
5748
+ $[16] = t7;
5749
+ } else t7 = $[16];
5750
+ return t7;
5751
+ };
5752
+ const Header$3 = (t0) => {
5753
+ const $ = (0, react_compiler_runtime.c)(8);
5754
+ let className;
5755
+ let rest;
5756
+ if ($[0] !== t0) {
5757
+ ({className, ...rest} = t0);
5758
+ $[0] = t0;
5759
+ $[1] = className;
5760
+ $[2] = rest;
5761
+ } else {
5762
+ className = $[1];
5763
+ rest = $[2];
5764
+ }
5765
+ let t1;
5766
+ if ($[3] !== className) {
5767
+ t1 = (0, classnames.default)(ds_catalog_layout_module_default.header, className);
5768
+ $[3] = className;
5769
+ $[4] = t1;
5770
+ } else t1 = $[4];
5771
+ let t2;
5772
+ if ($[5] !== rest || $[6] !== t1) {
5773
+ t2 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("header", {
5774
+ ...rest,
5775
+ className: t1
5776
+ });
5777
+ $[5] = rest;
5778
+ $[6] = t1;
5779
+ $[7] = t2;
5780
+ } else t2 = $[7];
5781
+ return t2;
5782
+ };
5783
+ const Body$2 = (t0) => {
5784
+ const $ = (0, react_compiler_runtime.c)(8);
5785
+ let className;
5786
+ let rest;
5787
+ if ($[0] !== t0) {
5788
+ ({className, ...rest} = t0);
5789
+ $[0] = t0;
5790
+ $[1] = className;
5791
+ $[2] = rest;
5792
+ } else {
5793
+ className = $[1];
5794
+ rest = $[2];
5795
+ }
5796
+ let t1;
5797
+ if ($[3] !== className) {
5798
+ t1 = (0, classnames.default)(ds_catalog_layout_module_default.body, className);
5799
+ $[3] = className;
5800
+ $[4] = t1;
5801
+ } else t1 = $[4];
5802
+ let t2;
5803
+ if ($[5] !== rest || $[6] !== t1) {
5804
+ t2 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
5805
+ ...rest,
5806
+ className: t1
5807
+ });
5808
+ $[5] = rest;
5809
+ $[6] = t1;
5810
+ $[7] = t2;
5811
+ } else t2 = $[7];
5812
+ return t2;
5813
+ };
5814
+ const SideMenu = (t0) => {
5815
+ const $ = (0, react_compiler_runtime.c)(32);
5816
+ let children;
5817
+ let className;
5818
+ let locale;
5819
+ let onPinnedChange;
5820
+ let rest;
5821
+ let t1;
5822
+ if ($[0] !== t0) {
5823
+ ({className, pinned: t1, onPinnedChange, locale, children, ...rest} = t0);
5824
+ $[0] = t0;
5825
+ $[1] = children;
5826
+ $[2] = className;
5827
+ $[3] = locale;
5828
+ $[4] = onPinnedChange;
5829
+ $[5] = rest;
5830
+ $[6] = t1;
5831
+ } else {
5832
+ children = $[1];
5833
+ className = $[2];
5834
+ locale = $[3];
5835
+ onPinnedChange = $[4];
5836
+ rest = $[5];
5837
+ t1 = $[6];
5838
+ }
5839
+ const pinned = t1 === void 0 ? false : t1;
5840
+ const { registerSideMenu, unregisterSideMenu } = useDsCatalogLayoutContext();
5841
+ const [isHovering, setIsHovering] = (0, react.useState)(false);
5842
+ let t2;
5843
+ let t3;
5844
+ if ($[7] !== registerSideMenu || $[8] !== unregisterSideMenu) {
5845
+ t2 = () => {
5846
+ registerSideMenu();
5847
+ return unregisterSideMenu;
5848
+ };
5849
+ t3 = [registerSideMenu, unregisterSideMenu];
5850
+ $[7] = registerSideMenu;
5851
+ $[8] = unregisterSideMenu;
5852
+ $[9] = t2;
5853
+ $[10] = t3;
5854
+ } else {
5855
+ t2 = $[9];
5856
+ t3 = $[10];
5857
+ }
5858
+ (0, react.useEffect)(t2, t3);
5859
+ const isExpanded = pinned || isHovering;
5860
+ const ariaLabel = pinned ? locale?.unpinButtonLabel ?? DEFAULT_LOCALE.unpinButtonLabel : locale?.pinButtonLabel ?? DEFAULT_LOCALE.pinButtonLabel;
5861
+ let t4;
5862
+ if ($[11] !== className) {
5863
+ t4 = (0, classnames.default)(ds_catalog_layout_module_default.sideMenu, className);
5864
+ $[11] = className;
5865
+ $[12] = t4;
5866
+ } else t4 = $[12];
5867
+ let t5;
5868
+ if ($[13] !== pinned) {
5869
+ t5 = pinned ? { "data-pinned": "" } : {};
5870
+ $[13] = pinned;
5871
+ $[14] = t5;
5872
+ } else t5 = $[14];
5873
+ let t6;
5874
+ if ($[15] !== isExpanded) {
5875
+ t6 = isExpanded ? { "data-expanded": "" } : {};
5876
+ $[15] = isExpanded;
5877
+ $[16] = t6;
5878
+ } else t6 = $[16];
5879
+ let t7;
5880
+ let t8;
5881
+ if ($[17] === Symbol.for("react.memo_cache_sentinel")) {
5882
+ t7 = () => setIsHovering(true);
5883
+ t8 = () => setIsHovering(false);
5884
+ $[17] = t7;
5885
+ $[18] = t8;
5886
+ } else {
5887
+ t7 = $[17];
5888
+ t8 = $[18];
5889
+ }
5890
+ let t9;
5891
+ if ($[19] !== ariaLabel || $[20] !== onPinnedChange || $[21] !== pinned) {
5892
+ t9 = onPinnedChange ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
5893
+ type: "button",
5894
+ className: ds_catalog_layout_module_default.sideMenuPinButton,
5895
+ onClick: () => onPinnedChange(!pinned),
5896
+ "aria-label": ariaLabel,
5897
+ "aria-pressed": pinned,
5898
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsIcon, {
5899
+ icon: "keep",
5900
+ size: "small",
5901
+ filled: pinned
5902
+ })
5903
+ }) : null;
5904
+ $[19] = ariaLabel;
5905
+ $[20] = onPinnedChange;
5906
+ $[21] = pinned;
5907
+ $[22] = t9;
5908
+ } else t9 = $[22];
5909
+ let t10;
5910
+ if ($[23] !== children || $[24] !== t9) {
5911
+ t10 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
5912
+ className: ds_catalog_layout_module_default.sideMenuPanel,
5913
+ onMouseEnter: t7,
5914
+ onMouseLeave: t8,
5915
+ children: [t9, children]
5916
+ });
5917
+ $[23] = children;
5918
+ $[24] = t9;
5919
+ $[25] = t10;
5920
+ } else t10 = $[25];
5921
+ let t11;
5922
+ if ($[26] !== rest || $[27] !== t10 || $[28] !== t4 || $[29] !== t5 || $[30] !== t6) {
5923
+ t11 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("aside", {
5924
+ ...rest,
5925
+ className: t4,
5926
+ ...t5,
5927
+ ...t6,
5928
+ children: t10
5929
+ });
5930
+ $[26] = rest;
5931
+ $[27] = t10;
5932
+ $[28] = t4;
5933
+ $[29] = t5;
5934
+ $[30] = t6;
5935
+ $[31] = t11;
5936
+ } else t11 = $[31];
5937
+ return t11;
5938
+ };
5939
+ const Content$1 = (t0) => {
5940
+ const $ = (0, react_compiler_runtime.c)(9);
5941
+ let className;
5942
+ let rest;
5943
+ if ($[0] !== t0) {
5944
+ ({className, ...rest} = t0);
5945
+ $[0] = t0;
5946
+ $[1] = className;
5947
+ $[2] = rest;
5948
+ } else {
5949
+ className = $[1];
5950
+ rest = $[2];
5951
+ }
5952
+ const { hasSideMenu } = useDsCatalogLayoutContext();
5953
+ let t1;
5954
+ if ($[3] !== className || $[4] !== hasSideMenu) {
5955
+ t1 = (0, classnames.default)(ds_catalog_layout_module_default.content, { [ds_catalog_layout_module_default.contentWithSideMenu]: hasSideMenu }, className);
5956
+ $[3] = className;
5957
+ $[4] = hasSideMenu;
5958
+ $[5] = t1;
5959
+ } else t1 = $[5];
5960
+ let t2;
5961
+ if ($[6] !== rest || $[7] !== t1) {
5962
+ t2 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
5963
+ ...rest,
5964
+ className: t1
5965
+ });
5966
+ $[6] = rest;
5967
+ $[7] = t1;
5968
+ $[8] = t2;
5969
+ } else t2 = $[8];
5970
+ return t2;
5971
+ };
5972
+ const ContentHeader = (t0) => {
5973
+ const $ = (0, react_compiler_runtime.c)(22);
5974
+ let children;
5975
+ let className;
5976
+ let headerActions;
5977
+ let rest;
5978
+ let title;
5979
+ if ($[0] !== t0) {
5980
+ ({className, title, headerActions, children, ...rest} = t0);
5981
+ $[0] = t0;
5982
+ $[1] = children;
5983
+ $[2] = className;
5984
+ $[3] = headerActions;
5985
+ $[4] = rest;
5986
+ $[5] = title;
5987
+ } else {
5988
+ children = $[1];
5989
+ className = $[2];
5990
+ headerActions = $[3];
5991
+ rest = $[4];
5992
+ title = $[5];
5993
+ }
5994
+ let t1;
5995
+ if ($[6] !== className) {
5996
+ t1 = (0, classnames.default)(ds_catalog_layout_module_default.contentHeader, className);
5997
+ $[6] = className;
5998
+ $[7] = t1;
5999
+ } else t1 = $[7];
6000
+ let t2;
6001
+ if ($[8] !== title) {
6002
+ t2 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
6003
+ className: ds_catalog_layout_module_default.contentHeaderTitle,
6004
+ children: title
6005
+ });
6006
+ $[8] = title;
6007
+ $[9] = t2;
6008
+ } else t2 = $[9];
6009
+ let t3;
6010
+ if ($[10] !== headerActions) {
6011
+ t3 = headerActions ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
6012
+ className: ds_catalog_layout_module_default.contentHeaderActions,
6013
+ children: headerActions
6014
+ }) : null;
6015
+ $[10] = headerActions;
6016
+ $[11] = t3;
6017
+ } else t3 = $[11];
6018
+ let t4;
6019
+ if ($[12] !== t2 || $[13] !== t3) {
6020
+ t4 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
6021
+ className: ds_catalog_layout_module_default.contentHeaderTitleRow,
6022
+ children: [t2, t3]
6023
+ });
6024
+ $[12] = t2;
6025
+ $[13] = t3;
6026
+ $[14] = t4;
6027
+ } else t4 = $[14];
6028
+ let t5;
6029
+ if ($[15] !== children) {
6030
+ t5 = children ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
6031
+ className: ds_catalog_layout_module_default.contentHeaderItem,
6032
+ children
6033
+ }) : null;
6034
+ $[15] = children;
6035
+ $[16] = t5;
6036
+ } else t5 = $[16];
6037
+ let t6;
6038
+ if ($[17] !== rest || $[18] !== t1 || $[19] !== t4 || $[20] !== t5) {
6039
+ t6 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
6040
+ ...rest,
6041
+ className: t1,
6042
+ children: [t4, t5]
6043
+ });
6044
+ $[17] = rest;
6045
+ $[18] = t1;
6046
+ $[19] = t4;
6047
+ $[20] = t5;
6048
+ $[21] = t6;
6049
+ } else t6 = $[21];
6050
+ return t6;
6051
+ };
6052
+ DsCatalogLayout.Header = Header$3;
6053
+ DsCatalogLayout.Body = Body$2;
6054
+ DsCatalogLayout.SideMenu = SideMenu;
6055
+ DsCatalogLayout.Content = Content$1;
6056
+ DsCatalogLayout.ContentHeader = ContentHeader;
6057
+ //#endregion
5651
6058
  //#region src/components/ds-checkbox/ds-checkbox.module.scss
5652
6059
  var ds_checkbox_module_default = {
5653
6060
  "control": "-9VV7a_control",
@@ -16991,6 +17398,167 @@ const DsStatusBadge = (t0) => {
16991
17398
  return t12;
16992
17399
  };
16993
17400
  //#endregion
17401
+ //#region src/components/ds-status-badge-v2/ds-status-badge-v2.module.scss
17402
+ var ds_status_badge_v2_module_default = {
17403
+ "active": "xQkUdW_active",
17404
+ "deprecated": "xQkUdW_deprecated",
17405
+ "execution": "xQkUdW_execution",
17406
+ "icon": "xQkUdW_icon",
17407
+ "iconOnly": "xQkUdW_iconOnly",
17408
+ "in-review": "xQkUdW_in-review",
17409
+ "label": "xQkUdW_label",
17410
+ "medium": "xQkUdW_medium",
17411
+ "not-started": "xQkUdW_not-started",
17412
+ "pending": "xQkUdW_pending",
17413
+ "result-failed": "xQkUdW_result-failed",
17414
+ "result-succeeded": "xQkUdW_result-succeeded",
17415
+ "result-warning": "xQkUdW_result-warning",
17416
+ "root": "xQkUdW_root",
17417
+ "secondary": "xQkUdW_secondary",
17418
+ "small": "xQkUdW_small",
17419
+ "temporary": "xQkUdW_temporary",
17420
+ "textOnly": "xQkUdW_textOnly"
17421
+ };
17422
+ //#endregion
17423
+ //#region src/components/ds-status-badge-v2/phase-config.ts
17424
+ const phaseIconMap = Object.freeze({
17425
+ "not-started": "lasso_select",
17426
+ temporary: "hourglass_empty",
17427
+ "in-review": "document_search",
17428
+ pending: "timer_pause",
17429
+ active: "power_settings_circle",
17430
+ execution: "timelapse",
17431
+ "result-succeeded": "verified",
17432
+ "result-warning": "warning",
17433
+ "result-failed": "cancel",
17434
+ deprecated: "inventory_2"
17435
+ });
17436
+ //#endregion
17437
+ //#region src/components/ds-status-badge-v2/ds-status-badge-v2.tsx
17438
+ const DsStatusBadgeV2$1 = (t0) => {
17439
+ const $ = (0, react_compiler_runtime.c)(26);
17440
+ const { phase, label, icon, iconOnly: t1, variant: t2, size: t3, className, style, ref, "aria-label": ariaLabel } = t0;
17441
+ const iconOnly = t1 === void 0 ? false : t1;
17442
+ const variant = t2 === void 0 ? "primary" : t2;
17443
+ const size = t3 === void 0 ? "medium" : t3;
17444
+ const resolvedIcon = icon === null ? null : icon ?? phaseIconMap[phase];
17445
+ const hasIcon = resolvedIcon !== null;
17446
+ const isTextOnly = !hasIcon;
17447
+ const tooltipContent = iconOnly ? label : void 0;
17448
+ let t4;
17449
+ if ($[0] !== size) {
17450
+ t4 = size === "small" ? {
17451
+ fontSize: "var(--_badge-icon-size)",
17452
+ width: "var(--_badge-icon-size)",
17453
+ height: "var(--_badge-icon-size)"
17454
+ } : void 0;
17455
+ $[0] = size;
17456
+ $[1] = t4;
17457
+ } else t4 = $[1];
17458
+ const iconStyle = t4;
17459
+ const t5 = ds_status_badge_v2_module_default[phase];
17460
+ const t6 = ds_status_badge_v2_module_default[size];
17461
+ const t7 = variant === "secondary";
17462
+ let t8;
17463
+ if ($[2] !== className || $[3] !== iconOnly || $[4] !== isTextOnly || $[5] !== t5 || $[6] !== t6 || $[7] !== t7) {
17464
+ t8 = (0, classnames.default)(ds_status_badge_v2_module_default.root, t5, t6, {
17465
+ [ds_status_badge_v2_module_default.secondary]: t7,
17466
+ [ds_status_badge_v2_module_default.iconOnly]: iconOnly,
17467
+ [ds_status_badge_v2_module_default.textOnly]: isTextOnly
17468
+ }, className);
17469
+ $[2] = className;
17470
+ $[3] = iconOnly;
17471
+ $[4] = isTextOnly;
17472
+ $[5] = t5;
17473
+ $[6] = t6;
17474
+ $[7] = t7;
17475
+ $[8] = t8;
17476
+ } else t8 = $[8];
17477
+ const rootClass = t8;
17478
+ const t9 = ref;
17479
+ const t10 = ariaLabel ?? label;
17480
+ let t11;
17481
+ if ($[9] !== hasIcon || $[10] !== iconStyle || $[11] !== resolvedIcon) {
17482
+ t11 = hasIcon && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
17483
+ className: ds_status_badge_v2_module_default.icon,
17484
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsIcon, {
17485
+ icon: resolvedIcon,
17486
+ size: "tiny",
17487
+ filled: true,
17488
+ "aria-hidden": "true",
17489
+ style: iconStyle
17490
+ })
17491
+ });
17492
+ $[9] = hasIcon;
17493
+ $[10] = iconStyle;
17494
+ $[11] = resolvedIcon;
17495
+ $[12] = t11;
17496
+ } else t11 = $[12];
17497
+ let t12;
17498
+ if ($[13] !== iconOnly || $[14] !== label) {
17499
+ t12 = !iconOnly && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTypography, {
17500
+ className: ds_status_badge_v2_module_default.label,
17501
+ variant: "body-xs-reg",
17502
+ children: label
17503
+ });
17504
+ $[13] = iconOnly;
17505
+ $[14] = label;
17506
+ $[15] = t12;
17507
+ } else t12 = $[15];
17508
+ let t13;
17509
+ if ($[16] !== rootClass || $[17] !== style || $[18] !== t10 || $[19] !== t11 || $[20] !== t12 || $[21] !== t9) {
17510
+ t13 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
17511
+ ref: t9,
17512
+ className: rootClass,
17513
+ style,
17514
+ role: "status",
17515
+ "aria-label": t10,
17516
+ children: [t11, t12]
17517
+ });
17518
+ $[16] = rootClass;
17519
+ $[17] = style;
17520
+ $[18] = t10;
17521
+ $[19] = t11;
17522
+ $[20] = t12;
17523
+ $[21] = t9;
17524
+ $[22] = t13;
17525
+ } else t13 = $[22];
17526
+ const badge = t13;
17527
+ if (iconOnly) {
17528
+ let t14;
17529
+ if ($[23] !== badge || $[24] !== tooltipContent) {
17530
+ t14 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTooltip, {
17531
+ content: tooltipContent,
17532
+ children: badge
17533
+ });
17534
+ $[23] = badge;
17535
+ $[24] = tooltipContent;
17536
+ $[25] = t14;
17537
+ } else t14 = $[25];
17538
+ return t14;
17539
+ }
17540
+ return badge;
17541
+ };
17542
+ //#endregion
17543
+ //#region src/components/ds-status-badge-v2/ds-status-badge-v2.types.ts
17544
+ const statusBadgeV2Phases = [
17545
+ "not-started",
17546
+ "temporary",
17547
+ "in-review",
17548
+ "pending",
17549
+ "active",
17550
+ "execution",
17551
+ "result-succeeded",
17552
+ "result-warning",
17553
+ "result-failed",
17554
+ "deprecated"
17555
+ ];
17556
+ const statusBadgeV2Variants = ["primary", "secondary"];
17557
+ const statusBadgeV2Sizes = ["medium", "small"];
17558
+ //#endregion
17559
+ //#region src/components/ds-status-badge-v2/index.ts
17560
+ const DsStatusBadgeV2 = withResponsiveProps(DsStatusBadgeV2$1, ["size"]);
17561
+ //#endregion
16994
17562
  //#region src/components/ds-stepper/ds-stepper.module.scss
16995
17563
  var ds_stepper_module_default = {
16996
17564
  "dragHandle": "kFAdma_dragHandle",
@@ -18132,8 +18700,7 @@ var ds_table_header_module_default = {
18132
18700
  "headerSortContainer": "-2rCNG_headerSortContainer",
18133
18701
  "pageButtonIcon": "-2rCNG_pageButtonIcon",
18134
18702
  "pageButtonIconContainer": "-2rCNG_pageButtonIconContainer",
18135
- "reorderColumn": "-2rCNG_reorderColumn",
18136
- "selectColumn": "-2rCNG_selectColumn",
18703
+ "selectHeaderCell": "-2rCNG_selectHeaderCell",
18137
18704
  "sortableHeader": "-2rCNG_sortableHeader",
18138
18705
  "stickyHeader": "-2rCNG_stickyHeader",
18139
18706
  "virtualizedHeader": "-2rCNG_virtualizedHeader"
@@ -18173,54 +18740,58 @@ const getColumnSizeStyle = (columnSize, virtualized) => {
18173
18740
  if (columnSize !== _tanstack_react_table.defaultColumnSizing.size) return { width: columnSize };
18174
18741
  if (virtualized) return { flex: 1 };
18175
18742
  };
18743
+ /**
18744
+ * Column id used for the synthetic expander column injected when `expandable` is set.
18745
+ */
18746
+ const EXPANDER_COLUMN_ID = "expander";
18747
+ /**
18748
+ * Column id used for the synthetic selection column injected when `selectable` is set.
18749
+ */
18750
+ const SELECT_COLUMN_ID = "select";
18751
+ /**
18752
+ * Column id used for the synthetic reorder column injected when `reorderable` is set
18753
+ * (non-virtualized tables only).
18754
+ */
18755
+ const REORDER_COLUMN_ID = "reorder";
18176
18756
  //#endregion
18177
18757
  //#region src/components/ds-table/components/ds-table-header/ds-table-header.tsx
18178
18758
  const DsTableHeader = ({ table }) => {
18179
- const { stickyHeader, bordered, selectable, reorderable, showSelectAllCheckbox, virtualized } = useDsTableContext();
18759
+ const { stickyHeader, bordered, virtualized } = useDsTableContext();
18180
18760
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableHeader, {
18181
18761
  className: (0, classnames.default)(stickyHeader && ds_table_header_module_default.stickyHeader, virtualized && ds_table_header_module_default.virtualizedHeader),
18182
- children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(TableRow, {
18762
+ children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableRow, {
18183
18763
  className: (0, classnames.default)(ds_table_header_module_default.headerRow, !bordered && ds_table_header_module_default.headerRowNoBorder, virtualized && ds_table_header_module_default.headerRowVirtualized),
18184
- children: [
18185
- selectable && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableHead, {
18186
- className: (0, classnames.default)(ds_table_header_module_default.headerCell, ds_table_header_module_default.selectColumn),
18187
- children: showSelectAllCheckbox && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsCheckbox, {
18188
- className: ds_table_shared_module_default.checkboxContainer,
18189
- checked: table.getIsAllRowsSelected() ? true : table.getIsSomeRowsSelected() ? "indeterminate" : false,
18190
- onCheckedChange: (checked) => table.toggleAllRowsSelected(!!checked),
18191
- onClick: (e) => e.stopPropagation()
18764
+ children: headerGroup.headers.map((header) => {
18765
+ const headerStyle = getColumnSizeStyle(header.column.getSize(), virtualized);
18766
+ const canSort = header.column.getCanSort();
18767
+ const isSelectColumn = header.column.id === SELECT_COLUMN_ID;
18768
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableHead, {
18769
+ className: (0, classnames.default)(ds_table_header_module_default.headerCell, canSort && ds_table_header_module_default.sortableHeader, isSelectColumn && ds_table_header_module_default.selectHeaderCell),
18770
+ onClick: header.column.getToggleSortingHandler(),
18771
+ style: headerStyle,
18772
+ children: header.isPlaceholder ? null : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
18773
+ className: ds_table_header_module_default.headerSortContainer,
18774
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsStack, {
18775
+ direction: "column",
18776
+ justifyContent: "center",
18777
+ width: "100%",
18778
+ children: (0, _tanstack_react_table.flexRender)(header.column.columnDef.header, header.getContext())
18779
+ }), canSort && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
18780
+ className: ds_table_header_module_default.pageButtonIconContainer,
18781
+ children: {
18782
+ asc: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsIcon, {
18783
+ icon: "arrow_drop_up",
18784
+ className: (0, classnames.default)(ds_table_header_module_default.pageButtonIcon, ds_table_shared_module_default.pageButtonIcon)
18785
+ }),
18786
+ desc: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsIcon, {
18787
+ icon: "arrow_drop_down",
18788
+ className: (0, classnames.default)(ds_table_header_module_default.pageButtonIcon, ds_table_shared_module_default.pageButtonIcon)
18789
+ })
18790
+ }[header.column.getIsSorted()] ?? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: (0, classnames.default)(ds_table_header_module_default.pageButtonIcon, ds_table_shared_module_default.pageButtonIcon) })
18791
+ })]
18192
18792
  })
18193
- }),
18194
- reorderable && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableHead, {
18195
- className: (0, classnames.default)(ds_table_header_module_default.headerCell, ds_table_header_module_default.reorderColumn),
18196
- children: "Order"
18197
- }),
18198
- headerGroup.headers.map((header) => {
18199
- const headerStyle = getColumnSizeStyle(header.column.getSize(), virtualized);
18200
- const canSort = header.column.getCanSort();
18201
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableHead, {
18202
- className: (0, classnames.default)(ds_table_header_module_default.headerCell, canSort && ds_table_header_module_default.sortableHeader),
18203
- onClick: header.column.getToggleSortingHandler(),
18204
- style: headerStyle,
18205
- children: header.isPlaceholder ? null : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
18206
- className: ds_table_header_module_default.headerSortContainer,
18207
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { children: (0, _tanstack_react_table.flexRender)(header.column.columnDef.header, header.getContext()) }), canSort && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
18208
- className: ds_table_header_module_default.pageButtonIconContainer,
18209
- children: {
18210
- asc: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsIcon, {
18211
- icon: "arrow_drop_up",
18212
- className: (0, classnames.default)(ds_table_header_module_default.pageButtonIcon, ds_table_shared_module_default.pageButtonIcon)
18213
- }),
18214
- desc: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsIcon, {
18215
- icon: "arrow_drop_down",
18216
- className: (0, classnames.default)(ds_table_header_module_default.pageButtonIcon, ds_table_shared_module_default.pageButtonIcon)
18217
- })
18218
- }[header.column.getIsSorted()] ?? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: (0, classnames.default)(ds_table_header_module_default.pageButtonIcon, ds_table_shared_module_default.pageButtonIcon) })
18219
- })]
18220
- })
18221
- }, header.id);
18222
- })
18223
- ]
18793
+ }, header.id);
18794
+ })
18224
18795
  }, headerGroup.id))
18225
18796
  });
18226
18797
  };
@@ -18324,24 +18895,6 @@ const DsTableCell = ({ row, cell, primaryRowActions = [], secondaryRowActions =
18324
18895
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsDefaultTableCell, { cell });
18325
18896
  };
18326
18897
  //#endregion
18327
- //#region src/components/ds-table/components/ds-table-row-selectable-cell/ds-table-row-selectable-cell.module.scss
18328
- var ds_table_row_selectable_cell_module_default = { "cell": "BxP8ta_cell" };
18329
- //#endregion
18330
- //#region src/components/ds-table/components/ds-table-row-selectable-cell/ds-table-row-selectable-cell.tsx
18331
- const DsTableRowSelectableCell = ({ row, isSelected, className }) => {
18332
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableCell, {
18333
- className: (0, classnames.default)(ds_table_row_selectable_cell_module_default.cell, className),
18334
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsCheckbox, {
18335
- className: ds_table_shared_module_default.checkboxContainer,
18336
- checked: isSelected,
18337
- disabled: !row.getCanSelect(),
18338
- onCheckedChange: (checked) => row.toggleSelected(!!checked),
18339
- onClick: (e) => e.stopPropagation(),
18340
- onDoubleClick: (e) => e.stopPropagation()
18341
- })
18342
- });
18343
- };
18344
- //#endregion
18345
18898
  //#region src/components/ds-table/components/ds-table-row/ds-table-row.module.scss
18346
18899
  var ds_table_row_module_default = {
18347
18900
  "cellReorder": "t8OZCq_cellReorder",
@@ -18359,15 +18912,12 @@ var ds_table_row_module_default = {
18359
18912
  "tableCell": "t8OZCq_tableCell",
18360
18913
  "tableRow": "t8OZCq_tableRow"
18361
18914
  };
18362
- /**
18363
- * Column id used for the synthetic expander column injected when `expandable` is set.
18364
- */
18365
- const EXPANDER_COLUMN_ID = "expander";
18366
18915
  //#endregion
18367
18916
  //#region src/components/ds-table/components/ds-table-row/ds-table-row.tsx
18368
- const DsRowDragHandle = ({ isDragging, attributes, listeners }) => {
18917
+ const DsRowDragHandle = ({ isDragging, attributes, listeners, style }) => {
18369
18918
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableCell, {
18370
18919
  className: (0, classnames.default)(ds_table_row_module_default.tableCell, ds_table_row_module_default.cellReorder, { [ds_table_row_module_default.isDragging]: isDragging }),
18920
+ style,
18371
18921
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsIcon, {
18372
18922
  className: ds_table_row_module_default.rowDragHandle,
18373
18923
  icon: isDragging ? "drag_indicator" : "arrow_downward",
@@ -18379,7 +18929,7 @@ const DsRowDragHandle = ({ isDragging, attributes, listeners }) => {
18379
18929
  });
18380
18930
  };
18381
18931
  const DsTableRow = ({ ref, row, isSelected }) => {
18382
- const { selectable, reorderable, onRowClick, onRowDoubleClick, renderExpandedRow, bordered, rowSize, primaryRowActions, secondaryRowActions, activeRowId } = useDsTableContext();
18932
+ const { reorderable, onRowClick, onRowDoubleClick, renderExpandedRow, bordered, rowSize, primaryRowActions, secondaryRowActions, activeRowId } = useDsTableContext();
18383
18933
  const isExpanded = row.getIsExpanded();
18384
18934
  const isActive = activeRowId === row.id;
18385
18935
  const { attributes, listeners, setNodeRef, transform, transition, isDragging } = (0, _dnd_kit_sortable.useSortable)({
@@ -18396,7 +18946,7 @@ const DsTableRow = ({ ref, row, isSelected }) => {
18396
18946
  } : {},
18397
18947
  position: "relative"
18398
18948
  } : {};
18399
- return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(TableRow, {
18949
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableRow, {
18400
18950
  ref: mergeRefs(reorderable ? setNodeRef : null, ref),
18401
18951
  "data-state": isActive ? "active" : isSelected ? "selected" : void 0,
18402
18952
  className: (0, classnames.default)(ds_table_row_module_default.tableRow, {
@@ -18407,39 +18957,33 @@ const DsTableRow = ({ ref, row, isSelected }) => {
18407
18957
  style: rowStyle,
18408
18958
  onClick: () => onRowClick?.(row.original),
18409
18959
  onDoubleClick: () => onRowDoubleClick?.(row.original),
18410
- children: [
18411
- selectable && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableRowSelectableCell, {
18412
- row,
18413
- isSelected,
18414
- className: ds_table_row_module_default.selectableCell
18415
- }),
18416
- reorderable && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsRowDragHandle, {
18960
+ children: row.getVisibleCells().map((cell, idx) => {
18961
+ const cellStyle = getColumnSizeStyle(cell.column.getSize());
18962
+ if (cell.column.id === "reorder") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsRowDragHandle, {
18417
18963
  isDragging,
18418
18964
  attributes,
18419
- listeners
18420
- }),
18421
- row.getVisibleCells().map((cell, idx) => {
18422
- const isLastColumn = idx === row.getVisibleCells().length - 1;
18423
- const cellStyle = getColumnSizeStyle(cell.column.getSize());
18424
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableCell, {
18425
- className: (0, classnames.default)(ds_table_row_module_default.tableCell, cell.column.id === "expander" && ds_table_row_module_default.expandableCell),
18426
- style: cellStyle,
18427
- children: isLastColumn ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableCell, {
18428
- row,
18429
- cell,
18430
- primaryRowActions,
18431
- secondaryRowActions
18432
- }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableCell, {
18433
- row,
18434
- cell
18435
- })
18436
- }, cell.id);
18437
- })
18438
- ]
18965
+ listeners,
18966
+ style: cellStyle
18967
+ }, cell.id);
18968
+ const isLastColumn = idx === row.getVisibleCells().length - 1;
18969
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableCell, {
18970
+ className: (0, classnames.default)(ds_table_row_module_default.tableCell, cell.column.id === "expander" && ds_table_row_module_default.expandableCell, cell.column.id === "select" && ds_table_row_module_default.selectableCell),
18971
+ style: cellStyle,
18972
+ children: isLastColumn ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableCell, {
18973
+ row,
18974
+ cell,
18975
+ primaryRowActions,
18976
+ secondaryRowActions
18977
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableCell, {
18978
+ row,
18979
+ cell
18980
+ })
18981
+ }, cell.id);
18982
+ })
18439
18983
  }), isExpanded && renderExpandedRow && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableRow, {
18440
18984
  className: ds_table_row_module_default.expandedRow,
18441
18985
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableCell, {
18442
- colSpan: row.getVisibleCells().length + (selectable ? 1 : 0) + (reorderable ? 1 : 0),
18986
+ colSpan: row.getVisibleCells().length,
18443
18987
  className: ds_table_row_module_default.tableCell,
18444
18988
  children: renderExpandedRow(row.original)
18445
18989
  })
@@ -18472,6 +19016,30 @@ const DsTableRowExpandableCell = ({ row, buttonClassName }) => {
18472
19016
  });
18473
19017
  };
18474
19018
  //#endregion
19019
+ //#region src/components/ds-table/components/ds-table-row-selectable-cell/ds-table-row-selectable-cell.tsx
19020
+ const DsTableRowSelectableCell = ({ row }) => {
19021
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsCheckbox, {
19022
+ className: ds_table_shared_module_default.checkboxContainer,
19023
+ checked: row.getIsSelected(),
19024
+ disabled: !row.getCanSelect(),
19025
+ onCheckedChange: (checked) => row.toggleSelected(!!checked),
19026
+ onClick: (e) => e.stopPropagation(),
19027
+ onDoubleClick: (e) => e.stopPropagation()
19028
+ });
19029
+ };
19030
+ //#endregion
19031
+ //#region src/components/ds-table/components/ds-table-header-selectable-cell/ds-table-header-selectable-cell.tsx
19032
+ const DsTableHeaderSelectableCell = ({ table }) => {
19033
+ const checked = table.getIsAllRowsSelected() ? true : table.getIsSomeRowsSelected() ? "indeterminate" : false;
19034
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsCheckbox, {
19035
+ className: ds_table_shared_module_default.checkboxContainer,
19036
+ checked,
19037
+ onCheckedChange: (nextChecked) => table.toggleAllRowsSelected(!!nextChecked),
19038
+ onClick: (e) => e.stopPropagation(),
19039
+ onDoubleClick: (e) => e.stopPropagation()
19040
+ });
19041
+ };
19042
+ //#endregion
18475
19043
  //#region src/components/ds-table/hooks/use-drag-and-drop.tsx
18476
19044
  const DragWrapper = ({ children, onDragEnd, sensors }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_dnd_kit_core.DndContext, {
18477
19045
  collisionDetection: _dnd_kit_core.closestCenter,
@@ -18540,7 +19108,7 @@ var ds_table_row_virtualized_module_default = {
18540
19108
  //#endregion
18541
19109
  //#region src/components/ds-table/components/ds-table-row-virtualized/ds-table-row-virtualized.tsx
18542
19110
  const DsTableRowVirtualized = ({ row, isSelected, rowsMapRef, rowHeightsMapRef, rowVirtualizer, virtualRow, isExpandedRowContent }) => {
18543
- const { selectable, bordered, rowSize, activeRowId, primaryRowActions, secondaryRowActions, renderExpandedRow, onRowClick, onRowDoubleClick } = useDsTableContext();
19111
+ const { bordered, rowSize, activeRowId, primaryRowActions, secondaryRowActions, renderExpandedRow, onRowClick, onRowDoubleClick } = useDsTableContext();
18544
19112
  const isExpanded = row.getIsExpanded();
18545
19113
  const isActive = activeRowId === row.id;
18546
19114
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableRow, {
@@ -18562,15 +19130,11 @@ const DsTableRowVirtualized = ({ row, isSelected, rowsMapRef, rowHeightsMapRef,
18562
19130
  }, isExpandedRowContent && ds_table_row_virtualized_module_default.expandedRowContent, onRowClick && ds_table_row_virtualized_module_default.clickableRow, !bordered && ds_table_row_virtualized_module_default.rowNoBorder, isExpanded && ds_table_row_virtualized_module_default.expanded),
18563
19131
  onClick: isExpandedRowContent ? void 0 : () => onRowClick?.(row.original),
18564
19132
  onDoubleClick: isExpandedRowContent ? void 0 : () => onRowDoubleClick?.(row.original),
18565
- children: isExpandedRowContent ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableCell, { children: renderExpandedRow?.(row.original) }) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [selectable && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableRowSelectableCell, {
18566
- row,
18567
- isSelected,
18568
- className: ds_table_row_virtualized_module_default.selectableCell
18569
- }), row.getVisibleCells().map((cell, idx) => {
19133
+ children: isExpandedRowContent ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableCell, { children: renderExpandedRow?.(row.original) }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: row.getVisibleCells().map((cell, idx) => {
18570
19134
  const isLastColumn = idx === row.getVisibleCells().length - 1;
18571
19135
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableCell, {
18572
19136
  style: getColumnSizeStyle(cell.column.getSize(), true),
18573
- className: (0, classnames.default)(ds_table_row_virtualized_module_default.cell, cell.column.id === "expander" && ds_table_row_virtualized_module_default.expandableCell),
19137
+ className: (0, classnames.default)(ds_table_row_virtualized_module_default.cell, cell.column.id === "expander" && ds_table_row_virtualized_module_default.expandableCell, cell.column.id === "select" && ds_table_row_virtualized_module_default.selectableCell),
18574
19138
  children: isLastColumn ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableCell, {
18575
19139
  row,
18576
19140
  cell,
@@ -18581,12 +19145,41 @@ const DsTableRowVirtualized = ({ row, isSelected, rowsMapRef, rowHeightsMapRef,
18581
19145
  cell
18582
19146
  })
18583
19147
  }, cell.id);
18584
- })] })
19148
+ }) })
18585
19149
  });
18586
19150
  };
18587
19151
  //#endregion
19152
+ //#region src/components/ds-table/components/ds-table-body-virtualized/use-infinite-scroll.ts
19153
+ const DEFAULT_THRESHOLD_PX = 500;
19154
+ const DEFAULT_AUTO_FILL = true;
19155
+ /**
19156
+ * Owns the infinite-scroll trigger logic for `DsTable`:
19157
+ * threshold detection and the auto-fill loop for short initial pages.
19158
+ */
19159
+ const useInfiniteScroll = (scrollElementRef, rowCount, config) => {
19160
+ const hasMore = config?.hasMore ?? false;
19161
+ const isLoadingMore = config?.isLoadingMore ?? false;
19162
+ const thresholdPx = config?.thresholdPx ?? DEFAULT_THRESHOLD_PX;
19163
+ const autoFill = config?.autoFill ?? DEFAULT_AUTO_FILL;
19164
+ const loadDataIfNeeded = () => {
19165
+ const el = scrollElementRef.current;
19166
+ if (!config || !hasMore || isLoadingMore || !el) return;
19167
+ const isScrollable = el.scrollHeight > el.clientHeight;
19168
+ const distanceToBottom = el.scrollHeight - el.scrollTop - el.clientHeight;
19169
+ if (isScrollable && distanceToBottom <= thresholdPx || autoFill && !isScrollable) config.onLoadMore();
19170
+ };
19171
+ (0, react.useEffect)(() => {
19172
+ loadDataIfNeeded();
19173
+ }, [
19174
+ rowCount,
19175
+ hasMore,
19176
+ isLoadingMore
19177
+ ]);
19178
+ return { loadDataIfNeeded };
19179
+ };
19180
+ //#endregion
18588
19181
  //#region src/components/ds-table/components/ds-table-body-virtualized/ds-table-body-virtualized.tsx
18589
- const DsTableBodyVirtualized = ({ table, tableContainerRef, emptyState, estimateSize, overscan, onScroll, rowSelection }) => {
19182
+ const DsTableBodyVirtualized = ({ table, tableContainerRef, emptyState, estimateSize, overscan, onScroll, rowSelection, infiniteScroll }) => {
18590
19183
  const rowsMapRef = (0, react.useRef)(/* @__PURE__ */ new Map());
18591
19184
  const rowHeightsMapRef = (0, react.useRef)(/* @__PURE__ */ new Map());
18592
19185
  const { rows } = table.getRowModel();
@@ -18598,6 +19191,7 @@ const DsTableBodyVirtualized = ({ table, tableContainerRef, emptyState, estimate
18598
19191
  const item = rowsAndExpandedRowContent[index];
18599
19192
  return item ? `${item.row.id}${item.isExpandedRowContent ? "-expanded-content" : ""}` : String(index);
18600
19193
  };
19194
+ const { loadDataIfNeeded } = useInfiniteScroll(tableContainerRef, rows.length, infiniteScroll);
18601
19195
  const rowVirtualizer = (0, _tanstack_react_virtual.useVirtualizer)({
18602
19196
  count: rowsAndExpandedRowContent.length,
18603
19197
  estimateSize: (index) => {
@@ -18615,18 +19209,21 @@ const DsTableBodyVirtualized = ({ table, tableContainerRef, emptyState, estimate
18615
19209
  row.style.transform = `translateY(${virtualRow.start.toString()}px)`;
18616
19210
  });
18617
19211
  });
18618
- if (sync && onScroll) {
18619
- const scrollOffset = instance.scrollOffset || 0;
18620
- const totalContentHeight = instance.getTotalSize();
18621
- const viewportHeight = instance.scrollElement?.clientHeight;
18622
- const scrollDirection = instance.scrollDirection;
18623
- if (viewportHeight) onScroll({
18624
- scrollOffset,
18625
- totalContentHeight,
18626
- viewportHeight,
18627
- bottomOffset: totalContentHeight - (scrollOffset + viewportHeight),
18628
- scrollDirection
18629
- });
19212
+ if (sync) {
19213
+ if (onScroll) {
19214
+ const scrollOffset = instance.scrollOffset || 0;
19215
+ const totalContentHeight = instance.getTotalSize();
19216
+ const viewportHeight = instance.scrollElement?.clientHeight;
19217
+ const scrollDirection = instance.scrollDirection;
19218
+ if (viewportHeight) onScroll({
19219
+ scrollOffset,
19220
+ totalContentHeight,
19221
+ viewportHeight,
19222
+ bottomOffset: totalContentHeight - (scrollOffset + viewportHeight),
19223
+ scrollDirection
19224
+ });
19225
+ }
19226
+ loadDataIfNeeded();
18630
19227
  }
18631
19228
  }
18632
19229
  });
@@ -18675,7 +19272,7 @@ const ROW_SIZE_HEIGHT_MAP = {
18675
19272
  /**
18676
19273
  * Design system Table component
18677
19274
  */
18678
- const DsTable = ({ ref, columns: columnsProp, data: tableData, virtualized = false, virtualizedOptions, className, onRowClick, emptyState, stickyHeader = true, bordered = true, fullWidth = true, rowSize = "medium", expandable = false, renderExpandedRow, selectable = false, showSelectAllCheckbox = true, onSelectionChange, onSortingChange, onScroll, actions = [], onRowDoubleClick, primaryRowActions = [], secondaryRowActions, reorderable = false, onOrderChange, columnFilters: externalColumnFilters, onColumnFiltersChange, columnVisibility: externalColumnVisibility, onColumnVisibilityChange, activeRowId }) => {
19275
+ const DsTable = ({ ref, columns: columnsProp, data: tableData, virtualized = false, virtualizedOptions, className, onRowClick, emptyState, stickyHeader = true, bordered = true, fullWidth = true, rowSize = "medium", expandable = false, renderExpandedRow, selectable = false, showSelectAllCheckbox = true, onSelectionChange, onSortingChange, onScroll, actions = [], onRowDoubleClick, primaryRowActions = [], secondaryRowActions, reorderable = false, onOrderChange, columnFilters: externalColumnFilters, onColumnFiltersChange, columnVisibility: externalColumnVisibility, onColumnVisibilityChange, activeRowId, infiniteScroll }) => {
18679
19276
  const [data, setData] = react.useState(tableData);
18680
19277
  const [sorting, setSorting] = react.useState([]);
18681
19278
  const [internalColumnFilters, setInternalColumnFilters] = react.useState([]);
@@ -18712,17 +19309,52 @@ const DsTable = ({ ref, columns: columnsProp, data: tableData, virtualized = fal
18712
19309
  setRowSelection(newRowSelection);
18713
19310
  onSelectionChange?.(newRowSelection);
18714
19311
  };
19312
+ const hasExpanderColumn = !!expandable;
19313
+ const hasSelectColumn = !!selectable;
19314
+ const hasReorderColumn = reorderable && !virtualized;
18715
19315
  const columns = (0, react.useMemo)(() => {
18716
- if (!expandable) return columnsProp;
18717
- return [{
18718
- id: EXPANDER_COLUMN_ID,
18719
- size: 36,
18720
- enableSorting: false,
18721
- enableResizing: false,
18722
- header: () => null,
18723
- cell: ({ row }) => row.getCanExpand() ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableRowExpandableCell, { row }) : null
18724
- }, ...columnsProp];
18725
- }, [columnsProp, expandable]);
19316
+ const augmentedColumns = [...columnsProp];
19317
+ if (hasSelectColumn) {
19318
+ const selectColumn = {
19319
+ id: SELECT_COLUMN_ID,
19320
+ size: 36,
19321
+ enableSorting: false,
19322
+ enableResizing: false,
19323
+ header: ({ table }) => showSelectAllCheckbox ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableHeaderSelectableCell, { table }) : null,
19324
+ cell: ({ row }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableRowSelectableCell, { row })
19325
+ };
19326
+ augmentedColumns.unshift(selectColumn);
19327
+ }
19328
+ if (hasExpanderColumn) {
19329
+ const expanderColumn = {
19330
+ id: EXPANDER_COLUMN_ID,
19331
+ size: 36,
19332
+ enableSorting: false,
19333
+ enableResizing: false,
19334
+ header: () => null,
19335
+ cell: ({ row }) => row.getCanExpand() ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableRowExpandableCell, { row }) : null
19336
+ };
19337
+ augmentedColumns.unshift(expanderColumn);
19338
+ }
19339
+ if (hasReorderColumn) {
19340
+ const reorderColumn = {
19341
+ id: REORDER_COLUMN_ID,
19342
+ size: 60,
19343
+ enableSorting: false,
19344
+ enableResizing: false,
19345
+ header: "Order",
19346
+ cell: () => null
19347
+ };
19348
+ augmentedColumns.unshift(reorderColumn);
19349
+ }
19350
+ return augmentedColumns;
19351
+ }, [
19352
+ columnsProp,
19353
+ hasExpanderColumn,
19354
+ hasReorderColumn,
19355
+ hasSelectColumn,
19356
+ showSelectAllCheckbox
19357
+ ]);
18726
19358
  const table = (0, _tanstack_react_table.useReactTable)({
18727
19359
  data: reorderable ? data : tableData,
18728
19360
  columns,
@@ -18785,7 +19417,7 @@ const DsTable = ({ ref, columns: columnsProp, data: tableData, virtualized = fal
18785
19417
  }), [table]);
18786
19418
  const { rows, rowsById } = table.getRowModel();
18787
19419
  const renderEmptyState = () => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableRow, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableCell, {
18788
- colSpan: columns.length + (selectable ? 1 : 0) + (reorderable ? 1 : 0),
19420
+ colSpan: columns.length,
18789
19421
  className: ds_table_module_default.emptyState,
18790
19422
  children: emptyState || "No results."
18791
19423
  }) });
@@ -18822,7 +19454,8 @@ const DsTable = ({ ref, columns: columnsProp, data: tableData, virtualized = fal
18822
19454
  estimateSize: virtualizedOptions?.estimateSize || ROW_SIZE_HEIGHT_MAP[rowSize],
18823
19455
  overscan: virtualizedOptions?.overscan,
18824
19456
  onScroll,
18825
- rowSelection
19457
+ rowSelection,
19458
+ infiniteScroll
18826
19459
  }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableBody, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SortableWrapper, { children: rows.length ? rows.map((row) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableRow, {
18827
19460
  row,
18828
19461
  isSelected: !!rowSelection[row.id]
@@ -19984,6 +20617,7 @@ exports.DsBreadcrumb = DsBreadcrumb;
19984
20617
  exports.DsButton = DsButton;
19985
20618
  exports.DsButtonV3 = DsButtonV3;
19986
20619
  exports.DsCard = DsCard;
20620
+ exports.DsCatalogLayout = DsCatalogLayout;
19987
20621
  exports.DsCheckbox = DsCheckbox;
19988
20622
  exports.DsCheckboxGroup = DsCheckboxGroup;
19989
20623
  exports.DsChip = DsChip;
@@ -20033,6 +20667,7 @@ exports.DsSpinner = DsSpinner;
20033
20667
  exports.DsSplitButton = DsSplitButton;
20034
20668
  exports.DsStack = DsStack;
20035
20669
  exports.DsStatusBadge = DsStatusBadge;
20670
+ exports.DsStatusBadgeV2 = DsStatusBadgeV2;
20036
20671
  exports.DsStep = DsStep;
20037
20672
  exports.DsStepContent = DsStepContent;
20038
20673
  exports.DsStepper = DsStepper;
@@ -20091,6 +20726,9 @@ exports.skeletonColorVariants = skeletonColorVariants;
20091
20726
  exports.skeletonRadiusVariants = skeletonRadiusVariants;
20092
20727
  exports.spinnerSizes = spinnerSizes;
20093
20728
  exports.splitButtonSizes = splitButtonSizes;
20729
+ exports.statusBadgeV2Phases = statusBadgeV2Phases;
20730
+ exports.statusBadgeV2Sizes = statusBadgeV2Sizes;
20731
+ exports.statusBadgeV2Variants = statusBadgeV2Variants;
20094
20732
  exports.systemStatuses = systemStatuses;
20095
20733
  exports.tagSizes = tagSizes;
20096
20734
  exports.tagVariants = tagVariants;