@anoki/fse-ui 1.0.0-beta1.48.15 → 1.0.0-beta1.48.17
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.cjs10.js +1 -1
- package/dist/index.cjs156.js +1 -1
- package/dist/index.cjs157.js +1 -1
- package/dist/index.cjs158.js +1 -1
- package/dist/index.cjs159.js +1 -1
- package/dist/index.cjs160.js +1 -1
- package/dist/index.cjs161.js +1 -1
- package/dist/index.cjs162.js +1 -1
- package/dist/index.cjs163.js +1 -1
- package/dist/index.cjs164.js +1 -1
- package/dist/index.cjs165.js +1 -1
- package/dist/index.cjs166.js +1 -1
- package/dist/index.cjs167.js +1 -1
- package/dist/index.cjs168.js +1 -1
- package/dist/index.cjs169.js +1 -1
- package/dist/index.cjs170.js +1 -1
- package/dist/index.cjs171.js +1 -1
- package/dist/index.cjs172.js +1 -1
- package/dist/index.cjs173.js +1 -1
- package/dist/index.cjs174.js +1 -1
- package/dist/index.cjs175.js +1 -1
- package/dist/index.cjs176.js +1 -1
- package/dist/index.cjs177.js +1 -1
- package/dist/index.cjs178.js +1 -1
- package/dist/index.cjs182.js +1 -1
- package/dist/index.cjs183.js +1 -1
- package/dist/index.cjs184.js +1 -1
- package/dist/index.cjs186.js +1 -1
- package/dist/index.cjs187.js +1 -1
- package/dist/index.cjs188.js +1 -1
- package/dist/index.cjs189.js +1 -1
- package/dist/index.cjs190.js +1 -1
- package/dist/index.cjs191.js +1 -1
- package/dist/index.cjs192.js +1 -1
- package/dist/index.cjs193.js +1 -1
- package/dist/index.cjs194.js +1 -1
- package/dist/index.cjs196.js +1 -1
- package/dist/index.cjs197.js +1 -1
- package/dist/index.cjs198.js +1 -1
- package/dist/index.cjs199.js +1 -1
- package/dist/index.cjs200.js +1 -1
- package/dist/index.cjs201.js +1 -1
- package/dist/index.cjs202.js +1 -1
- package/dist/index.cjs205.js +1 -1
- package/dist/index.cjs206.js +1 -1
- package/dist/index.cjs207.js +1 -1
- package/dist/index.cjs208.js +1 -1
- package/dist/index.cjs209.js +1 -1
- package/dist/index.cjs210.js +1 -1
- package/dist/index.cjs211.js +1 -1
- package/dist/index.cjs212.js +1 -1
- package/dist/index.cjs213.js +1 -1
- package/dist/index.cjs214.js +1 -1
- package/dist/index.cjs220.js +1 -1
- package/dist/index.cjs222.js +1 -1
- package/dist/index.cjs223.js +1 -1
- package/dist/index.cjs24.js +1 -1
- package/dist/index.cjs247.js +1 -1
- package/dist/index.cjs254.js +1 -1
- package/dist/index.cjs273.js +1 -1
- package/dist/index.cjs273.js.map +1 -1
- package/dist/index.cjs274.js +2 -0
- package/dist/index.cjs274.js.map +1 -0
- package/dist/index.cjs28.js +1 -1
- package/dist/index.cjs283.js +1 -1
- package/dist/index.cjs292.js +1 -1
- package/dist/index.cjs295.js +1 -1
- package/dist/index.cjs297.js +1 -1
- package/dist/index.cjs305.js +1 -1
- package/dist/index.cjs316.js +1 -1
- package/dist/index.cjs321.js +1 -1
- package/dist/index.cjs323.js +1 -1
- package/dist/index.cjs33.js.map +1 -1
- package/dist/index.cjs330.js +1 -1
- package/dist/index.cjs335.js +1 -1
- package/dist/index.cjs346.js +1 -1
- package/dist/index.cjs352.js +1 -1
- package/dist/index.cjs353.js +1 -1
- package/dist/index.cjs354.js +1 -1
- package/dist/index.cjs372.js +1 -1
- package/dist/index.cjs373.js +1 -1
- package/dist/index.cjs395.js +1 -1
- package/dist/index.cjs413.js +1 -1
- package/dist/index.cjs435.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 +1 -27
- package/dist/index.cjs455.js.map +1 -1
- package/dist/index.cjs456.js +2 -1
- package/dist/index.cjs456.js.map +1 -1
- package/dist/index.cjs457.js +27 -1
- 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 +1 -2
- 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.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.cjs471.js.map +1 -1
- package/dist/index.cjs472.js +2 -0
- package/dist/index.cjs472.js.map +1 -0
- package/dist/index.cjs473.js +2 -0
- package/dist/index.cjs473.js.map +1 -0
- package/dist/index.cjs476.js +1 -1
- package/dist/{index.cjs494.js → index.cjs477.js} +2 -2
- package/dist/{index.cjs494.js.map → index.cjs477.js.map} +1 -1
- package/dist/index.cjs483.js +1 -1
- package/dist/index.cjs483.js.map +1 -1
- package/dist/index.cjs484.js +1 -1
- package/dist/index.cjs484.js.map +1 -1
- package/dist/index.cjs485.js +1 -1
- package/dist/index.cjs485.js.map +1 -1
- package/dist/index.cjs486.js +1 -1
- package/dist/index.cjs486.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 +2 -0
- package/dist/index.cjs489.js.map +1 -0
- package/dist/index.cjs508.js +1 -1
- package/dist/{index.cjs515.js → index.cjs512.js} +1 -1
- package/dist/index.cjs512.js.map +1 -0
- package/dist/index.cjs513.js +2 -0
- package/dist/index.cjs513.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.cjs524.js +1 -1
- package/dist/index.cjs525.js +1 -1
- package/dist/index.cjs527.js +1 -1
- package/dist/index.cjs527.js.map +1 -1
- package/dist/index.cjs528.js +1 -1
- package/dist/index.cjs528.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.cjs535.js.map +1 -1
- package/dist/index.cjs536.js +1 -1
- package/dist/index.cjs536.js.map +1 -1
- package/dist/index.cjs537.js +1 -1
- package/dist/index.cjs537.js.map +1 -1
- package/dist/index.cjs538.js +1 -1
- package/dist/index.cjs538.js.map +1 -1
- package/dist/index.cjs539.js +1 -1
- package/dist/index.cjs539.js.map +1 -1
- package/dist/index.cjs540.js +1 -1
- package/dist/index.cjs540.js.map +1 -1
- package/dist/index.cjs541.js +1 -1
- package/dist/index.cjs541.js.map +1 -1
- package/dist/index.cjs542.js +1 -1
- package/dist/index.cjs542.js.map +1 -1
- package/dist/index.cjs543.js +1 -1
- package/dist/index.cjs543.js.map +1 -1
- package/dist/index.cjs544.js +1 -1
- package/dist/index.cjs544.js.map +1 -1
- package/dist/index.cjs545.js +1 -1
- package/dist/index.cjs545.js.map +1 -1
- package/dist/index.cjs546.js +1 -1
- package/dist/index.cjs546.js.map +1 -1
- package/dist/index.cjs547.js +1 -1
- package/dist/index.cjs547.js.map +1 -1
- package/dist/index.cjs548.js +1 -1
- package/dist/index.cjs548.js.map +1 -1
- package/dist/index.cjs549.js +1 -1
- package/dist/index.cjs549.js.map +1 -1
- package/dist/index.cjs550.js +1 -1
- package/dist/index.cjs550.js.map +1 -1
- package/dist/index.cjs551.js +1 -1
- package/dist/index.cjs551.js.map +1 -1
- package/dist/index.cjs552.js +1 -1
- package/dist/index.cjs552.js.map +1 -1
- package/dist/index.cjs553.js +1 -1
- package/dist/index.cjs553.js.map +1 -1
- package/dist/index.cjs554.js +1 -1
- package/dist/index.cjs554.js.map +1 -1
- package/dist/index.cjs555.js +1 -1
- package/dist/index.cjs555.js.map +1 -1
- package/dist/index.cjs556.js +1 -1
- package/dist/index.cjs556.js.map +1 -1
- package/dist/index.cjs557.js +1 -1
- package/dist/index.cjs557.js.map +1 -1
- package/dist/index.cjs558.js +1 -1
- package/dist/index.cjs558.js.map +1 -1
- package/dist/index.cjs559.js +1 -1
- package/dist/index.cjs559.js.map +1 -1
- package/dist/index.cjs560.js +1 -1
- package/dist/index.cjs560.js.map +1 -1
- package/dist/index.cjs561.js +1 -1
- package/dist/index.cjs561.js.map +1 -1
- package/dist/index.cjs563.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 +38 -1
- package/dist/index.cjs580.js.map +1 -1
- package/dist/index.cjs581.js +1 -1
- package/dist/index.cjs581.js.map +1 -1
- package/dist/index.cjs582.js +1 -1
- package/dist/index.cjs582.js.map +1 -1
- package/dist/index.cjs583.js +1 -38
- package/dist/index.cjs583.js.map +1 -1
- package/dist/index.cjs584.js +1 -1
- package/dist/index.cjs584.js.map +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.cjs6.js +1 -1
- package/dist/index.cjs64.js +1 -1
- package/dist/index.cjs69.js.map +1 -1
- package/dist/index.cjs7.js +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.cjs8.js +1 -1
- package/dist/index.cjs9.js +1 -1
- package/dist/index.es10.js +2 -2
- package/dist/index.es156.js +1 -1
- package/dist/index.es157.js +1 -1
- package/dist/index.es158.js +1 -1
- package/dist/index.es159.js +1 -1
- package/dist/index.es160.js +1 -1
- package/dist/index.es161.js +1 -1
- package/dist/index.es162.js +1 -1
- package/dist/index.es163.js +1 -1
- package/dist/index.es164.js +1 -1
- package/dist/index.es165.js +1 -1
- package/dist/index.es166.js +1 -1
- package/dist/index.es167.js +1 -1
- package/dist/index.es168.js +1 -1
- package/dist/index.es169.js +1 -1
- package/dist/index.es170.js +1 -1
- package/dist/index.es171.js +1 -1
- package/dist/index.es172.js +1 -1
- package/dist/index.es173.js +1 -1
- package/dist/index.es174.js +1 -1
- package/dist/index.es175.js +1 -1
- package/dist/index.es176.js +1 -1
- package/dist/index.es177.js +1 -1
- package/dist/index.es178.js +1 -1
- package/dist/index.es182.js +1 -1
- package/dist/index.es183.js +1 -1
- package/dist/index.es184.js +1 -1
- package/dist/index.es186.js +1 -1
- package/dist/index.es187.js +1 -1
- package/dist/index.es188.js +1 -1
- package/dist/index.es189.js +1 -1
- package/dist/index.es190.js +1 -1
- package/dist/index.es191.js +1 -1
- package/dist/index.es192.js +1 -1
- package/dist/index.es193.js +1 -1
- package/dist/index.es194.js +1 -1
- package/dist/index.es196.js +1 -1
- package/dist/index.es197.js +1 -1
- package/dist/index.es198.js +1 -1
- package/dist/index.es199.js +1 -1
- package/dist/index.es200.js +1 -1
- package/dist/index.es201.js +1 -1
- package/dist/index.es202.js +1 -1
- package/dist/index.es205.js +1 -1
- package/dist/index.es206.js +1 -1
- package/dist/index.es207.js +1 -1
- package/dist/index.es208.js +1 -1
- package/dist/index.es209.js +1 -1
- package/dist/index.es210.js +1 -1
- package/dist/index.es211.js +1 -1
- package/dist/index.es212.js +1 -1
- package/dist/index.es213.js +1 -1
- package/dist/index.es214.js +1 -1
- package/dist/index.es220.js +1 -1
- package/dist/index.es222.js +1 -1
- package/dist/index.es223.js +1 -1
- package/dist/index.es24.js +1 -1
- package/dist/index.es247.js +1 -1
- package/dist/index.es254.js +2 -2
- package/dist/index.es273.js +2 -27
- package/dist/index.es273.js.map +1 -1
- package/dist/index.es274.js +30 -0
- package/dist/index.es274.js.map +1 -0
- package/dist/index.es28.js +1 -1
- package/dist/index.es283.js +1 -1
- package/dist/index.es292.js +7 -7
- package/dist/index.es295.js +1 -1
- package/dist/index.es297.js +1 -1
- package/dist/index.es305.js +5 -5
- package/dist/index.es316.js +1 -1
- package/dist/index.es321.js +1 -1
- package/dist/index.es323.js +13 -13
- package/dist/index.es33.js.map +1 -1
- package/dist/index.es330.js +1 -1
- package/dist/index.es335.js +1 -1
- package/dist/index.es346.js +1 -1
- package/dist/index.es352.js +1 -1
- package/dist/index.es353.js +1 -1
- package/dist/index.es354.js +5 -5
- package/dist/index.es372.js +6 -6
- package/dist/index.es373.js +2 -2
- package/dist/index.es395.js +4 -4
- package/dist/index.es413.js +8 -8
- package/dist/index.es435.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 +5 -3674
- package/dist/index.es455.js.map +1 -1
- package/dist/index.es456.js +520 -5
- package/dist/index.es456.js.map +1 -1
- package/dist/index.es457.js +3675 -2
- 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 +2 -521
- package/dist/index.es459.js.map +1 -1
- package/dist/index.es464.js +15 -7
- package/dist/index.es464.js.map +1 -1
- package/dist/index.es467.js +6 -29
- package/dist/index.es467.js.map +1 -1
- package/dist/index.es468.js +26 -32
- package/dist/index.es468.js.map +1 -1
- package/dist/index.es469.js +63 -617
- package/dist/index.es469.js.map +1 -1
- package/dist/index.es470.js +29 -10
- package/dist/index.es470.js.map +1 -1
- package/dist/index.es471.js +33 -15
- package/dist/index.es471.js.map +1 -1
- package/dist/index.es472.js +625 -0
- package/dist/index.es472.js.map +1 -0
- package/dist/index.es473.js +14 -0
- package/dist/index.es473.js.map +1 -0
- package/dist/index.es476.js +1 -1
- package/dist/{index.es494.js → index.es477.js} +2 -2
- package/dist/{index.es494.js.map → index.es477.js.map} +1 -1
- package/dist/index.es483.js +116 -126
- package/dist/index.es483.js.map +1 -1
- package/dist/index.es484.js +134 -13
- package/dist/index.es484.js.map +1 -1
- package/dist/index.es485.js +13 -14
- package/dist/index.es485.js.map +1 -1
- package/dist/index.es486.js +14 -8
- package/dist/index.es486.js.map +1 -1
- package/dist/index.es487.js +9 -50
- package/dist/index.es487.js.map +1 -1
- package/dist/index.es488.js +49 -55
- package/dist/index.es488.js.map +1 -1
- package/dist/index.es489.js +59 -0
- package/dist/index.es489.js.map +1 -0
- package/dist/index.es508.js +1 -1
- package/dist/{index.es515.js → index.es512.js} +1 -1
- package/dist/index.es512.js.map +1 -0
- package/dist/index.es513.js +5 -0
- package/dist/index.es513.js.map +1 -0
- package/dist/index.es516.js +5 -2
- package/dist/index.es516.js.map +1 -1
- package/dist/index.es522.js +3 -3
- package/dist/index.es524.js +6 -6
- package/dist/index.es525.js +6 -6
- package/dist/index.es527.js +2 -14
- package/dist/index.es527.js.map +1 -1
- package/dist/index.es528.js +14 -2
- package/dist/index.es528.js.map +1 -1
- package/dist/index.es529.js +22 -202
- package/dist/index.es529.js.map +1 -1
- package/dist/index.es530.js +27 -20
- package/dist/index.es530.js.map +1 -1
- package/dist/index.es531.js +5 -393
- package/dist/index.es531.js.map +1 -1
- package/dist/index.es532.js +202 -22
- package/dist/index.es532.js.map +1 -1
- package/dist/index.es533.js +20 -27
- package/dist/index.es533.js.map +1 -1
- package/dist/index.es534.js +393 -5
- package/dist/index.es534.js.map +1 -1
- package/dist/index.es535.js +83 -5
- package/dist/index.es535.js.map +1 -1
- package/dist/index.es536.js +5 -16
- package/dist/index.es536.js.map +1 -1
- package/dist/index.es537.js +15 -12
- package/dist/index.es537.js.map +1 -1
- package/dist/index.es538.js +13 -36
- package/dist/index.es538.js.map +1 -1
- package/dist/index.es539.js +36 -5
- package/dist/index.es539.js.map +1 -1
- package/dist/index.es540.js +5 -2
- package/dist/index.es540.js.map +1 -1
- package/dist/index.es541.js +2 -3
- package/dist/index.es541.js.map +1 -1
- package/dist/index.es542.js +3 -7
- package/dist/index.es542.js.map +1 -1
- package/dist/index.es543.js +7 -6
- package/dist/index.es543.js.map +1 -1
- package/dist/index.es544.js +6 -5
- package/dist/index.es544.js.map +1 -1
- package/dist/index.es545.js +5 -32
- package/dist/index.es545.js.map +1 -1
- package/dist/index.es546.js +32 -242
- package/dist/index.es546.js.map +1 -1
- package/dist/index.es547.js +242 -4
- package/dist/index.es547.js.map +1 -1
- package/dist/index.es548.js +4 -5
- package/dist/index.es548.js.map +1 -1
- package/dist/index.es549.js +4 -9
- package/dist/index.es549.js.map +1 -1
- package/dist/index.es550.js +9 -55
- package/dist/index.es550.js.map +1 -1
- package/dist/index.es551.js +55 -7
- package/dist/index.es551.js.map +1 -1
- package/dist/index.es552.js +7 -5
- package/dist/index.es552.js.map +1 -1
- package/dist/index.es553.js +5 -532
- package/dist/index.es553.js.map +1 -1
- package/dist/index.es554.js +532 -13
- package/dist/index.es554.js.map +1 -1
- package/dist/index.es555.js +14 -2
- package/dist/index.es555.js.map +1 -1
- package/dist/index.es556.js +2 -37
- package/dist/index.es556.js.map +1 -1
- package/dist/index.es557.js +37 -2
- package/dist/index.es557.js.map +1 -1
- package/dist/index.es558.js +2 -273
- package/dist/index.es558.js.map +1 -1
- package/dist/index.es559.js +273 -3
- package/dist/index.es559.js.map +1 -1
- package/dist/index.es560.js +3 -30
- package/dist/index.es560.js.map +1 -1
- package/dist/index.es561.js +28 -81
- package/dist/index.es561.js.map +1 -1
- package/dist/index.es563.js +1 -1
- package/dist/index.es565.js +5 -5
- package/dist/index.es566.js +1 -1
- package/dist/index.es570.js +6 -2
- package/dist/index.es570.js.map +1 -1
- package/dist/index.es571.js +16 -2
- 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 +2 -6
- package/dist/index.es573.js.map +1 -1
- package/dist/index.es574.js +2 -16
- package/dist/index.es574.js.map +1 -1
- package/dist/index.es580.js +64 -518
- package/dist/index.es580.js.map +1 -1
- package/dist/index.es581.js +8 -126
- package/dist/index.es581.js.map +1 -1
- package/dist/index.es582.js +13 -128
- package/dist/index.es582.js.map +1 -1
- package/dist/index.es583.js +61 -68
- package/dist/index.es583.js.map +1 -1
- package/dist/index.es584.js +64 -8
- package/dist/index.es584.js.map +1 -1
- package/dist/index.es585.js +520 -11
- package/dist/index.es585.js.map +1 -1
- package/dist/index.es586.js +126 -61
- package/dist/index.es586.js.map +1 -1
- package/dist/index.es587.js +125 -61
- package/dist/index.es587.js.map +1 -1
- package/dist/index.es6.js +1 -1
- package/dist/index.es64.js +1 -1
- package/dist/index.es69.js.map +1 -1
- package/dist/index.es7.js +1 -1
- package/dist/index.es73.js +73 -73
- package/dist/index.es73.js.map +1 -1
- package/dist/index.es74.js +63 -56
- package/dist/index.es74.js.map +1 -1
- package/dist/index.es8.js +1 -1
- package/dist/index.es9.js +2 -2
- package/package.json +1 -1
- package/dist/index.cjs275.js +0 -2
- package/dist/index.cjs275.js.map +0 -1
- package/dist/index.cjs465.js +0 -2
- package/dist/index.cjs465.js.map +0 -1
- package/dist/index.cjs466.js +0 -2
- package/dist/index.cjs466.js.map +0 -1
- package/dist/index.cjs482.js +0 -2
- package/dist/index.cjs482.js.map +0 -1
- package/dist/index.cjs514.js +0 -2
- package/dist/index.cjs514.js.map +0 -1
- package/dist/index.cjs515.js.map +0 -1
- package/dist/index.es275.js +0 -5
- package/dist/index.es275.js.map +0 -1
- package/dist/index.es465.js +0 -30
- package/dist/index.es465.js.map +0 -1
- package/dist/index.es466.js +0 -71
- package/dist/index.es466.js.map +0 -1
- package/dist/index.es482.js +0 -128
- package/dist/index.es482.js.map +0 -1
- package/dist/index.es514.js +0 -8
- package/dist/index.es514.js.map +0 -1
- package/dist/index.es515.js.map +0 -1
- /package/dist/components/ui/{DoctorModal/DoctorModalFooter/DoctorModalFooter.css → ConsentModal/ConsentModalFooter/ConsentModalFooter.css} +0 -0
package/dist/index.es73.js
CHANGED
@@ -5,21 +5,21 @@ import { clsx as b } from "./index.es245.js";
|
|
5
5
|
import './components/ui/Table/Table.css';/* empty css */
|
6
6
|
import { ActionIconText as ee } from "./index.es67.js";
|
7
7
|
import { TriangleUp as ae } from "./index.es197.js";
|
8
|
-
import { TriangleDown as
|
9
|
-
import { Download as
|
8
|
+
import { TriangleDown as te } from "./index.es198.js";
|
9
|
+
import { Download as se } from "./index.es190.js";
|
10
10
|
import { Info as ie } from "./index.es199.js";
|
11
11
|
const le = j.forwardRef(
|
12
12
|
({
|
13
13
|
className: e,
|
14
|
-
columns:
|
14
|
+
columns: t,
|
15
15
|
data: i,
|
16
16
|
pagination: n,
|
17
17
|
initialCurrentPage: N = 1,
|
18
18
|
resultsPerPage: y = 10,
|
19
|
-
defaultSortDirection:
|
19
|
+
defaultSortDirection: h = "desc",
|
20
20
|
setSelectedSort: l,
|
21
21
|
initialSortConfig: _,
|
22
|
-
serverSidePagination:
|
22
|
+
serverSidePagination: x = !1,
|
23
23
|
totalItems: w,
|
24
24
|
hasNextPage: T,
|
25
25
|
hasPreviousPage: g,
|
@@ -30,15 +30,15 @@ const le = j.forwardRef(
|
|
30
30
|
}, I) => {
|
31
31
|
const [o, M] = j.useState(
|
32
32
|
_ || {
|
33
|
-
key:
|
34
|
-
direction:
|
33
|
+
key: t[0].key || t[0].label,
|
34
|
+
direction: h
|
35
35
|
}
|
36
|
-
), [
|
36
|
+
), [s, R] = j.useState(N);
|
37
37
|
S(() => {
|
38
38
|
_ && M(_);
|
39
39
|
}, [_]);
|
40
40
|
const c = j.useMemo(() => [...i].sort((d, k) => {
|
41
|
-
const m = d[o.key], f = k[o.key], u =
|
41
|
+
const m = d[o.key], f = k[o.key], u = t.find(
|
42
42
|
(r) => (r.key || r.label) === o.key
|
43
43
|
);
|
44
44
|
if (typeof m == "string" && typeof f == "string") {
|
@@ -56,13 +56,13 @@ const le = j.forwardRef(
|
|
56
56
|
return o.direction === "asc" ? m.localeCompare(f) : f.localeCompare(m);
|
57
57
|
}
|
58
58
|
return B(m) && B(f) ? o.direction === "asc" ? m.firstLine.localeCompare(f.firstLine) : f.firstLine.localeCompare(m.firstLine) : 0;
|
59
|
-
}), [i, o,
|
59
|
+
}), [i, o, t]), C = (d) => {
|
60
60
|
const k = {
|
61
61
|
key: d,
|
62
62
|
direction: o.key === d && o.direction === "asc" ? "desc" : "asc"
|
63
63
|
};
|
64
64
|
M(k), l && l(k);
|
65
|
-
}, v = n && !
|
65
|
+
}, v = n && !x ? (s - 1) * y : 0, G = n && !x ? Math.min(v + y, c.length) : c.length, J = x ? c : c.slice(v, G);
|
66
66
|
return /* @__PURE__ */ a.jsxs("div", { className: "position-relative w-full", children: [
|
67
67
|
/* @__PURE__ */ a.jsxs(
|
68
68
|
"table",
|
@@ -72,7 +72,7 @@ const le = j.forwardRef(
|
|
72
72
|
role: "table",
|
73
73
|
...A,
|
74
74
|
children: [
|
75
|
-
/* @__PURE__ */ a.jsx(H, { className: "table__header", children: /* @__PURE__ */ a.jsx($, { children:
|
75
|
+
/* @__PURE__ */ a.jsx(H, { className: "table__header", children: /* @__PURE__ */ a.jsx($, { children: t.map((d, k) => /* @__PURE__ */ a.jsx(
|
76
76
|
z,
|
77
77
|
{
|
78
78
|
config: d,
|
@@ -82,7 +82,7 @@ const le = j.forwardRef(
|
|
82
82
|
},
|
83
83
|
`${d.label}-${k}`
|
84
84
|
)) }) }),
|
85
|
-
/* @__PURE__ */ a.jsx(U, { className: "table__body", children: J.map((d, k) => /* @__PURE__ */ a.jsx($, { className: "table__row", children:
|
85
|
+
/* @__PURE__ */ a.jsx(U, { className: "table__body", children: J.map((d, k) => /* @__PURE__ */ a.jsx($, { className: "table__row", children: t.map((m, f) => {
|
86
86
|
const u = m.key || m.label, r = d[u];
|
87
87
|
return /* @__PURE__ */ a.jsx(
|
88
88
|
q,
|
@@ -99,13 +99,13 @@ const le = j.forwardRef(
|
|
99
99
|
n && /* @__PURE__ */ a.jsx(
|
100
100
|
ce,
|
101
101
|
{
|
102
|
-
currentPage:
|
103
|
-
totalResults:
|
102
|
+
currentPage: s,
|
103
|
+
totalResults: x ? w || 0 : c.length,
|
104
104
|
currentResultsPerPage: i.length,
|
105
105
|
resultsPerPage: y,
|
106
106
|
setCurrentPage: R,
|
107
107
|
onPageChange: V,
|
108
|
-
serverSide:
|
108
|
+
serverSide: x,
|
109
109
|
totalItems: w,
|
110
110
|
hasNextPage: T,
|
111
111
|
hasPreviousPage: g,
|
@@ -118,31 +118,31 @@ const le = j.forwardRef(
|
|
118
118
|
);
|
119
119
|
le.displayName = "Table";
|
120
120
|
const H = j.forwardRef(
|
121
|
-
({ className: e, children:
|
121
|
+
({ className: e, children: t, ...i }, n) => /* @__PURE__ */ a.jsx(
|
122
122
|
"thead",
|
123
123
|
{
|
124
124
|
ref: n,
|
125
125
|
className: b("[&_tr]:border-b-0", e),
|
126
126
|
...i,
|
127
|
-
children:
|
127
|
+
children: t
|
128
128
|
}
|
129
129
|
)
|
130
130
|
);
|
131
131
|
H.displayName = "TableHeader";
|
132
132
|
const U = j.forwardRef(
|
133
|
-
({ className: e, children:
|
133
|
+
({ className: e, children: t, ...i }, n) => /* @__PURE__ */ a.jsx(
|
134
134
|
"tbody",
|
135
135
|
{
|
136
136
|
ref: n,
|
137
137
|
className: b("[&_tr:last-child]:border-0", e),
|
138
138
|
...i,
|
139
|
-
children:
|
139
|
+
children: t
|
140
140
|
}
|
141
141
|
)
|
142
142
|
);
|
143
143
|
U.displayName = "TableBody";
|
144
144
|
const $ = j.forwardRef(
|
145
|
-
({ className: e, children:
|
145
|
+
({ className: e, children: t, ...i }, n) => /* @__PURE__ */ a.jsx(
|
146
146
|
"tr",
|
147
147
|
{
|
148
148
|
ref: n,
|
@@ -151,19 +151,19 @@ const $ = j.forwardRef(
|
|
151
151
|
e
|
152
152
|
),
|
153
153
|
...i,
|
154
|
-
children:
|
154
|
+
children: t
|
155
155
|
}
|
156
156
|
)
|
157
157
|
);
|
158
158
|
$.displayName = "TableRow";
|
159
|
-
const z = j.forwardRef(({ className: e, config:
|
159
|
+
const z = j.forwardRef(({ className: e, config: t, sortConfig: i, onSort: n, ...N }, y) => {
|
160
160
|
var w;
|
161
|
-
const
|
161
|
+
const h = i.key === (t.key || t.label), l = h ? i.direction : null, _ = () => l === "asc" ? "ascending" : "descending", x = (T) => {
|
162
162
|
switch (T) {
|
163
163
|
case "info":
|
164
164
|
return /* @__PURE__ */ a.jsx(ie, {});
|
165
165
|
case "download":
|
166
|
-
return /* @__PURE__ */ a.jsx(
|
166
|
+
return /* @__PURE__ */ a.jsx(se, {});
|
167
167
|
default:
|
168
168
|
return T;
|
169
169
|
}
|
@@ -175,47 +175,47 @@ const z = j.forwardRef(({ className: e, config: s, sortConfig: i, onSort: n, ...
|
|
175
175
|
className: b(
|
176
176
|
"table__cell table__cell--header",
|
177
177
|
{
|
178
|
-
"table__cell--sortable":
|
179
|
-
"table__cell--action":
|
178
|
+
"table__cell--sortable": t.sortable,
|
179
|
+
"table__cell--action": t.action
|
180
180
|
},
|
181
181
|
e
|
182
182
|
),
|
183
|
-
onClick:
|
184
|
-
"aria-label":
|
185
|
-
"aria-sort":
|
183
|
+
onClick: t.sortable ? n : t.action,
|
184
|
+
"aria-label": t.ariaLabel,
|
185
|
+
"aria-sort": h ? _() : void 0,
|
186
186
|
...N,
|
187
187
|
children: /* @__PURE__ */ a.jsxs("div", { className: "table__cell--header--content", children: [
|
188
188
|
/* @__PURE__ */ a.jsx("div", { children: /* @__PURE__ */ a.jsx(
|
189
189
|
ee,
|
190
190
|
{
|
191
|
-
icon:
|
192
|
-
noIcon: !
|
193
|
-
textLabel:
|
194
|
-
iconPosition:
|
191
|
+
icon: x(t.icon),
|
192
|
+
noIcon: !x(t.icon),
|
193
|
+
textLabel: t.label,
|
194
|
+
iconPosition: t.iconPosition,
|
195
195
|
handleIconAction: () => {
|
196
|
-
|
196
|
+
t.iconAction && t.iconAction();
|
197
197
|
},
|
198
|
-
popupInfo:
|
199
|
-
positionPopUp: (w =
|
198
|
+
popupInfo: t.popupInfo,
|
199
|
+
positionPopUp: (w = t.popupInfo) == null ? void 0 : w.positionPopUp,
|
200
200
|
classNameText: N.variant && "fw-bold text-slate-28 fs-custom md-fs-6"
|
201
201
|
}
|
202
202
|
) }),
|
203
|
-
|
203
|
+
t.sortable && /* @__PURE__ */ a.jsxs("span", { className: "sort-indicator", children: [
|
204
204
|
/* @__PURE__ */ a.jsx(
|
205
205
|
ae,
|
206
206
|
{
|
207
|
-
filled:
|
207
|
+
filled: h && l === "desc",
|
208
208
|
className: b("sort-indicator__triangle", {
|
209
|
-
active:
|
209
|
+
active: h && l === "desc"
|
210
210
|
})
|
211
211
|
}
|
212
212
|
),
|
213
213
|
/* @__PURE__ */ a.jsx(
|
214
|
-
|
214
|
+
te,
|
215
215
|
{
|
216
|
-
filled:
|
216
|
+
filled: h && l === "asc",
|
217
217
|
className: b("sort-indicator__triangle", {
|
218
|
-
active:
|
218
|
+
active: h && l === "asc"
|
219
219
|
})
|
220
220
|
}
|
221
221
|
)
|
@@ -231,7 +231,7 @@ const ne = ({ data: e }) => /* @__PURE__ */ a.jsxs(a.Fragment, { children: [
|
|
231
231
|
] }), oe = ({ data: e }) => e.type === "link" && e.link ? /* @__PURE__ */ a.jsx("a", { href: e.link, "aria-label": e.ariaLabel, children: e.label }) : /* @__PURE__ */ a.jsx("button", { onClick: e.action, "aria-label": e.ariaLabel, children: e.label }), B = (e) => typeof e == "object" && e !== null && "firstLine" in e && "secondLine" in e, E = (e) => typeof e == "object" && e !== null && "label" in e && "type" in e, re = ({
|
232
232
|
content: e
|
233
233
|
}) => typeof e == "string" ? /* @__PURE__ */ a.jsx(a.Fragment, { children: e }) : B(e) ? /* @__PURE__ */ a.jsx(ne, { data: e }) : E(e) ? /* @__PURE__ */ a.jsx(oe, { data: e }) : null, q = j.forwardRef(
|
234
|
-
({ className: e, content:
|
234
|
+
({ className: e, content: t, type: i, ...n }, N) => /* @__PURE__ */ a.jsx(
|
235
235
|
"td",
|
236
236
|
{
|
237
237
|
ref: N,
|
@@ -244,57 +244,57 @@ const ne = ({ data: e }) => /* @__PURE__ */ a.jsxs(a.Fragment, { children: [
|
|
244
244
|
e
|
245
245
|
),
|
246
246
|
...n,
|
247
|
-
children: /* @__PURE__ */ a.jsx(re, { content:
|
247
|
+
children: /* @__PURE__ */ a.jsx(re, { content: t })
|
248
248
|
}
|
249
249
|
)
|
250
250
|
);
|
251
251
|
q.displayName = "TableCell";
|
252
252
|
const ce = ({
|
253
253
|
currentPage: e = 1,
|
254
|
-
totalResults:
|
254
|
+
totalResults: t,
|
255
255
|
resultsPerPage: i,
|
256
256
|
currentResultsPerPage: n,
|
257
257
|
setCurrentPage: N,
|
258
258
|
onPageChange: y,
|
259
|
-
className:
|
259
|
+
className: h,
|
260
260
|
serverSide: l = !1,
|
261
261
|
totalItems: _,
|
262
|
-
hasNextPage:
|
262
|
+
hasNextPage: x,
|
263
263
|
hasPreviousPage: w,
|
264
264
|
onNextPage: T,
|
265
265
|
onPreviousPage: g
|
266
266
|
}) => {
|
267
|
-
const p = Math.ceil(l ? (_ ||
|
268
|
-
N(
|
267
|
+
const p = Math.ceil(l ? (_ || t) / i : t / i), L = (s) => {
|
268
|
+
N(s), y && y(s);
|
269
269
|
}, V = () => {
|
270
|
-
const
|
271
|
-
l && T && T(), L(
|
270
|
+
const s = e + 1;
|
271
|
+
l && T && T(), L(s);
|
272
272
|
}, A = () => {
|
273
|
-
const
|
274
|
-
l && g && g(), L(
|
275
|
-
}, I = l ? !
|
276
|
-
const
|
273
|
+
const s = e - 1;
|
274
|
+
l && g && g(), L(s);
|
275
|
+
}, I = l ? !x : e === p, o = l ? !w : e === 1, M = () => {
|
276
|
+
const s = [];
|
277
277
|
if (p <= 5)
|
278
278
|
for (let c = 1; c <= p; c++)
|
279
|
-
|
279
|
+
s.push(c);
|
280
280
|
else {
|
281
|
-
|
281
|
+
s.push(1);
|
282
282
|
let c = Math.max(2, e - 1), C = Math.min(p - 1, e + 1);
|
283
|
-
e <= 3 ? C = 4 : e >= p - 2 && (c = p - 3), c > 2 &&
|
283
|
+
e <= 3 ? C = 4 : e >= p - 2 && (c = p - 3), c > 2 && s.push("...");
|
284
284
|
for (let v = c; v <= C; v++)
|
285
|
-
|
286
|
-
C < p - 1 &&
|
285
|
+
s.push(v);
|
286
|
+
C < p - 1 && s.push("..."), s.push(p);
|
287
287
|
}
|
288
|
-
return
|
288
|
+
return s;
|
289
289
|
};
|
290
|
-
return /* @__PURE__ */ a.jsxs("div", { className: b("pagination",
|
290
|
+
return /* @__PURE__ */ a.jsxs("div", { className: b("pagination", h), children: [
|
291
291
|
/* @__PURE__ */ a.jsxs("div", { className: "pagination__info", children: [
|
292
292
|
"Stai visualizzando",
|
293
293
|
" ",
|
294
|
-
/* @__PURE__ */ a.jsx("span", { className: "pagination__info__resultsPerPage", children: l ? n : e === p &&
|
294
|
+
/* @__PURE__ */ a.jsx("span", { className: "pagination__info__resultsPerPage", children: l ? n : e === p && t % i !== 0 ? t % i : i }),
|
295
295
|
" ",
|
296
296
|
"di ",
|
297
|
-
l && _ ||
|
297
|
+
l && _ || t,
|
298
298
|
" risultati"
|
299
299
|
] }),
|
300
300
|
/* @__PURE__ */ a.jsxs("div", { className: "pagination__nav", children: [
|
@@ -308,22 +308,22 @@ const ce = ({
|
|
308
308
|
onClick: A,
|
309
309
|
disabled: o,
|
310
310
|
"aria-label": "Previous page",
|
311
|
-
children: /* @__PURE__ */ a.jsx("svg", { className: "pagination__button-arrow", viewBox: "0 0 24 24", children: /* @__PURE__ */ a.jsx("path", { d: "M15 18l-6-6 6-6" }) })
|
311
|
+
children: /* @__PURE__ */ a.jsx("svg", { className: "pagination__button-arrow", viewBox: "0 0 24 24", "aria-hidden": "true", children: /* @__PURE__ */ a.jsx("path", { d: "M15 18l-6-6 6-6" }) })
|
312
312
|
}
|
313
313
|
),
|
314
314
|
M().map(
|
315
|
-
(
|
315
|
+
(s, R) => s === "..." ? /* @__PURE__ */ a.jsx("span", { className: "pagination__ellipsis", children: "..." }, `ellipsis-${R}`) : /* @__PURE__ */ a.jsx(
|
316
316
|
"button",
|
317
317
|
{
|
318
318
|
className: b(
|
319
319
|
"pagination__button",
|
320
|
-
e ===
|
320
|
+
e === s && "pagination__button--active"
|
321
321
|
),
|
322
|
-
onClick: () => L(
|
323
|
-
disabled:
|
324
|
-
children:
|
322
|
+
onClick: () => L(s),
|
323
|
+
disabled: s === e,
|
324
|
+
children: s
|
325
325
|
},
|
326
|
-
|
326
|
+
s
|
327
327
|
)
|
328
328
|
),
|
329
329
|
/* @__PURE__ */ a.jsx(
|
@@ -336,7 +336,7 @@ const ce = ({
|
|
336
336
|
onClick: V,
|
337
337
|
disabled: I,
|
338
338
|
"aria-label": "Next page",
|
339
|
-
children: /* @__PURE__ */ a.jsx("svg", { className: "pagination__button-arrow", viewBox: "0 0 24 24", children: /* @__PURE__ */ a.jsx("path", { d: "M9 6l6 6-6 6" }) })
|
339
|
+
children: /* @__PURE__ */ a.jsx("svg", { className: "pagination__button-arrow", viewBox: "0 0 24 24", "aria-hidden": "true", children: /* @__PURE__ */ a.jsx("path", { d: "M9 6l6 6-6 6" }) })
|
340
340
|
}
|
341
341
|
)
|
342
342
|
] })
|
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\">\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\">\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 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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"}
|