@charlesgomes/leafcode-shared-lib-react 1.0.31 → 1.0.33

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/dist/index.css CHANGED
@@ -108,7 +108,7 @@ th {
108
108
  border-top: 1px solid #edf0f2;
109
109
  border-bottom: 1px solid #edf0f2;
110
110
  border-left: 1px solid #edf0f2;
111
- padding: 0 14px;
111
+ padding: 0 0 0 7px;
112
112
  font-size: 14px;
113
113
  font-family: "Roboto", sans-serif;
114
114
  font-weight: bold;
@@ -117,7 +117,7 @@ th {
117
117
  td {
118
118
  border-bottom: 1px solid #edf0f2;
119
119
  border-left: 1px solid #edf0f2;
120
- padding: 5px 1rem;
120
+ padding: 1.5px 7px;
121
121
  }
122
122
  .p-datatable .p-datatable-header {
123
123
  background: transparent;
@@ -134,9 +134,6 @@ td {
134
134
  -moz-appearance: none;
135
135
  background: #fff url("./seta-E7LTVAWJ.svg") no-repeat right 6px center;
136
136
  }
137
- .react-tooltip {
138
- z-index: 99 !important;
139
- }
140
137
  .p-paginator-left-content {
141
138
  flex: 1;
142
139
  }
@@ -178,6 +175,30 @@ th {
178
175
  background: #094394;
179
176
  color: #ffffff;
180
177
  }
178
+ .p-datatable .p-datatable-tbody > tr > td.p-selection-column {
179
+ text-align: center !important;
180
+ display: table-cell;
181
+ vertical-align: middle;
182
+ position: relative;
183
+ }
184
+ .p-datatable .p-datatable-tbody > tr > td.p-selection-column .p-checkbox {
185
+ position: relative;
186
+ left: -2px;
187
+ }
188
+ .p-datatable .p-datatable-thead > tr > th.p-selection-column .p-checkbox-input {
189
+ text-align: center !important;
190
+ position: relative;
191
+ left: -1rem;
192
+ }
193
+ .p-selection-column .p-checkbox {
194
+ display: inline-flex;
195
+ vertical-align: middle;
196
+ justify-content: center;
197
+ align-items: center;
198
+ }
199
+ .p-column-header-content .p-checkbox {
200
+ position: static;
201
+ }
181
202
  .p-datatable .p-datatable-tbody > tr.p-highlight {
182
203
  background: #fafbfc;
183
204
  }
@@ -295,6 +316,7 @@ th {
295
316
  }
296
317
  .p-column-title {
297
318
  flex: 1;
319
+ text-align: left;
298
320
  }
299
321
  .p-column-filter-add-button {
300
322
  font-family: "Roboto", sans-serif;
@@ -400,14 +422,9 @@ th {
400
422
  opacity: 1;
401
423
  }
402
424
  .box-icones-actions-column {
403
- position: fixed;
404
- z-index: 2;
405
- padding: 0.125rem;
406
425
  width: fit-content;
407
426
  height: fit-content;
408
427
  margin: auto;
409
- right: 6px;
410
- transform: translate(-50%, -50%);
411
428
  display: flex;
412
429
  align-items: center;
413
430
  justify-content: center;
@@ -415,6 +432,19 @@ th {
415
432
  gap: 0.25rem;
416
433
  transition: opacity 0.2s ease;
417
434
  }
435
+ .p-datatable .p-datatable-tbody > tr > td:last-child {
436
+ position: sticky !important;
437
+ right: 0;
438
+ z-index: 11;
439
+ border-left: transparent;
440
+ border-right: transparent;
441
+ }
442
+ .p-datatable .p-datatable-tbody > tr > td:nth-last-child(2) {
443
+ border-right: 1px solid #edf0f2 !important;
444
+ }
445
+ .react-tooltip {
446
+ z-index: 99 !important;
447
+ }
418
448
  .box-icones-actions-column:hover {
419
449
  opacity: 1;
420
450
  }
@@ -469,3 +499,8 @@ th {
469
499
  min-width: 100%;
470
500
  }
471
501
  }
502
+ .p-datatable .p-datatable-thead > tr > th:last-child .p-column-title {
503
+ flex: 1;
504
+ text-align: center;
505
+ padding: 0 17px 0 7px;
506
+ }
package/dist/index.d.mts CHANGED
@@ -69,6 +69,7 @@ interface ColumnCustom<T> {
69
69
  dataType?: "boolean" | "string" | "date" | "dateTime" | "numeric";
70
70
  filterGlobal?: boolean;
71
71
  filterElement?: ReactNode;
72
+ showFilterMatchModes?: boolean;
72
73
  filterMatchModeOptions?: {
73
74
  label: string;
74
75
  value: FilterMatchModeType | string;
@@ -96,7 +97,14 @@ declare const DateFilterTemplate: (options: any, mask?: (value: any) => string |
96
97
  declare const DateTimeFilterTemplate: (options: any, mask?: (value: any) => string | number) => react_jsx_runtime.JSX.Element;
97
98
  declare const ValueFilterTemplate: (options: any, mask?: (value: any) => string | number) => react_jsx_runtime.JSX.Element;
98
99
  declare const SelectFilterTemplate: (options: any, isLanguagePtBr?: boolean, items?: IItemProps[]) => react_jsx_runtime.JSX.Element;
100
+ declare const CustomFilterElement: (options: any, isLanguagePtBr?: boolean, items?: any[]) => react_jsx_runtime.JSX.Element;
99
101
 
102
+ declare const customMatchModes: {
103
+ notStartsWith: string;
104
+ notEndsWith: string;
105
+ empty: string;
106
+ notEmpty: string;
107
+ };
100
108
  declare const getDefaultFilterMatchOptionsString: (isLanguagePtBr?: boolean) => {
101
109
  label: string;
102
110
  value: string;
@@ -118,4 +126,4 @@ declare const getDefaultFilterMatchOptionsEnumNotNullable: (isLanguagePtBr: bool
118
126
  value: FilterMatchMode;
119
127
  }[];
120
128
 
121
- export { Button, type ColumnCustom, DataTableAdvancedFilter, DateFilterTemplate, DateTimeFilterTemplate, type IDataTableProps, type IItemProps, ModalBase, SelectFilterTemplate, ValueFilterTemplate, getDefaultFilterMatchOptionsDate, getDefaultFilterMatchOptionsEnum, getDefaultFilterMatchOptionsEnumNotNullable, getDefaultFilterMatchOptionsString, getDefaultFilterMatchOptionsStringArray };
129
+ export { Button, type ColumnCustom, CustomFilterElement, DataTableAdvancedFilter, DateFilterTemplate, DateTimeFilterTemplate, type IDataTableProps, type IItemProps, ModalBase, SelectFilterTemplate, ValueFilterTemplate, customMatchModes, getDefaultFilterMatchOptionsDate, getDefaultFilterMatchOptionsEnum, getDefaultFilterMatchOptionsEnumNotNullable, getDefaultFilterMatchOptionsString, getDefaultFilterMatchOptionsStringArray };
package/dist/index.d.ts CHANGED
@@ -69,6 +69,7 @@ interface ColumnCustom<T> {
69
69
  dataType?: "boolean" | "string" | "date" | "dateTime" | "numeric";
70
70
  filterGlobal?: boolean;
71
71
  filterElement?: ReactNode;
72
+ showFilterMatchModes?: boolean;
72
73
  filterMatchModeOptions?: {
73
74
  label: string;
74
75
  value: FilterMatchModeType | string;
@@ -96,7 +97,14 @@ declare const DateFilterTemplate: (options: any, mask?: (value: any) => string |
96
97
  declare const DateTimeFilterTemplate: (options: any, mask?: (value: any) => string | number) => react_jsx_runtime.JSX.Element;
97
98
  declare const ValueFilterTemplate: (options: any, mask?: (value: any) => string | number) => react_jsx_runtime.JSX.Element;
98
99
  declare const SelectFilterTemplate: (options: any, isLanguagePtBr?: boolean, items?: IItemProps[]) => react_jsx_runtime.JSX.Element;
100
+ declare const CustomFilterElement: (options: any, isLanguagePtBr?: boolean, items?: any[]) => react_jsx_runtime.JSX.Element;
99
101
 
102
+ declare const customMatchModes: {
103
+ notStartsWith: string;
104
+ notEndsWith: string;
105
+ empty: string;
106
+ notEmpty: string;
107
+ };
100
108
  declare const getDefaultFilterMatchOptionsString: (isLanguagePtBr?: boolean) => {
101
109
  label: string;
102
110
  value: string;
@@ -118,4 +126,4 @@ declare const getDefaultFilterMatchOptionsEnumNotNullable: (isLanguagePtBr: bool
118
126
  value: FilterMatchMode;
119
127
  }[];
120
128
 
121
- export { Button, type ColumnCustom, DataTableAdvancedFilter, DateFilterTemplate, DateTimeFilterTemplate, type IDataTableProps, type IItemProps, ModalBase, SelectFilterTemplate, ValueFilterTemplate, getDefaultFilterMatchOptionsDate, getDefaultFilterMatchOptionsEnum, getDefaultFilterMatchOptionsEnumNotNullable, getDefaultFilterMatchOptionsString, getDefaultFilterMatchOptionsStringArray };
129
+ export { Button, type ColumnCustom, CustomFilterElement, DataTableAdvancedFilter, DateFilterTemplate, DateTimeFilterTemplate, type IDataTableProps, type IItemProps, ModalBase, SelectFilterTemplate, ValueFilterTemplate, customMatchModes, getDefaultFilterMatchOptionsDate, getDefaultFilterMatchOptionsEnum, getDefaultFilterMatchOptionsEnumNotNullable, getDefaultFilterMatchOptionsString, getDefaultFilterMatchOptionsStringArray };
package/dist/index.js CHANGED
@@ -31,6 +31,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
31
31
  var index_exports = {};
32
32
  __export(index_exports, {
33
33
  Button: () => Button,
34
+ CustomFilterElement: () => CustomFilterElement,
34
35
  DataTableAdvancedFilter: () => DataTableAdvancedFilter,
35
36
  DateFilterTemplate: () => DateFilterTemplate,
36
37
  DateTimeFilterTemplate: () => DateTimeFilterTemplate,
@@ -39,6 +40,7 @@ __export(index_exports, {
39
40
  ModalBase: () => ModalBase,
40
41
  SelectFilterTemplate: () => SelectFilterTemplate,
41
42
  ValueFilterTemplate: () => ValueFilterTemplate,
43
+ customMatchModes: () => customMatchModes,
42
44
  getDefaultFilterMatchOptionsDate: () => getDefaultFilterMatchOptionsDate,
43
45
  getDefaultFilterMatchOptionsEnum: () => getDefaultFilterMatchOptionsEnum,
44
46
  getDefaultFilterMatchOptionsEnumNotNullable: () => getDefaultFilterMatchOptionsEnumNotNullable,
@@ -239,6 +241,7 @@ function TooltipCustom({ label, id }) {
239
241
  className: "tooltip-icone",
240
242
  opacity: 1,
241
243
  place: "top",
244
+ content: label,
242
245
  anchorSelect: `#${id}`,
243
246
  style: {
244
247
  zIndex: 9999
@@ -464,6 +467,7 @@ function DynamicColumns({
464
467
  filter: !isActionsCol,
465
468
  frozen: col.frozen,
466
469
  alignFrozen: col.alignFrozen,
470
+ showFilterMatchModes: col.showFilterMatchModes,
467
471
  dataType: col.dataType,
468
472
  hidden: col.hidden,
469
473
  filterElement: col.filterElement ? (options) => col.filterElement?.(options, col.mask) ?? void 0 : void 0,
@@ -1009,6 +1013,7 @@ function DataTableAdvancedFilter({
1009
1013
 
1010
1014
  // src/components/DataTableAdvancedFilter/FilterTemplates.tsx
1011
1015
  var import_react_select = __toESM(require("react-select"));
1016
+ var import_dropdown = require("primereact/dropdown");
1012
1017
  var import_jsx_runtime11 = require("react/jsx-runtime");
1013
1018
  var DateFilterTemplate = (options, mask) => {
1014
1019
  const parsedValue = options.value && typeof options.value === "string" ? /* @__PURE__ */ new Date(options.value + "T00:00:00") : options.value;
@@ -1139,6 +1144,76 @@ var SelectFilterTemplate = (options, isLanguagePtBr = true, items = []) => {
1139
1144
  }
1140
1145
  );
1141
1146
  };
1147
+ var CustomFilterElement = (options, isLanguagePtBr = true, items) => {
1148
+ const resolvedItems = items ?? getDefaultFilterMatchOptionsString(isLanguagePtBr);
1149
+ const rawFilter = options.value ?? {};
1150
+ const currentMatchMode = rawFilter.matchMode ?? "contains";
1151
+ const currentValue = typeof rawFilter.value === "string" ? rawFilter.value : "";
1152
+ const isSpecial = currentMatchMode === customMatchModes.empty || currentMatchMode === customMatchModes.notEmpty;
1153
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
1154
+ "div",
1155
+ {
1156
+ className: "filter-wrapper",
1157
+ style: {
1158
+ display: "flex",
1159
+ flexDirection: "column",
1160
+ gap: "8px",
1161
+ minWidth: "200px"
1162
+ },
1163
+ children: [
1164
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1165
+ import_dropdown.Dropdown,
1166
+ {
1167
+ value: currentMatchMode,
1168
+ options: resolvedItems,
1169
+ optionLabel: "label",
1170
+ optionValue: "value",
1171
+ placeholder: "Tipo de filtro",
1172
+ style: { width: "100%" },
1173
+ onChange: (e) => {
1174
+ const newMatchMode = e.value;
1175
+ const isNewSpecial = newMatchMode === customMatchModes.empty || newMatchMode === customMatchModes.notEmpty;
1176
+ if (isNewSpecial) {
1177
+ options.filterCallback({
1178
+ value: null,
1179
+ matchMode: newMatchMode
1180
+ });
1181
+ return;
1182
+ }
1183
+ options.filterCallback({
1184
+ value: null,
1185
+ matchMode: newMatchMode
1186
+ });
1187
+ }
1188
+ }
1189
+ ),
1190
+ !isSpecial && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1191
+ import_inputtext.InputText,
1192
+ {
1193
+ value: currentValue,
1194
+ placeholder: isLanguagePtBr ? "Pesquisar" : "Search",
1195
+ style: { width: "100%" },
1196
+ className: "p-column-filter",
1197
+ onChange: (e) => {
1198
+ const value = e.target.value;
1199
+ if (value.trim()) {
1200
+ options.filterCallback({
1201
+ value,
1202
+ matchMode: currentMatchMode
1203
+ });
1204
+ } else {
1205
+ options.filterCallback({
1206
+ value: null,
1207
+ matchMode: currentMatchMode
1208
+ });
1209
+ }
1210
+ }
1211
+ }
1212
+ )
1213
+ ]
1214
+ }
1215
+ );
1216
+ };
1142
1217
 
1143
1218
  // src/components/DataTableAdvancedFilter/filterModes.ts
1144
1219
  var import_api4 = require("primereact/api");
@@ -1184,6 +1259,10 @@ var getDefaultFilterMatchOptionsString = (isLanguagePtBr = true) => [
1184
1259
  {
1185
1260
  label: isLanguagePtBr ? "Vazio" : "Empty",
1186
1261
  value: customMatchModes.empty
1262
+ },
1263
+ {
1264
+ label: isLanguagePtBr ? "N\xE3o Vazio" : "NotEmpty",
1265
+ value: customMatchModes.notEmpty
1187
1266
  }
1188
1267
  ];
1189
1268
  var getDefaultFilterMatchOptionsStringArray = (isLanguagePtBr = true) => [
@@ -1240,6 +1319,7 @@ var import_api5 = require("primereact/api");
1240
1319
  // Annotate the CommonJS export names for ESM import in node:
1241
1320
  0 && (module.exports = {
1242
1321
  Button,
1322
+ CustomFilterElement,
1243
1323
  DataTableAdvancedFilter,
1244
1324
  DateFilterTemplate,
1245
1325
  DateTimeFilterTemplate,
@@ -1248,6 +1328,7 @@ var import_api5 = require("primereact/api");
1248
1328
  ModalBase,
1249
1329
  SelectFilterTemplate,
1250
1330
  ValueFilterTemplate,
1331
+ customMatchModes,
1251
1332
  getDefaultFilterMatchOptionsDate,
1252
1333
  getDefaultFilterMatchOptionsEnum,
1253
1334
  getDefaultFilterMatchOptionsEnumNotNullable,
package/dist/index.mjs CHANGED
@@ -190,6 +190,7 @@ function TooltipCustom({ label, id }) {
190
190
  className: "tooltip-icone",
191
191
  opacity: 1,
192
192
  place: "top",
193
+ content: label,
193
194
  anchorSelect: `#${id}`,
194
195
  style: {
195
196
  zIndex: 9999
@@ -415,6 +416,7 @@ function DynamicColumns({
415
416
  filter: !isActionsCol,
416
417
  frozen: col.frozen,
417
418
  alignFrozen: col.alignFrozen,
419
+ showFilterMatchModes: col.showFilterMatchModes,
418
420
  dataType: col.dataType,
419
421
  hidden: col.hidden,
420
422
  filterElement: col.filterElement ? (options) => col.filterElement?.(options, col.mask) ?? void 0 : void 0,
@@ -960,7 +962,8 @@ function DataTableAdvancedFilter({
960
962
 
961
963
  // src/components/DataTableAdvancedFilter/FilterTemplates.tsx
962
964
  import Select from "react-select";
963
- import { jsx as jsx11 } from "react/jsx-runtime";
965
+ import { Dropdown } from "primereact/dropdown";
966
+ import { jsx as jsx11, jsxs as jsxs6 } from "react/jsx-runtime";
964
967
  var DateFilterTemplate = (options, mask) => {
965
968
  const parsedValue = options.value && typeof options.value === "string" ? /* @__PURE__ */ new Date(options.value + "T00:00:00") : options.value;
966
969
  return /* @__PURE__ */ jsx11(
@@ -1090,6 +1093,76 @@ var SelectFilterTemplate = (options, isLanguagePtBr = true, items = []) => {
1090
1093
  }
1091
1094
  );
1092
1095
  };
1096
+ var CustomFilterElement = (options, isLanguagePtBr = true, items) => {
1097
+ const resolvedItems = items ?? getDefaultFilterMatchOptionsString(isLanguagePtBr);
1098
+ const rawFilter = options.value ?? {};
1099
+ const currentMatchMode = rawFilter.matchMode ?? "contains";
1100
+ const currentValue = typeof rawFilter.value === "string" ? rawFilter.value : "";
1101
+ const isSpecial = currentMatchMode === customMatchModes.empty || currentMatchMode === customMatchModes.notEmpty;
1102
+ return /* @__PURE__ */ jsxs6(
1103
+ "div",
1104
+ {
1105
+ className: "filter-wrapper",
1106
+ style: {
1107
+ display: "flex",
1108
+ flexDirection: "column",
1109
+ gap: "8px",
1110
+ minWidth: "200px"
1111
+ },
1112
+ children: [
1113
+ /* @__PURE__ */ jsx11(
1114
+ Dropdown,
1115
+ {
1116
+ value: currentMatchMode,
1117
+ options: resolvedItems,
1118
+ optionLabel: "label",
1119
+ optionValue: "value",
1120
+ placeholder: "Tipo de filtro",
1121
+ style: { width: "100%" },
1122
+ onChange: (e) => {
1123
+ const newMatchMode = e.value;
1124
+ const isNewSpecial = newMatchMode === customMatchModes.empty || newMatchMode === customMatchModes.notEmpty;
1125
+ if (isNewSpecial) {
1126
+ options.filterCallback({
1127
+ value: null,
1128
+ matchMode: newMatchMode
1129
+ });
1130
+ return;
1131
+ }
1132
+ options.filterCallback({
1133
+ value: null,
1134
+ matchMode: newMatchMode
1135
+ });
1136
+ }
1137
+ }
1138
+ ),
1139
+ !isSpecial && /* @__PURE__ */ jsx11(
1140
+ InputText,
1141
+ {
1142
+ value: currentValue,
1143
+ placeholder: isLanguagePtBr ? "Pesquisar" : "Search",
1144
+ style: { width: "100%" },
1145
+ className: "p-column-filter",
1146
+ onChange: (e) => {
1147
+ const value = e.target.value;
1148
+ if (value.trim()) {
1149
+ options.filterCallback({
1150
+ value,
1151
+ matchMode: currentMatchMode
1152
+ });
1153
+ } else {
1154
+ options.filterCallback({
1155
+ value: null,
1156
+ matchMode: currentMatchMode
1157
+ });
1158
+ }
1159
+ }
1160
+ }
1161
+ )
1162
+ ]
1163
+ }
1164
+ );
1165
+ };
1093
1166
 
1094
1167
  // src/components/DataTableAdvancedFilter/filterModes.ts
1095
1168
  import { FilterMatchMode as FilterMatchMode4 } from "primereact/api";
@@ -1135,6 +1208,10 @@ var getDefaultFilterMatchOptionsString = (isLanguagePtBr = true) => [
1135
1208
  {
1136
1209
  label: isLanguagePtBr ? "Vazio" : "Empty",
1137
1210
  value: customMatchModes.empty
1211
+ },
1212
+ {
1213
+ label: isLanguagePtBr ? "N\xE3o Vazio" : "NotEmpty",
1214
+ value: customMatchModes.notEmpty
1138
1215
  }
1139
1216
  ];
1140
1217
  var getDefaultFilterMatchOptionsStringArray = (isLanguagePtBr = true) => [
@@ -1190,6 +1267,7 @@ var getDefaultFilterMatchOptionsEnumNotNullable = (isLanguagePtBr) => [
1190
1267
  import { FilterMatchMode as FilterMatchMode5, FilterOperator as FilterOperator2 } from "primereact/api";
1191
1268
  export {
1192
1269
  Button,
1270
+ CustomFilterElement,
1193
1271
  DataTableAdvancedFilter,
1194
1272
  DateFilterTemplate,
1195
1273
  DateTimeFilterTemplate,
@@ -1198,6 +1276,7 @@ export {
1198
1276
  ModalBase,
1199
1277
  SelectFilterTemplate,
1200
1278
  ValueFilterTemplate,
1279
+ customMatchModes,
1201
1280
  getDefaultFilterMatchOptionsDate,
1202
1281
  getDefaultFilterMatchOptionsEnum,
1203
1282
  getDefaultFilterMatchOptionsEnumNotNullable,
@@ -125,7 +125,7 @@ th {
125
125
  border-top: 1px solid #edf0f2;
126
126
  border-bottom: 1px solid #edf0f2;
127
127
  border-left: 1px solid #edf0f2;
128
- padding: 0 14px;
128
+ padding: 0 0 0 7px;
129
129
  font-size: 14px;
130
130
  font-family: "Roboto", sans-serif;
131
131
  font-weight: bold;
@@ -135,7 +135,7 @@ th {
135
135
  td {
136
136
  border-bottom: 1px solid #edf0f2;
137
137
  border-left: 1px solid #edf0f2;
138
- padding: 5px 1rem;
138
+ padding: 1.5px 7px;
139
139
  }
140
140
 
141
141
  .p-datatable .p-datatable-header {
@@ -157,10 +157,6 @@ td {
157
157
  background: #fff url("../assets/images/seta.svg") no-repeat right 6px center;
158
158
  }
159
159
 
160
- .react-tooltip {
161
- z-index: 99 !important;
162
- }
163
-
164
160
  .p-paginator-left-content {
165
161
  flex: 1;
166
162
  }
@@ -175,7 +171,7 @@ th {
175
171
  font-weight: bold;
176
172
  }
177
173
 
178
- .p-datatable .p-datatable-tbody>tr {
174
+ .p-datatable .p-datatable-tbody > tr {
179
175
  background: #fff;
180
176
  color: #000;
181
177
  font-family: "roboto", sans-serif;
@@ -205,13 +201,43 @@ th {
205
201
  left: -2px;
206
202
  }
207
203
 
208
- .p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover).p-highlight .p-checkbox-box {
204
+ .p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover).p-highlight
205
+ .p-checkbox-box {
209
206
  border-color: #094394;
210
207
  background: #094394;
211
208
  color: #ffffff;
212
209
  }
213
210
 
214
- .p-datatable .p-datatable-tbody>tr.p-highlight {
211
+ .p-datatable .p-datatable-tbody > tr > td.p-selection-column {
212
+ text-align: center !important;
213
+ display: table-cell;
214
+ vertical-align: middle;
215
+ position: relative;
216
+ }
217
+
218
+ .p-datatable .p-datatable-tbody > tr > td.p-selection-column .p-checkbox {
219
+ position: relative;
220
+ left: -2px;
221
+ }
222
+
223
+ .p-datatable .p-datatable-thead > tr > th.p-selection-column .p-checkbox-input {
224
+ text-align: center !important;
225
+ position: relative;
226
+ left: -1rem;
227
+ }
228
+
229
+ .p-selection-column .p-checkbox {
230
+ display: inline-flex;
231
+ vertical-align: middle;
232
+ justify-content: center;
233
+ align-items: center;
234
+ }
235
+
236
+ .p-column-header-content .p-checkbox {
237
+ position: static;
238
+ }
239
+
240
+ .p-datatable .p-datatable-tbody > tr.p-highlight {
215
241
  background: #fafbfc;
216
242
  }
217
243
 
@@ -347,6 +373,7 @@ th {
347
373
 
348
374
  .p-column-title {
349
375
  flex: 1;
376
+ text-align: left;
350
377
  }
351
378
 
352
379
  .p-column-filter-add-button {
@@ -360,7 +387,7 @@ th {
360
387
  padding: 10px 0;
361
388
  }
362
389
 
363
- .p-column-filter-add-button>svg {
390
+ .p-column-filter-add-button > svg {
364
391
  width: 12px;
365
392
  height: 12px;
366
393
  }
@@ -404,7 +431,7 @@ th {
404
431
  padding: 10px 0 0 0;
405
432
  }
406
433
 
407
- .p-column-filter-remove-button>svg {
434
+ .p-column-filter-remove-button > svg {
408
435
  width: 12px;
409
436
  height: 12px;
410
437
  }
@@ -417,8 +444,8 @@ th {
417
444
  z-index: 99;
418
445
  }
419
446
 
420
- .NextPage>svg,
421
- .PrevPage>svg {
447
+ .NextPage > svg,
448
+ .PrevPage > svg {
422
449
  fill: #fff;
423
450
  }
424
451
 
@@ -473,14 +500,9 @@ th {
473
500
  }
474
501
 
475
502
  .box-icones-actions-column {
476
- position: fixed;
477
- z-index: 2;
478
- padding: 0.125rem;
479
503
  width: fit-content;
480
504
  height: fit-content;
481
505
  margin: auto;
482
- right: 6px;
483
- transform: translate( -50%, -50%);
484
506
  display: flex;
485
507
  align-items: center;
486
508
  justify-content: center;
@@ -489,6 +511,22 @@ th {
489
511
  transition: opacity 0.2s ease;
490
512
  }
491
513
 
514
+ .p-datatable .p-datatable-tbody > tr > td:last-child {
515
+ position: sticky !important;
516
+ right: 0;
517
+ z-index: 11;
518
+ border-left: transparent;
519
+ border-right: transparent;
520
+ }
521
+
522
+ .p-datatable .p-datatable-tbody > tr > td:nth-last-child(2) {
523
+ border-right: 1px solid #edf0f2 !important;
524
+ }
525
+
526
+ .react-tooltip {
527
+ z-index: 99 !important;
528
+ }
529
+
492
530
  .box-icones-actions-column:hover {
493
531
  opacity: 1;
494
532
  }
@@ -542,7 +580,6 @@ th {
542
580
  }
543
581
 
544
582
  @media (max-width: 567px) {
545
-
546
583
  .disablePagination,
547
584
  .paginatorLeft {
548
585
  display: grid;
@@ -552,4 +589,10 @@ th {
552
589
  .custom-select {
553
590
  min-width: 100%;
554
591
  }
555
- }
592
+ }
593
+
594
+ .p-datatable .p-datatable-thead > tr > th:last-child .p-column-title {
595
+ flex: 1;
596
+ text-align: center;
597
+ padding: 0 17px 0 7px;
598
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@charlesgomes/leafcode-shared-lib-react",
3
- "version": "1.0.31",
3
+ "version": "1.0.33",
4
4
  "description": "Lib de componentes react",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.mjs",