@linzjs/step-ag-grid 1.5.4 → 2.0.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.
- package/README.md +117 -2
- package/{src/components → dist}/GridTheme.scss +37 -23
- package/dist/index.css +351 -0
- package/dist/index.js +625 -332
- package/dist/index.js.map +1 -1
- package/dist/src/components/ComponentLoadingWrapper.d.ts +1 -0
- package/dist/src/components/Grid.d.ts +0 -2
- package/dist/src/components/GridCell.d.ts +21 -27
- package/dist/src/components/GridPopoverHook.d.ts +5 -2
- package/dist/src/components/gridForm/GridFormDropDown.d.ts +10 -4
- package/dist/src/components/gridForm/GridFormEditBearing.d.ts +5 -5
- package/dist/src/components/gridForm/GridFormMessage.d.ts +4 -5
- package/dist/src/components/gridForm/GridFormMultiSelect.d.ts +5 -4
- package/dist/src/components/gridForm/GridFormPopoutMenu.d.ts +3 -3
- package/dist/src/components/gridForm/GridFormTextArea.d.ts +3 -3
- package/dist/src/components/gridForm/GridFormTextInput.d.ts +3 -3
- package/dist/src/components/gridPopoverEdit/GridPopoutEditMultiSelect.d.ts +3 -2
- package/dist/src/components/gridPopoverEdit/GridPopoverEditBearing.d.ts +5 -270
- package/dist/src/components/gridPopoverEdit/GridPopoverEditDropDown.d.ts +3 -2
- package/dist/src/components/gridPopoverEdit/GridPopoverMenu.d.ts +3 -4
- package/dist/src/components/gridPopoverEdit/GridPopoverMessage.d.ts +3 -2
- package/dist/src/components/gridPopoverEdit/GridPopoverTextArea.d.ts +3 -2
- package/dist/src/components/gridPopoverEdit/GridPopoverTextInput.d.ts +3 -2
- package/dist/src/components/gridRender/GridRenderGenericCell.d.ts +4 -5
- package/dist/src/contexts/GridContext.d.ts +1 -1
- package/dist/src/contexts/GridPopoverContext.d.ts +17 -0
- package/dist/src/contexts/GridPopoverContextProvider.d.ts +6 -0
- package/dist/src/contexts/{UpdatingContext.d.ts → GridUpdatingContext.d.ts} +2 -2
- package/dist/src/contexts/GridUpdatingContextProvider.d.ts +7 -0
- package/dist/src/index.d.ts +31 -0
- package/dist/src/react-menu3/components/MenuRadioGroup.d.ts +2 -21
- package/dist/src/react-menu3/contexts/EventHandlersContext.d.ts +7 -0
- package/dist/src/react-menu3/contexts/HoverItemContext.d.ts +2 -0
- package/dist/src/react-menu3/contexts/ItemSettingsContext.d.ts +5 -0
- package/dist/src/react-menu3/contexts/MenuListContext.d.ts +9 -0
- package/dist/src/react-menu3/contexts/MenuListItemContext.d.ts +11 -0
- package/dist/src/react-menu3/contexts/RadioGroupContext.d.ts +7 -0
- package/dist/src/react-menu3/contexts/SettingsContext.d.ts +20 -0
- package/dist/src/react-menu3/index.d.ts +0 -1
- package/dist/src/react-menu3/utils/constants.d.ts +1 -50
- package/dist/step-ag-grid.esm.js +622 -312
- package/dist/step-ag-grid.esm.js.map +1 -1
- package/package.json +39 -26
- package/src/components/ComponentLoadingWrapper.tsx +2 -1
- package/src/components/Grid.tsx +3 -8
- package/src/components/GridCell.tsx +62 -79
- package/src/components/GridLoadableCell.tsx +0 -1
- package/src/components/GridPopoverHook.tsx +18 -16
- package/src/components/gridForm/GridFormDropDown.tsx +47 -32
- package/src/components/gridForm/GridFormEditBearing.tsx +14 -14
- package/src/components/gridForm/GridFormMessage.tsx +11 -17
- package/src/components/gridForm/GridFormMultiSelect.tsx +89 -79
- package/src/components/gridForm/GridFormPopoutMenu.tsx +10 -11
- package/src/components/gridForm/GridFormTextArea.tsx +16 -17
- package/src/components/gridForm/GridFormTextInput.tsx +17 -17
- package/src/components/gridPopoverEdit/GridPopoutEditMultiSelect.ts +20 -15
- package/src/components/gridPopoverEdit/GridPopoverEditBearing.ts +53 -45
- package/src/components/gridPopoverEdit/GridPopoverEditDropDown.ts +21 -15
- package/src/components/gridPopoverEdit/GridPopoverMenu.scss +4 -4
- package/src/components/gridPopoverEdit/GridPopoverMenu.tsx +21 -23
- package/src/components/gridPopoverEdit/GridPopoverMessage.ts +18 -16
- package/src/components/gridPopoverEdit/GridPopoverTextArea.ts +12 -16
- package/src/components/gridPopoverEdit/GridPopoverTextInput.ts +15 -15
- package/src/components/gridRender/GridRenderGenericCell.tsx +5 -6
- package/src/components/gridRender/GridRenderPopoutMenuCell.tsx +2 -2
- package/src/contexts/GridContext.tsx +1 -1
- package/src/contexts/GridContextProvider.tsx +3 -5
- package/src/contexts/GridPopoverContext.tsx +26 -0
- package/src/contexts/GridPopoverContextProvider.tsx +54 -0
- package/src/contexts/{UpdatingContext.tsx → GridUpdatingContext.tsx} +2 -2
- package/src/contexts/{UpdatingContextProvider.tsx → GridUpdatingContextProvider.tsx} +8 -6
- package/src/index.ts +38 -0
- package/src/lui/TextInputFormatted.scss +1 -1
- package/src/react-menu3/README.md +66 -0
- package/src/react-menu3/components/ControlledMenu.tsx +9 -17
- package/src/react-menu3/components/FocusableItem.tsx +2 -9
- package/src/react-menu3/components/MenuGroup.tsx +2 -1
- package/src/react-menu3/components/MenuItem.tsx +3 -12
- package/src/react-menu3/components/MenuList.tsx +4 -4
- package/src/react-menu3/components/MenuRadioGroup.tsx +3 -22
- package/src/react-menu3/components/SubMenu.tsx +4 -4
- package/src/react-menu3/contexts/EventHandlersContext.ts +11 -0
- package/src/react-menu3/contexts/HoverItemContext.ts +3 -0
- package/src/react-menu3/contexts/ItemSettingsContext.ts +6 -0
- package/src/react-menu3/contexts/MenuListContext.ts +10 -0
- package/src/react-menu3/contexts/MenuListItemContext.ts +16 -0
- package/src/react-menu3/contexts/RadioGroupContext.ts +8 -0
- package/src/react-menu3/contexts/SettingsContext.ts +20 -0
- package/src/react-menu3/hooks/useItemState.ts +3 -1
- package/src/react-menu3/index.ts +0 -1
- package/src/react-menu3/styles/_var.scss +4 -4
- package/src/react-menu3/styles/core.scss +6 -6
- package/src/react-menu3/styles/index.scss +10 -7
- package/src/react-menu3/styles/theme-dark.scss +4 -2
- package/src/react-menu3/styles/transitions/slide.scss +8 -8
- package/src/react-menu3/utils/constants.ts +1 -74
- package/src/react-menu3/utils/withHovering.tsx +1 -1
- package/src/stories/components/FormTest.scss +1 -2
- package/src/stories/components/FormTest.tsx +4 -3
- package/src/stories/components/GridPopoutBearing.stories.tsx +30 -26
- package/src/stories/components/GridPopoutEditDropDown.stories.tsx +94 -51
- package/src/stories/components/GridPopoutEditGeneric.stories.tsx +18 -14
- package/src/stories/components/GridPopoutEditGenericTextArea.stories.tsx +78 -62
- package/src/stories/components/GridPopoutEditMultiSelect.stories.tsx +60 -52
- package/src/stories/components/GridReadOnly.stories.tsx +77 -64
- package/src/stories/components/ReactMenu.stories.tsx +0 -4
- package/src/{components → styles}/Grid.scss +9 -6
- package/src/styles/GridFormDropDown.scss +18 -0
- package/src/{components/gridForm → styles}/GridFormEditBearing.scss +0 -0
- package/src/styles/GridFormMultiSelect.scss +18 -0
- package/src/styles/GridRenderGenericCell.scss +15 -0
- package/src/styles/GridTheme.scss +108 -0
- package/src/styles/index.scss +2 -0
- package/src/styles/lui-overrides.scss +49 -0
- package/src/styles/react-menu-customisations.scss +135 -0
- package/dist/index.d.ts +0 -38
- package/dist/src/contexts/UpdatingContextProvider.d.ts +0 -7
- package/dist/src/stories/components/FormTest.d.ts +0 -13
- package/dist/src/stories/components/GridPopoutBearing.stories.d.ts +0 -9
- package/dist/src/stories/components/GridPopoutEditDropDown.stories.d.ts +0 -9
- package/dist/src/stories/components/GridPopoutEditGeneric.stories.d.ts +0 -9
- package/dist/src/stories/components/GridPopoutEditGenericTextArea.stories.d.ts +0 -9
- package/dist/src/stories/components/GridPopoutEditMultiSelect.stories.d.ts +0 -9
- package/dist/src/stories/components/GridReadOnly.stories.d.ts +0 -9
- package/dist/src/stories/components/ReactMenu.stories.d.ts +0 -8
- package/src/components/gridRender/GridRenderGenericCell.scss +0 -15
- package/src/lui-overrides.scss +0 -163
- package/src/react-menu3/style-utils.d.ts +0 -110
package/dist/step-ag-grid.esm.js
CHANGED
|
@@ -2,11 +2,8 @@ import { useMemo, useLayoutEffect, useEffect, createContext, memo, forwardRef, u
|
|
|
2
2
|
import { unstable_batchedUpdates, flushSync, createPortal } from 'react-dom';
|
|
3
3
|
import { findIndex, isEmpty, castArray, remove, flatten, delay, sortBy, last, difference, xorBy, fromPairs } from 'lodash-es';
|
|
4
4
|
import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
|
|
5
|
-
import { useTransition } from 'react-transition-state';
|
|
6
5
|
import { AgGridReact } from 'ag-grid-react';
|
|
7
6
|
import { LuiMiniSpinner, LuiIcon, LuiCheckboxInput } from '@linzjs/lui';
|
|
8
|
-
import debounce from 'debounce-promise';
|
|
9
|
-
import { v4 } from 'uuid';
|
|
10
7
|
|
|
11
8
|
// Generate className following BEM methodology: http://getbem.com/naming/
|
|
12
9
|
// Modifier value can be one of the following types: boolean, string, undefined
|
|
@@ -70,23 +67,6 @@ var menuHeaderClass = "header";
|
|
|
70
67
|
var menuGroupClass = "group";
|
|
71
68
|
var subMenuClass = "submenu";
|
|
72
69
|
var radioGroupClass = "radio-group";
|
|
73
|
-
var HoverItemContext = createContext(undefined);
|
|
74
|
-
var MenuListItemContext = createContext({
|
|
75
|
-
dispatch: function () { },
|
|
76
|
-
updateItems: function () { },
|
|
77
|
-
setOpenSubmenuCount: function () { return 0; }
|
|
78
|
-
});
|
|
79
|
-
var MenuListContext = createContext({});
|
|
80
|
-
var EventHandlersContext = createContext({
|
|
81
|
-
handleClick: function () { }
|
|
82
|
-
});
|
|
83
|
-
var RadioGroupContext = createContext({});
|
|
84
|
-
// FIXME hacking a default context in here is probably bad
|
|
85
|
-
var SettingsContext = createContext({});
|
|
86
|
-
var ItemSettingsContext = createContext({
|
|
87
|
-
submenuOpenDelay: 0,
|
|
88
|
-
submenuCloseDelay: 0
|
|
89
|
-
});
|
|
90
70
|
var Keys = Object.freeze({
|
|
91
71
|
ENTER: "Enter",
|
|
92
72
|
ESC: "Escape",
|
|
@@ -251,7 +231,7 @@ function __generator(thisArg, body) {
|
|
|
251
231
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
252
232
|
function step(op) {
|
|
253
233
|
if (f) throw new TypeError("Generator is already executing.");
|
|
254
|
-
while (_) try {
|
|
234
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
255
235
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
256
236
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
257
237
|
switch (op[0]) {
|
|
@@ -283,6 +263,8 @@ function __spreadArray(to, from, pack) {
|
|
|
283
263
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
284
264
|
}
|
|
285
265
|
|
|
266
|
+
var HoverItemContext = createContext(undefined);
|
|
267
|
+
|
|
286
268
|
var withHovering = function (name, WrappedComponent) {
|
|
287
269
|
var Component = memo(WrappedComponent);
|
|
288
270
|
var WithHovering = forwardRef(function (props, ref) {
|
|
@@ -408,6 +390,17 @@ var useItemEffect = function (isDisabled, menuItemRef, updateItems) {
|
|
|
408
390
|
}, [isDisabled, menuItemRef, updateItems]);
|
|
409
391
|
};
|
|
410
392
|
|
|
393
|
+
var MenuListItemContext = createContext({
|
|
394
|
+
dispatch: function () { },
|
|
395
|
+
updateItems: function () { },
|
|
396
|
+
setOpenSubmenuCount: function () { return 0; }
|
|
397
|
+
});
|
|
398
|
+
|
|
399
|
+
var ItemSettingsContext = createContext({
|
|
400
|
+
submenuOpenDelay: 0,
|
|
401
|
+
submenuCloseDelay: 0
|
|
402
|
+
});
|
|
403
|
+
|
|
411
404
|
// This hook includes some common stateful logic in MenuItem and FocusableItem
|
|
412
405
|
var useItemState = function (menuItemRef, focusRef, isHovering, isDisabled) {
|
|
413
406
|
var submenuCloseDelay = useContext(ItemSettingsContext).submenuCloseDelay;
|
|
@@ -470,6 +463,119 @@ var useMenuChange = function (onMenuChange, isOpen) {
|
|
|
470
463
|
}, [onMenuChange, isOpen]);
|
|
471
464
|
};
|
|
472
465
|
|
|
466
|
+
var PRE_ENTER = 0;
|
|
467
|
+
var ENTERING = 1;
|
|
468
|
+
var ENTERED = 2;
|
|
469
|
+
var PRE_EXIT = 3;
|
|
470
|
+
var EXITING = 4;
|
|
471
|
+
var EXITED = 5;
|
|
472
|
+
var UNMOUNTED = 6;
|
|
473
|
+
var STATES = ['preEnter', 'entering', 'entered', 'preExit', 'exiting', 'exited', 'unmounted'];
|
|
474
|
+
|
|
475
|
+
var startOrEnd = function startOrEnd(unmounted) {
|
|
476
|
+
return unmounted ? UNMOUNTED : EXITED;
|
|
477
|
+
};
|
|
478
|
+
|
|
479
|
+
var updateState = function updateState(state, setState, latestState, timeoutId, onChange) {
|
|
480
|
+
clearTimeout(timeoutId.current);
|
|
481
|
+
setState(state);
|
|
482
|
+
latestState.current = state;
|
|
483
|
+
onChange && onChange({
|
|
484
|
+
state: STATES[state]
|
|
485
|
+
});
|
|
486
|
+
};
|
|
487
|
+
|
|
488
|
+
var useTransition = function useTransition(_temp) {
|
|
489
|
+
var _ref = _temp === void 0 ? {} : _temp,
|
|
490
|
+
_ref$enter = _ref.enter,
|
|
491
|
+
enter = _ref$enter === void 0 ? true : _ref$enter,
|
|
492
|
+
_ref$exit = _ref.exit,
|
|
493
|
+
exit = _ref$exit === void 0 ? true : _ref$exit,
|
|
494
|
+
preEnter = _ref.preEnter,
|
|
495
|
+
preExit = _ref.preExit,
|
|
496
|
+
timeout = _ref.timeout,
|
|
497
|
+
initialEntered = _ref.initialEntered,
|
|
498
|
+
mountOnEnter = _ref.mountOnEnter,
|
|
499
|
+
unmountOnExit = _ref.unmountOnExit,
|
|
500
|
+
onChange = _ref.onChange;
|
|
501
|
+
|
|
502
|
+
var _useState = useState(initialEntered ? ENTERED : startOrEnd(mountOnEnter)),
|
|
503
|
+
state = _useState[0],
|
|
504
|
+
setState = _useState[1];
|
|
505
|
+
|
|
506
|
+
var latestState = useRef(state);
|
|
507
|
+
var timeoutId = useRef();
|
|
508
|
+
var enterTimeout, exitTimeout;
|
|
509
|
+
|
|
510
|
+
if (typeof timeout === 'object') {
|
|
511
|
+
enterTimeout = timeout.enter;
|
|
512
|
+
exitTimeout = timeout.exit;
|
|
513
|
+
} else {
|
|
514
|
+
enterTimeout = exitTimeout = timeout;
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
var endTransition = useCallback(function () {
|
|
518
|
+
var newState;
|
|
519
|
+
|
|
520
|
+
switch (latestState.current) {
|
|
521
|
+
case ENTERING:
|
|
522
|
+
case PRE_ENTER:
|
|
523
|
+
newState = ENTERED;
|
|
524
|
+
break;
|
|
525
|
+
|
|
526
|
+
case EXITING:
|
|
527
|
+
case PRE_EXIT:
|
|
528
|
+
newState = startOrEnd(unmountOnExit);
|
|
529
|
+
break;
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
if (newState !== undefined) {
|
|
533
|
+
updateState(newState, setState, latestState, timeoutId, onChange);
|
|
534
|
+
}
|
|
535
|
+
}, [onChange, unmountOnExit]);
|
|
536
|
+
var toggle = useCallback(function (toEnter) {
|
|
537
|
+
var transitState = function transitState(newState) {
|
|
538
|
+
updateState(newState, setState, latestState, timeoutId, onChange);
|
|
539
|
+
|
|
540
|
+
switch (newState) {
|
|
541
|
+
case ENTERING:
|
|
542
|
+
if (enterTimeout >= 0) timeoutId.current = setTimeout(endTransition, enterTimeout);
|
|
543
|
+
break;
|
|
544
|
+
|
|
545
|
+
case EXITING:
|
|
546
|
+
if (exitTimeout >= 0) timeoutId.current = setTimeout(endTransition, exitTimeout);
|
|
547
|
+
break;
|
|
548
|
+
|
|
549
|
+
case PRE_ENTER:
|
|
550
|
+
case PRE_EXIT:
|
|
551
|
+
timeoutId.current = setTimeout(function () {
|
|
552
|
+
return transitState(newState + 1);
|
|
553
|
+
}, 0);
|
|
554
|
+
break;
|
|
555
|
+
}
|
|
556
|
+
};
|
|
557
|
+
|
|
558
|
+
var enterStage = latestState.current <= ENTERED;
|
|
559
|
+
if (typeof toEnter !== 'boolean') toEnter = !enterStage;
|
|
560
|
+
|
|
561
|
+
if (toEnter) {
|
|
562
|
+
if (!enterStage) {
|
|
563
|
+
transitState(enter ? preEnter ? PRE_ENTER : ENTERING : ENTERED);
|
|
564
|
+
}
|
|
565
|
+
} else {
|
|
566
|
+
if (enterStage) {
|
|
567
|
+
transitState(exit ? preExit ? PRE_EXIT : EXITING : startOrEnd(unmountOnExit));
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
}, [endTransition, onChange, enter, exit, preEnter, preExit, enterTimeout, exitTimeout, unmountOnExit]);
|
|
571
|
+
useEffect(function () {
|
|
572
|
+
return function () {
|
|
573
|
+
return clearTimeout(timeoutId.current);
|
|
574
|
+
};
|
|
575
|
+
}, []);
|
|
576
|
+
return [STATES[state], toggle, endTransition];
|
|
577
|
+
};
|
|
578
|
+
|
|
473
579
|
/**
|
|
474
580
|
* A custom Hook which helps manage the states of `ControlledMenu`.
|
|
475
581
|
*/
|
|
@@ -793,6 +899,11 @@ var positionMenu = function (props) {
|
|
|
793
899
|
}
|
|
794
900
|
};
|
|
795
901
|
|
|
902
|
+
var MenuListContext = createContext({});
|
|
903
|
+
|
|
904
|
+
// FIXME hacking a default context in here is probably bad
|
|
905
|
+
var SettingsContext = createContext({});
|
|
906
|
+
|
|
796
907
|
var MenuList = function (_a) {
|
|
797
908
|
var _b, _c;
|
|
798
909
|
var ariaLabel = _a.ariaLabel, menuClassName = _a.menuClassName, menuStyle = _a.menuStyle, arrowClassName = _a.arrowClassName, arrowStyle = _a.arrowStyle, anchorPoint = _a.anchorPoint, anchorRef = _a.anchorRef, containerRef = _a.containerRef, externalRef = _a.externalRef, parentScrollingRef = _a.parentScrollingRef, arrow = _a.arrow, _d = _a.align, align = _d === void 0 ? "start" : _d, _e = _a.direction, direction = _e === void 0 ? "bottom" : _e, _f = _a.position, position = _f === void 0 ? "auto" : _f, _g = _a.overflow, overflow = _g === void 0 ? "visible" : _g, setDownOverflow = _a.setDownOverflow, repositionFlag = _a.repositionFlag, _h = _a.captureFocus, captureFocus = _h === void 0 ? true : _h, state = _a.state, endTransition = _a.endTransition, isDisabled = _a.isDisabled, menuItemFocus = _a.menuItemFocus, dontShrinkIfDirectionIsTop = _a.dontShrinkIfDirectionIsTop, _j = _a.offsetX, offsetX = _j === void 0 ? 0 : _j, _k = _a.offsetY, offsetY = _k === void 0 ? 0 : _k, children = _a.children, onClose = _a.onClose, restProps = __rest(_a, ["ariaLabel", "menuClassName", "menuStyle", "arrowClassName", "arrowStyle", "anchorPoint", "anchorRef", "containerRef", "externalRef", "parentScrollingRef", "arrow", "align", "direction", "position", "overflow", "setDownOverflow", "repositionFlag", "captureFocus", "state", "endTransition", "isDisabled", "menuItemFocus", "dontShrinkIfDirectionIsTop", "offsetX", "offsetY", "children", "onClose"]);
|
|
@@ -1160,6 +1271,10 @@ var hasParentClass = function (className, child) {
|
|
|
1160
1271
|
return false;
|
|
1161
1272
|
};
|
|
1162
1273
|
|
|
1274
|
+
var EventHandlersContext = createContext({
|
|
1275
|
+
handleClick: function () { }
|
|
1276
|
+
});
|
|
1277
|
+
|
|
1163
1278
|
var ControlledMenuFr = function (_a, externalRef) {
|
|
1164
1279
|
var ariaLabel = _a["aria-label"], className = _a.className, containerProps = _a.containerProps, initialMounted = _a.initialMounted, unmountOnClose = _a.unmountOnClose, transition = _a.transition, transitionTimeout = _a.transitionTimeout, boundingBoxRef = _a.boundingBoxRef, boundingBoxPadding = _a.boundingBoxPadding, _b = _a.reposition, reposition = _b === void 0 ? "auto" : _b, _c = _a.submenuOpenDelay, submenuOpenDelay = _c === void 0 ? 300 : _c, _d = _a.submenuCloseDelay, submenuCloseDelay = _d === void 0 ? 150 : _d, skipOpen = _a.skipOpen, _e = _a.viewScroll, viewScroll = _e === void 0 ? "initial" : _e, portal = _a.portal, theming = _a.theming, onItemClick = _a.onItemClick, onClose = _a.onClose, saveButtonRef = _a.saveButtonRef, restProps = __rest(_a, ["aria-label", "className", "containerProps", "initialMounted", "unmountOnClose", "transition", "transitionTimeout", "boundingBoxRef", "boundingBoxPadding", "reposition", "submenuOpenDelay", "submenuCloseDelay", "skipOpen", "viewScroll", "portal", "theming", "onItemClick", "onClose", "saveButtonRef"]);
|
|
1165
1280
|
var containerRef = useRef();
|
|
@@ -1225,13 +1340,13 @@ var ControlledMenuFr = function (_a, externalRef) {
|
|
|
1225
1340
|
useEffect(function () {
|
|
1226
1341
|
if (isMenuOpen(state)) {
|
|
1227
1342
|
var thisDocument_1 = (anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.current) ? anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.current.ownerDocument : document;
|
|
1228
|
-
thisDocument_1.addEventListener("mousedown",
|
|
1229
|
-
thisDocument_1.addEventListener("mouseup",
|
|
1343
|
+
thisDocument_1.addEventListener("mousedown", handleScreenEventForSave, true);
|
|
1344
|
+
thisDocument_1.addEventListener("mouseup", handleScreenEventForCancel, true);
|
|
1230
1345
|
thisDocument_1.addEventListener("click", handleScreenEventForCancel, true);
|
|
1231
1346
|
thisDocument_1.addEventListener("dblclick", handleScreenEventForCancel, true);
|
|
1232
1347
|
return function () {
|
|
1233
|
-
thisDocument_1.removeEventListener("mousedown",
|
|
1234
|
-
thisDocument_1.removeEventListener("mouseup",
|
|
1348
|
+
thisDocument_1.removeEventListener("mousedown", handleScreenEventForSave, true);
|
|
1349
|
+
thisDocument_1.removeEventListener("mouseup", handleScreenEventForCancel, true);
|
|
1235
1350
|
thisDocument_1.removeEventListener("click", handleScreenEventForCancel, true);
|
|
1236
1351
|
thisDocument_1.removeEventListener("dblclick", handleScreenEventForCancel, true);
|
|
1237
1352
|
};
|
|
@@ -1502,6 +1617,8 @@ var SubMenuFr = function (_a) {
|
|
|
1502
1617
|
};
|
|
1503
1618
|
var SubMenu = withHovering("SubMenu", SubMenuFr);
|
|
1504
1619
|
|
|
1620
|
+
var RadioGroupContext = createContext({});
|
|
1621
|
+
|
|
1505
1622
|
var MenuItemFr = function (_a) {
|
|
1506
1623
|
var className = _a.className, value = _a.value, href = _a.href, type = _a.type, checked = _a.checked, disabled = _a.disabled, children = _a.children, onClick = _a.onClick, isHovering = _a.isHovering, menuItemRef = _a.menuItemRef, externalRef = _a.externalRef, restProps = __rest(_a, ["className", "value", "href", "type", "checked", "disabled", "children", "onClick", "isHovering", "menuItemRef", "externalRef"]);
|
|
1507
1624
|
var isDisabled = !!disabled;
|
|
@@ -1632,7 +1749,7 @@ var MenuRadioGroupFr = function (_a, externalRef) {
|
|
|
1632
1749
|
};
|
|
1633
1750
|
var MenuRadioGroup = forwardRef(MenuRadioGroupFr);
|
|
1634
1751
|
|
|
1635
|
-
var
|
|
1752
|
+
var GridUpdatingContext = createContext({
|
|
1636
1753
|
checkUpdating: function () {
|
|
1637
1754
|
console.error("Missing UpdatingContext");
|
|
1638
1755
|
return false;
|
|
@@ -1645,7 +1762,7 @@ var UpdatingContext = createContext({
|
|
|
1645
1762
|
}); }
|
|
1646
1763
|
});
|
|
1647
1764
|
|
|
1648
|
-
var
|
|
1765
|
+
var GridUpdatingContextProvider = function (props) {
|
|
1649
1766
|
var updatingBlocks = useRef({});
|
|
1650
1767
|
var updating = useRef({});
|
|
1651
1768
|
var resetUpdating = function () {
|
|
@@ -1677,7 +1794,7 @@ var UpdatingContextProvider = function (props) {
|
|
|
1677
1794
|
var checkUpdating = function (fields, id) {
|
|
1678
1795
|
return castArray(fields).some(function (f) { var _a; return (_a = updating.current[f]) === null || _a === void 0 ? void 0 : _a.includes(id); });
|
|
1679
1796
|
};
|
|
1680
|
-
return (jsx(
|
|
1797
|
+
return (jsx(GridUpdatingContext.Provider, __assign({ value: { modifyUpdating: modifyUpdating, checkUpdating: checkUpdating } }, { children: props.children })));
|
|
1681
1798
|
};
|
|
1682
1799
|
|
|
1683
1800
|
var GridContext = createContext({
|
|
@@ -1756,7 +1873,7 @@ var GridContext = createContext({
|
|
|
1756
1873
|
* Also, make sure the provider is created in a separate component, otherwise it won't be found.
|
|
1757
1874
|
*/
|
|
1758
1875
|
var GridContextProvider = function (props) {
|
|
1759
|
-
var modifyUpdating = useContext(
|
|
1876
|
+
var modifyUpdating = useContext(GridUpdatingContext).modifyUpdating;
|
|
1760
1877
|
var gridApiRef = useRef();
|
|
1761
1878
|
var idsBeforeUpdate = useRef([]);
|
|
1762
1879
|
/**
|
|
@@ -1782,10 +1899,7 @@ var GridContextProvider = function (props) {
|
|
|
1782
1899
|
noApiFn = (function () { });
|
|
1783
1900
|
}
|
|
1784
1901
|
var gridApi = gridApiRef.current;
|
|
1785
|
-
|
|
1786
|
-
return hasApiFn(gridApi);
|
|
1787
|
-
console.error("GridApi not ready");
|
|
1788
|
-
return noApiFn();
|
|
1902
|
+
return gridApi ? hasApiFn(gridApi) : noApiFn();
|
|
1789
1903
|
};
|
|
1790
1904
|
/**
|
|
1791
1905
|
* Set the quick filter value to grid.
|
|
@@ -2025,40 +2139,43 @@ var GridContextProvider = function (props) {
|
|
|
2025
2139
|
} }, { children: props.children })));
|
|
2026
2140
|
};
|
|
2027
2141
|
|
|
2028
|
-
function
|
|
2029
|
-
|
|
2030
|
-
|
|
2031
|
-
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2142
|
+
function toVal(mix) {
|
|
2143
|
+
var k, y, str='';
|
|
2144
|
+
if (mix) {
|
|
2145
|
+
if (typeof mix === 'object') {
|
|
2146
|
+
if (Array.isArray(mix)) {
|
|
2147
|
+
for (k=0; k < mix.length; k++) {
|
|
2148
|
+
if (mix[k] && (y = toVal(mix[k]))) {
|
|
2149
|
+
str && (str += ' ');
|
|
2150
|
+
str += y;
|
|
2151
|
+
}
|
|
2152
|
+
}
|
|
2153
|
+
} else {
|
|
2154
|
+
for (k in mix) {
|
|
2155
|
+
if (mix[k] && (y = toVal(k))) {
|
|
2156
|
+
str && (str += ' ');
|
|
2157
|
+
str += y;
|
|
2158
|
+
}
|
|
2159
|
+
}
|
|
2160
|
+
}
|
|
2161
|
+
} else if (typeof mix !== 'boolean' && !mix.call) {
|
|
2162
|
+
str && (str += ' ');
|
|
2163
|
+
str += mix;
|
|
2164
|
+
}
|
|
2165
|
+
}
|
|
2166
|
+
return str;
|
|
2053
2167
|
}
|
|
2054
2168
|
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
var css_248z$6 = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n ****************************\n * Generic Styles\n ****************************\n*/\nag-grid, ag-grid-angular, ag-grid-ng2, ag-grid-polymer, ag-grid-aurelia {\n display: block;\n}\n\n.ag-hidden {\n display: none !important;\n}\n\n.ag-invisible {\n visibility: hidden !important;\n}\n\n.ag-drag-handle {\n cursor: grab;\n}\n\n.ag-column-drop-wrapper {\n display: flex;\n}\n\n.ag-column-drop-horizontal-half-width {\n display: inline-block;\n width: 50% !important;\n}\n\n.ag-unselectable {\n -moz-user-select: none;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.ag-selectable {\n -moz-user-select: text;\n -webkit-user-select: text;\n -ms-user-select: text;\n user-select: text;\n}\n\n.ag-tab {\n position: relative;\n}\n\n.ag-tab-guard {\n position: absolute;\n width: 0;\n height: 0;\n display: block;\n}\n\n.ag-select-agg-func-popup {\n position: absolute;\n}\n\n.ag-input-wrapper, .ag-picker-field-wrapper {\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n line-height: normal;\n position: relative;\n}\n\n.ag-shake-left-to-right {\n animation-direction: alternate;\n animation-duration: 0.2s;\n animation-iteration-count: infinite;\n animation-name: ag-shake-left-to-right;\n}\n\n@keyframes ag-shake-left-to-right {\n from {\n padding-left: 6px;\n padding-right: 2px;\n }\n to {\n padding-left: 2px;\n padding-right: 6px;\n }\n}\n.ag-root-wrapper {\n cursor: default;\n position: relative;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n.ag-root-wrapper.ag-layout-normal {\n height: 100%;\n}\n\n.ag-watermark {\n position: absolute;\n bottom: 20px;\n right: 25px;\n opacity: 0.5;\n transition: opacity 1s ease-out 3s;\n}\n.ag-watermark::before {\n content: \"\";\n background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+Cjxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDIzNSA0MCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxuczpzZXJpZj0iaHR0cDovL3d3dy5zZXJpZi5jb20vIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjI7Ij4KICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDAuNjM1NzIzLDAsMCwwLjYzNTcyMywtNDkyLjkyMSwtMzIzLjYwOCkiPgogICAgICAgIDxwYXRoIGQ9Ik0xMDk5LjQsNTQ5LjRMMTA5OS40LDUzNi45TDEwNzguMSw1MzYuOUwxMDY1LjYsNTQ5LjRMMTA5OS40LDU0OS40WiIgc3R5bGU9ImZpbGw6cmdiKDI0LDI5LDMxKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICA8cGF0aCBkPSJNMTEyMy40LDUxOC40TDEwOTYuNyw1MTguNEwxMDg0LjEsNTMwLjlMMTEyMy40LDUzMC45TDExMjMuNCw1MTguNFoiIHN0eWxlPSJmaWxsOnJnYigyNCwyOSwzMSk7ZmlsbC1ydWxlOm5vbnplcm87Ii8+CiAgICAgICAgPHBhdGggZD0iTTEwNTMuMiw1NjEuOUwxMDU5LjYsNTU1LjVMMTA4MS4yLDU1NS41TDEwODEuMiw1NjhMMTA1My4yLDU2OEwxMDUzLjIsNTYxLjlaIiBzdHlsZT0iZmlsbDpyZ2IoMjQsMjksMzEpO2ZpbGwtcnVsZTpub256ZXJvOyIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMDU3LjksNTQzLjNMMTA3MS43LDU0My4zTDEwODQuMyw1MzAuOEwxMDU3LjksNTMwLjhMMTA1Ny45LDU0My4zWiIgc3R5bGU9ImZpbGw6cmdiKDI0LDI5LDMxKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICA8cGF0aCBkPSJNMTA0Mi44LDU2MS45TDEwNTMuMiw1NjEuOUwxMDY1LjYsNTQ5LjRMMTA0Mi44LDU0OS40TDEwNDIuOCw1NjEuOVoiIHN0eWxlPSJmaWxsOnJnYigyNCwyOSwzMSk7ZmlsbC1ydWxlOm5vbnplcm87Ii8+CiAgICAgICAgPHBhdGggZD0iTTEwOTYuNyw1MTguNEwxMDkwLjMsNTI0LjhMMTA0OS41LDUyNC44TDEwNDkuNSw1MTIuM0wxMDk2LjcsNTEyLjNMMTA5Ni43LDUxOC40WiIgc3R5bGU9ImZpbGw6cmdiKDI0LDI5LDMxKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICA8cGF0aCBkPSJNODI4LjYsNTU5LjdMODA5LDU1OS43TDgwNS42LDU2OC4xTDc5Nyw1NjguMUw4MTUuMSw1MjUuN0w4MjIuNiw1MjUuN0w4NDAuNyw1NjguMUw4MzIsNTY4LjFMODI4LjYsNTU5LjdaTTgyNS45LDU1M0w4MTguOCw1MzUuN0w4MTEuNyw1NTNMODI1LjksNTUzWiIgc3R5bGU9ImZpbGw6cmdiKDI0LDI5LDMxKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICA8cGF0aCBkPSJNOTYwLjEsNTQxLjNDOTYyLjYsNTM3LjYgOTY4LjksNTM3LjIgOTcxLjUsNTM3LjJMOTcxLjUsNTQ0LjRDOTY4LjMsNTQ0LjQgOTY1LjEsNTQ0LjUgOTYzLjIsNTQ1LjlDOTYxLjMsNTQ3LjMgOTYwLjMsNTQ5LjIgOTYwLjMsNTUxLjVMOTYwLjMsNTY4LjFMOTUyLjUsNTY4LjFMOTUyLjUsNTM3LjJMOTYwLDUzNy4yTDk2MC4xLDU0MS4zWiIgc3R5bGU9ImZpbGw6cmdiKDI0LDI5LDMxKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICA8cmVjdCB4PSI5NzUuOCIgeT0iNTM3LjIiIHdpZHRoPSI3LjgiIGhlaWdodD0iMzAuOSIgc3R5bGU9ImZpbGw6cmdiKDI0LDI5LDMxKTsiLz4KICAgICAgICA8cmVjdCB4PSI5NzUuOCIgeT0iNTIzLjQiIHdpZHRoPSI3LjgiIGhlaWdodD0iOS4yIiBzdHlsZT0iZmlsbDpyZ2IoMjQsMjksMzEpOyIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMDIyLjMsNTIzLjRMMTAyMi4zLDU2OC4xTDEwMTQuOCw1NjguMUwxMDE0LjYsNTYzLjRDMTAxMy41LDU2NSAxMDEyLjEsNTY2LjMgMTAxMC40LDU2Ny4zQzEwMDguNyw1NjguMiAxMDA2LjYsNTY4LjcgMTAwNC4yLDU2OC43QzEwMDIuMSw1NjguNyAxMDAwLjEsNTY4LjMgOTk4LjQsNTY3LjZDOTk2LjYsNTY2LjggOTk1LDU2NS44IDk5My43LDU2NC40Qzk5Mi40LDU2MyA5OTEuMyw1NjEuMyA5OTAuNiw1NTkuNEM5ODkuOCw1NTcuNSA5ODkuNSw1NTUuMyA5ODkuNSw1NTIuOUM5ODkuNSw1NTAuNSA5ODkuOSw1NDguMyA5OTAuNiw1NDYuM0M5OTEuNCw1NDQuMyA5OTIuNCw1NDIuNiA5OTMuNyw1NDEuMkM5OTUsNTM5LjggOTk2LjYsNTM4LjcgOTk4LjQsNTM3LjlDMTAwMC4yLDUzNy4xIDEwMDIuMSw1MzYuNyAxMDA0LjIsNTM2LjdDMTAwNi42LDUzNi43IDEwMDguNiw1MzcuMSAxMDEwLjMsNTM4QzEwMTIsNTM4LjkgMTAxMy40LDU0MC4xIDEwMTQuNSw1NDEuOEwxMDE0LjUsNTIzLjVMMTAyMi4zLDUyMy41TDEwMjIuMyw1MjMuNFpNMTAwNS45LDU2MkMxMDA4LjUsNTYyIDEwMTAuNSw1NjEuMSAxMDEyLjEsNTU5LjRDMTAxMy43LDU1Ny43IDEwMTQuNSw1NTUuNCAxMDE0LjUsNTUyLjZDMTAxNC41LDU0OS44IDEwMTMuNyw1NDcuNiAxMDEyLjEsNTQ1LjhDMTAxMC41LDU0NC4xIDEwMDguNSw1NDMuMiAxMDA1LjksNTQzLjJDMTAwMy40LDU0My4yIDEwMDEuMyw1NDQuMSA5OTkuOCw1NDUuOEM5OTguMiw1NDcuNSA5OTcuNCw1NDkuOCA5OTcuNCw1NTIuNkM5OTcuNCw1NTUuNCA5OTguMiw1NTcuNiA5OTkuOCw1NTkuM0MxMDAxLjQsNTYxLjEgMTAwMy40LDU2MiAxMDA1LjksNTYyIiBzdHlsZT0iZmlsbDpyZ2IoMjQsMjksMzEpO2ZpbGwtcnVsZTpub256ZXJvOyIvPgogICAgICAgIDxwYXRoIGQ9Ik04ODUuOCw1NDQuMkw4NjYuNSw1NDQuMkw4NjYuNSw1NTAuOUw4NzcuNSw1NTAuOUM4NzcuMiw1NTQuMyA4NzUuOSw1NTYuOSA4NzMuNyw1NTlDODcxLjUsNTYxIDg2OC43LDU2MiA4NjUuMSw1NjJDODYzLjEsNTYyIDg2MS4yLDU2MS42IDg1OS42LDU2MC45Qzg1Ny45LDU2MC4yIDg1Ni41LDU1OS4yIDg1NS4zLDU1Ny44Qzg1NC4xLDU1Ni41IDg1My4yLDU1NC45IDg1Mi41LDU1M0M4NTEuOCw1NTEuMSA4NTEuNSw1NDkuMSA4NTEuNSw1NDYuOEM4NTEuNSw1NDQuNSA4NTEuOCw1NDIuNSA4NTIuNSw1NDAuNkM4NTMuMSw1MzguNyA4NTQuMSw1MzcuMiA4NTUuMyw1MzUuOEM4NTYuNSw1MzQuNSA4NTcuOSw1MzMuNSA4NTkuNiw1MzIuN0M4NjEuMyw1MzIgODYzLjEsNTMxLjYgODY1LjIsNTMxLjZDODY5LjQsNTMxLjYgODcyLjYsNTMyLjYgODc0LjgsNTM0LjZMODgwLDUyOS40Qzg3Ni4xLDUyNi40IDg3MS4xLDUyNC44IDg2NS4yLDUyNC44Qzg2MS45LDUyNC44IDg1OC45LDUyNS4zIDg1Ni4yLDUyNi40Qzg1My41LDUyNy41IDg1MS4yLDUyOC45IDg0OS4zLDUzMC44Qzg0Ny40LDUzMi43IDg0NS45LDUzNSA4NDQuOSw1MzcuN0M4NDMuOSw1NDAuNCA4NDMuNCw1NDMuNCA4NDMuNCw1NDYuNkM4NDMuNCw1NDkuOCA4NDMuOSw1NTIuOCA4NDUsNTU1LjVDODQ2LjEsNTU4LjIgODQ3LjUsNTYwLjUgODQ5LjQsNTYyLjRDODUxLjMsNTY0LjMgODUzLjYsNTY1LjggODU2LjMsNTY2LjhDODU5LDU2Ny45IDg2Miw1NjguNCA4NjUuMiw1NjguNEM4NjguNCw1NjguNCA4NzEuMyw1NjcuOSA4NzMuOSw1NjYuOEM4NzYuNSw1NjUuNyA4NzguNyw1NjQuMyA4ODAuNSw1NjIuNEM4ODIuMyw1NjAuNSA4ODMuNyw1NTguMiA4ODQuNyw1NTUuNUM4ODUuNyw1NTIuOCA4ODYuMiw1NDkuOCA4ODYuMiw1NDYuNkw4ODYuMiw1NDUuM0M4ODUuOSw1NDUuMSA4ODUuOCw1NDQuNiA4ODUuOCw1NDQuMiIgc3R5bGU9ImZpbGw6cmdiKDI0LDI5LDMxKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICA8cGF0aCBkPSJNOTQ2LjgsNTQ0LjJMOTI3LjUsNTQ0LjJMOTI3LjUsNTUwLjlMOTM4LjUsNTUwLjlDOTM4LjIsNTU0LjMgOTM2LjksNTU2LjkgOTM0LjcsNTU5QzkzMi41LDU2MSA5MjkuNyw1NjIgOTI2LjEsNTYyQzkyNC4xLDU2MiA5MjIuMiw1NjEuNiA5MjAuNiw1NjAuOUM5MTguOSw1NjAuMiA5MTcuNSw1NTkuMiA5MTYuMyw1NTcuOEM5MTUuMSw1NTYuNSA5MTQuMiw1NTQuOSA5MTMuNSw1NTNDOTEyLjgsNTUxLjEgOTEyLjUsNTQ5LjEgOTEyLjUsNTQ2LjhDOTEyLjUsNTQ0LjUgOTEyLjgsNTQyLjUgOTEzLjUsNTQwLjZDOTE0LjEsNTM4LjcgOTE1LjEsNTM3LjIgOTE2LjMsNTM1LjhDOTE3LjUsNTM0LjUgOTE4LjksNTMzLjUgOTIwLjYsNTMyLjdDOTIyLjMsNTMyIDkyNC4xLDUzMS42IDkyNi4yLDUzMS42QzkzMC40LDUzMS42IDkzMy42LDUzMi42IDkzNS44LDUzNC42TDk0MSw1MjkuNEM5MzcuMSw1MjYuNCA5MzIuMSw1MjQuOCA5MjYuMiw1MjQuOEM5MjIuOSw1MjQuOCA5MTkuOSw1MjUuMyA5MTcuMiw1MjYuNEM5MTQuNSw1MjcuNSA5MTIuMiw1MjguOSA5MTAuMyw1MzAuOEM5MDguNCw1MzIuNyA5MDYuOSw1MzUgOTA1LjksNTM3LjdDOTA0LjksNTQwLjQgOTA0LjQsNTQzLjQgOTA0LjQsNTQ2LjZDOTA0LjQsNTQ5LjggOTA0LjksNTUyLjggOTA2LDU1NS41QzkwNy4xLDU1OC4yIDkwOC41LDU2MC41IDkxMC40LDU2Mi40QzkxMi4zLDU2NC4zIDkxNC42LDU2NS44IDkxNy4zLDU2Ni44QzkyMCw1NjcuOSA5MjMsNTY4LjQgOTI2LjIsNTY4LjRDOTI5LjQsNTY4LjQgOTMyLjMsNTY3LjkgOTM0LjksNTY2LjhDOTM3LjUsNTY1LjcgOTM5LjcsNTY0LjMgOTQxLjUsNTYyLjRDOTQzLjMsNTYwLjUgOTQ0LjcsNTU4LjIgOTQ1LjcsNTU1LjVDOTQ2LjcsNTUyLjggOTQ3LjIsNTQ5LjggOTQ3LjIsNTQ2LjZMOTQ3LjIsNTQ1LjNDOTQ2LjksNTQ1LjEgOTQ2LjgsNTQ0LjYgOTQ2LjgsNTQ0LjIiIHN0eWxlPSJmaWxsOnJnYigyNCwyOSwzMSk7ZmlsbC1ydWxlOm5vbnplcm87Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=);\n background-repeat: no-repeat;\n background-size: 170px 40px;\n display: block;\n height: 40px;\n width: 170px;\n opacity: 0.5;\n}\n\n.ag-watermark-text {\n opacity: 0.5;\n font-weight: bold;\n font-family: Impact, sans-serif;\n font-size: 19px;\n padding-left: 0.7rem;\n}\n\n.ag-root-wrapper-body {\n display: flex;\n flex-direction: row;\n}\n.ag-root-wrapper-body.ag-layout-normal {\n flex: 1 1 auto;\n height: 0;\n min-height: 0;\n}\n\n.ag-root {\n position: relative;\n display: flex;\n flex-direction: column;\n}\n.ag-root.ag-layout-normal, .ag-root.ag-layout-auto-height {\n overflow: hidden;\n flex: 1 1 auto;\n width: 0;\n}\n.ag-root.ag-layout-normal {\n height: 100%;\n}\n\n/**\n ****************************\n * Viewports\n ****************************\n*/\n.ag-header-viewport,\n.ag-floating-top-viewport,\n.ag-body-viewport,\n.ag-center-cols-viewport,\n.ag-floating-bottom-viewport,\n.ag-body-horizontal-scroll-viewport,\n.ag-virtual-list-viewport {\n position: relative;\n height: 100%;\n min-width: 0px;\n overflow: hidden;\n flex: 1 1 auto;\n}\n\n.ag-body-viewport {\n display: flex;\n}\n.ag-body-viewport.ag-layout-normal {\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.ag-center-cols-viewport {\n width: 100%;\n overflow-x: auto;\n}\n\n.ag-body-horizontal-scroll-viewport {\n overflow-x: scroll;\n}\n\n.ag-virtual-list-viewport {\n overflow: auto;\n width: 100%;\n}\n\n/**\n ****************************\n * Containers\n ****************************\n*/\n.ag-header-container,\n.ag-floating-top-container,\n.ag-body-container,\n.ag-pinned-right-cols-container,\n.ag-center-cols-container,\n.ag-pinned-left-cols-container,\n.ag-floating-bottom-container,\n.ag-body-horizontal-scroll-container,\n.ag-full-width-container,\n.ag-floating-bottom-full-width-container,\n.ag-virtual-list-container {\n position: relative;\n}\n\n.ag-header-container, .ag-floating-top-container, .ag-floating-bottom-container {\n height: 100%;\n white-space: nowrap;\n}\n\n.ag-center-cols-container {\n display: block;\n}\n\n.ag-pinned-right-cols-container {\n display: block;\n}\n\n.ag-body-horizontal-scroll-container {\n height: 100%;\n}\n\n.ag-full-width-container,\n.ag-floating-top-full-width-container,\n.ag-floating-bottom-full-width-container {\n position: absolute;\n top: 0px;\n left: 0px;\n pointer-events: none;\n}\n\n.ag-full-width-container {\n width: 100%;\n}\n\n.ag-floating-bottom-full-width-container, .ag-floating-top-full-width-container {\n display: inline-block;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n\n.ag-virtual-list-container {\n overflow: hidden;\n}\n\n/**\n ****************************\n * Scrollers\n ****************************\n*/\n.ag-center-cols-clipper {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n min-height: 100%;\n transform: translate3d(0, 0, 0);\n}\n\n.ag-body-horizontal-scroll {\n min-height: 0;\n min-width: 0;\n width: 100%;\n display: flex;\n position: relative;\n}\n.ag-body-horizontal-scroll.ag-scrollbar-invisible {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n pointer-events: none;\n}\n.ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-scrollbar-scrolling, .ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-scrollbar-active {\n pointer-events: all;\n}\n\n.ag-force-vertical-scroll {\n overflow-y: scroll !important;\n}\n\n.ag-horizontal-left-spacer, .ag-horizontal-right-spacer {\n height: 100%;\n min-width: 0;\n overflow-x: scroll;\n}\n.ag-horizontal-left-spacer.ag-scroller-corner, .ag-horizontal-right-spacer.ag-scroller-corner {\n overflow-x: hidden;\n}\n\n/**\n ****************************\n * Headers\n ****************************\n*/\n.ag-header, .ag-pinned-left-header, .ag-pinned-right-header {\n display: inline-block;\n overflow: hidden;\n position: relative;\n}\n\n.ag-header-cell-sortable {\n cursor: pointer;\n}\n\n.ag-header {\n display: flex;\n width: 100%;\n white-space: nowrap;\n}\n\n.ag-pinned-left-header {\n height: 100%;\n}\n\n.ag-pinned-right-header {\n height: 100%;\n}\n\n.ag-header-row {\n position: absolute;\n overflow: hidden;\n}\n\n.ag-header-cell {\n display: inline-flex;\n align-items: center;\n position: absolute;\n height: 100%;\n overflow: hidden;\n}\n\n.ag-header-cell.ag-header-active .ag-header-cell-menu-button {\n opacity: 1;\n}\n\n.ag-header-cell-menu-button:not(.ag-header-menu-always-show) {\n transition: opacity 0.2s;\n opacity: 0;\n}\n\n.ag-header-group-cell-label, .ag-header-cell-label {\n display: flex;\n flex: 1 1 auto;\n overflow: hidden;\n align-items: center;\n text-overflow: ellipsis;\n align-self: stretch;\n}\n\n.ag-header-cell-text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.ag-right-aligned-header .ag-header-cell-label {\n flex-direction: row-reverse;\n}\n\n.ag-header-group-text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.ag-header-cell-resize {\n position: absolute;\n z-index: 2;\n height: 100%;\n width: 8px;\n top: 0;\n cursor: ew-resize;\n}\n.ag-ltr .ag-header-cell-resize {\n right: -4px;\n}\n.ag-rtl .ag-header-cell-resize {\n left: -4px;\n}\n\n.ag-pinned-left-header .ag-header-cell-resize {\n right: -4px;\n}\n\n.ag-pinned-right-header .ag-header-cell-resize {\n left: -4px;\n}\n\n.ag-header-select-all {\n display: flex;\n}\n\n/**\n ****************************\n * Columns\n ****************************\n*/\n.ag-column-moving .ag-cell {\n transition: left 0.2s;\n}\n.ag-column-moving .ag-header-cell {\n transition: left 0.2s;\n}\n.ag-column-moving .ag-header-group-cell {\n transition: left 0.2s, width 0.2s;\n}\n\n/**\n ****************************\n * Column Panel\n ****************************\n*/\n.ag-column-panel {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n flex: 1 1 auto;\n}\n\n.ag-column-select {\n position: relative;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n flex: 3 1 0px;\n}\n\n.ag-column-select-header {\n position: relative;\n display: flex;\n flex: none;\n}\n\n.ag-column-select-header-icon {\n position: relative;\n}\n\n.ag-column-select-header-filter-wrapper {\n flex: 1 1 auto;\n}\n\n.ag-column-select-header-filter {\n width: 100%;\n}\n\n.ag-column-select-list {\n flex: 1 1 0px;\n overflow: hidden;\n}\n\n.ag-column-drop {\n position: relative;\n display: inline-flex;\n align-items: center;\n overflow: auto;\n width: 100%;\n}\n\n.ag-column-drop-list {\n display: flex;\n align-items: center;\n}\n\n.ag-column-drop-cell {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.ag-column-drop-cell-text {\n overflow: hidden;\n flex: 1 1 auto;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.ag-column-drop-vertical {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n align-items: stretch;\n flex: 1 1 0px;\n}\n\n.ag-column-drop-vertical-title-bar {\n display: flex;\n align-items: center;\n flex: none;\n}\n\n.ag-column-drop-vertical-list {\n position: relative;\n align-items: stretch;\n flex-grow: 1;\n flex-direction: column;\n overflow-x: auto;\n}\n.ag-column-drop-vertical-list > * {\n flex: none;\n}\n\n.ag-column-drop-empty .ag-column-drop-vertical-list {\n overflow: hidden;\n}\n\n.ag-column-drop-vertical-empty-message {\n display: block;\n}\n\n.ag-column-drop.ag-column-drop-horizontal {\n white-space: nowrap;\n overflow: hidden;\n}\n\n.ag-column-drop-cell-button {\n cursor: pointer;\n}\n\n.ag-filter-toolpanel {\n flex: 1 1 0px;\n min-width: 0;\n}\n\n.ag-filter-toolpanel-header {\n position: relative;\n}\n\n.ag-filter-toolpanel-header, .ag-filter-toolpanel-search {\n display: flex;\n align-items: center;\n}\n.ag-filter-toolpanel-header > *, .ag-filter-toolpanel-search > * {\n display: flex;\n align-items: center;\n}\n\n.ag-filter-apply-panel {\n display: flex;\n justify-content: flex-end;\n overflow: hidden;\n}\n\n/**\n ****************************\n * Rows\n ****************************\n*/\n.ag-row-animation .ag-row {\n transition: transform 0.4s, top 0.4s, background-color 0.1s, opacity 0.2s;\n}\n\n.ag-row-animation .ag-row.ag-after-created {\n transition: transform 0.4s, top 0.4s, height 0.4s, background-color 0.1s, opacity 0.2s;\n}\n\n.ag-row-no-animation .ag-row {\n transition: background-color 0.1s;\n}\n\n.ag-row {\n white-space: nowrap;\n width: 100%;\n}\n\n.ag-row-loading {\n display: flex;\n align-items: center;\n}\n\n.ag-row-position-absolute {\n position: absolute;\n}\n\n.ag-row-position-relative {\n position: relative;\n}\n\n.ag-full-width-row {\n overflow: hidden;\n pointer-events: all;\n}\n\n.ag-row-inline-editing {\n z-index: 1;\n}\n\n.ag-row-dragging {\n z-index: 2;\n}\n\n.ag-stub-cell {\n display: flex;\n align-items: center;\n}\n\n/**\n ****************************\n * Cells\n ****************************\n*/\n.ag-cell {\n display: inline-block;\n position: absolute;\n white-space: nowrap;\n height: 100%;\n}\n\n.ag-cell-value {\n flex: 1 1 auto;\n}\n\n.ag-cell-value, .ag-group-value {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ag-cell-wrap-text {\n white-space: normal;\n word-break: break-all;\n}\n\n.ag-cell-wrapper {\n display: flex;\n align-items: center;\n}\n.ag-cell-wrapper.ag-row-group {\n align-items: flex-start;\n}\n\n.ag-sparkline-wrapper {\n position: absolute;\n height: 100%;\n width: 100%;\n left: 0;\n top: 0;\n}\n\n.ag-full-width-row .ag-cell-wrapper.ag-row-group {\n height: 100%;\n align-items: center;\n}\n\n.ag-cell-inline-editing {\n z-index: 1;\n}\n.ag-cell-inline-editing .ag-cell-wrapper,\n.ag-cell-inline-editing .ag-cell-edit-wrapper,\n.ag-cell-inline-editing .ag-cell-editor,\n.ag-cell-inline-editing .ag-cell-editor .ag-wrapper,\n.ag-cell-inline-editing .ag-cell-editor input {\n height: 100%;\n width: 100%;\n line-height: normal;\n}\n\n.ag-cell .ag-icon {\n display: inline-block;\n vertical-align: middle;\n}\n\n/**\n ****************************\n * Filters\n ****************************\n*/\n.ag-set-filter-item {\n display: flex;\n align-items: center;\n height: 100%;\n}\n\n.ag-set-filter-item-value {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.ag-set-filter-item-checkbox {\n display: flex;\n}\n\n.ag-filter-body-wrapper {\n display: flex;\n flex-direction: column;\n}\n\n.ag-filter-filter {\n flex: 1 1 0px;\n}\n\n.ag-filter-condition {\n display: flex;\n justify-content: center;\n}\n\n/**\n ****************************\n * Floating Filter\n ****************************\n*/\n.ag-floating-filter-body {\n position: relative;\n display: flex;\n flex: 1 1 auto;\n height: 100%;\n}\n\n.ag-floating-filter-full-body {\n display: flex;\n flex: 1 1 auto;\n height: 100%;\n width: 100%;\n align-items: center;\n overflow: hidden;\n}\n\n.ag-floating-filter-full-body > div {\n flex: 1 1 auto;\n}\n\n.ag-floating-filter-input {\n align-items: center;\n display: flex;\n width: 100%;\n}\n.ag-floating-filter-input > * {\n flex: 1 1 auto;\n}\n\n.ag-floating-filter-button {\n display: flex;\n flex: none;\n}\n\n/**\n ****************************\n * Drag & Drop\n ****************************\n*/\n.ag-dnd-ghost {\n position: absolute;\n display: inline-flex;\n align-items: center;\n cursor: move;\n white-space: nowrap;\n z-index: 9999;\n}\n\n/**\n ****************************\n * Overlay\n ****************************\n*/\n.ag-overlay {\n height: 100%;\n left: 0;\n pointer-events: none;\n position: absolute;\n top: 0;\n width: 100%;\n}\n\n.ag-overlay-panel {\n display: flex;\n height: 100%;\n width: 100%;\n}\n\n.ag-overlay-wrapper {\n display: flex;\n flex: none;\n width: 100%;\n height: 100%;\n align-items: center;\n justify-content: center;\n text-align: center;\n}\n\n.ag-overlay-loading-wrapper {\n pointer-events: all;\n}\n\n/**\n ****************************\n * Popup\n ****************************\n*/\n.ag-popup-child {\n z-index: 5;\n top: 0;\n}\n\n.ag-popup-editor {\n position: absolute;\n user-select: none;\n z-index: 1;\n}\n\n.ag-large-text-input {\n display: block;\n}\n\n/**\n ****************************\n * Virtual Lists\n ****************************\n*/\n.ag-virtual-list-item {\n position: absolute;\n width: 100%;\n}\n\n/**\n ****************************\n * Floating Top and Bottom\n ****************************\n*/\n.ag-floating-top {\n overflow: hidden;\n white-space: nowrap;\n width: 100%;\n position: relative;\n display: flex;\n}\n\n.ag-pinned-left-floating-top {\n display: inline-block;\n overflow: hidden;\n position: relative;\n min-width: 0px;\n}\n\n.ag-pinned-right-floating-top {\n display: inline-block;\n overflow: hidden;\n position: relative;\n min-width: 0px;\n}\n\n.ag-floating-bottom {\n overflow: hidden;\n white-space: nowrap;\n width: 100%;\n position: relative;\n display: flex;\n}\n\n.ag-pinned-left-floating-bottom {\n display: inline-block;\n overflow: hidden;\n position: relative;\n min-width: 0px;\n}\n\n.ag-pinned-right-floating-bottom {\n display: inline-block;\n overflow: hidden;\n position: relative;\n min-width: 0px;\n}\n\n/**\n ****************************\n * Dialog\n ****************************\n*/\n.ag-dialog, .ag-panel {\n display: flex;\n flex-direction: column;\n position: relative;\n overflow: hidden;\n}\n\n.ag-panel-title-bar {\n display: flex;\n flex: none;\n align-items: center;\n cursor: default;\n}\n\n.ag-panel-title-bar-title {\n flex: 1 1 auto;\n}\n\n.ag-panel-title-bar-buttons {\n display: flex;\n}\n\n.ag-panel-title-bar-button {\n cursor: pointer;\n}\n\n.ag-panel-content-wrapper {\n display: flex;\n flex: 1 1 auto;\n position: relative;\n overflow: hidden;\n}\n\n.ag-dialog {\n position: absolute;\n}\n\n.ag-resizer {\n position: absolute;\n pointer-events: none;\n user-select: none;\n z-index: 1;\n}\n.ag-resizer.ag-resizer-topLeft {\n top: 0;\n left: 0;\n height: 5px;\n width: 5px;\n cursor: nwse-resize;\n}\n.ag-resizer.ag-resizer-top {\n top: 0;\n left: 5px;\n right: 5px;\n height: 5px;\n cursor: ns-resize;\n}\n.ag-resizer.ag-resizer-topRight {\n top: 0;\n right: 0;\n height: 5px;\n width: 5px;\n cursor: nesw-resize;\n}\n.ag-resizer.ag-resizer-right {\n top: 5px;\n right: 0;\n bottom: 5px;\n width: 5px;\n cursor: ew-resize;\n}\n.ag-resizer.ag-resizer-bottomRight {\n bottom: 0;\n right: 0;\n height: 5px;\n width: 5px;\n cursor: nwse-resize;\n}\n.ag-resizer.ag-resizer-bottom {\n bottom: 0;\n left: 5px;\n right: 5px;\n height: 5px;\n cursor: ns-resize;\n}\n.ag-resizer.ag-resizer-bottomLeft {\n bottom: 0;\n left: 0;\n height: 5px;\n width: 5px;\n cursor: nesw-resize;\n}\n.ag-resizer.ag-resizer-left {\n left: 0;\n top: 5px;\n bottom: 5px;\n width: 5px;\n cursor: ew-resize;\n}\n\n/**\n ****************************\n * Tooltip\n ****************************\n*/\n.ag-tooltip {\n position: absolute;\n pointer-events: none;\n z-index: 99999;\n}\n\n.ag-tooltip-custom {\n position: absolute;\n pointer-events: none;\n z-index: 99999;\n}\n\n/**\n ****************************\n * Animations\n ****************************\n*/\n.ag-value-slide-out {\n margin-right: 5px;\n opacity: 1;\n transition: opacity 3s, margin-right 3s;\n transition-timing-function: linear;\n}\n\n.ag-value-slide-out-end {\n margin-right: 10px;\n opacity: 0;\n}\n\n.ag-opacity-zero {\n opacity: 0 !important;\n}\n\n/**\n ****************************\n * Menu\n ****************************\n*/\n.ag-menu {\n max-height: 100%;\n overflow-y: auto;\n position: absolute;\n user-select: none;\n}\n\n.ag-menu-column-select-wrapper {\n height: 265px;\n overflow: auto;\n}\n.ag-menu-column-select-wrapper .ag-column-select {\n height: 100%;\n}\n\n.ag-menu-list {\n display: table;\n width: 100%;\n}\n\n.ag-menu-option, .ag-menu-separator {\n display: table-row;\n}\n\n.ag-menu-option-part, .ag-menu-separator-part {\n display: table-cell;\n vertical-align: middle;\n}\n\n.ag-menu-option-text {\n white-space: nowrap;\n}\n\n.ag-compact-menu-option {\n width: 100%;\n display: flex;\n flex-wrap: nowrap;\n}\n\n.ag-compact-menu-option-text {\n white-space: nowrap;\n flex: 1 1 auto;\n}\n\n/**\n ****************************\n * Rich Select\n ****************************\n*/\n.ag-rich-select {\n cursor: default;\n outline: none;\n}\n\n.ag-rich-select-value {\n display: flex;\n align-items: center;\n}\n\n.ag-rich-select-value-icon {\n flex: 1 1 auto;\n order: 1;\n}\n.ag-ltr .ag-rich-select-value-icon {\n text-align: right;\n}\n.ag-rtl .ag-rich-select-value-icon {\n text-align: left;\n}\n\n.ag-rich-select-list {\n position: relative;\n}\n\n.ag-rich-select-virtual-list-item {\n display: flex;\n}\n\n.ag-rich-select-row {\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n white-space: nowrap;\n}\n\n/**\n ****************************\n * Pagination\n ****************************\n*/\n.ag-paging-panel {\n align-items: center;\n display: flex;\n justify-content: flex-end;\n}\n\n.ag-paging-page-summary-panel {\n display: flex;\n align-items: center;\n}\n\n.ag-paging-button {\n position: relative;\n}\n\n.ag-disabled .ag-paging-page-summary-panel {\n pointer-events: none;\n}\n\n/**\n ****************************\n * Tool Panel\n ****************************\n*/\n.ag-tool-panel-wrapper {\n display: flex;\n overflow-y: auto;\n overflow-x: hidden;\n cursor: default;\n user-select: none;\n}\n\n.ag-column-select-column,\n.ag-column-select-column-group,\n.ag-select-agg-func-item {\n position: relative;\n align-items: center;\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n text-overflow: ellipsis;\n white-space: nowrap;\n height: 100%;\n}\n.ag-column-select-column > *,\n.ag-column-select-column-group > *,\n.ag-select-agg-func-item > * {\n flex: none;\n}\n\n.ag-column-select-checkbox {\n display: flex;\n}\n\n.ag-tool-panel-horizontal-resize {\n cursor: ew-resize;\n height: 100%;\n position: absolute;\n top: 0;\n width: 5px;\n z-index: 1;\n}\n\n.ag-ltr .ag-side-bar-left .ag-tool-panel-horizontal-resize {\n right: -3px;\n}\n.ag-rtl .ag-side-bar-left .ag-tool-panel-horizontal-resize {\n left: -3px;\n}\n\n.ag-ltr .ag-side-bar-right .ag-tool-panel-horizontal-resize {\n left: -3px;\n}\n.ag-rtl .ag-side-bar-right .ag-tool-panel-horizontal-resize {\n right: -3px;\n}\n\n.ag-details-row {\n width: 100%;\n}\n\n.ag-details-row-fixed-height {\n height: 100%;\n}\n\n.ag-details-grid {\n width: 100%;\n}\n\n.ag-details-grid-fixed-height {\n height: 100%;\n}\n\n.ag-header-group-cell {\n display: flex;\n align-items: center;\n height: 100%;\n position: absolute;\n}\n\n.ag-cell-label-container {\n display: flex;\n justify-content: space-between;\n flex-direction: row-reverse;\n align-items: center;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n\n.ag-right-aligned-header .ag-cell-label-container {\n flex-direction: row;\n}\n\n/**\n ****************************\n * Side Bar\n ****************************\n*/\n.ag-side-bar {\n display: flex;\n flex-direction: row-reverse;\n}\n\n.ag-side-bar-left {\n order: -1;\n flex-direction: row;\n}\n\n.ag-side-button-button {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex-wrap: nowrap;\n white-space: nowrap;\n outline: none;\n cursor: pointer;\n}\n\n.ag-side-button-label {\n writing-mode: vertical-lr;\n}\n\n/**\n ****************************\n * Status Bar\n ****************************\n*/\n.ag-status-bar {\n display: flex;\n justify-content: space-between;\n overflow: hidden;\n}\n\n.ag-status-panel {\n display: inline-flex;\n}\n\n.ag-status-name-value {\n white-space: nowrap;\n}\n\n.ag-status-bar-left {\n display: inline-flex;\n}\n\n.ag-status-bar-center {\n display: inline-flex;\n}\n\n.ag-status-bar-right {\n display: inline-flex;\n}\n\n/**\n ****************************\n * Widgets\n ****************************\n*/\n.ag-icon {\n display: block;\n speak: none;\n}\n\n.ag-group {\n position: relative;\n width: 100%;\n}\n\n.ag-group-title-bar {\n display: flex;\n align-items: center;\n}\n\n.ag-group-title {\n display: block;\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.ag-group-title-bar .ag-group-title {\n cursor: default;\n}\n\n.ag-group-toolbar {\n display: flex;\n align-items: center;\n}\n\n.ag-group-container {\n display: flex;\n}\n\n.ag-disabled .ag-group-container {\n pointer-events: none;\n}\n\n.ag-group-container-horizontal {\n flex-direction: row;\n flex-wrap: wrap;\n}\n\n.ag-group-container-vertical {\n flex-direction: column;\n}\n\n.ag-column-group-icons {\n display: block;\n}\n.ag-column-group-icons > * {\n cursor: pointer;\n}\n\n.ag-group-item-alignment-stretch .ag-group-item {\n align-items: stretch;\n}\n\n.ag-group-item-alignment-start .ag-group-item {\n align-items: flex-start;\n}\n\n.ag-group-item-alignment-end .ag-group-item {\n align-items: flex-end;\n}\n\n.ag-toggle-button-icon {\n transition: right 0.3s;\n position: absolute;\n top: -1px;\n}\n\n.ag-input-field, .ag-select {\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.ag-input-field-input {\n flex: 1 1 auto;\n width: 100%;\n min-width: 0;\n}\n\n.ag-floating-filter-input .ag-input-field-input[type=date] {\n width: 1px;\n}\n\n.ag-range-field {\n display: flex;\n align-items: center;\n}\n\n.ag-angle-select {\n display: flex;\n align-items: center;\n}\n\n.ag-angle-select-wrapper {\n display: flex;\n}\n\n.ag-angle-select-parent-circle {\n display: block;\n position: relative;\n}\n\n.ag-angle-select-child-circle {\n position: absolute;\n}\n\n.ag-slider-wrapper {\n display: flex;\n}\n.ag-slider-wrapper .ag-input-field {\n flex: 1 1 auto;\n}\n\n.ag-picker-field-display {\n flex: 1 1 auto;\n}\n\n.ag-picker-field {\n display: flex;\n align-items: center;\n}\n\n.ag-picker-field-icon {\n display: flex;\n border: 0;\n padding: 0;\n margin: 0;\n cursor: pointer;\n}\n\n.ag-picker-field-wrapper {\n overflow: hidden;\n}\n\n.ag-label-align-right .ag-label {\n order: 1;\n}\n.ag-label-align-right > * {\n flex: none;\n}\n\n.ag-label-align-top {\n flex-direction: column;\n align-items: flex-start;\n}\n.ag-label-align-top > * {\n align-self: stretch;\n}\n\n.ag-color-panel {\n width: 100%;\n display: flex;\n flex-direction: column;\n text-align: center;\n}\n\n.ag-spectrum-color {\n flex: 1 1 auto;\n position: relative;\n overflow: hidden;\n cursor: default;\n}\n\n.ag-spectrum-fill {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n}\n\n.ag-spectrum-val {\n cursor: pointer;\n}\n\n.ag-spectrum-dragger {\n position: absolute;\n pointer-events: none;\n cursor: pointer;\n}\n\n.ag-spectrum-hue {\n cursor: default;\n background: linear-gradient(to left, #ff0000 3%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);\n}\n\n.ag-spectrum-alpha {\n cursor: default;\n}\n\n.ag-spectrum-hue-background {\n width: 100%;\n height: 100%;\n}\n\n.ag-spectrum-alpha-background {\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgb(0, 0, 0));\n width: 100%;\n height: 100%;\n}\n\n.ag-spectrum-tool {\n cursor: pointer;\n}\n\n.ag-spectrum-slider {\n position: absolute;\n pointer-events: none;\n}\n\n.ag-recent-colors {\n display: flex;\n}\n\n.ag-recent-color {\n cursor: pointer;\n}\n\n.ag-ltr .ag-column-select-indent-1 {\n padding-left: 20px;\n}\n.ag-rtl .ag-column-select-indent-1 {\n padding-right: 20px;\n}\n\n.ag-ltr .ag-row-group-indent-1 {\n padding-left: 20px;\n}\n.ag-rtl .ag-row-group-indent-1 {\n padding-right: 20px;\n}\n\n.ag-ltr .ag-column-select-indent-2 {\n padding-left: 40px;\n}\n.ag-rtl .ag-column-select-indent-2 {\n padding-right: 40px;\n}\n\n.ag-ltr .ag-row-group-indent-2 {\n padding-left: 40px;\n}\n.ag-rtl .ag-row-group-indent-2 {\n padding-right: 40px;\n}\n\n.ag-ltr .ag-column-select-indent-3 {\n padding-left: 60px;\n}\n.ag-rtl .ag-column-select-indent-3 {\n padding-right: 60px;\n}\n\n.ag-ltr .ag-row-group-indent-3 {\n padding-left: 60px;\n}\n.ag-rtl .ag-row-group-indent-3 {\n padding-right: 60px;\n}\n\n.ag-ltr .ag-column-select-indent-4 {\n padding-left: 80px;\n}\n.ag-rtl .ag-column-select-indent-4 {\n padding-right: 80px;\n}\n\n.ag-ltr .ag-row-group-indent-4 {\n padding-left: 80px;\n}\n.ag-rtl .ag-row-group-indent-4 {\n padding-right: 80px;\n}\n\n.ag-ltr .ag-column-select-indent-5 {\n padding-left: 100px;\n}\n.ag-rtl .ag-column-select-indent-5 {\n padding-right: 100px;\n}\n\n.ag-ltr .ag-row-group-indent-5 {\n padding-left: 100px;\n}\n.ag-rtl .ag-row-group-indent-5 {\n padding-right: 100px;\n}\n\n.ag-ltr .ag-column-select-indent-6 {\n padding-left: 120px;\n}\n.ag-rtl .ag-column-select-indent-6 {\n padding-right: 120px;\n}\n\n.ag-ltr .ag-row-group-indent-6 {\n padding-left: 120px;\n}\n.ag-rtl .ag-row-group-indent-6 {\n padding-right: 120px;\n}\n\n.ag-ltr .ag-column-select-indent-7 {\n padding-left: 140px;\n}\n.ag-rtl .ag-column-select-indent-7 {\n padding-right: 140px;\n}\n\n.ag-ltr .ag-row-group-indent-7 {\n padding-left: 140px;\n}\n.ag-rtl .ag-row-group-indent-7 {\n padding-right: 140px;\n}\n\n.ag-ltr .ag-column-select-indent-8 {\n padding-left: 160px;\n}\n.ag-rtl .ag-column-select-indent-8 {\n padding-right: 160px;\n}\n\n.ag-ltr .ag-row-group-indent-8 {\n padding-left: 160px;\n}\n.ag-rtl .ag-row-group-indent-8 {\n padding-right: 160px;\n}\n\n.ag-ltr .ag-column-select-indent-9 {\n padding-left: 180px;\n}\n.ag-rtl .ag-column-select-indent-9 {\n padding-right: 180px;\n}\n\n.ag-ltr .ag-row-group-indent-9 {\n padding-left: 180px;\n}\n.ag-rtl .ag-row-group-indent-9 {\n padding-right: 180px;\n}\n\n.ag-ltr .ag-column-select-indent-10 {\n padding-left: 200px;\n}\n.ag-rtl .ag-column-select-indent-10 {\n padding-right: 200px;\n}\n\n.ag-ltr .ag-row-group-indent-10 {\n padding-left: 200px;\n}\n.ag-rtl .ag-row-group-indent-10 {\n padding-right: 200px;\n}\n\n.ag-ltr .ag-column-select-indent-11 {\n padding-left: 220px;\n}\n.ag-rtl .ag-column-select-indent-11 {\n padding-right: 220px;\n}\n\n.ag-ltr .ag-row-group-indent-11 {\n padding-left: 220px;\n}\n.ag-rtl .ag-row-group-indent-11 {\n padding-right: 220px;\n}\n\n.ag-ltr .ag-column-select-indent-12 {\n padding-left: 240px;\n}\n.ag-rtl .ag-column-select-indent-12 {\n padding-right: 240px;\n}\n\n.ag-ltr .ag-row-group-indent-12 {\n padding-left: 240px;\n}\n.ag-rtl .ag-row-group-indent-12 {\n padding-right: 240px;\n}\n\n.ag-ltr .ag-column-select-indent-13 {\n padding-left: 260px;\n}\n.ag-rtl .ag-column-select-indent-13 {\n padding-right: 260px;\n}\n\n.ag-ltr .ag-row-group-indent-13 {\n padding-left: 260px;\n}\n.ag-rtl .ag-row-group-indent-13 {\n padding-right: 260px;\n}\n\n.ag-ltr .ag-column-select-indent-14 {\n padding-left: 280px;\n}\n.ag-rtl .ag-column-select-indent-14 {\n padding-right: 280px;\n}\n\n.ag-ltr .ag-row-group-indent-14 {\n padding-left: 280px;\n}\n.ag-rtl .ag-row-group-indent-14 {\n padding-right: 280px;\n}\n\n.ag-ltr .ag-column-select-indent-15 {\n padding-left: 300px;\n}\n.ag-rtl .ag-column-select-indent-15 {\n padding-right: 300px;\n}\n\n.ag-ltr .ag-row-group-indent-15 {\n padding-left: 300px;\n}\n.ag-rtl .ag-row-group-indent-15 {\n padding-right: 300px;\n}\n\n.ag-ltr .ag-column-select-indent-16 {\n padding-left: 320px;\n}\n.ag-rtl .ag-column-select-indent-16 {\n padding-right: 320px;\n}\n\n.ag-ltr .ag-row-group-indent-16 {\n padding-left: 320px;\n}\n.ag-rtl .ag-row-group-indent-16 {\n padding-right: 320px;\n}\n\n.ag-ltr .ag-column-select-indent-17 {\n padding-left: 340px;\n}\n.ag-rtl .ag-column-select-indent-17 {\n padding-right: 340px;\n}\n\n.ag-ltr .ag-row-group-indent-17 {\n padding-left: 340px;\n}\n.ag-rtl .ag-row-group-indent-17 {\n padding-right: 340px;\n}\n\n.ag-ltr .ag-column-select-indent-18 {\n padding-left: 360px;\n}\n.ag-rtl .ag-column-select-indent-18 {\n padding-right: 360px;\n}\n\n.ag-ltr .ag-row-group-indent-18 {\n padding-left: 360px;\n}\n.ag-rtl .ag-row-group-indent-18 {\n padding-right: 360px;\n}\n\n.ag-ltr .ag-column-select-indent-19 {\n padding-left: 380px;\n}\n.ag-rtl .ag-column-select-indent-19 {\n padding-right: 380px;\n}\n\n.ag-ltr .ag-row-group-indent-19 {\n padding-left: 380px;\n}\n.ag-rtl .ag-row-group-indent-19 {\n padding-right: 380px;\n}\n\n.ag-ltr .ag-column-select-indent-20 {\n padding-left: 400px;\n}\n.ag-rtl .ag-column-select-indent-20 {\n padding-right: 400px;\n}\n\n.ag-ltr .ag-row-group-indent-20 {\n padding-left: 400px;\n}\n.ag-rtl .ag-row-group-indent-20 {\n padding-right: 400px;\n}\n\n.ag-ltr .ag-column-select-indent-21 {\n padding-left: 420px;\n}\n.ag-rtl .ag-column-select-indent-21 {\n padding-right: 420px;\n}\n\n.ag-ltr .ag-row-group-indent-21 {\n padding-left: 420px;\n}\n.ag-rtl .ag-row-group-indent-21 {\n padding-right: 420px;\n}\n\n.ag-ltr .ag-column-select-indent-22 {\n padding-left: 440px;\n}\n.ag-rtl .ag-column-select-indent-22 {\n padding-right: 440px;\n}\n\n.ag-ltr .ag-row-group-indent-22 {\n padding-left: 440px;\n}\n.ag-rtl .ag-row-group-indent-22 {\n padding-right: 440px;\n}\n\n.ag-ltr .ag-column-select-indent-23 {\n padding-left: 460px;\n}\n.ag-rtl .ag-column-select-indent-23 {\n padding-right: 460px;\n}\n\n.ag-ltr .ag-row-group-indent-23 {\n padding-left: 460px;\n}\n.ag-rtl .ag-row-group-indent-23 {\n padding-right: 460px;\n}\n\n.ag-ltr .ag-column-select-indent-24 {\n padding-left: 480px;\n}\n.ag-rtl .ag-column-select-indent-24 {\n padding-right: 480px;\n}\n\n.ag-ltr .ag-row-group-indent-24 {\n padding-left: 480px;\n}\n.ag-rtl .ag-row-group-indent-24 {\n padding-right: 480px;\n}\n\n.ag-ltr .ag-column-select-indent-25 {\n padding-left: 500px;\n}\n.ag-rtl .ag-column-select-indent-25 {\n padding-right: 500px;\n}\n\n.ag-ltr .ag-row-group-indent-25 {\n padding-left: 500px;\n}\n.ag-rtl .ag-row-group-indent-25 {\n padding-right: 500px;\n}\n\n.ag-ltr .ag-column-select-indent-26 {\n padding-left: 520px;\n}\n.ag-rtl .ag-column-select-indent-26 {\n padding-right: 520px;\n}\n\n.ag-ltr .ag-row-group-indent-26 {\n padding-left: 520px;\n}\n.ag-rtl .ag-row-group-indent-26 {\n padding-right: 520px;\n}\n\n.ag-ltr .ag-column-select-indent-27 {\n padding-left: 540px;\n}\n.ag-rtl .ag-column-select-indent-27 {\n padding-right: 540px;\n}\n\n.ag-ltr .ag-row-group-indent-27 {\n padding-left: 540px;\n}\n.ag-rtl .ag-row-group-indent-27 {\n padding-right: 540px;\n}\n\n.ag-ltr .ag-column-select-indent-28 {\n padding-left: 560px;\n}\n.ag-rtl .ag-column-select-indent-28 {\n padding-right: 560px;\n}\n\n.ag-ltr .ag-row-group-indent-28 {\n padding-left: 560px;\n}\n.ag-rtl .ag-row-group-indent-28 {\n padding-right: 560px;\n}\n\n.ag-ltr .ag-column-select-indent-29 {\n padding-left: 580px;\n}\n.ag-rtl .ag-column-select-indent-29 {\n padding-right: 580px;\n}\n\n.ag-ltr .ag-row-group-indent-29 {\n padding-left: 580px;\n}\n.ag-rtl .ag-row-group-indent-29 {\n padding-right: 580px;\n}\n\n.ag-ltr .ag-column-select-indent-30 {\n padding-left: 600px;\n}\n.ag-rtl .ag-column-select-indent-30 {\n padding-right: 600px;\n}\n\n.ag-ltr .ag-row-group-indent-30 {\n padding-left: 600px;\n}\n.ag-rtl .ag-row-group-indent-30 {\n padding-right: 600px;\n}\n\n.ag-ltr .ag-column-select-indent-31 {\n padding-left: 620px;\n}\n.ag-rtl .ag-column-select-indent-31 {\n padding-right: 620px;\n}\n\n.ag-ltr .ag-row-group-indent-31 {\n padding-left: 620px;\n}\n.ag-rtl .ag-row-group-indent-31 {\n padding-right: 620px;\n}\n\n.ag-ltr .ag-column-select-indent-32 {\n padding-left: 640px;\n}\n.ag-rtl .ag-column-select-indent-32 {\n padding-right: 640px;\n}\n\n.ag-ltr .ag-row-group-indent-32 {\n padding-left: 640px;\n}\n.ag-rtl .ag-row-group-indent-32 {\n padding-right: 640px;\n}\n\n.ag-ltr .ag-column-select-indent-33 {\n padding-left: 660px;\n}\n.ag-rtl .ag-column-select-indent-33 {\n padding-right: 660px;\n}\n\n.ag-ltr .ag-row-group-indent-33 {\n padding-left: 660px;\n}\n.ag-rtl .ag-row-group-indent-33 {\n padding-right: 660px;\n}\n\n.ag-ltr .ag-column-select-indent-34 {\n padding-left: 680px;\n}\n.ag-rtl .ag-column-select-indent-34 {\n padding-right: 680px;\n}\n\n.ag-ltr .ag-row-group-indent-34 {\n padding-left: 680px;\n}\n.ag-rtl .ag-row-group-indent-34 {\n padding-right: 680px;\n}\n\n.ag-ltr .ag-column-select-indent-35 {\n padding-left: 700px;\n}\n.ag-rtl .ag-column-select-indent-35 {\n padding-right: 700px;\n}\n\n.ag-ltr .ag-row-group-indent-35 {\n padding-left: 700px;\n}\n.ag-rtl .ag-row-group-indent-35 {\n padding-right: 700px;\n}\n\n.ag-ltr .ag-column-select-indent-36 {\n padding-left: 720px;\n}\n.ag-rtl .ag-column-select-indent-36 {\n padding-right: 720px;\n}\n\n.ag-ltr .ag-row-group-indent-36 {\n padding-left: 720px;\n}\n.ag-rtl .ag-row-group-indent-36 {\n padding-right: 720px;\n}\n\n.ag-ltr .ag-column-select-indent-37 {\n padding-left: 740px;\n}\n.ag-rtl .ag-column-select-indent-37 {\n padding-right: 740px;\n}\n\n.ag-ltr .ag-row-group-indent-37 {\n padding-left: 740px;\n}\n.ag-rtl .ag-row-group-indent-37 {\n padding-right: 740px;\n}\n\n.ag-ltr .ag-column-select-indent-38 {\n padding-left: 760px;\n}\n.ag-rtl .ag-column-select-indent-38 {\n padding-right: 760px;\n}\n\n.ag-ltr .ag-row-group-indent-38 {\n padding-left: 760px;\n}\n.ag-rtl .ag-row-group-indent-38 {\n padding-right: 760px;\n}\n\n.ag-ltr .ag-column-select-indent-39 {\n padding-left: 780px;\n}\n.ag-rtl .ag-column-select-indent-39 {\n padding-right: 780px;\n}\n\n.ag-ltr .ag-row-group-indent-39 {\n padding-left: 780px;\n}\n.ag-rtl .ag-row-group-indent-39 {\n padding-right: 780px;\n}\n\n.ag-ltr .ag-column-select-indent-40 {\n padding-left: 800px;\n}\n.ag-rtl .ag-column-select-indent-40 {\n padding-right: 800px;\n}\n\n.ag-ltr .ag-row-group-indent-40 {\n padding-left: 800px;\n}\n.ag-rtl .ag-row-group-indent-40 {\n padding-right: 800px;\n}\n\n.ag-ltr .ag-column-select-indent-41 {\n padding-left: 820px;\n}\n.ag-rtl .ag-column-select-indent-41 {\n padding-right: 820px;\n}\n\n.ag-ltr .ag-row-group-indent-41 {\n padding-left: 820px;\n}\n.ag-rtl .ag-row-group-indent-41 {\n padding-right: 820px;\n}\n\n.ag-ltr .ag-column-select-indent-42 {\n padding-left: 840px;\n}\n.ag-rtl .ag-column-select-indent-42 {\n padding-right: 840px;\n}\n\n.ag-ltr .ag-row-group-indent-42 {\n padding-left: 840px;\n}\n.ag-rtl .ag-row-group-indent-42 {\n padding-right: 840px;\n}\n\n.ag-ltr .ag-column-select-indent-43 {\n padding-left: 860px;\n}\n.ag-rtl .ag-column-select-indent-43 {\n padding-right: 860px;\n}\n\n.ag-ltr .ag-row-group-indent-43 {\n padding-left: 860px;\n}\n.ag-rtl .ag-row-group-indent-43 {\n padding-right: 860px;\n}\n\n.ag-ltr .ag-column-select-indent-44 {\n padding-left: 880px;\n}\n.ag-rtl .ag-column-select-indent-44 {\n padding-right: 880px;\n}\n\n.ag-ltr .ag-row-group-indent-44 {\n padding-left: 880px;\n}\n.ag-rtl .ag-row-group-indent-44 {\n padding-right: 880px;\n}\n\n.ag-ltr .ag-column-select-indent-45 {\n padding-left: 900px;\n}\n.ag-rtl .ag-column-select-indent-45 {\n padding-right: 900px;\n}\n\n.ag-ltr .ag-row-group-indent-45 {\n padding-left: 900px;\n}\n.ag-rtl .ag-row-group-indent-45 {\n padding-right: 900px;\n}\n\n.ag-ltr .ag-column-select-indent-46 {\n padding-left: 920px;\n}\n.ag-rtl .ag-column-select-indent-46 {\n padding-right: 920px;\n}\n\n.ag-ltr .ag-row-group-indent-46 {\n padding-left: 920px;\n}\n.ag-rtl .ag-row-group-indent-46 {\n padding-right: 920px;\n}\n\n.ag-ltr .ag-column-select-indent-47 {\n padding-left: 940px;\n}\n.ag-rtl .ag-column-select-indent-47 {\n padding-right: 940px;\n}\n\n.ag-ltr .ag-row-group-indent-47 {\n padding-left: 940px;\n}\n.ag-rtl .ag-row-group-indent-47 {\n padding-right: 940px;\n}\n\n.ag-ltr .ag-column-select-indent-48 {\n padding-left: 960px;\n}\n.ag-rtl .ag-column-select-indent-48 {\n padding-right: 960px;\n}\n\n.ag-ltr .ag-row-group-indent-48 {\n padding-left: 960px;\n}\n.ag-rtl .ag-row-group-indent-48 {\n padding-right: 960px;\n}\n\n.ag-ltr .ag-column-select-indent-49 {\n padding-left: 980px;\n}\n.ag-rtl .ag-column-select-indent-49 {\n padding-right: 980px;\n}\n\n.ag-ltr .ag-row-group-indent-49 {\n padding-left: 980px;\n}\n.ag-rtl .ag-row-group-indent-49 {\n padding-right: 980px;\n}\n\n.ag-ltr .ag-column-select-indent-50 {\n padding-left: 1000px;\n}\n.ag-rtl .ag-column-select-indent-50 {\n padding-right: 1000px;\n}\n\n.ag-ltr .ag-row-group-indent-50 {\n padding-left: 1000px;\n}\n.ag-rtl .ag-row-group-indent-50 {\n padding-right: 1000px;\n}\n\n.ag-ltr .ag-column-select-indent-51 {\n padding-left: 1020px;\n}\n.ag-rtl .ag-column-select-indent-51 {\n padding-right: 1020px;\n}\n\n.ag-ltr .ag-row-group-indent-51 {\n padding-left: 1020px;\n}\n.ag-rtl .ag-row-group-indent-51 {\n padding-right: 1020px;\n}\n\n.ag-ltr .ag-column-select-indent-52 {\n padding-left: 1040px;\n}\n.ag-rtl .ag-column-select-indent-52 {\n padding-right: 1040px;\n}\n\n.ag-ltr .ag-row-group-indent-52 {\n padding-left: 1040px;\n}\n.ag-rtl .ag-row-group-indent-52 {\n padding-right: 1040px;\n}\n\n.ag-ltr .ag-column-select-indent-53 {\n padding-left: 1060px;\n}\n.ag-rtl .ag-column-select-indent-53 {\n padding-right: 1060px;\n}\n\n.ag-ltr .ag-row-group-indent-53 {\n padding-left: 1060px;\n}\n.ag-rtl .ag-row-group-indent-53 {\n padding-right: 1060px;\n}\n\n.ag-ltr .ag-column-select-indent-54 {\n padding-left: 1080px;\n}\n.ag-rtl .ag-column-select-indent-54 {\n padding-right: 1080px;\n}\n\n.ag-ltr .ag-row-group-indent-54 {\n padding-left: 1080px;\n}\n.ag-rtl .ag-row-group-indent-54 {\n padding-right: 1080px;\n}\n\n.ag-ltr .ag-column-select-indent-55 {\n padding-left: 1100px;\n}\n.ag-rtl .ag-column-select-indent-55 {\n padding-right: 1100px;\n}\n\n.ag-ltr .ag-row-group-indent-55 {\n padding-left: 1100px;\n}\n.ag-rtl .ag-row-group-indent-55 {\n padding-right: 1100px;\n}\n\n.ag-ltr .ag-column-select-indent-56 {\n padding-left: 1120px;\n}\n.ag-rtl .ag-column-select-indent-56 {\n padding-right: 1120px;\n}\n\n.ag-ltr .ag-row-group-indent-56 {\n padding-left: 1120px;\n}\n.ag-rtl .ag-row-group-indent-56 {\n padding-right: 1120px;\n}\n\n.ag-ltr .ag-column-select-indent-57 {\n padding-left: 1140px;\n}\n.ag-rtl .ag-column-select-indent-57 {\n padding-right: 1140px;\n}\n\n.ag-ltr .ag-row-group-indent-57 {\n padding-left: 1140px;\n}\n.ag-rtl .ag-row-group-indent-57 {\n padding-right: 1140px;\n}\n\n.ag-ltr .ag-column-select-indent-58 {\n padding-left: 1160px;\n}\n.ag-rtl .ag-column-select-indent-58 {\n padding-right: 1160px;\n}\n\n.ag-ltr .ag-row-group-indent-58 {\n padding-left: 1160px;\n}\n.ag-rtl .ag-row-group-indent-58 {\n padding-right: 1160px;\n}\n\n.ag-ltr .ag-column-select-indent-59 {\n padding-left: 1180px;\n}\n.ag-rtl .ag-column-select-indent-59 {\n padding-right: 1180px;\n}\n\n.ag-ltr .ag-row-group-indent-59 {\n padding-left: 1180px;\n}\n.ag-rtl .ag-row-group-indent-59 {\n padding-right: 1180px;\n}\n\n.ag-ltr .ag-column-select-indent-60 {\n padding-left: 1200px;\n}\n.ag-rtl .ag-column-select-indent-60 {\n padding-right: 1200px;\n}\n\n.ag-ltr .ag-row-group-indent-60 {\n padding-left: 1200px;\n}\n.ag-rtl .ag-row-group-indent-60 {\n padding-right: 1200px;\n}\n\n.ag-ltr .ag-column-select-indent-61 {\n padding-left: 1220px;\n}\n.ag-rtl .ag-column-select-indent-61 {\n padding-right: 1220px;\n}\n\n.ag-ltr .ag-row-group-indent-61 {\n padding-left: 1220px;\n}\n.ag-rtl .ag-row-group-indent-61 {\n padding-right: 1220px;\n}\n\n.ag-ltr .ag-column-select-indent-62 {\n padding-left: 1240px;\n}\n.ag-rtl .ag-column-select-indent-62 {\n padding-right: 1240px;\n}\n\n.ag-ltr .ag-row-group-indent-62 {\n padding-left: 1240px;\n}\n.ag-rtl .ag-row-group-indent-62 {\n padding-right: 1240px;\n}\n\n.ag-ltr .ag-column-select-indent-63 {\n padding-left: 1260px;\n}\n.ag-rtl .ag-column-select-indent-63 {\n padding-right: 1260px;\n}\n\n.ag-ltr .ag-row-group-indent-63 {\n padding-left: 1260px;\n}\n.ag-rtl .ag-row-group-indent-63 {\n padding-right: 1260px;\n}\n\n.ag-ltr .ag-column-select-indent-64 {\n padding-left: 1280px;\n}\n.ag-rtl .ag-column-select-indent-64 {\n padding-right: 1280px;\n}\n\n.ag-ltr .ag-row-group-indent-64 {\n padding-left: 1280px;\n}\n.ag-rtl .ag-row-group-indent-64 {\n padding-right: 1280px;\n}\n\n.ag-ltr .ag-column-select-indent-65 {\n padding-left: 1300px;\n}\n.ag-rtl .ag-column-select-indent-65 {\n padding-right: 1300px;\n}\n\n.ag-ltr .ag-row-group-indent-65 {\n padding-left: 1300px;\n}\n.ag-rtl .ag-row-group-indent-65 {\n padding-right: 1300px;\n}\n\n.ag-ltr .ag-column-select-indent-66 {\n padding-left: 1320px;\n}\n.ag-rtl .ag-column-select-indent-66 {\n padding-right: 1320px;\n}\n\n.ag-ltr .ag-row-group-indent-66 {\n padding-left: 1320px;\n}\n.ag-rtl .ag-row-group-indent-66 {\n padding-right: 1320px;\n}\n\n.ag-ltr .ag-column-select-indent-67 {\n padding-left: 1340px;\n}\n.ag-rtl .ag-column-select-indent-67 {\n padding-right: 1340px;\n}\n\n.ag-ltr .ag-row-group-indent-67 {\n padding-left: 1340px;\n}\n.ag-rtl .ag-row-group-indent-67 {\n padding-right: 1340px;\n}\n\n.ag-ltr .ag-column-select-indent-68 {\n padding-left: 1360px;\n}\n.ag-rtl .ag-column-select-indent-68 {\n padding-right: 1360px;\n}\n\n.ag-ltr .ag-row-group-indent-68 {\n padding-left: 1360px;\n}\n.ag-rtl .ag-row-group-indent-68 {\n padding-right: 1360px;\n}\n\n.ag-ltr .ag-column-select-indent-69 {\n padding-left: 1380px;\n}\n.ag-rtl .ag-column-select-indent-69 {\n padding-right: 1380px;\n}\n\n.ag-ltr .ag-row-group-indent-69 {\n padding-left: 1380px;\n}\n.ag-rtl .ag-row-group-indent-69 {\n padding-right: 1380px;\n}\n\n.ag-ltr .ag-column-select-indent-70 {\n padding-left: 1400px;\n}\n.ag-rtl .ag-column-select-indent-70 {\n padding-right: 1400px;\n}\n\n.ag-ltr .ag-row-group-indent-70 {\n padding-left: 1400px;\n}\n.ag-rtl .ag-row-group-indent-70 {\n padding-right: 1400px;\n}\n\n.ag-ltr .ag-column-select-indent-71 {\n padding-left: 1420px;\n}\n.ag-rtl .ag-column-select-indent-71 {\n padding-right: 1420px;\n}\n\n.ag-ltr .ag-row-group-indent-71 {\n padding-left: 1420px;\n}\n.ag-rtl .ag-row-group-indent-71 {\n padding-right: 1420px;\n}\n\n.ag-ltr .ag-column-select-indent-72 {\n padding-left: 1440px;\n}\n.ag-rtl .ag-column-select-indent-72 {\n padding-right: 1440px;\n}\n\n.ag-ltr .ag-row-group-indent-72 {\n padding-left: 1440px;\n}\n.ag-rtl .ag-row-group-indent-72 {\n padding-right: 1440px;\n}\n\n.ag-ltr .ag-column-select-indent-73 {\n padding-left: 1460px;\n}\n.ag-rtl .ag-column-select-indent-73 {\n padding-right: 1460px;\n}\n\n.ag-ltr .ag-row-group-indent-73 {\n padding-left: 1460px;\n}\n.ag-rtl .ag-row-group-indent-73 {\n padding-right: 1460px;\n}\n\n.ag-ltr .ag-column-select-indent-74 {\n padding-left: 1480px;\n}\n.ag-rtl .ag-column-select-indent-74 {\n padding-right: 1480px;\n}\n\n.ag-ltr .ag-row-group-indent-74 {\n padding-left: 1480px;\n}\n.ag-rtl .ag-row-group-indent-74 {\n padding-right: 1480px;\n}\n\n.ag-ltr .ag-column-select-indent-75 {\n padding-left: 1500px;\n}\n.ag-rtl .ag-column-select-indent-75 {\n padding-right: 1500px;\n}\n\n.ag-ltr .ag-row-group-indent-75 {\n padding-left: 1500px;\n}\n.ag-rtl .ag-row-group-indent-75 {\n padding-right: 1500px;\n}\n\n.ag-ltr .ag-column-select-indent-76 {\n padding-left: 1520px;\n}\n.ag-rtl .ag-column-select-indent-76 {\n padding-right: 1520px;\n}\n\n.ag-ltr .ag-row-group-indent-76 {\n padding-left: 1520px;\n}\n.ag-rtl .ag-row-group-indent-76 {\n padding-right: 1520px;\n}\n\n.ag-ltr .ag-column-select-indent-77 {\n padding-left: 1540px;\n}\n.ag-rtl .ag-column-select-indent-77 {\n padding-right: 1540px;\n}\n\n.ag-ltr .ag-row-group-indent-77 {\n padding-left: 1540px;\n}\n.ag-rtl .ag-row-group-indent-77 {\n padding-right: 1540px;\n}\n\n.ag-ltr .ag-column-select-indent-78 {\n padding-left: 1560px;\n}\n.ag-rtl .ag-column-select-indent-78 {\n padding-right: 1560px;\n}\n\n.ag-ltr .ag-row-group-indent-78 {\n padding-left: 1560px;\n}\n.ag-rtl .ag-row-group-indent-78 {\n padding-right: 1560px;\n}\n\n.ag-ltr .ag-column-select-indent-79 {\n padding-left: 1580px;\n}\n.ag-rtl .ag-column-select-indent-79 {\n padding-right: 1580px;\n}\n\n.ag-ltr .ag-row-group-indent-79 {\n padding-left: 1580px;\n}\n.ag-rtl .ag-row-group-indent-79 {\n padding-right: 1580px;\n}\n\n.ag-ltr .ag-column-select-indent-80 {\n padding-left: 1600px;\n}\n.ag-rtl .ag-column-select-indent-80 {\n padding-right: 1600px;\n}\n\n.ag-ltr .ag-row-group-indent-80 {\n padding-left: 1600px;\n}\n.ag-rtl .ag-row-group-indent-80 {\n padding-right: 1600px;\n}\n\n.ag-ltr .ag-column-select-indent-81 {\n padding-left: 1620px;\n}\n.ag-rtl .ag-column-select-indent-81 {\n padding-right: 1620px;\n}\n\n.ag-ltr .ag-row-group-indent-81 {\n padding-left: 1620px;\n}\n.ag-rtl .ag-row-group-indent-81 {\n padding-right: 1620px;\n}\n\n.ag-ltr .ag-column-select-indent-82 {\n padding-left: 1640px;\n}\n.ag-rtl .ag-column-select-indent-82 {\n padding-right: 1640px;\n}\n\n.ag-ltr .ag-row-group-indent-82 {\n padding-left: 1640px;\n}\n.ag-rtl .ag-row-group-indent-82 {\n padding-right: 1640px;\n}\n\n.ag-ltr .ag-column-select-indent-83 {\n padding-left: 1660px;\n}\n.ag-rtl .ag-column-select-indent-83 {\n padding-right: 1660px;\n}\n\n.ag-ltr .ag-row-group-indent-83 {\n padding-left: 1660px;\n}\n.ag-rtl .ag-row-group-indent-83 {\n padding-right: 1660px;\n}\n\n.ag-ltr .ag-column-select-indent-84 {\n padding-left: 1680px;\n}\n.ag-rtl .ag-column-select-indent-84 {\n padding-right: 1680px;\n}\n\n.ag-ltr .ag-row-group-indent-84 {\n padding-left: 1680px;\n}\n.ag-rtl .ag-row-group-indent-84 {\n padding-right: 1680px;\n}\n\n.ag-ltr .ag-column-select-indent-85 {\n padding-left: 1700px;\n}\n.ag-rtl .ag-column-select-indent-85 {\n padding-right: 1700px;\n}\n\n.ag-ltr .ag-row-group-indent-85 {\n padding-left: 1700px;\n}\n.ag-rtl .ag-row-group-indent-85 {\n padding-right: 1700px;\n}\n\n.ag-ltr .ag-column-select-indent-86 {\n padding-left: 1720px;\n}\n.ag-rtl .ag-column-select-indent-86 {\n padding-right: 1720px;\n}\n\n.ag-ltr .ag-row-group-indent-86 {\n padding-left: 1720px;\n}\n.ag-rtl .ag-row-group-indent-86 {\n padding-right: 1720px;\n}\n\n.ag-ltr .ag-column-select-indent-87 {\n padding-left: 1740px;\n}\n.ag-rtl .ag-column-select-indent-87 {\n padding-right: 1740px;\n}\n\n.ag-ltr .ag-row-group-indent-87 {\n padding-left: 1740px;\n}\n.ag-rtl .ag-row-group-indent-87 {\n padding-right: 1740px;\n}\n\n.ag-ltr .ag-column-select-indent-88 {\n padding-left: 1760px;\n}\n.ag-rtl .ag-column-select-indent-88 {\n padding-right: 1760px;\n}\n\n.ag-ltr .ag-row-group-indent-88 {\n padding-left: 1760px;\n}\n.ag-rtl .ag-row-group-indent-88 {\n padding-right: 1760px;\n}\n\n.ag-ltr .ag-column-select-indent-89 {\n padding-left: 1780px;\n}\n.ag-rtl .ag-column-select-indent-89 {\n padding-right: 1780px;\n}\n\n.ag-ltr .ag-row-group-indent-89 {\n padding-left: 1780px;\n}\n.ag-rtl .ag-row-group-indent-89 {\n padding-right: 1780px;\n}\n\n.ag-ltr .ag-column-select-indent-90 {\n padding-left: 1800px;\n}\n.ag-rtl .ag-column-select-indent-90 {\n padding-right: 1800px;\n}\n\n.ag-ltr .ag-row-group-indent-90 {\n padding-left: 1800px;\n}\n.ag-rtl .ag-row-group-indent-90 {\n padding-right: 1800px;\n}\n\n.ag-ltr .ag-column-select-indent-91 {\n padding-left: 1820px;\n}\n.ag-rtl .ag-column-select-indent-91 {\n padding-right: 1820px;\n}\n\n.ag-ltr .ag-row-group-indent-91 {\n padding-left: 1820px;\n}\n.ag-rtl .ag-row-group-indent-91 {\n padding-right: 1820px;\n}\n\n.ag-ltr .ag-column-select-indent-92 {\n padding-left: 1840px;\n}\n.ag-rtl .ag-column-select-indent-92 {\n padding-right: 1840px;\n}\n\n.ag-ltr .ag-row-group-indent-92 {\n padding-left: 1840px;\n}\n.ag-rtl .ag-row-group-indent-92 {\n padding-right: 1840px;\n}\n\n.ag-ltr .ag-column-select-indent-93 {\n padding-left: 1860px;\n}\n.ag-rtl .ag-column-select-indent-93 {\n padding-right: 1860px;\n}\n\n.ag-ltr .ag-row-group-indent-93 {\n padding-left: 1860px;\n}\n.ag-rtl .ag-row-group-indent-93 {\n padding-right: 1860px;\n}\n\n.ag-ltr .ag-column-select-indent-94 {\n padding-left: 1880px;\n}\n.ag-rtl .ag-column-select-indent-94 {\n padding-right: 1880px;\n}\n\n.ag-ltr .ag-row-group-indent-94 {\n padding-left: 1880px;\n}\n.ag-rtl .ag-row-group-indent-94 {\n padding-right: 1880px;\n}\n\n.ag-ltr .ag-column-select-indent-95 {\n padding-left: 1900px;\n}\n.ag-rtl .ag-column-select-indent-95 {\n padding-right: 1900px;\n}\n\n.ag-ltr .ag-row-group-indent-95 {\n padding-left: 1900px;\n}\n.ag-rtl .ag-row-group-indent-95 {\n padding-right: 1900px;\n}\n\n.ag-ltr .ag-column-select-indent-96 {\n padding-left: 1920px;\n}\n.ag-rtl .ag-column-select-indent-96 {\n padding-right: 1920px;\n}\n\n.ag-ltr .ag-row-group-indent-96 {\n padding-left: 1920px;\n}\n.ag-rtl .ag-row-group-indent-96 {\n padding-right: 1920px;\n}\n\n.ag-ltr .ag-column-select-indent-97 {\n padding-left: 1940px;\n}\n.ag-rtl .ag-column-select-indent-97 {\n padding-right: 1940px;\n}\n\n.ag-ltr .ag-row-group-indent-97 {\n padding-left: 1940px;\n}\n.ag-rtl .ag-row-group-indent-97 {\n padding-right: 1940px;\n}\n\n.ag-ltr .ag-column-select-indent-98 {\n padding-left: 1960px;\n}\n.ag-rtl .ag-column-select-indent-98 {\n padding-right: 1960px;\n}\n\n.ag-ltr .ag-row-group-indent-98 {\n padding-left: 1960px;\n}\n.ag-rtl .ag-row-group-indent-98 {\n padding-right: 1960px;\n}\n\n.ag-ltr .ag-column-select-indent-99 {\n padding-left: 1980px;\n}\n.ag-rtl .ag-column-select-indent-99 {\n padding-right: 1980px;\n}\n\n.ag-ltr .ag-row-group-indent-99 {\n padding-left: 1980px;\n}\n.ag-rtl .ag-row-group-indent-99 {\n padding-right: 1980px;\n}\n\n.ag-ltr {\n direction: ltr;\n}\n.ag-ltr .ag-body, .ag-ltr .ag-floating-top, .ag-ltr .ag-floating-bottom, .ag-ltr .ag-header, .ag-ltr .ag-body-viewport, .ag-ltr .ag-body-horizontal-scroll {\n flex-direction: row;\n}\n\n.ag-rtl {\n direction: rtl;\n}\n.ag-rtl .ag-body, .ag-rtl .ag-floating-top, .ag-rtl .ag-floating-bottom, .ag-rtl .ag-header, .ag-rtl .ag-body-viewport, .ag-rtl .ag-body-horizontal-scroll {\n flex-direction: row-reverse;\n}\n.ag-rtl .ag-icon-contracted,\n.ag-rtl .ag-icon-tree-closed {\n display: block;\n transform: rotate(180deg);\n}\n\n.ag-layout-print.ag-body-viewport {\n flex: none;\n}\n.ag-layout-print.ag-root-wrapper {\n display: inline-flex;\n}\n.ag-layout-print .ag-center-cols-clipper {\n min-width: 100%;\n}\n.ag-layout-print .ag-body-horizontal-scroll {\n display: none;\n}\n.ag-layout-print.ag-force-vertical-scroll {\n overflow-y: visible !important;\n}\n\n@media print {\n .ag-root-wrapper.ag-layout-print,\n.ag-root-wrapper.ag-layout-print .ag-root-wrapper-body,\n.ag-root-wrapper.ag-layout-print .ag-root,\n.ag-root-wrapper.ag-layout-print .ag-body-viewport,\n.ag-root-wrapper.ag-layout-print .ag-center-cols-container,\n.ag-root-wrapper.ag-layout-print .ag-center-cols-viewport,\n.ag-root-wrapper.ag-layout-print .ag-center-cols-clipper,\n.ag-root-wrapper.ag-layout-print .ag-body-horizontal-scroll-viewport,\n.ag-root-wrapper.ag-layout-print .ag-virtual-list-viewport {\n height: auto !important;\n overflow: hidden !important;\n display: block !important;\n }\n .ag-root-wrapper.ag-layout-print .ag-row {\n page-break-inside: avoid;\n }\n}\n.ag-body .ag-body-viewport {\n -webkit-overflow-scrolling: touch;\n}\n\n.ag-chart {\n position: relative;\n display: flex;\n overflow: hidden;\n width: 100%;\n height: 100%;\n}\n\n.ag-chart-components-wrapper {\n position: relative;\n display: flex;\n flex: 1 1 auto;\n overflow: hidden;\n}\n\n.ag-chart-title-edit {\n position: absolute;\n display: none;\n top: 0;\n left: 0;\n text-align: center;\n}\n\n.ag-chart-title-edit.currently-editing {\n display: inline-block;\n}\n\n.ag-chart-canvas-wrapper {\n position: relative;\n flex: 1 1 auto;\n overflow: hidden;\n}\n\n.ag-charts-canvas {\n display: block;\n}\n\n.ag-chart-menu {\n position: absolute;\n top: 10px;\n width: 24px;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n.ag-ltr .ag-chart-menu {\n right: 20px;\n}\n.ag-rtl .ag-chart-menu {\n left: 20px;\n}\n\n.ag-chart-docked-container {\n position: relative;\n width: 0;\n min-width: 0;\n transition: min-width 0.4s;\n}\n\n.ag-chart-menu-hidden ~ .ag-chart-docked-container {\n max-width: 0;\n overflow: hidden;\n}\n\n.ag-chart-tabbed-menu {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.ag-chart-tabbed-menu-header {\n flex: none;\n user-select: none;\n cursor: default;\n}\n\n.ag-chart-tabbed-menu-body {\n display: flex;\n flex: 1 1 auto;\n align-items: stretch;\n overflow: hidden;\n}\n\n.ag-chart-tab {\n width: 100%;\n overflow: hidden;\n overflow-y: auto;\n}\n\n.ag-chart-settings {\n overflow-x: hidden;\n}\n\n.ag-chart-settings-wrapper {\n position: relative;\n flex-direction: column;\n width: 100%;\n height: 100%;\n display: flex;\n overflow: hidden;\n}\n\n.ag-chart-settings-nav-bar {\n display: flex;\n align-items: center;\n width: 100%;\n height: 30px;\n padding: 0 10px;\n user-select: none;\n}\n\n.ag-chart-settings-card-selector {\n display: flex;\n align-items: center;\n justify-content: space-around;\n flex: 1 1 auto;\n height: 100%;\n padding: 0 10px;\n}\n\n.ag-chart-settings-card-item {\n cursor: pointer;\n width: 10px;\n height: 10px;\n background-color: #000;\n position: relative;\n}\n.ag-chart-settings-card-item.ag-not-selected {\n opacity: 0.2;\n}\n.ag-chart-settings-card-item::before {\n content: \" \";\n display: block;\n position: absolute;\n background-color: transparent;\n left: 50%;\n top: 50%;\n margin-left: -10px;\n margin-top: -10px;\n width: 20px;\n height: 20px;\n}\n\n.ag-chart-settings-prev,\n.ag-chart-settings-next {\n position: relative;\n flex: none;\n}\n\n.ag-chart-settings-prev-button,\n.ag-chart-settings-next-button {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n cursor: pointer;\n opacity: 0;\n}\n\n.ag-chart-settings-mini-charts-container {\n position: relative;\n flex: 1 1 auto;\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.ag-chart-settings-mini-wrapper {\n position: absolute;\n top: 0;\n left: 0;\n display: flex;\n flex-direction: column;\n width: 100%;\n min-height: 100%;\n overflow: hidden;\n}\n.ag-chart-settings-mini-wrapper.ag-animating {\n transition: left 0.3s;\n transition-timing-function: ease-in-out;\n}\n\n.ag-chart-mini-thumbnail {\n cursor: pointer;\n}\n\n.ag-chart-mini-thumbnail-canvas {\n display: block;\n}\n\n.ag-chart-data-wrapper,\n.ag-chart-format-wrapper {\n display: flex;\n flex-direction: column;\n position: relative;\n user-select: none;\n}\n\n.ag-chart-data-wrapper {\n height: 100%;\n overflow-y: auto;\n}\n\n.ag-chart-data-section,\n.ag-chart-format-section {\n display: flex;\n margin: 0;\n}\n\n.ag-chart-empty-text {\n display: flex;\n top: 0;\n width: 100%;\n height: 100%;\n align-items: center;\n justify-content: center;\n}\n\n.ag-chart .ag-chart-menu {\n opacity: 0;\n pointer-events: none;\n}\n\n.ag-chart-menu-hidden:hover .ag-chart-menu {\n opacity: 1;\n pointer-events: all;\n}\n\n.ag-charts-font-size-color {\n display: flex;\n align-self: stretch;\n justify-content: space-between;\n}\n\n.ag-charts-data-group-item {\n position: relative;\n}\n\n.ag-date-time-list-page-title-bar {\n display: flex;\n}\n\n.ag-date-time-list-page-column-labels-row,\n.ag-date-time-list-page-entries-row {\n display: flex;\n}\n\n.ag-date-time-list-page-column-label,\n.ag-date-time-list-page-entry {\n flex-basis: 0;\n flex-grow: 1;\n}\n\n.ag-date-time-list-page-entry {\n cursor: pointer;\n}\n\n.ag-theme-alpine {\n -webkit-font-smoothing: antialiased;\n color: #2a292c;\n color: var(--ag-foreground-color, #2a292c);\n font-family: \"Open Sans\", system-ui, sans-serif;\n font-size: 0.875rem !important;\n line-height: normal;\n}\n@font-face {\n font-family: \"agGridAlpine\";\n src: url(\"data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAABWoAAsAAAAAJ9AAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAAmYAAAR2ZcBn9U9TLzIAAANwAAAAQQAAAFZWUVMIY21hcAAAA7QAAAIcAAAFnIMq5ipnbHlmAAAF0AAAC80AABVszjC1ZWhlYWQAABGgAAAANAAAADZ2zsSBaGhlYQAAEdQAAAAeAAAAJAfSBDFobXR4AAAR9AAAABcAAAE0xzj/+2xvY2EAABIMAAAAdQAAAJwYJx3EbWF4cAAAEoQAAAAfAAAAIAFjAKpuYW1lAAASpAAAATUAAAJG5xgJvXBvc3QAABPcAAAByQAAAqgIzxhUeJx9lEtyElEUhv+mm0gCJilFjRhjovEVXzF2uhuaRx4QEDJwYFkOnMSyyrKKcsQ6XIAryNAVuAAHrsAFOHDo2PK7h0ZMBuEWze3z+M9//3Mu8iTNaVNN5doHhy81PzwafVRFgcYf5/9/7w0/vD9SYfKGL7DfgrygpHnd1GuN9M2b90beca7sV/xX/jv/s//F/yWfqFU9JrqobVakmGeoRFXVlCqnGWwR+7oaRPs8m2a9oKvKm6ernpaoGZHTM8QN9XVPi+B0DKetPaISlsNs8xyw7mvhjIgUlDy+be1gDVBkBU3qKmtWz2HZhkmL/Ab+i9Tcp3ZIVgdfB3Z5LE32LV2Ck8sITNWe3ugpfndSh1LNchK+kQ7sPbS3NTSZRDXBqVHLYW/BYGKvgReTsQl6lajdTNEN3SK7Bk4btJZl1y17jcgYbgl9CeycMVxLWmf/Qm/pRREW45y2aTpW4CHsp/aO4aV6dMLaAmtA7BM4TK2uPw+oFdKVGPQlfEN90rG+6rt+6Kd+64/O6TJ1YjvDHuj7Z2pTQMHT0V28zX9Wd9YZZuB01MmIWU5eM3UifL1MQ1etyMmcOgn7EGti8XPwdPFd2KT0I6BGaHVdp/OsHd4jos9n09lglUzpHlOwYBPct1moMKNbum6I4zlM0XoZRLcb86uYbg3wrlnfnLruhi3am7sLrt8VurPCb8gJq6bTId5VLA5parlhWSnsHcYz/Cmsp9Ucq2VYhbqLz81Y325Hl0rrnGfMJNYduxl9m6/bMKhmN7VMDx37VtaxKxYXWZbHP0GY3fDEtHMz3YGbm4/BX0ArchMAAHicY2BkmsY4gYGVgYGpimkPAwNDD4RmfMBgyMgEFGVgZWbACgLSXFMYDjDofjRifgHkRjG/BZnCwAiSAwDkfwr5AAAAeJy11AdSG0EQheFfgSxwIOecEWCCySCiEHAJnCkcKJw5h8/me/QJ8Bt1+wC4ylv1qXdGq92ZWr0GaoCczEkesvVkdEYmq9lMdT5HY3U+z2+NC9ST1XmRK264s6X7e80WueSaW8tUR3+PjK4u0McEzzU6YoUDdjlmjXNWKbHBPnucsMUmp7pmh3XKnLHNIRUu9Pu0irzWWEudntuglTTpjs208JgntNJGOx100kU3PfTqWf0MMMgQw4wwyhjjevokU0wzw6x2U2SeBRb1/TOWWNYia3nYcfTA69OxcrB7vHa+WtKO9062NrXZnfXy2fZh5eIfbvYfjkL6yP2K0Tnpjbq028uwIi/CgbwMu/IqHMvrsCZvQrrn27Aq70JJrsKGXId9eR/25EM4kY9hSz6FTbkJp3Ib0j/vc9iRL2FdvoayfAtn8j1sy49wKD9DRe6CXqBlXMqLZR2p5lzKl+VdypjVuJQ9q3WkWudItd6RaoMj1UaXMmlNjlQLLr1Ja3ak2uJI9ZFTdrCgFGFBecKeOiULa3XKGNbmlDas3Sl3WIdTArFOpyxiXU6pxLqd8on1OCUV63XKLNbnlF6s3ynH2IBTorFBp+xiQ04px4ad8o6NOCUfG3XqAdiYUzfAxp36Ajbh1CGwSadegU05dQ1s2ql/YDMu9UubdSknNufUXbCiU5/B5p06DrbgqutfdOpCWFA/wgLLfwB3H6YceJztWHtwVNUZv9852b179/2+WUI22b3ZXNjshib7uEkWdkMSSMAQcVwwQDFEikONtqK0KBAR/2hNHavjDPgH6Uw7bcPUmUZaph0VKk6VEkeldqTtDOof1dKSqmlxGLGBvfQ7Z3dDAqnaPzttsnvej+98z9+3Agj4R6ZoXLAIAoR8sugLpUKaGiJTunV6Gi7qd2F5kMZz09PZ7PQ0W264evnqZfoR/Ugw4C6H4BOqBMEjyqKqGTRWRrCgMmt6VFZ+8PTTsZdfJlksYk/rg/39/e18JMYHyGOzOv0b+vv1T2evR7LYpbSDdggS3iNrroRL1iQ43DaZP5/Rj+pH4WJmUjfA5ckMrNGPCoSvP0APCF6hFreHRaNo9Mp+2d+spbV0Uq1X6z2iioQidUgfXNwxOKC1tmoDg++VGwNtBw+2HTjAS3pgzhRvFF4tz2LJrivx0Y4tkfMy4VLUhE9hNfxyePj48DDsGh6mtsJpZOgufUQo0Xmenhc8QoBxP2wHn8sbhESoOQspV7IRJNBkkOmDVz4JJoL4oWZeF6b0v/VNwFgfPY/9OZNXPgF/3ykYu3nu+fL851MU9g2nP144Q2I3nlw4c+/sMyk/0xVyReY7F8+k5uvOLQ5+/fpzi7yjD9CvoD6ZhEpBkECUJaBaDRiZ6Hxef3M6xcRGPtAH2rbqBchOTJw6YrEEHP6mFU1+RwB+DT/I4IT+MiybmMjabMGq+kC4qSkciCwMsuMr+B1x1POifByCEAm5QgbFlfAorgy4FBeNF54gO/TVXFbHhqdJYlgfYZIqSqukh+QInmFAGgmqD+yCVv0UmgWN66f0iZJ9FN/zMD2BrwkI1ZzzRh9qbUjmDa8fGZVGPtUrHqSBHNGtSlMeLg7rKUYyvIalAnoKXqMvNoULz5PuW5uUwvNsjnQrTYVtpLtkE0/SJ5muSYDsEiVQUV3gImzo1MdgY6d+WB/rhI1YkPScLmzEJbjdKAhXr9Cv0Q8FJ2pItdAjPCx8D6lF81ANswilSgrlLBtlfwY8Ea+dKOHGilQySxLNQfB5jeF6tREU3IAq0JzWstDsl712HMHhVDLdHKQJJr9GUBtJMgu4i5Q2FffUgF8OEjTFtNaEm4Pg9TnATsKNsITidj+9R7zzXoPep2qaStKqtvKo3gEjBKjBeZboA5I76HXKXqfZYKsMeeQ6j9lmqjB5HfJCq1zrNxKT3fwzd9hf7bI5JbtJNDmsLr/F7fRWudw1fnely2S2iRUGR9BttBjcbovNbV7aECWUmCwmA0kR0eywGkmCgtltIn81ffMRA2lRr/yWEzPy5pXv0Ad+H5BchSf/aK0JekzuqtqIL5yq9y5U3ZLDbPN5k821Df7KSrPD7ggs9jssEbfFbgm4rLLb7jIZRU+oMeKx+Sp9TrPF4fbYJItERdEgeqq/e+y4ZDGaRZvZIJ2RHCbJLp12SGanW/i/7P6rZTcnnoEqou9R0Xrpch7QYA3+Y0CDy7phEsMbrCn5rznyXvW5stZYmEumE83+GsgRJjq/z+sAGUVkh3D9EhCZMtSnkp8toviGmyTR4HW4PM6l7Wa70WZyeHx9eatZcnvdFf23VUguHPks5k48OGS3WfxOT+XGjQ63weC0uqrvedDhc9slybhvt9FkdDnc/ytvnBNDIui4RRljzgS0IL46Di3QmpsdQx5DPFElNArLmJ5ocpoZbQ0+ChjYMipGtDJAm5VxIIgWreFYmNmtpsppZouinNYaSRgql8V61g+sH91ZTam3Kx6PaZuHbhvdubCiwtc3GO/yLhjc33PLqkw01bAqGjK11N26Kurt6asL3LH/cfIj3Lu4a89as0XbrDTG0glYsXutxbx0m1R9a/PyrVpdW020uyHVsKXFG+3J1/VkNuHgLPrtiMHiSD9CA0YLJzWSJaWXcE8BBpxEH4OT6FJIRff+OwJ49xP7BxcgZfrJhTtHf8ppr+aNhRXw7eiqaHTVOlZAQNu6HK8slufW7ulixJpL9SjS1BPlRQm7DCHvRcGGFIk+0aWmQgbZp6U0OjR9bJo8Wxh/O3eWTE2PHof+6Vzu7bPZ0be5yHhxiUyh3LjVaqooM2xHLr30UmZ6Wk/l85A6cSLDMbNVsBbxBq4v4w2GwaqEGkERVKFBWCIImpJKyLO+kc/pI/4+nssd42XhjX/XmR4u/uVKdbZUIzmmmfdfT5MAiPoj+PXgPSn8qvhlYyLWIazpENPRwml+FF5BntUnsAW/0CfIDn6vvjqHd+X0ESQhm83OwzMP6jomFsizC5xlsCufJ0c5y3TrXL9oYphJY3BGDdHlZT/IfCIJTrYxyN82WbaRA+QkZiABtBLBgxEqAymlqEe8hdYgI8aNKD4WuuzQANjgyqb8MLxUGRtr3dLSsqV1bExZGn4G+vSfwy7eBuXaJFxUMsrNLQP3DbTcjK1ofgyrlWxoy46BFs7Xq1fpJMfE1/E1hPiSJRoGlhUhHQaWXJX6DHuSBb29I5e0S6RBu6QhOHsdkoVeVm7GPvkAZ/TXe3shWY8t/GjLent7d2KNn0u/g2QZjz9Dn0EqXBzTJnyAionAEj2lCph76CP9QDp0/V1MQDbo6PfIOznY9S4fox595B0+NuNzruksyiA1819Ex+UvtKKsh7Pl+9+kbxbvn7l2hpDczKWoQ2VKGFHFa/9QpmTGN44XfSNzcTLANzK6noFWGse6DVpKOnWOOnnuyaKnjGmCyBI5cu7ChdjJkzFekiCvvsXLmbcVc8IQ05V5s0JIsiZGERkaAQOICgwksYXz5Yh6RzzWu2ZT6/YGPR6ugzXYgLfCdWxwvpRRH9i0pjcWrwvr8Ybt+od1YXirYXsrHyvTdzfmDD4hKNQjfQqDWKIyN2EINfsZ/EqmgfE3lErQynF7+9p227M8O+jBUn/BFQiEAwFIFZ7Lw/fzdCjS2BjBPGIbX3Io3FSpVOKn4CaHuFsoyXAv3YMa28Z9W7r4L2v1WIFoRC4jn0SjA/mtsqQMWV6PbAG2CkOQ7E/4sanCLU+h+zZI1W1LtK32tupaCPraV2wHINTri8sH/xyDcx7JanKOphc1u2CBSSZgIgdMCJ/sbucZeOgpyWJxWBdZJMtg47KgT39v4TrrNqMhkGr4kmzB7eQJp9Nj94/aKa3S/2L0qpVJ98GKChBN7jOCmb9jnI6j9dUKi4TlwkrhJiEvbBIGhTvxXUEiu6mdiBWRRqIST5ZodYaQy48BVEsbvDILSCmuSqLqQ/wgKjLv+DkzIl45kVKNYiKlRQEZkUAH7UsgDlYjRkX0JbR6dDHUtWhFFJCe6IpF+vv6+9d6UA27C6f+PqUkiVQwAUkqtfCCObYuH5OiKxftlGLr1sXM7XXNC4JQeBX27gEYziVvagHYnYNf7WbrkRet0X0nWrr30Z/Me341710pvGqUcPnUGy4nXgZ7wMEPl+5d1N1ApFge7wGEqP5ocGXLQy+uTu37ZzoykNu7N4yrKcDeYXjoBlvknpiMZ/RT0JrRyccZlu226cLs3wO8wuKyVTmZttQytjmZVdEwh2ms38xmSgb16M4dnV1dnTt2grPcevSezRtTmpbauPlsuUHPswn9H3MXX9k7ZxFvlGyI0WJFG08zanggKPp79T8grev+zs77H2VF1xejkkyV1mMx/YUJviEXEGUMtuy3j7m/aPHMYLKNZQbXsGEvHeJxlSMZ5v8A93JEUvSDhffJkcJadNRZmOQD+uEcmSqcLt9JySEmPY8E58ABDnIIY19fSe6HKGVzEimOUqpf0C/MnUPsivRgwOS75z+zuKA092Pq4b+bsN8qNLgLPu0snNT/1AFVrPUbqOkorYuTTvZCD77mOA82HbfP8ClOxouxgeVL5GMeEqCVjGOMYKo5y88PCW7BLySYH/XxVNdvFOUssExWQcNOMMzsmwUSkmlNxpUyfjQgrxQxgBZdlswhAFj85byp8NwjbT1lpNDRtL7mvoGew8lCN3mFYYLYCsuyqjuWtg60jOXh7v2VX21vLYKFptWG9fnbcSV54V8PFbSvAAAAeJxjYGRgYADiJZeya+P5bb4ycDO/AApEcT7e1wCj///+/5v5LfNboEoOBiYgyQAAoN8P3nicY2BkYGB+wcAAIv///v+b+S0DIwMq8AUAntwHCgAAeJxjYGBgYH4Bwv9/Q+ihjekBAG/aMMwAeJxjYAACKYYghiyGJQz7GN4xSjA6MZYwTmNcxXiH8R/THeZdzFdY3Fh2sJxh1WEtY53Cuob1G5semxtbHNsitgfsbOwK7G7sEewl7Ec4mDjSOHk4FTjTOA9w3uL8xcXBJcalwmXE5cYVwpXBtY10CAAggCv3AAAAeJxjYGRgYPBlmMfAwwACTEDMBYQMDP/BfAYAIOsCDgB4nHWRPU7DQBCFnxMniBghJCREx1Y0SM5PQZEuFHGfIgWdE68dR7bXWm8ipeMYnIBjUHIETsEheDFTREjZ1a6/+fbNNAZwgy94OC4PV+19XB1csPrjLulW2Cc/CPcQ4Em4T/8sPKB9EQ7YWXKC51/S3ONNuINrvAt36T+EffKncA93+Bbu0/8ID7D0fOEAj95rnEU2T2ZFnVd6obNdEdtTdcpLbZvcVGocjk51pCttY6cTtTqoZp9NnEtVak2p5qZyuiiMqq3Z6rULN87V0+EwFR+uTYkYGSJY5EgwQ4GaVEFjwZNhRxPz9VzqnF/yWDSsDGuFMUKMzqYjnqrtiOH4TdixwoF3gz17JrQOKeuUGcO/ojBvJx/TBbehqdu3Lc2aPsSm7aoxxZA7/ZcPmeKkXwK+aWkAAAB4nG2SB2/bMBSE/cWS7dhp46ZtuvceapvuvXeb/geGomUiEimQlO3k15e1gwAB+gASd4eHe8cHtpZai+q3/l+bLNEmIaVDlx7L9BmwwiEOs8qQI6xxlGMcZ50TnOQUpznDWc5xngtc5BKXucJVrnGdG9zkFre5w10y7nGfB2zwkEc85glPecZzXvCSV7zmDW95x3s+8JFPfOYLX/nGd37wk1/8ZpM/rYEoCqcKEbQ1HeGcnfq28LIjhZGqTOVYuDCUYyW3t+wsmwOVr+8L2uQqKFdpI4Ja25cbs9e5Im1pXVbrSFw3kqYyvi+tCU7IoPJE2nonlc5635Z+ksaTbSS58jJVsxigO7+zjZ6a1SLOypfVjsp8Kfy4HVFnpMs4Ph1p50NSOF2nhbNNncSGkJRqFDqlNjFHt7Qi16boVWKmK72rkkqZphdzL5hRs5AYa9TA2JCJsrRTlad1dFHtWpu01hMberVTE20bP3TRzGZbTQjWZHY0Wj0omNTpYhwSLyaq76tol+V2avbgv1iDBZy39RY4pg5xTWvBKXVwr8tzydbK9BqzeA+CAocioLEYpngkJWO22WIW/0ZORUPNDhNG7LZafwFegLa2AAAA\") format(\"woff\");\n font-weight: normal;\n font-style: normal;\n}\n.ag-theme-alpine .ag-icon {\n font-family: \"agGridAlpine\";\n font-size: 16px;\n line-height: 16px;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n /* Better Font Rendering =========== */\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.ag-theme-alpine .ag-icon-aggregation::before {\n content: \"\\f101\";\n}\n.ag-theme-alpine .ag-icon-arrows::before {\n content: \"\\f102\";\n}\n.ag-theme-alpine .ag-icon-asc::before {\n content: \"\\f103\";\n}\n.ag-theme-alpine .ag-icon-cancel::before {\n content: \"\\f104\";\n}\n.ag-theme-alpine .ag-icon-chart::before {\n content: \"\\f105\";\n}\n.ag-theme-alpine .ag-icon-color-picker::before {\n content: \"\\f109\";\n}\n.ag-theme-alpine .ag-icon-columns::before {\n content: \"\\f10a\";\n}\n.ag-theme-alpine .ag-icon-contracted::before {\n content: \"\\f10b\";\n}\n.ag-theme-alpine .ag-icon-copy::before {\n content: \"\\f10c\";\n}\n.ag-theme-alpine .ag-icon-cross::before {\n content: \"\\f10d\";\n}\n.ag-theme-alpine .ag-icon-csv::before {\n content: \"\\f10e\";\n}\n.ag-theme-alpine .ag-icon-desc::before {\n content: \"\\f10f\";\n}\n.ag-theme-alpine .ag-icon-excel::before {\n content: \"\\f110\";\n}\n.ag-theme-alpine .ag-icon-expanded::before {\n content: \"\\f111\";\n}\n.ag-theme-alpine .ag-icon-eye-slash::before {\n content: \"\\f112\";\n}\n.ag-theme-alpine .ag-icon-eye::before {\n content: \"\\f113\";\n}\n.ag-theme-alpine .ag-icon-filter::before {\n content: \"\\f114\";\n}\n.ag-theme-alpine .ag-icon-first::before {\n content: \"\\f115\";\n}\n.ag-theme-alpine .ag-icon-grip::before {\n content: \"\\f116\";\n}\n.ag-theme-alpine .ag-icon-group::before {\n content: \"\\f117\";\n}\n.ag-theme-alpine .ag-icon-last::before {\n content: \"\\f118\";\n}\n.ag-theme-alpine .ag-icon-left::before {\n content: \"\\f119\";\n}\n.ag-theme-alpine .ag-icon-linked::before {\n content: \"\\f11a\";\n}\n.ag-theme-alpine .ag-icon-loading::before {\n content: \"\\f11b\";\n}\n.ag-theme-alpine .ag-icon-maximize::before {\n content: \"\\f11c\";\n}\n.ag-theme-alpine .ag-icon-menu::before {\n content: \"\\f11d\";\n}\n.ag-theme-alpine .ag-icon-minimize::before {\n content: \"\\f11e\";\n}\n.ag-theme-alpine .ag-icon-next::before {\n content: \"\\f11f\";\n}\n.ag-theme-alpine .ag-icon-none::before {\n content: \"\\f120\";\n}\n.ag-theme-alpine .ag-icon-not-allowed::before {\n content: \"\\f121\";\n}\n.ag-theme-alpine .ag-icon-paste::before {\n content: \"\\f122\";\n}\n.ag-theme-alpine .ag-icon-pin::before {\n content: \"\\f123\";\n}\n.ag-theme-alpine .ag-icon-pivot::before {\n content: \"\\f124\";\n}\n.ag-theme-alpine .ag-icon-previous::before {\n content: \"\\f125\";\n}\n.ag-theme-alpine .ag-icon-right::before {\n content: \"\\f128\";\n}\n.ag-theme-alpine .ag-icon-save::before {\n content: \"\\f129\";\n}\n.ag-theme-alpine .ag-icon-small-down::before {\n content: \"\\f12a\";\n}\n.ag-theme-alpine .ag-icon-small-left::before {\n content: \"\\f12b\";\n}\n.ag-theme-alpine .ag-icon-small-right::before {\n content: \"\\f12c\";\n}\n.ag-theme-alpine .ag-icon-small-up::before {\n content: \"\\f12d\";\n}\n.ag-theme-alpine .ag-icon-tick::before {\n content: \"\\f12e\";\n}\n.ag-theme-alpine .ag-icon-tree-closed::before {\n content: \"\\f12f\";\n}\n.ag-theme-alpine .ag-icon-tree-indeterminate::before {\n content: \"\\f130\";\n}\n.ag-theme-alpine .ag-icon-tree-open::before {\n content: \"\\f131\";\n}\n.ag-theme-alpine .ag-icon-unlinked::before {\n content: \"\\f132\";\n}\n.ag-theme-alpine .ag-icon-row-drag::before {\n content: \"\\f116\";\n}\n.ag-theme-alpine .ag-left-arrow::before {\n content: \"\\f119\";\n}\n.ag-theme-alpine .ag-right-arrow::before {\n content: \"\\f128\";\n}\n.ag-theme-alpine .ag-root-wrapper {\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\n}\n.ag-theme-alpine [class^=ag-], .ag-theme-alpine [class^=ag-]:focus, .ag-theme-alpine [class^=ag-]:after, .ag-theme-alpine [class^=ag-]:before {\n box-sizing: border-box;\n outline: none;\n}\n.ag-theme-alpine [class^=ag-]::-ms-clear {\n display: none;\n}\n.ag-theme-alpine .ag-checkbox .ag-input-wrapper,\n.ag-theme-alpine .ag-radio-button .ag-input-wrapper {\n overflow: visible;\n}\n.ag-theme-alpine .ag-range-field .ag-input-wrapper {\n height: 100%;\n}\n.ag-theme-alpine .ag-toggle-button {\n flex: none;\n width: unset;\n min-width: unset;\n}\n.ag-theme-alpine .ag-ltr .ag-label-align-right .ag-label {\n margin-left: 6px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-label-align-right .ag-label {\n margin-right: 6px;\n}\n\n.ag-theme-alpine input[class^=ag-] {\n margin: 0;\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\n}\n.ag-theme-alpine textarea[class^=ag-],\n.ag-theme-alpine select[class^=ag-] {\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\n}\n.ag-theme-alpine input[class^=ag-]:not([type]),\n.ag-theme-alpine input[class^=ag-][type=text],\n.ag-theme-alpine input[class^=ag-][type=number],\n.ag-theme-alpine input[class^=ag-][type=tel],\n.ag-theme-alpine input[class^=ag-][type=date],\n.ag-theme-alpine input[class^=ag-][type=datetime-local],\n.ag-theme-alpine textarea[class^=ag-] {\n font-size: inherit;\n line-height: inherit;\n color: inherit;\n border-width: 1px;\n border-style: solid;\n border-color: #eaeaea;\n border-color: var(--ag-input-border-color, var(--ag-border-color, #eaeaea));\n}\n.ag-theme-alpine input[class^=ag-]:not([type]):disabled,\n.ag-theme-alpine input[class^=ag-][type=text]:disabled,\n.ag-theme-alpine input[class^=ag-][type=number]:disabled,\n.ag-theme-alpine input[class^=ag-][type=tel]:disabled,\n.ag-theme-alpine input[class^=ag-][type=date]:disabled,\n.ag-theme-alpine input[class^=ag-][type=datetime-local]:disabled,\n.ag-theme-alpine textarea[class^=ag-]:disabled {\n color: rgba(42, 41, 44, 0.5);\n color: var(--ag-disabled-foreground-color, rgba(42, 41, 44, 0.5));\n background-color: #fbfbfb;\n background-color: var(--ag-input-disabled-background-color, #fbfbfb);\n border-color: rgba(234, 234, 234, 0.3);\n border-color: var(--ag-input-disabled-border-color, rgba(234, 234, 234, 0.3));\n}\n.ag-theme-alpine input[class^=ag-]:not([type]):focus,\n.ag-theme-alpine input[class^=ag-][type=text]:focus,\n.ag-theme-alpine input[class^=ag-][type=number]:focus,\n.ag-theme-alpine input[class^=ag-][type=tel]:focus,\n.ag-theme-alpine input[class^=ag-][type=date]:focus,\n.ag-theme-alpine input[class^=ag-][type=datetime-local]:focus,\n.ag-theme-alpine textarea[class^=ag-]:focus {\n outline: none;\n box-shadow: 0 0 2px 0.1rem rgba(0, 113, 152, 0.4);\n border-color: rgba(0, 113, 152, 0.4);\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine input[class^=ag-]:not([type]):invalid,\n.ag-theme-alpine input[class^=ag-][type=text]:invalid,\n.ag-theme-alpine input[class^=ag-][type=number]:invalid,\n.ag-theme-alpine input[class^=ag-][type=tel]:invalid,\n.ag-theme-alpine input[class^=ag-][type=date]:invalid,\n.ag-theme-alpine input[class^=ag-][type=datetime-local]:invalid,\n.ag-theme-alpine textarea[class^=ag-]:invalid {\n border-width: 2px;\n border-style: solid;\n border-color: #e02525;\n border-color: var(--ag-input-border-color-invalid, var(--ag-invalid-color, #e02525));\n}\n.ag-theme-alpine input[class^=ag-][type=number] {\n -moz-appearance: textfield;\n}\n.ag-theme-alpine input[class^=ag-][type=number]::-webkit-outer-spin-button, .ag-theme-alpine input[class^=ag-][type=number]::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n.ag-theme-alpine input[class^=ag-][type=range] {\n padding: 0;\n}\n.ag-theme-alpine input[class^=ag-][type=button]:focus, .ag-theme-alpine button[class^=ag-]:focus {\n box-shadow: 0 0 2px 0.1rem rgba(0, 113, 152, 0.4);\n}\n.ag-theme-alpine .ag-drag-handle {\n color: #2a292c;\n color: var(--ag-secondary-foreground-color, var(--ag-foreground-color, #2a292c));\n}\n.ag-theme-alpine .ag-list-item, .ag-theme-alpine .ag-virtual-list-item {\n height: 24px;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-virtual-list-item:focus {\n outline: none;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-virtual-list-item:focus::after {\n content: \"\";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n border: 1px solid;\n border-color: rgba(0, 113, 152, 0.4);\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine .ag-select-list {\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\n overflow-y: auto;\n overflow-x: hidden;\n}\n.ag-theme-alpine .ag-list-item {\n display: flex;\n align-items: center;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.ag-theme-alpine .ag-list-item.ag-active-item {\n background-color: #eaeaea;\n background-color: var(--ag-row-hover-color, #eaeaea);\n}\n.ag-theme-alpine .ag-select-list-item {\n padding-left: 4px;\n padding-right: 4px;\n cursor: default;\n -moz-user-select: none;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.ag-theme-alpine .ag-select-list-item span {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n.ag-theme-alpine .ag-select .ag-picker-field-wrapper {\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\n min-height: 24px;\n cursor: default;\n}\n.ag-theme-alpine .ag-select.ag-disabled .ag-picker-field-wrapper:focus {\n box-shadow: none;\n}\n.ag-theme-alpine .ag-select:not(.ag-cell-editor) {\n height: 24px;\n}\n.ag-theme-alpine .ag-select .ag-picker-field-display {\n margin: 4px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.ag-theme-alpine .ag-select .ag-picker-field-icon {\n display: flex;\n align-items: center;\n}\n.ag-theme-alpine .ag-select.ag-disabled {\n opacity: 0.5;\n}\n.ag-theme-alpine .ag-rich-select {\n background-color: #f8f8f8;\n background-color: var(--ag-control-panel-background-color, #f8f8f8);\n}\n.ag-theme-alpine .ag-rich-select-list {\n width: 100%;\n min-width: 200px;\n height: 273px;\n}\n.ag-theme-alpine .ag-rich-select-value {\n padding: 0 6px 0 18px;\n height: 42px;\n}\n.ag-theme-alpine .ag-rich-select-virtual-list-item {\n cursor: default;\n height: 24px;\n}\n.ag-theme-alpine .ag-rich-select-virtual-list-item:hover {\n background-color: #eaeaea;\n background-color: var(--ag-row-hover-color, #eaeaea);\n}\n.ag-theme-alpine .ag-rich-select-row {\n padding-left: 18px;\n}\n.ag-theme-alpine .ag-rich-select-row-selected {\n background-color: rgba(0, 113, 152, 0.3);\n background-color: var(--ag-selected-row-background-color, rgba(0, 113, 152, 0.3));\n}\n.ag-theme-alpine .ag-row-drag,\n.ag-theme-alpine .ag-selection-checkbox,\n.ag-theme-alpine .ag-group-expanded,\n.ag-theme-alpine .ag-group-contracted {\n color: #2a292c;\n color: var(--ag-secondary-foreground-color, var(--ag-foreground-color, #2a292c));\n}\n.ag-theme-alpine .ag-ltr .ag-row-drag, .ag-theme-alpine .ag-ltr .ag-selection-checkbox, .ag-theme-alpine .ag-ltr .ag-group-expanded, .ag-theme-alpine .ag-ltr .ag-group-contracted {\n margin-right: 12px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-drag, .ag-theme-alpine .ag-rtl .ag-selection-checkbox, .ag-theme-alpine .ag-rtl .ag-group-expanded, .ag-theme-alpine .ag-rtl .ag-group-contracted {\n margin-left: 12px;\n}\n\n.ag-theme-alpine .ag-cell-wrapper > *:not(.ag-cell-value):not(.ag-group-value) {\n height: min(var(--ag-line-height, 40px), 40px);\n display: flex;\n align-items: center;\n flex: none;\n}\n.ag-theme-alpine .ag-group-expanded,\n.ag-theme-alpine .ag-group-contracted {\n cursor: pointer;\n}\n.ag-theme-alpine .ag-group-title-bar-icon {\n cursor: pointer;\n flex: none;\n color: #2a292c;\n color: var(--ag-secondary-foreground-color, var(--ag-foreground-color, #2a292c));\n}\n.ag-theme-alpine .ag-ltr .ag-group-child-count {\n margin-left: 2px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-group-child-count {\n margin-right: 2px;\n}\n\n.ag-theme-alpine .ag-group-title-bar {\n background-color: #fff;\n background-color: var(--ag-subheader-background-color, #fff);\n padding: 6px;\n}\n.ag-theme-alpine .ag-group-toolbar {\n padding: 6px;\n}\n.ag-theme-alpine .ag-disabled-group-title-bar, .ag-theme-alpine .ag-disabled-group-container {\n opacity: 0.5;\n}\n.ag-theme-alpine .group-item {\n margin: 3px 0;\n}\n.ag-theme-alpine .ag-label {\n white-space: nowrap;\n}\n.ag-theme-alpine .ag-ltr .ag-label {\n margin-right: 6px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-label {\n margin-left: 6px;\n}\n\n.ag-theme-alpine .ag-label-align-top .ag-label {\n margin-bottom: 3px;\n}\n.ag-theme-alpine .ag-ltr .ag-slider-field, .ag-theme-alpine .ag-ltr .ag-angle-select-field {\n margin-right: 12px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-slider-field, .ag-theme-alpine .ag-rtl .ag-angle-select-field {\n margin-left: 12px;\n}\n\n.ag-theme-alpine .ag-angle-select-parent-circle {\n width: 24px;\n height: 24px;\n border-radius: 12px;\n border: solid 1px;\n border-color: #eaeaea;\n border-color: var(--ag-border-color, #eaeaea);\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\n}\n.ag-theme-alpine .ag-angle-select-child-circle {\n top: 4px;\n left: 12px;\n width: 6px;\n height: 6px;\n margin-left: -3px;\n margin-top: -4px;\n border-radius: 3px;\n background-color: #2a292c;\n background-color: var(--ag-secondary-foreground-color, var(--ag-foreground-color, #2a292c));\n}\n.ag-theme-alpine .ag-picker-field-wrapper {\n border: 1px solid;\n border-color: #eaeaea;\n border-color: var(--ag-border-color, #eaeaea);\n border-radius: 5px;\n}\n.ag-theme-alpine .ag-picker-field-wrapper:focus {\n box-shadow: 0 0 2px 0.1rem rgba(0, 113, 152, 0.4);\n}\n.ag-theme-alpine .ag-picker-field-button {\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\n color: #2a292c;\n color: var(--ag-secondary-foreground-color, var(--ag-foreground-color, #2a292c));\n}\n.ag-theme-alpine .ag-dialog.ag-color-dialog {\n border-radius: 5px;\n}\n.ag-theme-alpine .ag-color-picker .ag-picker-field-display {\n height: 16px;\n}\n.ag-theme-alpine .ag-color-panel {\n padding: 6px;\n}\n.ag-theme-alpine .ag-spectrum-color {\n background-color: rgb(255, 0, 0);\n border-radius: 2px;\n}\n.ag-theme-alpine .ag-spectrum-tools {\n padding: 10px;\n}\n.ag-theme-alpine .ag-spectrum-sat {\n background-image: linear-gradient(to right, white, rgba(204, 154, 129, 0));\n}\n.ag-theme-alpine .ag-spectrum-val {\n background-image: linear-gradient(to top, black, rgba(204, 154, 129, 0));\n}\n.ag-theme-alpine .ag-spectrum-dragger {\n border-radius: 12px;\n height: 12px;\n width: 12px;\n border: 1px solid white;\n background: black;\n box-shadow: 0 0 2px 0px rgba(0, 0, 0, 0.24);\n}\n.ag-theme-alpine .ag-spectrum-hue-background {\n border-radius: 2px;\n}\n.ag-theme-alpine .ag-spectrum-alpha-background {\n border-radius: 2px;\n}\n.ag-theme-alpine .ag-spectrum-tool {\n margin-bottom: 10px;\n height: 11px;\n border-radius: 2px;\n}\n.ag-theme-alpine .ag-spectrum-slider {\n margin-top: -12px;\n width: 13px;\n height: 13px;\n border-radius: 13px;\n background-color: rgb(248, 248, 248);\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37);\n}\n.ag-theme-alpine .ag-recent-color {\n margin: 0 3px;\n}\n.ag-theme-alpine .ag-recent-color:first-child {\n margin-left: 0;\n}\n.ag-theme-alpine .ag-recent-color:last-child {\n margin-right: 0;\n}\n.ag-theme-alpine.ag-dnd-ghost {\n background: #ffffff;\n background: var(--ag-background-color, #ffffff);\n border-radius: 3px;\n box-shadow: 0 1px 4px 1px rgba(186, 191, 199, 0.4);\n padding: 6px;\n overflow: hidden;\n text-overflow: ellipsis;\n color: #2a292c;\n color: var(--ag-secondary-foreground-color, var(--ag-foreground-color, #2a292c));\n height: 48px !important;\n line-height: 48px;\n margin: 0;\n padding: 0 12px;\n transform: translateY(12px);\n}\n.ag-theme-alpine .ag-dnd-ghost-icon {\n margin-right: 6px;\n color: #2a292c;\n color: var(--ag-foreground-color, #2a292c);\n}\n.ag-theme-alpine .ag-popup-child:not(.ag-tooltip-custom) {\n box-shadow: 0 1px 4px 1px rgba(186, 191, 199, 0.4);\n}\n.ag-dragging-range-handle .ag-theme-alpine .ag-dialog, .ag-dragging-fill-handle .ag-theme-alpine .ag-dialog {\n opacity: 0.7;\n pointer-events: none;\n}\n.ag-theme-alpine .ag-dialog {\n border-radius: 3px;\n}\n.ag-theme-alpine .ag-panel {\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\n}\n.ag-theme-alpine .ag-panel-title-bar {\n background-color: #ffffff;\n background-color: var(--ag-header-background-color, #ffffff);\n color: #017a76;\n color: var(--ag-header-foreground-color, #017a76);\n height: 48px;\n padding: 6px 18px;\n}\n.ag-theme-alpine .ag-ltr .ag-panel-title-bar-button {\n margin-left: 6px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-panel-title-bar-button {\n margin-right: 6px;\n}\n\n.ag-theme-alpine .ag-tooltip {\n background-color: #ffffff;\n background-color: var(--ag-header-background-color, #ffffff);\n color: #2a292c;\n color: var(--ag-foreground-color, #2a292c);\n padding: 6px;\n border-radius: 3px;\n transition: opacity 1s;\n white-space: normal;\n}\n.ag-theme-alpine .ag-tooltip.ag-tooltip-hiding {\n opacity: 0;\n}\n.ag-theme-alpine .ag-tooltip-custom {\n transition: opacity 1s;\n}\n.ag-theme-alpine .ag-tooltip-custom.ag-tooltip-hiding {\n opacity: 0;\n}\n.ag-theme-alpine .ag-ltr .ag-column-select-indent-1 {\n padding-left: 16px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-column-select-indent-1 {\n padding-right: 16px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-column-select-indent-2 {\n padding-left: 32px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-column-select-indent-2 {\n padding-right: 32px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-column-select-indent-3 {\n padding-left: 48px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-column-select-indent-3 {\n padding-right: 48px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-column-select-indent-4 {\n padding-left: 64px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-column-select-indent-4 {\n padding-right: 64px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-column-select-indent-5 {\n padding-left: 80px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-column-select-indent-5 {\n padding-right: 80px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-column-select-indent-6 {\n padding-left: 96px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-column-select-indent-6 {\n padding-right: 96px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-column-select-indent-7 {\n padding-left: 112px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-column-select-indent-7 {\n padding-right: 112px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-column-select-indent-8 {\n padding-left: 128px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-column-select-indent-8 {\n padding-right: 128px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-column-select-indent-9 {\n padding-left: 144px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-column-select-indent-9 {\n padding-right: 144px;\n}\n\n.ag-theme-alpine .ag-column-select-header-icon {\n cursor: pointer;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-column-select-header-icon:focus {\n outline: none;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-column-select-header-icon:focus::after {\n content: \"\";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 0px;\n left: 0px;\n display: block;\n width: calc(100% - 0px);\n height: calc(100% - 0px);\n border: 1px solid;\n border-color: rgba(0, 113, 152, 0.4);\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine .ag-ltr .ag-column-group-icons:not(:last-child), .ag-theme-alpine .ag-ltr .ag-column-select-header-icon:not(:last-child), .ag-theme-alpine .ag-ltr .ag-column-select-header-checkbox:not(:last-child), .ag-theme-alpine .ag-ltr .ag-column-select-header-filter-wrapper:not(:last-child), .ag-theme-alpine .ag-ltr .ag-column-select-checkbox:not(:last-child), .ag-theme-alpine .ag-ltr .ag-column-select-column-drag-handle:not(:last-child), .ag-theme-alpine .ag-ltr .ag-column-select-column-group-drag-handle:not(:last-child), .ag-theme-alpine .ag-ltr .ag-column-select-column-label:not(:last-child) {\n margin-right: 12px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-column-group-icons:not(:last-child), .ag-theme-alpine .ag-rtl .ag-column-select-header-icon:not(:last-child), .ag-theme-alpine .ag-rtl .ag-column-select-header-checkbox:not(:last-child), .ag-theme-alpine .ag-rtl .ag-column-select-header-filter-wrapper:not(:last-child), .ag-theme-alpine .ag-rtl .ag-column-select-checkbox:not(:last-child), .ag-theme-alpine .ag-rtl .ag-column-select-column-drag-handle:not(:last-child), .ag-theme-alpine .ag-rtl .ag-column-select-column-group-drag-handle:not(:last-child), .ag-theme-alpine .ag-rtl .ag-column-select-column-label:not(:last-child) {\n margin-left: 12px;\n}\n\n.ag-theme-alpine .ag-keyboard-focus .ag-column-select-virtual-list-item:focus {\n outline: none;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-column-select-virtual-list-item:focus::after {\n content: \"\";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 1px;\n left: 1px;\n display: block;\n width: calc(100% - 2px);\n height: calc(100% - 2px);\n border: 1px solid;\n border-color: rgba(0, 113, 152, 0.4);\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine .ag-column-select-column-group:not(:last-child),\n.ag-theme-alpine .ag-column-select-column:not(:last-child) {\n margin-bottom: 9px;\n}\n.ag-theme-alpine .ag-column-select-column-readonly,\n.ag-theme-alpine .ag-column-select-column-group-readonly {\n color: rgba(42, 41, 44, 0.5);\n color: var(--ag-disabled-foreground-color, rgba(42, 41, 44, 0.5));\n pointer-events: none;\n}\n.ag-theme-alpine .ag-ltr .ag-column-select-add-group-indent {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-column-select-add-group-indent {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-column-select-virtual-list-viewport {\n padding: 6px 0px;\n}\n.ag-theme-alpine .ag-column-select-virtual-list-item {\n padding: 0 12px;\n}\n.ag-theme-alpine .ag-rtl {\n text-align: right;\n}\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-1 {\n padding-left: 46px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-1 {\n padding-right: 46px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-1 {\n padding-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-1 {\n padding-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-1 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-1 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-2 {\n padding-left: 74px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-2 {\n padding-right: 74px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-2 {\n padding-left: 56px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-2 {\n padding-right: 56px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-2 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-2 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-3 {\n padding-left: 102px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-3 {\n padding-right: 102px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-3 {\n padding-left: 84px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-3 {\n padding-right: 84px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-3 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-3 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-4 {\n padding-left: 130px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-4 {\n padding-right: 130px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-4 {\n padding-left: 112px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-4 {\n padding-right: 112px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-4 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-4 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-5 {\n padding-left: 158px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-5 {\n padding-right: 158px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-5 {\n padding-left: 140px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-5 {\n padding-right: 140px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-5 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-5 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-6 {\n padding-left: 186px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-6 {\n padding-right: 186px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-6 {\n padding-left: 168px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-6 {\n padding-right: 168px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-6 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-6 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-7 {\n padding-left: 214px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-7 {\n padding-right: 214px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-7 {\n padding-left: 196px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-7 {\n padding-right: 196px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-7 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-7 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-8 {\n padding-left: 242px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-8 {\n padding-right: 242px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-8 {\n padding-left: 224px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-8 {\n padding-right: 224px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-8 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-8 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-9 {\n padding-left: 270px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-9 {\n padding-right: 270px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-9 {\n padding-left: 252px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-9 {\n padding-right: 252px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-9 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-9 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-10 {\n padding-left: 298px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-10 {\n padding-right: 298px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-10 {\n padding-left: 280px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-10 {\n padding-right: 280px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-10 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-10 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-11 {\n padding-left: 326px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-11 {\n padding-right: 326px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-11 {\n padding-left: 308px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-11 {\n padding-right: 308px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-11 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-11 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-12 {\n padding-left: 354px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-12 {\n padding-right: 354px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-12 {\n padding-left: 336px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-12 {\n padding-right: 336px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-12 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-12 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-13 {\n padding-left: 382px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-13 {\n padding-right: 382px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-13 {\n padding-left: 364px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-13 {\n padding-right: 364px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-13 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-13 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-14 {\n padding-left: 410px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-14 {\n padding-right: 410px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-14 {\n padding-left: 392px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-14 {\n padding-right: 392px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-14 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-14 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-15 {\n padding-left: 438px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-15 {\n padding-right: 438px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-15 {\n padding-left: 420px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-15 {\n padding-right: 420px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-15 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-15 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-16 {\n padding-left: 466px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-16 {\n padding-right: 466px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-16 {\n padding-left: 448px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-16 {\n padding-right: 448px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-16 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-16 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-17 {\n padding-left: 494px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-17 {\n padding-right: 494px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-17 {\n padding-left: 476px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-17 {\n padding-right: 476px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-17 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-17 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-18 {\n padding-left: 522px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-18 {\n padding-right: 522px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-18 {\n padding-left: 504px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-18 {\n padding-right: 504px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-18 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-18 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-19 {\n padding-left: 550px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-19 {\n padding-right: 550px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-19 {\n padding-left: 532px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-19 {\n padding-right: 532px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-19 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-19 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-20 {\n padding-left: 578px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-20 {\n padding-right: 578px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-20 {\n padding-left: 560px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-20 {\n padding-right: 560px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-20 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-20 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-21 {\n padding-left: 606px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-21 {\n padding-right: 606px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-21 {\n padding-left: 588px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-21 {\n padding-right: 588px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-21 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-21 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-22 {\n padding-left: 634px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-22 {\n padding-right: 634px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-22 {\n padding-left: 616px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-22 {\n padding-right: 616px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-22 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-22 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-23 {\n padding-left: 662px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-23 {\n padding-right: 662px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-23 {\n padding-left: 644px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-23 {\n padding-right: 644px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-23 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-23 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-24 {\n padding-left: 690px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-24 {\n padding-right: 690px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-24 {\n padding-left: 672px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-24 {\n padding-right: 672px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-24 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-24 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-25 {\n padding-left: 718px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-25 {\n padding-right: 718px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-25 {\n padding-left: 700px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-25 {\n padding-right: 700px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-25 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-25 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-26 {\n padding-left: 746px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-26 {\n padding-right: 746px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-26 {\n padding-left: 728px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-26 {\n padding-right: 728px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-26 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-26 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-27 {\n padding-left: 774px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-27 {\n padding-right: 774px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-27 {\n padding-left: 756px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-27 {\n padding-right: 756px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-27 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-27 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-28 {\n padding-left: 802px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-28 {\n padding-right: 802px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-28 {\n padding-left: 784px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-28 {\n padding-right: 784px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-28 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-28 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-29 {\n padding-left: 830px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-29 {\n padding-right: 830px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-29 {\n padding-left: 812px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-29 {\n padding-right: 812px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-29 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-29 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-30 {\n padding-left: 858px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-30 {\n padding-right: 858px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-30 {\n padding-left: 840px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-30 {\n padding-right: 840px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-30 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-30 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-31 {\n padding-left: 886px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-31 {\n padding-right: 886px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-31 {\n padding-left: 868px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-31 {\n padding-right: 868px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-31 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-31 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-32 {\n padding-left: 914px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-32 {\n padding-right: 914px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-32 {\n padding-left: 896px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-32 {\n padding-right: 896px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-32 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-32 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-33 {\n padding-left: 942px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-33 {\n padding-right: 942px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-33 {\n padding-left: 924px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-33 {\n padding-right: 924px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-33 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-33 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-34 {\n padding-left: 970px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-34 {\n padding-right: 970px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-34 {\n padding-left: 952px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-34 {\n padding-right: 952px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-34 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-34 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-35 {\n padding-left: 998px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-35 {\n padding-right: 998px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-35 {\n padding-left: 980px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-35 {\n padding-right: 980px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-35 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-35 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-36 {\n padding-left: 1026px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-36 {\n padding-right: 1026px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-36 {\n padding-left: 1008px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-36 {\n padding-right: 1008px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-36 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-36 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-37 {\n padding-left: 1054px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-37 {\n padding-right: 1054px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-37 {\n padding-left: 1036px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-37 {\n padding-right: 1036px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-37 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-37 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-38 {\n padding-left: 1082px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-38 {\n padding-right: 1082px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-38 {\n padding-left: 1064px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-38 {\n padding-right: 1064px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-38 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-38 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-39 {\n padding-left: 1110px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-39 {\n padding-right: 1110px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-39 {\n padding-left: 1092px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-39 {\n padding-right: 1092px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-39 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-39 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-40 {\n padding-left: 1138px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-40 {\n padding-right: 1138px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-40 {\n padding-left: 1120px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-40 {\n padding-right: 1120px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-40 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-40 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-41 {\n padding-left: 1166px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-41 {\n padding-right: 1166px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-41 {\n padding-left: 1148px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-41 {\n padding-right: 1148px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-41 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-41 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-42 {\n padding-left: 1194px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-42 {\n padding-right: 1194px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-42 {\n padding-left: 1176px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-42 {\n padding-right: 1176px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-42 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-42 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-43 {\n padding-left: 1222px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-43 {\n padding-right: 1222px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-43 {\n padding-left: 1204px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-43 {\n padding-right: 1204px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-43 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-43 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-44 {\n padding-left: 1250px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-44 {\n padding-right: 1250px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-44 {\n padding-left: 1232px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-44 {\n padding-right: 1232px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-44 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-44 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-45 {\n padding-left: 1278px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-45 {\n padding-right: 1278px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-45 {\n padding-left: 1260px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-45 {\n padding-right: 1260px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-45 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-45 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-46 {\n padding-left: 1306px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-46 {\n padding-right: 1306px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-46 {\n padding-left: 1288px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-46 {\n padding-right: 1288px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-46 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-46 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-47 {\n padding-left: 1334px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-47 {\n padding-right: 1334px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-47 {\n padding-left: 1316px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-47 {\n padding-right: 1316px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-47 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-47 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-48 {\n padding-left: 1362px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-48 {\n padding-right: 1362px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-48 {\n padding-left: 1344px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-48 {\n padding-right: 1344px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-48 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-48 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-49 {\n padding-left: 1390px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-49 {\n padding-right: 1390px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-49 {\n padding-left: 1372px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-49 {\n padding-right: 1372px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-49 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-49 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-50 {\n padding-left: 1418px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-50 {\n padding-right: 1418px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-50 {\n padding-left: 1400px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-50 {\n padding-right: 1400px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-50 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-50 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-51 {\n padding-left: 1446px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-51 {\n padding-right: 1446px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-51 {\n padding-left: 1428px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-51 {\n padding-right: 1428px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-51 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-51 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-52 {\n padding-left: 1474px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-52 {\n padding-right: 1474px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-52 {\n padding-left: 1456px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-52 {\n padding-right: 1456px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-52 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-52 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-53 {\n padding-left: 1502px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-53 {\n padding-right: 1502px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-53 {\n padding-left: 1484px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-53 {\n padding-right: 1484px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-53 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-53 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-54 {\n padding-left: 1530px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-54 {\n padding-right: 1530px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-54 {\n padding-left: 1512px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-54 {\n padding-right: 1512px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-54 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-54 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-55 {\n padding-left: 1558px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-55 {\n padding-right: 1558px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-55 {\n padding-left: 1540px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-55 {\n padding-right: 1540px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-55 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-55 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-56 {\n padding-left: 1586px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-56 {\n padding-right: 1586px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-56 {\n padding-left: 1568px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-56 {\n padding-right: 1568px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-56 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-56 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-57 {\n padding-left: 1614px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-57 {\n padding-right: 1614px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-57 {\n padding-left: 1596px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-57 {\n padding-right: 1596px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-57 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-57 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-58 {\n padding-left: 1642px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-58 {\n padding-right: 1642px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-58 {\n padding-left: 1624px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-58 {\n padding-right: 1624px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-58 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-58 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-59 {\n padding-left: 1670px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-59 {\n padding-right: 1670px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-59 {\n padding-left: 1652px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-59 {\n padding-right: 1652px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-59 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-59 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-60 {\n padding-left: 1698px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-60 {\n padding-right: 1698px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-60 {\n padding-left: 1680px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-60 {\n padding-right: 1680px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-60 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-60 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-61 {\n padding-left: 1726px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-61 {\n padding-right: 1726px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-61 {\n padding-left: 1708px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-61 {\n padding-right: 1708px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-61 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-61 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-62 {\n padding-left: 1754px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-62 {\n padding-right: 1754px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-62 {\n padding-left: 1736px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-62 {\n padding-right: 1736px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-62 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-62 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-63 {\n padding-left: 1782px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-63 {\n padding-right: 1782px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-63 {\n padding-left: 1764px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-63 {\n padding-right: 1764px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-63 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-63 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-64 {\n padding-left: 1810px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-64 {\n padding-right: 1810px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-64 {\n padding-left: 1792px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-64 {\n padding-right: 1792px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-64 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-64 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-65 {\n padding-left: 1838px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-65 {\n padding-right: 1838px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-65 {\n padding-left: 1820px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-65 {\n padding-right: 1820px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-65 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-65 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-66 {\n padding-left: 1866px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-66 {\n padding-right: 1866px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-66 {\n padding-left: 1848px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-66 {\n padding-right: 1848px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-66 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-66 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-67 {\n padding-left: 1894px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-67 {\n padding-right: 1894px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-67 {\n padding-left: 1876px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-67 {\n padding-right: 1876px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-67 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-67 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-68 {\n padding-left: 1922px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-68 {\n padding-right: 1922px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-68 {\n padding-left: 1904px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-68 {\n padding-right: 1904px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-68 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-68 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-69 {\n padding-left: 1950px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-69 {\n padding-right: 1950px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-69 {\n padding-left: 1932px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-69 {\n padding-right: 1932px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-69 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-69 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-70 {\n padding-left: 1978px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-70 {\n padding-right: 1978px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-70 {\n padding-left: 1960px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-70 {\n padding-right: 1960px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-70 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-70 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-71 {\n padding-left: 2006px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-71 {\n padding-right: 2006px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-71 {\n padding-left: 1988px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-71 {\n padding-right: 1988px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-71 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-71 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-72 {\n padding-left: 2034px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-72 {\n padding-right: 2034px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-72 {\n padding-left: 2016px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-72 {\n padding-right: 2016px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-72 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-72 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-73 {\n padding-left: 2062px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-73 {\n padding-right: 2062px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-73 {\n padding-left: 2044px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-73 {\n padding-right: 2044px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-73 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-73 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-74 {\n padding-left: 2090px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-74 {\n padding-right: 2090px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-74 {\n padding-left: 2072px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-74 {\n padding-right: 2072px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-74 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-74 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-75 {\n padding-left: 2118px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-75 {\n padding-right: 2118px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-75 {\n padding-left: 2100px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-75 {\n padding-right: 2100px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-75 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-75 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-76 {\n padding-left: 2146px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-76 {\n padding-right: 2146px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-76 {\n padding-left: 2128px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-76 {\n padding-right: 2128px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-76 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-76 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-77 {\n padding-left: 2174px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-77 {\n padding-right: 2174px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-77 {\n padding-left: 2156px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-77 {\n padding-right: 2156px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-77 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-77 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-78 {\n padding-left: 2202px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-78 {\n padding-right: 2202px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-78 {\n padding-left: 2184px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-78 {\n padding-right: 2184px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-78 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-78 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-79 {\n padding-left: 2230px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-79 {\n padding-right: 2230px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-79 {\n padding-left: 2212px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-79 {\n padding-right: 2212px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-79 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-79 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-80 {\n padding-left: 2258px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-80 {\n padding-right: 2258px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-80 {\n padding-left: 2240px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-80 {\n padding-right: 2240px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-80 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-80 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-81 {\n padding-left: 2286px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-81 {\n padding-right: 2286px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-81 {\n padding-left: 2268px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-81 {\n padding-right: 2268px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-81 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-81 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-82 {\n padding-left: 2314px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-82 {\n padding-right: 2314px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-82 {\n padding-left: 2296px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-82 {\n padding-right: 2296px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-82 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-82 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-83 {\n padding-left: 2342px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-83 {\n padding-right: 2342px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-83 {\n padding-left: 2324px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-83 {\n padding-right: 2324px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-83 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-83 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-84 {\n padding-left: 2370px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-84 {\n padding-right: 2370px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-84 {\n padding-left: 2352px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-84 {\n padding-right: 2352px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-84 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-84 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-85 {\n padding-left: 2398px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-85 {\n padding-right: 2398px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-85 {\n padding-left: 2380px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-85 {\n padding-right: 2380px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-85 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-85 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-86 {\n padding-left: 2426px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-86 {\n padding-right: 2426px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-86 {\n padding-left: 2408px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-86 {\n padding-right: 2408px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-86 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-86 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-87 {\n padding-left: 2454px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-87 {\n padding-right: 2454px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-87 {\n padding-left: 2436px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-87 {\n padding-right: 2436px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-87 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-87 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-88 {\n padding-left: 2482px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-88 {\n padding-right: 2482px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-88 {\n padding-left: 2464px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-88 {\n padding-right: 2464px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-88 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-88 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-89 {\n padding-left: 2510px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-89 {\n padding-right: 2510px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-89 {\n padding-left: 2492px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-89 {\n padding-right: 2492px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-89 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-89 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-90 {\n padding-left: 2538px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-90 {\n padding-right: 2538px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-90 {\n padding-left: 2520px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-90 {\n padding-right: 2520px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-90 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-90 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-91 {\n padding-left: 2566px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-91 {\n padding-right: 2566px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-91 {\n padding-left: 2548px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-91 {\n padding-right: 2548px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-91 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-91 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-92 {\n padding-left: 2594px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-92 {\n padding-right: 2594px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-92 {\n padding-left: 2576px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-92 {\n padding-right: 2576px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-92 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-92 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-93 {\n padding-left: 2622px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-93 {\n padding-right: 2622px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-93 {\n padding-left: 2604px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-93 {\n padding-right: 2604px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-93 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-93 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-94 {\n padding-left: 2650px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-94 {\n padding-right: 2650px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-94 {\n padding-left: 2632px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-94 {\n padding-right: 2632px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-94 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-94 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-95 {\n padding-left: 2678px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-95 {\n padding-right: 2678px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-95 {\n padding-left: 2660px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-95 {\n padding-right: 2660px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-95 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-95 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-96 {\n padding-left: 2706px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-96 {\n padding-right: 2706px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-96 {\n padding-left: 2688px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-96 {\n padding-right: 2688px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-96 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-96 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-97 {\n padding-left: 2734px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-97 {\n padding-right: 2734px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-97 {\n padding-left: 2716px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-97 {\n padding-right: 2716px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-97 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-97 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-98 {\n padding-left: 2762px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-98 {\n padding-right: 2762px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-98 {\n padding-left: 2744px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-98 {\n padding-right: 2744px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-98 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-98 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-99 {\n padding-left: 2790px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-99 {\n padding-right: 2790px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-indent-99 {\n padding-left: 2772px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-indent-99 {\n padding-right: 2772px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-level-99 .ag-pivot-leaf-group {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-level-99 .ag-pivot-leaf-group {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-row-group-leaf-indent {\n margin-left: 28px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-row-group-leaf-indent {\n margin-right: 28px;\n}\n\n.ag-theme-alpine .ag-value-change-delta {\n padding-right: 2px;\n}\n.ag-theme-alpine .ag-value-change-delta-up {\n color: #43a047;\n color: var(--ag-value-change-delta-up-color, #43a047);\n}\n.ag-theme-alpine .ag-value-change-delta-down {\n color: #e53935;\n color: var(--ag-value-change-delta-down-color, #e53935);\n}\n.ag-theme-alpine .ag-value-change-value {\n background-color: transparent;\n border-radius: 1px;\n padding-left: 1px;\n padding-right: 1px;\n transition: background-color 1s;\n}\n.ag-theme-alpine .ag-value-change-value-highlight {\n background-color: rgba(22, 160, 133, 0.5);\n background-color: var(--ag-value-change-value-highlight-background-color, rgba(22, 160, 133, 0.5));\n transition: background-color 0.1s;\n}\n.ag-theme-alpine .ag-cell-data-changed {\n background-color: rgba(22, 160, 133, 0.5) !important;\n background-color: var(--ag-value-change-value-highlight-background-color, rgba(22, 160, 133, 0.5)) !important;\n}\n.ag-theme-alpine .ag-cell-data-changed-animation {\n background-color: transparent;\n}\n.ag-theme-alpine .ag-cell-highlight {\n background-color: #2196f3 !important;\n background-color: var(--ag-range-selection-highlight-color, var(--ag-range-selection-border-color, #2196f3)) !important;\n}\n.ag-theme-alpine .ag-row {\n height: 42px;\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\n color: #2a292c;\n color: var(--ag-data-color, #2a292c);\n border-width: 1px;\n border-color: #eaeaea;\n border-color: var(--ag-row-border-color, var(--ag-secondary-border-color, #eaeaea));\n border-bottom-style: solid;\n}\n.ag-theme-alpine .ag-row-highlight-above::after, .ag-theme-alpine .ag-row-highlight-below::after {\n content: \"\";\n position: absolute;\n width: calc(100% - 1px);\n height: 1px;\n background-color: #2196f3;\n background-color: var(--ag-range-selection-border-color, #2196f3);\n left: 1px;\n}\n.ag-theme-alpine .ag-row-highlight-above::after {\n top: -1px;\n}\n.ag-theme-alpine .ag-row-highlight-above.ag-row-first::after {\n top: 0;\n}\n.ag-theme-alpine .ag-row-highlight-below::after {\n bottom: 0px;\n}\n.ag-theme-alpine .ag-row-odd {\n background-color: #ffffff;\n background-color: var(--ag-odd-row-background-color, #ffffff);\n}\n.ag-theme-alpine .ag-body-horizontal-scroll:not(.ag-scrollbar-invisible) .ag-horizontal-left-spacer:not(.ag-scroller-corner) {\n border-right: solid 1px;\n border-right-color: #eaeaea;\n border-right-color: var(--ag-border-color, #eaeaea);\n}\n.ag-theme-alpine .ag-body-horizontal-scroll:not(.ag-scrollbar-invisible) .ag-horizontal-right-spacer:not(.ag-scroller-corner) {\n border-left: solid 1px;\n border-left-color: #eaeaea;\n border-left-color: var(--ag-border-color, #eaeaea);\n}\n.ag-theme-alpine .ag-row-hover {\n background-color: #eaeaea;\n background-color: var(--ag-row-hover-color, #eaeaea);\n}\n.ag-theme-alpine .ag-column-hover {\n background-color: rgba(0, 113, 152, 0.1);\n background-color: var(--ag-column-hover-color, rgba(0, 113, 152, 0.1));\n}\n.ag-theme-alpine .ag-ltr .ag-right-aligned-cell {\n text-align: right;\n}\n\n.ag-theme-alpine .ag-rtl .ag-right-aligned-cell {\n text-align: left;\n}\n\n.ag-theme-alpine .ag-ltr .ag-right-aligned-cell .ag-cell-value, .ag-theme-alpine .ag-ltr .ag-right-aligned-cell .ag-group-value {\n margin-left: auto;\n}\n\n.ag-theme-alpine .ag-rtl .ag-right-aligned-cell .ag-cell-value, .ag-theme-alpine .ag-rtl .ag-right-aligned-cell .ag-group-value {\n margin-right: auto;\n}\n\n.ag-theme-alpine .ag-cell, .ag-theme-alpine .ag-full-width-row .ag-cell-wrapper.ag-row-group {\n border: 1px solid transparent;\n line-height: min(var(--ag-line-height, 40px), 40px);\n padding-left: 17px;\n padding-right: 17px;\n -webkit-font-smoothing: subpixel-antialiased;\n}\n.ag-theme-alpine .ag-row > .ag-cell-wrapper {\n padding-left: 17px;\n padding-right: 17px;\n}\n.ag-theme-alpine .ag-row-dragging {\n cursor: move;\n opacity: 0.5;\n}\n.ag-theme-alpine .ag-cell-inline-editing {\n background: #ffffff;\n background: var(--ag-background-color, #ffffff);\n border-radius: 3px;\n box-shadow: 0 1px 4px 1px rgba(186, 191, 199, 0.4);\n padding: 6px;\n padding: 0;\n height: 42px;\n background-color: #f8f8f8;\n background-color: var(--ag-control-panel-background-color, #f8f8f8);\n}\n.ag-theme-alpine .ag-popup-editor {\n background: #ffffff;\n background: var(--ag-background-color, #ffffff);\n border-radius: 3px;\n box-shadow: 0 1px 4px 1px rgba(186, 191, 199, 0.4);\n padding: 6px;\n background-color: #f8f8f8;\n background-color: var(--ag-control-panel-background-color, #f8f8f8);\n padding: 0;\n}\n.ag-theme-alpine .ag-large-text-input {\n height: auto;\n padding: 18px;\n}\n.ag-theme-alpine .ag-details-row {\n padding: 30px;\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\n}\n.ag-theme-alpine .ag-layout-auto-height .ag-center-cols-clipper, .ag-theme-alpine .ag-layout-auto-height .ag-center-cols-container, .ag-theme-alpine .ag-layout-print .ag-center-cols-clipper, .ag-theme-alpine .ag-layout-print .ag-center-cols-container {\n min-height: 50px;\n}\n.ag-theme-alpine .ag-overlay-loading-wrapper {\n background-color: rgba(255, 255, 255, 0.66);\n background-color: var(--ag-modal-overlay-background-color, rgba(255, 255, 255, 0.66));\n}\n.ag-theme-alpine .ag-overlay-loading-center {\n background: #ffffff;\n background: var(--ag-background-color, #ffffff);\n border-radius: 3px;\n box-shadow: 0 1px 4px 1px rgba(186, 191, 199, 0.4);\n padding: 6px;\n}\n.ag-theme-alpine .ag-overlay-no-rows-wrapper.ag-layout-auto-height {\n padding-top: 30px;\n}\n.ag-theme-alpine .ag-loading {\n padding-left: 18px;\n display: flex;\n height: 100%;\n align-items: center;\n}\n.ag-theme-alpine .ag-loading-icon {\n padding-right: 12px;\n}\n.ag-theme-alpine .ag-icon-loading {\n animation-name: spin;\n animation-duration: 1000ms;\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n}\n@keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n.ag-theme-alpine .ag-floating-top {\n border-bottom: solid 1px;\n border-bottom-color: #eaeaea;\n border-bottom-color: var(--ag-border-color, #eaeaea);\n}\n.ag-theme-alpine .ag-floating-bottom {\n border-top: solid 1px;\n border-top-color: #eaeaea;\n border-top-color: var(--ag-border-color, #eaeaea);\n}\n.ag-theme-alpine .ag-ltr .ag-cell {\n border-right: solid transparent;\n}\n\n.ag-theme-alpine .ag-rtl .ag-cell {\n border-left: solid transparent;\n}\n\n.ag-theme-alpine .ag-ltr .ag-cell {\n border-right-width: 1px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-cell {\n border-left-width: 1px;\n}\n\n.ag-theme-alpine .ag-cell.ag-cell-first-right-pinned:not(.ag-cell-range-left):not(.ag-cell-range-single-cell) {\n border-left: solid 1px;\n border-left-color: #eaeaea;\n border-left-color: var(--ag-border-color, #eaeaea);\n}\n.ag-theme-alpine .ag-cell.ag-cell-last-left-pinned:not(.ag-cell-range-right):not(.ag-cell-range-single-cell) {\n border-right: solid 1px;\n border-right-color: #eaeaea;\n border-right-color: var(--ag-border-color, #eaeaea);\n}\n.ag-theme-alpine .ag-row-selected {\n background-color: rgba(0, 113, 152, 0.3);\n background-color: var(--ag-selected-row-background-color, rgba(0, 113, 152, 0.3));\n}\n.ag-theme-alpine .ag-cell-range-selected:not(.ag-cell-focus),\n.ag-theme-alpine .ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing) {\n background-color: rgba(33, 150, 243, 0.2);\n background-color: var(--ag-range-selection-background-color, rgba(33, 150, 243, 0.2));\n}\n.ag-theme-alpine .ag-cell-range-selected:not(.ag-cell-focus).ag-cell-range-chart,\n.ag-theme-alpine .ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing).ag-cell-range-chart {\n background-color: rgba(0, 88, 255, 0.1) !important;\n background-color: var(--ag-range-selection-chart-background-color, rgba(0, 88, 255, 0.1)) !important;\n}\n.ag-theme-alpine .ag-cell-range-selected:not(.ag-cell-focus).ag-cell-range-chart.ag-cell-range-chart-category,\n.ag-theme-alpine .ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing).ag-cell-range-chart.ag-cell-range-chart-category {\n background-color: rgba(0, 255, 132, 0.1) !important;\n background-color: var(--ag-range-selection-chart-category-background-color, rgba(0, 255, 132, 0.1)) !important;\n}\n.ag-theme-alpine .ag-cell-range-selected-1:not(.ag-cell-focus),\n.ag-theme-alpine .ag-root:not(.ag-context-menu-open) .ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-1:not(.ag-cell-inline-editing) {\n background-color: rgba(33, 150, 243, 0.2);\n background-color: var(--ag-range-selection-background-color-1, var(--ag-range-selection-background-color, rgba(33, 150, 243, 0.2)));\n}\n.ag-theme-alpine .ag-cell-range-selected-2:not(.ag-cell-focus),\n.ag-theme-alpine .ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-2 {\n background-color: rgba(33, 150, 243, 0.36);\n background-color: var(--ag-range-selection-background-color-2, rgba(33, 150, 243, 0.36));\n}\n.ag-theme-alpine .ag-cell-range-selected-3:not(.ag-cell-focus),\n.ag-theme-alpine .ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-3 {\n background-color: rgba(33, 150, 243, 0.488);\n background-color: var(--ag-range-selection-background-color-3, rgba(33, 150, 243, 0.488));\n}\n.ag-theme-alpine .ag-cell-range-selected-4:not(.ag-cell-focus),\n.ag-theme-alpine .ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-4 {\n background-color: rgba(33, 150, 243, 0.5904);\n background-color: var(--ag-range-selection-background-color-4, rgba(33, 150, 243, 0.5904));\n}\n.ag-theme-alpine .ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-top {\n border-top-color: #2196f3;\n border-top-color: var(--ag-range-selection-border-color, #2196f3);\n}\n.ag-theme-alpine .ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-right {\n border-right-color: #2196f3;\n border-right-color: var(--ag-range-selection-border-color, #2196f3);\n}\n.ag-theme-alpine .ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-bottom {\n border-bottom-color: #2196f3;\n border-bottom-color: var(--ag-range-selection-border-color, #2196f3);\n}\n.ag-theme-alpine .ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-left {\n border-left-color: #2196f3;\n border-left-color: var(--ag-range-selection-border-color, #2196f3);\n}\n.ag-theme-alpine .ag-ltr .ag-has-focus .ag-cell-focus:not(.ag-cell-range-selected),\n.ag-theme-alpine .ag-ltr .ag-context-menu-open .ag-cell-focus:not(.ag-cell-range-selected),\n.ag-theme-alpine .ag-ltr .ag-has-focus .ag-full-width-row.ag-row-focus .ag-cell-wrapper.ag-row-group,\n.ag-theme-alpine .ag-ltr .ag-cell-range-single-cell,\n.ag-theme-alpine .ag-ltr .ag-cell-range-single-cell.ag-cell-range-handle, .ag-theme-alpine .ag-rtl .ag-has-focus .ag-cell-focus:not(.ag-cell-range-selected),\n.ag-theme-alpine .ag-rtl .ag-context-menu-open .ag-cell-focus:not(.ag-cell-range-selected),\n.ag-theme-alpine .ag-rtl .ag-has-focus .ag-full-width-row.ag-row-focus .ag-cell-wrapper.ag-row-group,\n.ag-theme-alpine .ag-rtl .ag-cell-range-single-cell,\n.ag-theme-alpine .ag-rtl .ag-cell-range-single-cell.ag-cell-range-handle {\n border: 1px solid;\n border-color: #2196f3;\n border-color: var(--ag-range-selection-border-color, #2196f3);\n outline: initial;\n}\n.ag-theme-alpine .ag-cell.ag-selection-fill-top,\n.ag-theme-alpine .ag-cell.ag-selection-fill-top.ag-cell-range-selected {\n border-top: 1px dashed;\n border-top-color: #2196f3;\n border-top-color: var(--ag-range-selection-border-color, #2196f3);\n}\n.ag-theme-alpine .ag-ltr .ag-cell.ag-selection-fill-right, .ag-theme-alpine .ag-ltr .ag-cell.ag-selection-fill-right.ag-cell-range-selected {\n border-right: 1px dashed;\n border-right-color: #2196f3;\n border-right-color: var(--ag-range-selection-border-color, #2196f3);\n}\n\n.ag-theme-alpine .ag-rtl .ag-cell.ag-selection-fill-right, .ag-theme-alpine .ag-rtl .ag-cell.ag-selection-fill-right.ag-cell-range-selected {\n border-left: 1px dashed;\n border-left-color: #2196f3;\n border-left-color: var(--ag-range-selection-border-color, #2196f3);\n}\n\n.ag-theme-alpine .ag-cell.ag-selection-fill-bottom,\n.ag-theme-alpine .ag-cell.ag-selection-fill-bottom.ag-cell-range-selected {\n border-bottom: 1px dashed;\n border-bottom-color: #2196f3;\n border-bottom-color: var(--ag-range-selection-border-color, #2196f3);\n}\n.ag-theme-alpine .ag-ltr .ag-cell.ag-selection-fill-left, .ag-theme-alpine .ag-ltr .ag-cell.ag-selection-fill-left.ag-cell-range-selected {\n border-left: 1px dashed;\n border-left-color: #2196f3;\n border-left-color: var(--ag-range-selection-border-color, #2196f3);\n}\n\n.ag-theme-alpine .ag-rtl .ag-cell.ag-selection-fill-left, .ag-theme-alpine .ag-rtl .ag-cell.ag-selection-fill-left.ag-cell-range-selected {\n border-right: 1px dashed;\n border-right-color: #2196f3;\n border-right-color: var(--ag-range-selection-border-color, #2196f3);\n}\n\n.ag-theme-alpine .ag-range-handle, .ag-theme-alpine .ag-fill-handle {\n position: absolute;\n width: 6px;\n height: 6px;\n bottom: -1px;\n background-color: #2196f3;\n background-color: var(--ag-range-selection-border-color, #2196f3);\n}\n.ag-theme-alpine .ag-ltr .ag-range-handle, .ag-theme-alpine .ag-ltr .ag-fill-handle {\n right: -1px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-range-handle, .ag-theme-alpine .ag-rtl .ag-fill-handle {\n left: -1px;\n}\n\n.ag-theme-alpine .ag-fill-handle {\n cursor: cell;\n}\n.ag-theme-alpine .ag-range-handle {\n cursor: nwse-resize;\n}\n.ag-theme-alpine .ag-cell-inline-editing {\n border-color: rgba(0, 113, 152, 0.4) !important;\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4)) !important;\n}\n.ag-theme-alpine .ag-menu {\n background: #ffffff;\n background: var(--ag-background-color, #ffffff);\n border-radius: 3px;\n box-shadow: 0 1px 4px 1px rgba(186, 191, 199, 0.4);\n padding: 6px;\n padding: 0;\n}\n.ag-theme-alpine .ag-menu-list {\n cursor: default;\n padding: 6px 0;\n}\n.ag-theme-alpine .ag-menu-separator {\n height: 13px;\n}\n.ag-theme-alpine .ag-menu-separator-part::after {\n content: \"\";\n display: block;\n border-top: solid 1px;\n border-top-color: #eaeaea;\n border-top-color: var(--ag-border-color, #eaeaea);\n}\n.ag-theme-alpine .ag-menu-option-active, .ag-theme-alpine .ag-compact-menu-option-active {\n background-color: #eaeaea;\n background-color: var(--ag-row-hover-color, #eaeaea);\n}\n.ag-theme-alpine .ag-menu-option-part, .ag-theme-alpine .ag-compact-menu-option-part {\n line-height: 16px;\n padding: 8px 0;\n}\n.ag-theme-alpine .ag-menu-option-disabled, .ag-theme-alpine .ag-compact-menu-option-disabled {\n opacity: 0.5;\n}\n.ag-theme-alpine .ag-menu-option-icon, .ag-theme-alpine .ag-compact-menu-option-icon {\n width: 16px;\n}\n.ag-theme-alpine .ag-ltr .ag-menu-option-icon, .ag-theme-alpine .ag-ltr .ag-compact-menu-option-icon {\n padding-left: 12px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-menu-option-icon, .ag-theme-alpine .ag-rtl .ag-compact-menu-option-icon {\n padding-right: 12px;\n}\n\n.ag-theme-alpine .ag-menu-option-text, .ag-theme-alpine .ag-compact-menu-option-text {\n padding-left: 12px;\n padding-right: 12px;\n}\n.ag-theme-alpine .ag-ltr .ag-menu-option-shortcut, .ag-theme-alpine .ag-ltr .ag-compact-menu-option-shortcut {\n padding-right: 6px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-menu-option-shortcut, .ag-theme-alpine .ag-rtl .ag-compact-menu-option-shortcut {\n padding-left: 6px;\n}\n\n.ag-theme-alpine .ag-menu-option-popup-pointer, .ag-theme-alpine .ag-compact-menu-option-popup-pointer {\n padding-right: 6px;\n}\n.ag-theme-alpine .ag-tabs {\n min-width: 240px;\n}\n.ag-theme-alpine .ag-tabs-header {\n width: 100%;\n display: flex;\n}\n.ag-theme-alpine .ag-tab {\n border-bottom: 2px solid transparent;\n display: flex;\n flex: none;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n flex: 1 1 auto;\n transition: border-bottom 0.3s;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-tab:focus {\n outline: none;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-tab:focus::after {\n content: \"\";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n border: 1px solid;\n border-color: rgba(0, 113, 152, 0.4);\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine .ag-tab-selected {\n border-bottom-color: #007198;\n border-bottom-color: var(--ag-selected-tab-underline-color, var(--ag-alpine-active-color, #007198));\n}\n.ag-theme-alpine .ag-menu-header {\n color: #2a292c;\n color: var(--ag-secondary-foreground-color, var(--ag-foreground-color, #2a292c));\n}\n.ag-theme-alpine .ag-filter-separator {\n border-top: solid 1px;\n border-top-color: #eaeaea;\n border-top-color: var(--ag-border-color, #eaeaea);\n}\n.ag-theme-alpine .ag-menu:not(.ag-tabs) .ag-filter-select {\n min-width: 155px;\n}\n.ag-theme-alpine .ag-tabs .ag-filter-select {\n min-width: 214px;\n}\n.ag-theme-alpine .ag-filter-select .ag-picker-field-wrapper {\n width: 0;\n}\n.ag-theme-alpine .ag-filter-condition-operator {\n height: 17px;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-condition-operator-or {\n margin-left: 12px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-condition-operator-or {\n margin-right: 12px;\n}\n\n.ag-theme-alpine .ag-set-filter-select-all {\n padding-top: 12px;\n}\n.ag-theme-alpine .ag-set-filter-list, .ag-theme-alpine .ag-filter-no-matches {\n height: 144px;\n}\n.ag-theme-alpine .ag-set-filter-filter {\n margin-top: 12px;\n margin-left: 12px;\n margin-right: 12px;\n}\n.ag-theme-alpine .ag-filter-to {\n margin-top: 9px;\n}\n.ag-theme-alpine .ag-mini-filter {\n margin: 12px 12px;\n}\n.ag-theme-alpine .ag-set-filter-item {\n margin: 0px 12px;\n}\n.ag-theme-alpine .ag-ltr .ag-set-filter-item-value {\n margin-left: 12px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-set-filter-item-value {\n margin-right: 12px;\n}\n\n.ag-theme-alpine .ag-filter-apply-panel {\n padding: 12px 12px;\n}\n.ag-theme-alpine .ag-filter-apply-panel-button {\n line-height: 1.5;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-apply-panel-button {\n margin-left: 12px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-apply-panel-button {\n margin-right: 12px;\n}\n\n.ag-theme-alpine .ag-simple-filter-body-wrapper {\n padding: 12px 12px;\n padding-bottom: 3px;\n}\n.ag-theme-alpine .ag-simple-filter-body-wrapper > * {\n margin-bottom: 9px;\n}\n.ag-theme-alpine .ag-filter-no-matches {\n padding: 12px 12px;\n}\n.ag-theme-alpine .ag-multi-filter-menu-item {\n margin: 6px 0;\n}\n.ag-theme-alpine .ag-multi-filter-group-title-bar {\n padding: 12px 6px;\n background-color: transparent;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-multi-filter-group-title-bar:focus {\n outline: none;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-multi-filter-group-title-bar:focus::after {\n content: \"\";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n border: 1px solid;\n border-color: rgba(0, 113, 152, 0.4);\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine .ag-side-bar {\n position: relative;\n}\n.ag-theme-alpine .ag-tool-panel-wrapper {\n width: 250px;\n background-color: #f8f8f8;\n background-color: var(--ag-control-panel-background-color, #f8f8f8);\n}\n.ag-theme-alpine .ag-side-buttons {\n padding-top: 24px;\n width: 20px;\n position: relative;\n color: #2a292c;\n color: var(--ag-foreground-color, #2a292c);\n overflow: hidden;\n}\n.ag-theme-alpine button.ag-side-button-button {\n color: inherit;\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n background: transparent;\n padding: 12px 0 12px 0;\n width: 100%;\n margin: 0;\n min-height: 108px;\n background-position-y: center;\n background-position-x: center;\n background-repeat: no-repeat;\n border: none;\n}\n.ag-theme-alpine button.ag-side-button-button:focus {\n box-shadow: none;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-side-button-button:focus {\n outline: none;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-side-button-button:focus::after {\n content: \"\";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n border: 1px solid;\n border-color: rgba(0, 113, 152, 0.4);\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine .ag-side-button-icon-wrapper {\n margin-bottom: 3px;\n}\n.ag-theme-alpine .ag-ltr .ag-side-bar-left .ag-side-button-button,\n.ag-theme-alpine .ag-rtl .ag-side-bar-right .ag-side-button-button {\n border-right: 2px solid transparent;\n transition: border-right 0.3s;\n}\n.ag-theme-alpine .ag-ltr .ag-side-bar-left .ag-selected .ag-side-button-button,\n.ag-theme-alpine .ag-rtl .ag-side-bar-right .ag-selected .ag-side-button-button {\n border-right-color: #007198;\n border-right-color: var(--ag-selected-tab-underline-color, var(--ag-alpine-active-color, #007198));\n}\n.ag-theme-alpine .ag-rtl .ag-side-bar-left .ag-side-button-button,\n.ag-theme-alpine .ag-ltr .ag-side-bar-right .ag-side-button-button {\n border-left: 2px solid transparent;\n transition: border-left 0.3s;\n}\n.ag-theme-alpine .ag-rtl .ag-side-bar-left .ag-selected .ag-side-button-button,\n.ag-theme-alpine .ag-ltr .ag-side-bar-right .ag-selected .ag-side-button-button {\n border-left-color: #007198;\n border-left-color: var(--ag-selected-tab-underline-color, var(--ag-alpine-active-color, #007198));\n}\n.ag-theme-alpine .ag-filter-toolpanel-header {\n height: 36px;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-header, .ag-theme-alpine .ag-ltr .ag-filter-toolpanel-search {\n padding-left: 6px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-header, .ag-theme-alpine .ag-rtl .ag-filter-toolpanel-search {\n padding-right: 6px;\n}\n\n.ag-theme-alpine .ag-keyboard-focus .ag-filter-toolpanel-header:focus {\n outline: none;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-filter-toolpanel-header:focus::after {\n content: \"\";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n border: 1px solid;\n border-color: rgba(0, 113, 152, 0.4);\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine .ag-filter-toolpanel-group.ag-has-filter > .ag-group-title-bar .ag-group-title::after {\n font-family: \"agGridAlpine\";\n font-size: 16px;\n line-height: 16px;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n /* Better Font Rendering =========== */\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n content: \"\\f114\";\n position: absolute;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group.ag-has-filter > .ag-group-title-bar .ag-group-title::after {\n padding-left: 6px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group.ag-has-filter > .ag-group-title-bar .ag-group-title::after {\n padding-right: 6px;\n}\n\n.ag-theme-alpine .ag-filter-toolpanel-group-level-0-header {\n height: 48px;\n}\n.ag-theme-alpine .ag-filter-toolpanel-group-item {\n margin-top: 3px;\n margin-bottom: 3px;\n}\n.ag-theme-alpine .ag-filter-toolpanel-search {\n height: 48px;\n}\n.ag-theme-alpine .ag-filter-toolpanel-search-input {\n flex-grow: 1;\n height: 24px;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-search-input {\n margin-right: 6px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-search-input {\n margin-left: 6px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-expand, .ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group-title-bar-icon {\n margin-right: 6px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-expand, .ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group-title-bar-icon {\n margin-left: 6px;\n}\n\n.ag-theme-alpine .ag-filter-toolpanel-group-level-1 .ag-filter-toolpanel-group-level-1-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group-level-1 .ag-filter-toolpanel-group-level-2-header {\n padding-left: 22px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group-level-1 .ag-filter-toolpanel-group-level-2-header {\n padding-right: 22px;\n}\n\n.ag-theme-alpine .ag-filter-toolpanel-group-level-2 .ag-filter-toolpanel-group-level-2-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group-level-2 .ag-filter-toolpanel-group-level-3-header {\n padding-left: 38px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group-level-2 .ag-filter-toolpanel-group-level-3-header {\n padding-right: 38px;\n}\n\n.ag-theme-alpine .ag-filter-toolpanel-group-level-3 .ag-filter-toolpanel-group-level-3-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group-level-3 .ag-filter-toolpanel-group-level-4-header {\n padding-left: 54px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group-level-3 .ag-filter-toolpanel-group-level-4-header {\n padding-right: 54px;\n}\n\n.ag-theme-alpine .ag-filter-toolpanel-group-level-4 .ag-filter-toolpanel-group-level-4-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group-level-4 .ag-filter-toolpanel-group-level-5-header {\n padding-left: 70px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group-level-4 .ag-filter-toolpanel-group-level-5-header {\n padding-right: 70px;\n}\n\n.ag-theme-alpine .ag-filter-toolpanel-group-level-5 .ag-filter-toolpanel-group-level-5-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group-level-5 .ag-filter-toolpanel-group-level-6-header {\n padding-left: 86px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group-level-5 .ag-filter-toolpanel-group-level-6-header {\n padding-right: 86px;\n}\n\n.ag-theme-alpine .ag-filter-toolpanel-group-level-6 .ag-filter-toolpanel-group-level-6-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group-level-6 .ag-filter-toolpanel-group-level-7-header {\n padding-left: 102px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group-level-6 .ag-filter-toolpanel-group-level-7-header {\n padding-right: 102px;\n}\n\n.ag-theme-alpine .ag-filter-toolpanel-group-level-7 .ag-filter-toolpanel-group-level-7-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group-level-7 .ag-filter-toolpanel-group-level-8-header {\n padding-left: 118px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group-level-7 .ag-filter-toolpanel-group-level-8-header {\n padding-right: 118px;\n}\n\n.ag-theme-alpine .ag-filter-toolpanel-group-level-8 .ag-filter-toolpanel-group-level-8-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group-level-8 .ag-filter-toolpanel-group-level-9-header {\n padding-left: 134px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group-level-8 .ag-filter-toolpanel-group-level-9-header {\n padding-right: 134px;\n}\n\n.ag-theme-alpine .ag-filter-toolpanel-group-level-9 .ag-filter-toolpanel-group-level-9-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group-level-9 .ag-filter-toolpanel-group-level-10-header {\n padding-left: 150px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group-level-9 .ag-filter-toolpanel-group-level-10-header {\n padding-right: 150px;\n}\n\n.ag-theme-alpine .ag-filter-toolpanel-group-level-10 .ag-filter-toolpanel-group-level-10-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group-level-10 .ag-filter-toolpanel-group-level-11-header {\n padding-left: 166px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group-level-10 .ag-filter-toolpanel-group-level-11-header {\n padding-right: 166px;\n}\n\n.ag-theme-alpine .ag-filter-toolpanel-instance-header.ag-filter-toolpanel-group-level-1-header {\n padding-left: 6px;\n}\n.ag-theme-alpine .ag-filter-toolpanel-instance-filter {\n margin-top: 6px;\n}\n.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-instance-header-icon {\n margin-left: 6px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-instance-header-icon {\n margin-right: 6px;\n}\n\n.ag-theme-alpine .ag-pivot-mode-panel {\n min-height: 48px;\n height: 48px;\n display: flex;\n}\n.ag-theme-alpine .ag-pivot-mode-select {\n display: flex;\n align-items: center;\n}\n.ag-theme-alpine .ag-ltr .ag-pivot-mode-select {\n margin-left: 12px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-pivot-mode-select {\n margin-right: 12px;\n}\n\n.ag-theme-alpine .ag-keyboard-focus .ag-column-select-header:focus {\n outline: none;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-column-select-header:focus::after {\n content: \"\";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n border: 1px solid;\n border-color: rgba(0, 113, 152, 0.4);\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine .ag-column-select-header {\n height: 48px;\n align-items: center;\n padding: 0 12px;\n}\n.ag-theme-alpine .ag-column-group-icons,\n.ag-theme-alpine .ag-column-select-header-icon {\n color: #2a292c;\n color: var(--ag-secondary-foreground-color, var(--ag-foreground-color, #2a292c));\n}\n.ag-theme-alpine .ag-column-select-list .ag-list-item-hovered::after {\n content: \"\";\n position: absolute;\n left: 0;\n right: 0;\n height: 1px;\n background-color: #2196f3;\n background-color: var(--ag-range-selection-border-color, #2196f3);\n}\n.ag-theme-alpine .ag-column-select-list .ag-item-highlight-top::after {\n top: 0;\n}\n.ag-theme-alpine .ag-column-select-list .ag-item-highlight-bottom::after {\n bottom: 0;\n}\n.ag-theme-alpine .ag-header {\n background-color: #ffffff;\n background-color: var(--ag-header-background-color, #ffffff);\n border-bottom: solid 1px;\n border-bottom-color: #eaeaea;\n border-bottom-color: var(--ag-border-color, #eaeaea);\n}\n.ag-theme-alpine .ag-header-row {\n color: #017a76;\n color: var(--ag-header-foreground-color, #017a76);\n height: 48px;\n}\n.ag-theme-alpine .ag-pinned-right-header {\n border-left: solid 1px;\n border-left-color: #eaeaea;\n border-left-color: var(--ag-border-color, #eaeaea);\n}\n.ag-theme-alpine .ag-pinned-left-header {\n border-right: solid 1px;\n border-right-color: #eaeaea;\n border-right-color: var(--ag-border-color, #eaeaea);\n}\n.ag-theme-alpine .ag-ltr .ag-header-cell:not(.ag-right-aligned-header) .ag-header-label-icon {\n margin-left: 6px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-header-cell:not(.ag-right-aligned-header) .ag-header-label-icon {\n margin-right: 6px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-header-cell.ag-right-aligned-header .ag-header-label-icon {\n margin-right: 6px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-header-cell.ag-right-aligned-header .ag-header-label-icon {\n margin-left: 6px;\n}\n\n.ag-theme-alpine .ag-header-cell,\n.ag-theme-alpine .ag-header-group-cell {\n padding-left: 18px;\n padding-right: 18px;\n}\n.ag-theme-alpine .ag-header-cell.ag-header-cell-moving,\n.ag-theme-alpine .ag-header-group-cell.ag-header-cell-moving {\n background-color: #ffffff;\n background-color: var(--ag-header-cell-moving-background-color, var(--ag-background-color, #ffffff));\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-header-cell:focus {\n outline: none;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-header-cell:focus::after {\n content: \"\";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n border: 1px solid;\n border-color: rgba(0, 113, 152, 0.4);\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-header-group-cell:focus {\n outline: none;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-header-group-cell:focus::after {\n content: \"\";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n border: 1px solid;\n border-color: rgba(0, 113, 152, 0.4);\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine .ag-header-icon {\n color: #2a292c;\n color: var(--ag-secondary-foreground-color, var(--ag-foreground-color, #2a292c));\n}\n.ag-theme-alpine .ag-header-expand-icon {\n cursor: pointer;\n}\n.ag-theme-alpine .ag-ltr .ag-header-expand-icon {\n padding-left: 4px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-header-expand-icon {\n padding-right: 4px;\n}\n\n.ag-theme-alpine .ag-header-row:not(:first-child) .ag-header-cell,\n.ag-theme-alpine .ag-header-row:not(:first-child) .ag-header-group-cell.ag-header-group-cell-with-group {\n border-top: solid 1px;\n border-top-color: #eaeaea;\n border-top-color: var(--ag-border-color, #eaeaea);\n}\n.ag-theme-alpine .ag-header-cell-resize {\n display: flex;\n align-items: center;\n}\n.ag-theme-alpine .ag-header-cell-resize::after {\n content: \"\";\n position: absolute;\n z-index: 1;\n display: block;\n left: calc(50% - 1px);\n width: 2px;\n height: 30%;\n top: calc(50% - 15%);\n background-color: rgba(234, 234, 234, 0.5);\n background-color: var(--ag-header-column-resize-handle-color, rgba(234, 234, 234, 0.5));\n}\n.ag-theme-alpine .ag-pinned-right-header .ag-header-cell-resize::after {\n left: calc(50% - 2px);\n}\n.ag-theme-alpine .ag-ltr .ag-header-select-all {\n margin-right: 18px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-header-select-all {\n margin-left: 18px;\n}\n\n.ag-theme-alpine .ag-ltr .ag-floating-filter-button {\n margin-left: 18px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-floating-filter-button {\n margin-right: 18px;\n}\n\n.ag-theme-alpine .ag-floating-filter-button-button {\n color: inherit;\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n appearance: none;\n background: transparent;\n border: none;\n height: 16px;\n padding: 0;\n width: 16px;\n}\n.ag-theme-alpine .ag-filter-loading {\n background-color: #f8f8f8;\n background-color: var(--ag-control-panel-background-color, #f8f8f8);\n height: 100%;\n padding: 12px 12px;\n position: absolute;\n width: 100%;\n z-index: 1;\n}\n.ag-theme-alpine .ag-paging-panel {\n border-top: 1px solid;\n border-top-color: #eaeaea;\n border-top-color: var(--ag-border-color, #eaeaea);\n color: #2a292c;\n color: var(--ag-secondary-foreground-color, var(--ag-foreground-color, #2a292c));\n height: 48px;\n}\n.ag-theme-alpine .ag-paging-panel > * {\n margin: 0 18px;\n}\n.ag-theme-alpine .ag-paging-button {\n cursor: pointer;\n}\n.ag-theme-alpine .ag-paging-button.ag-disabled {\n cursor: default;\n color: rgba(42, 41, 44, 0.5);\n color: var(--ag-disabled-foreground-color, rgba(42, 41, 44, 0.5));\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-paging-button:focus {\n outline: none;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-paging-button:focus::after {\n content: \"\";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 0px;\n left: 0px;\n display: block;\n width: calc(100% - 0px);\n height: calc(100% - 0px);\n border: 1px solid;\n border-color: rgba(0, 113, 152, 0.4);\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine .ag-paging-button, .ag-theme-alpine .ag-paging-description {\n margin: 0 6px;\n}\n.ag-theme-alpine .ag-status-bar {\n color: rgba(42, 41, 44, 0.5);\n color: var(--ag-disabled-foreground-color, rgba(42, 41, 44, 0.5));\n padding-right: 24px;\n padding-left: 24px;\n line-height: 1.5;\n}\n.ag-theme-alpine .ag-status-name-value-value {\n color: #2a292c;\n color: var(--ag-foreground-color, #2a292c);\n}\n.ag-theme-alpine .ag-status-bar-center {\n text-align: center;\n}\n.ag-theme-alpine .ag-status-name-value {\n margin-left: 6px;\n margin-right: 6px;\n padding-top: 12px;\n padding-bottom: 12px;\n}\n.ag-theme-alpine .ag-column-drop-cell {\n background: rgba(42, 41, 44, 0.07);\n background: var(--ag-chip-background-color, rgba(42, 41, 44, 0.07));\n border-radius: 24px;\n height: 24px;\n padding: 0 3px;\n border: 1px solid transparent;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-column-drop-cell:focus {\n outline: none;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-column-drop-cell:focus::after {\n content: \"\";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 2px;\n left: 2px;\n display: block;\n width: calc(100% - 4px);\n height: calc(100% - 4px);\n border: 1px solid;\n border-color: rgba(0, 113, 152, 0.4);\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine .ag-column-drop-cell-text {\n margin: 0 6px;\n}\n.ag-theme-alpine .ag-column-drop-cell-button {\n min-width: 24px;\n margin: 0 3px;\n color: #2a292c;\n color: var(--ag-secondary-foreground-color, var(--ag-foreground-color, #2a292c));\n}\n.ag-theme-alpine .ag-column-drop-cell-drag-handle {\n margin-left: 12px;\n}\n.ag-theme-alpine .ag-column-drop-cell-ghost {\n opacity: 0.5;\n}\n.ag-theme-alpine .ag-column-drop-horizontal {\n background-color: #f8f8f8;\n background-color: var(--ag-control-panel-background-color, #f8f8f8);\n color: #2a292c;\n color: var(--ag-secondary-foreground-color, var(--ag-foreground-color, #2a292c));\n height: 42px;\n}\n.ag-theme-alpine .ag-ltr .ag-column-drop-horizontal {\n padding-left: 18px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-column-drop-horizontal {\n padding-right: 18px;\n}\n\n.ag-theme-alpine .ag-column-drop-horizontal-cell-separator {\n margin: 0 6px;\n color: #2a292c;\n color: var(--ag-secondary-foreground-color, var(--ag-foreground-color, #2a292c));\n}\n.ag-theme-alpine .ag-column-drop-horizontal-empty-message {\n color: rgba(42, 41, 44, 0.5);\n color: var(--ag-disabled-foreground-color, rgba(42, 41, 44, 0.5));\n}\n.ag-theme-alpine .ag-ltr .ag-column-drop-horizontal-icon {\n margin-right: 18px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-column-drop-horizontal-icon {\n margin-left: 18px;\n}\n\n.ag-theme-alpine .ag-column-drop-vertical-list {\n padding-bottom: 6px;\n padding-right: 6px;\n padding-left: 6px;\n}\n.ag-theme-alpine .ag-column-drop-vertical-cell {\n margin-top: 6px;\n}\n.ag-theme-alpine .ag-column-drop-vertical {\n min-height: 50px;\n}\n.ag-theme-alpine .ag-column-drop-vertical-icon {\n margin-left: 6px;\n margin-right: 6px;\n}\n.ag-theme-alpine .ag-column-drop-vertical-empty-message {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n overflow: hidden;\n color: rgba(42, 41, 44, 0.5);\n color: var(--ag-disabled-foreground-color, rgba(42, 41, 44, 0.5));\n margin-top: 6px;\n}\n.ag-theme-alpine .ag-select-agg-func-popup {\n background: #ffffff;\n background: var(--ag-background-color, #ffffff);\n border-radius: 3px;\n box-shadow: 0 1px 4px 1px rgba(186, 191, 199, 0.4);\n padding: 6px;\n background: #ffffff;\n background: var(--ag-background-color, #ffffff);\n height: 105px;\n padding: 0;\n}\n.ag-theme-alpine .ag-select-agg-func-virtual-list-item {\n cursor: default;\n padding-left: 12px;\n}\n.ag-theme-alpine .ag-select-agg-func-virtual-list-item:hover {\n background-color: rgba(0, 113, 152, 0.3);\n background-color: var(--ag-selected-row-background-color, rgba(0, 113, 152, 0.3));\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-select-agg-func-virtual-list-item:focus {\n outline: none;\n}\n.ag-theme-alpine .ag-keyboard-focus .ag-select-agg-func-virtual-list-item:focus::after {\n content: \"\";\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 1px;\n left: 1px;\n display: block;\n width: calc(100% - 2px);\n height: calc(100% - 2px);\n border: 1px solid;\n border-color: rgba(0, 113, 152, 0.4);\n border-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine .ag-chart-menu {\n border-radius: 3px;\n background: #ffffff;\n background: var(--ag-background-color, #ffffff);\n}\n.ag-theme-alpine .ag-chart-menu-icon {\n opacity: 0.5;\n line-height: 24px;\n font-size: 24px;\n width: 24px;\n height: 24px;\n margin: 2px 0;\n cursor: pointer;\n border-radius: 3px;\n color: #2a292c;\n color: var(--ag-secondary-foreground-color, var(--ag-foreground-color, #2a292c));\n}\n.ag-theme-alpine .ag-chart-menu-icon:hover {\n opacity: 1;\n}\n.ag-theme-alpine .ag-chart-mini-thumbnail {\n border: 1px solid;\n border-color: #eaeaea;\n border-color: var(--ag-secondary-border-color, #eaeaea);\n border-radius: 5px;\n margin: 5px;\n}\n.ag-theme-alpine .ag-chart-mini-thumbnail:nth-last-child(3), .ag-theme-alpine .ag-chart-mini-thumbnail:nth-last-child(3) ~ .ag-chart-mini-thumbnail {\n margin-left: auto;\n margin-right: auto;\n}\n.ag-theme-alpine .ag-ltr .ag-chart-mini-thumbnail:first-child {\n margin-left: 0;\n}\n\n.ag-theme-alpine .ag-rtl .ag-chart-mini-thumbnail:first-child {\n margin-right: 0;\n}\n\n.ag-theme-alpine .ag-ltr .ag-chart-mini-thumbnail:last-child {\n margin-right: 0;\n}\n\n.ag-theme-alpine .ag-rtl .ag-chart-mini-thumbnail:last-child {\n margin-left: 0;\n}\n\n.ag-theme-alpine .ag-chart-mini-thumbnail.ag-selected {\n border-color: #007198;\n border-color: var(--ag-minichart-selected-chart-color, var(--ag-checkbox-checked-color, var(--ag-alpine-active-color, #007198)));\n}\n.ag-theme-alpine .ag-chart-settings-card-item {\n background: #2a292c;\n background: var(--ag-foreground-color, #2a292c);\n width: 8px;\n height: 8px;\n border-radius: 4px;\n}\n.ag-theme-alpine .ag-chart-settings-card-item.ag-selected {\n background-color: #007198;\n background-color: var(--ag-minichart-selected-page-color, var(--ag-checkbox-checked-color, var(--ag-alpine-active-color, #007198)));\n}\n.ag-theme-alpine .ag-chart-data-column-drag-handle {\n margin-left: 6px;\n}\n.ag-theme-alpine .ag-charts-settings-group-container {\n padding: 6px;\n}\n.ag-theme-alpine .ag-charts-data-group-container {\n padding: 6px 12px;\n}\n.ag-theme-alpine .ag-charts-data-group-container .ag-charts-data-group-item:not(.ag-charts-format-sub-level-group) {\n height: 24px;\n}\n.ag-theme-alpine .ag-charts-data-group-container .ag-list-item-hovered::after {\n content: \"\";\n position: absolute;\n left: 0;\n right: 0;\n height: 1px;\n background-color: #2196f3;\n background-color: var(--ag-range-selection-border-color, #2196f3);\n}\n.ag-theme-alpine .ag-charts-data-group-container .ag-item-highlight-top::after {\n top: 0;\n}\n.ag-theme-alpine .ag-charts-data-group-container .ag-item-highlight-bottom::after {\n bottom: 0;\n}\n.ag-theme-alpine .ag-charts-format-top-level-group-container {\n margin-left: 12px;\n padding: 6px;\n}\n.ag-theme-alpine .ag-charts-format-top-level-group-item {\n margin: 6px 0;\n}\n.ag-theme-alpine .ag-charts-format-sub-level-group-container {\n padding: 12px 12px;\n padding-bottom: 3px;\n}\n.ag-theme-alpine .ag-charts-format-sub-level-group-container > * {\n margin-bottom: 9px;\n}\n.ag-theme-alpine .ag-charts-group-container.ag-group-container-horizontal {\n padding: 6px;\n}\n.ag-theme-alpine .ag-chart-data-section,\n.ag-theme-alpine .ag-chart-format-section {\n display: flex;\n margin: 0;\n}\n.ag-theme-alpine .ag-chart-menu-panel {\n background-color: #f8f8f8;\n background-color: var(--ag-control-panel-background-color, #f8f8f8);\n}\n.ag-theme-alpine .ag-ltr .ag-chart-menu-panel {\n border-left: solid 1px;\n border-left-color: #eaeaea;\n border-left-color: var(--ag-border-color, #eaeaea);\n}\n\n.ag-theme-alpine .ag-rtl .ag-chart-menu-panel {\n border-right: solid 1px;\n border-right-color: #eaeaea;\n border-right-color: var(--ag-border-color, #eaeaea);\n}\n\n.ag-theme-alpine .ag-date-time-list-page-title {\n flex-grow: 1;\n text-align: center;\n}\n.ag-theme-alpine .ag-date-time-list-page-column-label {\n text-align: center;\n}\n.ag-theme-alpine .ag-date-time-list-page-entry {\n text-align: center;\n}\n.ag-theme-alpine .ag-checkbox-input-wrapper {\n font-family: \"agGridAlpine\";\n font-size: 16px;\n line-height: 16px;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n /* Better Font Rendering =========== */\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n width: 16px;\n height: 16px;\n background-color: #ffffff;\n background-color: var(--ag-checkbox-background-color, var(--ag-background-color, #ffffff));\n border-radius: 3px;\n display: inline-block;\n vertical-align: middle;\n flex: none;\n}\n.ag-theme-alpine .ag-checkbox-input-wrapper input, .ag-theme-alpine .ag-checkbox-input-wrapper input {\n -webkit-appearance: none;\n opacity: 0;\n width: 100%;\n height: 100%;\n}\n.ag-theme-alpine .ag-checkbox-input-wrapper:focus-within, .ag-theme-alpine .ag-checkbox-input-wrapper:active {\n outline: none;\n box-shadow: 0 0 2px 0.1rem rgba(0, 113, 152, 0.4);\n}\n.ag-theme-alpine .ag-checkbox-input-wrapper.ag-disabled {\n opacity: 0.5;\n}\n.ag-theme-alpine .ag-checkbox-input-wrapper::after {\n content: \"\\f108\";\n color: #999;\n color: var(--ag-checkbox-unchecked-color, #999);\n position: absolute;\n top: 0;\n left: 0;\n pointer-events: none;\n}\n.ag-theme-alpine .ag-checkbox-input-wrapper.ag-checked::after {\n content: \"\\f106\";\n color: #007198;\n color: var(--ag-checkbox-checked-color, var(--ag-alpine-active-color, #007198));\n position: absolute;\n top: 0;\n left: 0;\n pointer-events: none;\n}\n.ag-theme-alpine .ag-checkbox-input-wrapper.ag-indeterminate::after {\n content: \"\\f107\";\n color: #999;\n color: var(--ag-checkbox-indeterminate-color, var(--ag-checkbox-unchecked-color, #999));\n position: absolute;\n top: 0;\n left: 0;\n pointer-events: none;\n}\n.ag-theme-alpine .ag-toggle-button-input-wrapper {\n box-sizing: border-box;\n width: 28px;\n height: 18px;\n background-color: #999;\n background-color: var(--ag-toggle-button-off-background-color, var(--ag-checkbox-unchecked-color, #999));\n border-radius: 9px;\n position: relative;\n flex: none;\n border: 1px solid;\n border-color: #999;\n border-color: var(--ag-toggle-button-off-border-color, var(--ag-checkbox-unchecked-color, #999));\n}\n.ag-theme-alpine .ag-toggle-button-input-wrapper input {\n opacity: 0;\n height: 100%;\n width: 100%;\n}\n.ag-theme-alpine .ag-toggle-button-input-wrapper:focus-within {\n outline: none;\n box-shadow: 0 0 2px 0.1rem rgba(0, 113, 152, 0.4);\n}\n.ag-theme-alpine .ag-toggle-button-input-wrapper.ag-disabled {\n opacity: 0.5;\n}\n.ag-theme-alpine .ag-toggle-button-input-wrapper.ag-checked {\n background-color: #007198;\n background-color: var(--ag-toggle-button-on-background-color, var(--ag-checkbox-checked-color, var(--ag-alpine-active-color, #007198)));\n border-color: #007198;\n border-color: var(--ag-toggle-button-on-border-color, var(--ag-checkbox-checked-color, var(--ag-alpine-active-color, #007198)));\n}\n.ag-theme-alpine .ag-toggle-button-input-wrapper::before {\n content: \" \";\n position: absolute;\n top: -1px;\n left: -1px;\n display: block;\n box-sizing: border-box;\n height: 18px;\n width: 18px;\n background-color: #ffffff;\n background-color: var(--ag-toggle-button-switch-background-color, var(--ag-background-color, #ffffff));\n border-radius: 9px;\n transition: left 100ms;\n border: 1px solid;\n border-color: #999;\n border-color: var(--ag-toggle-button-switch-border-color, var(--ag-toggle-button-off-border-color, var(--ag-checkbox-unchecked-color, #999)));\n}\n.ag-theme-alpine .ag-toggle-button-input-wrapper.ag-checked::before {\n left: calc(100% - 18px );\n border-color: #007198;\n border-color: var(--ag-toggle-button-on-border-color, var(--ag-checkbox-checked-color, var(--ag-alpine-active-color, #007198)));\n}\n.ag-theme-alpine .ag-radio-button-input-wrapper {\n font-family: \"agGridAlpine\";\n font-size: 16px;\n line-height: 16px;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n /* Better Font Rendering =========== */\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n width: 16px;\n height: 16px;\n background-color: #ffffff;\n background-color: var(--ag-checkbox-background-color, var(--ag-background-color, #ffffff));\n border-radius: 3px;\n display: inline-block;\n vertical-align: middle;\n flex: none;\n border-radius: 16px;\n}\n.ag-theme-alpine .ag-radio-button-input-wrapper input, .ag-theme-alpine .ag-radio-button-input-wrapper input {\n -webkit-appearance: none;\n opacity: 0;\n width: 100%;\n height: 100%;\n}\n.ag-theme-alpine .ag-radio-button-input-wrapper:focus-within, .ag-theme-alpine .ag-radio-button-input-wrapper:active {\n outline: none;\n box-shadow: 0 0 2px 0.1rem rgba(0, 113, 152, 0.4);\n}\n.ag-theme-alpine .ag-radio-button-input-wrapper.ag-disabled {\n opacity: 0.5;\n}\n.ag-theme-alpine .ag-radio-button-input-wrapper::after {\n content: \"\\f126\";\n color: #999;\n color: var(--ag-checkbox-unchecked-color, #999);\n position: absolute;\n top: 0;\n left: 0;\n pointer-events: none;\n}\n.ag-theme-alpine .ag-radio-button-input-wrapper.ag-checked::after {\n content: \"\\f127\";\n color: #007198;\n color: var(--ag-checkbox-checked-color, var(--ag-alpine-active-color, #007198));\n position: absolute;\n top: 0;\n left: 0;\n pointer-events: none;\n}\n.ag-theme-alpine input[class^=ag-][type=range] {\n -webkit-appearance: none;\n width: 100%;\n height: 100%;\n background: none;\n overflow: visible;\n}\n.ag-theme-alpine input[class^=ag-][type=range]::-webkit-slider-runnable-track {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 3px;\n background-color: #eaeaea;\n background-color: var(--ag-border-color, #eaeaea);\n border-radius: 3px;\n border-radius: 3px;\n}\n.ag-theme-alpine input[class^=ag-][type=range]::-moz-range-track {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 3px;\n background-color: #eaeaea;\n background-color: var(--ag-border-color, #eaeaea);\n border-radius: 3px;\n border-radius: 3px;\n}\n.ag-theme-alpine input[class^=ag-][type=range]::-ms-track {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 3px;\n background-color: #eaeaea;\n background-color: var(--ag-border-color, #eaeaea);\n border-radius: 3px;\n border-radius: 3px;\n color: transparent;\n width: calc(100% - 2px);\n}\n.ag-theme-alpine input[class^=ag-][type=range]::-webkit-slider-thumb {\n margin: 0;\n padding: 0;\n -webkit-appearance: none;\n width: 16px;\n height: 16px;\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\n border: 1px solid;\n border-color: #999;\n border-color: var(--ag-checkbox-unchecked-color, #999);\n border-radius: 16px;\n transform: translateY(-6.5px);\n}\n.ag-theme-alpine input[class^=ag-][type=range]::-ms-thumb {\n margin: 0;\n padding: 0;\n -webkit-appearance: none;\n width: 16px;\n height: 16px;\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\n border: 1px solid;\n border-color: #999;\n border-color: var(--ag-checkbox-unchecked-color, #999);\n border-radius: 16px;\n}\n.ag-theme-alpine input[class^=ag-][type=range]::-moz-ag-range-thumb {\n margin: 0;\n padding: 0;\n -webkit-appearance: none;\n width: 16px;\n height: 16px;\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\n border: 1px solid;\n border-color: #999;\n border-color: var(--ag-checkbox-unchecked-color, #999);\n border-radius: 16px;\n}\n.ag-theme-alpine input[class^=ag-][type=range]:focus {\n outline: none;\n}\n.ag-theme-alpine input[class^=ag-][type=range]:focus::-webkit-slider-thumb {\n box-shadow: 0 0 2px 0.1rem rgba(0, 113, 152, 0.4);\n border-color: #007198;\n border-color: var(--ag-checkbox-checked-color, var(--ag-alpine-active-color, #007198));\n}\n.ag-theme-alpine input[class^=ag-][type=range]:focus::-ms-thumb {\n box-shadow: 0 0 2px 0.1rem rgba(0, 113, 152, 0.4);\n border-color: #007198;\n border-color: var(--ag-checkbox-checked-color, var(--ag-alpine-active-color, #007198));\n}\n.ag-theme-alpine input[class^=ag-][type=range]:focus::-moz-ag-range-thumb {\n box-shadow: 0 0 2px 0.1rem rgba(0, 113, 152, 0.4);\n border-color: #007198;\n border-color: var(--ag-checkbox-checked-color, var(--ag-alpine-active-color, #007198));\n}\n.ag-theme-alpine input[class^=ag-][type=range]:active::-webkit-slider-runnable-track {\n background-color: rgba(0, 113, 152, 0.4);\n background-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine input[class^=ag-][type=range]:active::-moz-ag-range-track {\n background-color: rgba(0, 113, 152, 0.4);\n background-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine input[class^=ag-][type=range]:active::-ms-track {\n background-color: rgba(0, 113, 152, 0.4);\n background-color: var(--ag-input-focus-border-color, rgba(0, 113, 152, 0.4));\n}\n.ag-theme-alpine input[class^=ag-][type=range]:disabled {\n opacity: 0.5;\n}\n.ag-theme-alpine .ag-filter-toolpanel-header,\n.ag-theme-alpine .ag-filter-toolpanel-search,\n.ag-theme-alpine .ag-status-bar,\n.ag-theme-alpine .ag-header-row,\n.ag-theme-alpine .ag-panel-title-bar-title,\n.ag-theme-alpine .ag-multi-filter-group-title-bar {\n font-weight: 700;\n color: #017a76;\n color: var(--ag-header-foreground-color, #017a76);\n}\n.ag-theme-alpine .ag-rtl .ag-pinned-left-header .ag-header-row::before, .ag-theme-alpine .ag-ltr .ag-pinned-right-header .ag-header-row::after {\n content: \"\";\n position: absolute;\n height: calc(100% - 20px);\n top: 10px;\n width: 1px;\n background-color: #eaeaea;\n background-color: var(--ag-border-color, #eaeaea);\n}\n.ag-theme-alpine .ag-ltr .ag-pinned-right-header .ag-header-row::after {\n right: 0;\n}\n.ag-theme-alpine .ag-rtl .ag-pinned-left-header .ag-header-row::before {\n left: 0;\n}\n.ag-theme-alpine .ag-row {\n font-size: 0.875rem !important1;\n}\n.ag-theme-alpine input[class^=ag-]:not([type]),\n.ag-theme-alpine input[class^=ag-][type=text],\n.ag-theme-alpine input[class^=ag-][type=number],\n.ag-theme-alpine input[class^=ag-][type=tel],\n.ag-theme-alpine input[class^=ag-][type=date],\n.ag-theme-alpine input[class^=ag-][type=datetime-local],\n.ag-theme-alpine textarea[class^=ag-] {\n min-height: 24px;\n border-radius: 3px;\n}\n.ag-theme-alpine .ag-ltr input[class^=ag-]:not([type]),\n.ag-theme-alpine .ag-ltr input[class^=ag-][type=text],\n.ag-theme-alpine .ag-ltr input[class^=ag-][type=number],\n.ag-theme-alpine .ag-ltr input[class^=ag-][type=tel],\n.ag-theme-alpine .ag-ltr input[class^=ag-][type=date],\n.ag-theme-alpine .ag-ltr input[class^=ag-][type=datetime-local],\n.ag-theme-alpine .ag-ltr textarea[class^=ag-] {\n padding-left: 6px;\n}\n\n.ag-theme-alpine .ag-rtl input[class^=ag-]:not([type]),\n.ag-theme-alpine .ag-rtl input[class^=ag-][type=text],\n.ag-theme-alpine .ag-rtl input[class^=ag-][type=number],\n.ag-theme-alpine .ag-rtl input[class^=ag-][type=tel],\n.ag-theme-alpine .ag-rtl input[class^=ag-][type=date],\n.ag-theme-alpine .ag-rtl input[class^=ag-][type=datetime-local],\n.ag-theme-alpine .ag-rtl textarea[class^=ag-] {\n padding-right: 6px;\n}\n\n.ag-theme-alpine .ag-tab {\n padding: 9px;\n transition: color 0.4s;\n}\n.ag-theme-alpine .ag-tab-selected {\n color: #007198;\n color: var(--ag-alpine-active-color, #007198);\n}\n.ag-theme-alpine .ag-menu {\n background-color: #f8f8f8;\n background-color: var(--ag-control-panel-background-color, #f8f8f8);\n}\n.ag-theme-alpine .ag-menu-header {\n background-color: #f8f8f8;\n background-color: var(--ag-control-panel-background-color, #f8f8f8);\n padding-top: 1px;\n}\n.ag-theme-alpine .ag-charts-settings-group-title-bar,\n.ag-theme-alpine .ag-charts-data-group-title-bar,\n.ag-theme-alpine .ag-charts-format-top-level-group-title-bar {\n padding: 6px 12px;\n line-height: 20px;\n}\n.ag-theme-alpine .ag-chart-mini-thumbnail {\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\n}\n.ag-theme-alpine .ag-ltr .ag-group-title-bar-icon {\n margin-right: 6px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-group-title-bar-icon {\n margin-left: 6px;\n}\n\n.ag-theme-alpine .ag-charts-format-top-level-group-toolbar {\n margin-top: 6px;\n}\n.ag-theme-alpine .ag-ltr .ag-charts-format-top-level-group-toolbar {\n padding-left: 20px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-charts-format-top-level-group-toolbar {\n padding-right: 20px;\n}\n\n.ag-theme-alpine .ag-charts-format-sub-level-group {\n border-left: dashed 1px;\n border-left-color: #eaeaea;\n border-left-color: var(--ag-border-color, #eaeaea);\n padding-left: 6px;\n margin-bottom: 12px;\n}\n.ag-theme-alpine .ag-charts-format-sub-level-group-title-bar {\n padding-top: 0;\n padding-bottom: 0;\n background: none;\n font-weight: 700;\n}\n.ag-theme-alpine .ag-charts-format-sub-level-group-container {\n padding-bottom: 0;\n}\n.ag-theme-alpine .ag-charts-format-sub-level-group-item:last-child {\n margin-bottom: 0;\n}\n.ag-theme-alpine .ag-dnd-ghost {\n font-size: 0.875rem !important-1;\n font-weight: 700;\n}\n.ag-theme-alpine .ag-side-buttons {\n width: 30px;\n}\n.ag-theme-alpine .ag-standard-button {\n appearance: none;\n -webkit-appearance: none;\n border-radius: 3px;\n border: 1px solid;\n border-color: #007198;\n border-color: var(--ag-alpine-active-color, #007198);\n color: #007198;\n color: var(--ag-alpine-active-color, #007198);\n background-color: #ffffff;\n background-color: var(--ag-background-color, #ffffff);\n font-weight: 600;\n padding: 6px 12px;\n}\n.ag-theme-alpine .ag-standard-button:hover {\n border-color: #007198;\n border-color: var(--ag-alpine-active-color, #007198);\n background-color: #eaeaea;\n background-color: var(--ag-row-hover-color, #eaeaea);\n}\n.ag-theme-alpine .ag-standard-button:active {\n border-color: #007198;\n border-color: var(--ag-alpine-active-color, #007198);\n background-color: #007198;\n background-color: var(--ag-alpine-active-color, #007198);\n color: #ffffff;\n color: var(--ag-background-color, #ffffff);\n}\n.ag-theme-alpine .ag-standard-button:disabled {\n color: rgba(42, 41, 44, 0.5);\n color: var(--ag-disabled-foreground-color, rgba(42, 41, 44, 0.5));\n background-color: #fbfbfb;\n background-color: var(--ag-input-disabled-background-color, #fbfbfb);\n border-color: rgba(234, 234, 234, 0.3);\n border-color: var(--ag-input-disabled-border-color, rgba(234, 234, 234, 0.3));\n}\n.ag-theme-alpine .ag-column-drop-vertical {\n min-height: 75px;\n}\n.ag-theme-alpine .ag-column-drop-vertical-title-bar {\n padding: 12px;\n padding-bottom: 0px;\n}\n.ag-theme-alpine .ag-column-drop-vertical-empty-message {\n display: flex;\n align-items: center;\n border: dashed 1px;\n border-color: #eaeaea;\n border-color: var(--ag-border-color, #eaeaea);\n margin: 12px;\n padding: 12px;\n}\n.ag-theme-alpine .ag-column-drop-empty-message {\n color: #2a292c;\n color: var(--ag-foreground-color, #2a292c);\n opacity: 0.75;\n}\n.ag-theme-alpine .ag-status-bar {\n font-weight: normal;\n}\n.ag-theme-alpine .ag-status-name-value-value {\n font-weight: 700;\n}\n.ag-theme-alpine .ag-paging-number, .ag-theme-alpine .ag-paging-row-summary-panel-number {\n font-weight: 700;\n}\n.ag-theme-alpine .ag-column-drop-cell-button {\n opacity: 0.5;\n}\n.ag-theme-alpine .ag-column-drop-cell-button:hover {\n opacity: 0.75;\n}\n.ag-theme-alpine .ag-header-cell-menu-button:hover,\n.ag-theme-alpine .ag-side-button-button:hover,\n.ag-theme-alpine .ag-tab:hover,\n.ag-theme-alpine .ag-panel-title-bar-button:hover,\n.ag-theme-alpine .ag-header-expand-icon:hover,\n.ag-theme-alpine .ag-column-group-icons:hover,\n.ag-theme-alpine .ag-group-expanded .ag-icon:hover,\n.ag-theme-alpine .ag-group-contracted .ag-icon:hover,\n.ag-theme-alpine .ag-chart-settings-prev:hover,\n.ag-theme-alpine .ag-chart-settings-next:hover,\n.ag-theme-alpine .ag-group-title-bar-icon:hover,\n.ag-theme-alpine .ag-column-select-header-icon:hover,\n.ag-theme-alpine .ag-floating-filter-button-button:hover,\n.ag-theme-alpine .ag-filter-toolpanel-expand:hover,\n.ag-theme-alpine .ag-chart-menu-icon:hover {\n color: #007198;\n color: var(--ag-alpine-active-color, #007198);\n}\n.ag-theme-alpine .ag-chart-settings-card-item.ag-not-selected:hover {\n opacity: 0.35;\n}\n.ag-theme-alpine .ag-ltr .ag-panel-title-bar-button {\n margin-left: 12px;\n margin-right: 6px;\n}\n\n.ag-theme-alpine .ag-rtl .ag-panel-title-bar-button {\n margin-right: 12px;\n margin-left: 6px;\n}\n\n.ag-theme-alpine .ag-filter-toolpanel-group-container {\n padding-left: 6px;\n}\n.ag-theme-alpine .ag-filter-toolpanel-instance-filter {\n border: none;\n background-color: #f8f8f8;\n background-color: var(--ag-control-panel-background-color, #f8f8f8);\n border-left: dashed 1px;\n border-left-color: #eaeaea;\n border-left-color: var(--ag-border-color, #eaeaea);\n margin-left: 8px;\n padding-left: 8px;\n margin-right: 12px;\n}\n.ag-theme-alpine .ag-set-filter-list {\n padding-top: 3px;\n padding-bottom: 3px;\n}\n.ag-theme-alpine .ag-layout-auto-height .ag-center-cols-clipper, .ag-theme-alpine .ag-layout-auto-height .ag-center-cols-container, .ag-theme-alpine .ag-layout-print .ag-center-cols-clipper, .ag-theme-alpine .ag-layout-print .ag-center-cols-container {\n min-height: 150px;\n}\n.ag-theme-alpine .ag-overlay-no-rows-wrapper.ag-layout-auto-height {\n padding-top: 60px;\n}\n.ag-theme-alpine .ag-date-time-list-page-entry-is-current {\n background-color: #007198;\n background-color: var(--ag-alpine-active-color, #007198);\n}\n.ag-theme-alpine .ag-cell[col-id=selection] {\n display: flex;\n}\n.ag-theme-alpine .ag-cell-wrapper > *:not(.ag-cell-value):not(.ag-group-value) {\n height: auto;\n}\n.ag-theme-alpine .ag-row:last-of-type {\n border-bottom: none;\n}\n.ag-theme-alpine .ag-row-selected {\n background-color: #e2f3f7;\n}\n.ag-theme-alpine .ag-header-cell {\n font-weight: 600;\n padding: 7px 0 7px 8px;\n}\n.ag-theme-alpine .ag-header-cell .LuiIcon {\n fill: #017a76;\n}\n.ag-theme-alpine .ag-cell {\n padding-left: 7px;\n padding-right: 4px;\n display: flex;\n align-items: center;\n}\n.ag-theme-alpine .ag-cell-more {\n padding: 0;\n display: flex;\n justify-content: center;\n}\n.ag-theme-alpine .ag-cell-wrap-text {\n word-break: break-word;\n}\n.ag-theme-alpine .ag-cell-popup-editing, .ag-theme-alpine .ag-selected-for-edit, .ag-theme-alpine .ag-cell-inline-editing {\n background: rgba(72, 160, 244, 0.2);\n border: 3px solid #48a0f4 !important;\n border-right: 3px solid #48a0f4 !important;\n}\n.ag-theme-alpine .ag-row .ag-cell-data-changed {\n background-color: lightgoldenrodyellow !important;\n}\n.ag-theme-alpine .ag-center-cols-clipper {\n min-height: 40px !important;\n}\n.ag-theme-alpine .ag-body-horizontal-scroll-viewport {\n overflow-x: auto;\n}";
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2169
|
+
function clsx () {
|
|
2170
|
+
var i=0, x, str='';
|
|
2171
|
+
while (i < arguments.length) {
|
|
2172
|
+
if (x = toVal(arguments[i++])) {
|
|
2173
|
+
str && (str += ' ');
|
|
2174
|
+
str += x;
|
|
2175
|
+
}
|
|
2176
|
+
}
|
|
2177
|
+
return str;
|
|
2178
|
+
}
|
|
2062
2179
|
|
|
2063
2180
|
/**
|
|
2064
2181
|
* Retains last sort order from via <AgGrid postRowSort>.
|
|
@@ -2206,7 +2323,7 @@ var GridHeaderSelect = function (_a) {
|
|
|
2206
2323
|
var Grid = function (params) {
|
|
2207
2324
|
var _a;
|
|
2208
2325
|
var _b = useContext(GridContext), gridReady = _b.gridReady, setGridApi = _b.setGridApi, setQuickFilter = _b.setQuickFilter, ensureRowVisible = _b.ensureRowVisible, selectRowsById = _b.selectRowsById, ensureSelectedRowIsVisible = _b.ensureSelectedRowIsVisible, sizeColumnsToFit = _b.sizeColumnsToFit;
|
|
2209
|
-
var checkUpdating = useContext(
|
|
2326
|
+
var checkUpdating = useContext(GridUpdatingContext).checkUpdating;
|
|
2210
2327
|
var _c = useState(""), internalQuickFilter = _c[0], setInternalQuickFilter = _c[1];
|
|
2211
2328
|
var lastSelectedIds = useRef([]);
|
|
2212
2329
|
var _d = useState(false), staleGrid = _d[0], setStaleGrid = _d[1];
|
|
@@ -2300,10 +2417,7 @@ var Grid = function (params) {
|
|
|
2300
2417
|
synchroniseExternallySelectedItemsToGrid();
|
|
2301
2418
|
updateQuickFilter();
|
|
2302
2419
|
}, [params, setGridApi, synchroniseExternallySelectedItemsToGrid, updateQuickFilter]);
|
|
2303
|
-
var noRowsOverlayComponent = useCallback(function () {
|
|
2304
|
-
var _a;
|
|
2305
|
-
return (jsx("span", __assign({ className: "ag-overlay-no-rows-center" }, { children: (_a = params.noRowsOverlayText) !== null && _a !== void 0 ? _a : "There are currently no rows" })));
|
|
2306
|
-
}, [params.noRowsOverlayText]);
|
|
2420
|
+
var noRowsOverlayComponent = useCallback(function () { var _a; return jsx("span", { children: (_a = params.noRowsOverlayText) !== null && _a !== void 0 ? _a : "There are currently no rows" }); }, [params.noRowsOverlayText]);
|
|
2307
2421
|
var refreshSelectedRows = useCallback(function (event) {
|
|
2308
2422
|
// Force-refresh all selected rows to re-run class function, to update selection highlighting
|
|
2309
2423
|
event.api.refreshCells({
|
|
@@ -2373,14 +2487,40 @@ var GenericMultiEditCellClass = function (props) {
|
|
|
2373
2487
|
: "";
|
|
2374
2488
|
};
|
|
2375
2489
|
|
|
2376
|
-
|
|
2377
|
-
|
|
2490
|
+
function styleInject(css, ref) {
|
|
2491
|
+
if ( ref === void 0 ) ref = {};
|
|
2492
|
+
var insertAt = ref.insertAt;
|
|
2378
2493
|
|
|
2379
|
-
|
|
2380
|
-
|
|
2494
|
+
if (!css || typeof document === 'undefined') { return; }
|
|
2495
|
+
|
|
2496
|
+
var head = document.head || document.getElementsByTagName('head')[0];
|
|
2497
|
+
var style = document.createElement('style');
|
|
2498
|
+
style.type = 'text/css';
|
|
2499
|
+
|
|
2500
|
+
if (insertAt === 'top') {
|
|
2501
|
+
if (head.firstChild) {
|
|
2502
|
+
head.insertBefore(style, head.firstChild);
|
|
2503
|
+
} else {
|
|
2504
|
+
head.appendChild(style);
|
|
2505
|
+
}
|
|
2506
|
+
} else {
|
|
2507
|
+
head.appendChild(style);
|
|
2508
|
+
}
|
|
2509
|
+
|
|
2510
|
+
if (style.styleSheet) {
|
|
2511
|
+
style.styleSheet.cssText = css;
|
|
2512
|
+
} else {
|
|
2513
|
+
style.appendChild(document.createTextNode(css));
|
|
2514
|
+
}
|
|
2515
|
+
}
|
|
2516
|
+
|
|
2517
|
+
var css_248z$6 = ".AgGridGenericCellRenderer-icon{margin-right:4px}.AgGridGenericCellRenderer-ic_infoIcon{fill:#3a7cdf;margin-right:4px}.AgGridGenericCellRenderer-ic_warningIcon{fill:#ea6a2e;margin-right:4px}";
|
|
2518
|
+
styleInject(css_248z$6);
|
|
2519
|
+
|
|
2520
|
+
var css_248z$5 = ".GridLoadableCell-container{align-items:center;display:flex}";
|
|
2521
|
+
styleInject(css_248z$5);
|
|
2381
2522
|
|
|
2382
2523
|
var GridLoadableCell = function (props) {
|
|
2383
|
-
// console.log(`Rendering LoadableCell - loading: ${props.isLoading}`);
|
|
2384
2524
|
if (props.isLoading) {
|
|
2385
2525
|
return (jsx("div", __assign({ style: { display: "flex", alignItems: "center" } }, { children: jsx(LuiMiniSpinner, { size: 22, divProps: { role: "status", "aria-label": "Loading", style: { marginBottom: 4 } } }) })));
|
|
2386
2526
|
}
|
|
@@ -2392,7 +2532,7 @@ var GridIcon = function (props) { return (jsx(LuiIcon, { name: props.icon, title
|
|
|
2392
2532
|
|
|
2393
2533
|
var GridRendererGenericCell = function (props) {
|
|
2394
2534
|
var _a, _b, _c;
|
|
2395
|
-
var checkUpdating = useContext(
|
|
2535
|
+
var checkUpdating = useContext(GridUpdatingContext).checkUpdating;
|
|
2396
2536
|
var colDef = props.colDef;
|
|
2397
2537
|
var cellRendererParams = colDef.cellRendererParams;
|
|
2398
2538
|
var warningFn = cellRendererParams === null || cellRendererParams === void 0 ? void 0 : cellRendererParams.warning;
|
|
@@ -2409,9 +2549,61 @@ var GridRendererGenericCell = function (props) {
|
|
|
2409
2549
|
return (jsx(GridLoadableCell, __assign({ isLoading: checkUpdating((_c = (_b = colDef.field) !== null && _b !== void 0 ? _b : colDef.colId) !== null && _c !== void 0 ? _c : "", props.data.id) }, { children: jsxs(Fragment$1, { children: [typeof warningText === "string" && jsx(GridIcon, { icon: "ic_warning", title: warningText }), typeof infoText === "string" && jsx(GridIcon, { icon: "ic_info", title: infoText }), jsx("span", __assign({ title: formatted }, { children: formatted }))] }) })));
|
|
2410
2550
|
};
|
|
2411
2551
|
|
|
2552
|
+
var GridPopoverContext = createContext({
|
|
2553
|
+
anchorRef: { current: null },
|
|
2554
|
+
saving: false,
|
|
2555
|
+
setSaving: function () { },
|
|
2556
|
+
setProps: function () { },
|
|
2557
|
+
propsRef: { current: null }
|
|
2558
|
+
});
|
|
2559
|
+
|
|
2560
|
+
var GridPopoverContextProvider = function (props) {
|
|
2561
|
+
var _a = useContext(GridContext), getSelectedRows = _a.getSelectedRows, updatingCells = _a.updatingCells;
|
|
2562
|
+
var anchorRef = useRef();
|
|
2563
|
+
var propsRef = useRef({});
|
|
2564
|
+
var _b = useState(false), saving = _b[0], setSaving = _b[1];
|
|
2565
|
+
var setProps = useCallback(function (props, multiEdit) {
|
|
2566
|
+
var _a, _b;
|
|
2567
|
+
// Then item that is clicked on will always be first in the list
|
|
2568
|
+
var selectedRows = multiEdit
|
|
2569
|
+
? sortBy(getSelectedRows(), function (row) { return row.id !== props.data.id; })
|
|
2570
|
+
: [props.data];
|
|
2571
|
+
var field = (_b = (_a = props.colDef) === null || _a === void 0 ? void 0 : _a.field) !== null && _b !== void 0 ? _b : "";
|
|
2572
|
+
anchorRef.current = props.eGridCell;
|
|
2573
|
+
propsRef.current = {
|
|
2574
|
+
value: props.value,
|
|
2575
|
+
data: props.data,
|
|
2576
|
+
field: field,
|
|
2577
|
+
selectedRows: selectedRows,
|
|
2578
|
+
updateValue: function (saveFn) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2579
|
+
var _a;
|
|
2580
|
+
return __generator(this, function (_b) {
|
|
2581
|
+
switch (_b.label) {
|
|
2582
|
+
case 0:
|
|
2583
|
+
_a = !saving;
|
|
2584
|
+
if (!_a) return [3 /*break*/, 2];
|
|
2585
|
+
return [4 /*yield*/, updatingCells({ selectedRows: selectedRows, field: field }, saveFn, setSaving)];
|
|
2586
|
+
case 1:
|
|
2587
|
+
_a = (_b.sent());
|
|
2588
|
+
_b.label = 2;
|
|
2589
|
+
case 2: return [2 /*return*/, _a];
|
|
2590
|
+
}
|
|
2591
|
+
});
|
|
2592
|
+
}); }
|
|
2593
|
+
};
|
|
2594
|
+
}, [getSelectedRows, saving, updatingCells]);
|
|
2595
|
+
return (jsx(GridPopoverContext.Provider, __assign({ value: {
|
|
2596
|
+
anchorRef: anchorRef,
|
|
2597
|
+
saving: saving,
|
|
2598
|
+
setSaving: setSaving,
|
|
2599
|
+
propsRef: propsRef,
|
|
2600
|
+
setProps: setProps
|
|
2601
|
+
} }, { children: props.children })));
|
|
2602
|
+
};
|
|
2603
|
+
|
|
2412
2604
|
var GridCellRenderer = function (props) {
|
|
2413
2605
|
var _a, _b, _c;
|
|
2414
|
-
var checkUpdating = useContext(
|
|
2606
|
+
var checkUpdating = useContext(GridUpdatingContext).checkUpdating;
|
|
2415
2607
|
var colDef = props.colDef;
|
|
2416
2608
|
var rendererParams = colDef.cellRendererParams;
|
|
2417
2609
|
var warningFn = rendererParams === null || rendererParams === void 0 ? void 0 : rendererParams.warning;
|
|
@@ -2420,15 +2612,17 @@ var GridCellRenderer = function (props) {
|
|
|
2420
2612
|
var infoText = infoFn ? infoFn(props) : undefined;
|
|
2421
2613
|
return ((_a = colDef === null || colDef === void 0 ? void 0 : colDef.cellRendererParams) === null || _a === void 0 ? void 0 : _a.originalCellRenderer) ? (jsx(GridLoadableCell, __assign({ isLoading: checkUpdating((_c = (_b = colDef.field) !== null && _b !== void 0 ? _b : colDef.colId) !== null && _c !== void 0 ? _c : "", props.data.id) }, { children: jsxs(Fragment$1, { children: [typeof warningText === "string" && jsx(GridIcon, { icon: "ic_warning", title: warningText }), typeof infoText === "string" && jsx(GridIcon, { icon: "ic_info", title: infoText }), jsx(colDef.cellRendererParams.originalCellRenderer, __assign({}, props))] }) }))) : (jsx(GridRendererGenericCell, __assign({}, props)));
|
|
2422
2614
|
};
|
|
2423
|
-
|
|
2615
|
+
/*
|
|
2424
2616
|
* For editing a text area.
|
|
2425
2617
|
*/
|
|
2426
|
-
var GridCell = function (props) {
|
|
2618
|
+
var GridCell = function (props, custom) {
|
|
2427
2619
|
var _a;
|
|
2428
|
-
return __assign(__assign(__assign(__assign({ sortable: !!((props === null || props === void 0 ? void 0 : props.field) || (props === null || props === void 0 ? void 0 : props.valueGetter)), resizable: true }, (
|
|
2429
|
-
cellClass: (
|
|
2430
|
-
editable: true,
|
|
2431
|
-
cellEditor: GenericCellEditorComponent
|
|
2620
|
+
return __assign(__assign(__assign(__assign(__assign({ colId: props.field, sortable: !!((props === null || props === void 0 ? void 0 : props.field) || (props === null || props === void 0 ? void 0 : props.valueGetter)), resizable: true }, ((custom === null || custom === void 0 ? void 0 : custom.editor) && {
|
|
2621
|
+
cellClass: (custom === null || custom === void 0 ? void 0 : custom.multiEdit) ? GenericMultiEditCellClass : undefined,
|
|
2622
|
+
editable: (_a = props.editable) !== null && _a !== void 0 ? _a : true,
|
|
2623
|
+
cellEditor: GenericCellEditorComponent(custom.editor)
|
|
2624
|
+
})), ((custom === null || custom === void 0 ? void 0 : custom.editorParams) && {
|
|
2625
|
+
cellEditorParams: __assign(__assign({}, custom.editorParams), { multiEdit: custom.multiEdit })
|
|
2432
2626
|
})), {
|
|
2433
2627
|
// Default value formatter, otherwise react freaks out on objects
|
|
2434
2628
|
valueFormatter: function (params) {
|
|
@@ -2441,44 +2635,29 @@ var GridCell = function (props) {
|
|
|
2441
2635
|
return JSON.stringify(params.value);
|
|
2442
2636
|
} }), props), { cellRenderer: GridCellRenderer, cellRendererParams: __assign({ originalCellRenderer: props.cellRenderer }, props.cellRendererParams) });
|
|
2443
2637
|
};
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
-
|
|
2447
|
-
|
|
2448
|
-
|
|
2449
|
-
var multiEdit = (_a = cellEditorParams === null || cellEditorParams === void 0 ? void 0 : cellEditorParams.multiEdit) !== null && _a !== void 0 ? _a : false;
|
|
2450
|
-
var field = (_b = props.colDef.field) !== null && _b !== void 0 ? _b : "";
|
|
2451
|
-
var formProps = (_c = colDef.cellEditorParams) !== null && _c !== void 0 ? _c : {};
|
|
2452
|
-
var value = props.value;
|
|
2453
|
-
var selectedRows = useMemo(function () { return (multiEdit ? getSelectedRows() : [data]); }, [data, getSelectedRows, multiEdit]);
|
|
2454
|
-
var _e = useState(false), saving = _e[0], setSaving = _e[1];
|
|
2455
|
-
var updateValue = useCallback(function (saveFn) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2456
|
-
var _a;
|
|
2457
|
-
return __generator(this, function (_b) {
|
|
2458
|
-
switch (_b.label) {
|
|
2459
|
-
case 0:
|
|
2460
|
-
_a = !saving;
|
|
2461
|
-
if (!_a) return [3 /*break*/, 2];
|
|
2462
|
-
return [4 /*yield*/, updatingCells({ selectedRows: selectedRows, field: field }, saveFn, setSaving)];
|
|
2463
|
-
case 1:
|
|
2464
|
-
_a = (_b.sent());
|
|
2465
|
-
_b.label = 2;
|
|
2466
|
-
case 2: return [2 /*return*/, _a];
|
|
2467
|
-
}
|
|
2468
|
-
});
|
|
2469
|
-
}); }, [field, saving, selectedRows, updatingCells]);
|
|
2470
|
-
if (cellEditorParams == null)
|
|
2471
|
-
return jsx(Fragment$1, {});
|
|
2472
|
-
return (jsxs(Fragment$1, { children: [jsx("div", { children: colDef.cellRenderer ? jsx(colDef.cellRenderer, __assign({}, props, { saving: saving })) : props.value }), (cellEditorParams === null || cellEditorParams === void 0 ? void 0 : cellEditorParams.form) && (jsx(cellEditorParams.form, { cellEditorParams: props, updateValue: updateValue, saving: saving, formProps: formProps, data: data, value: value, field: field, selectedRows: selectedRows }))] }));
|
|
2638
|
+
// TODO memo?
|
|
2639
|
+
var GenericCellEditorComponent = function (editor) {
|
|
2640
|
+
return forwardRef(function GenericCellEditorComponent2(props, _) {
|
|
2641
|
+
return (jsx(GridPopoverContextProvider, { children: jsx(GenericCellEditorComponent3, __assign({}, __assign(__assign({}, props), { editor: editor }))) }));
|
|
2642
|
+
});
|
|
2473
2643
|
};
|
|
2474
|
-
var
|
|
2644
|
+
var GenericCellEditorComponent3 = function (props) {
|
|
2645
|
+
var _a;
|
|
2646
|
+
var _b = useContext(GridPopoverContext), setProps = _b.setProps, propsRef = _b.propsRef;
|
|
2647
|
+
var colDef = props.colDef;
|
|
2648
|
+
var cellEditorParams = colDef.cellEditorParams;
|
|
2649
|
+
var multiEdit = (_a = cellEditorParams === null || cellEditorParams === void 0 ? void 0 : cellEditorParams.multiEdit) !== null && _a !== void 0 ? _a : false;
|
|
2650
|
+
// TODO don't need all these props in context
|
|
2651
|
+
setProps(props, multiEdit);
|
|
2652
|
+
return (jsxs(Fragment$1, { children: [jsx("div", { children: colDef.cellRenderer ? jsx(colDef.cellRenderer, __assign({}, props)) : props.value }), (props === null || props === void 0 ? void 0 : props.editor) && jsx(props.editor, __assign({}, cellEditorParams, propsRef.current))] }));
|
|
2653
|
+
};
|
|
2475
2654
|
|
|
2476
2655
|
/**
|
|
2477
2656
|
* If loading is true this returns a loading spinner, otherwise it returns its children.
|
|
2478
2657
|
*/
|
|
2479
2658
|
var ComponentLoadingWrapper = function (props) {
|
|
2480
2659
|
var _a;
|
|
2481
|
-
return props.loading ? (jsx(LuiMiniSpinner, { size: 22, divProps: (_a = { role: "status" }, _a["aria-label"] = "Loading", _a.style = { padding: 16 }, _a) })) : (jsxs("div", __assign({ style: {
|
|
2660
|
+
return props.loading ? (jsx(LuiMiniSpinner, { size: 22, divProps: (_a = { role: "status" }, _a["aria-label"] = "Loading", _a.style = { padding: 16 }, _a) })) : (jsxs("div", __assign({ style: { pointerEvents: props.saving ? "none" : "inherit" }, className: props.className }, { children: [props.saving && (jsx("div", { style: {
|
|
2482
2661
|
position: "absolute",
|
|
2483
2662
|
left: 0,
|
|
2484
2663
|
top: 0,
|
|
@@ -2489,29 +2668,33 @@ var ComponentLoadingWrapper = function (props) {
|
|
|
2489
2668
|
} })), props.children] })));
|
|
2490
2669
|
};
|
|
2491
2670
|
|
|
2492
|
-
var useGridPopoverHook = function (props
|
|
2493
|
-
var cellEditorParams = props.cellEditorParams, saving = props.saving, updateValue = props.updateValue;
|
|
2494
|
-
var eGridCell = cellEditorParams.eGridCell;
|
|
2671
|
+
var useGridPopoverHook = function (props) {
|
|
2495
2672
|
var stopEditing = useContext(GridContext).stopEditing;
|
|
2673
|
+
var _a = useContext(GridPopoverContext), anchorRef = _a.anchorRef, saving = _a.saving, propsRef = _a.propsRef;
|
|
2496
2674
|
var saveButtonRef = useRef(null);
|
|
2497
|
-
var
|
|
2498
|
-
anchorRef.current = eGridCell;
|
|
2499
|
-
var _a = useState(false), isOpen = _a[0], setOpen = _a[1];
|
|
2675
|
+
var _b = useState(false), isOpen = _b[0], setOpen = _b[1];
|
|
2500
2676
|
useEffect(function () {
|
|
2501
2677
|
setOpen(true);
|
|
2502
2678
|
}, []);
|
|
2503
2679
|
var triggerSave = useCallback(function (reason) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2504
|
-
var _a;
|
|
2505
|
-
|
|
2506
|
-
|
|
2680
|
+
var _a, _b;
|
|
2681
|
+
var _c, _d;
|
|
2682
|
+
return __generator(this, function (_e) {
|
|
2683
|
+
switch (_e.label) {
|
|
2507
2684
|
case 0:
|
|
2508
|
-
_a = reason == "cancel" ||
|
|
2509
|
-
|
|
2510
|
-
return [
|
|
2685
|
+
_a = reason == "cancel" ||
|
|
2686
|
+
!props.save;
|
|
2687
|
+
if (_a) return [3 /*break*/, 3];
|
|
2688
|
+
_b = ((_c = propsRef.current) === null || _c === void 0 ? void 0 : _c.updateValue);
|
|
2689
|
+
if (!_b) return [3 /*break*/, 2];
|
|
2690
|
+
return [4 /*yield*/, ((_d = propsRef.current) === null || _d === void 0 ? void 0 : _d.updateValue(props.save))];
|
|
2511
2691
|
case 1:
|
|
2512
|
-
|
|
2513
|
-
|
|
2692
|
+
_b = (_e.sent());
|
|
2693
|
+
_e.label = 2;
|
|
2514
2694
|
case 2:
|
|
2695
|
+
_a = (_b);
|
|
2696
|
+
_e.label = 3;
|
|
2697
|
+
case 3:
|
|
2515
2698
|
if (_a) {
|
|
2516
2699
|
setOpen(false);
|
|
2517
2700
|
stopEditing();
|
|
@@ -2519,9 +2702,10 @@ var useGridPopoverHook = function (props, save) {
|
|
|
2519
2702
|
return [2 /*return*/];
|
|
2520
2703
|
}
|
|
2521
2704
|
});
|
|
2522
|
-
}); }, [
|
|
2705
|
+
}); }, [props, stopEditing, propsRef]);
|
|
2523
2706
|
var popoverWrapper = useCallback(function (children) {
|
|
2524
|
-
return (jsx(Fragment$1, { children: anchorRef.current && (jsxs(ControlledMenu, __assign({ state: isOpen ? "open" : "closed", portal: true, unmountOnClose: true, anchorRef: anchorRef, saveButtonRef: saveButtonRef, menuClassName: "
|
|
2707
|
+
return (jsx(Fragment$1, { children: anchorRef.current && (jsxs(ControlledMenu, __assign({ state: isOpen ? "open" : "closed", portal: true, unmountOnClose: true, anchorRef: anchorRef, saveButtonRef: saveButtonRef, menuClassName: "step-ag-grid-react-menu", onClose: function (event) { return triggerSave(event.reason).then(); }, viewScroll: "auto", dontShrinkIfDirectionIsTop: true, className: props.className }, { children: [saving && ( // This is the overlay that prevents editing when the editor is saving
|
|
2708
|
+
jsx("div", { style: {
|
|
2525
2709
|
position: "absolute",
|
|
2526
2710
|
left: 0,
|
|
2527
2711
|
top: 0,
|
|
@@ -2530,7 +2714,7 @@ var useGridPopoverHook = function (props, save) {
|
|
|
2530
2714
|
backgroundColor: "rgba(64,64,64,0.1)",
|
|
2531
2715
|
zIndex: 1000
|
|
2532
2716
|
} })), children, jsx("button", { ref: saveButtonRef, onClick: function () { return triggerSave().then(); }, style: { display: "none" } })] }))) }));
|
|
2533
|
-
}, [isOpen, saving, triggerSave]);
|
|
2717
|
+
}, [anchorRef, isOpen, props.className, saving, triggerSave]);
|
|
2534
2718
|
return {
|
|
2535
2719
|
popoverWrapper: popoverWrapper,
|
|
2536
2720
|
triggerSave: triggerSave
|
|
@@ -2539,7 +2723,7 @@ var useGridPopoverHook = function (props, save) {
|
|
|
2539
2723
|
|
|
2540
2724
|
var GridRenderPopoutMenuCell = function (props) {
|
|
2541
2725
|
var _a, _b, _c;
|
|
2542
|
-
var checkUpdating = useContext(
|
|
2726
|
+
var checkUpdating = useContext(GridUpdatingContext).checkUpdating;
|
|
2543
2727
|
var isLoading = checkUpdating((_b = (_a = props.colDef) === null || _a === void 0 ? void 0 : _a.field) !== null && _b !== void 0 ? _b : "", props.data.id);
|
|
2544
2728
|
var editable = (_c = props.colDef) === null || _c === void 0 ? void 0 : _c.editable;
|
|
2545
2729
|
var disabled = !(typeof editable === "function"
|
|
@@ -2556,14 +2740,88 @@ var GridRenderPopoutMenuCell = function (props) {
|
|
|
2556
2740
|
return (jsx(GridLoadableCell, __assign({ isLoading: isLoading, className: disabled ? "GridPopoutMenu-burgerDisabled" : "GridPopoutMenu-burger" }, { children: jsx(LuiIcon, { name: "ic_more_vert", alt: "More actions", size: "md" }) })));
|
|
2557
2741
|
};
|
|
2558
2742
|
|
|
2559
|
-
var css_248z$
|
|
2743
|
+
var css_248z$4 = ".GridMultiSelect-containerSmall .GridFormMultiSelect-options{max-height:130px;overflow-y:auto}.GridMultiSelect-containerMedium .GridFormMultiSelect-options{max-height:190px;overflow-y:auto}.GridMultiSelect-containerLarge .GridFormMultiSelect-options{max-height:320px;overflow-y:auto}.GridMultiSelect-containerUnlimited .GridFormMultiSelect-options{overflow-y:auto}";
|
|
2744
|
+
styleInject(css_248z$4);
|
|
2745
|
+
|
|
2746
|
+
var css_248z$3 = ".GridPopoverEditDropDown-containerSmall .GridFormDropDown-options{max-height:120px;overflow-y:auto}.GridPopoverEditDropDown-containerMedium .GridFormDropDown-options{max-height:200px;overflow-y:auto}.GridPopoverEditDropDown-containerLarge .GridFormDropDown-options{max-height:400px;overflow-y:auto}.GridPopoverEditDropDown-containerUnlimited .GridFormDropDown-options{overflow-y:auto}";
|
|
2560
2747
|
styleInject(css_248z$3);
|
|
2561
2748
|
|
|
2749
|
+
/* global setTimeout, clearTimeout */
|
|
2750
|
+
|
|
2751
|
+
var dist = function debounce(fn) {
|
|
2752
|
+
var wait = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
2753
|
+
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
2754
|
+
|
|
2755
|
+
var lastCallAt = void 0;
|
|
2756
|
+
var deferred = void 0;
|
|
2757
|
+
var timer = void 0;
|
|
2758
|
+
var pendingArgs = [];
|
|
2759
|
+
return function debounced() {
|
|
2760
|
+
var currentWait = getWait(wait);
|
|
2761
|
+
var currentTime = new Date().getTime();
|
|
2762
|
+
|
|
2763
|
+
var isCold = !lastCallAt || currentTime - lastCallAt > currentWait;
|
|
2764
|
+
|
|
2765
|
+
lastCallAt = currentTime;
|
|
2766
|
+
|
|
2767
|
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
|
2768
|
+
args[_key] = arguments[_key];
|
|
2769
|
+
}
|
|
2770
|
+
|
|
2771
|
+
if (isCold && options.leading) {
|
|
2772
|
+
return options.accumulate ? Promise.resolve(fn.call(this, [args])).then(function (result) {
|
|
2773
|
+
return result[0];
|
|
2774
|
+
}) : Promise.resolve(fn.call.apply(fn, [this].concat(args)));
|
|
2775
|
+
}
|
|
2776
|
+
|
|
2777
|
+
if (deferred) {
|
|
2778
|
+
clearTimeout(timer);
|
|
2779
|
+
} else {
|
|
2780
|
+
deferred = defer();
|
|
2781
|
+
}
|
|
2782
|
+
|
|
2783
|
+
pendingArgs.push(args);
|
|
2784
|
+
timer = setTimeout(flush.bind(this), currentWait);
|
|
2785
|
+
|
|
2786
|
+
if (options.accumulate) {
|
|
2787
|
+
var argsIndex = pendingArgs.length - 1;
|
|
2788
|
+
return deferred.promise.then(function (results) {
|
|
2789
|
+
return results[argsIndex];
|
|
2790
|
+
});
|
|
2791
|
+
}
|
|
2792
|
+
|
|
2793
|
+
return deferred.promise;
|
|
2794
|
+
};
|
|
2795
|
+
|
|
2796
|
+
function flush() {
|
|
2797
|
+
var thisDeferred = deferred;
|
|
2798
|
+
clearTimeout(timer);
|
|
2799
|
+
|
|
2800
|
+
Promise.resolve(options.accumulate ? fn.call(this, pendingArgs) : fn.apply(this, pendingArgs[pendingArgs.length - 1])).then(thisDeferred.resolve, thisDeferred.reject);
|
|
2801
|
+
|
|
2802
|
+
pendingArgs = [];
|
|
2803
|
+
deferred = null;
|
|
2804
|
+
}
|
|
2805
|
+
};
|
|
2806
|
+
|
|
2807
|
+
function getWait(wait) {
|
|
2808
|
+
return typeof wait === 'function' ? wait() : wait;
|
|
2809
|
+
}
|
|
2810
|
+
|
|
2811
|
+
function defer() {
|
|
2812
|
+
var deferred = {};
|
|
2813
|
+
deferred.promise = new Promise(function (resolve, reject) {
|
|
2814
|
+
deferred.resolve = resolve;
|
|
2815
|
+
deferred.reject = reject;
|
|
2816
|
+
});
|
|
2817
|
+
return deferred;
|
|
2818
|
+
}
|
|
2819
|
+
|
|
2562
2820
|
var MenuSeparatorString = "_____MENU_SEPARATOR_____";
|
|
2563
|
-
|
|
2564
|
-
var
|
|
2565
|
-
|
|
2566
|
-
var
|
|
2821
|
+
Object.freeze({ value: MenuSeparatorString });
|
|
2822
|
+
var MenuHeaderString = "_____MENU_HEADER_____";
|
|
2823
|
+
var GridFormDropDown = function (_props) {
|
|
2824
|
+
var props = _props;
|
|
2567
2825
|
var _a = useContext(GridContext), updatingCells = _a.updatingCells, stopEditing = _a.stopEditing;
|
|
2568
2826
|
var _b = useState(""), filter = _b[0], setFilter = _b[1];
|
|
2569
2827
|
var _c = useState([]), filteredValues = _c[0], setFilteredValues = _c[1];
|
|
@@ -2582,8 +2840,8 @@ var GridFormDropDown = function (props) {
|
|
|
2582
2840
|
case 0:
|
|
2583
2841
|
hasChanged = selectedRows.some(function (row) { return row[field] !== value; });
|
|
2584
2842
|
if (!hasChanged) return [3 /*break*/, 3];
|
|
2585
|
-
if (!
|
|
2586
|
-
return [4 /*yield*/,
|
|
2843
|
+
if (!props.onSelectedItem) return [3 /*break*/, 2];
|
|
2844
|
+
return [4 /*yield*/, props.onSelectedItem({ selectedRows: selectedRows, value: value })];
|
|
2587
2845
|
case 1:
|
|
2588
2846
|
_a.sent();
|
|
2589
2847
|
return [3 /*break*/, 3];
|
|
@@ -2597,7 +2855,7 @@ var GridFormDropDown = function (props) {
|
|
|
2597
2855
|
case 1: return [2 /*return*/, _a.sent()];
|
|
2598
2856
|
}
|
|
2599
2857
|
});
|
|
2600
|
-
}); }, [
|
|
2858
|
+
}); }, [props, updatingCells]);
|
|
2601
2859
|
var selectFilterHandler = useCallback(function (value) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2602
2860
|
var field;
|
|
2603
2861
|
return __generator(this, function (_a) {
|
|
@@ -2608,8 +2866,8 @@ var GridFormDropDown = function (props) {
|
|
|
2608
2866
|
return __generator(this, function (_a) {
|
|
2609
2867
|
switch (_a.label) {
|
|
2610
2868
|
case 0:
|
|
2611
|
-
if (!
|
|
2612
|
-
return [4 /*yield*/,
|
|
2869
|
+
if (!props.onSelectFilter) return [3 /*break*/, 2];
|
|
2870
|
+
return [4 /*yield*/, props.onSelectFilter({ selectedRows: selectedRows, value: value })];
|
|
2613
2871
|
case 1:
|
|
2614
2872
|
_a.sent();
|
|
2615
2873
|
_a.label = 2;
|
|
@@ -2620,14 +2878,14 @@ var GridFormDropDown = function (props) {
|
|
|
2620
2878
|
case 1: return [2 /*return*/, _a.sent()];
|
|
2621
2879
|
}
|
|
2622
2880
|
});
|
|
2623
|
-
}); }, [
|
|
2881
|
+
}); }, [props, updatingCells]);
|
|
2624
2882
|
// Load up options list if it's async function
|
|
2625
2883
|
useEffect(function () {
|
|
2626
2884
|
var _a;
|
|
2627
2885
|
if (options || optionsInitialising.current)
|
|
2628
2886
|
return;
|
|
2629
2887
|
optionsInitialising.current = true;
|
|
2630
|
-
var optionsConf = (_a =
|
|
2888
|
+
var optionsConf = (_a = props.options) !== null && _a !== void 0 ? _a : [];
|
|
2631
2889
|
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
2632
2890
|
var optionsList;
|
|
2633
2891
|
return __generator(this, function (_a) {
|
|
@@ -2645,7 +2903,7 @@ var GridFormDropDown = function (props) {
|
|
|
2645
2903
|
}
|
|
2646
2904
|
return item;
|
|
2647
2905
|
});
|
|
2648
|
-
if (
|
|
2906
|
+
if (props.filtered) {
|
|
2649
2907
|
// This is needed otherwise when filter input is rendered and sets autofocus
|
|
2650
2908
|
// the mouse up of the double click edit triggers the cell to cancel editing
|
|
2651
2909
|
delay(function () { return setOptions(optionsList); }, 100);
|
|
@@ -2658,10 +2916,10 @@ var GridFormDropDown = function (props) {
|
|
|
2658
2916
|
}
|
|
2659
2917
|
});
|
|
2660
2918
|
}); })();
|
|
2661
|
-
}, [filter, options,
|
|
2662
|
-
// Local filtering
|
|
2919
|
+
}, [filter, options, props]);
|
|
2920
|
+
// Local filtering.
|
|
2663
2921
|
useEffect(function () {
|
|
2664
|
-
if (
|
|
2922
|
+
if (props.filtered == "local") {
|
|
2665
2923
|
if (options == null)
|
|
2666
2924
|
return;
|
|
2667
2925
|
setFilteredValues(options
|
|
@@ -2675,19 +2933,19 @@ var GridFormDropDown = function (props) {
|
|
|
2675
2933
|
})
|
|
2676
2934
|
.filter(function (r) { return r !== undefined; }));
|
|
2677
2935
|
}
|
|
2678
|
-
}, [
|
|
2679
|
-
var researchOnFilterChange =
|
|
2936
|
+
}, [props.filtered, filter, options]);
|
|
2937
|
+
var researchOnFilterChange = dist(useCallback(function () {
|
|
2680
2938
|
setOptions(null);
|
|
2681
2939
|
}, []), 500);
|
|
2682
2940
|
var previousFilter = useRef(filter);
|
|
2683
|
-
// Reload filtering
|
|
2941
|
+
// Reload filtering.
|
|
2684
2942
|
useEffect(function () {
|
|
2685
|
-
if (previousFilter.current != filter &&
|
|
2943
|
+
if (previousFilter.current != filter && props.filtered == "reload") {
|
|
2686
2944
|
previousFilter.current = filter;
|
|
2687
|
-
|
|
2945
|
+
props.optionsRequestCancel && props.optionsRequestCancel();
|
|
2688
2946
|
researchOnFilterChange().then();
|
|
2689
2947
|
}
|
|
2690
|
-
}, [filter,
|
|
2948
|
+
}, [filter, props, researchOnFilterChange]);
|
|
2691
2949
|
var onFilterKeyDown = useCallback(function (e) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2692
2950
|
var activeOptions;
|
|
2693
2951
|
return __generator(this, function (_a) {
|
|
@@ -2704,7 +2962,7 @@ var GridFormDropDown = function (props) {
|
|
|
2704
2962
|
stopEditing();
|
|
2705
2963
|
return [3 /*break*/, 5];
|
|
2706
2964
|
case 2:
|
|
2707
|
-
if (!
|
|
2965
|
+
if (!props.onSelectFilter) return [3 /*break*/, 4];
|
|
2708
2966
|
return [4 /*yield*/, selectFilterHandler(filter)];
|
|
2709
2967
|
case 3:
|
|
2710
2968
|
_a.sent();
|
|
@@ -2717,26 +2975,27 @@ var GridFormDropDown = function (props) {
|
|
|
2717
2975
|
case 5: return [2 /*return*/];
|
|
2718
2976
|
}
|
|
2719
2977
|
});
|
|
2720
|
-
}); }, [filteredValues, options, selectItemHandler, selectFilterHandler, stopEditing, filter,
|
|
2721
|
-
|
|
2978
|
+
}); }, [filteredValues, options, selectItemHandler, selectFilterHandler, stopEditing, filter, props]);
|
|
2979
|
+
var popoverWrapper = useGridPopoverHook({ className: props.className }).popoverWrapper;
|
|
2980
|
+
return popoverWrapper(jsxs(Fragment$1, { children: [props.filtered && (jsxs("div", __assign({ className: "GridFormDropDown-filter" }, { children: [jsx(FocusableItem, __assign({ className: "filter-item" }, { children: function (_a) {
|
|
2722
2981
|
var _b;
|
|
2723
2982
|
var ref = _a.ref;
|
|
2724
|
-
return (jsx("div", __assign({ style: { display: "flex", width: "100%" } }, { children: jsx("input", { autoFocus: true, className: "free-text-input", style: { border: "0px" }, ref: ref, type: "text", placeholder: (_b =
|
|
2725
|
-
} })), jsx(MenuDivider, {}, "$$divider_filter")] })), jsx(ComponentLoadingWrapper, __assign({ loading: !options }, { children: jsxs(Fragment$1, { children: [options && options.length == (filteredValues === null || filteredValues === void 0 ? void 0 : filteredValues.length) && jsx(MenuItem, { children: "[Empty]" }), options === null || options === void 0 ? void 0 : options.map(function (item, index) {
|
|
2983
|
+
return (jsx("div", __assign({ style: { display: "flex", width: "100%" } }, { children: jsx("input", { autoFocus: true, className: "free-text-input", style: { border: "0px" }, ref: ref, type: "text", placeholder: (_b = props.filterPlaceholder) !== null && _b !== void 0 ? _b : "Placeholder", "data-testid": "filteredMenu-free-text-input", defaultValue: filter, onChange: function (e) { return setFilter(e.target.value.toLowerCase()); }, onKeyDown: function (e) { return onFilterKeyDown(e); } }) })));
|
|
2984
|
+
} })), jsx(MenuDivider, {}, "$$divider_filter")] }))), jsx(ComponentLoadingWrapper, __assign({ loading: !options, className: "GridFormDropDown-options" }, { children: jsxs(Fragment$1, { children: [options && options.length == (filteredValues === null || filteredValues === void 0 ? void 0 : filteredValues.length) && jsx(MenuItem, { children: "[Empty]" }), options === null || options === void 0 ? void 0 : options.map(function (item, index) {
|
|
2726
2985
|
var _a;
|
|
2727
|
-
return item.value === MenuSeparatorString ? (jsx(MenuDivider, {}, "$$divider_".concat(index))) : filteredValues.includes(item.value) ? null : (jsx(MenuItem, __assign({ disabled: !!item.disabled, title: item.disabled && typeof item.disabled !== "boolean" ? item.disabled : "", value: item.value, onClick: function () { return selectItemHandler(item.value); } }, { children: (_a = item.label) !== null && _a !== void 0 ? _a : (item.value == null ? "<".concat(item.value, ">") : "".concat(item.value)) }), "".concat(props.field, "-").concat(index)));
|
|
2986
|
+
return item.value === MenuSeparatorString ? (jsx(MenuDivider, {}, "$$divider_".concat(index))) : item.value === MenuHeaderString ? (jsx(MenuHeader, { children: item.label })) : filteredValues.includes(item.value) ? null : (jsx(MenuItem, __assign({ disabled: !!item.disabled, title: item.disabled && typeof item.disabled !== "boolean" ? item.disabled : "", value: item.value, onClick: function () { return selectItemHandler(item.value); } }, { children: (_a = item.label) !== null && _a !== void 0 ? _a : (item.value == null ? "<".concat(item.value, ">") : "".concat(item.value)) }), "".concat(props.field, "-").concat(index)));
|
|
2728
2987
|
})] }) }))] }));
|
|
2729
2988
|
};
|
|
2730
2989
|
|
|
2731
2990
|
var GridFormMultiSelect = function (props) {
|
|
2732
|
-
var
|
|
2991
|
+
var selectedRows = props.selectedRows;
|
|
2733
2992
|
var _a = useState(""), filter = _a[0], setFilter = _a[1];
|
|
2734
2993
|
var _b = useState([]), filteredValues = _b[0], setFilteredValues = _b[1];
|
|
2735
2994
|
var optionsInitialising = useRef(false);
|
|
2736
2995
|
var _c = useState(), options = _c[0], setOptions = _c[1];
|
|
2737
2996
|
var subSelectedValues = useRef({});
|
|
2738
2997
|
var _d = useState(function () {
|
|
2739
|
-
return
|
|
2998
|
+
return props.initialSelectedValues ? props.initialSelectedValues(selectedRows) : [];
|
|
2740
2999
|
}), selectedValues = _d[0], setSelectedValues = _d[1];
|
|
2741
3000
|
var save = useCallback(function (selectedRows) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2742
3001
|
var values;
|
|
@@ -2744,28 +3003,27 @@ var GridFormMultiSelect = function (props) {
|
|
|
2744
3003
|
switch (_a.label) {
|
|
2745
3004
|
case 0:
|
|
2746
3005
|
values = fromPairs(selectedValues.map(function (value) { var _a; return [value, (_a = subSelectedValues.current[value]) !== null && _a !== void 0 ? _a : true]; }));
|
|
2747
|
-
if (!
|
|
2748
|
-
return [4 /*yield*/,
|
|
3006
|
+
if (!props.onSave) return [3 /*break*/, 2];
|
|
3007
|
+
return [4 /*yield*/, props.onSave({ selectedRows: selectedRows, values: values })];
|
|
2749
3008
|
case 1: return [2 /*return*/, _a.sent()];
|
|
2750
3009
|
case 2: return [2 /*return*/, true];
|
|
2751
3010
|
}
|
|
2752
3011
|
});
|
|
2753
|
-
}); }, [
|
|
2754
|
-
var _e = useGridPopoverHook(props, save), popoverWrapper = _e.popoverWrapper, triggerSave = _e.triggerSave;
|
|
3012
|
+
}); }, [props, selectedValues]);
|
|
2755
3013
|
// Load up options list if it's async function
|
|
2756
3014
|
useEffect(function () {
|
|
2757
3015
|
var _a;
|
|
2758
3016
|
if (options || optionsInitialising.current)
|
|
2759
3017
|
return;
|
|
2760
3018
|
optionsInitialising.current = true;
|
|
2761
|
-
var optionsConf = (_a =
|
|
3019
|
+
var optionsConf = (_a = props.options) !== null && _a !== void 0 ? _a : [];
|
|
2762
3020
|
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
2763
3021
|
var optionsList;
|
|
2764
3022
|
return __generator(this, function (_a) {
|
|
2765
3023
|
switch (_a.label) {
|
|
2766
3024
|
case 0:
|
|
2767
3025
|
if (!(typeof optionsConf == "function")) return [3 /*break*/, 2];
|
|
2768
|
-
return [4 /*yield*/, optionsConf(
|
|
3026
|
+
return [4 /*yield*/, optionsConf(selectedRows)];
|
|
2769
3027
|
case 1:
|
|
2770
3028
|
optionsConf = _a.sent();
|
|
2771
3029
|
_a.label = 2;
|
|
@@ -2776,7 +3034,7 @@ var GridFormMultiSelect = function (props) {
|
|
|
2776
3034
|
}
|
|
2777
3035
|
return item;
|
|
2778
3036
|
});
|
|
2779
|
-
if (
|
|
3037
|
+
if (props.filtered) {
|
|
2780
3038
|
// This is needed otherwise when filter input is rendered and sets autofocus
|
|
2781
3039
|
// the mouse up of the double click edit triggers the cell to cancel editing
|
|
2782
3040
|
delay(function () { return setOptions(optionsList); }, 100);
|
|
@@ -2789,9 +3047,9 @@ var GridFormMultiSelect = function (props) {
|
|
|
2789
3047
|
}
|
|
2790
3048
|
});
|
|
2791
3049
|
}); })();
|
|
2792
|
-
}, [
|
|
3050
|
+
}, [props.filtered, props.options, options, selectedRows]);
|
|
2793
3051
|
useEffect(function () {
|
|
2794
|
-
if (!
|
|
3052
|
+
if (!props.filtered || options == null)
|
|
2795
3053
|
return;
|
|
2796
3054
|
setFilteredValues(options
|
|
2797
3055
|
.map(function (option) {
|
|
@@ -2803,64 +3061,62 @@ var GridFormMultiSelect = function (props) {
|
|
|
2803
3061
|
return str.toLowerCase().indexOf(filter.trim()) === -1 ? option.value : undefined;
|
|
2804
3062
|
})
|
|
2805
3063
|
.filter(function (r) { return r !== undefined; }));
|
|
2806
|
-
}, [
|
|
2807
|
-
|
|
3064
|
+
}, [props.filtered, filter, options]);
|
|
3065
|
+
var _e = useGridPopoverHook({ className: props.className, save: save }), popoverWrapper = _e.popoverWrapper, triggerSave = _e.triggerSave;
|
|
3066
|
+
return popoverWrapper(jsx(ComponentLoadingWrapper, __assign({ loading: !options, className: "GridFormMultiSelect-container" }, { children: jsxs(Fragment$1, { children: [options && props.filtered && (jsxs(Fragment$1, { children: [jsx(FocusableItem, __assign({ className: "filter-item" }, { children: function (_a) {
|
|
2808
3067
|
var _b;
|
|
2809
3068
|
var ref = _a.ref;
|
|
2810
|
-
return (jsx("div", __assign({ style: { display: "flex", width: "100%" } }, { children: jsx("input", { autoFocus: true, className: "free-text-input", style: { border: "0px" }, ref: ref, type: "text", placeholder: (_b =
|
|
2811
|
-
} }), "filter"), jsx(MenuDivider, {}, "$$divider_filter")] })), options === null || options === void 0 ? void 0 : options.map(function (item, index) {
|
|
2812
|
-
|
|
2813
|
-
|
|
2814
|
-
|
|
2815
|
-
|
|
2816
|
-
|
|
2817
|
-
}
|
|
2818
|
-
else {
|
|
2819
|
-
setSelectedValues(__spreadArray(__spreadArray([], selectedValues, true), [item.value], false));
|
|
2820
|
-
}
|
|
2821
|
-
}, onKeyDown: function (e) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2822
|
-
return __generator(this, function (_a) {
|
|
2823
|
-
if (e.key === "Enter")
|
|
2824
|
-
triggerSave().then();
|
|
2825
|
-
else if (e.key === " ") {
|
|
2826
|
-
if (selectedValues.includes(item.value)) {
|
|
2827
|
-
setSelectedValues(selectedValues.filter(function (value) { return value != item.value; }));
|
|
2828
|
-
}
|
|
2829
|
-
else {
|
|
2830
|
-
setSelectedValues(__spreadArray(__spreadArray([], selectedValues, true), [item.value], false));
|
|
2831
|
-
}
|
|
2832
|
-
e.preventDefault();
|
|
2833
|
-
e.stopPropagation();
|
|
3069
|
+
return (jsx("div", __assign({ style: { display: "flex", width: "100%" }, className: "GridFormMultiSelect-filter" }, { children: jsx("input", { autoFocus: true, className: "free-text-input", style: { border: "0px" }, ref: ref, type: "text", placeholder: (_b = props.filterPlaceholder) !== null && _b !== void 0 ? _b : "Placeholder", "data-testid": "filteredMenu-free-text-input", defaultValue: "", onChange: function (e) { return setFilter(e.target.value.toLowerCase()); } }) })));
|
|
3070
|
+
} }), "filter"), jsx(MenuDivider, {}, "$$divider_filter")] })), jsx("div", __assign({ className: "GridFormMultiSelect-options" }, { children: options === null || options === void 0 ? void 0 : options.map(function (item, index) {
|
|
3071
|
+
var _a;
|
|
3072
|
+
return item.value === MenuSeparatorString ? (jsx(MenuDivider, {}, "$$divider_".concat(index))) : filteredValues.includes(item.value) ? null : (jsxs("div", { children: [jsx(MenuItem, __assign({ onClick: function (e) {
|
|
3073
|
+
e.keepOpen = true;
|
|
3074
|
+
if (selectedValues.includes(item.value)) {
|
|
3075
|
+
setSelectedValues(selectedValues.filter(function (value) { return value != item.value; }));
|
|
2834
3076
|
}
|
|
2835
|
-
|
|
2836
|
-
|
|
2837
|
-
}); } }, { children: jsx(LuiCheckboxInput, { isChecked: selectedValues.includes(item.value), value: "".concat(item.value), label: (_a = item.label) !== null && _a !== void 0 ? _a : (item.value == null ? "<".concat(item.value, ">") : "".concat(item.value)), inputProps: {
|
|
2838
|
-
onClick: function (e) {
|
|
2839
|
-
e.preventDefault();
|
|
2840
|
-
e.stopPropagation();
|
|
2841
|
-
return false;
|
|
3077
|
+
else {
|
|
3078
|
+
setSelectedValues(__spreadArray(__spreadArray([], selectedValues, true), [item.value], false));
|
|
2842
3079
|
}
|
|
2843
|
-
},
|
|
2844
|
-
|
|
2845
|
-
|
|
2846
|
-
|
|
2847
|
-
|
|
2848
|
-
|
|
2849
|
-
|
|
3080
|
+
}, onKeyDown: function (e) { return __awaiter(void 0, void 0, void 0, function () {
|
|
3081
|
+
return __generator(this, function (_a) {
|
|
3082
|
+
if (e.key === "Enter")
|
|
3083
|
+
triggerSave().then();
|
|
3084
|
+
else if (e.key === " ") {
|
|
3085
|
+
if (selectedValues.includes(item.value)) {
|
|
3086
|
+
setSelectedValues(selectedValues.filter(function (value) { return value != item.value; }));
|
|
3087
|
+
}
|
|
3088
|
+
else {
|
|
3089
|
+
setSelectedValues(__spreadArray(__spreadArray([], selectedValues, true), [item.value], false));
|
|
3090
|
+
}
|
|
3091
|
+
e.preventDefault();
|
|
3092
|
+
e.stopPropagation();
|
|
3093
|
+
}
|
|
3094
|
+
return [2 /*return*/];
|
|
3095
|
+
});
|
|
3096
|
+
}); } }, { children: jsx(LuiCheckboxInput, { isChecked: selectedValues.includes(item.value), value: "".concat(item.value), label: (_a = item.label) !== null && _a !== void 0 ? _a : (item.value == null ? "<".concat(item.value, ">") : "".concat(item.value)), inputProps: {
|
|
3097
|
+
onClick: function (e) {
|
|
3098
|
+
e.preventDefault();
|
|
3099
|
+
e.stopPropagation();
|
|
3100
|
+
return false;
|
|
2850
3101
|
}
|
|
2851
|
-
},
|
|
2852
|
-
|
|
2853
|
-
|
|
3102
|
+
}, onChange: function () {
|
|
3103
|
+
/*Do nothing, change handled by menuItem*/
|
|
3104
|
+
} }) }), "".concat(index)), selectedValues.includes(item.value) && item.subComponent && (jsx(FocusableItem, __assign({ className: "LuiDeprecatedForms" }, { children: function (ref) {
|
|
3105
|
+
return item.subComponent &&
|
|
3106
|
+
item.subComponent({
|
|
3107
|
+
setValue: function (value) {
|
|
3108
|
+
subSelectedValues.current[item.value] = value;
|
|
3109
|
+
}
|
|
3110
|
+
}, ref);
|
|
3111
|
+
} }), "".concat(item.value, "_subcomponent")))] }, "".concat(index)));
|
|
3112
|
+
}) }))] }) })));
|
|
2854
3113
|
};
|
|
2855
3114
|
|
|
2856
|
-
var GridPopoutEditMultiSelect = function (colDef) {
|
|
2857
|
-
|
|
2858
|
-
return GridCell(__assign(__assign({ initialWidth: 65, maxWidth: 150, cellClass: ((_a = colDef.cellEditor) === null || _a === void 0 ? void 0 : _a.multiEdit) ? GenericMultiEditCellClass : undefined }, colDef), ((colDef === null || colDef === void 0 ? void 0 : colDef.cellEditorParams) && {
|
|
2859
|
-
cellEditorParams: __assign(__assign({}, colDef.cellEditorParams), { form: GridFormMultiSelect })
|
|
2860
|
-
})));
|
|
3115
|
+
var GridPopoutEditMultiSelect = function (colDef, props) {
|
|
3116
|
+
return GridCell(__assign({ initialWidth: 65, maxWidth: 150, cellClass: props.multiEdit ? GenericMultiEditCellClass : undefined }, colDef), __assign(__assign({ editor: GridFormMultiSelect }, props), { editorParams: __assign({ className: "GridMultiSelect-containerMedium" }, props.editorParams) }));
|
|
2861
3117
|
};
|
|
2862
3118
|
|
|
2863
|
-
var css_248z$2 = "
|
|
3119
|
+
var css_248z$2 = ".GridPopoutMenu-burger{cursor:pointer}.GridPopoutMenu-burger svg{fill:#007198}.GridPopoutMenu-burgerDisabled svg{fill:#989189}";
|
|
2864
3120
|
styleInject(css_248z$2);
|
|
2865
3121
|
|
|
2866
3122
|
/** Menu configuration types **/
|
|
@@ -2869,8 +3125,8 @@ var PopoutMenuSeparator = Object.freeze({ __isMenuSeparator__: true });
|
|
|
2869
3125
|
* NOTE: If the popout menu doesn't appear on single click when also selecting row it's because
|
|
2870
3126
|
* you need a useMemo around your columnDefs
|
|
2871
3127
|
*/
|
|
2872
|
-
var GridFormPopoutMenu = function (
|
|
2873
|
-
var
|
|
3128
|
+
var GridFormPopoutMenu = function (_props) {
|
|
3129
|
+
var props = _props;
|
|
2874
3130
|
var updatingCells = useContext(GridContext).updatingCells;
|
|
2875
3131
|
var optionsInitialising = useRef(false);
|
|
2876
3132
|
var _a = useState(), options = _a[0], setOptions = _a[1];
|
|
@@ -2880,7 +3136,7 @@ var GridFormPopoutMenu = function (props) {
|
|
|
2880
3136
|
if (options || optionsInitialising.current)
|
|
2881
3137
|
return;
|
|
2882
3138
|
optionsInitialising.current = true;
|
|
2883
|
-
var optionsConf = (_a =
|
|
3139
|
+
var optionsConf = (_a = props.options) !== null && _a !== void 0 ? _a : [];
|
|
2884
3140
|
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
2885
3141
|
var _a;
|
|
2886
3142
|
return __generator(this, function (_b) {
|
|
@@ -2901,7 +3157,7 @@ var GridFormPopoutMenu = function (props) {
|
|
|
2901
3157
|
}
|
|
2902
3158
|
});
|
|
2903
3159
|
}); })();
|
|
2904
|
-
}, [options,
|
|
3160
|
+
}, [options, props.options, props.selectedRows]);
|
|
2905
3161
|
var actionClick = useCallback(function (menuOption) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2906
3162
|
return __generator(this, function (_a) {
|
|
2907
3163
|
switch (_a.label) {
|
|
@@ -2929,23 +3185,21 @@ var GridFormPopoutMenu = function (props) {
|
|
|
2929
3185
|
var filteredOptions = options === null || options === void 0 ? void 0 : options.filter(function (menuOption) {
|
|
2930
3186
|
return menuOption.label === PopoutMenuSeparator || selectedRowCount === 1 || menuOption.supportsMultiEdit;
|
|
2931
3187
|
});
|
|
2932
|
-
var popoverWrapper = useGridPopoverHook(props).popoverWrapper;
|
|
2933
|
-
return popoverWrapper(jsx(ComponentLoadingWrapper, __assign({ loading: !filteredOptions
|
|
3188
|
+
var popoverWrapper = useGridPopoverHook({ className: props.className }).popoverWrapper;
|
|
3189
|
+
return popoverWrapper(jsx(ComponentLoadingWrapper, __assign({ loading: !filteredOptions, className: "GridFormPopupMenu" }, { children: jsx(Fragment$1, { children: options === null || options === void 0 ? void 0 : options.map(function (item, index) {
|
|
2934
3190
|
return item.label === PopoutMenuSeparator ? (jsx(MenuDivider, {}, "$$divider_".concat(index))) : (!item.hidden && (jsx(MenuItem, __assign({ onClick: function () { return actionClick(item); }, disabled: !!item.disabled || !(filteredOptions === null || filteredOptions === void 0 ? void 0 : filteredOptions.includes(item)), title: item.disabled && typeof item.disabled !== "boolean" ? item.disabled : "" }, { children: item.label }), "".concat(item.label))));
|
|
2935
|
-
}) })
|
|
3191
|
+
}) }) })));
|
|
2936
3192
|
};
|
|
2937
3193
|
|
|
2938
3194
|
/**
|
|
2939
3195
|
* Popout burger menu
|
|
2940
3196
|
*/
|
|
2941
|
-
var GridPopoverMenu = function (colDef) {
|
|
3197
|
+
var GridPopoverMenu = function (colDef, props) {
|
|
2942
3198
|
var _a;
|
|
2943
|
-
return GridCell(__assign(__assign(
|
|
3199
|
+
return GridCell(__assign(__assign({ maxWidth: 64, editable: colDef.editable != null ? colDef.editable : true, cellRenderer: GridRenderPopoutMenuCell, cellClass: ((_a = colDef === null || colDef === void 0 ? void 0 : colDef.cellEditorParams) === null || _a === void 0 ? void 0 : _a.multiEdit) !== false ? GenericMultiEditCellClass : undefined }, colDef), { cellRendererParams: {
|
|
2944
3200
|
// Menus open on single click, this parameter is picked up in Grid.tsx
|
|
2945
3201
|
singleClickEdit: true
|
|
2946
|
-
} }), (
|
|
2947
|
-
cellEditorParams: __assign(__assign({ multiEdit: true }, colDef.cellEditorParams), { form: GridFormPopoutMenu })
|
|
2948
|
-
})));
|
|
3202
|
+
} }), __assign({ editor: GridFormPopoutMenu }, props));
|
|
2949
3203
|
};
|
|
2950
3204
|
|
|
2951
3205
|
var bearingValueFormatter = function (params) {
|
|
@@ -3026,19 +3280,19 @@ var convertDDToDMS = function (dd, showPositiveSymbol, addTrailingZeros) {
|
|
|
3026
3280
|
return dmsString;
|
|
3027
3281
|
};
|
|
3028
3282
|
|
|
3029
|
-
var css_248z$1 = ".GridFormEditBearing-input
|
|
3283
|
+
var css_248z$1 = ".GridFormEditBearing-input{width:320px}";
|
|
3030
3284
|
styleInject(css_248z$1);
|
|
3031
3285
|
|
|
3032
|
-
var css_248z = ".LuiTextInput
|
|
3286
|
+
var css_248z = ".LuiTextInput{margin-bottom:0}.LuiTextInput-formatted{color:#beb9b4;line-height:48px;position:absolute;right:14px;top:0}";
|
|
3033
3287
|
styleInject(css_248z);
|
|
3034
3288
|
|
|
3035
3289
|
var TextInputFormatted = function (props) {
|
|
3036
3290
|
return (jsxs("div", __assign({ className: clsx("LuiTextInput Grid-popoverContainer", props.error && "hasError", props.warning && "hasWarning", props.className) }, { children: [jsxs("span", __assign({ className: "LuiTextInput-inputWrapper" }, { children: [jsx("input", __assign({ type: "text", className: "LuiTextInput-input", min: "0", value: props.value, onChange: props.onChange }, props.inputProps)), jsx("span", __assign({ className: "LuiTextInput-formatted" }, { children: props.formatted }))] })), props.error && (jsxs("span", __assign({ className: "LuiTextInput-error" }, { children: [jsx(LuiIcon, { alt: "error", name: "ic_error", className: "LuiTextInput-error-icon", size: "sm", status: "error" }), props.error] }))), props.warning && (jsxs("span", __assign({ className: "LuiTextInput-warning" }, { children: [jsx(LuiIcon, { alt: "warning", name: "ic_warning", className: "LuiTextInput-warning-icon", size: "sm", status: "warning" }), props.warning] })))] })));
|
|
3037
3291
|
};
|
|
3038
3292
|
|
|
3039
|
-
var GridFormEditBearing = function (
|
|
3293
|
+
var GridFormEditBearing = function (_props) {
|
|
3040
3294
|
var _a;
|
|
3041
|
-
var
|
|
3295
|
+
var props = _props;
|
|
3042
3296
|
var _b = useState("".concat((_a = props.value) !== null && _a !== void 0 ? _a : "")), value = _b[0], setValue = _b[1];
|
|
3043
3297
|
var save = useCallback(function (selectedRows) { return __awaiter(void 0, void 0, void 0, function () {
|
|
3044
3298
|
var parsedValue, field_1;
|
|
@@ -3052,8 +3306,8 @@ var GridFormEditBearing = function (props) {
|
|
|
3052
3306
|
if (parsedValue === props.value) {
|
|
3053
3307
|
return [2 /*return*/, true];
|
|
3054
3308
|
}
|
|
3055
|
-
if (!
|
|
3056
|
-
return [4 /*yield*/,
|
|
3309
|
+
if (!props.onSave) return [3 /*break*/, 2];
|
|
3310
|
+
return [4 /*yield*/, props.onSave(selectedRows, parsedValue)];
|
|
3057
3311
|
case 1: return [2 /*return*/, _a.sent()];
|
|
3058
3312
|
case 2:
|
|
3059
3313
|
field_1 = props.field;
|
|
@@ -3067,42 +3321,42 @@ var GridFormEditBearing = function (props) {
|
|
|
3067
3321
|
case 3: return [2 /*return*/, true];
|
|
3068
3322
|
}
|
|
3069
3323
|
});
|
|
3070
|
-
}); }, [
|
|
3071
|
-
var _c = useGridPopoverHook(props, save),
|
|
3324
|
+
}); }, [props, value]);
|
|
3325
|
+
var _c = useGridPopoverHook({ className: props.className, save: save }), triggerSave = _c.triggerSave, popoverWrapper = _c.popoverWrapper;
|
|
3072
3326
|
return popoverWrapper(jsx("div", __assign({ className: "GridFormEditBearing-input Grid-popoverContainer" }, { children: jsx(TextInputFormatted, { value: value !== null && value !== void 0 ? value : "", onChange: function (e) {
|
|
3073
3327
|
setValue(e.target.value.trim());
|
|
3074
3328
|
}, inputProps: {
|
|
3075
3329
|
autoFocus: true,
|
|
3076
|
-
placeholder:
|
|
3330
|
+
placeholder: props.placeHolder,
|
|
3077
3331
|
disabled: false,
|
|
3078
3332
|
maxLength: 16,
|
|
3079
3333
|
onKeyDown: function (e) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
3080
3334
|
return [2 /*return*/, e.key === "Enter" && triggerSave().then()];
|
|
3081
3335
|
}); }); }
|
|
3082
|
-
}, formatted: bearingStringValidator(value,
|
|
3336
|
+
}, formatted: bearingStringValidator(value, props.range) ? "?" : convertDDToDMS(bearingNumberParser(value)), error: bearingStringValidator(value, props.range) }) })));
|
|
3083
3337
|
};
|
|
3084
3338
|
|
|
3085
|
-
var GridPopoverEditBearingLike = function (colDef) {
|
|
3086
|
-
|
|
3087
|
-
return GridCell(__assign(__assign({ initialWidth: 65, maxWidth: 150, valueFormatter: bearingValueFormatter, cellClass: ((_a = colDef.cellEditorParams) === null || _a === void 0 ? void 0 : _a.multiEdit) ? GenericMultiEditCellClass : undefined }, colDef), ((colDef === null || colDef === void 0 ? void 0 : colDef.cellEditorParams) && {
|
|
3088
|
-
cellEditorParams: __assign(__assign({}, colDef.cellEditorParams), { form: GridFormEditBearing })
|
|
3089
|
-
})));
|
|
3339
|
+
var GridPopoverEditBearingLike = function (colDef, props) {
|
|
3340
|
+
return GridCell(__assign({ initialWidth: 65, maxWidth: 150, valueFormatter: bearingValueFormatter, cellClass: props.multiEdit ? GenericMultiEditCellClass : undefined }, colDef), __assign({ editor: GridFormEditBearing }, props));
|
|
3090
3341
|
};
|
|
3091
|
-
var GridPopoverEditBearing = function (colDef) {
|
|
3092
|
-
|
|
3093
|
-
|
|
3342
|
+
var GridPopoverEditBearing = function (colDef, props) {
|
|
3343
|
+
return GridPopoverEditBearingLike(__assign({ valueFormatter: bearingValueFormatter }, colDef), {
|
|
3344
|
+
multiEdit: !!props.multiEdit,
|
|
3345
|
+
editorParams: __assign({ placeHolder: "Enter bearing correction", range: function (value) {
|
|
3094
3346
|
if (value === null)
|
|
3095
|
-
return "Bearing is required";
|
|
3347
|
+
return "Bearing correction is required";
|
|
3096
3348
|
if (value >= 360)
|
|
3097
|
-
return "Bearing must be less than 360 degrees";
|
|
3349
|
+
return "Bearing correction must be less than 360 degrees";
|
|
3098
3350
|
if (value < 0)
|
|
3099
|
-
return "Bearing must not be negative";
|
|
3351
|
+
return "Bearing correction must not be negative";
|
|
3100
3352
|
return null;
|
|
3101
|
-
} },
|
|
3353
|
+
} }, props.editorParams)
|
|
3354
|
+
});
|
|
3102
3355
|
};
|
|
3103
|
-
var GridPopoverEditBearingCorrection = function (colDef) {
|
|
3104
|
-
|
|
3105
|
-
|
|
3356
|
+
var GridPopoverEditBearingCorrection = function (colDef, props) {
|
|
3357
|
+
return GridPopoverEditBearingLike(__assign({ valueFormatter: bearingCorrectionValueFormatter }, colDef), {
|
|
3358
|
+
multiEdit: !!props.multiEdit,
|
|
3359
|
+
editorParams: __assign({ placeHolder: "Enter bearing correction", range: function (value) {
|
|
3106
3360
|
if (value === null)
|
|
3107
3361
|
return "Bearing is required";
|
|
3108
3362
|
if (value >= 360)
|
|
@@ -3110,20 +3364,20 @@ var GridPopoverEditBearingCorrection = function (colDef) {
|
|
|
3110
3364
|
if (value <= -180)
|
|
3111
3365
|
return "Bearing must be greater then -180 degrees";
|
|
3112
3366
|
return null;
|
|
3113
|
-
} },
|
|
3367
|
+
} }, props.editorParams)
|
|
3368
|
+
});
|
|
3114
3369
|
};
|
|
3115
3370
|
|
|
3116
|
-
var GridPopoverEditDropDown = function (colDef) {
|
|
3117
|
-
|
|
3118
|
-
|
|
3119
|
-
|
|
3120
|
-
})));
|
|
3371
|
+
var GridPopoverEditDropDown = function (colDef, props) {
|
|
3372
|
+
return GridCell(__assign({ initialWidth: 65, maxWidth: 150, cellClass: props.multiEdit ? GenericMultiEditCellClass : undefined }, colDef), __assign(__assign({ editor: GridFormDropDown }, props), { editorParams: __assign({
|
|
3373
|
+
// Defaults to medium size container
|
|
3374
|
+
className: "GridPopoverEditDropDown-containerMedium" }, props.editorParams) }));
|
|
3121
3375
|
};
|
|
3122
3376
|
|
|
3123
|
-
var GridFormMessage = function (
|
|
3124
|
-
var
|
|
3377
|
+
var GridFormMessage = function (_props) {
|
|
3378
|
+
var props = _props;
|
|
3125
3379
|
var _a = useState(null), message = _a[0], setMessage = _a[1];
|
|
3126
|
-
var popoverWrapper = useGridPopoverHook(props).popoverWrapper;
|
|
3380
|
+
var popoverWrapper = useGridPopoverHook({ className: props.className }).popoverWrapper;
|
|
3127
3381
|
useEffect(function () {
|
|
3128
3382
|
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
3129
3383
|
var _a;
|
|
@@ -3131,26 +3385,86 @@ var GridFormMessage = function (props) {
|
|
|
3131
3385
|
switch (_b.label) {
|
|
3132
3386
|
case 0:
|
|
3133
3387
|
_a = setMessage;
|
|
3134
|
-
return [4 /*yield*/,
|
|
3388
|
+
return [4 /*yield*/, props.message(props)];
|
|
3135
3389
|
case 1:
|
|
3136
3390
|
_a.apply(void 0, [_b.sent()]);
|
|
3137
3391
|
return [2 /*return*/];
|
|
3138
3392
|
}
|
|
3139
3393
|
});
|
|
3140
3394
|
}); })().then();
|
|
3141
|
-
}, [
|
|
3142
|
-
return popoverWrapper(jsx(ComponentLoadingWrapper, __assign({ loading: message === null
|
|
3395
|
+
}, [props]);
|
|
3396
|
+
return popoverWrapper(jsx(ComponentLoadingWrapper, __assign({ loading: message === null, className: clsx("GridFormMessage-container", props.className) }, { children: jsx(Fragment$1, { children: message }) })));
|
|
3143
3397
|
};
|
|
3144
3398
|
|
|
3145
|
-
var GridPopoverMessage = function (colDef) {
|
|
3146
|
-
|
|
3147
|
-
return GridCell(__assign(__assign(__assign({ maxWidth: 140 }, colDef), { cellRendererParams: (_a = colDef.cellRendererParams) !== null && _a !== void 0 ? _a : {
|
|
3148
|
-
singleClickEdit: true
|
|
3149
|
-
} }), ((colDef === null || colDef === void 0 ? void 0 : colDef.cellEditorParams) && {
|
|
3150
|
-
cellEditorParams: __assign(__assign({}, colDef.cellEditorParams), { form: GridFormMessage })
|
|
3151
|
-
})));
|
|
3399
|
+
var GridPopoverMessage = function (colDef, props) {
|
|
3400
|
+
return GridCell(__assign(__assign({ maxWidth: 140 }, colDef), { cellRendererParams: __assign({ singleClickEdit: true }, colDef.cellRendererParams) }), __assign({ editor: GridFormMessage }, props));
|
|
3152
3401
|
};
|
|
3153
3402
|
|
|
3403
|
+
// Unique ID creation requires a high quality random # generator. In the browser we therefore
|
|
3404
|
+
// require the crypto API and do not support built-in fallback to lower quality random number
|
|
3405
|
+
// generators (like Math.random()).
|
|
3406
|
+
let getRandomValues;
|
|
3407
|
+
const rnds8 = new Uint8Array(16);
|
|
3408
|
+
function rng() {
|
|
3409
|
+
// lazy load so that environments that need to polyfill have a chance to do so
|
|
3410
|
+
if (!getRandomValues) {
|
|
3411
|
+
// getRandomValues needs to be invoked in a context where "this" is a Crypto implementation.
|
|
3412
|
+
getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
|
|
3413
|
+
|
|
3414
|
+
if (!getRandomValues) {
|
|
3415
|
+
throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
|
|
3416
|
+
}
|
|
3417
|
+
}
|
|
3418
|
+
|
|
3419
|
+
return getRandomValues(rnds8);
|
|
3420
|
+
}
|
|
3421
|
+
|
|
3422
|
+
/**
|
|
3423
|
+
* Convert array of 16 byte values to UUID string format of the form:
|
|
3424
|
+
* XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
|
|
3425
|
+
*/
|
|
3426
|
+
|
|
3427
|
+
const byteToHex = [];
|
|
3428
|
+
|
|
3429
|
+
for (let i = 0; i < 256; ++i) {
|
|
3430
|
+
byteToHex.push((i + 0x100).toString(16).slice(1));
|
|
3431
|
+
}
|
|
3432
|
+
|
|
3433
|
+
function unsafeStringify(arr, offset = 0) {
|
|
3434
|
+
// Note: Be careful editing this code! It's been tuned for performance
|
|
3435
|
+
// and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
|
|
3436
|
+
return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();
|
|
3437
|
+
}
|
|
3438
|
+
|
|
3439
|
+
const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
|
|
3440
|
+
var native = {
|
|
3441
|
+
randomUUID
|
|
3442
|
+
};
|
|
3443
|
+
|
|
3444
|
+
function v4(options, buf, offset) {
|
|
3445
|
+
if (native.randomUUID && !buf && !options) {
|
|
3446
|
+
return native.randomUUID();
|
|
3447
|
+
}
|
|
3448
|
+
|
|
3449
|
+
options = options || {};
|
|
3450
|
+
const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
|
|
3451
|
+
|
|
3452
|
+
rnds[6] = rnds[6] & 0x0f | 0x40;
|
|
3453
|
+
rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
|
|
3454
|
+
|
|
3455
|
+
if (buf) {
|
|
3456
|
+
offset = offset || 0;
|
|
3457
|
+
|
|
3458
|
+
for (let i = 0; i < 16; ++i) {
|
|
3459
|
+
buf[offset + i] = rnds[i];
|
|
3460
|
+
}
|
|
3461
|
+
|
|
3462
|
+
return buf;
|
|
3463
|
+
}
|
|
3464
|
+
|
|
3465
|
+
return unsafeStringify(rnds);
|
|
3466
|
+
}
|
|
3467
|
+
|
|
3154
3468
|
var useGenerateOrDefaultId = function (idFromProps) {
|
|
3155
3469
|
var id = useState(idFromProps ? idFromProps : v4())[0];
|
|
3156
3470
|
return id;
|
|
@@ -3161,22 +3475,22 @@ var TextAreaInput = function (props) {
|
|
|
3161
3475
|
return (jsxs("div", __assign({ className: clsx("LuiTextAreaInput Grid-popoverContainer", ((_b = props.inputProps) === null || _b === void 0 ? void 0 : _b.disabled) ? "isDisabled" : "", (props === null || props === void 0 ? void 0 : props.error) ? "hasError" : "") }, { children: [jsxs("label", __assign({ htmlFor: id }, { children: [props.mandatory && jsx("span", __assign({ className: "LuiTextAreaInput-mandatory" }, { children: "*" })), props.label && jsx("span", __assign({ className: "LuiTextAreaInput-label" }, { children: props.label })), jsxs("div", __assign({ className: "LuiTextAreaInput-wrapper" }, { children: [" ", jsx("textarea", __assign({ id: id, value: props.value, onChange: props.onChange, rows: 5 }, props.inputProps))] }))] })), props.error && (jsxs("span", __assign({ className: "LuiTextAreaInput-error" }, { children: [jsx(LuiIcon, { alt: "error", name: "ic_error", className: "LuiTextAreaInput-error-icon", size: "sm", status: "error" }), props.error] })))] })));
|
|
3162
3476
|
};
|
|
3163
3477
|
|
|
3164
|
-
var GridFormTextArea = function (
|
|
3478
|
+
var GridFormTextArea = function (_props) {
|
|
3165
3479
|
var _a, _b;
|
|
3166
|
-
var
|
|
3480
|
+
var props = _props;
|
|
3167
3481
|
var _c = useState((_a = props.value) !== null && _a !== void 0 ? _a : ""), value = _c[0], setValue = _c[1];
|
|
3168
3482
|
var invalid = useCallback(function () {
|
|
3169
|
-
if (
|
|
3483
|
+
if (props.required && value.length == 0) {
|
|
3170
3484
|
return "Some text is required";
|
|
3171
3485
|
}
|
|
3172
|
-
if (
|
|
3173
|
-
return "Text must be no longer than ".concat(
|
|
3486
|
+
if (props.maxlength && value.length > props.maxlength) {
|
|
3487
|
+
return "Text must be no longer than ".concat(props.maxlength, " characters");
|
|
3174
3488
|
}
|
|
3175
|
-
if (
|
|
3176
|
-
return
|
|
3489
|
+
if (props.validate) {
|
|
3490
|
+
return props.validate(value);
|
|
3177
3491
|
}
|
|
3178
3492
|
return null;
|
|
3179
|
-
}, [
|
|
3493
|
+
}, [props, value]);
|
|
3180
3494
|
var save = useCallback(function (selectedRows) { return __awaiter(void 0, void 0, void 0, function () {
|
|
3181
3495
|
var field;
|
|
3182
3496
|
return __generator(this, function (_a) {
|
|
@@ -3186,8 +3500,8 @@ var GridFormTextArea = function (props) {
|
|
|
3186
3500
|
return [2 /*return*/, false];
|
|
3187
3501
|
if (props.value === (value !== null && value !== void 0 ? value : ""))
|
|
3188
3502
|
return [2 /*return*/, true];
|
|
3189
|
-
if (!
|
|
3190
|
-
return [4 /*yield*/,
|
|
3503
|
+
if (!props.onSave) return [3 /*break*/, 2];
|
|
3504
|
+
return [4 /*yield*/, props.onSave(selectedRows, value)];
|
|
3191
3505
|
case 1: return [2 /*return*/, _a.sent()];
|
|
3192
3506
|
case 2:
|
|
3193
3507
|
field = props.field;
|
|
@@ -3199,35 +3513,33 @@ var GridFormTextArea = function (props) {
|
|
|
3199
3513
|
return [2 /*return*/, true];
|
|
3200
3514
|
}
|
|
3201
3515
|
});
|
|
3202
|
-
}); }, [
|
|
3203
|
-
var popoverWrapper = useGridPopoverHook(props, save).popoverWrapper;
|
|
3204
|
-
return popoverWrapper(jsx("div", __assign({ style: { display: "flex", flexDirection: "row", width: (_b =
|
|
3516
|
+
}); }, [props, invalid, value]);
|
|
3517
|
+
var popoverWrapper = useGridPopoverHook({ className: props.className, save: save }).popoverWrapper;
|
|
3518
|
+
return popoverWrapper(jsx("div", __assign({ style: { display: "flex", flexDirection: "row", width: (_b = props.width) !== null && _b !== void 0 ? _b : 240 } }, { children: jsx(TextAreaInput, { value: value, onChange: function (e) { return setValue(e.target.value); }, error: invalid(), inputProps: { placeholder: props.placeholder } }) })));
|
|
3205
3519
|
};
|
|
3206
3520
|
|
|
3207
|
-
var GridPopoverTextArea = function (colDef) {
|
|
3208
|
-
return GridCell(__assign(
|
|
3209
|
-
cellEditorParams: __assign(__assign({ width: 260 }, colDef.cellEditorParams), { form: GridFormTextArea })
|
|
3210
|
-
})));
|
|
3521
|
+
var GridPopoverTextArea = function (colDef, params) {
|
|
3522
|
+
return GridCell(__assign({ maxWidth: 260 }, colDef), __assign({ editor: GridFormTextArea }, params));
|
|
3211
3523
|
};
|
|
3212
3524
|
|
|
3213
|
-
var GridFormTextInput = function (
|
|
3525
|
+
var GridFormTextInput = function (_props) {
|
|
3214
3526
|
var _a;
|
|
3215
|
-
var
|
|
3527
|
+
var props = _props;
|
|
3216
3528
|
var initValue = props.value == null ? "" : "".concat(props.value);
|
|
3217
3529
|
var _b = useState(initValue), value = _b[0], setValue = _b[1];
|
|
3218
3530
|
var invalid = useCallback(function () {
|
|
3219
3531
|
var trimmedValue = value.trim();
|
|
3220
|
-
if (
|
|
3532
|
+
if (props.required && trimmedValue.length == 0) {
|
|
3221
3533
|
return "Some text is required";
|
|
3222
3534
|
}
|
|
3223
|
-
if (
|
|
3224
|
-
return "Text must be no longer than ".concat(
|
|
3535
|
+
if (props.maxlength && trimmedValue.length > props.maxlength) {
|
|
3536
|
+
return "Text must be no longer than ".concat(props.maxlength, " characters");
|
|
3225
3537
|
}
|
|
3226
|
-
if (
|
|
3227
|
-
return
|
|
3538
|
+
if (props.validate) {
|
|
3539
|
+
return props.validate(trimmedValue, props.data);
|
|
3228
3540
|
}
|
|
3229
3541
|
return null;
|
|
3230
|
-
}, [
|
|
3542
|
+
}, [props, value]);
|
|
3231
3543
|
var save = useCallback(function (selectedRows) { return __awaiter(void 0, void 0, void 0, function () {
|
|
3232
3544
|
var trimmedValue, field;
|
|
3233
3545
|
return __generator(this, function (_a) {
|
|
@@ -3238,8 +3550,8 @@ var GridFormTextInput = function (props) {
|
|
|
3238
3550
|
trimmedValue = value.trim();
|
|
3239
3551
|
if (initValue === trimmedValue)
|
|
3240
3552
|
return [2 /*return*/, true];
|
|
3241
|
-
if (!
|
|
3242
|
-
return [4 /*yield*/,
|
|
3553
|
+
if (!props.onSave) return [3 /*break*/, 2];
|
|
3554
|
+
return [4 /*yield*/, props.onSave(selectedRows, trimmedValue)];
|
|
3243
3555
|
case 1: return [2 /*return*/, _a.sent()];
|
|
3244
3556
|
case 2:
|
|
3245
3557
|
field = props.field;
|
|
@@ -3251,21 +3563,19 @@ var GridFormTextInput = function (props) {
|
|
|
3251
3563
|
return [2 /*return*/, true];
|
|
3252
3564
|
}
|
|
3253
3565
|
});
|
|
3254
|
-
}); }, [invalid, value, initValue,
|
|
3255
|
-
var _c = useGridPopoverHook(props, save), popoverWrapper = _c.popoverWrapper, triggerSave = _c.triggerSave;
|
|
3256
|
-
return popoverWrapper(jsx("div", __assign({ style: { display: "flex", flexDirection: "row", width: (_a =
|
|
3566
|
+
}); }, [invalid, value, initValue, props]);
|
|
3567
|
+
var _c = useGridPopoverHook({ className: props.className, save: save }), popoverWrapper = _c.popoverWrapper, triggerSave = _c.triggerSave;
|
|
3568
|
+
return popoverWrapper(jsx("div", __assign({ style: { display: "flex", flexDirection: "row", width: (_a = props.width) !== null && _a !== void 0 ? _a : 240 }, className: "FormTest" }, { children: jsx(TextInputFormatted, { value: value, onChange: function (e) { return setValue(e.target.value); }, error: invalid(), formatted: props.units, inputProps: {
|
|
3257
3569
|
style: { width: "100%" },
|
|
3258
|
-
placeholder:
|
|
3570
|
+
placeholder: props.placeholder,
|
|
3259
3571
|
onKeyDown: function (e) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
3260
3572
|
return [2 /*return*/, e.key === "Enter" && triggerSave().then()];
|
|
3261
3573
|
}); }); }
|
|
3262
3574
|
} }) })));
|
|
3263
3575
|
};
|
|
3264
3576
|
|
|
3265
|
-
var GridPopoverTextInput = function (colDef) {
|
|
3266
|
-
return GridCell(__assign(
|
|
3267
|
-
cellEditorParams: __assign(__assign({ width: 240 }, colDef.cellEditorParams), { form: GridFormTextInput })
|
|
3268
|
-
})));
|
|
3577
|
+
var GridPopoverTextInput = function (colDef, params) {
|
|
3578
|
+
return GridCell(__assign({ maxWidth: 140 }, colDef), __assign({ editor: GridFormTextInput }, params));
|
|
3269
3579
|
};
|
|
3270
3580
|
|
|
3271
3581
|
var GridSubComponentTextArea = function (props) {
|
|
@@ -3276,5 +3586,5 @@ var GridSubComponentTextArea = function (props) {
|
|
|
3276
3586
|
return (jsx("div", __assign({ className: "FreeTextInput LuiDeprecatedForms" }, { children: jsx("textarea", { autoFocus: true, maxLength: 10000, spellCheck: true, className: "free-text-input", onChange: function (e) { return setValue(e.target.value); }, defaultValue: value }) })));
|
|
3277
3587
|
};
|
|
3278
3588
|
|
|
3279
|
-
export { ComponentLoadingWrapper, ControlledMenu, FocusableItem, GenericCellEditorComponent,
|
|
3589
|
+
export { ComponentLoadingWrapper, ControlledMenu, FocusableItem, GenericCellEditorComponent, GenericMultiEditCellClass, Grid, GridCell, GridCellRenderer, GridContext, GridContextProvider, GridHeaderSelect, GridIcon, GridLoadableCell, GridPopoutEditMultiSelect, GridPopoverEditBearing, GridPopoverEditBearingCorrection, GridPopoverEditDropDown, GridPopoverMenu, GridPopoverMessage, GridPopoverTextArea, GridPopoverTextInput, GridRenderPopoutMenuCell, GridRendererGenericCell, GridSubComponentTextArea, GridUpdatingContext, GridUpdatingContextProvider, Menu, MenuButton, MenuDivider, MenuGroup, MenuHeader, MenuItem, MenuRadioGroup, SubMenu, TextAreaInput, TextInputFormatted, bearingCorrectionValueFormatter, bearingNumberParser, bearingStringValidator, bearingValueFormatter, convertDDToDMS, hasParentClass, isFloat, isNotEmpty, useGridPopoverHook, useMenuState, usePostSortRowsHook, wait };
|
|
3280
3590
|
//# sourceMappingURL=step-ag-grid.esm.js.map
|