@new-black/lyra 1.0.11 → 1.0.12
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/lyra16.cjs +1 -1
- package/dist/lyra16.js +1 -1
- package/dist/lyra219.cjs +1 -1
- package/dist/lyra219.js +2 -2
- package/dist/lyra220.cjs +1 -1
- package/dist/lyra220.js +1 -1
- package/dist/lyra221.cjs +1 -1
- package/dist/lyra221.js +2 -2
- package/dist/lyra224.cjs +1 -1
- package/dist/lyra224.js +35 -35
- package/dist/lyra23.cjs +1 -1
- package/dist/lyra23.js +1 -1
- package/dist/lyra25.cjs +1 -1
- package/dist/lyra25.js +1 -1
- package/dist/lyra27.cjs +1 -1
- package/dist/lyra27.js +2 -2
- package/dist/lyra34.cjs +1 -1
- package/dist/lyra34.js +3 -3
- package/dist/lyra36.cjs +1 -1
- package/dist/lyra36.cjs.map +1 -1
- package/dist/lyra36.js +182 -182
- package/dist/lyra36.js.map +1 -1
- package/dist/lyra37.cjs +1 -1
- package/dist/lyra37.cjs.map +1 -1
- package/dist/lyra37.js +166 -166
- package/dist/lyra37.js.map +1 -1
- package/dist/lyra43.cjs +1 -1
- package/dist/lyra43.js +2 -2
- package/dist/lyra449.cjs +1 -1
- package/dist/lyra449.js +1 -1
- package/dist/lyra450.cjs +1 -1
- package/dist/lyra450.cjs.map +1 -1
- package/dist/lyra450.js +16 -1
- package/dist/lyra450.js.map +1 -1
- package/dist/lyra451.cjs +1 -1
- package/dist/lyra451.cjs.map +1 -1
- package/dist/lyra451.js +12 -90
- package/dist/lyra451.js.map +1 -1
- package/dist/lyra452.cjs +1 -1
- package/dist/lyra452.cjs.map +1 -1
- package/dist/lyra452.js +1 -46
- package/dist/lyra452.js.map +1 -1
- package/dist/lyra453.cjs +1 -1
- package/dist/lyra453.cjs.map +1 -1
- package/dist/lyra453.js +27 -10
- package/dist/lyra453.js.map +1 -1
- package/dist/lyra454.cjs +1 -1
- package/dist/lyra454.cjs.map +1 -1
- package/dist/lyra454.js +90 -14
- package/dist/lyra454.js.map +1 -1
- package/dist/lyra455.cjs +1 -1
- package/dist/lyra455.cjs.map +1 -1
- package/dist/lyra455.js +44 -12
- package/dist/lyra455.js.map +1 -1
- package/dist/lyra456.cjs +1 -1
- package/dist/lyra456.cjs.map +1 -1
- package/dist/lyra456.js +51 -30
- package/dist/lyra456.js.map +1 -1
- package/dist/lyra457.cjs +1 -1
- package/dist/lyra457.cjs.map +1 -1
- package/dist/lyra457.js +50 -49
- package/dist/lyra457.js.map +1 -1
- package/dist/lyra458.cjs +1 -1
- package/dist/lyra458.cjs.map +1 -1
- package/dist/lyra458.js +7 -53
- package/dist/lyra458.js.map +1 -1
- package/dist/lyra459.cjs +1 -1
- package/dist/lyra459.cjs.map +1 -1
- package/dist/lyra459.js +61 -6
- package/dist/lyra459.js.map +1 -1
- package/dist/lyra460.cjs +1 -1
- package/dist/lyra460.cjs.map +1 -1
- package/dist/lyra460.js +36 -61
- package/dist/lyra460.js.map +1 -1
- package/dist/lyra461.cjs +5 -1
- package/dist/lyra461.cjs.map +1 -1
- package/dist/lyra461.js +2556 -35
- package/dist/lyra461.js.map +1 -1
- package/dist/lyra462.cjs +1 -5
- package/dist/lyra462.cjs.map +1 -1
- package/dist/lyra462.js +52 -2556
- package/dist/lyra462.js.map +1 -1
- package/dist/lyra463.cjs +1 -1
- package/dist/lyra463.cjs.map +1 -1
- package/dist/lyra463.js +13 -53
- package/dist/lyra463.js.map +1 -1
- package/dist/lyra464.cjs +10 -1
- package/dist/lyra464.cjs.map +1 -1
- package/dist/lyra464.js +96 -2
- package/dist/lyra464.js.map +1 -1
- package/dist/lyra465.cjs +1 -9
- package/dist/lyra465.cjs.map +1 -1
- package/dist/lyra465.js +302 -29
- package/dist/lyra465.js.map +1 -1
- package/dist/lyra466.cjs +1 -19
- package/dist/lyra466.cjs.map +1 -1
- package/dist/lyra466.js +56 -599
- package/dist/lyra466.js.map +1 -1
- package/dist/lyra467.cjs +6 -3
- package/dist/lyra467.cjs.map +1 -1
- package/dist/lyra467.js +1665 -81
- package/dist/lyra467.js.map +1 -1
- package/dist/lyra468.cjs +1 -1
- package/dist/lyra468.cjs.map +1 -1
- package/dist/lyra468.js +8 -302
- package/dist/lyra468.js.map +1 -1
- package/dist/lyra469.cjs +1 -1
- package/dist/lyra469.cjs.map +1 -1
- package/dist/lyra469.js +2 -56
- package/dist/lyra469.js.map +1 -1
- package/dist/lyra470.cjs +9 -13
- package/dist/lyra470.cjs.map +1 -1
- package/dist/lyra470.js +28 -1678
- package/dist/lyra470.js.map +1 -1
- package/dist/lyra471.cjs +19 -1
- package/dist/lyra471.cjs.map +1 -1
- package/dist/lyra471.js +599 -9
- package/dist/lyra471.js.map +1 -1
- package/dist/lyra48.cjs +1 -1
- package/dist/lyra48.js +1 -1
- package/dist/lyra49.cjs +1 -1
- package/dist/lyra49.js +2 -2
- package/dist/lyra50.cjs +1 -1
- package/dist/lyra50.js +2 -2
- package/dist/lyra506.cjs +1 -1
- package/dist/lyra506.js +3 -3
- package/dist/lyra508.cjs +1 -1
- package/dist/lyra508.js +1 -1
- package/dist/lyra555.cjs +1 -1
- package/dist/lyra555.cjs.map +1 -1
- package/dist/lyra555.js +14 -5
- package/dist/lyra555.js.map +1 -1
- package/dist/lyra556.cjs +1 -1
- package/dist/lyra556.cjs.map +1 -1
- package/dist/lyra556.js +14 -7
- package/dist/lyra556.js.map +1 -1
- package/dist/lyra557.cjs +1 -1
- package/dist/lyra557.cjs.map +1 -1
- package/dist/lyra557.js +14 -6
- package/dist/lyra557.js.map +1 -1
- package/dist/lyra558.cjs +1 -1
- package/dist/lyra558.cjs.map +1 -1
- package/dist/lyra558.js +14 -11
- package/dist/lyra558.js.map +1 -1
- package/dist/lyra559.cjs +1 -1
- package/dist/lyra559.cjs.map +1 -1
- package/dist/lyra559.js +12 -12
- package/dist/lyra559.js.map +1 -1
- package/dist/lyra560.cjs +1 -1
- package/dist/lyra560.cjs.map +1 -1
- package/dist/lyra560.js +12 -12
- package/dist/lyra560.js.map +1 -1
- package/dist/lyra561.cjs +1 -1
- package/dist/lyra561.cjs.map +1 -1
- package/dist/lyra561.js +12 -12
- package/dist/lyra561.js.map +1 -1
- package/dist/lyra562.cjs +1 -1
- package/dist/lyra562.cjs.map +1 -1
- package/dist/lyra562.js +9 -9
- package/dist/lyra562.js.map +1 -1
- package/dist/lyra563.cjs +1 -1
- package/dist/lyra563.cjs.map +1 -1
- package/dist/lyra563.js +8 -8
- package/dist/lyra563.js.map +1 -1
- package/dist/lyra564.cjs +1 -1
- package/dist/lyra564.cjs.map +1 -1
- package/dist/lyra564.js +12 -12
- package/dist/lyra564.js.map +1 -1
- package/dist/lyra565.cjs +1 -1
- package/dist/lyra565.cjs.map +1 -1
- package/dist/lyra565.js +9 -9
- package/dist/lyra565.js.map +1 -1
- package/dist/lyra566.cjs +1 -1
- package/dist/lyra566.cjs.map +1 -1
- package/dist/lyra566.js +12 -12
- package/dist/lyra566.js.map +1 -1
- package/dist/lyra567.cjs +1 -1
- package/dist/lyra567.cjs.map +1 -1
- package/dist/lyra567.js +9 -9
- package/dist/lyra567.js.map +1 -1
- package/dist/lyra568.cjs +1 -1
- package/dist/lyra568.cjs.map +1 -1
- package/dist/lyra568.js +12 -12
- package/dist/lyra568.js.map +1 -1
- package/dist/lyra569.cjs +1 -1
- package/dist/lyra569.cjs.map +1 -1
- package/dist/lyra569.js +12 -12
- package/dist/lyra569.js.map +1 -1
- package/dist/lyra570.cjs +1 -1
- package/dist/lyra570.cjs.map +1 -1
- package/dist/lyra570.js +13 -13
- package/dist/lyra570.js.map +1 -1
- package/dist/lyra571.cjs +1 -1
- package/dist/lyra571.cjs.map +1 -1
- package/dist/lyra571.js +12 -12
- package/dist/lyra571.js.map +1 -1
- package/dist/lyra572.cjs +1 -1
- package/dist/lyra572.cjs.map +1 -1
- package/dist/lyra572.js +12 -12
- package/dist/lyra572.js.map +1 -1
- package/dist/lyra573.cjs +1 -1
- package/dist/lyra573.cjs.map +1 -1
- package/dist/lyra573.js +12 -12
- package/dist/lyra573.js.map +1 -1
- package/dist/lyra574.cjs +1 -1
- package/dist/lyra574.cjs.map +1 -1
- package/dist/lyra574.js +13 -13
- package/dist/lyra574.js.map +1 -1
- package/dist/lyra575.cjs +1 -1
- package/dist/lyra575.cjs.map +1 -1
- package/dist/lyra575.js +12 -12
- package/dist/lyra575.js.map +1 -1
- package/dist/lyra576.cjs +1 -1
- package/dist/lyra576.cjs.map +1 -1
- package/dist/lyra576.js +12 -12
- package/dist/lyra576.js.map +1 -1
- package/dist/lyra577.cjs +1 -1
- package/dist/lyra577.cjs.map +1 -1
- package/dist/lyra577.js +12 -12
- package/dist/lyra577.js.map +1 -1
- package/dist/lyra578.cjs +1 -1
- package/dist/lyra578.cjs.map +1 -1
- package/dist/lyra578.js +12 -12
- package/dist/lyra578.js.map +1 -1
- package/dist/lyra579.cjs +1 -1
- package/dist/lyra579.cjs.map +1 -1
- package/dist/lyra579.js +8 -8
- package/dist/lyra579.js.map +1 -1
- package/dist/lyra58.cjs +1 -1
- package/dist/lyra58.js +7 -7
- package/dist/lyra580.cjs +1 -1
- package/dist/lyra580.cjs.map +1 -1
- package/dist/lyra580.js +12 -12
- package/dist/lyra580.js.map +1 -1
- package/dist/lyra581.cjs +1 -1
- package/dist/lyra581.cjs.map +1 -1
- package/dist/lyra581.js +12 -12
- package/dist/lyra581.js.map +1 -1
- package/dist/lyra582.cjs +1 -1
- package/dist/lyra582.cjs.map +1 -1
- package/dist/lyra582.js +12 -12
- package/dist/lyra582.js.map +1 -1
- package/dist/lyra583.cjs +1 -1
- package/dist/lyra583.cjs.map +1 -1
- package/dist/lyra583.js +12 -12
- package/dist/lyra583.js.map +1 -1
- package/dist/lyra584.cjs +1 -1
- package/dist/lyra584.cjs.map +1 -1
- package/dist/lyra584.js +12 -12
- package/dist/lyra584.js.map +1 -1
- package/dist/lyra585.cjs +1 -1
- package/dist/lyra585.cjs.map +1 -1
- package/dist/lyra585.js +12 -12
- package/dist/lyra585.js.map +1 -1
- package/dist/lyra586.cjs +1 -1
- package/dist/lyra586.cjs.map +1 -1
- package/dist/lyra586.js +12 -12
- package/dist/lyra586.js.map +1 -1
- package/dist/lyra587.cjs +1 -1
- package/dist/lyra587.cjs.map +1 -1
- package/dist/lyra587.js +13 -13
- package/dist/lyra587.js.map +1 -1
- package/dist/lyra588.cjs +1 -1
- package/dist/lyra588.cjs.map +1 -1
- package/dist/lyra588.js +13 -13
- package/dist/lyra588.js.map +1 -1
- package/dist/lyra589.cjs +1 -1
- package/dist/lyra589.cjs.map +1 -1
- package/dist/lyra589.js +144 -14
- package/dist/lyra589.js.map +1 -1
- package/dist/lyra59.cjs +1 -1
- package/dist/lyra59.js +9 -9
- package/dist/lyra590.cjs +1 -1
- package/dist/lyra590.cjs.map +1 -1
- package/dist/lyra590.js +5 -14
- package/dist/lyra590.js.map +1 -1
- package/dist/lyra591.cjs +1 -1
- package/dist/lyra591.cjs.map +1 -1
- package/dist/lyra591.js +7 -14
- package/dist/lyra591.js.map +1 -1
- package/dist/lyra592.cjs +1 -1
- package/dist/lyra592.cjs.map +1 -1
- package/dist/lyra592.js +6 -14
- package/dist/lyra592.js.map +1 -1
- package/dist/lyra593.cjs +1 -1
- package/dist/lyra593.cjs.map +1 -1
- package/dist/lyra593.js +9 -142
- package/dist/lyra593.js.map +1 -1
- package/dist/lyra597.cjs +1 -1
- package/dist/lyra597.cjs.map +1 -1
- package/dist/lyra597.js +30 -20
- package/dist/lyra597.js.map +1 -1
- package/dist/lyra598.cjs +1 -1
- package/dist/lyra598.cjs.map +1 -1
- package/dist/lyra598.js +21 -4
- package/dist/lyra598.js.map +1 -1
- package/dist/lyra599.cjs +1 -1
- package/dist/lyra599.cjs.map +1 -1
- package/dist/lyra599.js +4 -20
- package/dist/lyra599.js.map +1 -1
- package/dist/lyra600.cjs +1 -1
- package/dist/lyra600.cjs.map +1 -1
- package/dist/lyra600.js +20 -4
- package/dist/lyra600.js.map +1 -1
- package/dist/lyra601.cjs +1 -1
- package/dist/lyra601.cjs.map +1 -1
- package/dist/lyra601.js +2 -29
- package/dist/lyra601.js.map +1 -1
- package/dist/lyra604.cjs +1 -1
- package/dist/lyra604.cjs.map +1 -1
- package/dist/lyra604.js +229 -180
- package/dist/lyra604.js.map +1 -1
- package/dist/lyra605.cjs +1 -1
- package/dist/lyra605.cjs.map +1 -1
- package/dist/lyra605.js +14 -77
- package/dist/lyra605.js.map +1 -1
- package/dist/lyra606.cjs +1 -1
- package/dist/lyra606.cjs.map +1 -1
- package/dist/lyra606.js +479 -41
- package/dist/lyra606.js.map +1 -1
- package/dist/lyra607.cjs +1 -1
- package/dist/lyra607.cjs.map +1 -1
- package/dist/lyra607.js +65 -15
- package/dist/lyra607.js.map +1 -1
- package/dist/lyra608.cjs +1 -1
- package/dist/lyra608.cjs.map +1 -1
- package/dist/lyra608.js +13 -3
- package/dist/lyra608.js.map +1 -1
- package/dist/lyra609.cjs +1 -1
- package/dist/lyra609.cjs.map +1 -1
- package/dist/lyra609.js +52 -14
- package/dist/lyra609.js.map +1 -1
- package/dist/lyra610.cjs +1 -1
- package/dist/lyra610.cjs.map +1 -1
- package/dist/lyra610.js +2 -33
- package/dist/lyra610.js.map +1 -1
- package/dist/lyra611.cjs +9 -1
- package/dist/lyra611.cjs.map +1 -1
- package/dist/lyra611.js +48 -2
- package/dist/lyra611.js.map +1 -1
- package/dist/lyra612.cjs +3 -3
- package/dist/lyra612.cjs.map +1 -1
- package/dist/lyra612.js +73 -38
- package/dist/lyra612.js.map +1 -1
- package/dist/lyra613.cjs +1 -9
- package/dist/lyra613.cjs.map +1 -1
- package/dist/lyra613.js +133 -77
- package/dist/lyra613.js.map +1 -1
- package/dist/lyra614.cjs +1 -1
- package/dist/lyra614.cjs.map +1 -1
- package/dist/lyra614.js +181 -136
- package/dist/lyra614.js.map +1 -1
- package/dist/lyra615.cjs +1 -1
- package/dist/lyra615.cjs.map +1 -1
- package/dist/lyra615.js +79 -233
- package/dist/lyra615.js.map +1 -1
- package/dist/lyra616.cjs +1 -1
- package/dist/lyra616.cjs.map +1 -1
- package/dist/lyra616.js +43 -15
- package/dist/lyra616.js.map +1 -1
- package/dist/lyra617.cjs +1 -1
- package/dist/lyra617.cjs.map +1 -1
- package/dist/lyra617.js +13 -479
- package/dist/lyra617.js.map +1 -1
- package/dist/lyra618.cjs +1 -1
- package/dist/lyra618.cjs.map +1 -1
- package/dist/lyra618.js +3 -66
- package/dist/lyra618.js.map +1 -1
- package/dist/lyra619.cjs +1 -1
- package/dist/lyra619.cjs.map +1 -1
- package/dist/lyra619.js +14 -13
- package/dist/lyra619.js.map +1 -1
- package/dist/lyra620.cjs +1 -1
- package/dist/lyra620.cjs.map +1 -1
- package/dist/lyra620.js +31 -50
- package/dist/lyra620.js.map +1 -1
- package/dist/lyra65.cjs +1 -1
- package/dist/lyra65.js +8 -8
- package/dist/lyra683.cjs +1 -1
- package/dist/lyra683.js +1 -1
- package/dist/lyra686.cjs +1 -1
- package/dist/lyra686.js +1 -1
- package/dist/lyra688.cjs +1 -1
- package/dist/lyra688.js +1 -1
- package/dist/lyra716.cjs +1 -1
- package/dist/lyra716.js +4 -4
- package/dist/lyra726.cjs +1 -1
- package/dist/lyra726.js +1 -1
- package/dist/lyra727.cjs +1 -1
- package/dist/lyra727.js +1 -1
- package/dist/lyra728.cjs +1 -1
- package/dist/lyra728.js +1 -1
- package/dist/lyra73.cjs +1 -1
- package/dist/lyra73.js +2 -2
- package/dist/lyra777.cjs +1 -1
- package/dist/lyra777.js +1 -1
- package/dist/lyra778.cjs +1 -1
- package/dist/lyra778.js +2 -2
- package/dist/lyra779.cjs +1 -1
- package/dist/lyra779.js +5 -5
- package/dist/lyra780.cjs +1 -1
- package/dist/lyra780.js +2 -2
- package/dist/lyra783.cjs +1 -1
- package/dist/lyra783.js +1 -1
- package/dist/lyra784.cjs +1 -1
- package/dist/lyra784.js +1 -1
- package/dist/lyra785.cjs +1 -1
- package/dist/lyra785.js +1 -1
- package/dist/lyra786.cjs +1 -1
- package/dist/lyra786.js +2 -2
- package/dist/lyra787.cjs +1 -1
- package/dist/lyra787.js +5 -5
- package/dist/lyra788.cjs +1 -1
- package/dist/lyra788.js +2 -2
- package/dist/lyra789.cjs +1 -1
- package/dist/lyra789.js +5 -5
- package/dist/lyra790.cjs +1 -1
- package/dist/lyra790.js +6 -6
- package/dist/lyra792.cjs +1 -1
- package/dist/lyra792.js +1 -1
- package/dist/lyra794.cjs +1 -1
- package/dist/lyra794.cjs.map +1 -1
- package/dist/lyra794.js +4 -375
- package/dist/lyra794.js.map +1 -1
- package/dist/lyra795.cjs +1 -1
- package/dist/lyra795.cjs.map +1 -1
- package/dist/lyra795.js +13 -4
- package/dist/lyra795.js.map +1 -1
- package/dist/lyra796.cjs +1 -1
- package/dist/lyra796.cjs.map +1 -1
- package/dist/lyra796.js +583 -11
- package/dist/lyra796.js.map +1 -1
- package/dist/lyra797.cjs +1 -1
- package/dist/lyra797.cjs.map +1 -1
- package/dist/lyra797.js +11 -4
- package/dist/lyra797.js.map +1 -1
- package/dist/lyra798.cjs +1 -1
- package/dist/lyra798.cjs.map +1 -1
- package/dist/lyra798.js +3 -584
- package/dist/lyra798.js.map +1 -1
- package/dist/lyra799.cjs +1 -1
- package/dist/lyra799.cjs.map +1 -1
- package/dist/lyra799.js +375 -11
- package/dist/lyra799.js.map +1 -1
- package/dist/lyra800.cjs +1 -1
- package/dist/lyra800.cjs.map +1 -1
- package/dist/lyra800.js +2 -14
- package/dist/lyra800.js.map +1 -1
- package/dist/lyra801.cjs +1 -1
- package/dist/lyra801.cjs.map +1 -1
- package/dist/lyra801.js +29 -2
- package/dist/lyra801.js.map +1 -1
- package/dist/lyra802.cjs +1 -1
- package/dist/lyra802.cjs.map +1 -1
- package/dist/lyra802.js +6 -29
- package/dist/lyra802.js.map +1 -1
- package/dist/lyra803.cjs +1 -1
- package/dist/lyra803.cjs.map +1 -1
- package/dist/lyra803.js +3 -5
- package/dist/lyra803.js.map +1 -1
- package/dist/lyra804.cjs +1 -1
- package/dist/lyra804.cjs.map +1 -1
- package/dist/lyra804.js +14 -4
- package/dist/lyra804.js.map +1 -1
- package/dist/lyra816.cjs +1 -1
- package/dist/lyra816.cjs.map +1 -1
- package/dist/lyra816.js +28 -7
- package/dist/lyra816.js.map +1 -1
- package/dist/lyra817.cjs +1 -1
- package/dist/lyra817.cjs.map +1 -1
- package/dist/lyra817.js +25 -28
- package/dist/lyra817.js.map +1 -1
- package/dist/lyra818.cjs +1 -1
- package/dist/lyra818.cjs.map +1 -1
- package/dist/lyra818.js +19 -24
- package/dist/lyra818.js.map +1 -1
- package/dist/lyra819.cjs +1 -1
- package/dist/lyra819.cjs.map +1 -1
- package/dist/lyra819.js +8 -19
- package/dist/lyra819.js.map +1 -1
- package/dist/lyra820.cjs +1 -1
- package/dist/lyra820.cjs.map +1 -1
- package/dist/lyra820.js +12 -8
- package/dist/lyra820.js.map +1 -1
- package/dist/lyra821.cjs +1 -1
- package/dist/lyra821.cjs.map +1 -1
- package/dist/lyra821.js +6 -13
- package/dist/lyra821.js.map +1 -1
- package/dist/lyra822.cjs +1 -1
- package/dist/lyra822.cjs.map +1 -1
- package/dist/lyra822.js +24 -6
- package/dist/lyra822.js.map +1 -1
- package/dist/lyra823.cjs +1 -1
- package/dist/lyra823.cjs.map +1 -1
- package/dist/lyra823.js +2 -24
- package/dist/lyra823.js.map +1 -1
- package/dist/lyra824.cjs +1 -1
- package/dist/lyra824.cjs.map +1 -1
- package/dist/lyra824.js +9 -2
- package/dist/lyra824.js.map +1 -1
- package/dist/lyra825.cjs +1 -1
- package/dist/lyra825.cjs.map +1 -1
- package/dist/lyra825.js +7 -9
- package/dist/lyra825.js.map +1 -1
- package/dist/lyra826.cjs +1 -1
- package/dist/lyra826.cjs.map +1 -1
- package/dist/lyra826.js +2 -7
- package/dist/lyra826.js.map +1 -1
- package/dist/lyra827.cjs +1 -1
- package/dist/lyra827.cjs.map +1 -1
- package/dist/lyra827.js +19 -2
- package/dist/lyra827.js.map +1 -1
- package/dist/lyra828.cjs +1 -1
- package/dist/lyra828.cjs.map +1 -1
- package/dist/lyra828.js +251 -17
- package/dist/lyra828.js.map +1 -1
- package/dist/lyra829.cjs +1 -1
- package/dist/lyra829.cjs.map +1 -1
- package/dist/lyra829.js +72 -243
- package/dist/lyra829.js.map +1 -1
- package/dist/lyra830.cjs +1 -1
- package/dist/lyra830.cjs.map +1 -1
- package/dist/lyra830.js +2 -82
- package/dist/lyra830.js.map +1 -1
- package/dist/lyra831.cjs +1 -1
- package/dist/lyra831.cjs.map +1 -1
- package/dist/lyra831.js +13 -2
- package/dist/lyra831.js.map +1 -1
- package/dist/lyra832.cjs +1 -1
- package/dist/lyra832.cjs.map +1 -1
- package/dist/lyra832.js +18 -12
- package/dist/lyra832.js.map +1 -1
- package/dist/lyra833.cjs +1 -1
- package/dist/lyra833.cjs.map +1 -1
- package/dist/lyra833.js +12 -17
- package/dist/lyra833.js.map +1 -1
- package/dist/lyra834.cjs +1 -1
- package/dist/lyra834.cjs.map +1 -1
- package/dist/lyra834.js +27 -13
- package/dist/lyra834.js.map +1 -1
- package/dist/lyra835.cjs +1 -1
- package/dist/lyra835.cjs.map +1 -1
- package/dist/lyra835.js +5 -27
- package/dist/lyra835.js.map +1 -1
- package/dist/lyra836.cjs +1 -1
- package/dist/lyra836.cjs.map +1 -1
- package/dist/lyra836.js +10 -5
- package/dist/lyra836.js.map +1 -1
- package/dist/lyra837.cjs +1 -1
- package/dist/lyra837.cjs.map +1 -1
- package/dist/lyra837.js +27 -10
- package/dist/lyra837.js.map +1 -1
- package/dist/lyra838.cjs +1 -1
- package/dist/lyra838.cjs.map +1 -1
- package/dist/lyra838.js +26 -28
- package/dist/lyra838.js.map +1 -1
- package/dist/lyra839.cjs +1 -1
- package/dist/lyra839.cjs.map +1 -1
- package/dist/lyra839.js +7 -26
- package/dist/lyra839.js.map +1 -1
- package/dist/lyra845.cjs +1 -4
- package/dist/lyra845.cjs.map +1 -1
- package/dist/lyra845.js +28 -45
- package/dist/lyra845.js.map +1 -1
- package/dist/lyra846.cjs +1 -1
- package/dist/lyra846.cjs.map +1 -1
- package/dist/lyra846.js +6 -28
- package/dist/lyra846.js.map +1 -1
- package/dist/lyra847.cjs +1 -1
- package/dist/lyra847.cjs.map +1 -1
- package/dist/lyra847.js +51 -6
- package/dist/lyra847.js.map +1 -1
- package/dist/lyra848.cjs +1 -1
- package/dist/lyra848.cjs.map +1 -1
- package/dist/lyra848.js +19 -49
- package/dist/lyra848.js.map +1 -1
- package/dist/lyra849.cjs +1 -1
- package/dist/lyra849.cjs.map +1 -1
- package/dist/lyra849.js +16 -19
- package/dist/lyra849.js.map +1 -1
- package/dist/lyra850.cjs +1 -1
- package/dist/lyra850.cjs.map +1 -1
- package/dist/lyra850.js +55 -19
- package/dist/lyra850.js.map +1 -1
- package/dist/lyra851.cjs +1 -1
- package/dist/lyra851.cjs.map +1 -1
- package/dist/lyra851.js +10 -55
- package/dist/lyra851.js.map +1 -1
- package/dist/lyra852.cjs +1 -1
- package/dist/lyra852.cjs.map +1 -1
- package/dist/lyra852.js +3 -10
- package/dist/lyra852.js.map +1 -1
- package/dist/lyra853.cjs +1 -1
- package/dist/lyra853.cjs.map +1 -1
- package/dist/lyra853.js +17 -3
- package/dist/lyra853.js.map +1 -1
- package/dist/lyra854.cjs +1 -1
- package/dist/lyra854.cjs.map +1 -1
- package/dist/lyra854.js +3 -17
- package/dist/lyra854.js.map +1 -1
- package/dist/lyra855.cjs +1 -1
- package/dist/lyra855.cjs.map +1 -1
- package/dist/lyra855.js +3 -3
- package/dist/lyra855.js.map +1 -1
- package/dist/lyra856.cjs +4 -1
- package/dist/lyra856.cjs.map +1 -1
- package/dist/lyra856.js +46 -3
- package/dist/lyra856.js.map +1 -1
- package/dist/lyra868.cjs +1 -1
- package/dist/lyra868.cjs.map +1 -1
- package/dist/lyra868.js +2 -7
- package/dist/lyra868.js.map +1 -1
- package/dist/lyra869.cjs +1 -1
- package/dist/lyra869.cjs.map +1 -1
- package/dist/lyra869.js +7 -2
- package/dist/lyra869.js.map +1 -1
- package/dist/lyra88.cjs +1 -1
- package/dist/lyra88.js +3 -3
- package/dist/lyra94.cjs +1 -1
- package/dist/lyra94.js +2 -2
- package/dist/lyra95.cjs +1 -1
- package/dist/lyra95.js +2 -2
- package/package.json +1 -1
package/dist/lyra36.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lyra36.cjs","sources":["../src/components/inputs/select/select.tsx"],"sourcesContent":["import {\n CSSProperties,\n KeyboardEvent,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { Button as AriaButton, Group, Key } from \"react-aria-components\";\n\nimport clsx from \"clsx\";\n\nimport { useLocale, useMousePosition } from \"../../..\";\nimport useEventListener from \"../../../utils/hooks/use-event-listener\";\nimport { sharedListStyles } from \"../../lists/shared-list.styles\";\nimport { SharedListItem } from \"../../lists/shared-list-item\";\nimport { Popover } from \"../../overlays\";\nimport { SvgIcon } from \"../../svg-icon\";\nimport { Text } from \"../../text\";\nimport { FieldGroupContext } from \"../field-group\";\nimport { InputTag, InputTagGroup } from \"../input-tag-group\";\nimport { InputFooter, InputHeader, sharedInputStyles } from \"../shared\";\n\nimport { MultiSelectProps, SelectItemsProps, SelectProps, ValueButton } from \"./select.types\";\n\ntype UseItemSelectionProps<T> = {\n closePopover: () => void;\n disabledItemIdKeys?: Key[];\n filteredItems: T[];\n getItemId: (item: T) => Key;\n onMultiChange?: (value?: T[]) => void;\n onSingleChange?: (value?: T) => void;\n value?: T | T[];\n};\n\nconst useItemSelection = <T extends object>({\n closePopover,\n disabledItemIdKeys,\n filteredItems,\n getItemId,\n onMultiChange,\n onSingleChange,\n value,\n}: UseItemSelectionProps<T>) => {\n const selectedItemIndex = useMemo(() => {\n if (Array.isArray(value)) {\n if (value.length) {\n return filteredItems.findIndex((item) => getItemId(item) === getItemId(value[0]));\n } else {\n return 0;\n }\n } else if (value) {\n return filteredItems.findIndex((item) => getItemId(item) === getItemId(value));\n }\n }, [filteredItems, getItemId, value]);\n // State that keeps track of the 'active' (focused but not really focused) item.\n const [activeItem, setActiveItem] = useState(selectedItemIndex ?? 0);\n\n const getPreviousItemIndex = useCallback(\n (activeIndex?: number) => {\n if (Number.isInteger(activeIndex)) {\n for (let i = activeIndex! - 1; i >= 0; i--) {\n if (!disabledItemIdKeys?.includes(getItemId(filteredItems[i]))) {\n return Math.max(i, 0);\n }\n }\n }\n return -1;\n },\n [disabledItemIdKeys, filteredItems, getItemId],\n );\n\n const getNextItemIndex = useCallback(\n (activeIndex?: number) => {\n if (Number.isInteger(activeIndex)) {\n for (let i = activeIndex! + 1; i < filteredItems.length; i++) {\n if (!disabledItemIdKeys?.includes(getItemId(filteredItems[i]))) {\n return Math.min(filteredItems.length - 1, i);\n }\n }\n }\n return -1;\n },\n [disabledItemIdKeys, filteredItems, getItemId],\n );\n\n const refs = useRef<HTMLButtonElement[]>([]);\n\n const assignRefOnIndex = useCallback((index: number, el: HTMLButtonElement | null) => {\n if (el) {\n refs.current[index] = el;\n }\n }, []);\n\n // Selects an item in the list and runs the appropriate change handler\n const toggleSelection = useCallback(\n (item: T) => {\n if (onMultiChange) {\n const currentValue = !value ? [] : [...(value as T[])];\n const currentValueIds = currentValue.map(getItemId);\n const newValue = currentValueIds?.includes(getItemId(item))\n ? currentValue.filter((v) => getItemId(v) !== getItemId(item))\n : [...currentValue, item];\n onMultiChange?.(newValue);\n } else if (onSingleChange) {\n onSingleChange?.(item);\n }\n },\n [getItemId, onMultiChange, onSingleChange, value],\n );\n\n const getItemIsSelected = useCallback(\n (item: T) => {\n if (Array.isArray(value)) {\n return value.includes(item);\n } else {\n return value === item;\n }\n },\n [value],\n );\n\n const mousePosition = useMousePosition();\n const previousMousePosition = useRef<string | undefined>(undefined);\n\n // Handles keyboard navigation on buttons\n const onKeyDown = useCallback(\n (e: KeyboardEvent) => {\n const currentActiveIndex = activeItem;\n\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n const safeNextIndex = getNextItemIndex(currentActiveIndex);\n\n if (safeNextIndex >= 0) {\n setActiveItem(safeNextIndex);\n previousMousePosition.current = mousePosition;\n const nextButtonRef = refs.current[safeNextIndex];\n nextButtonRef?.scrollIntoView({ block: \"nearest\" });\n nextButtonRef?.focus();\n }\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault();\n const safePreviousIndex = getPreviousItemIndex(currentActiveIndex);\n\n if (safePreviousIndex >= 0) {\n setActiveItem(safePreviousIndex);\n const previousButtonRef = refs.current[safePreviousIndex];\n previousButtonRef?.scrollIntoView({ block: \"nearest\" });\n previousButtonRef?.focus();\n previousMousePosition.current = mousePosition;\n }\n } else if (e.key === \"Escape\") {\n closePopover();\n }\n },\n [activeItem, closePopover, getNextItemIndex, getPreviousItemIndex, mousePosition],\n );\n\n // Handles onHoverChange event for the buttons\n const onHoverChange = useCallback(\n (isHovering: boolean, index: number) => {\n if (isHovering && previousMousePosition.current !== mousePosition) {\n setActiveItem(index);\n previousMousePosition.current = mousePosition;\n }\n },\n [mousePosition],\n );\n\n // Scroll the active item into view when the popover opens\n useEffect(() => {\n if (refs.current?.[activeItem]) {\n refs.current[activeItem].focus();\n }\n // We want this to run everytime the popover opens.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open]);\n\n return {\n activeItem,\n assignRefOnIndex,\n getItemIsSelected,\n onKeyDown,\n onHoverChange,\n selectedItemIndex,\n toggleSelection,\n };\n};\n\nconst ItemsList = <T extends object>({\n disabledItemIdKeys,\n getItemId,\n items,\n onMultiChange,\n onSingleChange,\n selectRenderElements,\n setOpenPopover,\n value,\n}: Pick<\n SelectItemsProps<T>,\n | \"disabledItemIdKeys\"\n | \"getItemId\"\n | \"items\"\n | \"onMultiChange\"\n | \"onSingleChange\"\n | \"selectRenderElements\"\n | \"setOpenPopover\"\n | \"value\"\n>) => {\n const {\n activeItem,\n assignRefOnIndex,\n getItemIsSelected,\n onHoverChange,\n onKeyDown,\n toggleSelection,\n } = useItemSelection({\n closePopover: () => setOpenPopover(false),\n disabledItemIdKeys,\n filteredItems: items,\n getItemId,\n onMultiChange,\n onSingleChange,\n value,\n });\n\n const itemIsDisabled = (item: T) => {\n return disabledItemIdKeys?.includes(getItemId(item)) ?? false;\n };\n\n return (\n <div\n className={sharedListStyles({\n className: \"h-full max-h-72 overflow-auto\",\n })}\n >\n {items.map((item, index) => (\n <AriaButton\n data-index={index}\n key={getItemId(item)}\n ref={(el) => assignRefOnIndex(index, el)}\n className=\"w-full text-start outline-none\"\n onHoverChange={(isHovering) => {\n onHoverChange(isHovering, index);\n }}\n onPress={() => toggleSelection(item)}\n onKeyDown={(e) => onKeyDown(e)}\n isDisabled={itemIsDisabled(item)}\n >\n <SharedListItem\n item={item}\n state={{\n active: activeItem === index,\n disabled: disabledItemIdKeys?.includes(getItemId(item)) ?? false,\n selected: getItemIsSelected(item),\n }}\n selectRenderElements={selectRenderElements}\n hasSelection\n />\n </AriaButton>\n ))}\n </div>\n );\n};\n\n/**\n * Renders the options for the select component.\n *\n */\nconst SelectItems = <T extends object>({\n direction,\n disabledItemIdKeys,\n getItemId,\n items,\n label,\n onMultiChange,\n onSingleChange,\n open,\n placement = \"bottom start\",\n selectRenderElements,\n setOpenPopover,\n triggerRef,\n value,\n}: SelectItemsProps<T>) => {\n const [triggerRefWidth, setTriggerRefWidth] = useState<number | undefined>(\n triggerRef.current?.offsetWidth,\n );\n const triggerWidth = triggerRefWidth ?? triggerRef.current?.offsetWidth;\n\n useEventListener(\"resize\", () => {\n setTriggerRefWidth(triggerRef.current?.offsetWidth);\n });\n\n return (\n <Popover\n className=\"p-1\"\n isOpen={open}\n triggerRef={triggerRef}\n onOpenChange={setOpenPopover}\n shouldUpdatePosition\n aria-label={label}\n disablePadding\n placement={placement}\n style={\n {\n width: triggerWidth && triggerWidth > 280 ? triggerWidth + \"px\" : \"280px\",\n direction,\n } as CSSProperties\n }\n >\n {open ? (\n <ItemsList\n getItemId={getItemId}\n items={items}\n onMultiChange={onMultiChange}\n onSingleChange={onSingleChange}\n selectRenderElements={selectRenderElements}\n setOpenPopover={setOpenPopover}\n value={value}\n disabledItemIdKeys={disabledItemIdKeys}\n />\n ) : null}\n </Popover>\n );\n};\n\n/**\n * Renders a single value button for a select input.\n *\n */\nconst SingleValueButton = <T extends object>({\n disableClearLogic,\n fullWidth,\n getLabel,\n isDisabled,\n isInvalid,\n onChange,\n placeholder,\n renderCustomElementInValueButton,\n selectRenderElements,\n setOpenPopover,\n value,\n}: Omit<ValueButton<T>, \"onChange\"> & {\n onChange: (newValue?: T) => void;\n}) => {\n const { inputField: inputFieldStyles } = sharedInputStyles({});\n\n const onKeyDown = (e: React.KeyboardEvent<HTMLButtonElement>) => {\n if ((e.key === \"Escape\" || e.key === \"Backspace\") && !disableClearLogic) {\n onChange?.(undefined);\n } else if (e.key === \"ArrowDown\") {\n e.preventDefault();\n setOpenPopover(true);\n }\n };\n\n return (\n <AriaButton\n className={({ isFocused, isHovered }) =>\n inputFieldStyles({\n fullWidth,\n isDisabled,\n isHovered,\n isFocused,\n isInvalid,\n hasEndSlot: true,\n className: isHovered && !isInvalid && !isDisabled && !isFocused ? \"border-hover\" : \"\",\n })\n }\n isDisabled={isDisabled}\n onKeyDown={onKeyDown}\n onPress={() => {\n setOpenPopover(true);\n }}\n >\n <div className=\"flex grow text-start\">\n {renderCustomElementInValueButton && value\n ? selectRenderElements(value)?.customElement\n : null}\n {value ? <>{getLabel(value)}</> : <Text color=\"secondary\">{placeholder}</Text>}\n </div>\n <div className=\"flex items-center gap-2\">\n {value && !disableClearLogic && !isDisabled ? (\n <>\n <div\n className=\"text-secondary\"\n role=\"button\"\n onClick={(e) => {\n e.stopPropagation();\n onChange?.(undefined);\n }}\n >\n <SvgIcon name=\"clear\" />\n </div>\n </>\n ) : null}\n <SvgIcon name=\"chevron-up-down\" />\n </div>\n </AriaButton>\n );\n};\n\n/**\n * Renders a button component for selecting multiple values.\n *\n */\nconst MultipleValuesButton = <T extends object>({\n fullWidth,\n getItemId,\n getLabel,\n isDisabled,\n isInvalid,\n label,\n onChange,\n placeholder,\n setOpenPopover,\n value,\n}: Omit<ValueButton<T>, \"value\" | \"onChange\"> & {\n value?: T[];\n onChange: (newValue?: T[]) => void;\n}) => {\n const { inputField: inputFieldStyles } = sharedInputStyles({});\n\n const onRemove = useCallback(\n (keys: Set<Key>) => {\n value &&\n onChange(\n value.filter((item) => {\n const itemId = getItemId(item);\n return !keys.has(itemId);\n }),\n );\n },\n [getItemId, onChange, value],\n );\n\n const onKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n if (e.key === \"ArrowDown\" || e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n setOpenPopover(true);\n }\n };\n\n return (\n <Group>\n {({ isFocusWithin }) => (\n <AriaButton\n className={({ isFocused, isHovered }) =>\n inputFieldStyles({\n fullWidth,\n isDisabled,\n isHovered,\n isFocused: isFocused || isFocusWithin,\n isInvalid,\n hasEndSlot: true,\n className: clsx(\n isHovered && !isInvalid && !isDisabled && !isFocused ? \"border-hover\" : \"\",\n \"items-start\",\n ),\n })\n }\n onKeyDown={(e) => onKeyDown(e)}\n onPress={() => setOpenPopover(true)}\n isDisabled={isDisabled}\n >\n <div className=\"flex w-full outline-none\">\n <div className=\"grow text-left\">\n {value && value.length ? (\n <InputTagGroup<T>\n label={label ?? \"Selected items\"}\n className=\"-m-1.5 -mt-[0.3125rem]\"\n onRemove={isDisabled ? undefined : onRemove}\n >\n {value.map((item) => (\n <InputTag key={getItemId(item)} id={getItemId(item)} isDisabled={isDisabled}>\n {getLabel(item)}\n </InputTag>\n ))}\n </InputTagGroup>\n ) : (\n <Text color=\"secondary\">{placeholder}</Text>\n )}\n </div>\n <SvgIcon name=\"chevron-up-down\" className=\"h-4 w-4 min-w-4\" />\n </div>\n </AriaButton>\n )}\n </Group>\n );\n};\n\nconst UncontrolledInputs = <T extends object>({\n getItemId,\n name,\n value,\n}: {\n name?: string;\n value?: T | T[];\n getItemId: (item: T) => Key;\n}) => {\n if (name) {\n if (Array.isArray(value)) {\n return value.map((v) => (\n <input key={getItemId(v)} type=\"hidden\" name={name} value={getItemId(v)} />\n ));\n } else if (value) {\n return <input type=\"hidden\" name={name} value={getItemId(value)} />;\n } else {\n return null;\n }\n }\n return null;\n};\n\n/**\n * Renders a select input component.\n *\n */\nexport const Select = <T extends object>({\n defaultValue,\n description,\n disableClearLogic,\n disabledItemIdKeys,\n errorMessage,\n fullWidth = true,\n getItemId,\n getLabel,\n hideHintLabel,\n hideInputFooter,\n hideInputHeader,\n isDisabled,\n isInvalid,\n isRequired,\n items,\n label,\n name,\n onChange,\n placeholder,\n placement,\n renderCustomElementInValueButton,\n selectRenderElements,\n value,\n}: SelectProps<T>) => {\n const { isDisabled: fieldGroupIsDisabled } = useContext(FieldGroupContext);\n const [open, setOpenPopover] = useState(false);\n const disabled = isDisabled || fieldGroupIsDisabled;\n const [internalValue, setInternalValue] = useState<T | undefined>(value ?? defaultValue);\n const { wrapper } = sharedInputStyles({});\n\n const triggerRef = useRef<HTMLDivElement>(null);\n const { direction } = useLocale();\n\n const onSingleChange = useCallback(\n (newValue?: T) => {\n setInternalValue(newValue);\n onChange?.(newValue);\n setOpenPopover(false);\n },\n [onChange],\n );\n\n // sync the internal value with the value prop\n useEffect(() => {\n setInternalValue(value ?? defaultValue);\n }, [defaultValue, value]);\n\n const selectedValue = value ?? internalValue;\n\n return (\n <div>\n <UncontrolledInputs name={name} value={selectedValue} getItemId={getItemId} />\n <div className={wrapper({ fullWidth })}>\n <InputHeader\n label={label}\n hideHintLabel={hideHintLabel}\n hideInputHeader={hideInputHeader}\n isRequired={isRequired}\n />\n <div ref={triggerRef}>\n <SingleValueButton\n fullWidth={fullWidth}\n isDisabled={disabled}\n disableClearLogic={disableClearLogic}\n isInvalid={isInvalid}\n placeholder={placeholder}\n value={selectedValue}\n getLabel={getLabel}\n getItemId={getItemId}\n label={label}\n onChange={onSingleChange}\n setOpenPopover={setOpenPopover}\n renderCustomElementInValueButton={renderCustomElementInValueButton}\n selectRenderElements={selectRenderElements}\n />\n </div>\n <InputFooter\n description={description}\n errorMessage={errorMessage}\n hideInputFooter={hideInputFooter}\n />\n </div>\n <SelectItems<T>\n triggerRef={triggerRef}\n label={`${label} options`}\n getItemId={getItemId}\n selectRenderElements={selectRenderElements}\n items={items}\n open={open}\n disabledItemIdKeys={disabledItemIdKeys}\n direction={direction}\n setOpenPopover={setOpenPopover}\n onSingleChange={onSingleChange}\n value={selectedValue}\n placement={placement}\n />\n </div>\n );\n};\n\nexport const MultiSelect = <T extends object>({\n defaultValue,\n description,\n disableClearLogic,\n disabledItemIdKeys,\n errorMessage,\n fullWidth = true,\n getItemId,\n getLabel,\n hideHintLabel,\n hideInputFooter,\n hideInputHeader,\n isDisabled,\n isInvalid,\n isRequired,\n items,\n label,\n name,\n onChange,\n placeholder,\n placement,\n selectRenderElements,\n value,\n}: MultiSelectProps<T>) => {\n const { isDisabled: fieldGroupIsDisabled } = useContext(FieldGroupContext);\n const disabled = isDisabled || fieldGroupIsDisabled;\n const [open, setOpenPopover] = useState(false);\n const [internalValue, setInternalValue] = useState<T[] | undefined>(value ?? defaultValue);\n const triggerRef = useRef<HTMLDivElement>(null);\n const { direction } = useLocale();\n\n const { wrapper } = sharedInputStyles({});\n\n const onMultipleChange = useCallback(\n (newValue?: T[]) => {\n setInternalValue(newValue);\n onChange?.(newValue);\n },\n [onChange],\n );\n\n // sync the internal value with the value prop\n useEffect(() => {\n setInternalValue(value ?? defaultValue);\n }, [defaultValue, value]);\n\n const selectedValue = value ?? internalValue;\n\n return (\n <div>\n <UncontrolledInputs name={name} value={selectedValue} getItemId={getItemId} />\n <div className={wrapper({ fullWidth })}>\n <InputHeader\n label={label}\n hideHintLabel={hideHintLabel}\n hideInputHeader={hideInputHeader}\n isRequired={isRequired}\n />\n <div ref={triggerRef}>\n <MultipleValuesButton\n fullWidth={fullWidth}\n isDisabled={disabled}\n isInvalid={isInvalid}\n placeholder={placeholder}\n value={selectedValue}\n onChange={onMultipleChange}\n getItemId={getItemId}\n getLabel={getLabel}\n label={label}\n disableClearLogic={disableClearLogic}\n setOpenPopover={setOpenPopover}\n selectRenderElements={selectRenderElements}\n />\n </div>\n <InputFooter\n description={description}\n errorMessage={errorMessage}\n hideInputFooter={hideInputFooter}\n />\n </div>\n <SelectItems<T>\n label={`${label} options`}\n triggerRef={triggerRef}\n items={items}\n open={open}\n getItemId={getItemId}\n selectRenderElements={selectRenderElements}\n disabledItemIdKeys={disabledItemIdKeys}\n direction={direction}\n setOpenPopover={setOpenPopover}\n onMultiChange={onMultipleChange}\n placement={placement}\n value={selectedValue}\n />\n </div>\n );\n};\n"],"names":["useItemSelection","closePopover","disabledItemIdKeys","filteredItems","getItemId","onMultiChange","onSingleChange","value","selectedItemIndex","useMemo","item","activeItem","setActiveItem","useState","getPreviousItemIndex","useCallback","activeIndex","i","getNextItemIndex","refs","useRef","assignRefOnIndex","index","el","toggleSelection","currentValue","currentValueIds","newValue","v","getItemIsSelected","mousePosition","useMousePosition","previousMousePosition","onKeyDown","e","currentActiveIndex","safeNextIndex","nextButtonRef","safePreviousIndex","previousButtonRef","onHoverChange","isHovering","useEffect","_a","ItemsList","items","selectRenderElements","setOpenPopover","itemIsDisabled","jsx","sharedListStyles","AriaButton","SharedListItem","SelectItems","direction","label","open","placement","triggerRef","triggerRefWidth","setTriggerRefWidth","triggerWidth","_b","useEventListener","Popover","SingleValueButton","disableClearLogic","fullWidth","getLabel","isDisabled","isInvalid","onChange","placeholder","renderCustomElementInValueButton","inputFieldStyles","sharedInputStyles","jsxs","isFocused","isHovered","Fragment","Text","SvgIcon","MultipleValuesButton","onRemove","keys","itemId","Group","isFocusWithin","clsx","InputTagGroup","InputTag","UncontrolledInputs","name","Select","defaultValue","description","errorMessage","hideHintLabel","hideInputFooter","hideInputHeader","isRequired","fieldGroupIsDisabled","useContext","FieldGroupContext","disabled","internalValue","setInternalValue","wrapper","useLocale","selectedValue","InputHeader","InputFooter","MultiSelect","onMultipleChange"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lyra36.cjs","sources":["../src/components/inputs/select/select.tsx"],"sourcesContent":["import {\n CSSProperties,\n KeyboardEvent,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { Button as AriaButton, Group, Key } from \"react-aria-components\";\n\nimport clsx from \"clsx\";\n\nimport { useLocale, useMousePosition } from \"../../..\";\nimport useEventListener from \"../../../utils/hooks/use-event-listener\";\nimport { sharedListStyles } from \"../../lists/shared-list.styles\";\nimport { SharedListItem } from \"../../lists/shared-list-item\";\nimport { Popover } from \"../../overlays\";\nimport { SvgIcon } from \"../../svg-icon\";\nimport { Text } from \"../../text\";\nimport { FieldGroupContext } from \"../field-group\";\nimport { InputTag, InputTagGroup } from \"../input-tag-group\";\nimport { InputFooter, InputHeader, sharedInputStyles } from \"../shared\";\n\nimport { MultiSelectProps, SelectItemsProps, SelectProps, ValueButton } from \"./select.types\";\n\ntype UseItemSelectionProps<T> = {\n closePopover: () => void;\n disabledItemIdKeys?: Key[];\n filteredItems: T[];\n getItemId: (item: T) => Key;\n onMultiChange?: (value?: T[]) => void;\n onSingleChange?: (value?: T) => void;\n value?: T | T[];\n};\n\nconst useItemSelection = <T extends object>({\n closePopover,\n disabledItemIdKeys,\n filteredItems,\n getItemId,\n onMultiChange,\n onSingleChange,\n value,\n}: UseItemSelectionProps<T>) => {\n const selectedItemIndex = useMemo(() => {\n if (Array.isArray(value)) {\n if (value.length) {\n return filteredItems.findIndex((item) => getItemId(item) === getItemId(value[0]));\n } else {\n return 0;\n }\n } else if (value) {\n return filteredItems.findIndex((item) => getItemId(item) === getItemId(value));\n }\n }, [filteredItems, getItemId, value]);\n // State that keeps track of the 'active' (focused but not really focused) item.\n const [activeItem, setActiveItem] = useState(selectedItemIndex ?? 0);\n\n const getPreviousItemIndex = useCallback(\n (activeIndex?: number) => {\n if (Number.isInteger(activeIndex)) {\n for (let i = activeIndex! - 1; i >= 0; i--) {\n if (!disabledItemIdKeys?.includes(getItemId(filteredItems[i]))) {\n return Math.max(i, 0);\n }\n }\n }\n return -1;\n },\n [disabledItemIdKeys, filteredItems, getItemId],\n );\n\n const getNextItemIndex = useCallback(\n (activeIndex?: number) => {\n if (Number.isInteger(activeIndex)) {\n for (let i = activeIndex! + 1; i < filteredItems.length; i++) {\n if (!disabledItemIdKeys?.includes(getItemId(filteredItems[i]))) {\n return Math.min(filteredItems.length - 1, i);\n }\n }\n }\n return -1;\n },\n [disabledItemIdKeys, filteredItems, getItemId],\n );\n\n const refs = useRef<HTMLButtonElement[]>([]);\n\n const assignRefOnIndex = useCallback((index: number, el: HTMLButtonElement | null) => {\n if (el) {\n refs.current[index] = el;\n }\n }, []);\n\n // Selects an item in the list and runs the appropriate change handler\n const toggleSelection = useCallback(\n (item: T) => {\n if (onMultiChange) {\n const currentValue = !value ? [] : [...(value as T[])];\n const currentValueIds = currentValue.map(getItemId);\n const newValue = currentValueIds?.includes(getItemId(item))\n ? currentValue.filter((v) => getItemId(v) !== getItemId(item))\n : [...currentValue, item];\n onMultiChange?.(newValue);\n } else if (onSingleChange) {\n onSingleChange?.(item);\n }\n },\n [getItemId, onMultiChange, onSingleChange, value],\n );\n\n const getItemIsSelected = useCallback(\n (item: T) => {\n if (Array.isArray(value)) {\n return value.some((subValue) => getItemId(subValue) === getItemId(item));\n } else {\n return value ? getItemId(value) === getItemId(item) : false;\n }\n },\n [getItemId, value],\n );\n\n const mousePosition = useMousePosition();\n const previousMousePosition = useRef<string | undefined>(undefined);\n\n // Handles keyboard navigation on buttons\n const onKeyDown = useCallback(\n (e: KeyboardEvent) => {\n const currentActiveIndex = activeItem;\n\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n const safeNextIndex = getNextItemIndex(currentActiveIndex);\n\n if (safeNextIndex >= 0) {\n setActiveItem(safeNextIndex);\n previousMousePosition.current = mousePosition;\n const nextButtonRef = refs.current[safeNextIndex];\n nextButtonRef?.scrollIntoView({ block: \"nearest\" });\n nextButtonRef?.focus();\n }\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault();\n const safePreviousIndex = getPreviousItemIndex(currentActiveIndex);\n\n if (safePreviousIndex >= 0) {\n setActiveItem(safePreviousIndex);\n const previousButtonRef = refs.current[safePreviousIndex];\n previousButtonRef?.scrollIntoView({ block: \"nearest\" });\n previousButtonRef?.focus();\n previousMousePosition.current = mousePosition;\n }\n } else if (e.key === \"Escape\") {\n closePopover();\n }\n },\n [activeItem, closePopover, getNextItemIndex, getPreviousItemIndex, mousePosition],\n );\n\n // Handles onHoverChange event for the buttons\n const onHoverChange = useCallback(\n (isHovering: boolean, index: number) => {\n if (isHovering && previousMousePosition.current !== mousePosition) {\n setActiveItem(index);\n previousMousePosition.current = mousePosition;\n }\n },\n [mousePosition],\n );\n\n // Scroll the active item into view when the popover opens\n useEffect(() => {\n if (refs.current?.[activeItem]) {\n refs.current[activeItem].focus();\n }\n // We want this to run everytime the popover opens.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open]);\n\n return {\n activeItem,\n assignRefOnIndex,\n getItemIsSelected,\n onKeyDown,\n onHoverChange,\n selectedItemIndex,\n toggleSelection,\n };\n};\n\nconst ItemsList = <T extends object>({\n disabledItemIdKeys,\n getItemId,\n items,\n onMultiChange,\n onSingleChange,\n selectRenderElements,\n setOpenPopover,\n value,\n}: Pick<\n SelectItemsProps<T>,\n | \"disabledItemIdKeys\"\n | \"getItemId\"\n | \"items\"\n | \"onMultiChange\"\n | \"onSingleChange\"\n | \"selectRenderElements\"\n | \"setOpenPopover\"\n | \"value\"\n>) => {\n const {\n activeItem,\n assignRefOnIndex,\n getItemIsSelected,\n onHoverChange,\n onKeyDown,\n toggleSelection,\n } = useItemSelection({\n closePopover: () => setOpenPopover(false),\n disabledItemIdKeys,\n filteredItems: items,\n getItemId,\n onMultiChange,\n onSingleChange,\n value,\n });\n\n const itemIsDisabled = (item: T) => {\n return disabledItemIdKeys?.includes(getItemId(item)) ?? false;\n };\n\n return (\n <div\n className={sharedListStyles({\n className: \"h-full max-h-72 overflow-auto\",\n })}\n >\n {items.map((item, index) => (\n <AriaButton\n data-index={index}\n key={getItemId(item)}\n ref={(el) => assignRefOnIndex(index, el)}\n className=\"w-full text-start outline-none\"\n onHoverChange={(isHovering) => {\n onHoverChange(isHovering, index);\n }}\n onPress={() => toggleSelection(item)}\n onKeyDown={(e) => onKeyDown(e)}\n isDisabled={itemIsDisabled(item)}\n >\n <SharedListItem\n item={item}\n state={{\n active: activeItem === index,\n disabled: disabledItemIdKeys?.includes(getItemId(item)) ?? false,\n selected: getItemIsSelected(item),\n }}\n selectRenderElements={selectRenderElements}\n hasSelection\n />\n </AriaButton>\n ))}\n </div>\n );\n};\n\n/**\n * Renders the options for the select component.\n *\n */\nconst SelectItems = <T extends object>({\n direction,\n disabledItemIdKeys,\n getItemId,\n items,\n label,\n onMultiChange,\n onSingleChange,\n open,\n placement = \"bottom start\",\n selectRenderElements,\n setOpenPopover,\n triggerRef,\n value,\n}: SelectItemsProps<T>) => {\n const [triggerRefWidth, setTriggerRefWidth] = useState<number | undefined>(\n triggerRef.current?.offsetWidth,\n );\n const triggerWidth = triggerRefWidth ?? triggerRef.current?.offsetWidth;\n\n useEventListener(\"resize\", () => {\n setTriggerRefWidth(triggerRef.current?.offsetWidth);\n });\n\n return (\n <Popover\n className=\"p-1\"\n isOpen={open}\n triggerRef={triggerRef}\n onOpenChange={setOpenPopover}\n shouldUpdatePosition\n aria-label={label}\n disablePadding\n placement={placement}\n style={\n {\n width: triggerWidth && triggerWidth > 280 ? triggerWidth + \"px\" : \"280px\",\n direction,\n } as CSSProperties\n }\n >\n {open ? (\n <ItemsList\n getItemId={getItemId}\n items={items}\n onMultiChange={onMultiChange}\n onSingleChange={onSingleChange}\n selectRenderElements={selectRenderElements}\n setOpenPopover={setOpenPopover}\n value={value}\n disabledItemIdKeys={disabledItemIdKeys}\n />\n ) : null}\n </Popover>\n );\n};\n\n/**\n * Renders a single value button for a select input.\n *\n */\nconst SingleValueButton = <T extends object>({\n disableClearLogic,\n fullWidth,\n getLabel,\n isDisabled,\n isInvalid,\n onChange,\n placeholder,\n renderCustomElementInValueButton,\n selectRenderElements,\n setOpenPopover,\n value,\n}: Omit<ValueButton<T>, \"onChange\"> & {\n onChange: (newValue?: T) => void;\n}) => {\n const { inputField: inputFieldStyles } = sharedInputStyles({});\n\n const onKeyDown = (e: React.KeyboardEvent<HTMLButtonElement>) => {\n if ((e.key === \"Escape\" || e.key === \"Backspace\") && !disableClearLogic) {\n onChange?.(undefined);\n } else if (e.key === \"ArrowDown\") {\n e.preventDefault();\n setOpenPopover(true);\n }\n };\n\n return (\n <AriaButton\n className={({ isFocused, isHovered }) =>\n inputFieldStyles({\n fullWidth,\n isDisabled,\n isHovered,\n isFocused,\n isInvalid,\n hasEndSlot: true,\n className: isHovered && !isInvalid && !isDisabled && !isFocused ? \"border-hover\" : \"\",\n })\n }\n isDisabled={isDisabled}\n onKeyDown={onKeyDown}\n onPress={() => {\n setOpenPopover(true);\n }}\n >\n <div className=\"flex grow text-start\">\n {renderCustomElementInValueButton && value\n ? selectRenderElements(value)?.customElement\n : null}\n {value ? <>{getLabel(value)}</> : <Text color=\"secondary\">{placeholder}</Text>}\n </div>\n <div className=\"flex items-center gap-2\">\n {value && !disableClearLogic && !isDisabled ? (\n <>\n <div\n className=\"text-secondary\"\n role=\"button\"\n onClick={(e) => {\n e.stopPropagation();\n onChange?.(undefined);\n }}\n >\n <SvgIcon name=\"clear\" />\n </div>\n </>\n ) : null}\n <SvgIcon name=\"chevron-up-down\" />\n </div>\n </AriaButton>\n );\n};\n\n/**\n * Renders a button component for selecting multiple values.\n *\n */\nconst MultipleValuesButton = <T extends object>({\n fullWidth,\n getItemId,\n getLabel,\n isDisabled,\n isInvalid,\n label,\n onChange,\n placeholder,\n setOpenPopover,\n value,\n}: Omit<ValueButton<T>, \"value\" | \"onChange\"> & {\n value?: T[];\n onChange: (newValue?: T[]) => void;\n}) => {\n const { inputField: inputFieldStyles } = sharedInputStyles({});\n\n const onRemove = useCallback(\n (keys: Set<Key>) => {\n value &&\n onChange(\n value.filter((item) => {\n const itemId = getItemId(item);\n return !keys.has(itemId);\n }),\n );\n },\n [getItemId, onChange, value],\n );\n\n const onKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n if (e.key === \"ArrowDown\" || e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n setOpenPopover(true);\n }\n };\n\n return (\n <Group>\n {({ isFocusWithin }) => (\n <AriaButton\n className={({ isFocused, isHovered }) =>\n inputFieldStyles({\n fullWidth,\n isDisabled,\n isHovered,\n isFocused: isFocused || isFocusWithin,\n isInvalid,\n hasEndSlot: true,\n className: clsx(\n isHovered && !isInvalid && !isDisabled && !isFocused ? \"border-hover\" : \"\",\n \"items-start\",\n ),\n })\n }\n onKeyDown={(e) => onKeyDown(e)}\n onPress={() => setOpenPopover(true)}\n isDisabled={isDisabled}\n >\n <div className=\"flex w-full outline-none\">\n <div className=\"grow text-left\">\n {value && value.length ? (\n <InputTagGroup<T>\n label={label ?? \"Selected items\"}\n className=\"-m-1.5 -mt-[0.3125rem]\"\n onRemove={isDisabled ? undefined : onRemove}\n >\n {value.map((item) => (\n <InputTag key={getItemId(item)} id={getItemId(item)} isDisabled={isDisabled}>\n {getLabel(item)}\n </InputTag>\n ))}\n </InputTagGroup>\n ) : (\n <Text color=\"secondary\">{placeholder}</Text>\n )}\n </div>\n <SvgIcon name=\"chevron-up-down\" className=\"h-4 w-4 min-w-4\" />\n </div>\n </AriaButton>\n )}\n </Group>\n );\n};\n\nconst UncontrolledInputs = <T extends object>({\n getItemId,\n name,\n value,\n}: {\n name?: string;\n value?: T | T[];\n getItemId: (item: T) => Key;\n}) => {\n if (name) {\n if (Array.isArray(value)) {\n return value.map((v) => (\n <input key={getItemId(v)} type=\"hidden\" name={name} value={getItemId(v)} />\n ));\n } else if (value) {\n return <input type=\"hidden\" name={name} value={getItemId(value)} />;\n } else {\n return null;\n }\n }\n return null;\n};\n\n/**\n * Renders a select input component.\n *\n */\nexport const Select = <T extends object>({\n defaultValue,\n description,\n disableClearLogic,\n disabledItemIdKeys,\n errorMessage,\n fullWidth = true,\n getItemId,\n getLabel,\n hideHintLabel,\n hideInputFooter,\n hideInputHeader,\n isDisabled,\n isInvalid,\n isRequired,\n items,\n label,\n name,\n onChange,\n placeholder,\n placement,\n renderCustomElementInValueButton,\n selectRenderElements,\n value,\n}: SelectProps<T>) => {\n const { isDisabled: fieldGroupIsDisabled } = useContext(FieldGroupContext);\n const [open, setOpenPopover] = useState(false);\n const disabled = isDisabled || fieldGroupIsDisabled;\n const [internalValue, setInternalValue] = useState<T | undefined>(value ?? defaultValue);\n const { wrapper } = sharedInputStyles({});\n\n const triggerRef = useRef<HTMLDivElement>(null);\n const { direction } = useLocale();\n\n const onSingleChange = useCallback(\n (newValue?: T) => {\n setInternalValue(newValue);\n onChange?.(newValue);\n setOpenPopover(false);\n },\n [onChange],\n );\n\n // sync the internal value with the value prop\n useEffect(() => {\n setInternalValue(value ?? defaultValue);\n }, [defaultValue, value]);\n\n const selectedValue = value ?? internalValue;\n\n return (\n <div>\n <UncontrolledInputs name={name} value={selectedValue} getItemId={getItemId} />\n <div className={wrapper({ fullWidth })}>\n <InputHeader\n label={label}\n hideHintLabel={hideHintLabel}\n hideInputHeader={hideInputHeader}\n isRequired={isRequired}\n />\n <div ref={triggerRef}>\n <SingleValueButton\n fullWidth={fullWidth}\n isDisabled={disabled}\n disableClearLogic={disableClearLogic}\n isInvalid={isInvalid}\n placeholder={placeholder}\n value={selectedValue}\n getLabel={getLabel}\n getItemId={getItemId}\n label={label}\n onChange={onSingleChange}\n setOpenPopover={setOpenPopover}\n renderCustomElementInValueButton={renderCustomElementInValueButton}\n selectRenderElements={selectRenderElements}\n />\n </div>\n <InputFooter\n description={description}\n errorMessage={errorMessage}\n hideInputFooter={hideInputFooter}\n />\n </div>\n <SelectItems<T>\n triggerRef={triggerRef}\n label={`${label} options`}\n getItemId={getItemId}\n selectRenderElements={selectRenderElements}\n items={items}\n open={open}\n disabledItemIdKeys={disabledItemIdKeys}\n direction={direction}\n setOpenPopover={setOpenPopover}\n onSingleChange={onSingleChange}\n value={selectedValue}\n placement={placement}\n />\n </div>\n );\n};\n\nexport const MultiSelect = <T extends object>({\n defaultValue,\n description,\n disableClearLogic,\n disabledItemIdKeys,\n errorMessage,\n fullWidth = true,\n getItemId,\n getLabel,\n hideHintLabel,\n hideInputFooter,\n hideInputHeader,\n isDisabled,\n isInvalid,\n isRequired,\n items,\n label,\n name,\n onChange,\n placeholder,\n placement,\n selectRenderElements,\n value,\n}: MultiSelectProps<T>) => {\n const { isDisabled: fieldGroupIsDisabled } = useContext(FieldGroupContext);\n const disabled = isDisabled || fieldGroupIsDisabled;\n const [open, setOpenPopover] = useState(false);\n const [internalValue, setInternalValue] = useState<T[] | undefined>(value ?? defaultValue);\n const triggerRef = useRef<HTMLDivElement>(null);\n const { direction } = useLocale();\n\n const { wrapper } = sharedInputStyles({});\n\n const onMultipleChange = useCallback(\n (newValue?: T[]) => {\n setInternalValue(newValue);\n onChange?.(newValue);\n },\n [onChange],\n );\n\n // sync the internal value with the value prop\n useEffect(() => {\n setInternalValue(value ?? defaultValue);\n }, [defaultValue, value]);\n\n const selectedValue = value ?? internalValue;\n\n return (\n <div>\n <UncontrolledInputs name={name} value={selectedValue} getItemId={getItemId} />\n <div className={wrapper({ fullWidth })}>\n <InputHeader\n label={label}\n hideHintLabel={hideHintLabel}\n hideInputHeader={hideInputHeader}\n isRequired={isRequired}\n />\n <div ref={triggerRef}>\n <MultipleValuesButton\n fullWidth={fullWidth}\n isDisabled={disabled}\n isInvalid={isInvalid}\n placeholder={placeholder}\n value={selectedValue}\n onChange={onMultipleChange}\n getItemId={getItemId}\n getLabel={getLabel}\n label={label}\n disableClearLogic={disableClearLogic}\n setOpenPopover={setOpenPopover}\n selectRenderElements={selectRenderElements}\n />\n </div>\n <InputFooter\n description={description}\n errorMessage={errorMessage}\n hideInputFooter={hideInputFooter}\n />\n </div>\n <SelectItems<T>\n label={`${label} options`}\n triggerRef={triggerRef}\n items={items}\n open={open}\n getItemId={getItemId}\n selectRenderElements={selectRenderElements}\n disabledItemIdKeys={disabledItemIdKeys}\n direction={direction}\n setOpenPopover={setOpenPopover}\n onMultiChange={onMultipleChange}\n placement={placement}\n value={selectedValue}\n />\n </div>\n );\n};\n"],"names":["useItemSelection","closePopover","disabledItemIdKeys","filteredItems","getItemId","onMultiChange","onSingleChange","value","selectedItemIndex","useMemo","item","activeItem","setActiveItem","useState","getPreviousItemIndex","useCallback","activeIndex","i","getNextItemIndex","refs","useRef","assignRefOnIndex","index","el","toggleSelection","currentValue","currentValueIds","newValue","v","getItemIsSelected","subValue","mousePosition","useMousePosition","previousMousePosition","onKeyDown","e","currentActiveIndex","safeNextIndex","nextButtonRef","safePreviousIndex","previousButtonRef","onHoverChange","isHovering","useEffect","_a","ItemsList","items","selectRenderElements","setOpenPopover","itemIsDisabled","jsx","sharedListStyles","AriaButton","SharedListItem","SelectItems","direction","label","open","placement","triggerRef","triggerRefWidth","setTriggerRefWidth","triggerWidth","_b","useEventListener","Popover","SingleValueButton","disableClearLogic","fullWidth","getLabel","isDisabled","isInvalid","onChange","placeholder","renderCustomElementInValueButton","inputFieldStyles","sharedInputStyles","jsxs","isFocused","isHovered","Fragment","Text","SvgIcon","MultipleValuesButton","onRemove","keys","itemId","Group","isFocusWithin","clsx","InputTagGroup","InputTag","UncontrolledInputs","name","Select","defaultValue","description","errorMessage","hideHintLabel","hideInputFooter","hideInputHeader","isRequired","fieldGroupIsDisabled","useContext","FieldGroupContext","disabled","internalValue","setInternalValue","wrapper","useLocale","selectedValue","InputHeader","InputFooter","MultiSelect","onMultipleChange"],"mappings":"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"}
|