@linzjs/step-ag-grid 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/README.md +117 -2
  2. package/{src/components → dist}/GridTheme.scss +37 -23
  3. package/dist/index.css +351 -0
  4. package/dist/index.js +463 -212
  5. package/dist/index.js.map +1 -1
  6. package/dist/src/components/ComponentLoadingWrapper.d.ts +1 -0
  7. package/dist/src/components/Grid.d.ts +0 -3
  8. package/dist/src/components/GridCell.d.ts +3 -0
  9. package/dist/src/components/GridPopoverHook.d.ts +2 -1
  10. package/dist/src/components/gridForm/GridFormDropDown.d.ts +4 -3
  11. package/dist/src/components/gridForm/GridFormEditBearing.d.ts +3 -2
  12. package/dist/src/components/gridForm/GridFormMessage.d.ts +2 -2
  13. package/dist/src/components/gridForm/GridFormMultiSelect.d.ts +4 -2
  14. package/dist/src/components/gridForm/GridFormPopoutMenu.d.ts +2 -1
  15. package/dist/src/components/gridForm/GridFormTextArea.d.ts +2 -1
  16. package/dist/src/components/gridForm/GridFormTextInput.d.ts +2 -1
  17. package/dist/src/components/gridPopoverEdit/GridPopoverEditBearing.d.ts +4 -4
  18. package/dist/src/components/gridPopoverEdit/GridPopoverEditDropDown.d.ts +2 -2
  19. package/dist/src/components/gridPopoverEdit/GridPopoverMenu.d.ts +2 -3
  20. package/dist/src/components/gridPopoverEdit/GridPopoverMessage.d.ts +2 -2
  21. package/dist/src/components/gridPopoverEdit/GridPopoverTextArea.d.ts +2 -2
  22. package/dist/src/components/gridPopoverEdit/GridPopoverTextInput.d.ts +2 -2
  23. package/dist/src/components/gridRender/GridRenderGenericCell.d.ts +4 -3
  24. package/dist/src/contexts/GridContext.d.ts +1 -1
  25. package/dist/src/contexts/GridPopoverContext.d.ts +1 -1
  26. package/dist/src/index.d.ts +31 -0
  27. package/dist/src/react-menu3/components/MenuRadioGroup.d.ts +2 -21
  28. package/dist/src/react-menu3/contexts/EventHandlersContext.d.ts +7 -0
  29. package/dist/src/react-menu3/contexts/HoverItemContext.d.ts +2 -0
  30. package/dist/src/react-menu3/contexts/ItemSettingsContext.d.ts +5 -0
  31. package/dist/src/react-menu3/contexts/MenuListContext.d.ts +9 -0
  32. package/dist/src/react-menu3/contexts/MenuListItemContext.d.ts +11 -0
  33. package/dist/src/react-menu3/contexts/RadioGroupContext.d.ts +7 -0
  34. package/dist/src/react-menu3/contexts/SettingsContext.d.ts +20 -0
  35. package/dist/src/react-menu3/index.d.ts +0 -1
  36. package/dist/src/react-menu3/utils/constants.d.ts +1 -50
  37. package/dist/step-ag-grid.esm.js +462 -193
  38. package/dist/step-ag-grid.esm.js.map +1 -1
  39. package/package.json +48 -26
  40. package/src/components/ComponentLoadingWrapper.tsx +2 -1
  41. package/src/components/Grid.tsx +2 -9
  42. package/src/components/GridCell.tsx +5 -0
  43. package/src/components/GridLoadableCell.tsx +0 -4
  44. package/src/components/GridPopoverHook.tsx +13 -7
  45. package/src/components/gridForm/GridFormDropDown.tsx +17 -13
  46. package/src/components/gridForm/GridFormEditBearing.tsx +4 -4
  47. package/src/components/gridForm/GridFormMessage.tsx +6 -7
  48. package/src/components/gridForm/GridFormMultiSelect.tsx +73 -63
  49. package/src/components/gridForm/GridFormPopoutMenu.tsx +6 -6
  50. package/src/components/gridForm/GridFormTextArea.tsx +4 -4
  51. package/src/components/gridForm/GridFormTextInput.tsx +3 -3
  52. package/src/components/gridPopoverEdit/GridPopoutEditMultiSelect.ts +4 -0
  53. package/src/components/gridPopoverEdit/GridPopoverEditBearing.ts +4 -4
  54. package/src/components/gridPopoverEdit/GridPopoverEditDropDown.ts +7 -2
  55. package/src/components/gridPopoverEdit/GridPopoverMenu.scss +4 -4
  56. package/src/components/gridPopoverEdit/GridPopoverMenu.tsx +2 -3
  57. package/src/components/gridPopoverEdit/GridPopoverMessage.ts +2 -2
  58. package/src/components/gridPopoverEdit/GridPopoverTextArea.ts +2 -2
  59. package/src/components/gridPopoverEdit/GridPopoverTextInput.ts +2 -2
  60. package/src/components/gridRender/GridRenderGenericCell.tsx +3 -2
  61. package/src/contexts/GridContext.tsx +1 -1
  62. package/src/contexts/GridPopoverContext.tsx +1 -7
  63. package/src/contexts/GridPopoverContextProvider.tsx +23 -22
  64. package/src/index.ts +38 -0
  65. package/src/lui/TextInputFormatted.scss +1 -1
  66. package/src/react-menu3/README.md +66 -0
  67. package/src/react-menu3/components/ControlledMenu.tsx +9 -17
  68. package/src/react-menu3/components/FocusableItem.tsx +2 -9
  69. package/src/react-menu3/components/MenuGroup.tsx +2 -1
  70. package/src/react-menu3/components/MenuItem.tsx +3 -12
  71. package/src/react-menu3/components/MenuList.tsx +4 -4
  72. package/src/react-menu3/components/MenuRadioGroup.tsx +3 -22
  73. package/src/react-menu3/components/SubMenu.tsx +4 -4
  74. package/src/react-menu3/contexts/EventHandlersContext.ts +11 -0
  75. package/src/react-menu3/contexts/HoverItemContext.ts +3 -0
  76. package/src/react-menu3/contexts/ItemSettingsContext.ts +6 -0
  77. package/src/react-menu3/contexts/MenuListContext.ts +10 -0
  78. package/src/react-menu3/contexts/MenuListItemContext.ts +16 -0
  79. package/src/react-menu3/contexts/RadioGroupContext.ts +8 -0
  80. package/src/react-menu3/contexts/SettingsContext.ts +20 -0
  81. package/src/react-menu3/hooks/useItemState.ts +3 -1
  82. package/src/react-menu3/index.ts +0 -1
  83. package/src/react-menu3/styles/_var.scss +4 -4
  84. package/src/react-menu3/styles/core.scss +6 -6
  85. package/src/react-menu3/styles/index.scss +10 -7
  86. package/src/react-menu3/styles/theme-dark.scss +4 -2
  87. package/src/react-menu3/styles/transitions/slide.scss +8 -8
  88. package/src/react-menu3/utils/constants.ts +1 -74
  89. package/src/react-menu3/utils/withHovering.tsx +1 -1
  90. package/src/stories/components/FormTest.scss +1 -2
  91. package/src/stories/components/FormTest.tsx +3 -3
  92. package/src/stories/components/GridPopoutBearing.stories.tsx +4 -4
  93. package/src/stories/components/GridPopoutEditDropDown.stories.tsx +6 -5
  94. package/src/stories/components/GridPopoutEditGeneric.stories.tsx +5 -7
  95. package/src/stories/components/GridPopoutEditGenericTextArea.stories.tsx +4 -4
  96. package/src/stories/components/GridPopoutEditMultiSelect.stories.tsx +4 -4
  97. package/src/stories/components/GridReadOnly.stories.tsx +14 -18
  98. package/src/stories/components/ReactMenu.stories.tsx +0 -4
  99. package/src/{components → styles}/Grid.scss +9 -6
  100. package/src/styles/GridFormDropDown.scss +18 -0
  101. package/src/{components/gridForm → styles}/GridFormEditBearing.scss +0 -0
  102. package/src/styles/GridFormMultiSelect.scss +18 -0
  103. package/src/styles/GridRenderGenericCell.scss +15 -0
  104. package/src/styles/GridTheme.scss +108 -0
  105. package/src/styles/index.scss +2 -0
  106. package/src/styles/lui-overrides.scss +49 -0
  107. package/src/styles/react-menu-customisations.scss +135 -0
  108. package/dist/index.d.ts +0 -38
  109. package/dist/src/stories/components/FormTest.d.ts +0 -12
  110. package/dist/src/stories/components/GridPopoutBearing.stories.d.ts +0 -9
  111. package/dist/src/stories/components/GridPopoutEditDropDown.stories.d.ts +0 -9
  112. package/dist/src/stories/components/GridPopoutEditGeneric.stories.d.ts +0 -9
  113. package/dist/src/stories/components/GridPopoutEditGenericTextArea.stories.d.ts +0 -9
  114. package/dist/src/stories/components/GridPopoutEditMultiSelect.stories.d.ts +0 -9
  115. package/dist/src/stories/components/GridReadOnly.stories.d.ts +0 -9
  116. package/dist/src/stories/components/ReactMenu.stories.d.ts +0 -8
  117. package/src/components/gridRender/GridRenderGenericCell.scss +0 -15
  118. package/src/lui-overrides.scss +0 -163
  119. package/src/react-menu3/style-utils.d.ts +0 -110
package/README.md CHANGED
@@ -1,4 +1,119 @@
1
1
  # step-ag-grid
2
- Home for our reusable ag-grid component
3
2
 
4
- Storybook deployed at: https://linz.github.io/step-ag-grid/
3
+ > Reusable [ag-grid](https://www.ag-grid.com/) component for LINZ / Toitū te whenua.
4
+
5
+ Storybook deployed at: https://linz.github.io/step-ag-grid/ (private to LINZ)
6
+
7
+ ## Features
8
+
9
+ - [ag-grid-community](https://www.npmjs.com/package/ag-grid-community) based grid with custom popover components
10
+ implemented using a modified [react-menu](https://www.npmjs.com/package/@szhsin/react-menu).
11
+ - Default components
12
+ - Text input
13
+ - Text area
14
+ - Drop-down
15
+ - Multi-select
16
+ - Bearing/Bearing Correction
17
+ - Popover message
18
+ - Custom form
19
+
20
+ *Please note this requires React >=17, ag-grid-community >=27, and sass.*
21
+
22
+ ## Install
23
+
24
+ with npm
25
+
26
+ ```bash
27
+ npm install @linz/step-ag-grid
28
+ ```
29
+
30
+ or with Yarn
31
+
32
+ ```bash
33
+ yarn add @linz/step-ag-grid
34
+ ```
35
+
36
+ ## Demo
37
+
38
+ ```bash
39
+ npm run storybook
40
+ ```
41
+
42
+ ## Usage
43
+
44
+ ```tsx
45
+ import "@linzjs/lui/dist/scss/base.scss";
46
+ import "@linzjs/lui/dist/fonts";
47
+ import "@linzjs/step-ag-grid/dist/index.css"
48
+ // Only required for LINZ themes otherwise import the default theme from ag-grid
49
+ import "@linzjs/step-ag-grid/dist/GridTheme.scss";
50
+
51
+ import { useMemo } from "react";
52
+ import { GridUpdatingContextProvider } from "@contexts/GridUpdatingContextProvider";
53
+ import { GridContextProvider } from "@contexts/GridContextProvider";
54
+ import { ColDefT, GridCell } from "@components/GridCell";
55
+ import { GridPopoverMessage } from "@components/gridPopoverEdit/GridPopoverMessage";
56
+
57
+ const GridDemo = () => {
58
+ interface ITestRow {
59
+ id: number;
60
+ position: string;
61
+ age: number;
62
+ };
63
+
64
+ const columnDefs: ColDefT<ITestRow>[] = useMemo(() => [
65
+ GridCell({
66
+ field: "id",
67
+ headerName: "Id",
68
+ initialWidth: 65,
69
+ maxWidth: 85,
70
+ }),
71
+ GridCell({
72
+ field: "position",
73
+ headerName: "Position",
74
+ initialWidth: 65,
75
+ maxWidth: 150,
76
+ cellRendererParams: {
77
+ warning: (props) => props.value === "Tester" && "Testers are testing",
78
+ info: (props) => props.value === "Developer" && "Developers are awesome",
79
+ },
80
+ }),
81
+ GridPopoverMessage(
82
+ {
83
+ headerName: "Popout message",
84
+ cellRenderer: () => <>Click me!</>,
85
+ },
86
+ {
87
+ multiEdit: true,
88
+ editorParams: {
89
+ message: async (formParams): Promise<string> => {
90
+ return `There are ${formParams.selectedRows.length} row(s) selected`;
91
+ },
92
+ },
93
+ },
94
+ ),
95
+ ],
96
+ [],
97
+ );
98
+
99
+ const rowData: ITestRow[] = useMemo(
100
+ () => [
101
+ { id: 1000, position: "Tester", age: 30, desc: "Tests application", dd: "1" },
102
+ { id: 1001, position: "Developer", age: 12, desc: "Develops application", dd: "2" },
103
+ ],
104
+ [],
105
+ );
106
+
107
+ return (
108
+ <GridUpdatingContextProvider>
109
+ <GridContextProvider>
110
+ <Grid
111
+ selectable={true}
112
+ columnDefs={columnDefs}
113
+ rowData={rowData}
114
+ />
115
+ </GridContextProvider>
116
+ </GridUpdatingContextProvider>
117
+ );
118
+ };
119
+ ```
@@ -1,29 +1,40 @@
1
- @use '~@linzjs/lui/dist/scss/Core' as lui;
1
+ @use "@linzjs/lui/dist/scss/Foundation/Variables/ColorVars" as lui;
2
2
 
3
- @import "node_modules/ag-grid-community/src/styles/ag-grid.scss";
4
- @import "node_modules/ag-grid-community/src/styles/ag-theme-alpine/sass/ag-theme-alpine-mixin";
3
+ // These break if we use urls so ignore stylelint
4
+ /* stylelint-disable-next-line */
5
+ @import "ag-grid-community/src/styles/ag-grid";
6
+ /* stylelint-disable-next-line */
7
+ @import "ag-grid-community/src/styles/ag-theme-alpine/sass/ag-theme-alpine-mixin";
5
8
 
6
9
  .ag-theme-alpine {
7
10
  // AG Grid themes can be customized using theme parameters, which are arguments that change its appearance. Refer to
8
11
  // https://www.ag-grid.com/javascript-data-grid/themes-customising/#full-list-of-theme-parameters for a full list of
9
12
  // the available theme parameters, which should be used whenever possible.
10
- @include ag-theme-alpine((
11
- alpine-active-color: lui.$sea,
12
- foreground-color: lui.$grey-80,
13
- data-color: lui.$grey-80,
14
- header-foreground-color: lui.$surfie,
15
- background-color: lui.$white,
16
- odd-row-background-color: lui.$white,
17
- header-background-color: lui.$white,
18
- border-color: lui.$lily,
19
- secondary-border-color: lui.$lily,
20
- row-hover-color: lui.$lily,
21
- font-family: ("Open Sans", system-ui, sans-serif),
22
- font-size: 0.875rem !important,
23
- borders: false,
24
- borders-critical: true,
25
- borders-secondary: false,
26
- ));
13
+ @include ag-theme-alpine(
14
+ (
15
+ alpine-active-color: lui.$sea,
16
+ foreground-color: lui.$grey-80,
17
+ data-color: lui.$grey-80,
18
+ // ag-grid-community >=28
19
+ selected-row-background-color: lui.$polar,
20
+ header-foreground-color: lui.$surfie,
21
+ background-color: lui.$white,
22
+ odd-row-background-color: lui.$white,
23
+ header-background-color: lui.$white,
24
+ border-color: lui.$lily,
25
+ secondary-border-color: lui.$lily,
26
+ row-hover-color: lui.$lily,
27
+ font-family: (
28
+ "Open Sans",
29
+ system-ui,
30
+ sans-serif,
31
+ ),
32
+ font-size: 0.875rem !important,
33
+ borders: false,
34
+ borders-critical: true,
35
+ borders-secondary: false,
36
+ )
37
+ );
27
38
 
28
39
  // Fix that when you click below checkbox it doesn't process a click
29
40
  .ag-cell[col-id="selection"] {
@@ -31,7 +42,7 @@
31
42
  }
32
43
 
33
44
  // Fix that when you click below checkbox it doesn't process a click
34
- .ag-cell-wrapper > *:not(.ag-cell-value):not(.ag-group-value) {
45
+ .ag-cell-wrapper > *:not(.ag-cell-value, .ag-group-value) {
35
46
  height: auto;
36
47
  }
37
48
 
@@ -39,6 +50,7 @@
39
50
  border-bottom: none;
40
51
  }
41
52
 
53
+ // ag-grid-community 27.x.x needs this vs 28 using the selected-row-background-color above
42
54
  // You can set a background _color_ with theme parameters, but for something like a gradient, you need to override CSS.
43
55
  .ag-row-selected {
44
56
  background-color: lui.$polar;
@@ -70,8 +82,10 @@
70
82
  word-break: break-word;
71
83
  }
72
84
 
73
- .ag-cell-popup-editing, .ag-selected-for-edit, .ag-cell-inline-editing {
74
- background: rgba(72, 160, 244, 0.2);
85
+ .ag-cell-popup-editing,
86
+ .ag-selected-for-edit,
87
+ .ag-cell-inline-editing {
88
+ background: rgb(72 160 244 / 20%);
75
89
  // These are important, it needs to override ag-grid to work
76
90
  border: 3px solid #48a0f4 !important;
77
91
  border-right: 3px solid #48a0f4 !important;
package/dist/index.css ADDED
@@ -0,0 +1,351 @@
1
+ @charset "UTF-8";
2
+ .step-ag-grid-react-menu {
3
+ /**
4
+ * Scrollbar (Only Chrome)
5
+ */
6
+ /** Free text input */
7
+ }
8
+ .step-ag-grid-react-menu ::-webkit-scrollbar {
9
+ width: 20px;
10
+ }
11
+ .step-ag-grid-react-menu ::-webkit-scrollbar-track {
12
+ background-color: transparent;
13
+ }
14
+ .step-ag-grid-react-menu ::-webkit-scrollbar-thumb {
15
+ background-color: #d6dee1;
16
+ border-radius: 20px;
17
+ border: 6px solid transparent;
18
+ background-clip: content-box;
19
+ }
20
+ .step-ag-grid-react-menu ::-webkit-scrollbar-thumb:hover {
21
+ background-color: #a8bbbf;
22
+ }
23
+ .step-ag-grid-react-menu .szh-menu__item,
24
+ .step-ag-grid-react-menu .szh-menu__header {
25
+ padding: 0.375rem 1.5rem;
26
+ }
27
+ .step-ag-grid-react-menu .LuiCheckboxInput {
28
+ margin-bottom: 0;
29
+ }
30
+ .step-ag-grid-react-menu .free-text-input {
31
+ border: transparent;
32
+ outline: transparent;
33
+ line-height: 33px;
34
+ padding-left: 4px;
35
+ }
36
+ .step-ag-grid-react-menu textarea.free-text-input {
37
+ font-weight: 400;
38
+ line-height: 1.5;
39
+ width: 300px;
40
+ height: 150px;
41
+ resize: none;
42
+ border: 0.06rem solid #beb9b4;
43
+ }
44
+
45
+ .szh-menu {
46
+ margin: 0;
47
+ padding: 0;
48
+ list-style: none;
49
+ box-sizing: border-box;
50
+ width: max-content;
51
+ z-index: 100;
52
+ border: 1px solid rgba(0, 0, 0, 0.1);
53
+ background-color: #fff;
54
+ }
55
+ .szh-menu:focus {
56
+ outline: none;
57
+ }
58
+ .szh-menu__arrow {
59
+ box-sizing: border-box;
60
+ width: 0.75rem;
61
+ height: 0.75rem;
62
+ background-color: #fff;
63
+ border: 1px solid transparent;
64
+ border-left-color: rgba(0, 0, 0, 0.1);
65
+ border-top-color: rgba(0, 0, 0, 0.1);
66
+ z-index: -1;
67
+ }
68
+ .szh-menu__arrow--dir-left {
69
+ right: 0.375rem;
70
+ transform: translateY(-50%) rotate(135deg);
71
+ }
72
+ .szh-menu__arrow--dir-right {
73
+ left: 0.375rem;
74
+ transform: translateY(-50%) rotate(-45deg);
75
+ }
76
+ .szh-menu__arrow--dir-top {
77
+ bottom: 0.375rem;
78
+ transform: translateX(-50%) rotate(-135deg);
79
+ }
80
+ .szh-menu__arrow--dir-bottom {
81
+ top: 0.375rem;
82
+ transform: translateX(-50%) rotate(45deg);
83
+ }
84
+ .szh-menu__item {
85
+ cursor: pointer;
86
+ }
87
+ .szh-menu__item:focus {
88
+ outline: none;
89
+ }
90
+ .szh-menu__item--hover {
91
+ background-color: #ebebeb;
92
+ }
93
+ .szh-menu__item--focusable {
94
+ cursor: default;
95
+ background-color: inherit;
96
+ }
97
+ .szh-menu__item--disabled {
98
+ cursor: default;
99
+ color: #aaa;
100
+ }
101
+ .szh-menu__group {
102
+ box-sizing: border-box;
103
+ }
104
+ .szh-menu__radio-group {
105
+ margin: 0;
106
+ padding: 0;
107
+ list-style: none;
108
+ }
109
+ .szh-menu__divider {
110
+ height: 1px;
111
+ margin: 0.5rem 0;
112
+ background-color: rgba(0, 0, 0, 0.12);
113
+ }
114
+
115
+ .szh-menu-button {
116
+ box-sizing: border-box;
117
+ }
118
+
119
+ .szh-menu {
120
+ user-select: none;
121
+ color: #212529;
122
+ border: none;
123
+ border-radius: 0.25rem;
124
+ box-shadow: 0 3px 7px rgba(0, 0, 0, 0.133), 0 0.6px 2px rgba(0, 0, 0, 0.1);
125
+ min-width: 10rem;
126
+ padding: 0.5rem 0;
127
+ }
128
+ .szh-menu__item {
129
+ display: flex;
130
+ align-items: center;
131
+ position: relative;
132
+ padding: 0.375rem 1.5rem;
133
+ }
134
+ .szh-menu-container--itemTransition .szh-menu__item {
135
+ transition-property: background-color, color;
136
+ transition-duration: 0.15s;
137
+ transition-timing-function: ease-in-out;
138
+ }
139
+ .szh-menu__item--type-radio {
140
+ padding-left: 2.2rem;
141
+ }
142
+ .szh-menu__item--type-radio::before {
143
+ content: "○";
144
+ position: absolute;
145
+ left: 0.8rem;
146
+ top: 0.55rem;
147
+ font-size: 0.8rem;
148
+ }
149
+ .szh-menu__item--type-radio.szh-menu__item--checked::before {
150
+ content: "●";
151
+ }
152
+ .szh-menu__item--type-checkbox {
153
+ padding-left: 2.2rem;
154
+ }
155
+ .szh-menu__item--type-checkbox::before {
156
+ position: absolute;
157
+ left: 0.8rem;
158
+ }
159
+ .szh-menu__item--type-checkbox.szh-menu__item--checked::before {
160
+ content: "✔";
161
+ }
162
+ .szh-menu__submenu > .szh-menu__item {
163
+ padding-right: 2.5rem;
164
+ }
165
+ .szh-menu__submenu > .szh-menu__item::after {
166
+ content: "❯";
167
+ position: absolute;
168
+ right: 1rem;
169
+ }
170
+ .szh-menu__header {
171
+ color: #888;
172
+ font-size: 0.8rem;
173
+ padding: 0.2rem 1.5rem;
174
+ text-transform: uppercase;
175
+ }
176
+
177
+ /**
178
+ @deprecated
179
+ */
180
+ /**
181
+ @deprecated
182
+ */
183
+ /**
184
+ @deprecated
185
+ */
186
+ /**
187
+ * Here is where we can override the styles of react-menu
188
+ */
189
+ .step-ag-grid-react-menu.szh-menu {
190
+ z-index: 900;
191
+ color: #2a292c;
192
+ font-family: "Open Sans", system-ui, sans-serif;
193
+ font-style: normal;
194
+ font-weight: 300;
195
+ }
196
+ .step-ag-grid-react-menu.szh-menu div,
197
+ .step-ag-grid-react-menu.szh-menu a[role=menuitem] {
198
+ text-decoration: none;
199
+ color: #2a292c;
200
+ font-family: "Open Sans", system-ui, sans-serif;
201
+ font-style: normal;
202
+ font-weight: 300;
203
+ }
204
+ .step-ag-grid-react-menu.szh-menu li[role=menuitem]:hover {
205
+ background-color: #e2f3f7;
206
+ }
207
+ .step-ag-grid-react-menu.szh-menu .szh-menu__header {
208
+ display: flex;
209
+ align-items: center;
210
+ }
211
+
212
+ /**
213
+ * Here are styles for lui select menu
214
+ */
215
+ @media screen and (min-width: 480px) {
216
+ .lui-select-menu.szh-menu-container {
217
+ position: absolute;
218
+ }
219
+ }
220
+
221
+ .lui-select-menu.szh-menu {
222
+ z-index: 900;
223
+ width: 92vw;
224
+ overflow-y: scroll;
225
+ color: #2a292c;
226
+ font-family: "Open Sans", system-ui, sans-serif;
227
+ font-style: normal;
228
+ font-weight: 300;
229
+ }
230
+ @media screen and (min-width: 480px) {
231
+ .lui-select-menu.szh-menu {
232
+ overflow: visible;
233
+ height: auto;
234
+ width: 240px;
235
+ }
236
+ }
237
+
238
+ .lui-select-menuItem {
239
+ padding: 0.5rem 0.75rem 0.5rem 0.5rem;
240
+ display: flex;
241
+ line-height: 1;
242
+ transition: all 0.2s ease-in-out;
243
+ fill: #6b6966;
244
+ }
245
+ .lui-select-menuItem:hover {
246
+ background-color: #e2f3f7;
247
+ }
248
+
249
+ .lui-select-menuItem--error p {
250
+ color: #cc0000;
251
+ }
252
+ .lui-select-menuItem--error .LuiIcon {
253
+ fill: #cc0000;
254
+ }
255
+
256
+ .lui-select-menuItemText {
257
+ font-family: "Open Sans", system-ui, sans-serif;
258
+ font-style: normal;
259
+ font-weight: normal;
260
+ color: #2a292c;
261
+ margin: 0;
262
+ padding-left: 2rem;
263
+ }
264
+ .lui-select-menuItemText--noPadding {
265
+ padding-left: 0.25rem;
266
+ }
267
+
268
+ .lui-select-icon + .lui-select-menuItemText {
269
+ padding-left: 0.5rem;
270
+ }
271
+
272
+ .lui-select-menu-group {
273
+ height: 32px;
274
+ color: #6b6966;
275
+ padding-left: 0.75rem;
276
+ text-transform: none;
277
+ font-family: "Open Sans", system-ui, sans-serif;
278
+ font-style: normal;
279
+ font-weight: 600;
280
+ }
281
+
282
+ .lui-select-submenu {
283
+ flex: 1;
284
+ }
285
+ .lui-select-submenu div[role=menuitem] {
286
+ padding: 0.5rem 0.5rem 0.5rem 2.5rem;
287
+ text-decoration: none;
288
+ font-family: "Open Sans", system-ui, sans-serif;
289
+ font-style: normal;
290
+ font-weight: normal;
291
+ height: 40px;
292
+ }
293
+ .lui-select-submenu .szh-menu__item--hover {
294
+ background-color: #e2f3f7;
295
+ }
296
+
297
+ .lui-select-submenu-with-icon {
298
+ flex: 1;
299
+ }
300
+ .lui-select-submenu-with-icon div[role=menuitem] {
301
+ padding-left: 0;
302
+ text-decoration: none;
303
+ font-family: "Open Sans", system-ui, sans-serif;
304
+ font-style: normal;
305
+ font-weight: normal;
306
+ height: 40px;
307
+ }
308
+
309
+ .lui-select-divider {
310
+ margin: 0.25rem;
311
+ }
312
+
313
+ .step-ag-grid-react-menu-sub-header-icon {
314
+ margin: 0.5rem;
315
+ fill: #6b6966;
316
+ }
317
+
318
+ .Grid-container {
319
+ flex: 1;
320
+ width: 100%;
321
+ }
322
+
323
+ .Grid-sortIsStale span.ag-icon.ag-icon-desc::after {
324
+ content: "*";
325
+ }
326
+ .Grid-sortIsStale span.ag-icon.ag-icon-asc::after {
327
+ content: "*";
328
+ }
329
+
330
+ .Grid-quickFilter {
331
+ width: 100%;
332
+ margin-bottom: 16px;
333
+ }
334
+
335
+ .Grid-quickFilterBox {
336
+ width: 100%;
337
+ height: 48px;
338
+ border: 0.06rem solid #beb9b4;
339
+ border-radius: 3px;
340
+ padding-left: 0.75rem;
341
+ padding-right: 0.75rem;
342
+ }
343
+
344
+ .Grid-popoverContainer {
345
+ padding: 4px 8px;
346
+ }
347
+
348
+ .GridFormMessage-container {
349
+ padding: 4px 8px;
350
+ max-width: 400px;
351
+ }