@1771technologies/lytenyte-pro 0.0.41 → 0.0.43

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 (33) hide show
  1. package/dist/CompositeList-CGRaS6LQ.js +149 -0
  2. package/dist/DirectionContext-DIPP5cAe.js +15 -0
  3. package/dist/InternalBackdrop-C4RACVzs.js +324 -0
  4. package/dist/{anchor-context-B9sGQdR5.js → PopoverPortalContext-BdsDjihw.js} +4 -13
  5. package/dist/anchor-context-Cqr_oiJt.js +11 -0
  6. package/dist/column-manager.js +5 -3
  7. package/dist/{MenuRoot-9n64jNWP.js → column-menu-driver-cG-EZgLa.js} +49 -282
  8. package/dist/dialog.js +3 -3
  9. package/dist/{use-grid-DKvzGZWc.js → drag-store-CO3z13Ju.js} +34 -44
  10. package/dist/filter-manager.js +3 -2
  11. package/dist/index.js +125 -122
  12. package/dist/lytenyte-pro.css +62 -4
  13. package/dist/menu-CkfZmNR3.js +1879 -0
  14. package/dist/menu.js +2 -1637
  15. package/dist/{pill-C4Jhdf8E.js → pill-gga9iHqS.js} +44 -49
  16. package/dist/pill-manager.js +73 -10
  17. package/dist/popover.js +30 -5
  18. package/dist/{InternalBackdrop-Dm9czgoC.js → proptypes-BjYr2nFr.js} +25 -299
  19. package/dist/{select-C6xOZZLq.js → select-qluHi8ET.js} +7 -7
  20. package/dist/sort-manager.js +2 -2
  21. package/dist/types/menu/menu-impl.d.ts +1 -1
  22. package/dist/types/menu/menu.d.ts +1 -1
  23. package/dist/types/menu-frame/menu-frame-driver.d.ts +1 -0
  24. package/dist/types/pill-manager/pill-manager-impl.d.ts +1 -0
  25. package/dist/types/pill-manager/pill-manager-pill.d.ts +1 -0
  26. package/dist/{useAnchorPositioning-Cm44rb7y.js → useAnchorPositioning-52zK7jlD.js} +2 -13
  27. package/dist/{useButton-Cy7tjZ__.js → useButton-DWXzFgcr.js} +2 -1
  28. package/dist/{useScrollLock-D6h5lZYs.js → useScrollLock-D4UY33Sb.js} +15 -105
  29. package/package.json +15 -15
  30. package/dist/arrow-svg-evmXDI_J.js +0 -29
  31. package/dist/useBaseUiId-J66PFGv_.js +0 -48
  32. package/dist/useCompositeListItem-I14CpQPi.js +0 -51
  33. /package/dist/types/{popover → anchor-context}/anchor-context.d.ts +0 -0
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { C as Checkbox, e as COLUMN_MARKER_ID, H as HEADER_CELL_POSITION, g as getTransform, f as COLUMN_EMPTY_PREFIX, h as HEADER_GROUP_CELL_POSITION, i as CollapseButton, F as FLOATING_CELL_POSITION, j as FULL_ENCODING, k as CellFullWidth, E as END_ENCODING, l as Cell, I as Input, u as useGrid$1, m as GRID_CELL_POSITION, n as GridButton, G as GridProvider } from "./use-grid-DKvzGZWc.js";
2
- import { y, q, z, A, L, M, O, N, Q, v, t, w, x, P, r, J, o, B, R, s, p, K } from "./use-grid-DKvzGZWc.js";
1
+ import { C as Checkbox, d as COLUMN_MARKER_ID, H as HEADER_CELL_POSITION, g as getTransform, e as COLUMN_EMPTY_PREFIX, f as HEADER_GROUP_CELL_POSITION, h as CollapseButton, F as FLOATING_CELL_POSITION, i as FULL_ENCODING, j as CellFullWidth, E as END_ENCODING, k as Cell, I as Input, G as GRID_CELL_POSITION, l as GridButton } from "./drag-store-CO3z13Ju.js";
2
+ import { t, n, v, w, B, J, L, K, M, q, p, r, s, P, x, o, z, m, y, R, A } from "./drag-store-CO3z13Ju.js";
3
3
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
4
4
  import { Sizer } from "@1771technologies/react-sizer";
5
5
  import { useEvent, useIsoEffect } from "@1771technologies/react-utils";
@@ -9,15 +9,16 @@ import { useContext, useMemo, useEffect, useRef, useState, useCallback, memo } f
9
9
  import { sizeFromCoord, clsx, getClientX, IsoResizeObserver, getPreciseElementDimensions, getClientY, getFocusableElements, clamp, getRelativeXPosition, getRelativeYPosition } from "@1771technologies/js-utils";
10
10
  import { useDraggable, useDroppable, dragState } from "@1771technologies/react-dragon";
11
11
  import { getHoveredRowIndex, getHoveredColumnIndex, getRootCell } from "@1771technologies/grid-core";
12
+ import { c as useGrid$1, u as useControlled, a as useTransitionStatus, b as useScrollLock, G as GridProvider } from "./useScrollLock-D4UY33Sb.js";
12
13
  import * as ReactDOM from "react-dom";
13
14
  import { createPortal } from "react-dom";
14
15
  import { cascada, signal } from "@1771technologies/react-cascada";
15
- import { M as MenuRoot, a as MenuPortal, b as MenuPositioner, t as translateOpenChangeReason, P as PATIENT_CLICK_THRESHOLD } from "./MenuRoot-9n64jNWP.js";
16
+ import { M as MenuRoot, a as MenuPortal, t as translateOpenChangeReason, P as PATIENT_CLICK_THRESHOLD, C as ColumnMenuDriver } from "./column-menu-driver-cG-EZgLa.js";
16
17
  import { SplitPane, splitPaneAxe } from "@1771technologies/react-split-pane";
17
- import { F as FloatingPortal, P as PropTypes, H as HTMLElementType, r as refType, j as useEventCallback, y as useOpenChangeComplete, z as useFloatingRootContext, E as useRole, C as useClick, D as useDismiss, S as getTarget, K as useInteractions, m as mergeProps, A as useHover, B as safePolygon } from "./InternalBackdrop-Dm9czgoC.js";
18
+ import { A as AnchorProvider } from "./anchor-context-Cqr_oiJt.js";
19
+ import { F as FloatingPortal, P as PropTypes, H as HTMLElementType, r as refType, j as useEventCallback, n as useOpenChangeComplete, p as useFloatingRootContext, x as useRole, v as useClick, w as useDismiss, L as getTarget, A as useInteractions, m as mergeProps, q as useHover, t as safePolygon } from "./proptypes-BjYr2nFr.js";
18
20
  import { u as useDialogRootContext, D as DialogPortalContext, b as useOptionalDialogRootContext, c as DialogContext, d as DialogRootContext } from "./DialogPortalContext-C2WZTqJ3.js";
19
- import { a as useControlled, b as useTransitionStatus, c as useScrollLock } from "./useScrollLock-D6h5lZYs.js";
20
- import { P as PopoverRootContext, u as usePopoverRootContext, c as PopoverPortalContext, A as AnchorProvider } from "./anchor-context-B9sGQdR5.js";
21
+ import { P as PopoverRootContext, u as usePopoverRootContext, b as PopoverPortalContext } from "./PopoverPortalContext-BdsDjihw.js";
21
22
  import { makeGridPro } from "@1771technologies/grid-store-pro";
22
23
  import { M as MoreDotsIcon } from "./more-dots-icon-CzAH3xHG.js";
23
24
  import { S as SortAscending, a as SortDescending } from "./sort-descending-BMtfaa2L.js";
@@ -97,8 +98,23 @@ function useHeaderCellRenderer(api, column) {
97
98
  function useHeaderMove(api, column, columnIndex) {
98
99
  const gridId = api.getState().gridId.use();
99
100
  const dragProps = useDraggable({
101
+ onDragStart: () => {
102
+ document.body.classList.add("lng1771-drag-on");
103
+ },
104
+ onDragEnd: () => {
105
+ document.body.classList.remove("lng1771-drag-on");
106
+ },
107
+ onDragCancel: () => {
108
+ document.body.classList.remove("lng1771-drag-on");
109
+ },
100
110
  dragData: () => ({ columns: [column], columnIndex }),
101
- dragTags: () => [`${gridId}:grid:${column.pin ?? "none"}`],
111
+ dragTags: () => {
112
+ const c = [`${gridId}:grid:${column.pin ?? "none"}`];
113
+ const groupable = api.columnIsRowGroupable(column);
114
+ const isGrouped = api.getState().rowGroupModel.peek().includes(column.id);
115
+ if (groupable && !isGrouped) c.push(`${gridId}:grid:groupable`);
116
+ return c;
117
+ },
102
118
  placeholder: () => /* @__PURE__ */ jsx(DragPlaceholder$1, { column })
103
119
  });
104
120
  const { canDrop, isOver, ...dropProps } = useDroppable({
@@ -122,7 +138,20 @@ function useHeaderMove(api, column, columnIndex) {
122
138
  return { moveProps, dropProps, isBefore, canDrop, isOver, dragIndex };
123
139
  }
124
140
  function DragPlaceholder$1(c) {
125
- return /* @__PURE__ */ jsx("div", { className: "lng1771-drag-placeholder", children: c.column.headerName ?? c.column.id });
141
+ return /* @__PURE__ */ jsxs("div", { className: "lng1771-pill-manager__drag-placeholder--default", children: [
142
+ /* @__PURE__ */ jsx(
143
+ "svg",
144
+ {
145
+ xmlns: "http://www.w3.org/2000/svg",
146
+ width: "20px",
147
+ height: "20px",
148
+ fill: "currentcolor",
149
+ viewBox: "0 0 256 256",
150
+ children: /* @__PURE__ */ jsx("path", { d: "M90.34,61.66a8,8,0,0,1,0-11.32l32-32a8,8,0,0,1,11.32,0l32,32a8,8,0,0,1-11.32,11.32L136,43.31V96a8,8,0,0,1-16,0V43.31L101.66,61.66A8,8,0,0,1,90.34,61.66Zm64,132.68L136,212.69V160a8,8,0,0,0-16,0v52.69l-18.34-18.35a8,8,0,0,0-11.32,11.32l32,32a8,8,0,0,0,11.32,0l32-32a8,8,0,0,0-11.32-11.32Zm83.32-72-32-32a8,8,0,0,0-11.32,11.32L212.69,120H160a8,8,0,0,0,0,16h52.69l-18.35,18.34a8,8,0,0,0,11.32,11.32l32-32A8,8,0,0,0,237.66,122.34ZM43.31,136H96a8,8,0,0,0,0-16H43.31l18.35-18.34A8,8,0,0,0,50.34,90.34l-32,32a8,8,0,0,0,0,11.32l32,32a8,8,0,0,0,11.32-11.32Z" })
151
+ }
152
+ ),
153
+ /* @__PURE__ */ jsx("span", { children: c.column.headerName ?? c.column.id })
154
+ ] });
126
155
  }
127
156
  function useHeaderFocus(api, ref, columnIndex) {
128
157
  useEffect(() => {
@@ -2523,7 +2552,7 @@ class MD5 {
2523
2552
  return this.cmn(c ^ (b | ~d), a, b, x2, s3, t2);
2524
2553
  }
2525
2554
  md51(s3) {
2526
- const n = s3.length;
2555
+ const n2 = s3.length;
2527
2556
  const state = [1732584193, -271733879, -1732584194, 271733878];
2528
2557
  let i;
2529
2558
  for (i = 64; i <= s3.length; i += 64) {
@@ -2541,7 +2570,7 @@ class MD5 {
2541
2570
  tail[i] = 0;
2542
2571
  }
2543
2572
  }
2544
- tail[14] = n * 8;
2573
+ tail[14] = n2 * 8;
2545
2574
  this.md5cycle(state, tail);
2546
2575
  return state;
2547
2576
  }
@@ -2560,12 +2589,12 @@ class MD5 {
2560
2589
  }
2561
2590
  return md5blks;
2562
2591
  }
2563
- rhex(n) {
2592
+ rhex(n2) {
2564
2593
  const hex_chr = "0123456789abcdef".split("");
2565
2594
  let s3 = "";
2566
2595
  let j = 0;
2567
2596
  for (; j < 4; j++) {
2568
- s3 += hex_chr[n >> j * 8 + 4 & 15] + hex_chr[n >> j * 8 & 15];
2597
+ s3 += hex_chr[n2 >> j * 8 + 4 & 15] + hex_chr[n2 >> j * 8 & 15];
2569
2598
  }
2570
2599
  return s3;
2571
2600
  }
@@ -2705,64 +2734,6 @@ function OverlayDriver() {
2705
2734
  }
2706
2735
  );
2707
2736
  }
2708
- const emptyBB = {
2709
- getBoundingClientRect: () => ({
2710
- x: 0,
2711
- y: 0,
2712
- width: 0,
2713
- height: 0,
2714
- top: 0,
2715
- bottom: 0,
2716
- left: 0,
2717
- right: 0,
2718
- toJSON: () => ""
2719
- })
2720
- };
2721
- function ColumnMenuDriver() {
2722
- const grid = useGrid$1();
2723
- const menuColumn = grid.state.internal.columnMenuColumn.use();
2724
- const target = grid.state.internal.columnMenuTarget.use();
2725
- const MenuRenderer = grid.state.columnMenuRenderer.use();
2726
- const [open, setOpen] = useState(false);
2727
- useEffect(() => {
2728
- if (menuColumn == null || target == null) {
2729
- setOpen(false);
2730
- return;
2731
- }
2732
- setOpen(true);
2733
- }, [menuColumn, target]);
2734
- return /* @__PURE__ */ jsx(
2735
- MenuRoot,
2736
- {
2737
- open,
2738
- onOpenChange: (c) => {
2739
- setOpen(c);
2740
- },
2741
- onOpenChangeComplete: (c) => {
2742
- if (!c) grid.api.columnMenuClose();
2743
- },
2744
- children: /* @__PURE__ */ jsx(MenuPortal, { children: /* @__PURE__ */ jsx(
2745
- MenuPositioner,
2746
- {
2747
- anchor: target ? "getBoundingClientRect" in target ? target : {
2748
- getBoundingClientRect: () => ({
2749
- x: target.x,
2750
- y: target.y,
2751
- width: target.width,
2752
- height: target.height,
2753
- top: target.y,
2754
- left: target.x,
2755
- bottom: target.y,
2756
- right: target.x,
2757
- toJSON: () => ""
2758
- })
2759
- } : emptyBB,
2760
- children: MenuRenderer && menuColumn && /* @__PURE__ */ jsx(MenuRenderer, { api: grid.api, column: menuColumn })
2761
- }
2762
- ) })
2763
- }
2764
- );
2765
- }
2766
2737
  function GridFrame({
2767
2738
  grid: { api, state },
2768
2739
  children,
@@ -2794,7 +2765,7 @@ function GridFrame({
2794
2765
  primary: /* @__PURE__ */ jsx("div", { className: "lng1771-grid-frame__grid-area", children }),
2795
2766
  secondary: /* @__PURE__ */ jsx(Sizer, { className: "lng1771-grid-frame__open-panel", children: /* @__PURE__ */ jsx(frame.component, { api, frame }) }),
2796
2767
  split: frame ? frameSplit : 100,
2797
- onSplitChange: (n) => setFrameSplit(n),
2768
+ onSplitChange: (n2) => setFrameSplit(n2),
2798
2769
  min: 20,
2799
2770
  max: 80,
2800
2771
  splitterClassName: "lng1771-grid-frame__open-panel--splitter"
@@ -2922,35 +2893,15 @@ function ContextMenuDriver() {
2922
2893
  setMenu(null);
2923
2894
  }
2924
2895
  },
2925
- children: /* @__PURE__ */ jsx(MenuPortal, { children: /* @__PURE__ */ jsx(
2926
- MenuPositioner,
2896
+ children: /* @__PURE__ */ jsx(MenuPortal, { children: /* @__PURE__ */ jsx(AnchorProvider, { anchor: target, children: menu && MenuRenderer && /* @__PURE__ */ jsx(
2897
+ MenuRenderer,
2927
2898
  {
2928
- side: "bottom",
2929
- align: "start",
2930
- anchor: target ? "getBoundingClientRect" in target ? target : {
2931
- getBoundingClientRect: () => ({
2932
- x: target.x,
2933
- y: target.y,
2934
- width: target.width,
2935
- height: target.height,
2936
- top: target.y,
2937
- left: target.x,
2938
- bottom: target.y,
2939
- right: target.x,
2940
- toJSON: () => ""
2941
- })
2942
- } : emptyBB,
2943
- children: menu && MenuRenderer && /* @__PURE__ */ jsx(
2944
- MenuRenderer,
2945
- {
2946
- api: grid.api,
2947
- menuTarget: menu.menuTarget,
2948
- columnIndex: menu.hoveredColumn,
2949
- rowIndex: menu.hoveredRow
2950
- }
2951
- )
2899
+ api: grid.api,
2900
+ menuTarget: menu.menuTarget,
2901
+ columnIndex: menu.hoveredColumn,
2902
+ rowIndex: menu.hoveredRow
2952
2903
  }
2953
- ) })
2904
+ ) }) })
2954
2905
  }
2955
2906
  );
2956
2907
  }
@@ -3605,13 +3556,40 @@ function PopoverDriver() {
3605
3556
  }
3606
3557
  );
3607
3558
  }
3559
+ function MenuFrameDriver() {
3560
+ const grid = useGrid$1();
3561
+ const frames = grid.state.menuFrames.use();
3562
+ const frameId = grid.state.internal.menuFrameOpen.use();
3563
+ const frameBB = grid.state.internal.menuFrameBB.use();
3564
+ const frame = frameId ? frames[frameId] : null;
3565
+ const [open, setOpen] = useState(false);
3566
+ useEffect(() => {
3567
+ if (!frame || !frameBB) {
3568
+ setOpen(false);
3569
+ return;
3570
+ }
3571
+ setOpen(true);
3572
+ }, [frame, frameBB]);
3573
+ return /* @__PURE__ */ jsx(
3574
+ MenuRoot,
3575
+ {
3576
+ open,
3577
+ onOpenChange: (c) => setOpen(c),
3578
+ onOpenChangeComplete: (c) => {
3579
+ if (!c) grid.api.menuFrameClose();
3580
+ },
3581
+ children: /* @__PURE__ */ jsx(AnchorProvider, { anchor: frameBB, children: /* @__PURE__ */ jsx(MenuPortal, { children: frame && frameBB && /* @__PURE__ */ jsx(frame.component, { api: grid.api, frame }) }) })
3582
+ }
3583
+ );
3584
+ }
3608
3585
  function LyteNyteGrid({ grid, frameAxe }) {
3609
3586
  return /* @__PURE__ */ jsx(GridProvider, { value: grid, children: /* @__PURE__ */ jsxs(GridFrame, { grid, axe: frameAxe, children: [
3610
3587
  /* @__PURE__ */ jsx(LyteNyteProImpl, {}),
3611
3588
  /* @__PURE__ */ jsx(ColumnMenuDriver, {}),
3612
3589
  /* @__PURE__ */ jsx(ContextMenuDriver, {}),
3613
3590
  /* @__PURE__ */ jsx(DialogDriver, {}),
3614
- /* @__PURE__ */ jsx(PopoverDriver, {})
3591
+ /* @__PURE__ */ jsx(PopoverDriver, {}),
3592
+ /* @__PURE__ */ jsx(MenuFrameDriver, {})
3615
3593
  ] }) });
3616
3594
  }
3617
3595
  function LyteNyteProImpl() {
@@ -3653,16 +3631,41 @@ function HeaderCellDefault({ column, api }) {
3653
3631
  const hints = column.uiHints ?? sx.columnBase.peek().uiHints ?? {};
3654
3632
  const columnMenuOpen = sx.columnMenuActiveColumn.use();
3655
3633
  const hasControls = hints.columnMenu || hints.sortButton && isSortable;
3634
+ const rowGroup = sx.rowGroupModel.use();
3635
+ const aggModel = sx.aggModel.use();
3636
+ const agg = aggModel[column.id];
3637
+ const fn = useMemo(() => {
3638
+ return rowGroup.length > 0 && agg ? typeof agg.fn === "string" ? `(${agg.fn})` : "fn(x)" : null;
3639
+ }, [agg, rowGroup.length]);
3640
+ const subTitle = hints.subTitle;
3641
+ const stacked = hints.stacked ?? false;
3656
3642
  return /* @__PURE__ */ jsxs(
3657
3643
  "div",
3658
3644
  {
3659
3645
  className: clsx(
3660
3646
  "lng1771-header-default",
3661
- column.type === "number" && "lng1771-header-default--end-align",
3662
- column.type !== "number" && "lng1771-header-default--start-align"
3647
+ column.type === "number" && "lng1771-header-default--end-justify",
3648
+ column.type !== "number" && "lng1771-header-default--start-justify"
3663
3649
  ),
3664
3650
  children: [
3665
- /* @__PURE__ */ jsx("div", { children: column.headerName ?? column.id }),
3651
+ /* @__PURE__ */ jsxs(
3652
+ "div",
3653
+ {
3654
+ className: clsx(
3655
+ "lng1771-header-default__label",
3656
+ column.type === "number" && "lng1771-header-default__label--end-justify",
3657
+ column.type !== "number" && "lng1771-header-default__label--start-justify",
3658
+ stacked && "lng1771-header-default__label--stacked"
3659
+ ),
3660
+ children: [
3661
+ /* @__PURE__ */ jsx("div", { className: "lng1771-header-default__label-primary", children: column.headerName ?? column.id }),
3662
+ /* @__PURE__ */ jsxs("div", { className: "lng1771-header-default__label-secondary", children: [
3663
+ subTitle && /* @__PURE__ */ jsx("div", { className: "lng1771-header-default__label-secondary-title", children: subTitle }),
3664
+ hints.showAggName && fn && /* @__PURE__ */ jsx("div", { className: "lng1771-header-default__label-secondary-agg", children: fn })
3665
+ ] })
3666
+ ]
3667
+ }
3668
+ ),
3666
3669
  hasControls && /* @__PURE__ */ jsxs("div", { className: "lng1771-header-default__controls", children: [
3667
3670
  isSortable && hints.sortButton && /* @__PURE__ */ jsxs(
3668
3671
  "button",
@@ -3670,6 +3673,7 @@ function HeaderCellDefault({ column, api }) {
3670
3673
  tabIndex: -1,
3671
3674
  "data-active": currentSort != null,
3672
3675
  className: clsx("lng1771-header-default__button"),
3676
+ "data-is-sort": true,
3673
3677
  onClick: () => api.columnSortCycleToNext(column),
3674
3678
  children: [
3675
3679
  currentSort === "asc" && /* @__PURE__ */ jsx(SortAscending, { width: 16, height: 16 }),
@@ -3734,36 +3738,35 @@ function useTreeDataSource(init) {
3734
3738
  }
3735
3739
  export {
3736
3740
  COLUMN_EMPTY_PREFIX,
3737
- y as COLUMN_GROUP_HEADER_HEIGHT,
3738
- q as COLUMN_GROUP_ID_DELIMITER,
3739
- z as COLUMN_HEADER_HEIGHT,
3741
+ t as COLUMN_GROUP_HEADER_HEIGHT,
3742
+ n as COLUMN_GROUP_ID_DELIMITER,
3743
+ v as COLUMN_HEADER_HEIGHT,
3740
3744
  COLUMN_MARKER_ID,
3741
- A as COLUMN_SCAN_DISTANCE,
3742
- L as DEFAULT_MAX_WIDTH,
3743
- M as DEFAULT_MIN_WIDTH,
3744
- O as DEFAULT_SORT_CYCLE,
3745
- N as DEFAULT_WIDTH,
3745
+ w as COLUMN_SCAN_DISTANCE,
3746
+ B as DEFAULT_MAX_WIDTH,
3747
+ J as DEFAULT_MIN_WIDTH,
3748
+ L as DEFAULT_SORT_CYCLE,
3749
+ K as DEFAULT_WIDTH,
3746
3750
  END_ENCODING,
3747
3751
  FLOATING_CELL_POSITION,
3748
3752
  FULL_ENCODING,
3749
- Q as FULL_WIDTH_POSITION,
3753
+ M as FULL_WIDTH_POSITION,
3750
3754
  GRID_CELL_POSITION,
3751
- v as GROUP_COLUMN_MULTI_PREFIX,
3752
- t as GROUP_COLUMN_PREFIX,
3753
- w as GROUP_COLUMN_SINGLE_ID,
3754
- x as GROUP_COLUMN_TREE_DATA,
3755
+ q as GROUP_COLUMN_MULTI_PREFIX,
3756
+ p as GROUP_COLUMN_PREFIX,
3757
+ r as GROUP_COLUMN_SINGLE_ID,
3758
+ s as GROUP_COLUMN_TREE_DATA,
3755
3759
  HEADER_CELL_POSITION,
3756
3760
  HEADER_GROUP_CELL_POSITION,
3757
3761
  LyteNyteGrid,
3758
3762
  P as PAGINATE_PAGE_SIZE,
3759
- r as ROW_DEFAULT_PATH_SEPARATOR,
3760
- J as ROW_DETAIL_HEIGHT,
3761
- o as ROW_GROUP_KIND,
3762
- B as ROW_HEIGHT,
3763
+ x as ROW_BLANK_GROUP_KEY,
3764
+ o as ROW_DEFAULT_PATH_SEPARATOR,
3765
+ z as ROW_DETAIL_HEIGHT,
3766
+ m as ROW_GROUP_KIND,
3767
+ y as ROW_HEIGHT,
3763
3768
  R as ROW_LEAF_KIND,
3764
- s as ROW_TOTAL_ID,
3765
- p as ROW_TOTAL_KIND,
3766
- K as ROW_UPDATE_STACK_SIZE,
3769
+ A as ROW_UPDATE_STACK_SIZE,
3767
3770
  activateLicense,
3768
3771
  createClientDataSourceReact,
3769
3772
  hasAValidLicense,
@@ -561,6 +561,7 @@ INPUT
561
561
  height: 1px;
562
562
  width: 100%;
563
563
  background-color: var(--lng1771-gray-40);
564
+ box-sizing: border-box;
564
565
  }
565
566
 
566
567
  .lng1771-menu__item,
@@ -597,6 +598,7 @@ INPUT
597
598
  display: flex;
598
599
  align-items: center;
599
600
  justify-content: space-between;
601
+ box-sizing: border-box;
600
602
  }
601
603
 
602
604
  .lng1771-menu__arrow {
@@ -627,6 +629,7 @@ INPUT
627
629
  align-items: center;
628
630
  background-color: inherit;
629
631
  text-transform: uppercase;
632
+ box-sizing: border-box;
630
633
  }
631
634
 
632
635
  .lng1771-menu__radio-item-indicator,
@@ -635,6 +638,7 @@ INPUT
635
638
  display: flex;
636
639
  align-items: center;
637
640
  justify-content: center;
641
+ box-sizing: border-box;
638
642
  }
639
643
  .lng1771-pill {
640
644
  white-space: nowrap;
@@ -755,6 +759,9 @@ body.lng1771-drag-on
755
759
  .lng1771-pill-manager__pill-outer[data-pill-active="false"] {
756
760
  display: none;
757
761
  }
762
+ body.lng1771-drag-on .lng1771-pill-manager__pill-outer[data-pill-active="false"] {
763
+ display: none;
764
+ }
758
765
 
759
766
  /** Pill CONTAINER **/
760
767
  .lng1771-pill-manager__pills {
@@ -1954,8 +1961,60 @@ body.lng1771-drag-on
1954
1961
  letter-spacing: 0.25px;
1955
1962
  }
1956
1963
 
1957
- .lng1771-header-default--end-align {
1964
+ .lng1771-header-default__label {
1965
+ display: flex;
1966
+ gap: 4px;
1967
+
1968
+ & span:last-child {
1969
+ font-size: 10px;
1970
+ text-transform: uppercase;
1971
+ color: var(--lng1771-primary-50);
1972
+ }
1973
+ }
1974
+
1975
+ .lng1771-header-default__label:not(
1976
+ .lng1771-header-default__label--stacked
1977
+ ).lng1771-header-default__label--end-justify {
1978
+ flex-direction: row-reverse;
1979
+ flex-wrap: wrap;
1980
+ justify-content: flex-start;
1981
+ align-items: center;
1982
+ gap: 2px;
1983
+ text-align: end;
1984
+ }
1985
+
1986
+ .lng1771-header-default__label--stacked {
1987
+ flex-direction: column;
1988
+ gap: 2px;
1989
+ }
1990
+
1991
+ .lng1771-header-default__label--end-justify {
1992
+ width: 100%;
1958
1993
  justify-content: flex-end;
1994
+ align-items: flex-end;
1995
+ text-align: end;
1996
+ }
1997
+
1998
+ .lng1771-header-default__label-secondary {
1999
+ display: flex;
2000
+ align-items: center;
2001
+ gap: 2px;
2002
+ font-size: 10px;
2003
+ }
2004
+
2005
+ .lng1771-header-default__label-primary {
2006
+ white-space: nowrap;
2007
+ text-overflow: clip;
2008
+ }
2009
+
2010
+ .lng1771-header-default--end-justify .lng1771-header-default__label-secondary {
2011
+ flex-direction: row-reverse;
2012
+ }
2013
+
2014
+ .lng1771-header-default__label-secondary-agg {
2015
+ color: var(--lng1771-primary-50);
2016
+ font-weight: 600;
2017
+ text-transform: lowercase;
1959
2018
  }
1960
2019
 
1961
2020
  .lng1771-header-default__controls {
@@ -1965,11 +2024,11 @@ body.lng1771-drag-on
1965
2024
  gap: 4px;
1966
2025
  }
1967
2026
 
1968
- .lng1771-header-default--start-align .lng1771-header-default__controls {
2027
+ .lng1771-header-default--start-justify .lng1771-header-default__controls {
1969
2028
  inset-inline-end: 12px;
1970
2029
  }
1971
2030
 
1972
- .lng1771-header-default--end-align .lng1771-header-default__controls {
2031
+ .lng1771-header-default--end-justify .lng1771-header-default__controls {
1973
2032
  inset-inline-start: 12px;
1974
2033
  flex-direction: row-reverse;
1975
2034
  }
@@ -1989,7 +2048,6 @@ body.lng1771-drag-on
1989
2048
 
1990
2049
  &:hover {
1991
2050
  background-color: var(--lng1771-gray-20);
1992
- border-color: var(--lng1771-gray-30);
1993
2051
  cursor: pointer;
1994
2052
  }
1995
2053
  }