material-react-table 0.5.6 → 0.5.7

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.
@@ -305,6 +305,151 @@ var useMRT = function useMRT() {
305
305
  return React.useContext(MaterialReactTableContext);
306
306
  };
307
307
 
308
+ var commonMenuItemStyles = {
309
+ py: '0 !important',
310
+ my: '0 !important'
311
+ };
312
+ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
313
+ var _localization$columnA, _localization$columnA2, _localization$filterT, _localization, _localization$columnA3;
314
+
315
+ var anchorEl = _ref.anchorEl,
316
+ column = _ref.column,
317
+ setAnchorEl = _ref.setAnchorEl;
318
+
319
+ var _useMRT = useMRT(),
320
+ disableColumnHiding = _useMRT.disableColumnHiding,
321
+ disableFilters = _useMRT.disableFilters,
322
+ disableSortBy = _useMRT.disableSortBy,
323
+ enableColumnGrouping = _useMRT.enableColumnGrouping,
324
+ _useMRT$icons = _useMRT.icons,
325
+ ArrowRightIcon = _useMRT$icons.ArrowRightIcon,
326
+ ClearAllIcon = _useMRT$icons.ClearAllIcon,
327
+ DynamicFeedIcon = _useMRT$icons.DynamicFeedIcon,
328
+ FilterListIcon = _useMRT$icons.FilterListIcon,
329
+ SortIcon = _useMRT$icons.SortIcon,
330
+ VisibilityOffIcon = _useMRT$icons.VisibilityOffIcon,
331
+ idPrefix = _useMRT.idPrefix,
332
+ localization = _useMRT.localization,
333
+ setShowFilters = _useMRT.setShowFilters,
334
+ tableInstance = _useMRT.tableInstance;
335
+
336
+ var _useState = React.useState(null),
337
+ filterMenuAnchorEl = _useState[0],
338
+ setFilterMenuAnchorEl = _useState[1];
339
+
340
+ var handleClearSort = function handleClearSort() {
341
+ column.clearSortBy();
342
+ setAnchorEl(null);
343
+ };
344
+
345
+ var handleSortAsc = function handleSortAsc() {
346
+ column.toggleSortBy(false);
347
+ setAnchorEl(null);
348
+ };
349
+
350
+ var handleSortDesc = function handleSortDesc() {
351
+ column.toggleSortBy(true);
352
+ setAnchorEl(null);
353
+ };
354
+
355
+ var handleHideColumn = function handleHideColumn() {
356
+ column.toggleHidden();
357
+ setAnchorEl(null);
358
+ };
359
+
360
+ var handleGroupByColumn = function handleGroupByColumn() {
361
+ column.toggleGroupBy();
362
+ setAnchorEl(null);
363
+ };
364
+
365
+ var handleFilterByColumn = function handleFilterByColumn() {
366
+ setShowFilters(true);
367
+ setTimeout(function () {
368
+ var _document$getElementB, _column$muiTableHeadC, _column$muiTableHeadC2;
369
+
370
+ return (_document$getElementB = document.getElementById( // @ts-ignore
371
+ (_column$muiTableHeadC = (_column$muiTableHeadC2 = column.muiTableHeadCellFilterTextFieldProps) == null ? void 0 : _column$muiTableHeadC2.id) != null ? _column$muiTableHeadC : "mrt-" + idPrefix + "-" + column.id + "-filter-text-field")) == null ? void 0 : _document$getElementB.focus();
372
+ }, 200);
373
+ setAnchorEl(null);
374
+ };
375
+
376
+ var handleOpenFilterModeMenu = function handleOpenFilterModeMenu(event) {
377
+ event.stopPropagation();
378
+ setFilterMenuAnchorEl(event.currentTarget);
379
+ };
380
+
381
+ return React__default.createElement(material.Menu, {
382
+ anchorEl: anchorEl,
383
+ open: !!anchorEl,
384
+ onClose: function onClose() {
385
+ return setAnchorEl(null);
386
+ },
387
+ MenuListProps: {
388
+ dense: tableInstance.state.densePadding,
389
+ disablePadding: true
390
+ }
391
+ }, !disableSortBy && column.canSort && [React__default.createElement(material.MenuItem, {
392
+ key: 1,
393
+ disabled: !column.isSorted,
394
+ onClick: handleClearSort,
395
+ sx: commonMenuItemStyles
396
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(ClearAllIcon, null)), React__default.createElement(material.ListItemText, {
397
+ sx: commonMenuItemStyles
398
+ }, localization.columnActionMenuItemClearSort)), React__default.createElement(material.MenuItem, {
399
+ disabled: column.isSorted && !column.isSortedDesc,
400
+ key: 2,
401
+ onClick: handleSortAsc,
402
+ sx: commonMenuItemStyles
403
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(SortIcon, null)), React__default.createElement(material.ListItemText, {
404
+ sx: commonMenuItemStyles
405
+ }, (_localization$columnA = localization.columnActionMenuItemSortAsc) == null ? void 0 : _localization$columnA.replace('{column}', String(column.Header)))), React__default.createElement(material.MenuItem, {
406
+ divider: !disableFilters || enableColumnGrouping || !disableColumnHiding,
407
+ key: 3,
408
+ disabled: column.isSorted && column.isSortedDesc,
409
+ onClick: handleSortDesc,
410
+ sx: commonMenuItemStyles
411
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(SortIcon, {
412
+ style: {
413
+ transform: 'rotate(180deg) scaleX(-1)'
414
+ }
415
+ })), React__default.createElement(material.ListItemText, {
416
+ sx: commonMenuItemStyles
417
+ }, (_localization$columnA2 = localization.columnActionMenuItemSortDesc) == null ? void 0 : _localization$columnA2.replace('{column}', String(column.Header))))], !disableFilters && column.canFilter && [React__default.createElement(material.MenuItem, {
418
+ divider: enableColumnGrouping || !disableColumnHiding,
419
+ key: 1,
420
+ onClick: handleFilterByColumn,
421
+ sx: commonMenuItemStyles
422
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(FilterListIcon, null)), React__default.createElement(material.ListItemText, {
423
+ sx: commonMenuItemStyles
424
+ }, (_localization$filterT = localization.filterTextFieldPlaceholder) == null ? void 0 : _localization$filterT.replace('{column}', String(column.Header))), React__default.createElement(material.IconButton, {
425
+ onClick: handleOpenFilterModeMenu,
426
+ onMouseEnter: handleOpenFilterModeMenu,
427
+ size: "small",
428
+ sx: {
429
+ p: 0
430
+ }
431
+ }, React__default.createElement(ArrowRightIcon, null))), React__default.createElement(MRT_FilterTypeMenu, {
432
+ anchorEl: filterMenuAnchorEl,
433
+ column: column,
434
+ key: 2,
435
+ setAnchorEl: setFilterMenuAnchorEl,
436
+ onSelect: handleFilterByColumn
437
+ })], enableColumnGrouping && column.canGroupBy && [React__default.createElement(material.MenuItem, {
438
+ divider: !disableColumnHiding,
439
+ key: 2,
440
+ onClick: handleGroupByColumn,
441
+ sx: commonMenuItemStyles
442
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(DynamicFeedIcon, null)), React__default.createElement(material.ListItemText, {
443
+ sx: commonMenuItemStyles
444
+ }, (_localization = localization[column.isGrouped ? 'columnActionMenuItemUnGroupBy' : 'columnActionMenuItemGroupBy']) == null ? void 0 : _localization.replace('{column}', String(column.Header))))], !disableColumnHiding && [React__default.createElement(material.MenuItem, {
445
+ key: 1,
446
+ onClick: handleHideColumn,
447
+ sx: commonMenuItemStyles
448
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(VisibilityOffIcon, null)), React__default.createElement(material.ListItemText, {
449
+ sx: commonMenuItemStyles
450
+ }, (_localization$columnA3 = localization.columnActionMenuItemHideColumn) == null ? void 0 : _localization$columnA3.replace('{column}', String(column.Header))))]);
451
+ };
452
+
308
453
  var MRT_FilterTypeMenu = function MRT_FilterTypeMenu(_ref) {
309
454
  var anchorEl = _ref.anchorEl,
310
455
  column = _ref.column,
@@ -393,7 +538,8 @@ var MRT_FilterTypeMenu = function MRT_FilterTypeMenu(_ref) {
393
538
  return handleSelectFilterType(type);
394
539
  },
395
540
  selected: type === filterType,
396
- value: type
541
+ value: type,
542
+ sx: commonMenuItemStyles
397
543
  }, label);
398
544
  }));
399
545
  };
@@ -531,139 +677,6 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
531
677
  }));
532
678
  };
533
679
 
534
- var commonMenuItemStyles = {
535
- display: 'flex',
536
- alignItems: 'center'
537
- };
538
- var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
539
- var _localization$columnA, _localization$columnA2, _localization$filterT, _localization, _localization$columnA3;
540
-
541
- var anchorEl = _ref.anchorEl,
542
- column = _ref.column,
543
- setAnchorEl = _ref.setAnchorEl;
544
-
545
- var _useMRT = useMRT(),
546
- disableColumnHiding = _useMRT.disableColumnHiding,
547
- disableFilters = _useMRT.disableFilters,
548
- disableSortBy = _useMRT.disableSortBy,
549
- enableColumnGrouping = _useMRT.enableColumnGrouping,
550
- _useMRT$icons = _useMRT.icons,
551
- ArrowRightIcon = _useMRT$icons.ArrowRightIcon,
552
- ClearAllIcon = _useMRT$icons.ClearAllIcon,
553
- DynamicFeedIcon = _useMRT$icons.DynamicFeedIcon,
554
- FilterListIcon = _useMRT$icons.FilterListIcon,
555
- SortIcon = _useMRT$icons.SortIcon,
556
- VisibilityOffIcon = _useMRT$icons.VisibilityOffIcon,
557
- idPrefix = _useMRT.idPrefix,
558
- localization = _useMRT.localization,
559
- setShowFilters = _useMRT.setShowFilters,
560
- tableInstance = _useMRT.tableInstance;
561
-
562
- var _useState = React.useState(null),
563
- filterMenuAnchorEl = _useState[0],
564
- setFilterMenuAnchorEl = _useState[1];
565
-
566
- var handleClearSort = function handleClearSort() {
567
- column.clearSortBy();
568
- setAnchorEl(null);
569
- };
570
-
571
- var handleSortAsc = function handleSortAsc() {
572
- column.toggleSortBy(false);
573
- setAnchorEl(null);
574
- };
575
-
576
- var handleSortDesc = function handleSortDesc() {
577
- column.toggleSortBy(true);
578
- setAnchorEl(null);
579
- };
580
-
581
- var handleHideColumn = function handleHideColumn() {
582
- column.toggleHidden();
583
- setAnchorEl(null);
584
- };
585
-
586
- var handleGroupByColumn = function handleGroupByColumn() {
587
- column.toggleGroupBy();
588
- setAnchorEl(null);
589
- };
590
-
591
- var handleFilterByColumn = function handleFilterByColumn() {
592
- setShowFilters(true);
593
- setTimeout(function () {
594
- var _document$getElementB, _column$muiTableHeadC, _column$muiTableHeadC2;
595
-
596
- return (_document$getElementB = document.getElementById( // @ts-ignore
597
- (_column$muiTableHeadC = (_column$muiTableHeadC2 = column.muiTableHeadCellFilterTextFieldProps) == null ? void 0 : _column$muiTableHeadC2.id) != null ? _column$muiTableHeadC : "mrt-" + idPrefix + "-" + column.id + "-filter-text-field")) == null ? void 0 : _document$getElementB.focus();
598
- }, 200);
599
- setAnchorEl(null);
600
- };
601
-
602
- var handleOpenFilterModeMenu = function handleOpenFilterModeMenu(event) {
603
- event.stopPropagation();
604
- setFilterMenuAnchorEl(event.currentTarget);
605
- };
606
-
607
- return React__default.createElement(material.Menu, {
608
- anchorEl: anchorEl,
609
- open: !!anchorEl,
610
- onClose: function onClose() {
611
- return setAnchorEl(null);
612
- },
613
- MenuListProps: {
614
- dense: tableInstance.state.densePadding,
615
- disablePadding: true
616
- }
617
- }, !disableSortBy && column.canSort && [React__default.createElement(material.MenuItem, {
618
- key: 1,
619
- disabled: !column.isSorted,
620
- onClick: handleClearSort,
621
- sx: commonMenuItemStyles
622
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(ClearAllIcon, null)), React__default.createElement(material.ListItemText, null, localization.columnActionMenuItemClearSort)), React__default.createElement(material.MenuItem, {
623
- disabled: column.isSorted && !column.isSortedDesc,
624
- key: 2,
625
- onClick: handleSortAsc,
626
- sx: commonMenuItemStyles
627
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(SortIcon, null)), React__default.createElement(material.ListItemText, null, (_localization$columnA = localization.columnActionMenuItemSortAsc) == null ? void 0 : _localization$columnA.replace('{column}', String(column.Header)))), React__default.createElement(material.MenuItem, {
628
- divider: !disableFilters || enableColumnGrouping || !disableColumnHiding,
629
- key: 3,
630
- disabled: column.isSorted && column.isSortedDesc,
631
- onClick: handleSortDesc,
632
- sx: commonMenuItemStyles
633
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(SortIcon, {
634
- style: {
635
- transform: 'rotate(180deg) scaleX(-1)'
636
- }
637
- })), React__default.createElement(material.ListItemText, null, (_localization$columnA2 = localization.columnActionMenuItemSortDesc) == null ? void 0 : _localization$columnA2.replace('{column}', String(column.Header))))], !disableFilters && column.canFilter && [React__default.createElement(material.MenuItem, {
638
- divider: enableColumnGrouping || !disableColumnHiding,
639
- key: 1,
640
- onClick: handleFilterByColumn,
641
- sx: commonMenuItemStyles
642
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(FilterListIcon, null)), React__default.createElement(material.ListItemText, null, (_localization$filterT = localization.filterTextFieldPlaceholder) == null ? void 0 : _localization$filterT.replace('{column}', String(column.Header))), React__default.createElement(material.IconButton, {
643
- onClick: handleOpenFilterModeMenu,
644
- onMouseEnter: handleOpenFilterModeMenu,
645
- size: "small",
646
- sx: {
647
- p: 0
648
- }
649
- }, React__default.createElement(ArrowRightIcon, null))), React__default.createElement(MRT_FilterTypeMenu, {
650
- anchorEl: filterMenuAnchorEl,
651
- column: column,
652
- key: 2,
653
- setAnchorEl: setFilterMenuAnchorEl,
654
- onSelect: handleFilterByColumn
655
- })], enableColumnGrouping && column.canGroupBy && [React__default.createElement(material.MenuItem, {
656
- divider: !disableColumnHiding,
657
- key: 2,
658
- onClick: handleGroupByColumn,
659
- sx: commonMenuItemStyles
660
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(DynamicFeedIcon, null)), React__default.createElement(material.ListItemText, null, (_localization = localization[column.isGrouped ? 'columnActionMenuItemUnGroupBy' : 'columnActionMenuItemGroupBy']) == null ? void 0 : _localization.replace('{column}', String(column.Header))))], !disableColumnHiding && [React__default.createElement(material.MenuItem, {
661
- key: 1,
662
- onClick: handleHideColumn,
663
- sx: commonMenuItemStyles
664
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(VisibilityOffIcon, null)), React__default.createElement(material.ListItemText, null, (_localization$columnA3 = localization.columnActionMenuItemHideColumn) == null ? void 0 : _localization$columnA3.replace('{column}', String(column.Header))))]);
665
- };
666
-
667
680
  var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton(_ref) {
668
681
  var column = _ref.column;
669
682
 
@@ -1152,8 +1165,11 @@ var MRT_RowActionMenu = function MRT_RowActionMenu(_ref) {
1152
1165
  disablePadding: true
1153
1166
  }
1154
1167
  }, enableRowEditing && React__default.createElement(material.MenuItem, {
1155
- onClick: handleEdit
1156
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(EditIcon, null)), React__default.createElement(material.ListItemText, null, localization.rowActionMenuItemEdit)), (_renderRowActionMenuI = renderRowActionMenuItems == null ? void 0 : renderRowActionMenuItems(row, tableInstance, function () {
1168
+ onClick: handleEdit,
1169
+ sx: commonMenuItemStyles
1170
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(EditIcon, null)), React__default.createElement(material.ListItemText, {
1171
+ sx: commonMenuItemStyles
1172
+ }, localization.rowActionMenuItemEdit)), (_renderRowActionMenuI = renderRowActionMenuItems == null ? void 0 : renderRowActionMenuItems(row, tableInstance, function () {
1157
1173
  return setAnchorEl(null);
1158
1174
  })) != null ? _renderRowActionMenuI : null);
1159
1175
  };
@@ -2387,7 +2403,8 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
2387
2403
  MenuListProps: {
2388
2404
  dense: tableInstance.state.densePadding,
2389
2405
  disablePadding: true
2390
- }
2406
+ },
2407
+ sx: commonMenuItemStyles
2391
2408
  }, React__default.createElement(material.Box, {
2392
2409
  sx: {
2393
2410
  display: 'flex',