@pdg/react-table 1.1.0 → 1.1.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/dist/PTableBodyRow/PTableBodyRow.types.d.ts +1 -1
- package/dist/PTableContext/PTableContext.types.d.ts +1 -1
- package/dist/index.d.ts +11 -2
- package/dist/index.esm.js +254 -254
- package/dist/index.js +254 -254
- package/package.json +1 -1
- /package/dist/{TableBodyCell → PTableBodyCell}/PTableBodyCell.d.ts +0 -0
- /package/dist/{TableBodyCell → PTableBodyCell}/PTableBodyCell.types.d.ts +0 -0
- /package/dist/{TableBodyCell → PTableBodyCell}/index.d.ts +0 -0
package/dist/index.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import*as React from'react';import React__default,{useRef,useState,useCallback,useEffect,createContext,useContext,
|
|
1
|
+
import*as React from'react';import React__default,{useMemo,useRef,useState,useCallback,useEffect,createContext,useContext,useLayoutEffect,useId}from'react';import {styled,Box,IconButton,Grid,Stack,TableRow,lighten,TableCell,Pagination,Checkbox,useTheme,TableHead,Tooltip,TableBody,Icon,TableFooter,Paper,Table,Popper,Grow,ClickAwayListener}from'@mui/material';import {notEmpty,empty,ifUndefined,equal}from'@pdg/compare';import {formatPersonalNo,formatBusinessNo,formatTelNo,formatNumber}from'@pdg/formatting';import {PIcon,PCopyToClipboard,PButton}from'@pdg/react-component';import {PSearch,PSearchGroup,PFormHidden}from'@pdg/react-form';import {useAutoUpdateLayoutState}from'@pdg/react-hook';import {useSensors,useSensor,MouseSensor,TouchSensor,KeyboardSensor,DndContext,closestCenter}from'@dnd-kit/core';import {useSortable,SortableContext,verticalListSortingStrategy,sortableKeyboardCoordinates,arrayMove}from'@dnd-kit/sortable';import {v4}from'uuid';import {useInView}from'react-intersection-observer';function insertStyle(css) {
|
|
2
2
|
if (typeof window === 'undefined')
|
|
3
3
|
return;
|
|
4
4
|
const style = document.createElement('style');
|
|
@@ -138,7 +138,250 @@ function requireClassnames () {
|
|
|
138
138
|
} (classnames));
|
|
139
139
|
return classnames.exports;
|
|
140
140
|
}var classnamesExports = requireClassnames();
|
|
141
|
-
var classNames = /*@__PURE__*/getDefaultExportFromCjs(classnamesExports)
|
|
141
|
+
var classNames = /*@__PURE__*/getDefaultExportFromCjs(classnamesExports);var Label = styled(Box)(templateObject_1$4 || (templateObject_1$4 = __makeTemplateObject(["\n font-size: 12px;\n font-weight: bold;\n"], ["\n font-size: 12px;\n font-weight: bold;\n"])));
|
|
142
|
+
var ValueWrap = styled(Box)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n margin-top: 3px;\n position: relative;\n display: flex;\n flex-direction: row;\n"], ["\n margin-top: 3px;\n position: relative;\n display: flex;\n flex-direction: row;\n"])));
|
|
143
|
+
var Value = styled('div')(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n flex: 1;\n"], ["\n flex: 1;\n"])));
|
|
144
|
+
var ValueEllipsis = styled('div')(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n flex: 1;\n position: relative;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"], ["\n flex: 1;\n position: relative;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
|
|
145
|
+
var ValueClipboard = styled('div')(templateObject_5 || (templateObject_5 = __makeTemplateObject([""], [""])));
|
|
146
|
+
var ClipboardIconButton = styled(IconButton)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n margin-top: -10px;\n margin-bottom: -10px;\n"], ["\n margin-top: -10px;\n margin-bottom: -10px;\n"])));
|
|
147
|
+
var Line = styled('div')(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n border-top: 1px solid #efefef;\n height: 1px;\n flex: 1;\n"], ["\n border-top: 1px solid #efefef;\n height: 1px;\n flex: 1;\n"])));
|
|
148
|
+
var templateObject_1$4, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;function getTableColumnAlign(column, defaultAlign) {
|
|
149
|
+
switch (column.type) {
|
|
150
|
+
case 'number':
|
|
151
|
+
return column.align ? column.align : 'right';
|
|
152
|
+
default:
|
|
153
|
+
return column.align || defaultAlign;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
function combineSx() {
|
|
157
|
+
var sx = [];
|
|
158
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
159
|
+
sx[_i] = arguments[_i];
|
|
160
|
+
}
|
|
161
|
+
var finalSx = [];
|
|
162
|
+
if (Array.isArray(finalSx)) {
|
|
163
|
+
sx.forEach(function (v) { return v && finalSx.push.apply(finalSx, (Array.isArray(v) ? v : [v])); });
|
|
164
|
+
}
|
|
165
|
+
return finalSx;
|
|
166
|
+
}
|
|
167
|
+
function typographyColorToSxColor(color) {
|
|
168
|
+
if (typeof color === 'string') {
|
|
169
|
+
if (['primary', 'secondary', 'info', 'warning', 'error'].includes(color)) {
|
|
170
|
+
return "".concat(color, ".main");
|
|
171
|
+
}
|
|
172
|
+
else if (color === 'text') {
|
|
173
|
+
return 'text.primary';
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
return color;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
return color;
|
|
181
|
+
}
|
|
182
|
+
}var dayjs_min$1 = {exports: {}};var dayjs_min = dayjs_min$1.exports;
|
|
183
|
+
|
|
184
|
+
var hasRequiredDayjs_min;
|
|
185
|
+
|
|
186
|
+
function requireDayjs_min () {
|
|
187
|
+
if (hasRequiredDayjs_min) return dayjs_min$1.exports;
|
|
188
|
+
hasRequiredDayjs_min = 1;
|
|
189
|
+
(function (module, exports) {
|
|
190
|
+
!function(t,e){module.exports=e();}(dayjs_min,(function(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",c="month",f="quarter",h="year",d="date",l="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return "["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},m=function(t,e,n){var r=String(t);return !r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return (e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()<n.date())return -t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return +(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return {M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},g="en",D={};D[g]=M;var p="$isDayjsObject",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if("string"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split("-");if(!i&&u.length>1)return t(u[0])}else {var a=e.name;D[a]=e,i=a;}return !r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,true),this.parse(t),this.$x=this.$x||t.x||{},this[p]=true;}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init();},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds();},m.$utils=function(){return b},m.isValid=function(){return !(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate("s"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v="set"+(this.$u?"UTC":"");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+"Hours",0);case u:return $(v+"Minutes",1);case s:return $(v+"Seconds",2);case i:return $(v+"Milliseconds",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,false)},m.$set=function(t,e){var n,o=b.p(t),f="set"+(this.$u?"UTC":""),l=(n={},n[a]=f+"Date",n[d]=f+"Date",n[c]=f+"Month",n[h]=f+"FullYear",n[u]=f+"Hours",n[s]=f+"Minutes",n[i]=f+"Seconds",n[r]=f+"Milliseconds",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d;}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||"YYYY-MM-DDTHH:mm:ssZ",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,"0")},$=f||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case "YY":return String(e.$y).slice(-2);case "YYYY":return b.s(e.$y,4,"0");case "M":return a+1;case "MM":return b.s(a+1,2,"0");case "MMM":return h(n.monthsShort,a,c,3);case "MMMM":return h(c,a);case "D":return e.$D;case "DD":return b.s(e.$D,2,"0");case "d":return String(e.$W);case "dd":return h(n.weekdaysMin,e.$W,o,2);case "ddd":return h(n.weekdaysShort,e.$W,o,3);case "dddd":return o[e.$W];case "H":return String(s);case "HH":return b.s(s,2,"0");case "h":return d(1);case "hh":return d(2);case "a":return $(s,u,true);case "A":return $(s,u,false);case "m":return String(u);case "mm":return b.s(u,2,"0");case "s":return String(e.$s);case "ss":return b.s(e.$s,2,"0");case "SSS":return b.s(e.$ms,3,"0");case "Z":return i}return null}(t)||i.replace(":","")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g;}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,true);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[["$ms",r],["$s",i],["$m",s],["$H",u],["$W",a],["$M",c],["$y",h],["$D",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])};})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=true),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));
|
|
191
|
+
} (dayjs_min$1));
|
|
192
|
+
return dayjs_min$1.exports;
|
|
193
|
+
}var dayjs_minExports = requireDayjs_min();
|
|
194
|
+
var dayjs = /*@__PURE__*/getDefaultExportFromCjs(dayjs_minExports);var PInfoTable = function (_a) {
|
|
195
|
+
/********************************************************************************************************************
|
|
196
|
+
* Memo
|
|
197
|
+
* ******************************************************************************************************************/
|
|
198
|
+
var cols = _a.cols, _b = _a.spacing, spacing = _b === void 0 ? 2 : _b, columnSpacing = _a.columnSpacing, _c = _a.rowSpacing, rowSpacing = _c === void 0 ? 3 : _c, className = _a.className, style = _a.style, sx = _a.sx, labelClassName = _a.labelClassName, _d = _a.labelColor, labelColor = _d === void 0 ? 'primary' : _d, labelStyle = _a.labelStyle, labelSx = _a.labelSx, _e = _a.dividerColor, dividerColor = _e === void 0 ? 'gray' : _e, valueClassName = _a.valueClassName, valueStyle = _a.valueStyle, valueSx = _a.valueSx, ellipsis = _a.ellipsis, valueUnderline = _a.valueUnderline, info = _a.info, items = _a.items, onCopyToClipboard = _a.onCopyToClipboard;
|
|
199
|
+
var renderItems = useMemo(function () {
|
|
200
|
+
return items.filter(function (item) { return !!item && (!item.onHide || !item.onHide(info)); }).map(function (item) {
|
|
201
|
+
/** data */
|
|
202
|
+
var data = undefined;
|
|
203
|
+
if (item.name !== undefined) {
|
|
204
|
+
if (info[item.name] !== undefined) {
|
|
205
|
+
if (info[item.name] instanceof Date) {
|
|
206
|
+
data = dayjs(info[item.name]).format('YYYY-MM-DD HH:mm:ss');
|
|
207
|
+
}
|
|
208
|
+
else if (info[item.name] instanceof dayjs) {
|
|
209
|
+
data = info[item.name].format('YYYY-MM-DD HH:mm:ss');
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
data = info[item.name];
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
if (item.onRender) {
|
|
217
|
+
data = item.onRender(info);
|
|
218
|
+
}
|
|
219
|
+
else if (notEmpty(data)) {
|
|
220
|
+
switch (item.type) {
|
|
221
|
+
case 'number':
|
|
222
|
+
if (typeof data === 'string' || typeof data === 'number') {
|
|
223
|
+
data = formatNumber(data);
|
|
224
|
+
if (item.numberPrefix) {
|
|
225
|
+
data = (React__default.createElement(React__default.Fragment, null,
|
|
226
|
+
React__default.createElement("span", { style: { opacity: 0.5, marginRight: 2 } }, item.numberPrefix),
|
|
227
|
+
data));
|
|
228
|
+
}
|
|
229
|
+
if (item.numberSuffix) {
|
|
230
|
+
data = (React__default.createElement(React__default.Fragment, null,
|
|
231
|
+
data,
|
|
232
|
+
React__default.createElement("span", { style: { opacity: 0.5, marginLeft: 2 } }, item.numberSuffix)));
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
break;
|
|
236
|
+
case 'tel':
|
|
237
|
+
if (typeof data === 'string') {
|
|
238
|
+
data = formatTelNo(data);
|
|
239
|
+
}
|
|
240
|
+
break;
|
|
241
|
+
case 'email':
|
|
242
|
+
if (typeof data === 'string') {
|
|
243
|
+
data = (React__default.createElement(React__default.Fragment, null,
|
|
244
|
+
React__default.createElement("a", { href: "mailto:".concat(data) }, data)));
|
|
245
|
+
}
|
|
246
|
+
break;
|
|
247
|
+
case 'url':
|
|
248
|
+
if (typeof data === 'string' && data.toLowerCase().startsWith('http')) {
|
|
249
|
+
data = (React__default.createElement(React__default.Fragment, null,
|
|
250
|
+
React__default.createElement("a", { href: data, target: '_blank' }, data)));
|
|
251
|
+
}
|
|
252
|
+
break;
|
|
253
|
+
case 'business_no':
|
|
254
|
+
if (typeof data === 'string') {
|
|
255
|
+
data = formatBusinessNo(data);
|
|
256
|
+
}
|
|
257
|
+
break;
|
|
258
|
+
case 'personal_no':
|
|
259
|
+
if (typeof data === 'string') {
|
|
260
|
+
data = formatPersonalNo(data);
|
|
261
|
+
}
|
|
262
|
+
break;
|
|
263
|
+
case 'date':
|
|
264
|
+
if (typeof data === 'string' || typeof data === 'number') {
|
|
265
|
+
data = dayjs(data, item.dateFormat).format('YYYY-MM-DD');
|
|
266
|
+
}
|
|
267
|
+
break;
|
|
268
|
+
case 'datetime':
|
|
269
|
+
if (typeof data === 'string' || typeof data === 'number') {
|
|
270
|
+
var dt = dayjs(data, item.dateFormat);
|
|
271
|
+
data = (React__default.createElement(React__default.Fragment, null,
|
|
272
|
+
React__default.createElement("span", null, dt.format('YYYY-MM-DD')),
|
|
273
|
+
item.dateTwoLine ? React__default.createElement("br", null) : ' ',
|
|
274
|
+
React__default.createElement("span", { style: { opacity: 0.5 } }, dt.format('HH:mm:ss'))));
|
|
275
|
+
}
|
|
276
|
+
break;
|
|
277
|
+
case 'date-hour':
|
|
278
|
+
if (typeof data === 'string' || typeof data === 'number') {
|
|
279
|
+
var dt = dayjs(data, item.dateFormat);
|
|
280
|
+
data = (React__default.createElement(React__default.Fragment, null,
|
|
281
|
+
React__default.createElement("span", null, dt.format('YYYY-MM-DD')),
|
|
282
|
+
item.dateTwoLine ? React__default.createElement("br", null) : ' ',
|
|
283
|
+
React__default.createElement("span", { style: { opacity: 0.5 } }, dt.format('HH시'))));
|
|
284
|
+
}
|
|
285
|
+
break;
|
|
286
|
+
case 'date-minute':
|
|
287
|
+
if (typeof data === 'string' || typeof data === 'number') {
|
|
288
|
+
var dt = dayjs(data, item.dateFormat);
|
|
289
|
+
data = (React__default.createElement(React__default.Fragment, null,
|
|
290
|
+
React__default.createElement("span", null, dt.format('YYYY-MM-DD')),
|
|
291
|
+
item.dateTwoLine ? React__default.createElement("br", null) : ' ',
|
|
292
|
+
React__default.createElement("span", { style: { opacity: 0.5 } }, dt.format('HH시 MM분'))));
|
|
293
|
+
}
|
|
294
|
+
break;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
if (empty(data))
|
|
298
|
+
data = item.onRenderEmpty ? item.onRenderEmpty(info) : React__default.createElement(React__default.Fragment, null, "\u00A0");
|
|
299
|
+
/** copyToClipboardText */
|
|
300
|
+
var copyToClipboardText = item.clipboardText || (typeof data === 'string' ? data : typeof data === 'number' ? data.toString() : '');
|
|
301
|
+
/** sizeProps */
|
|
302
|
+
var sizeProps = {};
|
|
303
|
+
if (typeof cols === 'number') {
|
|
304
|
+
sizeProps.xs = 12 / cols;
|
|
305
|
+
}
|
|
306
|
+
else {
|
|
307
|
+
if (cols.xs)
|
|
308
|
+
sizeProps.xs = 12 / cols.xs;
|
|
309
|
+
if (cols.sm)
|
|
310
|
+
sizeProps.sm = 12 / cols.sm;
|
|
311
|
+
if (cols.md)
|
|
312
|
+
sizeProps.md = 12 / cols.md;
|
|
313
|
+
if (cols.lg)
|
|
314
|
+
sizeProps.lg = 12 / cols.lg;
|
|
315
|
+
if (cols.xl)
|
|
316
|
+
sizeProps.xl = 12 / cols.xl;
|
|
317
|
+
}
|
|
318
|
+
if (item.xs)
|
|
319
|
+
sizeProps.xs = item.xs;
|
|
320
|
+
if (item.sm)
|
|
321
|
+
sizeProps.sm = item.sm;
|
|
322
|
+
if (item.md)
|
|
323
|
+
sizeProps.md = item.md;
|
|
324
|
+
if (item.lg)
|
|
325
|
+
sizeProps.lg = item.lg;
|
|
326
|
+
if (item.xl)
|
|
327
|
+
sizeProps.xl = item.xl;
|
|
328
|
+
if (item.onXs)
|
|
329
|
+
sizeProps.xs = item.onXs(info);
|
|
330
|
+
if (item.onSm)
|
|
331
|
+
sizeProps.sm = item.onSm(info);
|
|
332
|
+
if (item.onMd)
|
|
333
|
+
sizeProps.md = item.onMd(info);
|
|
334
|
+
if (item.onLg)
|
|
335
|
+
sizeProps.lg = item.onLg(info);
|
|
336
|
+
if (item.onXl)
|
|
337
|
+
sizeProps.xl = item.onXl(info);
|
|
338
|
+
return { item: item, data: data, copyToClipboardText: copyToClipboardText, sizeProps: sizeProps };
|
|
339
|
+
});
|
|
340
|
+
}, [info, items, cols]);
|
|
341
|
+
var content = useMemo(function () {
|
|
342
|
+
return renderItems.map(function (_a, idx) {
|
|
343
|
+
var item = _a.item, data = _a.data, copyToClipboardText = _a.copyToClipboardText, sizeProps = _a.sizeProps;
|
|
344
|
+
var finalLabelColor = typographyColorToSxColor(item.type === 'divider' ? item.dividerColor || dividerColor : item.labelColor || labelColor);
|
|
345
|
+
var finalLabelSx = combineSx(labelSx, item.labelSx, !!finalLabelColor && { color: finalLabelColor });
|
|
346
|
+
var finalValueSx = combineSx(valueSx, item.valueSx);
|
|
347
|
+
var valueUnderlineStyle = valueUnderline
|
|
348
|
+
? { borderBottom: '1px solid #efefef', paddingBottom: 5 }
|
|
349
|
+
: undefined;
|
|
350
|
+
return item.type === 'divider' ? (React__default.createElement(Grid, { key: idx, size: { xs: 12 } },
|
|
351
|
+
React__default.createElement(Stack, { direction: 'row', spacing: 0.5, alignItems: 'center' },
|
|
352
|
+
item.icon && (React__default.createElement(PIcon, { sx: { color: item.dividerColor || dividerColor }, size: 'small' }, item.icon)),
|
|
353
|
+
item.label && (React__default.createElement(Label, { className: classNames(labelClassName, item.labelClassName), style: __assign$2(__assign$2({}, item.labelStyle), labelStyle), sx: finalLabelSx }, item.label)),
|
|
354
|
+
item.dividerLine && (React__default.createElement(React__default.Fragment, null, item.icon || item.label ? (React__default.createElement("div", { style: { flex: 1, paddingLeft: 5 } },
|
|
355
|
+
React__default.createElement(Line, null))) : (React__default.createElement(Line, null))))))) : (React__default.createElement(Grid, { key: idx, size: sizeProps, className: item.className, style: item.style, sx: item.sx },
|
|
356
|
+
React__default.createElement(Stack, { direction: 'row', spacing: 0.5, alignItems: 'center' },
|
|
357
|
+
item.icon && (React__default.createElement(PIcon, { sx: { color: finalLabelColor }, size: 'small' }, "CalendarMonth")),
|
|
358
|
+
React__default.createElement(Label, { className: classNames(labelClassName, item.labelClassName), style: __assign$2(__assign$2({}, item.labelStyle), labelStyle), sx: finalLabelSx }, item.label)),
|
|
359
|
+
React__default.createElement(ValueWrap, { className: classNames(valueClassName, item.valueClassName), style: __assign$2(__assign$2(__assign$2({}, valueStyle), item.valueStyle), valueUnderlineStyle), sx: finalValueSx },
|
|
360
|
+
item.ellipsis || ellipsis ? React__default.createElement(ValueEllipsis, null, data) : React__default.createElement(Value, null, data),
|
|
361
|
+
item.clipboard && notEmpty(copyToClipboardText) && (React__default.createElement(ValueClipboard, null,
|
|
362
|
+
React__default.createElement(PCopyToClipboard, { text: copyToClipboardText, onCopy: onCopyToClipboard ? function () { return onCopyToClipboard(item, copyToClipboardText); } : undefined },
|
|
363
|
+
React__default.createElement(ClipboardIconButton, __assign$2({ size: 'small', color: 'primary' }, item.clipboardProps),
|
|
364
|
+
React__default.createElement(PIcon, null, item.clipboardIcon || 'ContentPaste'))))))));
|
|
365
|
+
});
|
|
366
|
+
}, [
|
|
367
|
+
dividerColor,
|
|
368
|
+
ellipsis,
|
|
369
|
+
labelClassName,
|
|
370
|
+
labelColor,
|
|
371
|
+
labelStyle,
|
|
372
|
+
labelSx,
|
|
373
|
+
onCopyToClipboard,
|
|
374
|
+
renderItems,
|
|
375
|
+
valueClassName,
|
|
376
|
+
valueStyle,
|
|
377
|
+
valueSx,
|
|
378
|
+
valueUnderline,
|
|
379
|
+
]);
|
|
380
|
+
/********************************************************************************************************************
|
|
381
|
+
* Render
|
|
382
|
+
* ******************************************************************************************************************/
|
|
383
|
+
return (React__default.createElement(Grid, { container: true, spacing: spacing, columnSpacing: columnSpacing, rowSpacing: rowSpacing, className: classNames('PInfoTable', className), style: style, sx: sx }, content));
|
|
384
|
+
};/**
|
|
142
385
|
* Checks if `value` is the
|
|
143
386
|
* [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
|
|
144
387
|
* of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
|
|
@@ -1019,42 +1262,8 @@ function useResizeDetector({ skipOnMount = false, refreshMode, refreshRate = 100
|
|
|
1019
1262
|
},
|
|
1020
1263
|
});
|
|
1021
1264
|
});
|
|
1022
|
-
var StyledNoDataDiv = styled('div')(templateObject_1$
|
|
1023
|
-
var templateObject_1$
|
|
1024
|
-
switch (column.type) {
|
|
1025
|
-
case 'number':
|
|
1026
|
-
return column.align ? column.align : 'right';
|
|
1027
|
-
default:
|
|
1028
|
-
return column.align || defaultAlign;
|
|
1029
|
-
}
|
|
1030
|
-
}
|
|
1031
|
-
function combineSx() {
|
|
1032
|
-
var sx = [];
|
|
1033
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
1034
|
-
sx[_i] = arguments[_i];
|
|
1035
|
-
}
|
|
1036
|
-
var finalSx = [];
|
|
1037
|
-
if (Array.isArray(finalSx)) {
|
|
1038
|
-
sx.forEach(function (v) { return v && finalSx.push.apply(finalSx, (Array.isArray(v) ? v : [v])); });
|
|
1039
|
-
}
|
|
1040
|
-
return finalSx;
|
|
1041
|
-
}
|
|
1042
|
-
function typographyColorToSxColor(color) {
|
|
1043
|
-
if (typeof color === 'string') {
|
|
1044
|
-
if (['primary', 'secondary', 'info', 'warning', 'error'].includes(color)) {
|
|
1045
|
-
return "".concat(color, ".main");
|
|
1046
|
-
}
|
|
1047
|
-
else if (color === 'text') {
|
|
1048
|
-
return 'text.primary';
|
|
1049
|
-
}
|
|
1050
|
-
else {
|
|
1051
|
-
return color;
|
|
1052
|
-
}
|
|
1053
|
-
}
|
|
1054
|
-
else {
|
|
1055
|
-
return color;
|
|
1056
|
-
}
|
|
1057
|
-
}var PTableContextDefaultValue = {
|
|
1265
|
+
var StyledNoDataDiv = styled('div')(templateObject_1$3 || (templateObject_1$3 = __makeTemplateObject(["\n text-align: center;\n padding: 30px 0;\n font-weight: 500;\n font-size: 13px;\n color: #94a0b2;\n opacity: 0.8;\n\n .material-icons {\n font-size: 40px;\n margin-bottom: 5px;\n }\n"], ["\n text-align: center;\n padding: 30px 0;\n font-weight: 500;\n font-size: 13px;\n color: #94a0b2;\n opacity: 0.8;\n\n .material-icons {\n font-size: 40px;\n margin-bottom: 5px;\n }\n"])));
|
|
1266
|
+
var templateObject_1$3;var PTableContextDefaultValue = {
|
|
1058
1267
|
menuOpen: false,
|
|
1059
1268
|
openMenuId: undefined,
|
|
1060
1269
|
setMenuOpen: function () { },
|
|
@@ -1069,7 +1278,7 @@ function typographyColorToSxColor(color) {
|
|
|
1069
1278
|
throw new Error('useFormState should be used within TableContext.Provider');
|
|
1070
1279
|
}
|
|
1071
1280
|
return value;
|
|
1072
|
-
}var StyledTableCell = styled(TableCell)(templateObject_1$
|
|
1281
|
+
}var StyledTableCell = styled(TableCell)(templateObject_1$2 || (templateObject_1$2 = __makeTemplateObject(["\n &.ellipsis {\n position: relative;\n max-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n"], ["\n &.ellipsis {\n position: relative;\n max-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n"])));
|
|
1073
1282
|
var PTableCommonCell = React__default.forwardRef(function (_a, ref) {
|
|
1074
1283
|
/********************************************************************************************************************
|
|
1075
1284
|
* Use
|
|
@@ -1226,7 +1435,7 @@ var PTableCommonCell = React__default.forwardRef(function (_a, ref) {
|
|
|
1226
1435
|
* ******************************************************************************************************************/
|
|
1227
1436
|
return (React__default.createElement(StyledTableCell, { ref: ref, align: align, className: classNames(className, 'PTableCommonCell', ellipsis && 'ellipsis', column.type ? "column-type-".concat(column.type) : false), style: style, sx: sx, onClick: type === 'body' ? handleClick : undefined }, children));
|
|
1228
1437
|
});
|
|
1229
|
-
var templateObject_1$
|
|
1438
|
+
var templateObject_1$2;var PTableFooterCell = function (_a) {
|
|
1230
1439
|
/********************************************************************************************************************
|
|
1231
1440
|
* Memo
|
|
1232
1441
|
* ******************************************************************************************************************/
|
|
@@ -1340,7 +1549,7 @@ var templateObject_1$3;var PTableFooterCell = function (_a) {
|
|
|
1340
1549
|
* Render
|
|
1341
1550
|
* ******************************************************************************************************************/
|
|
1342
1551
|
return (React__default.createElement(PTableCommonCell, { type: 'head', className: 'PTableHeadCell', style: top !== undefined ? { top: top } : undefined, column: column, defaultAlign: defaultAlign }, data));
|
|
1343
|
-
};var BottomLine = styled('div')(templateObject_1$
|
|
1552
|
+
};var BottomLine = styled('div')(templateObject_1$1 || (templateObject_1$1 = __makeTemplateObject(["\n height: 1px;\n position: absolute;\n left: 3px;\n right: 3px;\n bottom: 0;\n"], ["\n height: 1px;\n position: absolute;\n left: 3px;\n right: 3px;\n bottom: 0;\n"])));
|
|
1344
1553
|
var PTableTopHead = function (_a) {
|
|
1345
1554
|
/********************************************************************************************************************
|
|
1346
1555
|
* Use
|
|
@@ -1439,7 +1648,7 @@ var PTableTopHead = function (_a) {
|
|
|
1439
1648
|
columnRow));
|
|
1440
1649
|
}
|
|
1441
1650
|
};
|
|
1442
|
-
var templateObject_1$
|
|
1651
|
+
var templateObject_1$1;/**
|
|
1443
1652
|
* Checks if `value` is the
|
|
1444
1653
|
* [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
|
|
1445
1654
|
* of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
|
|
@@ -3046,19 +3255,7 @@ SimpleBar.displayName = 'SimpleBar';var makeSortableItems = function (items) {
|
|
|
3046
3255
|
}
|
|
3047
3256
|
|
|
3048
3257
|
}
|
|
3049
|
-
});var
|
|
3050
|
-
|
|
3051
|
-
var hasRequiredDayjs_min;
|
|
3052
|
-
|
|
3053
|
-
function requireDayjs_min () {
|
|
3054
|
-
if (hasRequiredDayjs_min) return dayjs_min$1.exports;
|
|
3055
|
-
hasRequiredDayjs_min = 1;
|
|
3056
|
-
(function (module, exports) {
|
|
3057
|
-
!function(t,e){module.exports=e();}(dayjs_min,(function(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",c="month",f="quarter",h="year",d="date",l="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return "["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},m=function(t,e,n){var r=String(t);return !r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return (e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()<n.date())return -t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return +(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return {M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},g="en",D={};D[g]=M;var p="$isDayjsObject",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if("string"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split("-");if(!i&&u.length>1)return t(u[0])}else {var a=e.name;D[a]=e,i=a;}return !r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,true),this.parse(t),this.$x=this.$x||t.x||{},this[p]=true;}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init();},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds();},m.$utils=function(){return b},m.isValid=function(){return !(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate("s"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v="set"+(this.$u?"UTC":"");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+"Hours",0);case u:return $(v+"Minutes",1);case s:return $(v+"Seconds",2);case i:return $(v+"Milliseconds",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,false)},m.$set=function(t,e){var n,o=b.p(t),f="set"+(this.$u?"UTC":""),l=(n={},n[a]=f+"Date",n[d]=f+"Date",n[c]=f+"Month",n[h]=f+"FullYear",n[u]=f+"Hours",n[s]=f+"Minutes",n[i]=f+"Seconds",n[r]=f+"Milliseconds",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d;}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||"YYYY-MM-DDTHH:mm:ssZ",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,"0")},$=f||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case "YY":return String(e.$y).slice(-2);case "YYYY":return b.s(e.$y,4,"0");case "M":return a+1;case "MM":return b.s(a+1,2,"0");case "MMM":return h(n.monthsShort,a,c,3);case "MMMM":return h(c,a);case "D":return e.$D;case "DD":return b.s(e.$D,2,"0");case "d":return String(e.$W);case "dd":return h(n.weekdaysMin,e.$W,o,2);case "ddd":return h(n.weekdaysShort,e.$W,o,3);case "dddd":return o[e.$W];case "H":return String(s);case "HH":return b.s(s,2,"0");case "h":return d(1);case "hh":return d(2);case "a":return $(s,u,true);case "A":return $(s,u,false);case "m":return String(u);case "mm":return b.s(u,2,"0");case "s":return String(e.$s);case "ss":return b.s(e.$s,2,"0");case "SSS":return b.s(e.$ms,3,"0");case "Z":return i}return null}(t)||i.replace(":","")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g;}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,true);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[["$ms",r],["$s",i],["$m",s],["$H",u],["$W",a],["$M",c],["$y",h],["$D",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])};})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=true),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));
|
|
3058
|
-
} (dayjs_min$1));
|
|
3059
|
-
return dayjs_min$1.exports;
|
|
3060
|
-
}var dayjs_minExports = requireDayjs_min();
|
|
3061
|
-
var dayjs = /*@__PURE__*/getDefaultExportFromCjs(dayjs_minExports);var StyledButtonsBox = styled(Box)(templateObject_1$1 || (templateObject_1$1 = __makeTemplateObject(["\n display: flex;\n flex-wrap: wrap;\n gap: 5px;\n"], ["\n display: flex;\n flex-wrap: wrap;\n gap: 5px;\n"])));
|
|
3258
|
+
});var StyledButtonsBox = styled(Box)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n flex-wrap: wrap;\n gap: 5px;\n"], ["\n display: flex;\n flex-wrap: wrap;\n gap: 5px;\n"])));
|
|
3062
3259
|
var PTableBodyCell = React__default.forwardRef(function (_a, ref) {
|
|
3063
3260
|
/********************************************************************************************************************
|
|
3064
3261
|
* Use
|
|
@@ -3250,7 +3447,7 @@ var PTableBodyCell = React__default.forwardRef(function (_a, ref) {
|
|
|
3250
3447
|
* ******************************************************************************************************************/
|
|
3251
3448
|
return (React__default.createElement(PTableCommonCell, { ref: ref, type: 'body', className: classNames('PTableBodyCell', className), style: style, sx: sx, column: column, defaultAlign: defaultAlign, defaultEllipsis: defaultEllipsis, item: item, index: index, onClick: column.onClick || onClick ? handleClick : undefined }, !isHidden && data));
|
|
3252
3449
|
});
|
|
3253
|
-
var templateObject_1
|
|
3450
|
+
var templateObject_1;var PStyledBodyRow = styled(TableRow)(function (_a) {
|
|
3254
3451
|
var theme = _a.theme;
|
|
3255
3452
|
return ({
|
|
3256
3453
|
'&.odd-color:nth-of-type(odd):not(:hover)': {
|
|
@@ -4513,201 +4710,4 @@ var PTableButton$1 = React__default.memo(PTableButton);var PTableMenuButton = Re
|
|
|
4513
4710
|
React__default.createElement(Paper, null,
|
|
4514
4711
|
React__default.createElement(ClickAwayListener, { onClickAway: handleClose }, finalMenuList))));
|
|
4515
4712
|
})));
|
|
4516
|
-
});
|
|
4517
|
-
var ValueWrap = styled(Box)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n margin-top: 3px;\n position: relative;\n display: flex;\n flex-direction: row;\n"], ["\n margin-top: 3px;\n position: relative;\n display: flex;\n flex-direction: row;\n"])));
|
|
4518
|
-
var Value = styled('div')(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n flex: 1;\n"], ["\n flex: 1;\n"])));
|
|
4519
|
-
var ValueEllipsis = styled('div')(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n flex: 1;\n position: relative;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"], ["\n flex: 1;\n position: relative;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
|
|
4520
|
-
var ValueClipboard = styled('div')(templateObject_5 || (templateObject_5 = __makeTemplateObject([""], [""])));
|
|
4521
|
-
var ClipboardIconButton = styled(IconButton)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n margin-top: -10px;\n margin-bottom: -10px;\n"], ["\n margin-top: -10px;\n margin-bottom: -10px;\n"])));
|
|
4522
|
-
var Line = styled('div')(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n border-top: 1px solid #efefef;\n height: 1px;\n flex: 1;\n"], ["\n border-top: 1px solid #efefef;\n height: 1px;\n flex: 1;\n"])));
|
|
4523
|
-
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;var PInfoTable = function (_a) {
|
|
4524
|
-
/********************************************************************************************************************
|
|
4525
|
-
* Memo
|
|
4526
|
-
* ******************************************************************************************************************/
|
|
4527
|
-
var cols = _a.cols, _b = _a.spacing, spacing = _b === void 0 ? 2 : _b, columnSpacing = _a.columnSpacing, _c = _a.rowSpacing, rowSpacing = _c === void 0 ? 3 : _c, className = _a.className, style = _a.style, sx = _a.sx, labelClassName = _a.labelClassName, _d = _a.labelColor, labelColor = _d === void 0 ? 'primary' : _d, labelStyle = _a.labelStyle, labelSx = _a.labelSx, _e = _a.dividerColor, dividerColor = _e === void 0 ? 'gray' : _e, valueClassName = _a.valueClassName, valueStyle = _a.valueStyle, valueSx = _a.valueSx, ellipsis = _a.ellipsis, valueUnderline = _a.valueUnderline, info = _a.info, items = _a.items, onCopyToClipboard = _a.onCopyToClipboard;
|
|
4528
|
-
var renderItems = useMemo(function () {
|
|
4529
|
-
return items.filter(function (item) { return !!item && (!item.onHide || !item.onHide(info)); }).map(function (item) {
|
|
4530
|
-
/** data */
|
|
4531
|
-
var data = undefined;
|
|
4532
|
-
if (item.name !== undefined) {
|
|
4533
|
-
if (info[item.name] !== undefined) {
|
|
4534
|
-
if (info[item.name] instanceof Date) {
|
|
4535
|
-
data = dayjs(info[item.name]).format('YYYY-MM-DD HH:mm:ss');
|
|
4536
|
-
}
|
|
4537
|
-
else if (info[item.name] instanceof dayjs) {
|
|
4538
|
-
data = info[item.name].format('YYYY-MM-DD HH:mm:ss');
|
|
4539
|
-
}
|
|
4540
|
-
else {
|
|
4541
|
-
data = info[item.name];
|
|
4542
|
-
}
|
|
4543
|
-
}
|
|
4544
|
-
}
|
|
4545
|
-
if (item.onRender) {
|
|
4546
|
-
data = item.onRender(info);
|
|
4547
|
-
}
|
|
4548
|
-
else if (notEmpty(data)) {
|
|
4549
|
-
switch (item.type) {
|
|
4550
|
-
case 'number':
|
|
4551
|
-
if (typeof data === 'string' || typeof data === 'number') {
|
|
4552
|
-
data = formatNumber(data);
|
|
4553
|
-
if (item.numberPrefix) {
|
|
4554
|
-
data = (React__default.createElement(React__default.Fragment, null,
|
|
4555
|
-
React__default.createElement("span", { style: { opacity: 0.5, marginRight: 2 } }, item.numberPrefix),
|
|
4556
|
-
data));
|
|
4557
|
-
}
|
|
4558
|
-
if (item.numberSuffix) {
|
|
4559
|
-
data = (React__default.createElement(React__default.Fragment, null,
|
|
4560
|
-
data,
|
|
4561
|
-
React__default.createElement("span", { style: { opacity: 0.5, marginLeft: 2 } }, item.numberSuffix)));
|
|
4562
|
-
}
|
|
4563
|
-
}
|
|
4564
|
-
break;
|
|
4565
|
-
case 'tel':
|
|
4566
|
-
if (typeof data === 'string') {
|
|
4567
|
-
data = formatTelNo(data);
|
|
4568
|
-
}
|
|
4569
|
-
break;
|
|
4570
|
-
case 'email':
|
|
4571
|
-
if (typeof data === 'string') {
|
|
4572
|
-
data = (React__default.createElement(React__default.Fragment, null,
|
|
4573
|
-
React__default.createElement("a", { href: "mailto:".concat(data) }, data)));
|
|
4574
|
-
}
|
|
4575
|
-
break;
|
|
4576
|
-
case 'url':
|
|
4577
|
-
if (typeof data === 'string' && data.toLowerCase().startsWith('http')) {
|
|
4578
|
-
data = (React__default.createElement(React__default.Fragment, null,
|
|
4579
|
-
React__default.createElement("a", { href: data, target: '_blank' }, data)));
|
|
4580
|
-
}
|
|
4581
|
-
break;
|
|
4582
|
-
case 'business_no':
|
|
4583
|
-
if (typeof data === 'string') {
|
|
4584
|
-
data = formatBusinessNo(data);
|
|
4585
|
-
}
|
|
4586
|
-
break;
|
|
4587
|
-
case 'personal_no':
|
|
4588
|
-
if (typeof data === 'string') {
|
|
4589
|
-
data = formatPersonalNo(data);
|
|
4590
|
-
}
|
|
4591
|
-
break;
|
|
4592
|
-
case 'date':
|
|
4593
|
-
if (typeof data === 'string' || typeof data === 'number') {
|
|
4594
|
-
data = dayjs(data, item.dateFormat).format('YYYY-MM-DD');
|
|
4595
|
-
}
|
|
4596
|
-
break;
|
|
4597
|
-
case 'datetime':
|
|
4598
|
-
if (typeof data === 'string' || typeof data === 'number') {
|
|
4599
|
-
var dt = dayjs(data, item.dateFormat);
|
|
4600
|
-
data = (React__default.createElement(React__default.Fragment, null,
|
|
4601
|
-
React__default.createElement("span", null, dt.format('YYYY-MM-DD')),
|
|
4602
|
-
item.dateTwoLine ? React__default.createElement("br", null) : ' ',
|
|
4603
|
-
React__default.createElement("span", { style: { opacity: 0.5 } }, dt.format('HH:mm:ss'))));
|
|
4604
|
-
}
|
|
4605
|
-
break;
|
|
4606
|
-
case 'date-hour':
|
|
4607
|
-
if (typeof data === 'string' || typeof data === 'number') {
|
|
4608
|
-
var dt = dayjs(data, item.dateFormat);
|
|
4609
|
-
data = (React__default.createElement(React__default.Fragment, null,
|
|
4610
|
-
React__default.createElement("span", null, dt.format('YYYY-MM-DD')),
|
|
4611
|
-
item.dateTwoLine ? React__default.createElement("br", null) : ' ',
|
|
4612
|
-
React__default.createElement("span", { style: { opacity: 0.5 } }, dt.format('HH시'))));
|
|
4613
|
-
}
|
|
4614
|
-
break;
|
|
4615
|
-
case 'date-minute':
|
|
4616
|
-
if (typeof data === 'string' || typeof data === 'number') {
|
|
4617
|
-
var dt = dayjs(data, item.dateFormat);
|
|
4618
|
-
data = (React__default.createElement(React__default.Fragment, null,
|
|
4619
|
-
React__default.createElement("span", null, dt.format('YYYY-MM-DD')),
|
|
4620
|
-
item.dateTwoLine ? React__default.createElement("br", null) : ' ',
|
|
4621
|
-
React__default.createElement("span", { style: { opacity: 0.5 } }, dt.format('HH시 MM분'))));
|
|
4622
|
-
}
|
|
4623
|
-
break;
|
|
4624
|
-
}
|
|
4625
|
-
}
|
|
4626
|
-
if (empty(data))
|
|
4627
|
-
data = item.onRenderEmpty ? item.onRenderEmpty(info) : React__default.createElement(React__default.Fragment, null, "\u00A0");
|
|
4628
|
-
/** copyToClipboardText */
|
|
4629
|
-
var copyToClipboardText = item.clipboardText || (typeof data === 'string' ? data : typeof data === 'number' ? data.toString() : '');
|
|
4630
|
-
/** sizeProps */
|
|
4631
|
-
var sizeProps = {};
|
|
4632
|
-
if (typeof cols === 'number') {
|
|
4633
|
-
sizeProps.xs = 12 / cols;
|
|
4634
|
-
}
|
|
4635
|
-
else {
|
|
4636
|
-
if (cols.xs)
|
|
4637
|
-
sizeProps.xs = 12 / cols.xs;
|
|
4638
|
-
if (cols.sm)
|
|
4639
|
-
sizeProps.sm = 12 / cols.sm;
|
|
4640
|
-
if (cols.md)
|
|
4641
|
-
sizeProps.md = 12 / cols.md;
|
|
4642
|
-
if (cols.lg)
|
|
4643
|
-
sizeProps.lg = 12 / cols.lg;
|
|
4644
|
-
if (cols.xl)
|
|
4645
|
-
sizeProps.xl = 12 / cols.xl;
|
|
4646
|
-
}
|
|
4647
|
-
if (item.xs)
|
|
4648
|
-
sizeProps.xs = item.xs;
|
|
4649
|
-
if (item.sm)
|
|
4650
|
-
sizeProps.sm = item.sm;
|
|
4651
|
-
if (item.md)
|
|
4652
|
-
sizeProps.md = item.md;
|
|
4653
|
-
if (item.lg)
|
|
4654
|
-
sizeProps.lg = item.lg;
|
|
4655
|
-
if (item.xl)
|
|
4656
|
-
sizeProps.xl = item.xl;
|
|
4657
|
-
if (item.onXs)
|
|
4658
|
-
sizeProps.xs = item.onXs(info);
|
|
4659
|
-
if (item.onSm)
|
|
4660
|
-
sizeProps.sm = item.onSm(info);
|
|
4661
|
-
if (item.onMd)
|
|
4662
|
-
sizeProps.md = item.onMd(info);
|
|
4663
|
-
if (item.onLg)
|
|
4664
|
-
sizeProps.lg = item.onLg(info);
|
|
4665
|
-
if (item.onXl)
|
|
4666
|
-
sizeProps.xl = item.onXl(info);
|
|
4667
|
-
return { item: item, data: data, copyToClipboardText: copyToClipboardText, sizeProps: sizeProps };
|
|
4668
|
-
});
|
|
4669
|
-
}, [info, items, cols]);
|
|
4670
|
-
var content = useMemo(function () {
|
|
4671
|
-
return renderItems.map(function (_a, idx) {
|
|
4672
|
-
var item = _a.item, data = _a.data, copyToClipboardText = _a.copyToClipboardText, sizeProps = _a.sizeProps;
|
|
4673
|
-
var finalLabelColor = typographyColorToSxColor(item.type === 'divider' ? item.dividerColor || dividerColor : item.labelColor || labelColor);
|
|
4674
|
-
var finalLabelSx = combineSx(labelSx, item.labelSx, !!finalLabelColor && { color: finalLabelColor });
|
|
4675
|
-
var finalValueSx = combineSx(valueSx, item.valueSx);
|
|
4676
|
-
var valueUnderlineStyle = valueUnderline
|
|
4677
|
-
? { borderBottom: '1px solid #efefef', paddingBottom: 5 }
|
|
4678
|
-
: undefined;
|
|
4679
|
-
return item.type === 'divider' ? (React__default.createElement(Grid, { key: idx, size: { xs: 12 } },
|
|
4680
|
-
React__default.createElement(Stack, { direction: 'row', spacing: 0.5, alignItems: 'center' },
|
|
4681
|
-
item.icon && (React__default.createElement(PIcon, { sx: { color: item.dividerColor || dividerColor }, size: 'small' }, item.icon)),
|
|
4682
|
-
item.label && (React__default.createElement(Label, { className: classNames(labelClassName, item.labelClassName), style: __assign$2(__assign$2({}, item.labelStyle), labelStyle), sx: finalLabelSx }, item.label)),
|
|
4683
|
-
item.dividerLine && (React__default.createElement(React__default.Fragment, null, item.icon || item.label ? (React__default.createElement("div", { style: { flex: 1, paddingLeft: 5 } },
|
|
4684
|
-
React__default.createElement(Line, null))) : (React__default.createElement(Line, null))))))) : (React__default.createElement(Grid, { key: idx, size: sizeProps, className: item.className, style: item.style, sx: item.sx },
|
|
4685
|
-
React__default.createElement(Stack, { direction: 'row', spacing: 0.5, alignItems: 'center' },
|
|
4686
|
-
item.icon && (React__default.createElement(PIcon, { sx: { color: finalLabelColor }, size: 'small' }, "CalendarMonth")),
|
|
4687
|
-
React__default.createElement(Label, { className: classNames(labelClassName, item.labelClassName), style: __assign$2(__assign$2({}, item.labelStyle), labelStyle), sx: finalLabelSx }, item.label)),
|
|
4688
|
-
React__default.createElement(ValueWrap, { className: classNames(valueClassName, item.valueClassName), style: __assign$2(__assign$2(__assign$2({}, valueStyle), item.valueStyle), valueUnderlineStyle), sx: finalValueSx },
|
|
4689
|
-
item.ellipsis || ellipsis ? React__default.createElement(ValueEllipsis, null, data) : React__default.createElement(Value, null, data),
|
|
4690
|
-
item.clipboard && notEmpty(copyToClipboardText) && (React__default.createElement(ValueClipboard, null,
|
|
4691
|
-
React__default.createElement(PCopyToClipboard, { text: copyToClipboardText, onCopy: onCopyToClipboard ? function () { return onCopyToClipboard(item, copyToClipboardText); } : undefined },
|
|
4692
|
-
React__default.createElement(ClipboardIconButton, __assign$2({ size: 'small', color: 'primary' }, item.clipboardProps),
|
|
4693
|
-
React__default.createElement(PIcon, null, item.clipboardIcon || 'ContentPaste'))))))));
|
|
4694
|
-
});
|
|
4695
|
-
}, [
|
|
4696
|
-
dividerColor,
|
|
4697
|
-
ellipsis,
|
|
4698
|
-
labelClassName,
|
|
4699
|
-
labelColor,
|
|
4700
|
-
labelStyle,
|
|
4701
|
-
labelSx,
|
|
4702
|
-
onCopyToClipboard,
|
|
4703
|
-
renderItems,
|
|
4704
|
-
valueClassName,
|
|
4705
|
-
valueStyle,
|
|
4706
|
-
valueSx,
|
|
4707
|
-
valueUnderline,
|
|
4708
|
-
]);
|
|
4709
|
-
/********************************************************************************************************************
|
|
4710
|
-
* Render
|
|
4711
|
-
* ******************************************************************************************************************/
|
|
4712
|
-
return (React__default.createElement(Grid, { container: true, spacing: spacing, columnSpacing: columnSpacing, rowSpacing: rowSpacing, className: classNames('PInfoTable', className), style: style, sx: sx }, content));
|
|
4713
|
-
};export{PInfoTable,PSearchTable,PTable,PTableButton$1 as PTableButton,PTableMenuButton};
|
|
4713
|
+
});export{PInfoTable,PSearchTable,PTable,PTableBodyCell,PTableBodyRow,PTableButton$1 as PTableButton,PTableCommonCell,PTableFooterCell,PTableHeadCell,PTableMenuButton,PTablePagination,PTableSortableBody,PTableSortableBodyBlock,PTableTopHead};
|