@anoki/fse-ui 1.0.0-beta1.48.17 → 1.0.0-beta1.48.18
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.cjs247.js +1 -1
- package/dist/index.cjs254.js +1 -1
- package/dist/index.cjs292.js +1 -1
- package/dist/index.cjs297.js +1 -1
- package/dist/index.cjs305.js +1 -1
- package/dist/index.cjs32.js +1 -1
- package/dist/index.cjs323.js +1 -1
- package/dist/index.cjs33.js +1 -1
- package/dist/index.cjs354.js +1 -1
- package/dist/index.cjs395.js +1 -1
- package/dist/index.cjs401.js +1 -1
- package/dist/index.cjs443.js +1 -1
- package/dist/index.cjs453.js +1 -1
- package/dist/index.cjs454.js +1 -1
- package/dist/index.cjs455.js +27 -1
- package/dist/index.cjs455.js.map +1 -1
- package/dist/index.cjs456.js +1 -2
- package/dist/index.cjs456.js.map +1 -1
- package/dist/index.cjs457.js +1 -27
- package/dist/index.cjs457.js.map +1 -1
- package/dist/index.cjs458.js +1 -1
- package/dist/index.cjs458.js.map +1 -1
- package/dist/index.cjs459.js +2 -1
- package/dist/index.cjs459.js.map +1 -1
- package/dist/index.cjs464.js +1 -1
- package/dist/index.cjs464.js.map +1 -1
- package/dist/index.cjs465.js +2 -0
- package/dist/index.cjs465.js.map +1 -0
- package/dist/index.cjs466.js +2 -0
- package/dist/index.cjs466.js.map +1 -0
- package/dist/index.cjs467.js +1 -1
- package/dist/index.cjs467.js.map +1 -1
- package/dist/index.cjs468.js +1 -1
- package/dist/index.cjs468.js.map +1 -1
- package/dist/index.cjs469.js +1 -1
- package/dist/index.cjs469.js.map +1 -1
- package/dist/index.cjs470.js +1 -1
- package/dist/index.cjs470.js.map +1 -1
- package/dist/index.cjs471.js +1 -1
- package/dist/index.cjs472.js +1 -1
- package/dist/index.cjs472.js.map +1 -1
- package/dist/index.cjs475.js +1 -1
- package/dist/index.cjs475.js.map +1 -1
- package/dist/index.cjs476.js +1 -1
- package/dist/index.cjs476.js.map +1 -1
- package/dist/index.cjs487.js +1 -1
- package/dist/index.cjs487.js.map +1 -1
- package/dist/index.cjs488.js +1 -1
- package/dist/index.cjs488.js.map +1 -1
- package/dist/index.cjs489.js +1 -1
- package/dist/index.cjs489.js.map +1 -1
- package/dist/{index.cjs486.js → index.cjs490.js} +1 -1
- package/dist/{index.cjs486.js.map → index.cjs490.js.map} +1 -1
- package/dist/index.cjs491.js +2 -0
- package/dist/index.cjs491.js.map +1 -0
- package/dist/index.cjs492.js +2 -0
- package/dist/index.cjs492.js.map +1 -0
- package/dist/index.cjs493.js +2 -0
- package/dist/index.cjs493.js.map +1 -0
- package/dist/index.cjs507.js +2 -0
- package/dist/index.cjs507.js.map +1 -0
- package/dist/index.cjs508.js +1 -1
- package/dist/index.cjs508.js.map +1 -1
- package/dist/index.cjs514.js +2 -0
- package/dist/index.cjs514.js.map +1 -0
- package/dist/{index.cjs512.js → index.cjs515.js} +1 -1
- package/dist/index.cjs515.js.map +1 -0
- package/dist/index.cjs516.js +1 -1
- package/dist/index.cjs516.js.map +1 -1
- package/dist/index.cjs522.js +1 -1
- package/dist/index.cjs522.js.map +1 -1
- package/dist/index.cjs523.js +1 -1
- package/dist/index.cjs523.js.map +1 -1
- package/dist/index.cjs524.js +1 -1
- package/dist/index.cjs524.js.map +1 -1
- package/dist/index.cjs525.js +1 -1
- package/dist/index.cjs525.js.map +1 -1
- package/dist/index.cjs526.js +1 -1
- package/dist/index.cjs526.js.map +1 -1
- package/dist/index.cjs529.js +1 -1
- package/dist/index.cjs529.js.map +1 -1
- package/dist/index.cjs530.js +1 -1
- package/dist/index.cjs530.js.map +1 -1
- package/dist/index.cjs531.js +1 -1
- package/dist/index.cjs531.js.map +1 -1
- package/dist/index.cjs532.js +1 -1
- package/dist/index.cjs532.js.map +1 -1
- package/dist/index.cjs533.js +1 -1
- package/dist/index.cjs533.js.map +1 -1
- package/dist/index.cjs534.js +1 -1
- package/dist/index.cjs534.js.map +1 -1
- package/dist/index.cjs535.js +1 -1
- package/dist/index.cjs536.js +1 -1
- package/dist/index.cjs537.js +1 -1
- package/dist/index.cjs540.js +1 -1
- package/dist/index.cjs542.js +1 -1
- package/dist/index.cjs545.js +1 -1
- package/dist/index.cjs546.js +1 -1
- package/dist/index.cjs547.js +1 -1
- package/dist/index.cjs554.js +1 -1
- package/dist/index.cjs559.js +1 -1
- package/dist/index.cjs565.js +1 -1
- package/dist/index.cjs566.js +1 -1
- package/dist/index.cjs570.js +1 -1
- package/dist/index.cjs570.js.map +1 -1
- package/dist/index.cjs571.js +1 -1
- package/dist/index.cjs571.js.map +1 -1
- package/dist/index.cjs572.js +1 -1
- package/dist/index.cjs572.js.map +1 -1
- package/dist/index.cjs573.js +1 -1
- package/dist/index.cjs573.js.map +1 -1
- package/dist/index.cjs574.js +1 -1
- package/dist/index.cjs574.js.map +1 -1
- package/dist/index.cjs580.js +1 -1
- package/dist/index.cjs581.js +1 -1
- package/dist/index.cjs584.js +1 -1
- package/dist/index.cjs585.js +1 -1
- package/dist/index.cjs585.js.map +1 -1
- package/dist/index.cjs586.js +1 -1
- package/dist/index.cjs586.js.map +1 -1
- package/dist/index.cjs587.js +1 -1
- package/dist/index.cjs587.js.map +1 -1
- package/dist/index.cjs588.js +1 -1
- package/dist/index.cjs588.js.map +1 -1
- package/dist/index.cjs593.js +1 -1
- package/dist/index.cjs593.js.map +1 -1
- package/dist/index.cjs594.js +1 -1
- package/dist/index.cjs594.js.map +1 -1
- package/dist/index.cjs595.js +1 -1
- package/dist/index.cjs595.js.map +1 -1
- package/dist/index.cjs596.js +1 -1
- package/dist/index.cjs596.js.map +1 -1
- package/dist/index.cjs73.js +1 -1
- package/dist/index.cjs73.js.map +1 -1
- package/dist/index.cjs74.js +1 -1
- package/dist/index.cjs74.js.map +1 -1
- package/dist/index.es247.js +1 -1
- package/dist/index.es254.js +2 -2
- package/dist/index.es292.js +6 -6
- package/dist/index.es297.js +1 -1
- package/dist/index.es305.js +7 -7
- package/dist/index.es32.js +1 -1
- package/dist/index.es323.js +13 -13
- package/dist/index.es33.js +1 -1
- package/dist/index.es354.js +6 -6
- package/dist/index.es395.js +4 -4
- package/dist/index.es401.js +1 -1
- package/dist/index.es443.js +1 -1
- package/dist/index.es453.js +1 -1
- package/dist/index.es454.js +1 -1
- package/dist/index.es455.js +3674 -5
- package/dist/index.es455.js.map +1 -1
- package/dist/index.es456.js +5 -520
- package/dist/index.es456.js.map +1 -1
- package/dist/index.es457.js +2 -3675
- package/dist/index.es457.js.map +1 -1
- package/dist/index.es458.js +5 -5
- package/dist/index.es458.js.map +1 -1
- package/dist/index.es459.js +521 -2
- package/dist/index.es459.js.map +1 -1
- package/dist/index.es464.js +27 -15
- package/dist/index.es464.js.map +1 -1
- package/dist/index.es465.js +71 -0
- package/dist/index.es465.js.map +1 -0
- package/dist/index.es466.js +10 -0
- package/dist/index.es466.js.map +1 -0
- package/dist/index.es467.js +29 -6
- package/dist/index.es467.js.map +1 -1
- package/dist/index.es468.js +5 -26
- package/dist/index.es468.js.map +1 -1
- package/dist/index.es469.js +24 -67
- package/dist/index.es469.js.map +1 -1
- package/dist/index.es470.js +66 -27
- package/dist/index.es470.js.map +1 -1
- package/dist/index.es471.js +1 -1
- package/dist/index.es472.js +13 -620
- package/dist/index.es472.js.map +1 -1
- package/dist/index.es475.js +621 -24
- package/dist/index.es475.js.map +1 -1
- package/dist/index.es476.js +10 -68
- package/dist/index.es476.js.map +1 -1
- package/dist/index.es487.js +124 -8
- package/dist/index.es487.js.map +1 -1
- package/dist/index.es488.js +133 -48
- package/dist/index.es488.js.map +1 -1
- package/dist/index.es489.js +14 -56
- package/dist/index.es489.js.map +1 -1
- package/dist/{index.es486.js → index.es490.js} +1 -1
- package/dist/{index.es486.js.map → index.es490.js.map} +1 -1
- package/dist/index.es491.js +12 -0
- package/dist/index.es491.js.map +1 -0
- package/dist/index.es492.js +53 -0
- package/dist/index.es492.js.map +1 -0
- package/dist/index.es493.js +59 -0
- package/dist/index.es493.js.map +1 -0
- package/dist/index.es507.js +77 -0
- package/dist/index.es507.js.map +1 -0
- package/dist/index.es508.js +2 -74
- package/dist/index.es508.js.map +1 -1
- package/dist/index.es514.js +8 -0
- package/dist/index.es514.js.map +1 -0
- package/dist/{index.es512.js → index.es515.js} +1 -1
- package/dist/index.es515.js.map +1 -0
- package/dist/index.es516.js +2 -5
- package/dist/index.es516.js.map +1 -1
- package/dist/index.es522.js +4 -46
- package/dist/index.es522.js.map +1 -1
- package/dist/index.es523.js +45 -13
- package/dist/index.es523.js.map +1 -1
- package/dist/index.es524.js +12 -216
- package/dist/index.es524.js.map +1 -1
- package/dist/index.es525.js +203 -163
- package/dist/index.es525.js.map +1 -1
- package/dist/index.es526.js +177 -3
- package/dist/index.es526.js.map +1 -1
- package/dist/index.es529.js +202 -22
- package/dist/index.es529.js.map +1 -1
- package/dist/index.es530.js +20 -27
- package/dist/index.es530.js.map +1 -1
- package/dist/index.es531.js +393 -5
- package/dist/index.es531.js.map +1 -1
- package/dist/index.es532.js +22 -202
- package/dist/index.es532.js.map +1 -1
- package/dist/index.es533.js +27 -20
- package/dist/index.es533.js.map +1 -1
- package/dist/index.es534.js +5 -393
- package/dist/index.es534.js.map +1 -1
- package/dist/index.es535.js +1 -1
- package/dist/index.es536.js +1 -1
- package/dist/index.es537.js +3 -3
- package/dist/index.es540.js +3 -3
- package/dist/index.es542.js +1 -1
- package/dist/index.es545.js +2 -2
- package/dist/index.es546.js +2 -2
- package/dist/index.es547.js +14 -14
- package/dist/index.es554.js +7 -7
- package/dist/index.es559.js +7 -7
- package/dist/index.es565.js +1 -1
- package/dist/index.es566.js +1 -1
- package/dist/index.es570.js +2 -6
- package/dist/index.es570.js.map +1 -1
- package/dist/index.es571.js +2 -16
- package/dist/index.es571.js.map +1 -1
- package/dist/index.es572.js +2 -2
- package/dist/index.es572.js.map +1 -1
- package/dist/index.es573.js +6 -2
- package/dist/index.es573.js.map +1 -1
- package/dist/index.es574.js +16 -2
- package/dist/index.es574.js.map +1 -1
- package/dist/index.es580.js +1 -1
- package/dist/index.es581.js +1 -1
- package/dist/index.es584.js +1 -1
- package/dist/index.es585.js +3 -522
- package/dist/index.es585.js.map +1 -1
- package/dist/index.es586.js +509 -113
- package/dist/index.es586.js.map +1 -1
- package/dist/index.es587.js +121 -123
- package/dist/index.es587.js.map +1 -1
- package/dist/index.es588.js +128 -3
- package/dist/index.es588.js.map +1 -1
- package/dist/index.es593.js +11 -21
- package/dist/index.es593.js.map +1 -1
- package/dist/index.es594.js +26 -11
- package/dist/index.es594.js.map +1 -1
- package/dist/index.es595.js +4 -27
- package/dist/index.es595.js.map +1 -1
- package/dist/index.es596.js +22 -4
- package/dist/index.es596.js.map +1 -1
- package/dist/index.es73.js +20 -2
- package/dist/index.es73.js.map +1 -1
- package/dist/index.es74.js +20 -2
- package/dist/index.es74.js.map +1 -1
- package/package.json +1 -1
- package/dist/index.cjs473.js +0 -2
- package/dist/index.cjs473.js.map +0 -1
- package/dist/index.cjs474.js +0 -2
- package/dist/index.cjs474.js.map +0 -1
- package/dist/index.cjs483.js +0 -2
- package/dist/index.cjs483.js.map +0 -1
- package/dist/index.cjs484.js +0 -2
- package/dist/index.cjs484.js.map +0 -1
- package/dist/index.cjs485.js +0 -2
- package/dist/index.cjs485.js.map +0 -1
- package/dist/index.cjs509.js +0 -2
- package/dist/index.cjs509.js.map +0 -1
- package/dist/index.cjs512.js.map +0 -1
- package/dist/index.cjs513.js +0 -2
- package/dist/index.cjs513.js.map +0 -1
- package/dist/index.es473.js +0 -14
- package/dist/index.es473.js.map +0 -1
- package/dist/index.es474.js +0 -9
- package/dist/index.es474.js.map +0 -1
- package/dist/index.es483.js +0 -128
- package/dist/index.es483.js.map +0 -1
- package/dist/index.es484.js +0 -138
- package/dist/index.es484.js.map +0 -1
- package/dist/index.es485.js +0 -17
- package/dist/index.es485.js.map +0 -1
- package/dist/index.es509.js +0 -5
- package/dist/index.es509.js.map +0 -1
- package/dist/index.es512.js.map +0 -1
- package/dist/index.es513.js +0 -5
- package/dist/index.es513.js.map +0 -1
- /package/dist/components/ui/{CardMapDoctorV2/CardMapDoctorV2.css → CardMapDoctor/CardMapDoctor.css} +0 -0
package/dist/index.es593.js
CHANGED
@@ -1,26 +1,16 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
}, f = function(t) {
|
12
|
-
if (t === void 0 && (t = "margin"), typeof window > "u")
|
13
|
-
return a;
|
14
|
-
var n = o(t), i = document.documentElement.clientWidth, r = window.innerWidth;
|
15
|
-
return {
|
16
|
-
left: n[0],
|
17
|
-
top: n[1],
|
18
|
-
right: n[2],
|
19
|
-
gap: Math.max(0, r - i + n[2] - n[0])
|
1
|
+
import * as o from "react";
|
2
|
+
import { stylesheetSingleton as r } from "./index.es594.js";
|
3
|
+
var i = function() {
|
4
|
+
var t = r();
|
5
|
+
return function(e, n) {
|
6
|
+
o.useEffect(function() {
|
7
|
+
return t.add(e), function() {
|
8
|
+
t.remove();
|
9
|
+
};
|
10
|
+
}, [e && n]);
|
20
11
|
};
|
21
12
|
};
|
22
13
|
export {
|
23
|
-
|
24
|
-
a as zeroGap
|
14
|
+
i as styleHookSingleton
|
25
15
|
};
|
26
16
|
//# sourceMappingURL=index.es593.js.map
|
package/dist/index.es593.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.es593.js","sources":["../node_modules/react-
|
1
|
+
{"version":3,"file":"index.es593.js","sources":["../node_modules/react-style-singleton/dist/es2015/hook.js"],"sourcesContent":["import * as React from 'react';\nimport { stylesheetSingleton } from './singleton';\n/**\n * creates a hook to control style singleton\n * @see {@link styleSingleton} for a safer component version\n * @example\n * ```tsx\n * const useStyle = styleHookSingleton();\n * ///\n * useStyle('body { overflow: hidden}');\n */\nexport var styleHookSingleton = function () {\n var sheet = stylesheetSingleton();\n return function (styles, isDynamic) {\n React.useEffect(function () {\n sheet.add(styles);\n return function () {\n sheet.remove();\n };\n }, [styles && isDynamic]);\n };\n};\n"],"names":["styleHookSingleton","sheet","stylesheetSingleton","styles","isDynamic","React"],"mappings":";;AAWU,IAACA,IAAqB,WAAY;AACxC,MAAIC,IAAQC,EAAqB;AACjC,SAAO,SAAUC,GAAQC,GAAW;AAChC,IAAAC,EAAM,UAAU,WAAY;AACxB,aAAAJ,EAAM,IAAIE,CAAM,GACT,WAAY;AACf,QAAAF,EAAM,OAAQ;AAAA,MACjB;AAAA,IACb,GAAW,CAACE,KAAUC,CAAS,CAAC;AAAA,EAC3B;AACL;","x_google_ignoreList":[0]}
|
package/dist/index.es594.js
CHANGED
@@ -1,16 +1,31 @@
|
|
1
|
-
import
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
1
|
+
import { getNonce as o } from "./index.es595.js";
|
2
|
+
function r() {
|
3
|
+
if (!document)
|
4
|
+
return null;
|
5
|
+
var t = document.createElement("style");
|
6
|
+
t.type = "text/css";
|
7
|
+
var e = o();
|
8
|
+
return e && t.setAttribute("nonce", e), t;
|
9
|
+
}
|
10
|
+
function l(t, e) {
|
11
|
+
t.styleSheet ? t.styleSheet.cssText = e : t.appendChild(document.createTextNode(e));
|
12
|
+
}
|
13
|
+
function a(t) {
|
14
|
+
var e = document.head || document.getElementsByTagName("head")[0];
|
15
|
+
e.appendChild(t);
|
16
|
+
}
|
17
|
+
var c = function() {
|
18
|
+
var t = 0, e = null;
|
19
|
+
return {
|
20
|
+
add: function(n) {
|
21
|
+
t == 0 && (e = r()) && (l(e, n), a(e)), t++;
|
22
|
+
},
|
23
|
+
remove: function() {
|
24
|
+
t--, !t && e && (e.parentNode && e.parentNode.removeChild(e), e = null);
|
25
|
+
}
|
11
26
|
};
|
12
27
|
};
|
13
28
|
export {
|
14
|
-
|
29
|
+
c as stylesheetSingleton
|
15
30
|
};
|
16
31
|
//# sourceMappingURL=index.es594.js.map
|
package/dist/index.es594.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.es594.js","sources":["../node_modules/react-style-singleton/dist/es2015/
|
1
|
+
{"version":3,"file":"index.es594.js","sources":["../node_modules/react-style-singleton/dist/es2015/singleton.js"],"sourcesContent":["import { getNonce } from 'get-nonce';\nfunction makeStyleTag() {\n if (!document)\n return null;\n var tag = document.createElement('style');\n tag.type = 'text/css';\n var nonce = getNonce();\n if (nonce) {\n tag.setAttribute('nonce', nonce);\n }\n return tag;\n}\nfunction injectStyles(tag, css) {\n // @ts-ignore\n if (tag.styleSheet) {\n // @ts-ignore\n tag.styleSheet.cssText = css;\n }\n else {\n tag.appendChild(document.createTextNode(css));\n }\n}\nfunction insertStyleTag(tag) {\n var head = document.head || document.getElementsByTagName('head')[0];\n head.appendChild(tag);\n}\nexport var stylesheetSingleton = function () {\n var counter = 0;\n var stylesheet = null;\n return {\n add: function (style) {\n if (counter == 0) {\n if ((stylesheet = makeStyleTag())) {\n injectStyles(stylesheet, style);\n insertStyleTag(stylesheet);\n }\n }\n counter++;\n },\n remove: function () {\n counter--;\n if (!counter && stylesheet) {\n stylesheet.parentNode && stylesheet.parentNode.removeChild(stylesheet);\n stylesheet = null;\n }\n },\n };\n};\n"],"names":["makeStyleTag","tag","nonce","getNonce","injectStyles","css","insertStyleTag","head","stylesheetSingleton","counter","stylesheet","style"],"mappings":";AACA,SAASA,IAAe;AACpB,MAAI,CAAC;AACD,WAAO;AACX,MAAIC,IAAM,SAAS,cAAc,OAAO;AACxC,EAAAA,EAAI,OAAO;AACX,MAAIC,IAAQC,EAAU;AACtB,SAAID,KACAD,EAAI,aAAa,SAASC,CAAK,GAE5BD;AACX;AACA,SAASG,EAAaH,GAAKI,GAAK;AAE5B,EAAIJ,EAAI,aAEJA,EAAI,WAAW,UAAUI,IAGzBJ,EAAI,YAAY,SAAS,eAAeI,CAAG,CAAC;AAEpD;AACA,SAASC,EAAeL,GAAK;AACzB,MAAIM,IAAO,SAAS,QAAQ,SAAS,qBAAqB,MAAM,EAAE,CAAC;AACnE,EAAAA,EAAK,YAAYN,CAAG;AACxB;AACU,IAACO,IAAsB,WAAY;AACzC,MAAIC,IAAU,GACVC,IAAa;AACjB,SAAO;AAAA,IACH,KAAK,SAAUC,GAAO;AAClB,MAAIF,KAAW,MACNC,IAAaV,SACdI,EAAaM,GAAYC,CAAK,GAC9BL,EAAeI,CAAU,IAGjCD;AAAA,IACH;AAAA,IACD,QAAQ,WAAY;AAChB,MAAAA,KACI,CAACA,KAAWC,MACZA,EAAW,cAAcA,EAAW,WAAW,YAAYA,CAAU,GACrEA,IAAa;AAAA,IAEpB;AAAA,EACJ;AACL;","x_google_ignoreList":[0]}
|
package/dist/index.es595.js
CHANGED
@@ -1,31 +1,8 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
return null;
|
5
|
-
var t = document.createElement("style");
|
6
|
-
t.type = "text/css";
|
7
|
-
var e = o();
|
8
|
-
return e && t.setAttribute("nonce", e), t;
|
9
|
-
}
|
10
|
-
function l(t, e) {
|
11
|
-
t.styleSheet ? t.styleSheet.cssText = e : t.appendChild(document.createTextNode(e));
|
12
|
-
}
|
13
|
-
function a(t) {
|
14
|
-
var e = document.head || document.getElementsByTagName("head")[0];
|
15
|
-
e.appendChild(t);
|
16
|
-
}
|
17
|
-
var c = function() {
|
18
|
-
var t = 0, e = null;
|
19
|
-
return {
|
20
|
-
add: function(n) {
|
21
|
-
t == 0 && (e = r()) && (l(e, n), a(e)), t++;
|
22
|
-
},
|
23
|
-
remove: function() {
|
24
|
-
t--, !t && e && (e.parentNode && e.parentNode.removeChild(e), e = null);
|
25
|
-
}
|
26
|
-
};
|
1
|
+
var e = function() {
|
2
|
+
if (typeof __webpack_nonce__ < "u")
|
3
|
+
return __webpack_nonce__;
|
27
4
|
};
|
28
5
|
export {
|
29
|
-
|
6
|
+
e as getNonce
|
30
7
|
};
|
31
8
|
//# sourceMappingURL=index.es595.js.map
|
package/dist/index.es595.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.es595.js","sources":["../node_modules/
|
1
|
+
{"version":3,"file":"index.es595.js","sources":["../node_modules/get-nonce/dist/es2015/index.js"],"sourcesContent":["var currentNonce;\nexport var setNonce = function (nonce) {\n currentNonce = nonce;\n};\nexport var getNonce = function () {\n if (currentNonce) {\n return currentNonce;\n }\n if (typeof __webpack_nonce__ !== 'undefined') {\n return __webpack_nonce__;\n }\n return undefined;\n};\n"],"names":["getNonce"],"mappings":"AAIU,IAACA,IAAW,WAAY;AAI9B,MAAI,OAAO,oBAAsB;AAC7B,WAAO;AAGf;","x_google_ignoreList":[0]}
|
package/dist/index.es596.js
CHANGED
@@ -1,8 +1,26 @@
|
|
1
|
-
var
|
2
|
-
|
3
|
-
|
1
|
+
var a = {
|
2
|
+
left: 0,
|
3
|
+
top: 0,
|
4
|
+
right: 0,
|
5
|
+
gap: 0
|
6
|
+
}, e = function(t) {
|
7
|
+
return parseInt(t || "", 10) || 0;
|
8
|
+
}, o = function(t) {
|
9
|
+
var n = window.getComputedStyle(document.body), i = n[t === "padding" ? "paddingLeft" : "marginLeft"], r = n[t === "padding" ? "paddingTop" : "marginTop"], d = n[t === "padding" ? "paddingRight" : "marginRight"];
|
10
|
+
return [e(i), e(r), e(d)];
|
11
|
+
}, f = function(t) {
|
12
|
+
if (t === void 0 && (t = "margin"), typeof window > "u")
|
13
|
+
return a;
|
14
|
+
var n = o(t), i = document.documentElement.clientWidth, r = window.innerWidth;
|
15
|
+
return {
|
16
|
+
left: n[0],
|
17
|
+
top: n[1],
|
18
|
+
right: n[2],
|
19
|
+
gap: Math.max(0, r - i + n[2] - n[0])
|
20
|
+
};
|
4
21
|
};
|
5
22
|
export {
|
6
|
-
|
23
|
+
f as getGapWidth,
|
24
|
+
a as zeroGap
|
7
25
|
};
|
8
26
|
//# sourceMappingURL=index.es596.js.map
|
package/dist/index.es596.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.es596.js","sources":["../node_modules/
|
1
|
+
{"version":3,"file":"index.es596.js","sources":["../node_modules/react-remove-scroll-bar/dist/es2015/utils.js"],"sourcesContent":["export var zeroGap = {\n left: 0,\n top: 0,\n right: 0,\n gap: 0,\n};\nvar parse = function (x) { return parseInt(x || '', 10) || 0; };\nvar getOffset = function (gapMode) {\n var cs = window.getComputedStyle(document.body);\n var left = cs[gapMode === 'padding' ? 'paddingLeft' : 'marginLeft'];\n var top = cs[gapMode === 'padding' ? 'paddingTop' : 'marginTop'];\n var right = cs[gapMode === 'padding' ? 'paddingRight' : 'marginRight'];\n return [parse(left), parse(top), parse(right)];\n};\nexport var getGapWidth = function (gapMode) {\n if (gapMode === void 0) { gapMode = 'margin'; }\n if (typeof window === 'undefined') {\n return zeroGap;\n }\n var offsets = getOffset(gapMode);\n var documentWidth = document.documentElement.clientWidth;\n var windowWidth = window.innerWidth;\n return {\n left: offsets[0],\n top: offsets[1],\n right: offsets[2],\n gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0]),\n };\n};\n"],"names":["zeroGap","parse","x","getOffset","gapMode","cs","left","top","right","getGapWidth","offsets","documentWidth","windowWidth"],"mappings":"AAAU,IAACA,IAAU;AAAA,EACjB,MAAM;AAAA,EACN,KAAK;AAAA,EACL,OAAO;AAAA,EACP,KAAK;AACT,GACIC,IAAQ,SAAUC,GAAG;AAAE,SAAO,SAASA,KAAK,IAAI,EAAE,KAAK;AAAI,GAC3DC,IAAY,SAAUC,GAAS;AAC/B,MAAIC,IAAK,OAAO,iBAAiB,SAAS,IAAI,GAC1CC,IAAOD,EAAGD,MAAY,YAAY,gBAAgB,YAAY,GAC9DG,IAAMF,EAAGD,MAAY,YAAY,eAAe,WAAW,GAC3DI,IAAQH,EAAGD,MAAY,YAAY,iBAAiB,aAAa;AACrE,SAAO,CAACH,EAAMK,CAAI,GAAGL,EAAMM,CAAG,GAAGN,EAAMO,CAAK,CAAC;AACjD,GACWC,IAAc,SAAUL,GAAS;AAExC,MADIA,MAAY,WAAUA,IAAU,WAChC,OAAO,SAAW;AAClB,WAAOJ;AAEX,MAAIU,IAAUP,EAAUC,CAAO,GAC3BO,IAAgB,SAAS,gBAAgB,aACzCC,IAAc,OAAO;AACzB,SAAO;AAAA,IACH,MAAMF,EAAQ,CAAC;AAAA,IACf,KAAKA,EAAQ,CAAC;AAAA,IACd,OAAOA,EAAQ,CAAC;AAAA,IAChB,KAAK,KAAK,IAAI,GAAGE,IAAcD,IAAgBD,EAAQ,CAAC,IAAIA,EAAQ,CAAC,CAAC;AAAA,EACzE;AACL;","x_google_ignoreList":[0]}
|
package/dist/index.es73.js
CHANGED
@@ -308,7 +308,16 @@ const ce = ({
|
|
308
308
|
onClick: A,
|
309
309
|
disabled: o,
|
310
310
|
"aria-label": "Previous page",
|
311
|
-
children: /* @__PURE__ */ a.jsx(
|
311
|
+
children: /* @__PURE__ */ a.jsx(
|
312
|
+
"svg",
|
313
|
+
{
|
314
|
+
className: "pagination__button-arrow",
|
315
|
+
viewBox: "0 0 24 24",
|
316
|
+
"aria-hidden": "true",
|
317
|
+
role: "presentation",
|
318
|
+
children: /* @__PURE__ */ a.jsx("path", { d: "M15 18l-6-6 6-6" })
|
319
|
+
}
|
320
|
+
)
|
312
321
|
}
|
313
322
|
),
|
314
323
|
M().map(
|
@@ -336,7 +345,16 @@ const ce = ({
|
|
336
345
|
onClick: V,
|
337
346
|
disabled: I,
|
338
347
|
"aria-label": "Next page",
|
339
|
-
children: /* @__PURE__ */ a.jsx(
|
348
|
+
children: /* @__PURE__ */ a.jsx(
|
349
|
+
"svg",
|
350
|
+
{
|
351
|
+
className: "pagination__button-arrow",
|
352
|
+
viewBox: "0 0 24 24",
|
353
|
+
"aria-hidden": "true",
|
354
|
+
role: "presentation",
|
355
|
+
children: /* @__PURE__ */ a.jsx("path", { d: "M9 6l6 6-6 6" })
|
356
|
+
}
|
357
|
+
)
|
340
358
|
}
|
341
359
|
)
|
342
360
|
] })
|
package/dist/index.es73.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.es73.js","sources":["../src/components/ui/Table/index.tsx"],"sourcesContent":["import * as React from \"react\";\nimport clsx from \"clsx\";\nimport \"./Table.scss\";\nimport { Download, Info, TriangleDown, TriangleUp } from \"@/icons\";\nimport { ActionIconText } from \"@/components\";\nimport { CommonIconsType } from \"@/types/icons\";\nimport { InfoPopupProps } from \"../InfoPopup\";\nimport { useEffect } from \"react\";\n\n// per le celle che vanno renderizzate su due righe\nexport interface DoubleLineData {\n firstLine: string;\n secondLine: string;\n}\n\n//per le celle che renderizzano un link o un bottone\nexport interface ActionData {\n label: string | React.ReactNode;\n ariaLabel: string;\n type: \"link\" | \"button\";\n link?: string;\n action?: () => void;\n}\n\nexport interface ColumnConfig {\n label: string;\n ariaLabel: string;\n sortable: boolean;\n action?: () => void;\n iconAction?: () => void;\n popupInfo?: InfoPopupProps;\n icon?: React.ReactNode | CommonIconsType;\n iconPosition?: \"left\" | \"right\";\n key?: string;\n type?: \"string\" | \"date\" | \"number\";\n}\n\nexport interface TableRowData {\n [key: string]: string | DoubleLineData | ActionData;\n}\n\nexport interface TableHeaderProps\n extends React.HTMLAttributes<HTMLTableSectionElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableBodyProps\n extends React.HTMLAttributes<HTMLTableSectionElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableRowProps\n extends React.HTMLAttributes<HTMLTableRowElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableHeadProps\n extends React.ThHTMLAttributes<HTMLTableCellElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableCellBaseProps\n extends Omit<React.TdHTMLAttributes<HTMLTableCellElement>, \"content\"> {\n type?: \"double-line\" | \"action\";\n}\n\nexport interface TableCellProps extends TableCellBaseProps {\n content: string | DoubleLineData | ActionData;\n}\n\nexport interface PaginationProps {\n currentPage: number;\n totalResults: number;\n currentResultsPerPage?: number; // used to display 8 di 188 if user is in the last page\n resultsPerPage: number;\n setCurrentPage: (page: number) => void;\n onPageChange?: (page: number) => void;\n className?: string;\n serverSide?: boolean;\n totalItems?: number;\n hasNextPage?: boolean;\n hasPreviousPage?: boolean;\n onNextPage?: () => void;\n onPreviousPage?: () => void;\n}\n\nexport interface TableProps\n extends React.TableHTMLAttributes<HTMLTableElement> {\n className?: string;\n columns: ColumnConfig[];\n data: TableRowData[];\n pagination?: boolean;\n initialCurrentPage?: number;\n resultsPerPage?: number;\n defaultSortDirection?: \"asc\" | \"desc\";\n setSelectedSort?: (sortConfig: {\n key: string;\n direction: \"asc\" | \"desc\";\n }) => void;\n initialSortConfig?: { key: string; direction: \"asc\" | \"desc\" };\n serverSidePagination?: boolean;\n totalItems?: number;\n hasNextPage?: boolean;\n hasPreviousPage?: boolean;\n onNextPage?: () => void;\n onPreviousPage?: () => void;\n onPageChange?: (page: number) => void;\n variant?: \"default\" | \"exemptions\";\n}\n\nconst Table = React.forwardRef<HTMLTableElement, TableProps>(\n (\n {\n className,\n columns,\n data,\n pagination,\n initialCurrentPage = 1,\n resultsPerPage = 10,\n defaultSortDirection = \"desc\",\n setSelectedSort,\n initialSortConfig,\n serverSidePagination = false,\n totalItems,\n hasNextPage,\n hasPreviousPage,\n onNextPage,\n onPreviousPage,\n onPageChange,\n ...props\n },\n ref,\n ) => {\n const [sortConfig, setSortConfig] = React.useState<{\n key: string;\n direction: \"asc\" | \"desc\";\n }>(\n initialSortConfig || {\n key: columns[0].key || columns[0].label,\n direction: defaultSortDirection,\n },\n );\n const [currentPage, setCurrentPage] = React.useState(initialCurrentPage);\n\n useEffect(() => {\n if (initialSortConfig) {\n setSortConfig(initialSortConfig);\n }\n }, [initialSortConfig]);\n\n const sortedData = React.useMemo(() => {\n return [...data].sort((a, b) => {\n const aValue = a[sortConfig.key];\n const bValue = b[sortConfig.key];\n const column = columns.find(\n (col) => (col.key || col.label) === sortConfig.key,\n );\n\n if (typeof aValue === \"string\" && typeof bValue === \"string\") {\n if (column?.type === \"date\") {\n // Convert Italian date format (DD/MM/YYYY - HH:mm) to Date object\n const parseDate = (dateStr: string) => {\n const [datePart, timePart] = dateStr.split(\" - \");\n const [day, month, year] = datePart.split(\"/\").map(Number);\n const [hours, minutes] = timePart.split(\":\").map(Number);\n return new Date(year, month - 1, day, hours, minutes);\n };\n\n const dateA = parseDate(aValue);\n const dateB = parseDate(bValue);\n return sortConfig.direction === \"asc\"\n ? dateA.getTime() - dateB.getTime()\n : dateB.getTime() - dateA.getTime();\n }\n\n if (column?.type === \"number\") {\n const numA = parseFloat(aValue);\n const numB = parseFloat(bValue);\n return sortConfig.direction === \"asc\" ? numA - numB : numB - numA;\n }\n\n return sortConfig.direction === \"asc\"\n ? aValue.localeCompare(bValue)\n : bValue.localeCompare(aValue);\n }\n\n if (isDoubleLineData(aValue) && isDoubleLineData(bValue)) {\n return sortConfig.direction === \"asc\"\n ? aValue.firstLine.localeCompare(bValue.firstLine)\n : bValue.firstLine.localeCompare(aValue.firstLine);\n }\n\n return 0;\n });\n }, [data, sortConfig, columns]);\n\n const handleSort = (columnKey: string) => {\n const newSortConfig = {\n key: columnKey,\n direction:\n sortConfig.key === columnKey && sortConfig.direction === \"asc\"\n ? \"desc\"\n : \"asc\",\n } as { key: string; direction: \"asc\" | \"desc\" };\n\n setSortConfig(newSortConfig);\n if (setSelectedSort) {\n setSelectedSort(newSortConfig);\n }\n };\n\n const startIndex =\n pagination && !serverSidePagination\n ? (currentPage - 1) * resultsPerPage\n : 0;\n const endIndex =\n pagination && !serverSidePagination\n ? Math.min(startIndex + resultsPerPage, sortedData.length)\n : sortedData.length;\n const currentPageData = serverSidePagination\n ? sortedData\n : sortedData.slice(startIndex, endIndex);\n\n return (\n <div className=\"position-relative w-full\">\n <table\n ref={ref}\n className={clsx(\"table\", className)}\n role=\"table\"\n {...props}\n >\n <TableHeader className=\"table__header\">\n <TableRow>\n {columns.map((column, index) => (\n <TableHead\n key={`${column.label}-${index}`}\n config={column}\n sortConfig={sortConfig}\n onSort={() =>\n column.sortable && handleSort(column.key || column.label)\n }\n variant={props.variant}\n />\n ))}\n </TableRow>\n </TableHeader>\n <TableBody className=\"table__body\">\n {currentPageData.map((row, rowIndex) => (\n <TableRow key={rowIndex} className=\"table__row\">\n {columns.map((column, cellIndex) => {\n const key = column.key || column.label;\n const value = row[key];\n return (\n <TableCell\n key={`${key}-${cellIndex}`}\n content={value || \"\"}\n type={\n value && isDoubleLineData(value)\n ? \"double-line\"\n : value && isActionData(value)\n ? \"action\"\n : undefined\n }\n />\n );\n })}\n </TableRow>\n ))}\n </TableBody>\n </table>\n {pagination && (\n <Pagination\n currentPage={currentPage}\n totalResults={\n serverSidePagination ? totalItems || 0 : sortedData.length\n }\n currentResultsPerPage={data.length}\n resultsPerPage={resultsPerPage}\n setCurrentPage={setCurrentPage}\n onPageChange={onPageChange}\n serverSide={serverSidePagination}\n totalItems={totalItems}\n hasNextPage={hasNextPage}\n hasPreviousPage={hasPreviousPage}\n onNextPage={onNextPage}\n onPreviousPage={onPreviousPage}\n />\n )}\n </div>\n );\n },\n);\nTable.displayName = \"Table\";\n\nconst TableHeader = React.forwardRef<HTMLTableSectionElement, TableHeaderProps>(\n ({ className, children, ...props }, ref) => (\n <thead\n ref={ref}\n className={clsx(\"[&_tr]:border-b-0\", className)}\n {...props}\n >\n {children}\n </thead>\n ),\n);\nTableHeader.displayName = \"TableHeader\";\n\nconst TableBody = React.forwardRef<HTMLTableSectionElement, TableBodyProps>(\n ({ className, children, ...props }, ref) => (\n <tbody\n ref={ref}\n className={clsx(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n >\n {children}\n </tbody>\n ),\n);\nTableBody.displayName = \"TableBody\";\n\nconst TableRow = React.forwardRef<HTMLTableRowElement, TableRowProps>(\n ({ className, children, ...props }, ref) => (\n <tr\n ref={ref}\n className={clsx(\n \"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted\",\n className,\n )}\n {...props}\n >\n {children}\n </tr>\n ),\n);\nTableRow.displayName = \"TableRow\";\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n TableHeadProps & {\n config: ColumnConfig;\n sortConfig: { key: string; direction: \"asc\" | \"desc\" };\n onSort?: () => void;\n variant?: \"default\" | \"exemptions\";\n }\n>(({ className, config, sortConfig, onSort, ...props }, ref) => {\n const isSorted = sortConfig.key === (config.key || config.label);\n const sortDirection = isSorted ? sortConfig.direction : null;\n\n const getAriaSortValue = (): \"ascending\" | \"descending\" => {\n return sortDirection === \"asc\" ? \"ascending\" : \"descending\";\n };\n\n const renderIcon = (icon: React.ReactNode | CommonIconsType) => {\n switch (icon) {\n case \"info\":\n return <Info />;\n case \"download\":\n return <Download />;\n default:\n return icon;\n }\n };\n\n return (\n <th\n ref={ref}\n className={clsx(\n \"table__cell table__cell--header\",\n {\n \"table__cell--sortable\": config.sortable,\n \"table__cell--action\": config.action,\n },\n className,\n )}\n onClick={config.sortable ? onSort : config.action}\n aria-label={config.ariaLabel}\n aria-sort={isSorted ? getAriaSortValue() : undefined}\n {...props}\n >\n <div className=\"table__cell--header--content\">\n <div>\n <ActionIconText\n icon={renderIcon(config.icon)}\n noIcon={!renderIcon(config.icon)}\n textLabel={config.label}\n iconPosition={config.iconPosition}\n handleIconAction={() => {\n if (config.iconAction) {\n config.iconAction();\n }\n }}\n popupInfo={config.popupInfo}\n positionPopUp={config.popupInfo?.positionPopUp}\n classNameText={\n props.variant && \"fw-bold text-slate-28 fs-custom md-fs-6\"\n }\n />\n </div>\n {config.sortable && (\n <span className=\"sort-indicator\">\n <TriangleUp\n filled={isSorted && sortDirection === \"desc\"}\n className={clsx(\"sort-indicator__triangle\", {\n active: isSorted && sortDirection === \"desc\",\n })}\n />\n <TriangleDown\n filled={isSorted && sortDirection === \"asc\"}\n className={clsx(\"sort-indicator__triangle\", {\n active: isSorted && sortDirection === \"asc\",\n })}\n />\n </span>\n )}\n </div>\n </th>\n );\n});\nTableHead.displayName = \"TableHead\";\n\nconst DoubleLineContent: React.FC<{ data: DoubleLineData }> = ({ data }) => (\n <>\n <div className=\"table__cell--firstLine\">{data.firstLine}</div>\n <div className=\"table__cell--secondLine\">{data.secondLine}</div>\n </>\n);\n\nconst ActionContent: React.FC<{ data: ActionData }> = ({ data }) => {\n if (data.type === \"link\" && data.link) {\n return (\n <a href={data.link} aria-label={data.ariaLabel}>\n {data.label}\n </a>\n );\n }\n return (\n <button onClick={data.action} aria-label={data.ariaLabel}>\n {data.label}\n </button>\n );\n};\n\n// check if we are rendering a double line data\nconst isDoubleLineData = (\n content: TableCellProps[\"content\"],\n): content is DoubleLineData => {\n return (\n typeof content === \"object\" &&\n content !== null &&\n \"firstLine\" in content &&\n \"secondLine\" in content\n );\n};\n\n// check if we are rendering an action data\nconst isActionData = (\n content: TableCellProps[\"content\"],\n): content is ActionData => {\n return (\n typeof content === \"object\" &&\n content !== null &&\n \"label\" in content &&\n \"type\" in content\n );\n};\n\nconst TableCellContent: React.FC<{ content: TableCellProps[\"content\"] }> = ({\n content,\n}) => {\n if (typeof content === \"string\") {\n return <>{content}</>;\n }\n if (isDoubleLineData(content)) {\n return <DoubleLineContent data={content} />;\n }\n if (isActionData(content)) {\n return <ActionContent data={content} />;\n }\n return null;\n};\n\nconst TableCell = React.forwardRef<HTMLTableCellElement, TableCellProps>(\n ({ className, content, type, ...props }, ref) => (\n <td\n ref={ref}\n className={clsx(\n \"table__cell\",\n {\n \"table__cell--double-line\": type === \"double-line\",\n \"table__cell--action\": type === \"action\",\n },\n className,\n )}\n {...props}\n >\n <TableCellContent content={content} />\n </td>\n ),\n);\nTableCell.displayName = \"TableCell\";\n\nconst Pagination: React.FC<PaginationProps> = ({\n currentPage = 1,\n totalResults,\n resultsPerPage,\n currentResultsPerPage,\n setCurrentPage,\n onPageChange,\n className,\n serverSide = false,\n totalItems,\n hasNextPage,\n hasPreviousPage,\n onNextPage,\n onPreviousPage,\n}) => {\n const totalPages = serverSide\n ? Math.ceil((totalItems || totalResults) / resultsPerPage)\n : Math.ceil(totalResults / resultsPerPage);\n\n const handlePageChange = (page: number) => {\n setCurrentPage(page);\n if (onPageChange) {\n onPageChange(page);\n }\n };\n\n const handleNextPage = () => {\n const nextPage = currentPage + 1;\n if (serverSide && onNextPage) {\n onNextPage();\n }\n handlePageChange(nextPage);\n };\n\n const handlePreviousPage = () => {\n const prevPage = currentPage - 1;\n if (serverSide && onPreviousPage) {\n onPreviousPage();\n }\n handlePageChange(prevPage);\n };\n\n const isNextDisabled = serverSide ? !hasNextPage : currentPage === totalPages;\n const isPrevDisabled = serverSide ? !hasPreviousPage : currentPage === 1;\n\n const getPageNumbers = () => {\n const pages = [];\n const maxVisiblePages = 5;\n\n if (totalPages <= maxVisiblePages) {\n for (let i = 1; i <= totalPages; i++) {\n pages.push(i);\n }\n } else {\n pages.push(1);\n\n let start = Math.max(2, currentPage - 1);\n let end = Math.min(totalPages - 1, currentPage + 1);\n\n if (currentPage <= 3) {\n end = 4;\n } else if (currentPage >= totalPages - 2) {\n start = totalPages - 3;\n }\n\n if (start > 2) {\n pages.push(\"...\");\n }\n\n for (let i = start; i <= end; i++) {\n pages.push(i);\n }\n\n if (end < totalPages - 1) {\n pages.push(\"...\");\n }\n\n pages.push(totalPages);\n }\n\n return pages;\n };\n\n return (\n <div className={clsx(\"pagination\", className)}>\n <div className=\"pagination__info\">\n Stai visualizzando{\" \"}\n <span className=\"pagination__info__resultsPerPage\">\n {serverSide\n ? currentResultsPerPage\n : currentPage === totalPages && totalResults % resultsPerPage !== 0\n ? totalResults % resultsPerPage\n : resultsPerPage}\n </span>{\" \"}\n di {serverSide ? totalItems || totalResults : totalResults} risultati\n </div>\n <div className=\"pagination__nav\">\n <button\n className={clsx(\n \"pagination__button\",\n isPrevDisabled && \"pagination__button--disabled\",\n )}\n onClick={handlePreviousPage}\n disabled={isPrevDisabled}\n aria-label=\"Previous page\"\n >\n <svg className=\"pagination__button-arrow\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n <path d=\"M15 18l-6-6 6-6\" />\n </svg>\n </button>\n\n {getPageNumbers().map((page, index) =>\n page === \"...\" ? (\n <span key={`ellipsis-${index}`} className=\"pagination__ellipsis\">\n ...\n </span>\n ) : (\n <button\n key={page}\n className={clsx(\n \"pagination__button\",\n currentPage === page && \"pagination__button--active\",\n )}\n onClick={() => handlePageChange(page as number)}\n disabled={page === currentPage}\n >\n {page}\n </button>\n ),\n )}\n\n <button\n className={clsx(\n \"pagination__button\",\n isNextDisabled && \"pagination__button--disabled\",\n )}\n onClick={handleNextPage}\n disabled={isNextDisabled}\n aria-label=\"Next page\"\n >\n <svg className=\"pagination__button-arrow\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n <path d=\"M9 6l6 6-6 6\" />\n </svg>\n </button>\n </div>\n </div>\n );\n};\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableHead,\n TableRow,\n TableCell,\n Pagination,\n};\n"],"names":["Table","React","className","columns","data","pagination","initialCurrentPage","resultsPerPage","defaultSortDirection","setSelectedSort","initialSortConfig","serverSidePagination","totalItems","hasNextPage","hasPreviousPage","onNextPage","onPreviousPage","onPageChange","props","ref","sortConfig","setSortConfig","currentPage","setCurrentPage","useEffect","sortedData","a","b","aValue","bValue","column","col","parseDate","dateStr","datePart","timePart","day","month","year","hours","minutes","dateA","dateB","numA","numB","isDoubleLineData","handleSort","columnKey","newSortConfig","startIndex","endIndex","currentPageData","jsxs","clsx","jsx","TableHeader","TableRow","index","TableHead","TableBody","row","rowIndex","cellIndex","key","value","TableCell","isActionData","Pagination","children","config","onSort","isSorted","sortDirection","getAriaSortValue","renderIcon","icon","Info","Download","ActionIconText","_a","TriangleUp","TriangleDown","DoubleLineContent","Fragment","ActionContent","content","TableCellContent","type","totalResults","currentResultsPerPage","serverSide","totalPages","handlePageChange","page","handleNextPage","nextPage","handlePreviousPage","prevPage","isNextDisabled","isPrevDisabled","getPageNumbers","pages","i","start","end"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"index.es73.js","sources":["../src/components/ui/Table/index.tsx"],"sourcesContent":["import * as React from \"react\";\nimport clsx from \"clsx\";\nimport \"./Table.scss\";\nimport { Download, Info, TriangleDown, TriangleUp } from \"@/icons\";\nimport { ActionIconText } from \"@/components\";\nimport { CommonIconsType } from \"@/types/icons\";\nimport { InfoPopupProps } from \"../InfoPopup\";\nimport { useEffect } from \"react\";\n\n// per le celle che vanno renderizzate su due righe\nexport interface DoubleLineData {\n firstLine: string;\n secondLine: string;\n}\n\n//per le celle che renderizzano un link o un bottone\nexport interface ActionData {\n label: string | React.ReactNode;\n ariaLabel: string;\n type: \"link\" | \"button\";\n link?: string;\n action?: () => void;\n}\n\nexport interface ColumnConfig {\n label: string;\n ariaLabel: string;\n sortable: boolean;\n action?: () => void;\n iconAction?: () => void;\n popupInfo?: InfoPopupProps;\n icon?: React.ReactNode | CommonIconsType;\n iconPosition?: \"left\" | \"right\";\n key?: string;\n type?: \"string\" | \"date\" | \"number\";\n}\n\nexport interface TableRowData {\n [key: string]: string | DoubleLineData | ActionData;\n}\n\nexport interface TableHeaderProps\n extends React.HTMLAttributes<HTMLTableSectionElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableBodyProps\n extends React.HTMLAttributes<HTMLTableSectionElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableRowProps\n extends React.HTMLAttributes<HTMLTableRowElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableHeadProps\n extends React.ThHTMLAttributes<HTMLTableCellElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableCellBaseProps\n extends Omit<React.TdHTMLAttributes<HTMLTableCellElement>, \"content\"> {\n type?: \"double-line\" | \"action\";\n}\n\nexport interface TableCellProps extends TableCellBaseProps {\n content: string | DoubleLineData | ActionData;\n}\n\nexport interface PaginationProps {\n currentPage: number;\n totalResults: number;\n currentResultsPerPage?: number; // used to display 8 di 188 if user is in the last page\n resultsPerPage: number;\n setCurrentPage: (page: number) => void;\n onPageChange?: (page: number) => void;\n className?: string;\n serverSide?: boolean;\n totalItems?: number;\n hasNextPage?: boolean;\n hasPreviousPage?: boolean;\n onNextPage?: () => void;\n onPreviousPage?: () => void;\n}\n\nexport interface TableProps\n extends React.TableHTMLAttributes<HTMLTableElement> {\n className?: string;\n columns: ColumnConfig[];\n data: TableRowData[];\n pagination?: boolean;\n initialCurrentPage?: number;\n resultsPerPage?: number;\n defaultSortDirection?: \"asc\" | \"desc\";\n setSelectedSort?: (sortConfig: {\n key: string;\n direction: \"asc\" | \"desc\";\n }) => void;\n initialSortConfig?: { key: string; direction: \"asc\" | \"desc\" };\n serverSidePagination?: boolean;\n totalItems?: number;\n hasNextPage?: boolean;\n hasPreviousPage?: boolean;\n onNextPage?: () => void;\n onPreviousPage?: () => void;\n onPageChange?: (page: number) => void;\n variant?: \"default\" | \"exemptions\";\n}\n\nconst Table = React.forwardRef<HTMLTableElement, TableProps>(\n (\n {\n className,\n columns,\n data,\n pagination,\n initialCurrentPage = 1,\n resultsPerPage = 10,\n defaultSortDirection = \"desc\",\n setSelectedSort,\n initialSortConfig,\n serverSidePagination = false,\n totalItems,\n hasNextPage,\n hasPreviousPage,\n onNextPage,\n onPreviousPage,\n onPageChange,\n ...props\n },\n ref,\n ) => {\n const [sortConfig, setSortConfig] = React.useState<{\n key: string;\n direction: \"asc\" | \"desc\";\n }>(\n initialSortConfig || {\n key: columns[0].key || columns[0].label,\n direction: defaultSortDirection,\n },\n );\n const [currentPage, setCurrentPage] = React.useState(initialCurrentPage);\n\n useEffect(() => {\n if (initialSortConfig) {\n setSortConfig(initialSortConfig);\n }\n }, [initialSortConfig]);\n\n const sortedData = React.useMemo(() => {\n return [...data].sort((a, b) => {\n const aValue = a[sortConfig.key];\n const bValue = b[sortConfig.key];\n const column = columns.find(\n (col) => (col.key || col.label) === sortConfig.key,\n );\n\n if (typeof aValue === \"string\" && typeof bValue === \"string\") {\n if (column?.type === \"date\") {\n // Convert Italian date format (DD/MM/YYYY - HH:mm) to Date object\n const parseDate = (dateStr: string) => {\n const [datePart, timePart] = dateStr.split(\" - \");\n const [day, month, year] = datePart.split(\"/\").map(Number);\n const [hours, minutes] = timePart.split(\":\").map(Number);\n return new Date(year, month - 1, day, hours, minutes);\n };\n\n const dateA = parseDate(aValue);\n const dateB = parseDate(bValue);\n return sortConfig.direction === \"asc\"\n ? dateA.getTime() - dateB.getTime()\n : dateB.getTime() - dateA.getTime();\n }\n\n if (column?.type === \"number\") {\n const numA = parseFloat(aValue);\n const numB = parseFloat(bValue);\n return sortConfig.direction === \"asc\" ? numA - numB : numB - numA;\n }\n\n return sortConfig.direction === \"asc\"\n ? aValue.localeCompare(bValue)\n : bValue.localeCompare(aValue);\n }\n\n if (isDoubleLineData(aValue) && isDoubleLineData(bValue)) {\n return sortConfig.direction === \"asc\"\n ? aValue.firstLine.localeCompare(bValue.firstLine)\n : bValue.firstLine.localeCompare(aValue.firstLine);\n }\n\n return 0;\n });\n }, [data, sortConfig, columns]);\n\n const handleSort = (columnKey: string) => {\n const newSortConfig = {\n key: columnKey,\n direction:\n sortConfig.key === columnKey && sortConfig.direction === \"asc\"\n ? \"desc\"\n : \"asc\",\n } as { key: string; direction: \"asc\" | \"desc\" };\n\n setSortConfig(newSortConfig);\n if (setSelectedSort) {\n setSelectedSort(newSortConfig);\n }\n };\n\n const startIndex =\n pagination && !serverSidePagination\n ? (currentPage - 1) * resultsPerPage\n : 0;\n const endIndex =\n pagination && !serverSidePagination\n ? Math.min(startIndex + resultsPerPage, sortedData.length)\n : sortedData.length;\n const currentPageData = serverSidePagination\n ? sortedData\n : sortedData.slice(startIndex, endIndex);\n\n return (\n <div className=\"position-relative w-full\">\n <table\n ref={ref}\n className={clsx(\"table\", className)}\n role=\"table\"\n {...props}\n >\n <TableHeader className=\"table__header\">\n <TableRow>\n {columns.map((column, index) => (\n <TableHead\n key={`${column.label}-${index}`}\n config={column}\n sortConfig={sortConfig}\n onSort={() =>\n column.sortable && handleSort(column.key || column.label)\n }\n variant={props.variant}\n />\n ))}\n </TableRow>\n </TableHeader>\n <TableBody className=\"table__body\">\n {currentPageData.map((row, rowIndex) => (\n <TableRow key={rowIndex} className=\"table__row\">\n {columns.map((column, cellIndex) => {\n const key = column.key || column.label;\n const value = row[key];\n return (\n <TableCell\n key={`${key}-${cellIndex}`}\n content={value || \"\"}\n type={\n value && isDoubleLineData(value)\n ? \"double-line\"\n : value && isActionData(value)\n ? \"action\"\n : undefined\n }\n />\n );\n })}\n </TableRow>\n ))}\n </TableBody>\n </table>\n {pagination && (\n <Pagination\n currentPage={currentPage}\n totalResults={\n serverSidePagination ? totalItems || 0 : sortedData.length\n }\n currentResultsPerPage={data.length}\n resultsPerPage={resultsPerPage}\n setCurrentPage={setCurrentPage}\n onPageChange={onPageChange}\n serverSide={serverSidePagination}\n totalItems={totalItems}\n hasNextPage={hasNextPage}\n hasPreviousPage={hasPreviousPage}\n onNextPage={onNextPage}\n onPreviousPage={onPreviousPage}\n />\n )}\n </div>\n );\n },\n);\nTable.displayName = \"Table\";\n\nconst TableHeader = React.forwardRef<HTMLTableSectionElement, TableHeaderProps>(\n ({ className, children, ...props }, ref) => (\n <thead\n ref={ref}\n className={clsx(\"[&_tr]:border-b-0\", className)}\n {...props}\n >\n {children}\n </thead>\n ),\n);\nTableHeader.displayName = \"TableHeader\";\n\nconst TableBody = React.forwardRef<HTMLTableSectionElement, TableBodyProps>(\n ({ className, children, ...props }, ref) => (\n <tbody\n ref={ref}\n className={clsx(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n >\n {children}\n </tbody>\n ),\n);\nTableBody.displayName = \"TableBody\";\n\nconst TableRow = React.forwardRef<HTMLTableRowElement, TableRowProps>(\n ({ className, children, ...props }, ref) => (\n <tr\n ref={ref}\n className={clsx(\n \"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted\",\n className,\n )}\n {...props}\n >\n {children}\n </tr>\n ),\n);\nTableRow.displayName = \"TableRow\";\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n TableHeadProps & {\n config: ColumnConfig;\n sortConfig: { key: string; direction: \"asc\" | \"desc\" };\n onSort?: () => void;\n variant?: \"default\" | \"exemptions\";\n }\n>(({ className, config, sortConfig, onSort, ...props }, ref) => {\n const isSorted = sortConfig.key === (config.key || config.label);\n const sortDirection = isSorted ? sortConfig.direction : null;\n\n const getAriaSortValue = (): \"ascending\" | \"descending\" => {\n return sortDirection === \"asc\" ? \"ascending\" : \"descending\";\n };\n\n const renderIcon = (icon: React.ReactNode | CommonIconsType) => {\n switch (icon) {\n case \"info\":\n return <Info />;\n case \"download\":\n return <Download />;\n default:\n return icon;\n }\n };\n\n return (\n <th\n ref={ref}\n className={clsx(\n \"table__cell table__cell--header\",\n {\n \"table__cell--sortable\": config.sortable,\n \"table__cell--action\": config.action,\n },\n className,\n )}\n onClick={config.sortable ? onSort : config.action}\n aria-label={config.ariaLabel}\n aria-sort={isSorted ? getAriaSortValue() : undefined}\n {...props}\n >\n <div className=\"table__cell--header--content\">\n <div>\n <ActionIconText\n icon={renderIcon(config.icon)}\n noIcon={!renderIcon(config.icon)}\n textLabel={config.label}\n iconPosition={config.iconPosition}\n handleIconAction={() => {\n if (config.iconAction) {\n config.iconAction();\n }\n }}\n popupInfo={config.popupInfo}\n positionPopUp={config.popupInfo?.positionPopUp}\n classNameText={\n props.variant && \"fw-bold text-slate-28 fs-custom md-fs-6\"\n }\n />\n </div>\n {config.sortable && (\n <span className=\"sort-indicator\">\n <TriangleUp\n filled={isSorted && sortDirection === \"desc\"}\n className={clsx(\"sort-indicator__triangle\", {\n active: isSorted && sortDirection === \"desc\",\n })}\n />\n <TriangleDown\n filled={isSorted && sortDirection === \"asc\"}\n className={clsx(\"sort-indicator__triangle\", {\n active: isSorted && sortDirection === \"asc\",\n })}\n />\n </span>\n )}\n </div>\n </th>\n );\n});\nTableHead.displayName = \"TableHead\";\n\nconst DoubleLineContent: React.FC<{ data: DoubleLineData }> = ({ data }) => (\n <>\n <div className=\"table__cell--firstLine\">{data.firstLine}</div>\n <div className=\"table__cell--secondLine\">{data.secondLine}</div>\n </>\n);\n\nconst ActionContent: React.FC<{ data: ActionData }> = ({ data }) => {\n if (data.type === \"link\" && data.link) {\n return (\n <a href={data.link} aria-label={data.ariaLabel}>\n {data.label}\n </a>\n );\n }\n return (\n <button onClick={data.action} aria-label={data.ariaLabel}>\n {data.label}\n </button>\n );\n};\n\n// check if we are rendering a double line data\nconst isDoubleLineData = (\n content: TableCellProps[\"content\"],\n): content is DoubleLineData => {\n return (\n typeof content === \"object\" &&\n content !== null &&\n \"firstLine\" in content &&\n \"secondLine\" in content\n );\n};\n\n// check if we are rendering an action data\nconst isActionData = (\n content: TableCellProps[\"content\"],\n): content is ActionData => {\n return (\n typeof content === \"object\" &&\n content !== null &&\n \"label\" in content &&\n \"type\" in content\n );\n};\n\nconst TableCellContent: React.FC<{ content: TableCellProps[\"content\"] }> = ({\n content,\n}) => {\n if (typeof content === \"string\") {\n return <>{content}</>;\n }\n if (isDoubleLineData(content)) {\n return <DoubleLineContent data={content} />;\n }\n if (isActionData(content)) {\n return <ActionContent data={content} />;\n }\n return null;\n};\n\nconst TableCell = React.forwardRef<HTMLTableCellElement, TableCellProps>(\n ({ className, content, type, ...props }, ref) => (\n <td\n ref={ref}\n className={clsx(\n \"table__cell\",\n {\n \"table__cell--double-line\": type === \"double-line\",\n \"table__cell--action\": type === \"action\",\n },\n className,\n )}\n {...props}\n >\n <TableCellContent content={content} />\n </td>\n ),\n);\nTableCell.displayName = \"TableCell\";\n\nconst Pagination: React.FC<PaginationProps> = ({\n currentPage = 1,\n totalResults,\n resultsPerPage,\n currentResultsPerPage,\n setCurrentPage,\n onPageChange,\n className,\n serverSide = false,\n totalItems,\n hasNextPage,\n hasPreviousPage,\n onNextPage,\n onPreviousPage,\n}) => {\n const totalPages = serverSide\n ? Math.ceil((totalItems || totalResults) / resultsPerPage)\n : Math.ceil(totalResults / resultsPerPage);\n\n const handlePageChange = (page: number) => {\n setCurrentPage(page);\n if (onPageChange) {\n onPageChange(page);\n }\n };\n\n const handleNextPage = () => {\n const nextPage = currentPage + 1;\n if (serverSide && onNextPage) {\n onNextPage();\n }\n handlePageChange(nextPage);\n };\n\n const handlePreviousPage = () => {\n const prevPage = currentPage - 1;\n if (serverSide && onPreviousPage) {\n onPreviousPage();\n }\n handlePageChange(prevPage);\n };\n\n const isNextDisabled = serverSide ? !hasNextPage : currentPage === totalPages;\n const isPrevDisabled = serverSide ? !hasPreviousPage : currentPage === 1;\n\n const getPageNumbers = () => {\n const pages = [];\n const maxVisiblePages = 5;\n\n if (totalPages <= maxVisiblePages) {\n for (let i = 1; i <= totalPages; i++) {\n pages.push(i);\n }\n } else {\n pages.push(1);\n\n let start = Math.max(2, currentPage - 1);\n let end = Math.min(totalPages - 1, currentPage + 1);\n\n if (currentPage <= 3) {\n end = 4;\n } else if (currentPage >= totalPages - 2) {\n start = totalPages - 3;\n }\n\n if (start > 2) {\n pages.push(\"...\");\n }\n\n for (let i = start; i <= end; i++) {\n pages.push(i);\n }\n\n if (end < totalPages - 1) {\n pages.push(\"...\");\n }\n\n pages.push(totalPages);\n }\n\n return pages;\n };\n\n return (\n <div className={clsx(\"pagination\", className)}>\n <div className=\"pagination__info\">\n Stai visualizzando{\" \"}\n <span className=\"pagination__info__resultsPerPage\">\n {serverSide\n ? currentResultsPerPage\n : currentPage === totalPages && totalResults % resultsPerPage !== 0\n ? totalResults % resultsPerPage\n : resultsPerPage}\n </span>{\" \"}\n di {serverSide ? totalItems || totalResults : totalResults} risultati\n </div>\n <div className=\"pagination__nav\">\n <button\n className={clsx(\n \"pagination__button\",\n isPrevDisabled && \"pagination__button--disabled\",\n )}\n onClick={handlePreviousPage}\n disabled={isPrevDisabled}\n aria-label=\"Previous page\"\n >\n <svg\n className=\"pagination__button-arrow\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n role=\"presentation\"\n >\n <path d=\"M15 18l-6-6 6-6\" />\n </svg>\n </button>\n\n {getPageNumbers().map((page, index) =>\n page === \"...\" ? (\n <span key={`ellipsis-${index}`} className=\"pagination__ellipsis\">\n ...\n </span>\n ) : (\n <button\n key={page}\n className={clsx(\n \"pagination__button\",\n currentPage === page && \"pagination__button--active\",\n )}\n onClick={() => handlePageChange(page as number)}\n disabled={page === currentPage}\n >\n {page}\n </button>\n ),\n )}\n\n <button\n className={clsx(\n \"pagination__button\",\n isNextDisabled && \"pagination__button--disabled\",\n )}\n onClick={handleNextPage}\n disabled={isNextDisabled}\n aria-label=\"Next page\"\n >\n <svg\n className=\"pagination__button-arrow\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n role=\"presentation\"\n >\n <path d=\"M9 6l6 6-6 6\" />\n </svg>\n </button>\n </div>\n </div>\n );\n};\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableHead,\n TableRow,\n TableCell,\n Pagination,\n};\n"],"names":["Table","React","className","columns","data","pagination","initialCurrentPage","resultsPerPage","defaultSortDirection","setSelectedSort","initialSortConfig","serverSidePagination","totalItems","hasNextPage","hasPreviousPage","onNextPage","onPreviousPage","onPageChange","props","ref","sortConfig","setSortConfig","currentPage","setCurrentPage","useEffect","sortedData","a","b","aValue","bValue","column","col","parseDate","dateStr","datePart","timePart","day","month","year","hours","minutes","dateA","dateB","numA","numB","isDoubleLineData","handleSort","columnKey","newSortConfig","startIndex","endIndex","currentPageData","jsxs","clsx","jsx","TableHeader","TableRow","index","TableHead","TableBody","row","rowIndex","cellIndex","key","value","TableCell","isActionData","Pagination","children","config","onSort","isSorted","sortDirection","getAriaSortValue","renderIcon","icon","Info","Download","ActionIconText","_a","TriangleUp","TriangleDown","DoubleLineContent","Fragment","ActionContent","content","TableCellContent","type","totalResults","currentResultsPerPage","serverSide","totalPages","handlePageChange","page","handleNextPage","nextPage","handlePreviousPage","prevPage","isNextDisabled","isPrevDisabled","getPageNumbers","pages","i","start","end"],"mappings":"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"}
|
package/dist/index.es74.js
CHANGED
@@ -225,7 +225,16 @@ const ii = ({
|
|
225
225
|
onClick: w,
|
226
226
|
disabled: L,
|
227
227
|
"aria-label": "Previous page",
|
228
|
-
children: /* @__PURE__ */ i.jsx(
|
228
|
+
children: /* @__PURE__ */ i.jsx(
|
229
|
+
"svg",
|
230
|
+
{
|
231
|
+
className: "pagination-mobile__button-arrow",
|
232
|
+
viewBox: "0 0 24 24",
|
233
|
+
"aria-hidden": "true",
|
234
|
+
role: "presentation",
|
235
|
+
children: /* @__PURE__ */ i.jsx("path", { d: "M15 18l-6-6 6-6" })
|
236
|
+
}
|
237
|
+
)
|
229
238
|
}
|
230
239
|
),
|
231
240
|
j().map(
|
@@ -260,7 +269,16 @@ const ii = ({
|
|
260
269
|
onClick: V,
|
261
270
|
disabled: k,
|
262
271
|
"aria-label": "Next page",
|
263
|
-
children: /* @__PURE__ */ i.jsx(
|
272
|
+
children: /* @__PURE__ */ i.jsx(
|
273
|
+
"svg",
|
274
|
+
{
|
275
|
+
className: "pagination-mobile__button-arrow",
|
276
|
+
viewBox: "0 0 24 24",
|
277
|
+
"aria-hidden": "true",
|
278
|
+
role: "presentation",
|
279
|
+
children: /* @__PURE__ */ i.jsx("path", { d: "M9 6l6 6-6 6" })
|
280
|
+
}
|
281
|
+
)
|
264
282
|
}
|
265
283
|
)
|
266
284
|
] })
|
package/dist/index.es74.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.es74.js","sources":["../src/components/ui/TableMobile/index.tsx"],"sourcesContent":["import {\r\n ActionData,\r\n ActionIconText,\r\n Col,\r\n ColumnConfig,\r\n DoubleLineData,\r\n Row,\r\n TableRowData,\r\n} from \"@/components\";\r\nimport clsx from \"clsx\";\r\nimport \"./TableMobile.scss\";\r\nimport { Download, Info, TriangleDown, TriangleUp } from \"@/icons\";\r\nimport { ReactNode } from \"react\";\r\nimport * as React from \"react\";\r\nimport { CommonIconsType } from \"@/types/icons.ts\";\r\nimport { useState } from \"react\";\r\n\r\nexport type TableMobileProps = {\r\n data: TableRowData[];\r\n columns: ColumnConfig[];\r\n pagination?: boolean;\r\n resultsPerPage?: number;\r\n totalResults?: number;\r\n initialCurrentPage?: number;\r\n serverSidePagination?: boolean;\r\n totalItems?: number;\r\n hasNextPage?: boolean;\r\n hasPreviousPage?: boolean;\r\n onNextPage?: () => void;\r\n onPreviousPage?: () => void;\r\n onPageChange?: (page: number) => void;\r\n setCurrentPage?: (page: number) => void;\r\n sortConfig?: { key: string; direction: \"asc\" | \"desc\" } | null;\r\n onSortChange?: (key: string, direction: \"asc\" | \"desc\") => void;\r\n};\r\n\r\nexport const TableMobile = ({\r\n data,\r\n columns,\r\n pagination = true,\r\n resultsPerPage = 5,\r\n totalResults,\r\n initialCurrentPage = 1,\r\n serverSidePagination = false,\r\n totalItems,\r\n hasNextPage,\r\n hasPreviousPage,\r\n onNextPage,\r\n onPreviousPage,\r\n onPageChange,\r\n setCurrentPage: externalSetCurrentPage,\r\n sortConfig = null,\r\n onSortChange,\r\n}: TableMobileProps) => {\r\n const [currentPage, setInternalCurrentPage] = useState(initialCurrentPage);\r\n const handleSetCurrentPage = (page: number) => {\r\n setInternalCurrentPage(page);\r\n externalSetCurrentPage?.(page);\r\n };\r\n\r\n const sortedData = React.useMemo(() => {\r\n if (!sortConfig) return data;\r\n\r\n return [...data].sort((a, b) => {\r\n const aValue = a[sortConfig.key];\r\n const bValue = b[sortConfig.key];\r\n\r\n const aText =\r\n typeof aValue === \"object\" && \"firstLine\" in aValue\r\n ? aValue.firstLine\r\n : aValue;\r\n const bText =\r\n typeof bValue === \"object\" && \"firstLine\" in bValue\r\n ? bValue.firstLine\r\n : bValue;\r\n\r\n if (aText < bText) {\r\n return sortConfig.direction === \"asc\" ? -1 : 1;\r\n }\r\n if (aText > bText) {\r\n return sortConfig.direction === \"asc\" ? 1 : -1;\r\n }\r\n return 0;\r\n });\r\n }, [data, sortConfig]);\r\n\r\n const startIndex = serverSidePagination\r\n ? 0\r\n : (currentPage - 1) * resultsPerPage;\r\n const endIndex = serverSidePagination\r\n ? sortedData.length\r\n : Math.min(startIndex + resultsPerPage, sortedData.length);\r\n const currentPageData = sortedData.slice(startIndex, endIndex);\r\n\r\n return (\r\n <Col className={\"w-full h-full\"} gap={\"x16\"}>\r\n {currentPageData.map((data, index) => (\r\n <CardTable\r\n columns={columns}\r\n key={index}\r\n data={data}\r\n sortConfig={sortConfig}\r\n onSortChange={onSortChange}\r\n />\r\n ))}\r\n\r\n {pagination && (\r\n <TableMobilePagination\r\n currentPage={currentPage}\r\n totalResults={totalResults || sortedData.length}\r\n resultsPerPage={resultsPerPage}\r\n setCurrentPage={handleSetCurrentPage}\r\n onPageChange={onPageChange}\r\n serverSide={serverSidePagination}\r\n totalItems={totalItems}\r\n hasNextPage={hasNextPage}\r\n hasPreviousPage={hasPreviousPage}\r\n onNextPage={onNextPage}\r\n onPreviousPage={onPreviousPage}\r\n currentResultsPerPage={\r\n serverSidePagination ? sortedData.length : resultsPerPage\r\n }\r\n className=\"mt-x16\"\r\n />\r\n )}\r\n </Col>\r\n );\r\n};\r\n\r\nexport type CardTableProps = {\r\n columns: ColumnConfig[];\r\n data: TableRowData;\r\n sortConfig: { key: string; direction: \"asc\" | \"desc\" } | null;\r\n onSortChange?: (key: string, direction: \"asc\" | \"desc\") => void;\r\n};\r\n\r\nconst ActionContent: React.FC<{ data: ActionData }> = ({ data }) => {\r\n if (data.type === \"link\" && data.link) {\r\n return (\r\n <a href={data.link} aria-label={data.ariaLabel}>\r\n {data.label}\r\n </a>\r\n );\r\n }\r\n return (\r\n <button onClick={data.action} aria-label={data.ariaLabel}>\r\n {data.label}\r\n </button>\r\n );\r\n};\r\n\r\nexport const CardTable = ({\r\n columns,\r\n sortConfig,\r\n data,\r\n onSortChange,\r\n}: CardTableProps) => {\r\n const renderColumnValue = (value: any): ReactNode => {\r\n if (!value) return \"\";\r\n\r\n if (typeof value === \"object\" && \"firstLine\" in value) {\r\n const doubleLineValue = value as DoubleLineData;\r\n return `${doubleLineValue.firstLine}${doubleLineValue.secondLine ? ` ${doubleLineValue.secondLine}` : \"\"}`;\r\n }\r\n\r\n if (typeof value === \"object\" && \"label\" in value && \"type\" in value) {\r\n return <ActionContent data={value} />;\r\n }\r\n\r\n return value;\r\n };\r\n\r\n const renderIcon = (icon: React.ReactNode | CommonIconsType) => {\r\n switch (icon) {\r\n case \"info\":\r\n return <Info />;\r\n case \"download\":\r\n return <Download />;\r\n default:\r\n return icon;\r\n }\r\n };\r\n\r\n const handleSortClick = (key: string) => {\r\n if (!onSortChange || !sortConfig) return;\r\n\r\n const newDirection =\r\n sortConfig.key === key\r\n ? sortConfig.direction === \"asc\"\r\n ? \"desc\"\r\n : \"asc\"\r\n : \"asc\";\r\n\r\n onSortChange(key, newDirection);\r\n };\r\n\r\n return (\r\n <div\r\n className={clsx(\"ui-card-table shadow br-x4 text-slate-28 fs-custom \")}\r\n >\r\n {columns.map((column, index) => {\r\n if (!column.key || column.key === \"actionData\") {\r\n return (\r\n <Row\r\n key={index}\r\n p={\"x16\"}\r\n className={\"ui-table-header\"}\r\n justifyContent={\"space-between\"}\r\n >\r\n <Col justifyContent={\"end\"} gap={\"x4\"} className={\"w-full\"}>\r\n <Row justifyContent={\"end\"} className=\"table-mobile-actions\">\r\n {renderColumnValue(data.actionData)}\r\n </Row>\r\n </Col>\r\n </Row>\r\n );\r\n }\r\n\r\n const columnValue = data[column.key];\r\n const config = column;\r\n const isSorted = sortConfig?.key === column.key;\r\n const sortDirection = isSorted ? sortConfig.direction : null;\r\n\r\n return (\r\n <Row\r\n key={index}\r\n p={\"x16\"}\r\n className={\"ui-table-header\"}\r\n justifyContent={\"space-between\"}\r\n >\r\n <Col justifyContent={\"center\"} gap={\"x4\"} className={\"w-full\"}>\r\n <ActionIconText\r\n justifyContent={\"space-between\"}\r\n alignItems={\"center\"}\r\n icon={renderIcon(config.icon)}\r\n noIcon={!renderIcon(config.icon)}\r\n textLabel={config.label}\r\n iconPosition={config.iconPosition}\r\n popupInfo={config.popupInfo}\r\n positionPopUp={\"left\"}\r\n classNameText={\"fw-bold text-slate-28 fs-custom md-fs-6\"}\r\n >\r\n {config.sortable && (\r\n <span\r\n className=\"sort-indicator\"\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n handleSortClick(column.key!);\r\n }}\r\n >\r\n <TriangleUp\r\n filled={isSorted && sortDirection === \"desc\"}\r\n className={clsx(\"sort-indicator__triangle\", {\r\n active: isSorted && sortDirection === \"desc\",\r\n })}\r\n />\r\n <TriangleDown\r\n filled={isSorted && sortDirection === \"asc\"}\r\n className={clsx(\"sort-indicator__triangle\", {\r\n active: isSorted && sortDirection === \"asc\",\r\n })}\r\n />\r\n </span>\r\n )}\r\n </ActionIconText>\r\n <Row>{renderColumnValue(columnValue)}</Row>\r\n </Col>\r\n </Row>\r\n );\r\n })}\r\n </div>\r\n );\r\n};\r\n\r\nexport type TableMobilePaginationProps = {\r\n currentPage?: number;\r\n totalResults?: number;\r\n resultsPerPage: number;\r\n setCurrentPage?: (page: number) => void;\r\n onPageChange?: (page: number) => void;\r\n className?: string;\r\n serverSide?: boolean;\r\n totalItems?: number;\r\n hasNextPage?: boolean;\r\n hasPreviousPage?: boolean;\r\n onNextPage?: () => void;\r\n onPreviousPage?: () => void;\r\n currentResultsPerPage?: number;\r\n};\r\n\r\nexport const TableMobilePagination: React.FC<TableMobilePaginationProps> = ({\r\n currentPage = 1,\r\n totalResults = 0,\r\n resultsPerPage,\r\n setCurrentPage,\r\n onPageChange,\r\n className,\r\n serverSide = false,\r\n totalItems,\r\n hasNextPage,\r\n hasPreviousPage,\r\n onNextPage,\r\n onPreviousPage,\r\n currentResultsPerPage = resultsPerPage,\r\n}) => {\r\n const totalPages = serverSide\r\n ? Math.ceil((totalItems || totalResults) / resultsPerPage)\r\n : Math.ceil(totalResults / resultsPerPage);\r\n\r\n const handlePageChange = (page: number) => {\r\n setCurrentPage?.(page);\r\n if (onPageChange) {\r\n onPageChange(page);\r\n }\r\n };\r\n\r\n const handleNextPage = () => {\r\n const nextPage = currentPage + 1;\r\n if (serverSide && onNextPage) {\r\n onNextPage();\r\n }\r\n handlePageChange(nextPage);\r\n };\r\n\r\n const handlePreviousPage = () => {\r\n const prevPage = currentPage - 1;\r\n if (serverSide && onPreviousPage) {\r\n onPreviousPage();\r\n }\r\n handlePageChange(prevPage);\r\n };\r\n\r\n const isNextDisabled = serverSide ? !hasNextPage : currentPage === totalPages;\r\n const isPrevDisabled = serverSide ? !hasPreviousPage : currentPage === 1;\r\n\r\n const getPageNumbers = () => {\r\n const pages = [];\r\n const maxVisiblePages = 5;\r\n\r\n if (totalPages <= maxVisiblePages) {\r\n for (let i = 1; i <= totalPages; i++) {\r\n pages.push(i);\r\n }\r\n } else {\r\n pages.push(1);\r\n\r\n let start = Math.max(2, currentPage - 1);\r\n let end = Math.min(totalPages - 1, currentPage + 1);\r\n\r\n if (currentPage <= 3) {\r\n end = 4;\r\n } else if (currentPage >= totalPages - 2) {\r\n start = totalPages - 3;\r\n }\r\n\r\n if (start > 2) {\r\n pages.push(\"...\");\r\n }\r\n\r\n for (let i = start; i <= end; i++) {\r\n pages.push(i);\r\n }\r\n\r\n if (end < totalPages - 1) {\r\n pages.push(\"...\");\r\n }\r\n\r\n pages.push(totalPages);\r\n }\r\n\r\n return pages;\r\n };\r\n\r\n return (\r\n <div className={clsx(\"pagination-mobile\", className)}>\r\n <div className=\"pagination-mobile__info\">\r\n Stai visualizzando{\" \"}\r\n <span className=\"pagination-mobile__info__resultsPerPage\">\r\n {serverSide\r\n ? currentResultsPerPage\r\n : currentPage === totalPages && totalResults % resultsPerPage !== 0\r\n ? totalResults % resultsPerPage\r\n : resultsPerPage}\r\n </span>{\" \"}\r\n di {serverSide ? totalItems || totalResults : totalResults} risultati\r\n </div>\r\n <div className=\"pagination-mobile__nav\">\r\n <button\r\n className={clsx(\r\n \"pagination-mobile__button\",\r\n isPrevDisabled && \"pagination-mobile__button--disabled\",\r\n )}\r\n onClick={handlePreviousPage}\r\n disabled={isPrevDisabled}\r\n aria-label=\"Previous page\"\r\n >\r\n <svg className=\"pagination-mobile__button-arrow\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n <path d=\"M15 18l-6-6 6-6\" />\r\n </svg>\r\n </button>\r\n\r\n {getPageNumbers().map((page, index) =>\r\n page === \"...\" ? (\r\n <span\r\n key={`ellipsis-${index}`}\r\n className=\"pagination-mobile__ellipsis\"\r\n >\r\n ...\r\n </span>\r\n ) : (\r\n <button\r\n key={page}\r\n className={clsx(\r\n \"pagination-mobile__button\",\r\n currentPage === page && \"pagination-mobile__button--active\",\r\n )}\r\n onClick={() => handlePageChange(page as number)}\r\n disabled={page === currentPage}\r\n >\r\n {page}\r\n </button>\r\n ),\r\n )}\r\n\r\n <button\r\n className={clsx(\r\n \"pagination-mobile__button\",\r\n isNextDisabled && \"pagination-mobile__button--disabled\",\r\n )}\r\n onClick={handleNextPage}\r\n disabled={isNextDisabled}\r\n aria-label=\"Next page\"\r\n >\r\n <svg className=\"pagination-mobile__button-arrow\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n <path d=\"M9 6l6 6-6 6\" />\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n );\r\n};\r\n"],"names":["TableMobile","data","columns","pagination","resultsPerPage","totalResults","initialCurrentPage","serverSidePagination","totalItems","hasNextPage","hasPreviousPage","onNextPage","onPreviousPage","onPageChange","externalSetCurrentPage","sortConfig","onSortChange","currentPage","setInternalCurrentPage","useState","handleSetCurrentPage","page","sortedData","React","a","b","aValue","bValue","aText","bText","startIndex","endIndex","currentPageData","jsxs","Col","index","jsx","CardTable","TableMobilePagination","ActionContent","renderColumnValue","value","doubleLineValue","renderIcon","icon","Info","Download","handleSortClick","key","newDirection","clsx","column","Row","columnValue","config","isSorted","sortDirection","ActionIconText","e","TriangleUp","TriangleDown","setCurrentPage","className","serverSide","currentResultsPerPage","totalPages","handlePageChange","handleNextPage","nextPage","handlePreviousPage","prevPage","isNextDisabled","isPrevDisabled","getPageNumbers","pages","i","start","end"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"index.es74.js","sources":["../src/components/ui/TableMobile/index.tsx"],"sourcesContent":["import {\r\n ActionData,\r\n ActionIconText,\r\n Col,\r\n ColumnConfig,\r\n DoubleLineData,\r\n Row,\r\n TableRowData,\r\n} from \"@/components\";\r\nimport clsx from \"clsx\";\r\nimport \"./TableMobile.scss\";\r\nimport { Download, Info, TriangleDown, TriangleUp } from \"@/icons\";\r\nimport { ReactNode } from \"react\";\r\nimport * as React from \"react\";\r\nimport { CommonIconsType } from \"@/types/icons.ts\";\r\nimport { useState } from \"react\";\r\n\r\nexport type TableMobileProps = {\r\n data: TableRowData[];\r\n columns: ColumnConfig[];\r\n pagination?: boolean;\r\n resultsPerPage?: number;\r\n totalResults?: number;\r\n initialCurrentPage?: number;\r\n serverSidePagination?: boolean;\r\n totalItems?: number;\r\n hasNextPage?: boolean;\r\n hasPreviousPage?: boolean;\r\n onNextPage?: () => void;\r\n onPreviousPage?: () => void;\r\n onPageChange?: (page: number) => void;\r\n setCurrentPage?: (page: number) => void;\r\n sortConfig?: { key: string; direction: \"asc\" | \"desc\" } | null;\r\n onSortChange?: (key: string, direction: \"asc\" | \"desc\") => void;\r\n};\r\n\r\nexport const TableMobile = ({\r\n data,\r\n columns,\r\n pagination = true,\r\n resultsPerPage = 5,\r\n totalResults,\r\n initialCurrentPage = 1,\r\n serverSidePagination = false,\r\n totalItems,\r\n hasNextPage,\r\n hasPreviousPage,\r\n onNextPage,\r\n onPreviousPage,\r\n onPageChange,\r\n setCurrentPage: externalSetCurrentPage,\r\n sortConfig = null,\r\n onSortChange,\r\n}: TableMobileProps) => {\r\n const [currentPage, setInternalCurrentPage] = useState(initialCurrentPage);\r\n const handleSetCurrentPage = (page: number) => {\r\n setInternalCurrentPage(page);\r\n externalSetCurrentPage?.(page);\r\n };\r\n\r\n const sortedData = React.useMemo(() => {\r\n if (!sortConfig) return data;\r\n\r\n return [...data].sort((a, b) => {\r\n const aValue = a[sortConfig.key];\r\n const bValue = b[sortConfig.key];\r\n\r\n const aText =\r\n typeof aValue === \"object\" && \"firstLine\" in aValue\r\n ? aValue.firstLine\r\n : aValue;\r\n const bText =\r\n typeof bValue === \"object\" && \"firstLine\" in bValue\r\n ? bValue.firstLine\r\n : bValue;\r\n\r\n if (aText < bText) {\r\n return sortConfig.direction === \"asc\" ? -1 : 1;\r\n }\r\n if (aText > bText) {\r\n return sortConfig.direction === \"asc\" ? 1 : -1;\r\n }\r\n return 0;\r\n });\r\n }, [data, sortConfig]);\r\n\r\n const startIndex = serverSidePagination\r\n ? 0\r\n : (currentPage - 1) * resultsPerPage;\r\n const endIndex = serverSidePagination\r\n ? sortedData.length\r\n : Math.min(startIndex + resultsPerPage, sortedData.length);\r\n const currentPageData = sortedData.slice(startIndex, endIndex);\r\n\r\n return (\r\n <Col className={\"w-full h-full\"} gap={\"x16\"}>\r\n {currentPageData.map((data, index) => (\r\n <CardTable\r\n columns={columns}\r\n key={index}\r\n data={data}\r\n sortConfig={sortConfig}\r\n onSortChange={onSortChange}\r\n />\r\n ))}\r\n\r\n {pagination && (\r\n <TableMobilePagination\r\n currentPage={currentPage}\r\n totalResults={totalResults || sortedData.length}\r\n resultsPerPage={resultsPerPage}\r\n setCurrentPage={handleSetCurrentPage}\r\n onPageChange={onPageChange}\r\n serverSide={serverSidePagination}\r\n totalItems={totalItems}\r\n hasNextPage={hasNextPage}\r\n hasPreviousPage={hasPreviousPage}\r\n onNextPage={onNextPage}\r\n onPreviousPage={onPreviousPage}\r\n currentResultsPerPage={\r\n serverSidePagination ? sortedData.length : resultsPerPage\r\n }\r\n className=\"mt-x16\"\r\n />\r\n )}\r\n </Col>\r\n );\r\n};\r\n\r\nexport type CardTableProps = {\r\n columns: ColumnConfig[];\r\n data: TableRowData;\r\n sortConfig: { key: string; direction: \"asc\" | \"desc\" } | null;\r\n onSortChange?: (key: string, direction: \"asc\" | \"desc\") => void;\r\n};\r\n\r\nconst ActionContent: React.FC<{ data: ActionData }> = ({ data }) => {\r\n if (data.type === \"link\" && data.link) {\r\n return (\r\n <a href={data.link} aria-label={data.ariaLabel}>\r\n {data.label}\r\n </a>\r\n );\r\n }\r\n return (\r\n <button onClick={data.action} aria-label={data.ariaLabel}>\r\n {data.label}\r\n </button>\r\n );\r\n};\r\n\r\nexport const CardTable = ({\r\n columns,\r\n sortConfig,\r\n data,\r\n onSortChange,\r\n}: CardTableProps) => {\r\n const renderColumnValue = (value: any): ReactNode => {\r\n if (!value) return \"\";\r\n\r\n if (typeof value === \"object\" && \"firstLine\" in value) {\r\n const doubleLineValue = value as DoubleLineData;\r\n return `${doubleLineValue.firstLine}${doubleLineValue.secondLine ? ` ${doubleLineValue.secondLine}` : \"\"}`;\r\n }\r\n\r\n if (typeof value === \"object\" && \"label\" in value && \"type\" in value) {\r\n return <ActionContent data={value} />;\r\n }\r\n\r\n return value;\r\n };\r\n\r\n const renderIcon = (icon: React.ReactNode | CommonIconsType) => {\r\n switch (icon) {\r\n case \"info\":\r\n return <Info />;\r\n case \"download\":\r\n return <Download />;\r\n default:\r\n return icon;\r\n }\r\n };\r\n\r\n const handleSortClick = (key: string) => {\r\n if (!onSortChange || !sortConfig) return;\r\n\r\n const newDirection =\r\n sortConfig.key === key\r\n ? sortConfig.direction === \"asc\"\r\n ? \"desc\"\r\n : \"asc\"\r\n : \"asc\";\r\n\r\n onSortChange(key, newDirection);\r\n };\r\n\r\n return (\r\n <div\r\n className={clsx(\"ui-card-table shadow br-x4 text-slate-28 fs-custom \")}\r\n >\r\n {columns.map((column, index) => {\r\n if (!column.key || column.key === \"actionData\") {\r\n return (\r\n <Row\r\n key={index}\r\n p={\"x16\"}\r\n className={\"ui-table-header\"}\r\n justifyContent={\"space-between\"}\r\n >\r\n <Col justifyContent={\"end\"} gap={\"x4\"} className={\"w-full\"}>\r\n <Row justifyContent={\"end\"} className=\"table-mobile-actions\">\r\n {renderColumnValue(data.actionData)}\r\n </Row>\r\n </Col>\r\n </Row>\r\n );\r\n }\r\n\r\n const columnValue = data[column.key];\r\n const config = column;\r\n const isSorted = sortConfig?.key === column.key;\r\n const sortDirection = isSorted ? sortConfig.direction : null;\r\n\r\n return (\r\n <Row\r\n key={index}\r\n p={\"x16\"}\r\n className={\"ui-table-header\"}\r\n justifyContent={\"space-between\"}\r\n >\r\n <Col justifyContent={\"center\"} gap={\"x4\"} className={\"w-full\"}>\r\n <ActionIconText\r\n justifyContent={\"space-between\"}\r\n alignItems={\"center\"}\r\n icon={renderIcon(config.icon)}\r\n noIcon={!renderIcon(config.icon)}\r\n textLabel={config.label}\r\n iconPosition={config.iconPosition}\r\n popupInfo={config.popupInfo}\r\n positionPopUp={\"left\"}\r\n classNameText={\"fw-bold text-slate-28 fs-custom md-fs-6\"}\r\n >\r\n {config.sortable && (\r\n <span\r\n className=\"sort-indicator\"\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n handleSortClick(column.key!);\r\n }}\r\n >\r\n <TriangleUp\r\n filled={isSorted && sortDirection === \"desc\"}\r\n className={clsx(\"sort-indicator__triangle\", {\r\n active: isSorted && sortDirection === \"desc\",\r\n })}\r\n />\r\n <TriangleDown\r\n filled={isSorted && sortDirection === \"asc\"}\r\n className={clsx(\"sort-indicator__triangle\", {\r\n active: isSorted && sortDirection === \"asc\",\r\n })}\r\n />\r\n </span>\r\n )}\r\n </ActionIconText>\r\n <Row>{renderColumnValue(columnValue)}</Row>\r\n </Col>\r\n </Row>\r\n );\r\n })}\r\n </div>\r\n );\r\n};\r\n\r\nexport type TableMobilePaginationProps = {\r\n currentPage?: number;\r\n totalResults?: number;\r\n resultsPerPage: number;\r\n setCurrentPage?: (page: number) => void;\r\n onPageChange?: (page: number) => void;\r\n className?: string;\r\n serverSide?: boolean;\r\n totalItems?: number;\r\n hasNextPage?: boolean;\r\n hasPreviousPage?: boolean;\r\n onNextPage?: () => void;\r\n onPreviousPage?: () => void;\r\n currentResultsPerPage?: number;\r\n};\r\n\r\nexport const TableMobilePagination: React.FC<TableMobilePaginationProps> = ({\r\n currentPage = 1,\r\n totalResults = 0,\r\n resultsPerPage,\r\n setCurrentPage,\r\n onPageChange,\r\n className,\r\n serverSide = false,\r\n totalItems,\r\n hasNextPage,\r\n hasPreviousPage,\r\n onNextPage,\r\n onPreviousPage,\r\n currentResultsPerPage = resultsPerPage,\r\n}) => {\r\n const totalPages = serverSide\r\n ? Math.ceil((totalItems || totalResults) / resultsPerPage)\r\n : Math.ceil(totalResults / resultsPerPage);\r\n\r\n const handlePageChange = (page: number) => {\r\n setCurrentPage?.(page);\r\n if (onPageChange) {\r\n onPageChange(page);\r\n }\r\n };\r\n\r\n const handleNextPage = () => {\r\n const nextPage = currentPage + 1;\r\n if (serverSide && onNextPage) {\r\n onNextPage();\r\n }\r\n handlePageChange(nextPage);\r\n };\r\n\r\n const handlePreviousPage = () => {\r\n const prevPage = currentPage - 1;\r\n if (serverSide && onPreviousPage) {\r\n onPreviousPage();\r\n }\r\n handlePageChange(prevPage);\r\n };\r\n\r\n const isNextDisabled = serverSide ? !hasNextPage : currentPage === totalPages;\r\n const isPrevDisabled = serverSide ? !hasPreviousPage : currentPage === 1;\r\n\r\n const getPageNumbers = () => {\r\n const pages = [];\r\n const maxVisiblePages = 5;\r\n\r\n if (totalPages <= maxVisiblePages) {\r\n for (let i = 1; i <= totalPages; i++) {\r\n pages.push(i);\r\n }\r\n } else {\r\n pages.push(1);\r\n\r\n let start = Math.max(2, currentPage - 1);\r\n let end = Math.min(totalPages - 1, currentPage + 1);\r\n\r\n if (currentPage <= 3) {\r\n end = 4;\r\n } else if (currentPage >= totalPages - 2) {\r\n start = totalPages - 3;\r\n }\r\n\r\n if (start > 2) {\r\n pages.push(\"...\");\r\n }\r\n\r\n for (let i = start; i <= end; i++) {\r\n pages.push(i);\r\n }\r\n\r\n if (end < totalPages - 1) {\r\n pages.push(\"...\");\r\n }\r\n\r\n pages.push(totalPages);\r\n }\r\n\r\n return pages;\r\n };\r\n\r\n return (\r\n <div className={clsx(\"pagination-mobile\", className)}>\r\n <div className=\"pagination-mobile__info\">\r\n Stai visualizzando{\" \"}\r\n <span className=\"pagination-mobile__info__resultsPerPage\">\r\n {serverSide\r\n ? currentResultsPerPage\r\n : currentPage === totalPages && totalResults % resultsPerPage !== 0\r\n ? totalResults % resultsPerPage\r\n : resultsPerPage}\r\n </span>{\" \"}\r\n di {serverSide ? totalItems || totalResults : totalResults} risultati\r\n </div>\r\n <div className=\"pagination-mobile__nav\">\r\n <button\r\n className={clsx(\r\n \"pagination-mobile__button\",\r\n isPrevDisabled && \"pagination-mobile__button--disabled\",\r\n )}\r\n onClick={handlePreviousPage}\r\n disabled={isPrevDisabled}\r\n aria-label=\"Previous page\"\r\n >\r\n <svg\r\n className=\"pagination-mobile__button-arrow\"\r\n viewBox=\"0 0 24 24\"\r\n aria-hidden=\"true\"\r\n role=\"presentation\"\r\n >\r\n <path d=\"M15 18l-6-6 6-6\" />\r\n </svg>\r\n </button>\r\n\r\n {getPageNumbers().map((page, index) =>\r\n page === \"...\" ? (\r\n <span\r\n key={`ellipsis-${index}`}\r\n className=\"pagination-mobile__ellipsis\"\r\n >\r\n ...\r\n </span>\r\n ) : (\r\n <button\r\n key={page}\r\n className={clsx(\r\n \"pagination-mobile__button\",\r\n currentPage === page && \"pagination-mobile__button--active\",\r\n )}\r\n onClick={() => handlePageChange(page as number)}\r\n disabled={page === currentPage}\r\n >\r\n {page}\r\n </button>\r\n ),\r\n )}\r\n\r\n <button\r\n className={clsx(\r\n \"pagination-mobile__button\",\r\n isNextDisabled && \"pagination-mobile__button--disabled\",\r\n )}\r\n onClick={handleNextPage}\r\n disabled={isNextDisabled}\r\n aria-label=\"Next page\"\r\n >\r\n <svg\r\n className=\"pagination-mobile__button-arrow\"\r\n viewBox=\"0 0 24 24\"\r\n aria-hidden=\"true\"\r\n role=\"presentation\"\r\n >\r\n <path d=\"M9 6l6 6-6 6\" />\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n );\r\n};\r\n"],"names":["TableMobile","data","columns","pagination","resultsPerPage","totalResults","initialCurrentPage","serverSidePagination","totalItems","hasNextPage","hasPreviousPage","onNextPage","onPreviousPage","onPageChange","externalSetCurrentPage","sortConfig","onSortChange","currentPage","setInternalCurrentPage","useState","handleSetCurrentPage","page","sortedData","React","a","b","aValue","bValue","aText","bText","startIndex","endIndex","currentPageData","jsxs","Col","index","jsx","CardTable","TableMobilePagination","ActionContent","renderColumnValue","value","doubleLineValue","renderIcon","icon","Info","Download","handleSortClick","key","newDirection","clsx","column","Row","columnValue","config","isSorted","sortDirection","ActionIconText","e","TriangleUp","TriangleDown","setCurrentPage","className","serverSide","currentResultsPerPage","totalPages","handlePageChange","handleNextPage","nextPage","handlePreviousPage","prevPage","isNextDisabled","isPrevDisabled","getPageNumbers","pages","i","start","end"],"mappings":"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"}
|
package/package.json
CHANGED
package/dist/index.cjs473.js
DELETED
@@ -1,2 +0,0 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),c=require("./index.cjs526.js");function a(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const o=a(u);var i=o[" useId ".trim().toString()]||(()=>{}),s=0;function d(e){const[t,r]=o.useState(i());return c.useLayoutEffect(()=>{r(n=>n??String(s++))},[e]),e||(t?`radix-${t}`:"")}exports.useId=d;
|
2
|
-
//# sourceMappingURL=index.cjs473.js.map
|
package/dist/index.cjs473.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.cjs473.js","sources":["../node_modules/@radix-ui/react-id/dist/index.mjs"],"sourcesContent":["// packages/react/id/src/id.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useReactId = React[\" useId \".trim().toString()] || (() => void 0);\nvar count = 0;\nfunction useId(deterministicId) {\n const [id, setId] = React.useState(useReactId());\n useLayoutEffect(() => {\n if (!deterministicId) setId((reactId) => reactId ?? String(count++));\n }, [deterministicId]);\n return deterministicId || (id ? `radix-${id}` : \"\");\n}\nexport {\n useId\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["useReactId","React","count","useId","deterministicId","id","setId","useLayoutEffect","reactId"],"mappings":"kaAGA,IAAIA,EAAaC,EAAM,UAAU,KAAM,EAAC,SAAU,CAAA,IAAM,IAAA,IACpDC,EAAQ,EACZ,SAASC,EAAMC,EAAiB,CAC9B,KAAM,CAACC,EAAIC,CAAK,EAAIL,EAAM,SAASD,GAAY,EAC/CO,OAAAA,EAAAA,gBAAgB,IAAM,CACED,EAAOE,GAAYA,GAAW,OAAON,GAAO,CAAC,CACvE,EAAK,CAACE,CAAe,CAAC,EACbA,IAAoBC,EAAK,SAASA,CAAE,GAAK,GAClD","x_google_ignoreList":[0]}
|
package/dist/index.cjs474.js
DELETED
@@ -1,2 +0,0 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react");function c(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const u=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,u.get?u:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const n=c(o);function s(e){const t=n.useRef({value:e,previous:e});return n.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}exports.usePrevious=s;
|
2
|
-
//# sourceMappingURL=index.cjs474.js.map
|
package/dist/index.cjs474.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.cjs474.js","sources":["../node_modules/@radix-ui/react-use-previous/dist/index.mjs"],"sourcesContent":["// packages/react/use-previous/src/use-previous.tsx\nimport * as React from \"react\";\nfunction usePrevious(value) {\n const ref = React.useRef({ value, previous: value });\n return React.useMemo(() => {\n if (ref.current.value !== value) {\n ref.current.previous = ref.current.value;\n ref.current.value = value;\n }\n return ref.current.previous;\n }, [value]);\n}\nexport {\n usePrevious\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["usePrevious","value","ref","React"],"mappings":"mYAEA,SAASA,EAAYC,EAAO,CAC1B,MAAMC,EAAMC,EAAM,OAAO,CAAE,MAAAF,EAAO,SAAUA,EAAO,EACnD,OAAOE,EAAM,QAAQ,KACfD,EAAI,QAAQ,QAAUD,IACxBC,EAAI,QAAQ,SAAWA,EAAI,QAAQ,MACnCA,EAAI,QAAQ,MAAQD,GAEfC,EAAI,QAAQ,UAClB,CAACD,CAAK,CAAC,CACZ","x_google_ignoreList":[0]}
|
package/dist/index.cjs483.js
DELETED
@@ -1,2 +0,0 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const q=require("react"),y=require("./index.cjs467.js"),p=require("./index.cjs471.js"),R=require("./index.cjs468.js"),x=require("./index.cjs521.js"),H=require("./index.cjs528.js"),w=require("./index.cjs243.js");function U(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const s=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,s.get?s:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const o=U(q);var z="DismissableLayer",h="dismissableLayer.update",M="dismissableLayer.pointerDownOutside",$="dismissableLayer.focusOutside",L,T=o.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),S=o.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:s,onPointerDownOutside:r,onFocusOutside:a,onInteractOutside:l,onDismiss:d,...v}=e,c=o.useContext(T),[u,F]=o.useState(null),f=(u==null?void 0:u.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,N]=o.useState({}),W=R.useComposedRefs(t,i=>F(i)),m=Array.from(c.layers),[_]=[...c.layersWithOutsidePointerEventsDisabled].slice(-1),A=m.indexOf(_),P=u?m.indexOf(u):-1,k=c.layersWithOutsidePointerEventsDisabled.size>0,D=P>=A,I=Y(i=>{const E=i.target,C=[...c.branches].some(b=>b.contains(E));!D||C||(r==null||r(i),l==null||l(i),i.defaultPrevented||d==null||d())},f),O=G(i=>{const E=i.target;[...c.branches].some(b=>b.contains(E))||(a==null||a(i),l==null||l(i),i.defaultPrevented||d==null||d())},f);return H.useEscapeKeydown(i=>{P===c.layers.size-1&&(s==null||s(i),!i.defaultPrevented&&d&&(i.preventDefault(),d()))},f),o.useEffect(()=>{if(u)return n&&(c.layersWithOutsidePointerEventsDisabled.size===0&&(L=f.body.style.pointerEvents,f.body.style.pointerEvents="none"),c.layersWithOutsidePointerEventsDisabled.add(u)),c.layers.add(u),g(),()=>{n&&c.layersWithOutsidePointerEventsDisabled.size===1&&(f.body.style.pointerEvents=L)}},[u,f,n,c]),o.useEffect(()=>()=>{u&&(c.layers.delete(u),c.layersWithOutsidePointerEventsDisabled.delete(u),g())},[u,c]),o.useEffect(()=>{const i=()=>N({});return document.addEventListener(h,i),()=>document.removeEventListener(h,i)},[]),w.jsxRuntimeExports.jsx(p.Primitive.div,{...v,ref:W,style:{pointerEvents:k?D?"auto":"none":void 0,...e.style},onFocusCapture:y.composeEventHandlers(e.onFocusCapture,O.onFocusCapture),onBlurCapture:y.composeEventHandlers(e.onBlurCapture,O.onBlurCapture),onPointerDownCapture:y.composeEventHandlers(e.onPointerDownCapture,I.onPointerDownCapture)})});S.displayName=z;var X="DismissableLayerBranch",B=o.forwardRef((e,t)=>{const n=o.useContext(T),s=o.useRef(null),r=R.useComposedRefs(t,s);return o.useEffect(()=>{const a=s.current;if(a)return n.branches.add(a),()=>{n.branches.delete(a)}},[n.branches]),w.jsxRuntimeExports.jsx(p.Primitive.div,{...e,ref:r})});B.displayName=X;function Y(e,t=globalThis==null?void 0:globalThis.document){const n=x.useCallbackRef(e),s=o.useRef(!1),r=o.useRef(()=>{});return o.useEffect(()=>{const a=d=>{if(d.target&&!s.current){let v=function(){j(M,n,c,{discrete:!0})};const c={originalEvent:d};d.pointerType==="touch"?(t.removeEventListener("click",r.current),r.current=v,t.addEventListener("click",r.current,{once:!0})):v()}else t.removeEventListener("click",r.current);s.current=!1},l=window.setTimeout(()=>{t.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(l),t.removeEventListener("pointerdown",a),t.removeEventListener("click",r.current)}},[t,n]),{onPointerDownCapture:()=>s.current=!0}}function G(e,t=globalThis==null?void 0:globalThis.document){const n=x.useCallbackRef(e),s=o.useRef(!1);return o.useEffect(()=>{const r=a=>{a.target&&!s.current&&j($,n,{originalEvent:a},{discrete:!1})};return t.addEventListener("focusin",r),()=>t.removeEventListener("focusin",r)},[t,n]),{onFocusCapture:()=>s.current=!0,onBlurCapture:()=>s.current=!1}}function g(){const e=new CustomEvent(h);document.dispatchEvent(e)}function j(e,t,n,{discrete:s}){const r=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),s?p.dispatchDiscreteCustomEvent(r,a):r.dispatchEvent(a)}exports.DismissableLayer=S;exports.DismissableLayerBranch=B;
|
2
|
-
//# sourceMappingURL=index.cjs483.js.map
|