jsxgrid 2.0.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 (83) hide show
  1. package/LICENSE +23 -0
  2. package/README.md +2329 -0
  3. package/dist/fields/jsgrid.field.XDateTimeField.min.js +6 -0
  4. package/dist/fields/jsgrid.field.XRowSelectField.min.js +6 -0
  5. package/dist/fields/jsgrid.field.Xcheckbox.min.js +6 -0
  6. package/dist/fields/jsgrid.field.XimgField.min.js +6 -0
  7. package/dist/fields/jsgrid.field.Xjsoneditor.min.js +6 -0
  8. package/dist/fields/jsgrid.field.Xselect.min.js +6 -0
  9. package/dist/fields/jsgrid.field.Xtextarea.min.js +6 -0
  10. package/dist/fields/lib/jsGridSummaryPlugin.min.js +6 -0
  11. package/dist/fields/lib/jsgrid.popup.basic.min.js +6 -0
  12. package/dist/i18n/jsgrid-Ko.js +46 -0
  13. package/dist/i18n/jsgrid-cs.js +46 -0
  14. package/dist/i18n/jsgrid-de.js +46 -0
  15. package/dist/i18n/jsgrid-el.js +46 -0
  16. package/dist/i18n/jsgrid-es.js +46 -0
  17. package/dist/i18n/jsgrid-fa.js +46 -0
  18. package/dist/i18n/jsgrid-fr.js +47 -0
  19. package/dist/i18n/jsgrid-he.js +46 -0
  20. package/dist/i18n/jsgrid-it.js +47 -0
  21. package/dist/i18n/jsgrid-ja.js +46 -0
  22. package/dist/i18n/jsgrid-ka.js +46 -0
  23. package/dist/i18n/jsgrid-lt.js +47 -0
  24. package/dist/i18n/jsgrid-pl.js +62 -0
  25. package/dist/i18n/jsgrid-pt-br.js +46 -0
  26. package/dist/i18n/jsgrid-pt.js +46 -0
  27. package/dist/i18n/jsgrid-ru.js +47 -0
  28. package/dist/i18n/jsgrid-tr.js +47 -0
  29. package/dist/i18n/jsgrid-zh-cn.js +46 -0
  30. package/dist/i18n/jsgrid-zh-tw.js +46 -0
  31. package/dist/icons-2x.png +0 -0
  32. package/dist/icons.png +0 -0
  33. package/dist/jsxgrid-fields.js +606 -0
  34. package/dist/jsxgrid-fields.min.js +6 -0
  35. package/dist/jsxgrid-theme.css +258 -0
  36. package/dist/jsxgrid-theme.min.css +1 -0
  37. package/dist/jsxgrid-xfields.js +979 -0
  38. package/dist/jsxgrid-xfields.min.js +6 -0
  39. package/dist/jsxgrid.css +126 -0
  40. package/dist/jsxgrid.js +2137 -0
  41. package/dist/jsxgrid.min.css +1 -0
  42. package/dist/jsxgrid.min.js +6 -0
  43. package/package.json +57 -0
  44. package/src/fields/jsgrid.field.XDateTimeField.js +122 -0
  45. package/src/fields/jsgrid.field.XRowSelectField.js +62 -0
  46. package/src/fields/jsgrid.field.Xcheckbox.js +108 -0
  47. package/src/fields/jsgrid.field.XimgField.js +99 -0
  48. package/src/fields/jsgrid.field.Xjsoneditor.js +165 -0
  49. package/src/fields/jsgrid.field.Xselect.js +176 -0
  50. package/src/fields/jsgrid.field.Xtextarea.js +97 -0
  51. package/src/fields/jsgrid.field.checkbox.js +97 -0
  52. package/src/fields/jsgrid.field.control.js +224 -0
  53. package/src/fields/jsgrid.field.number.js +41 -0
  54. package/src/fields/jsgrid.field.select.js +130 -0
  55. package/src/fields/jsgrid.field.text.js +69 -0
  56. package/src/fields/jsgrid.field.textarea.js +34 -0
  57. package/src/i18n/Ko.js +46 -0
  58. package/src/i18n/cs.js +46 -0
  59. package/src/i18n/de.js +46 -0
  60. package/src/i18n/el.js +46 -0
  61. package/src/i18n/es.js +46 -0
  62. package/src/i18n/fa.js +46 -0
  63. package/src/i18n/fr.js +47 -0
  64. package/src/i18n/he.js +46 -0
  65. package/src/i18n/it.js +47 -0
  66. package/src/i18n/ja.js +46 -0
  67. package/src/i18n/ka.js +46 -0
  68. package/src/i18n/lt.js +47 -0
  69. package/src/i18n/pl.js +62 -0
  70. package/src/i18n/pt-br.js +46 -0
  71. package/src/i18n/pt.js +46 -0
  72. package/src/i18n/ru.js +47 -0
  73. package/src/i18n/tr.js +47 -0
  74. package/src/i18n/zh-cn.js +46 -0
  75. package/src/i18n/zh-tw.js +46 -0
  76. package/src/jsgrid.core.js +1655 -0
  77. package/src/jsgrid.field.js +74 -0
  78. package/src/jsgrid.load-indicator.js +82 -0
  79. package/src/jsgrid.load-strategies.js +131 -0
  80. package/src/jsgrid.sort-strategies.js +49 -0
  81. package/src/jsgrid.validation.js +135 -0
  82. package/src/lib/jsGridSummaryPlugin.js +37 -0
  83. package/src/lib/jsgrid.popup.basic.js +107 -0
@@ -0,0 +1,6 @@
1
+ /*
2
+ * jsxgrid v2.0.0 (https://github.com/rok9ru/jsxgrid#readme)
3
+ * (c) 2026 Mikhail Kremza
4
+ * Licensed under MIT
5
+ */
6
+ ((t,l)=>{t?t.popup=t.popupBasic=function(t,e){this.idcounter=this.idcounter||0,this.idcounter++,(e=e||{}).closeText=e.closeText||"Close",e.heading=e.heading||"",e.styles=e.styles||".jsGridpopupBasicOverlay { position: fixed; top: 0; bottom: 0; left: 0; right: 0; background: rgba(0, 0, 0, 0.7); transition: opacity 500ms; opacity: 1;}.jsGridpopupBasicPopup { margin: 70px auto; padding: 20px; min-height: 60%; background: #fff; border-radius: 5px; width: 60%; position: relative; transition: all 300ms ease-in-out;}.jsGridpopupBasicPopup h2 { margin-top: 0; color: #333; font-family: Tahoma, Arial, sans-serif;}.jsGridpopupBasicPopup .close { position: absolute; top: 10px; right: 30px; transition: all 200ms; font-size: 30px; font-weight: bold; text-decoration: none; color: #333;}.jsGridpopupBasicPopup .close:hover { color: #06D85F;}.jsGridpopupBasicPopup .jsGridpopupBasicContent { max-height: 30%; overflow: auto;}@media screen and (max-width: 700px){ .jsGridpopupBasicPopup{ width: 70%; }}",l("#jsGridpopupBasicStyles").length||(r=(i=l("head")).find("link[rel='stylesheet']:last"),n="<style id='jsGridpopupBasicStyles'>"+e.styles+"</style>",r.length?r.after(n):i.append(n));var i,n,r="jsGridpopupBasic"+this.idcounter,s=l('<div id="'+r+'" class="jsGridpopupBasicOverlay"><div class="jsGridpopupBasicPopup"><h2></h2><a class="close" href="#">&times;</a><div class="jsGridpopupBasicContent"></div></div></div>');return s.find("h2").text(e.heading),s.find(".jsGridpopupBasicContent").append(t),s.find(".close").click(function(){e.onClose instanceof Function&&e.onClose(s),s.remove()}),l("body").append(s),{id:r,$popup:s,hide:function(){s.remove()}}}:console.log("jsGrid is not defined!")})(jsGrid,jQuery),(s=>{var e=s.fn.jsGrid;e&&(s.fn.jsGrid=function(t){var r;return"object"==typeof t&&(r=t.onRefreshed,t.onRefreshed=function(t){r&&r.apply(this,arguments);var t=t.grid,i=t.option("data")||[],e=t.option("fields")||[],t=t._container.find(".jsgrid-table").last(),t=(t.find(".jsgrid-summary-footer").remove(),s("<tfoot class='jsgrid-summary-footer'>").appendTo(t)),n=s("<tr>").addClass("jsgrid-row").css({background:"#e1e1e1","font-weight":"bold"}).appendTo(t);e.forEach(function(t){var e=s("<td>").addClass("jsgrid-cell").appendTo(n);"function"==typeof t.summary&&(t=t.summary.call(t,i),e.html(t))})}),e.apply(this,arguments)})})(jQuery),((t,i)=>{function e(t){n.call(this,t)}var n=t.Field;e.prototype=new n({sorter:"number",align:"center",autosearch:!0,defaultSelected:null,filterTemplate:function(){var t,e;return this.filtering?(t=this._grid,(e=this.filterControl=this._createCheckbox()).prop({readOnly:!0,indeterminate:!0}),e.on("click",function(){var t=i(this);t.prop("readOnly")?t.prop({checked:!1,readOnly:!1}):t.prop("checked")||t.prop({readOnly:!0,indeterminate:!0})}),this.autosearch&&e.on("click",function(){t.search()}),null!==this.defaultSelected&&(e.prop({checked:!!this.defaultSelected,indeterminate:!1,readOnly:!1}),this.defaultSelected=null),e):""},filterValue:function(){return this.filterControl.get(0).indeterminate?void 0:this.filterControl.is(":checked")?1:0},insertTemplate:function(){return this.inserting?this.insertControl=this._createCheckbox():""},insertValue:function(){return+this.insertControl.is(":checked")},editValue:function(){return+this.editControl.is(":checked")},itemTemplate:function(t){return this._createCheckbox().prop({checked:+t,disabled:!0})},editTemplate:function(t){var e;return this.editing?((e=this.editControl=this._createCheckbox()).prop("checked",+t),e):this.itemTemplate.apply(this,arguments)},_createCheckbox:function(){return i("<input>").attr("type","checkbox")}}),t.fields.Xcheckbox=e})(jsGrid,jQuery),((t,n)=>{function e(t){i.call(this,t)}var i=t.Field;e.prototype=new i({autosearch:!0,readOnly:!1,fm_callback:null,editButtonText:"Open FM",defaultSelected:null,filterTemplate:function(){var e,t;return this.filtering?(e=this._grid,t=this.filterControl=this._createTextBox(),this.autosearch&&t.on("keypress",function(t){13===t.which&&(e.search(),t.preventDefault())}),null!==this.defaultSelected&&(t.val(this.defaultSelected),this.defaultSelected=null),t):""},filterValue:function(){return this.filterControl.val()},itemTemplate:function(t){var e=n('<img class="jsgrid-img" src="">');return e.attr("src",t||""),e.css("max-height","50px"),e.css("max-width","50px"),e},editTemplate:function(t){var e,i;return this.editing?(e=this.fm_callback,i=this.editControl=n('<input type="text">').val(t||""),e?n('<button class="jsgrid-imgField-button">'+this.editButtonText+"</button>").click(function(){e(i)}):i):this.itemTemplate.apply(this,arguments)},insertTemplate:function(){var t,e;return this.inserting?(t=this.fm_callback,e=this.insertControl=n('<input type="text">'),"function"==typeof t?n('<button class="jsgrid-imgField-button">'+this.editButtonText+"</button>").click(function(){t(e)}):e):""},insertValue:function(){return this.insertControl.val()},editValue:function(){return this.editControl.val()},_createTextBox:function(){return n("<input>").attr("type","text").prop("readonly",!!this.readOnly)}}),t.fields.XimgField=e})(jsGrid,jQuery),((t,o)=>{function e(t){var e;this.items=[],this.selectedIndex=-1,this.valueField="",this.textField="",t.valueField&&t.items&&t.items.length&&(e=t.items[0][t.valueField],this.valueType=typeof e==n?n:"string"),this.sorter=this.valueType,i.call(this,t)}var i=t.Field,n="number";e.prototype=new i({align:"center",autosearch:!0,valueType:n,pseudoElement:null,select2:null,defaultSelected:null,itemTemplate:function(e){var t=this.items,i=this.valueField,n=this.textField,t=i?"object"==typeof e?e:o.grep(t,function(t){return t[i]===e})[0]||{}:t[e],n=n?t[n]:t;return null==n?"":n},insertTemplate:function(){return this.inserting?this.insertControl=this._createSelect():""},editTemplate:function(t){var e,i;return this.editing?(e=this.editControl=this._createSelect(),void 0!==(i="object"==typeof(i=t)?t[this.valueField]:t)&&e.val(i),e):this.itemTemplate.apply(this,arguments)},insertValue:function(){var t=this.insertControl.val();return this.valueType===n?parseInt(t||0,10):t},editValue:function(){var t=this.editControl.val();return this.valueType===n?parseInt(t||0,10):t},filterTemplate:function(){var t,i,n,r,e,s;return this.filtering?(Array.isArray(this.items)?(t=this.items.slice(0),this.pseudoElement?t.unshift(this.pseudoElement):((s={})[this.textField]="",s[this.valueField]=null,t.unshift(s))):"object"==typeof this.items&&(t=Object.assign({},this.items),t="object"==typeof this.pseudoElement&&this.pseudoElement?Object.assign({},t,this.pseudoElement):Object.assign({},{"":null},t)),null!==this.defaultSelected&&(i=this.valueField,n=this.defaultSelected,r=-1,o.each(t,function(t,e){if((i?e[i]:t)==n)return r=t,!1}),-1!==r&&(this.selectedIndex=r),this.defaultSelected=null),e=this._grid,s=this.filterControl=this._createSelect(t),this.autosearch&&s.on("change",function(t){e.search()}),s):""},filterValue:function(){var t=this.filterControl.val();return this.valueType===n?parseInt(t||0,10):t},_createSelect:function(t){var e,n=o("<select>"),r=this.valueField,s=this.textField,l=this.selectedIndex;return o.each(t||this.items,function(t,e){var i=r?e[r]:t,e=s?e[s]:e;o("<option>").attr("value",i).text(e).appendTo(n).prop("selected",l===t)}),n.prop("disabled",!!this.readOnly),this.select2&&(e=Object.assign({},this.select2,{width:"100%"}),setTimeout(function(){n.select2(e)},0)),n}}),t.fields.Xselect=e})(jsGrid,jQuery),((t,r)=>{function e(t){i.call(this,t)}var i=t.Field;e.prototype=new i({autosearch:!0,readOnly:!1,maxShowSymbols:50,defaultSelected:null,filterTemplate:function(){var e,t;return this.filtering?(e=this._grid,t=this.filterControl=this._createTextBox(),this.autosearch&&t.on("keypress",function(t){13===t.which&&(e.search(),t.preventDefault())}),null!==this.defaultSelected&&(t.val(this.defaultSelected),this.defaultSelected=null),t):""},filterValue:function(){return this.filterControl.val()},insertTemplate:function(){return this.inserting?this.insertControl=this._createTextArea():""},editTemplate:function(t){var e;return this.editing?((e=this.editControl=this._createTextArea()).val(t),e):this.itemTemplate.apply(this,arguments)},insertValue:function(){return this.insertControl.val()},editValue:function(){return this.editControl.val()},_createTextBox:function(){return r("<input>").attr("type","text").prop("readonly",!!this.readOnly)},_createTextArea:function(){return r("<textarea>").prop("readonly",!!this.readOnly)},itemTemplate:function(t,e){var i,n;return(t=null==t?"":String(t)).length<=this.maxShowSymbols?r("<div>").text(t):(i=t.slice(0,this.maxShowSymbols),n=r("<div>").text(i+" ...").one("click",function(){return n.text(t),!1}))}}),t.fields.Xtextarea=e})(jsGrid,jQuery),((n,r)=>{function t(t){e.call(this,t)}var e=n.Field;t.prototype=new e({autosearch:!0,readOnly:!1,templates:[],closeText:"Save",editText:"Editor",defaultSelected:null,filterTemplate:function(){var e,t;return this.filtering?(e=this._grid,t=this.filterControl=this._createTextBox(),this.autosearch&&t.on("keypress",function(t){13===t.which&&(e.search(),t.preventDefault())}),null!==this.defaultSelected&&(t.val(this.defaultSelected),this.defaultSelected=null),t):""},filterValue:function(){return this.filterControl.val()},insertValue:function(){return this.insertControl.val()},editValue:function(){return this.editControl.val()},_createTextBox:function(){return r("<input>").attr("type","text").prop("readonly",!!this.readOnly)},_doModal:function(t,e,i){return n.popup(t,e)},_createJsonEditor:function(t,e){if("undefined"==typeof JSONEditor)throw new Error("Xjsoneditor requires the 'jsoneditor' package to be loaded on the page.");"object"!=typeof(t=t||{})&&(t=JSON.parse(t));var i=r('<div style="height: 500px;">'),e=(r("body").append(i),i=i[0],{templates:this.templates,modes:["code","text","tree"],onError:function(t){alert(t.toString())},mode:e||"view"});return new JSONEditor(i,e,t)},itemTemplate:function(e,t){var i=this;return r("<button>"+i.editText+"</button>").click(function(){var t=i._createJsonEditor(e);return i._doModal(t.container,{onClose:function(){r(t.container).remove(),t.destroy()}}),!1})},insertTemplate:function(){var t;return this.inserting?(t=this).insertControl=r("<textarea>").click(function(){var e=t._createJsonEditor({},"tree"),i=r(this);return t._doModal(e.container,{closeText:t.closeText,onClose:function(){var t=e.get();r.isEmptyObject(t)?i.val({}):i.val(JSON.stringify(t)),e.destroy()}}),!1}):""},editTemplate:function(t){var n;return this.editing?(n=this).editControl=r("<textarea>").val(t).click(function(){var e=r(this),i=n._createJsonEditor(e.val(),"tree");return n._doModal(i.container,{closeText:n.closeText,onClose:function(){var t=i.get();r.isEmptyObject(t)?e.val({}):e.val(JSON.stringify(t)),i.destroy()}}),!1}):this.itemTemplate.apply(this,arguments)}}),n.fields.Xjsoneditor=t})(jsGrid,jQuery),((e,n)=>{function t(t){this.selectedItems=[],this.uid=Date.now().toString(36)+Math.random().toString(36).substring(2),e.Field.call(this,t)}t.prototype=new e.Field({filtering:!1,deleteItemByItem:!1,buttonText:"",selectedItemsAction:function(t){},unselectAll:function(){this.selectedItems=[],this._grid._container.find("[data-uid='"+this.uid+"'] ").prop("checked",!1)},headerTemplate:function(){var e;return this.buttonText?(e=this,n("<button>").attr("type","button").text(e.buttonText).on("click",function(t){e.selectedItemsAction(e.selectedItems),t.stopPropagation()})):""},itemTemplate:function(t,e){var i=this;return n("<input data-uid='"+i.uid+"' type='checkbox'>").prop("checked",-1<n.inArray(e,i.selectedItems)).on("change",function(){n(this).is(":checked")?i.selectItem(e):i.unselectItem(e)}).click(function(t){t.stopPropagation()})},editTemplate:function(){return""},align:"center",selectItem:function(t){this.selectedItems.push(t)},unselectItem:function(e){this.selectedItems=n.grep(this.selectedItems,function(t){return t!==e})}}),e.fields.XRowSelectField=t})(jsGrid,jQuery),((e,s)=>{function t(t){e.Field.call(this,t)}t.prototype=new e.Field({css:"date-field",align:"center",datePickerType:"datetime-local",dateRange:!1,defaultSelected:null,sorter:function(t,e){return new Date(t)-new Date(e)},filterTemplate:function(){var e,t,i,n,r;return this.filtering?(e=this._grid,t=s(),this.dateRange?(r=s("<div class='jsgrid-date-range-wrapper'>"),i=s("<input>",{class:"jsgrid-date-picker jsgrid-date-start",type:this.datePickerType,title:"Period date start"}),n=s("<input>",{class:"jsgrid-date-picker jsgrid-date-end",type:this.datePickerType,title:"Period date end"}),r.val=function(){return{from:i.val(),to:n.val()}},t=this.filterControl=r.append(i).append(n),null!==this.defaultSelected&&(r=this.defaultSelected||{},i.val(r.from||""),n.val(r.to||""),this.defaultSelected=null),this.autosearch&&t.on("change",".jsgrid-date-picker",function(t){e.search()})):(t=this.filterControl=this._createPicker(),null!==this.defaultSelected&&(t.val(this.defaultSelected),this.defaultSelected=null),this.autosearch&&t.on("change",function(t){e.search()})),t):""},filterValue:function(){return this.filterControl.val()},itemTemplate:function(t){var e;return t?(e=this.options||{weekday:"short",year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"},new Date(t.replace(" ","T")).toLocaleDateString(void 0,e)):""},insertTemplate:function(){return this._insertPicker=this._createPicker()},editTemplate:function(t){return this._editPicker=this._createPicker().val(t)},insertValue:function(){return this._insertPicker.val()},editValue:function(){return this._editPicker.val()},_createPicker:function(){return s("<input class='date-picker'>").attr("type",this.datePickerType)}}),e.fields.XDateTimeField=t})(jsGrid,jQuery);
@@ -0,0 +1,126 @@
1
+ /*
2
+ * jsxgrid v2.0.0 (https://github.com/rok9ru/jsxgrid#readme)
3
+ * (c) 2026 Mikhail Kremza
4
+ * Licensed under MIT
5
+ */
6
+
7
+ .jsgrid {
8
+ position: relative;
9
+ overflow: hidden;
10
+ font-size: 1em;
11
+ }
12
+
13
+ .jsgrid, .jsgrid *, .jsgrid *:before, .jsgrid *:after {
14
+ box-sizing: border-box;
15
+ }
16
+
17
+ .jsgrid input,
18
+ .jsgrid textarea,
19
+ .jsgrid select {
20
+ font-size: 1em;
21
+ }
22
+
23
+ .jsgrid-grid-header {
24
+ overflow-x: hidden;
25
+ overflow-y: scroll;
26
+ -webkit-user-select: none;
27
+ -khtml-user-select: none;
28
+ -moz-user-select: none;
29
+ -ms-user-select: none;
30
+ -o-user-select: none;
31
+ user-select: none;
32
+ }
33
+
34
+ .jsgrid-grid-body {
35
+ overflow-x: auto;
36
+ overflow-y: scroll;
37
+ -webkit-overflow-scrolling: touch;
38
+ }
39
+
40
+ .jsgrid-table {
41
+ width: 100%;
42
+ table-layout: fixed;
43
+ border-collapse: collapse;
44
+ border-spacing: 0;
45
+ }
46
+
47
+ .jsgrid-cell {
48
+ padding: 0.5em 0.5em;
49
+ }
50
+
51
+ .jsgrid-cell,
52
+ .jsgrid-header-cell {
53
+ box-sizing: border-box;
54
+ }
55
+
56
+ .jsgrid-align-left {
57
+ text-align: left;
58
+ }
59
+
60
+ .jsgrid-align-center,
61
+ .jsgrid-align-center input,
62
+ .jsgrid-align-center textarea,
63
+ .jsgrid-align-center select {
64
+ text-align: center;
65
+ }
66
+
67
+ .jsgrid-align-right,
68
+ .jsgrid-align-right input,
69
+ .jsgrid-align-right textarea,
70
+ .jsgrid-align-right select {
71
+ text-align: right;
72
+ }
73
+
74
+ .jsgrid-header-cell {
75
+ padding: .5em .5em;
76
+ }
77
+
78
+ .jsgrid-filter-row input,
79
+ .jsgrid-filter-row textarea,
80
+ .jsgrid-filter-row select,
81
+ .jsgrid-edit-row input,
82
+ .jsgrid-edit-row textarea,
83
+ .jsgrid-edit-row select,
84
+ .jsgrid-insert-row input,
85
+ .jsgrid-insert-row textarea,
86
+ .jsgrid-insert-row select {
87
+ width: 100%;
88
+ padding: .3em .5em;
89
+ }
90
+
91
+ .jsgrid-filter-row input[type='checkbox'],
92
+ .jsgrid-edit-row input[type='checkbox'],
93
+ .jsgrid-insert-row input[type='checkbox'] {
94
+ width: auto;
95
+ }
96
+
97
+
98
+ .jsgrid-selected-row .jsgrid-cell {
99
+ cursor: pointer;
100
+ }
101
+
102
+ .jsgrid-nodata-row .jsgrid-cell {
103
+ padding: .5em 0;
104
+ text-align: center;
105
+ }
106
+
107
+ .jsgrid-header-sort {
108
+ cursor: pointer;
109
+ }
110
+
111
+ .jsgrid-pager {
112
+ padding: .5em 0;
113
+ }
114
+
115
+ .jsgrid-pager-nav-button {
116
+ padding: .2em .6em;
117
+ }
118
+
119
+ .jsgrid-pager-nav-inactive-button {
120
+ display: none;
121
+ pointer-events: none;
122
+ }
123
+
124
+ .jsgrid-pager-page {
125
+ padding: .2em .6em;
126
+ }