@new-black/lyra 1.0.5 → 1.0.7
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/components/inputs/tag-input/tag-input.d.ts.map +1 -1
- package/dist/components/inputs/tag-input/tag-input.stories.d.ts +17 -0
- package/dist/components/inputs/tag-input/tag-input.stories.d.ts.map +1 -1
- package/dist/components/table/table.d.ts.map +1 -1
- package/dist/components/table/table.stories.d.ts.map +1 -1
- package/dist/components/table/table.styles.d.ts.map +1 -1
- package/dist/lyra16.cjs +1 -1
- package/dist/lyra16.js +1 -1
- package/dist/lyra218.cjs +1 -1
- package/dist/lyra218.js +2 -2
- package/dist/lyra219.cjs +1 -1
- package/dist/lyra219.js +1 -1
- package/dist/lyra220.cjs +1 -1
- package/dist/lyra220.js +2 -2
- package/dist/lyra223.cjs +1 -1
- package/dist/lyra223.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.js +6 -6
- package/dist/lyra37.cjs +1 -1
- package/dist/lyra37.js +6 -6
- package/dist/lyra43.cjs +1 -1
- package/dist/lyra43.cjs.map +1 -1
- package/dist/lyra43.js +89 -86
- package/dist/lyra43.js.map +1 -1
- package/dist/lyra448.cjs +1 -1
- package/dist/lyra448.js +1 -1
- package/dist/lyra449.cjs +1 -1
- package/dist/lyra449.cjs.map +1 -1
- package/dist/lyra449.js +1 -16
- package/dist/lyra449.js.map +1 -1
- package/dist/lyra450.cjs +1 -1
- package/dist/lyra450.cjs.map +1 -1
- package/dist/lyra450.js +13 -11
- 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 -14
- package/dist/lyra451.js.map +1 -1
- package/dist/lyra452.cjs +1 -1
- package/dist/lyra452.cjs.map +1 -1
- package/dist/lyra452.js +81 -22
- package/dist/lyra452.js.map +1 -1
- package/dist/lyra453.cjs +1 -1
- package/dist/lyra453.cjs.map +1 -1
- package/dist/lyra453.js +44 -90
- package/dist/lyra453.js.map +1 -1
- package/dist/lyra454.cjs +1 -1
- package/dist/lyra454.cjs.map +1 -1
- package/dist/lyra454.js +14 -44
- package/dist/lyra454.js.map +1 -1
- package/dist/lyra455.cjs +1 -1
- package/dist/lyra455.cjs.map +1 -1
- package/dist/lyra455.js +30 -51
- package/dist/lyra455.js.map +1 -1
- package/dist/lyra456.cjs +1 -1
- package/dist/lyra456.cjs.map +1 -1
- package/dist/lyra456.js +49 -50
- package/dist/lyra456.js.map +1 -1
- package/dist/lyra457.cjs +1 -1
- package/dist/lyra457.cjs.map +1 -1
- package/dist/lyra457.js +53 -7
- package/dist/lyra457.js.map +1 -1
- package/dist/lyra458.cjs +1 -1
- package/dist/lyra458.cjs.map +1 -1
- package/dist/lyra458.js +6 -61
- 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 -36
- package/dist/lyra459.js.map +1 -1
- package/dist/lyra460.cjs +1 -5
- package/dist/lyra460.cjs.map +1 -1
- package/dist/lyra460.js +35 -2556
- 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 -52
- package/dist/lyra461.js.map +1 -1
- package/dist/lyra462.cjs +1 -1
- package/dist/lyra462.cjs.map +1 -1
- package/dist/lyra462.js +56 -1
- package/dist/lyra462.js.map +1 -1
- package/dist/lyra464.cjs +1 -1
- package/dist/lyra464.js +1 -1
- package/dist/lyra465.cjs +1 -1
- package/dist/lyra465.js +1 -1
- package/dist/lyra467.cjs +1 -1
- package/dist/lyra467.js +3 -3
- package/dist/lyra471.cjs +1 -1
- package/dist/lyra471.cjs.map +1 -1
- package/dist/lyra471.js +4 -7
- package/dist/lyra471.js.map +1 -1
- package/dist/lyra472.cjs +1 -1
- package/dist/lyra472.cjs.map +1 -1
- package/dist/lyra472.js +2 -2
- package/dist/lyra472.js.map +1 -1
- package/dist/lyra473.cjs +1 -1
- package/dist/lyra473.cjs.map +1 -1
- package/dist/lyra473.js +6 -6
- package/dist/lyra473.js.map +1 -1
- package/dist/lyra474.cjs +1 -1
- package/dist/lyra474.cjs.map +1 -1
- package/dist/lyra474.js +3 -3
- package/dist/lyra474.js.map +1 -1
- package/dist/lyra475.cjs +1 -1
- package/dist/lyra475.cjs.map +1 -1
- package/dist/lyra475.js +3 -3
- package/dist/lyra475.js.map +1 -1
- package/dist/lyra476.cjs +1 -1
- package/dist/lyra476.cjs.map +1 -1
- package/dist/lyra476.js +6 -6
- package/dist/lyra476.js.map +1 -1
- package/dist/lyra477.cjs +1 -1
- package/dist/lyra477.cjs.map +1 -1
- package/dist/lyra477.js +6 -6
- package/dist/lyra477.js.map +1 -1
- package/dist/lyra478.cjs +1 -1
- package/dist/lyra478.cjs.map +1 -1
- package/dist/lyra478.js +3 -3
- package/dist/lyra478.js.map +1 -1
- package/dist/lyra479.cjs +1 -1
- package/dist/lyra479.cjs.map +1 -1
- package/dist/lyra479.js +2 -2
- package/dist/lyra479.js.map +1 -1
- package/dist/lyra48.cjs +1 -1
- package/dist/lyra48.js +1 -1
- package/dist/lyra480.cjs +1 -1
- package/dist/lyra480.cjs.map +1 -1
- package/dist/lyra480.js +2 -2
- package/dist/lyra480.js.map +1 -1
- package/dist/lyra481.cjs +1 -1
- package/dist/lyra481.cjs.map +1 -1
- package/dist/lyra481.js +2 -2
- package/dist/lyra481.js.map +1 -1
- package/dist/lyra482.cjs +1 -1
- package/dist/lyra482.cjs.map +1 -1
- package/dist/lyra482.js +5 -5
- package/dist/lyra482.js.map +1 -1
- package/dist/lyra483.cjs +1 -1
- package/dist/lyra483.cjs.map +1 -1
- package/dist/lyra483.js +6 -6
- package/dist/lyra483.js.map +1 -1
- package/dist/lyra484.cjs +1 -1
- package/dist/lyra484.cjs.map +1 -1
- package/dist/lyra484.js +3 -3
- package/dist/lyra484.js.map +1 -1
- package/dist/lyra485.cjs +1 -1
- package/dist/lyra485.cjs.map +1 -1
- package/dist/lyra485.js +3 -3
- package/dist/lyra485.js.map +1 -1
- package/dist/lyra486.cjs +1 -1
- package/dist/lyra486.cjs.map +1 -1
- package/dist/lyra486.js +6 -6
- package/dist/lyra486.js.map +1 -1
- package/dist/lyra487.cjs +1 -1
- package/dist/lyra487.cjs.map +1 -1
- package/dist/lyra487.js +6 -6
- package/dist/lyra487.js.map +1 -1
- package/dist/lyra488.cjs +1 -1
- package/dist/lyra488.cjs.map +1 -1
- package/dist/lyra488.js +3 -3
- package/dist/lyra488.js.map +1 -1
- package/dist/lyra489.cjs +1 -1
- package/dist/lyra489.cjs.map +1 -1
- package/dist/lyra489.js +3 -3
- package/dist/lyra489.js.map +1 -1
- package/dist/lyra49.cjs +1 -1
- package/dist/lyra49.js +2 -2
- package/dist/lyra490.cjs +1 -1
- package/dist/lyra490.cjs.map +1 -1
- package/dist/lyra490.js +3 -3
- package/dist/lyra490.js.map +1 -1
- package/dist/lyra491.cjs +1 -1
- package/dist/lyra491.cjs.map +1 -1
- package/dist/lyra491.js +3 -3
- package/dist/lyra491.js.map +1 -1
- package/dist/lyra492.cjs +1 -1
- package/dist/lyra492.cjs.map +1 -1
- package/dist/lyra492.js +3 -3
- package/dist/lyra492.js.map +1 -1
- package/dist/lyra493.cjs +1 -1
- package/dist/lyra493.cjs.map +1 -1
- package/dist/lyra493.js +3 -3
- package/dist/lyra493.js.map +1 -1
- package/dist/lyra494.cjs.map +1 -1
- package/dist/lyra494.js.map +1 -1
- package/dist/lyra495.cjs +1 -1
- package/dist/lyra495.cjs.map +1 -1
- package/dist/lyra495.js +3 -3
- package/dist/lyra495.js.map +1 -1
- package/dist/lyra496.cjs +1 -1
- package/dist/lyra496.cjs.map +1 -1
- package/dist/lyra496.js +6 -6
- package/dist/lyra496.js.map +1 -1
- package/dist/lyra497.cjs +1 -1
- package/dist/lyra497.cjs.map +1 -1
- package/dist/lyra497.js +5 -5
- package/dist/lyra497.js.map +1 -1
- package/dist/lyra498.cjs +1 -1
- package/dist/lyra498.cjs.map +1 -1
- package/dist/lyra498.js +2 -2
- package/dist/lyra498.js.map +1 -1
- package/dist/lyra499.cjs +1 -1
- package/dist/lyra499.cjs.map +1 -1
- package/dist/lyra499.js +2 -2
- package/dist/lyra499.js.map +1 -1
- package/dist/lyra50.cjs +1 -1
- package/dist/lyra50.js +2 -2
- package/dist/lyra500.cjs +1 -1
- package/dist/lyra500.cjs.map +1 -1
- package/dist/lyra500.js +2 -2
- package/dist/lyra500.js.map +1 -1
- package/dist/lyra501.cjs +1 -1
- package/dist/lyra501.cjs.map +1 -1
- package/dist/lyra501.js +3 -3
- package/dist/lyra501.js.map +1 -1
- package/dist/lyra502.cjs +1 -1
- package/dist/lyra502.cjs.map +1 -1
- package/dist/lyra502.js +6 -6
- package/dist/lyra502.js.map +1 -1
- package/dist/lyra503.cjs +1 -1
- package/dist/lyra503.cjs.map +1 -1
- package/dist/lyra503.js +3 -3
- package/dist/lyra503.js.map +1 -1
- package/dist/lyra504.cjs +1 -1
- package/dist/lyra504.cjs.map +1 -1
- package/dist/lyra504.js +6 -6
- package/dist/lyra504.js.map +1 -1
- package/dist/lyra505.cjs +1 -1
- package/dist/lyra505.cjs.map +1 -1
- package/dist/lyra505.js +7 -6
- package/dist/lyra505.js.map +1 -1
- package/dist/lyra506.cjs +1 -1
- package/dist/lyra506.cjs.map +1 -1
- package/dist/lyra506.js +6 -78
- package/dist/lyra506.js.map +1 -1
- package/dist/lyra507.cjs +1 -1
- package/dist/lyra507.cjs.map +1 -1
- package/dist/lyra507.js +74 -254
- package/dist/lyra507.js.map +1 -1
- package/dist/lyra508.cjs +1 -1
- package/dist/lyra508.cjs.map +1 -1
- package/dist/lyra508.js +255 -24
- package/dist/lyra508.js.map +1 -1
- package/dist/lyra509.cjs +1 -1
- package/dist/lyra509.cjs.map +1 -1
- package/dist/lyra509.js +23 -26
- package/dist/lyra509.js.map +1 -1
- package/dist/lyra510.cjs +1 -1
- package/dist/lyra510.cjs.map +1 -1
- package/dist/lyra510.js +28 -34
- package/dist/lyra510.js.map +1 -1
- package/dist/lyra511.cjs +1 -1
- package/dist/lyra511.cjs.map +1 -1
- package/dist/lyra511.js +30 -351
- package/dist/lyra511.js.map +1 -1
- package/dist/lyra512.cjs +1 -1
- package/dist/lyra512.cjs.map +1 -1
- package/dist/lyra512.js +348 -30
- package/dist/lyra512.js.map +1 -1
- package/dist/lyra513.cjs +1 -1
- package/dist/lyra513.cjs.map +1 -1
- package/dist/lyra513.js +36 -132
- package/dist/lyra513.js.map +1 -1
- package/dist/lyra514.cjs +1 -1
- package/dist/lyra514.cjs.map +1 -1
- package/dist/lyra514.js +121 -1091
- package/dist/lyra514.js.map +1 -1
- package/dist/lyra515.cjs +1 -1
- package/dist/lyra515.cjs.map +1 -1
- package/dist/lyra515.js +1095 -72
- package/dist/lyra515.js.map +1 -1
- package/dist/lyra516.cjs +1 -1
- package/dist/lyra516.cjs.map +1 -1
- package/dist/lyra516.js +78 -102
- package/dist/lyra516.js.map +1 -1
- package/dist/lyra517.cjs +1 -1
- package/dist/lyra517.cjs.map +1 -1
- package/dist/lyra517.js +102 -9
- package/dist/lyra517.js.map +1 -1
- package/dist/lyra518.cjs +1 -1
- package/dist/lyra518.cjs.map +1 -1
- package/dist/lyra518.js +10 -26
- package/dist/lyra518.js.map +1 -1
- package/dist/lyra519.cjs +1 -1
- package/dist/lyra519.cjs.map +1 -1
- package/dist/lyra519.js +28 -3
- package/dist/lyra519.js.map +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 +6 -6
- 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 +8 -8
- 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/lyra596.cjs +1 -1
- package/dist/lyra596.cjs.map +1 -1
- package/dist/lyra596.js +20 -30
- package/dist/lyra596.js.map +1 -1
- package/dist/lyra597.cjs +1 -1
- package/dist/lyra597.cjs.map +1 -1
- package/dist/lyra597.js +4 -21
- package/dist/lyra597.js.map +1 -1
- package/dist/lyra598.cjs +1 -1
- package/dist/lyra598.cjs.map +1 -1
- package/dist/lyra598.js +20 -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 +29 -2
- 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 -184
- package/dist/lyra601.js.map +1 -1
- package/dist/lyra602.cjs +1 -1
- package/dist/lyra602.cjs.map +1 -1
- package/dist/lyra602.js +2 -79
- package/dist/lyra602.js.map +1 -1
- package/dist/lyra603.cjs +1 -1
- package/dist/lyra603.cjs.map +1 -1
- package/dist/lyra603.js +180 -40
- package/dist/lyra603.js.map +1 -1
- package/dist/lyra604.cjs +1 -1
- package/dist/lyra604.cjs.map +1 -1
- package/dist/lyra604.js +78 -15
- package/dist/lyra604.js.map +1 -1
- package/dist/lyra605.cjs +1 -1
- package/dist/lyra605.cjs.map +1 -1
- package/dist/lyra605.js +44 -3
- package/dist/lyra605.js.map +1 -1
- package/dist/lyra606.cjs +1 -1
- package/dist/lyra606.cjs.map +1 -1
- package/dist/lyra606.js +254 -14
- package/dist/lyra606.js.map +1 -1
- package/dist/lyra607.cjs +1 -1
- package/dist/lyra607.cjs.map +1 -1
- package/dist/lyra607.js +411 -2
- package/dist/lyra607.js.map +1 -1
- package/dist/lyra608.cjs +1 -1
- package/dist/lyra608.cjs.map +1 -1
- package/dist/lyra608.js +16 -2
- package/dist/lyra608.js.map +1 -1
- package/dist/lyra609.cjs +1 -1
- package/dist/lyra609.cjs.map +1 -1
- package/dist/lyra609.js +3 -254
- package/dist/lyra609.js.map +1 -1
- package/dist/lyra610.cjs +1 -1
- package/dist/lyra610.cjs.map +1 -1
- package/dist/lyra610.js +14 -411
- package/dist/lyra610.js.map +1 -1
- package/dist/lyra611.cjs +1 -1
- package/dist/lyra611.cjs.map +1 -1
- package/dist/lyra611.js +2 -233
- package/dist/lyra611.js.map +1 -1
- package/dist/lyra612.cjs +9 -1
- package/dist/lyra612.cjs.map +1 -1
- package/dist/lyra612.js +47 -15
- package/dist/lyra612.js.map +1 -1
- package/dist/lyra613.cjs +9 -1
- package/dist/lyra613.cjs.map +1 -1
- package/dist/lyra613.js +74 -473
- package/dist/lyra613.js.map +1 -1
- package/dist/lyra614.cjs +1 -1
- package/dist/lyra614.cjs.map +1 -1
- package/dist/lyra614.js +135 -62
- package/dist/lyra614.js.map +1 -1
- package/dist/lyra615.cjs +1 -1
- package/dist/lyra615.cjs.map +1 -1
- package/dist/lyra615.js +232 -12
- package/dist/lyra615.js.map +1 -1
- package/dist/lyra616.cjs +1 -1
- package/dist/lyra616.cjs.map +1 -1
- package/dist/lyra616.js +14 -50
- package/dist/lyra616.js.map +1 -1
- package/dist/lyra617.cjs +1 -1
- package/dist/lyra617.cjs.map +1 -1
- package/dist/lyra617.js +482 -2
- package/dist/lyra617.js.map +1 -1
- package/dist/lyra618.cjs +1 -9
- package/dist/lyra618.cjs.map +1 -1
- package/dist/lyra618.js +66 -48
- package/dist/lyra618.js.map +1 -1
- package/dist/lyra619.cjs +1 -9
- package/dist/lyra619.cjs.map +1 -1
- package/dist/lyra619.js +13 -83
- package/dist/lyra619.js.map +1 -1
- package/dist/lyra620.cjs +1 -1
- package/dist/lyra620.cjs.map +1 -1
- package/dist/lyra620.js +49 -136
- package/dist/lyra620.js.map +1 -1
- package/dist/lyra65.cjs +1 -1
- package/dist/lyra65.cjs.map +1 -1
- package/dist/lyra65.js +240 -234
- package/dist/lyra65.js.map +1 -1
- package/dist/lyra66.cjs +1 -1
- package/dist/lyra66.cjs.map +1 -1
- package/dist/lyra66.js +11 -9
- package/dist/lyra66.js.map +1 -1
- package/dist/lyra683.cjs +1 -1
- package/dist/lyra683.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 +1 -1
- package/dist/lyra758.cjs +1 -1
- package/dist/lyra758.js +1 -1
- package/dist/lyra79.cjs +1 -1
- package/dist/lyra79.cjs.map +1 -1
- package/dist/lyra79.js +1 -0
- package/dist/lyra79.js.map +1 -1
- package/dist/lyra816.cjs +1 -1
- package/dist/lyra816.js +1 -1
- package/dist/lyra828.cjs +1 -1
- package/dist/lyra828.cjs.map +1 -1
- package/dist/lyra828.js +2 -14
- package/dist/lyra828.js.map +1 -1
- package/dist/lyra829.cjs +1 -1
- package/dist/lyra829.cjs.map +1 -1
- package/dist/lyra829.js +29 -2
- package/dist/lyra829.js.map +1 -1
- package/dist/lyra830.cjs +1 -1
- package/dist/lyra830.cjs.map +1 -1
- package/dist/lyra830.js +6 -29
- package/dist/lyra830.js.map +1 -1
- package/dist/lyra831.cjs +1 -1
- package/dist/lyra831.cjs.map +1 -1
- package/dist/lyra831.js +3 -5
- package/dist/lyra831.js.map +1 -1
- package/dist/lyra832.cjs +1 -1
- package/dist/lyra832.cjs.map +1 -1
- package/dist/lyra832.js +14 -4
- package/dist/lyra832.js.map +1 -1
- package/dist/lyra836.cjs +1 -1
- package/dist/lyra836.cjs.map +1 -1
- package/dist/lyra836.js +51 -7
- package/dist/lyra836.js.map +1 -1
- package/dist/lyra837.cjs +1 -1
- package/dist/lyra837.cjs.map +1 -1
- package/dist/lyra837.js +7 -51
- package/dist/lyra837.js.map +1 -1
- package/dist/lyra86.cjs +1 -1
- package/dist/lyra86.js +48 -48
- package/dist/lyra93.cjs +1 -1
- package/dist/lyra93.js +3 -3
- package/dist/lyra94.cjs +1 -1
- package/dist/lyra94.js +3 -3
- package/dist/lyra95.cjs +1 -1
- package/dist/lyra95.js +1 -1
- package/dist/lyra96.cjs +1 -1
- package/dist/lyra96.js +1 -1
- package/dist/style.css +1 -1
- package/dist/themes/admin-plugin.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/lyra37.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./lyra87.cjs"),s=require("react"),A=require("./lyra86.cjs"),se=require("react-dom"),oe=require("./lyra447.cjs");require("./lyra2.cjs");require("./lyra3.cjs");require("./lyra4.cjs");require("./lyra5.cjs");require("./lyra6.cjs");const H=require("./lyra63.cjs");require("./lyra8.cjs");require("./lyra9.cjs");require("./lyra10.cjs");require("./lyra11.cjs");require("./lyra12.cjs");require("./lyra13.cjs");require("./lyra14.cjs");require("./lyra15.cjs");require("./lyra16.cjs");require("./lyra17.cjs");require("./lyra18.cjs");require("./lyra19.cjs");require("./lyra20.cjs");require("./lyra21.cjs");require("./lyra22.cjs");require("./lyra23.cjs");require("./lyra24.cjs");require("./lyra25.cjs");const Z=require("./lyra26.cjs");require("./lyra27.cjs");require("./lyra28.cjs");require("./lyra29.cjs");const te=require("./lyra92.cjs");require("./lyra78.cjs");require("./lyra452.cjs");const re=require("./lyra38.cjs"),ne=require("./lyra39.cjs"),U=require("./lyra40.cjs");require("./lyra44.cjs");require("./lyra31.cjs");require("./lyra32.cjs");require("./lyra33.cjs");require("./lyra34.cjs");require("./lyra35.cjs");const V=require("./lyra71.cjs");require("./lyra72.cjs");const Q=require("./lyra453.cjs"),ue=require("./lyra454.cjs"),ce=require("./lyra52.cjs");require("./lyra53.cjs");require("./lyra54.cjs");require("./lyra55.cjs");const ee=require("./lyra455.cjs");require("./lyra456.cjs");const le=require("./lyra82.cjs");require("./lyra41.cjs");require("./lyra42.cjs");require("./lyra43.cjs");require("./lyra45.cjs");require("./lyra46.cjs");require("./lyra47.cjs");require("./lyra48.cjs");require("./lyra49.cjs");require("./lyra50.cjs");require("./lyra51.cjs");const xe=require("./lyra56.cjs");require("./lyra57.cjs");require("./lyra58.cjs");require("./lyra59.cjs");require("./lyra60.cjs");const ae=require("./lyra61.cjs");require("./lyra62.cjs");require("./lyra65.cjs");require("./lyra66.cjs");require("./lyra68.cjs");require("./lyra69.cjs");require("./lyra70.cjs");require("./lyra74.cjs");require("./lyra75.cjs");require("./lyra76.cjs");require("./lyra77.cjs");require("./lyra79.cjs");require("./lyra95.cjs");const me=require("./lyra84.cjs"),g=require("./lyra610.cjs"),_=require("./lyra85.cjs"),de=({disableClearLogic:E,endSlot:x,fullWidth:o,getLabel:p,isDisabled:j,isInvalid:b,onChange:i,open:u,openPopover:c,placeholder:a,searchInputRef:m,startSlot:d,value:R})=>{const{buttonExcludedFromTabOrder:f,inputField:r}=U.sharedInputStyles({isInvalid:b,hasEndSlot:!0,fullWidth:o,isDisabled:j}),q=t=>{(t.key==="Escape"||t.key==="Backspace")&&!E?(t.stopPropagation(),i==null||i(void 0)):t.key==="ArrowDown"||t.key==="ArrowUp"?c==null||c():t.key&&t.key.match(/^[a-zA-Z0-9]$/)&&(se.flushSync(()=>{c==null||c()}),m.current&&(m.current.focus(),m.current.setSelectionRange(0,m.current.value.length)))};return e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[d,e.jsxRuntimeExports.jsxs(A.Button,{"aria-haspopup":"listbox","aria-expanded":u,className:({isFocused:t,isHovered:M})=>r({isHovered:M,isFocused:t,className:"grow"}),isDisabled:j,onKeyDown:q,onPress:c,children:[e.jsxRuntimeExports.jsx("div",{className:"grow truncate text-start",children:R&&p(R)?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:p(R)}):e.jsxRuntimeExports.jsx(V.Text,{variant:"body-medium",color:"secondary",children:a})}),e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[R&&!j&&!E?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsx("div",{className:f(),role:"button",onPointerDown:t=>{t.stopPropagation(),i==null||i(void 0)},onClick:t=>{t.stopPropagation(),i==null||i(void 0)},children:e.jsxRuntimeExports.jsx(H.SvgIcon,{name:"clear"})})}):null,e.jsxRuntimeExports.jsx(H.SvgIcon,{name:"chevron-up-down",className:"h-4 w-4"})]})]}),x]})},pe=({fullWidth:E,getItemId:x,getLabel:o,isDisabled:p,isInvalid:j,label:b,onChange:i,openPopover:u,placeholder:c,searchInputRef:a,value:m})=>{const{inputField:d}=U.sharedInputStyles({isInvalid:j,hasEndSlot:!0,fullWidth:E,isDisabled:p}),R=s.useCallback(r=>{r.key==="ArrowDown"||r.key==="ArrowUp"?u():r.key&&r.key.match(/^[a-zA-Z0-9]$/)&&(se.flushSync(()=>{u()}),a.current&&(a.current.focus(),a.current.setSelectionRange(0,a.current.value.length)))},[u,a]),f=s.useCallback(r=>{m&&i(m.filter(q=>{const t=x(q);return!r.has(t)}))},[x,i,m]);return e.jsxRuntimeExports.jsx(A.Group,{className:({isFocusWithin:r,isHovered:q})=>d({isHovered:q,isFocused:r,className:oe.clsx(q&&!j&&!p&&!r?"border-hover":"","has:[data-focused]:border has:[data-focused]:border-focus")}),children:e.jsxRuntimeExports.jsxs(A.Button,{onPress:u,onKeyDown:R,isDisabled:p,className:"flex w-full outline-none",children:[e.jsxRuntimeExports.jsx("div",{className:"grow text-left",children:m&&m.length?e.jsxRuntimeExports.jsx(ee.InputTagGroup,{label:b??"Selected items",className:"-m-1.5 -mt-[0.3125rem] items-center",onRemove:p?void 0:f,children:m.map(r=>e.jsxRuntimeExports.jsx(ee.InputTag,{id:x(r),isDisabled:p,children:o(r)},x(r)))}):e.jsxRuntimeExports.jsx(V.Text,{color:"secondary",children:c})}),e.jsxRuntimeExports.jsx(H.SvgIcon,{name:"chevron-up-down",className:"h-4 w-4 min-w-[16px]"})]})})},je=({endSlot:E,isLoading:x,onQueryChange:o,query:p,searchInputRef:j,setQuery:b})=>{const i=s.useId(),{clear:u,search:c}=te.useDictionary(),a=me.useSpinDelay(x??!1,{delay:500,minDuration:200}),{buttonExcludedFromTabOrder:m}=U.sharedInputStyles({fullWidth:!0});return e.jsxRuntimeExports.jsx("div",{className:"pb-1",children:e.jsxRuntimeExports.jsxs("div",{className:"flex h-6 w-full items-center gap-2 rounded-xs border border-solid border-default bg-overlay-subtle py-1 pe-1 ps-1.5",children:[e.jsxRuntimeExports.jsx(g.Combobox.Input,{ref:j,id:i,className:"w-full bg-transparent text-base outline-none placeholder:text-tertiary",onChange:d=>{b(d.target.value??""),o==null||o(d.target.value)},placeholder:c,value:p??"",onKeyDown:d=>{d.code==="Tab"&&d.preventDefault()}}),p&&p.length?e.jsxRuntimeExports.jsx(A.Button,{"aria-label":u,className:m(),excludeFromTabOrder:!0,onPress:()=>{var d;b(""),(d=j.current)==null||d.focus()},children:e.jsxRuntimeExports.jsx(H.SvgIcon,{name:"clear"})}):null,E,a?e.jsxRuntimeExports.jsx(ae.Spinner,{className:"mx-2",size:"small"}):null]})})},J=({direction:E,disabledItemIdKeys:x,getItemId:o,getLabel:p,isLoading:j,items:b,label:i,onLoadMore:u,onQueryChange:c,open:a,placement:m,searchInputRef:d,selectedItemId:R,selectRenderElements:f,setOpenPopover:r,showSelectedRange:q,triggerRef:t})=>{var I,W;const{loadMore:M,noResultsFound:O}=te.useDictionary(),{filteredItems:n,query:y,setQuery:v}=le.useFilterItemsByQuery({getLabel:p,items:b,onQueryChange:c}),B=s.useRef(null),[T,N]=s.useState(!1),{item:L}=Q.sharedListItemStyles(),[k,h]=s.useState(Math.min(25,[...n].length)),F=s.useMemo(()=>n.findIndex(l=>o(l)===R),[n,o,R]),S=s.useMemo(()=>q&&F>-1?n.slice(Math.max(0,F-12),Math.min(n.length,F+13)):n.slice(0,k),[n,k,F,q]),P=s.useMemo(()=>k<[...n].length,[n,k]),w=s.useCallback(()=>{u?u():h(l=>{if(l<[...n].length){const D=[...n].length-l;return l+Math.min(25,D)}else return l})},[n,u]);return s.useEffect(()=>{h(Math.min(25,[...n].length))},[n]),s.useEffect(()=>N(!1),[a]),e.jsxRuntimeExports.jsx(ce.Popover,{className:"p-1",isOpen:a,disablePadding:!0,triggerRef:t,onOpenChange:r,"aria-label":i,shouldUpdatePosition:!0,placement:m,style:{width:((I=t.current)==null?void 0:I.offsetWidth)>280?((W=t.current)==null?void 0:W.offsetWidth)+"px":"280px",direction:E},children:a?e.jsxRuntimeExports.jsxs("div",{className:"gap-1",children:[e.jsxRuntimeExports.jsx(je,{onQueryChange:c,isLoading:j,query:y,setQuery:v,searchInputRef:d}),e.jsxRuntimeExports.jsxs(g.Combobox.Options,{static:!0,className:Q.sharedListStyles({className:"max-h-72"}),as:"div",onKeyDown:l=>{document.activeElement===B.current&&(l.code==="ArrowUp"||l.code==="ArrowDown")&&l.preventDefault()},children:[S.map(l=>e.jsxRuntimeExports.jsx(g.Combobox.Option,{id:o(l),as:"div",value:l,disabled:x==null?void 0:x.includes(o(l)),children:D=>e.jsxRuntimeExports.jsx(ue.SharedListItem,{hasSelection:!0,item:l,state:{...D,active:D.active&&!T},selectRenderElements:f})},o(l))),n!=null&&n.length?null:e.jsxRuntimeExports.jsx(V.Text,{variant:"body-medium",color:"secondary",className:"px-2.5 py-2",children:O}),u||P&&!q?e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(xe.Separator,{className:"my-1"}),e.jsxRuntimeExports.jsx(A.Button,{isDisabled:j,onFocusChange:N,ref:B,className:L({className:"justify-start bg-transparent ps-6 text-base font-normal text-primary duration-0 active:text-inverted hover:bg-action-hover hover:text-inverted focus:bg-action-focus focus:text-inverted focus-visible:[box-shadow:none]"}),onPress:()=>{var l;w(),(l=d.current)==null||l.focus()},children:M})]}):null]})]}):null})},Re=({by:E,defaultValue:x,description:o,disableClearLogic:p,disabledItemIdKeys:j,endSlot:b,errorMessage:i,fullWidth:u=!0,getItemId:c,getLabel:a,hideHintLabel:m,hideInputFooter:d,hideInputHeader:R,isDisabled:f,isInvalid:r,isLoading:q,isRequired:t,items:M,label:O,name:n,onChange:y,onLoadMore:v,onQueryChange:B,placeholder:T,selectRenderElements:N,showSelectedRange:L,startSlot:k,value:h})=>{const{isDisabled:F}=s.useContext(Z.FieldGroupContext),S=s.useRef(null),P=s.useRef(null),w=s.useRef(null),[I,W]=s.useState(h??x),[l,D]=s.useState(!1),K=()=>{var C;D(!0),(C=P.current)==null||C.click()},$=()=>D(!1),z=s.useCallback(C=>{W(C),y==null||y(C),$()},[y]),{direction:X}=_.useLocale(),{wrapper:G}=U.sharedInputStyles({fullWidth:u,isInvalid:r,isDisabled:f||F});s.useEffect(()=>{W(h??x)},[x,h]);const Y=h||I?c(h??I):void 0;return e.jsxRuntimeExports.jsx(g.Combobox,{disabled:f||F,name:n,value:h??I??"",onChange:z,by:E,children:({disabled:C,value:ie})=>e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsxs("div",{className:G(),children:[e.jsxRuntimeExports.jsx(re.InputHeader,{label:O,hideHintLabel:m,hideInputHeader:R,isRequired:t}),e.jsxRuntimeExports.jsxs("div",{ref:w,children:[e.jsxRuntimeExports.jsx(g.Combobox.Button,{ref:P,className:"hidden"}),e.jsxRuntimeExports.jsx(de,{disableClearLogic:p,endSlot:b,fullWidth:u,getLabel:a,getItemId:c,isDisabled:C,isInvalid:r,open:l,openPopover:K,onChange:z,placeholder:T,searchInputRef:S,startSlot:k,value:ie})]}),e.jsxRuntimeExports.jsx(ne.InputFooter,{description:o,errorMessage:i,hideInputFooter:d})]}),e.jsxRuntimeExports.jsx(J,{triggerRef:w,label:O,getItemId:c,getLabel:a,items:M,open:l,setOpenPopover:D,selectRenderElements:N,disabledItemIdKeys:j,direction:X,onQueryChange:B,isLoading:q,searchInputRef:S,onLoadMore:v,selectedItemId:Y,showSelectedRange:L})]})})},fe=({by:E,defaultValue:x,description:o,disableClearLogic:p,disabledItemIdKeys:j,endSlot:b,errorMessage:i,fullWidth:u=!0,getItemId:c,getLabel:a,hideHintLabel:m,hideInputFooter:d,hideInputHeader:R,isDisabled:f,isInvalid:r,isLoading:q,isRequired:t,items:M,label:O,labelId:n,name:y,onChange:v,onLoadMore:B,onQueryChange:T,placeholder:N,selectRenderElements:L,startSlot:k,value:h})=>{const{isDisabled:F}=s.useContext(Z.FieldGroupContext),S=s.useRef(null),P=s.useRef(null),w=s.useRef(null),[I,W]=s.useState(h??x),[l,D]=s.useState(!1),K=()=>{var G;D(!0),(G=P.current)==null||G.click()},$=s.useCallback(G=>{W(G),v==null||v(G)},[v]),{direction:z}=_.useLocale(),{wrapper:X}=U.sharedInputStyles({fullWidth:u,isInvalid:r,isDisabled:f||F});return s.useEffect(()=>{W(h??x)},[x,h]),e.jsxRuntimeExports.jsx(g.Combobox,{disabled:f||F,name:y,value:h??I??[],onChange:$,by:E,multiple:!0,children:({disabled:G,value:Y})=>e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsxs("div",{className:X(),children:[e.jsxRuntimeExports.jsx(re.InputHeader,{label:O,isRequired:t,hideHintLabel:m,hideInputHeader:R,labelId:n}),e.jsxRuntimeExports.jsxs("div",{ref:w,children:[e.jsxRuntimeExports.jsx(g.Combobox.Button,{ref:P,className:"hidden"}),e.jsxRuntimeExports.jsx(pe,{disableClearLogic:p,endSlot:b,fullWidth:u,getLabel:a,getItemId:c,isDisabled:G,isInvalid:r,onChange:$,open:l,openPopover:K,placeholder:N,searchInputRef:S,startSlot:k,value:Y})]}),e.jsxRuntimeExports.jsx(ne.InputFooter,{description:o,errorMessage:i,hideInputFooter:d})]}),e.jsxRuntimeExports.jsx(J,{label:O,searchInputRef:S,triggerRef:w,getItemId:c,getLabel:a,items:M,open:l,setOpenPopover:D,selectRenderElements:L,disabledItemIdKeys:j,direction:z,onQueryChange:T,isLoading:q,onLoadMore:B})]})})},qe=({by:E,children:x,defaultValue:o,disabledItemIdKeys:p,getItemId:j,getLabel:b,isDisabled:i,isInvalid:u,isLoading:c,items:a,label:m,name:d,onChange:R,onQueryChange:f,selectRenderElements:r,showSelectedRange:q,value:t})=>{const{isDisabled:M}=s.useContext(Z.FieldGroupContext),O=s.useRef(null),n=s.useRef(null),y=s.useRef(null),[v,B]=s.useState(t??o),[T,N]=s.useState(!1),L=()=>{var w;N(!0),(w=n.current)==null||w.click()},k=()=>N(!1),h=s.useCallback(w=>{B(w),R==null||R(w),k()},[R]),{direction:F}=_.useLocale(),{wrapper:S}=U.sharedInputStyles({fullWidth:!1,isInvalid:u,isDisabled:i});s.useEffect(()=>{B(t??o)},[o,t]);const P=t||v?j(t??v):void 0;return e.jsxRuntimeExports.jsx(A.Provider,{values:[[A.ButtonContext,{onPress:()=>L(),isDisabled:i||M}]],children:e.jsxRuntimeExports.jsx(g.Combobox,{disabled:i,name:d,value:t??v??"",onChange:h,by:E,children:()=>e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx("div",{className:S(),children:e.jsxRuntimeExports.jsxs("div",{ref:y,children:[e.jsxRuntimeExports.jsx(g.Combobox.Button,{ref:n,className:"hidden"}),x]})}),e.jsxRuntimeExports.jsx(J,{triggerRef:y,label:m,getItemId:j,getLabel:b,items:a,open:T,setOpenPopover:N,selectRenderElements:r,disabledItemIdKeys:p,direction:F,onQueryChange:f,isLoading:c,selectedItemId:P,searchInputRef:O,showSelectedRange:q,placement:"bottom start"})]})})})},he=({by:E,children:x,defaultValue:o,disabledItemIdKeys:p,fullWidth:j=!0,getItemId:b,getLabel:i,isDisabled:u,isInvalid:c,isLoading:a,items:m,label:d,name:R,onChange:f,onQueryChange:r,selectRenderElements:q,value:t})=>{const{isDisabled:M}=s.useContext(Z.FieldGroupContext),O=s.useRef(null),n=s.useRef(null),y=s.useRef(null),[v,B]=s.useState(t??o),[T,N]=s.useState(!1),L=()=>{var S;N(!0),(S=n.current)==null||S.click()},k=s.useCallback(S=>{B(S),f==null||f(S)},[f]),{direction:h}=_.useLocale(),{wrapper:F}=U.sharedInputStyles({fullWidth:j,isInvalid:c,isDisabled:u});return s.useEffect(()=>{B(t??o)},[o,t]),e.jsxRuntimeExports.jsx(A.Provider,{values:[[A.ButtonContext,{onPress:()=>L(),isDisabled:u||M}]],children:e.jsxRuntimeExports.jsx(g.Combobox,{disabled:u,name:R,value:t??v??[],onChange:k,by:E,multiple:!0,children:()=>e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx("div",{className:F(),children:e.jsxRuntimeExports.jsxs("div",{ref:y,children:[e.jsxRuntimeExports.jsx(g.Combobox.Button,{ref:n,className:"hidden"}),x]})}),e.jsxRuntimeExports.jsx(J,{label:d,searchInputRef:O,triggerRef:y,getItemId:b,getLabel:i,items:m,open:T,setOpenPopover:N,selectRenderElements:q,disabledItemIdKeys:p,direction:h,onQueryChange:r,isLoading:a})]})})})};exports.MultiSearchListField=fe;exports.MultiSearchListFieldWithCustomTrigger=he;exports.SearchListField=Re;exports.SearchListFieldWithCustomTrigger=qe;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./lyra87.cjs"),s=require("react"),A=require("./lyra86.cjs"),se=require("react-dom"),oe=require("./lyra447.cjs");require("./lyra2.cjs");require("./lyra3.cjs");require("./lyra4.cjs");require("./lyra5.cjs");require("./lyra6.cjs");const H=require("./lyra63.cjs");require("./lyra8.cjs");require("./lyra9.cjs");require("./lyra10.cjs");require("./lyra11.cjs");require("./lyra12.cjs");require("./lyra13.cjs");require("./lyra14.cjs");require("./lyra15.cjs");require("./lyra16.cjs");require("./lyra17.cjs");require("./lyra18.cjs");require("./lyra19.cjs");require("./lyra20.cjs");require("./lyra21.cjs");require("./lyra22.cjs");require("./lyra23.cjs");require("./lyra24.cjs");require("./lyra25.cjs");const Z=require("./lyra26.cjs");require("./lyra27.cjs");require("./lyra28.cjs");require("./lyra29.cjs");const te=require("./lyra92.cjs");require("./lyra78.cjs");require("./lyra455.cjs");const re=require("./lyra38.cjs"),ne=require("./lyra39.cjs"),U=require("./lyra40.cjs");require("./lyra44.cjs");require("./lyra31.cjs");require("./lyra32.cjs");require("./lyra33.cjs");require("./lyra34.cjs");require("./lyra35.cjs");const V=require("./lyra71.cjs");require("./lyra72.cjs");const Q=require("./lyra452.cjs"),ue=require("./lyra453.cjs"),ce=require("./lyra52.cjs");require("./lyra53.cjs");require("./lyra54.cjs");require("./lyra55.cjs");const ee=require("./lyra456.cjs");require("./lyra457.cjs");const le=require("./lyra82.cjs");require("./lyra41.cjs");require("./lyra42.cjs");require("./lyra43.cjs");require("./lyra45.cjs");require("./lyra46.cjs");require("./lyra47.cjs");require("./lyra48.cjs");require("./lyra49.cjs");require("./lyra50.cjs");require("./lyra51.cjs");const xe=require("./lyra56.cjs");require("./lyra57.cjs");require("./lyra58.cjs");require("./lyra59.cjs");require("./lyra60.cjs");const ae=require("./lyra61.cjs");require("./lyra62.cjs");require("./lyra65.cjs");require("./lyra66.cjs");require("./lyra68.cjs");require("./lyra69.cjs");require("./lyra70.cjs");require("./lyra74.cjs");require("./lyra75.cjs");require("./lyra76.cjs");require("./lyra77.cjs");require("./lyra79.cjs");require("./lyra95.cjs");const me=require("./lyra84.cjs"),g=require("./lyra607.cjs"),_=require("./lyra85.cjs"),de=({disableClearLogic:E,endSlot:x,fullWidth:o,getLabel:p,isDisabled:j,isInvalid:b,onChange:i,open:u,openPopover:c,placeholder:a,searchInputRef:m,startSlot:d,value:R})=>{const{buttonExcludedFromTabOrder:f,inputField:r}=U.sharedInputStyles({isInvalid:b,hasEndSlot:!0,fullWidth:o,isDisabled:j}),q=t=>{(t.key==="Escape"||t.key==="Backspace")&&!E?(t.stopPropagation(),i==null||i(void 0)):t.key==="ArrowDown"||t.key==="ArrowUp"?c==null||c():t.key&&t.key.match(/^[a-zA-Z0-9]$/)&&(se.flushSync(()=>{c==null||c()}),m.current&&(m.current.focus(),m.current.setSelectionRange(0,m.current.value.length)))};return e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[d,e.jsxRuntimeExports.jsxs(A.Button,{"aria-haspopup":"listbox","aria-expanded":u,className:({isFocused:t,isHovered:M})=>r({isHovered:M,isFocused:t,className:"grow"}),isDisabled:j,onKeyDown:q,onPress:c,children:[e.jsxRuntimeExports.jsx("div",{className:"grow truncate text-start",children:R&&p(R)?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:p(R)}):e.jsxRuntimeExports.jsx(V.Text,{variant:"body-medium",color:"secondary",children:a})}),e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[R&&!j&&!E?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsx("div",{className:f(),role:"button",onPointerDown:t=>{t.stopPropagation(),i==null||i(void 0)},onClick:t=>{t.stopPropagation(),i==null||i(void 0)},children:e.jsxRuntimeExports.jsx(H.SvgIcon,{name:"clear"})})}):null,e.jsxRuntimeExports.jsx(H.SvgIcon,{name:"chevron-up-down",className:"h-4 w-4"})]})]}),x]})},pe=({fullWidth:E,getItemId:x,getLabel:o,isDisabled:p,isInvalid:j,label:b,onChange:i,openPopover:u,placeholder:c,searchInputRef:a,value:m})=>{const{inputField:d}=U.sharedInputStyles({isInvalid:j,hasEndSlot:!0,fullWidth:E,isDisabled:p}),R=s.useCallback(r=>{r.key==="ArrowDown"||r.key==="ArrowUp"?u():r.key&&r.key.match(/^[a-zA-Z0-9]$/)&&(se.flushSync(()=>{u()}),a.current&&(a.current.focus(),a.current.setSelectionRange(0,a.current.value.length)))},[u,a]),f=s.useCallback(r=>{m&&i(m.filter(q=>{const t=x(q);return!r.has(t)}))},[x,i,m]);return e.jsxRuntimeExports.jsx(A.Group,{className:({isFocusWithin:r,isHovered:q})=>d({isHovered:q,isFocused:r,className:oe.clsx(q&&!j&&!p&&!r?"border-hover":"","has:[data-focused]:border has:[data-focused]:border-focus")}),children:e.jsxRuntimeExports.jsxs(A.Button,{onPress:u,onKeyDown:R,isDisabled:p,className:"flex w-full outline-none",children:[e.jsxRuntimeExports.jsx("div",{className:"grow text-left",children:m&&m.length?e.jsxRuntimeExports.jsx(ee.InputTagGroup,{label:b??"Selected items",className:"-m-1.5 -mt-[0.3125rem] items-center",onRemove:p?void 0:f,children:m.map(r=>e.jsxRuntimeExports.jsx(ee.InputTag,{id:x(r),isDisabled:p,children:o(r)},x(r)))}):e.jsxRuntimeExports.jsx(V.Text,{color:"secondary",children:c})}),e.jsxRuntimeExports.jsx(H.SvgIcon,{name:"chevron-up-down",className:"h-4 w-4 min-w-[16px]"})]})})},je=({endSlot:E,isLoading:x,onQueryChange:o,query:p,searchInputRef:j,setQuery:b})=>{const i=s.useId(),{clear:u,search:c}=te.useDictionary(),a=me.useSpinDelay(x??!1,{delay:500,minDuration:200}),{buttonExcludedFromTabOrder:m}=U.sharedInputStyles({fullWidth:!0});return e.jsxRuntimeExports.jsx("div",{className:"pb-1",children:e.jsxRuntimeExports.jsxs("div",{className:"flex h-6 w-full items-center gap-2 rounded-xs border border-solid border-default bg-overlay-subtle py-1 pe-1 ps-1.5",children:[e.jsxRuntimeExports.jsx(g.Combobox.Input,{ref:j,id:i,className:"w-full bg-transparent text-base outline-none placeholder:text-tertiary",onChange:d=>{b(d.target.value??""),o==null||o(d.target.value)},placeholder:c,value:p??"",onKeyDown:d=>{d.code==="Tab"&&d.preventDefault()}}),p&&p.length?e.jsxRuntimeExports.jsx(A.Button,{"aria-label":u,className:m(),excludeFromTabOrder:!0,onPress:()=>{var d;b(""),(d=j.current)==null||d.focus()},children:e.jsxRuntimeExports.jsx(H.SvgIcon,{name:"clear"})}):null,E,a?e.jsxRuntimeExports.jsx(ae.Spinner,{className:"mx-2",size:"small"}):null]})})},J=({direction:E,disabledItemIdKeys:x,getItemId:o,getLabel:p,isLoading:j,items:b,label:i,onLoadMore:u,onQueryChange:c,open:a,placement:m,searchInputRef:d,selectedItemId:R,selectRenderElements:f,setOpenPopover:r,showSelectedRange:q,triggerRef:t})=>{var I,W;const{loadMore:M,noResultsFound:O}=te.useDictionary(),{filteredItems:n,query:y,setQuery:v}=le.useFilterItemsByQuery({getLabel:p,items:b,onQueryChange:c}),B=s.useRef(null),[T,N]=s.useState(!1),{item:L}=Q.sharedListItemStyles(),[k,h]=s.useState(Math.min(25,[...n].length)),F=s.useMemo(()=>n.findIndex(l=>o(l)===R),[n,o,R]),S=s.useMemo(()=>q&&F>-1?n.slice(Math.max(0,F-12),Math.min(n.length,F+13)):n.slice(0,k),[n,k,F,q]),P=s.useMemo(()=>k<[...n].length,[n,k]),w=s.useCallback(()=>{u?u():h(l=>{if(l<[...n].length){const D=[...n].length-l;return l+Math.min(25,D)}else return l})},[n,u]);return s.useEffect(()=>{h(Math.min(25,[...n].length))},[n]),s.useEffect(()=>N(!1),[a]),e.jsxRuntimeExports.jsx(ce.Popover,{className:"p-1",isOpen:a,disablePadding:!0,triggerRef:t,onOpenChange:r,"aria-label":i,shouldUpdatePosition:!0,placement:m,style:{width:((I=t.current)==null?void 0:I.offsetWidth)>280?((W=t.current)==null?void 0:W.offsetWidth)+"px":"280px",direction:E},children:a?e.jsxRuntimeExports.jsxs("div",{className:"gap-1",children:[e.jsxRuntimeExports.jsx(je,{onQueryChange:c,isLoading:j,query:y,setQuery:v,searchInputRef:d}),e.jsxRuntimeExports.jsxs(g.Combobox.Options,{static:!0,className:Q.sharedListStyles({className:"max-h-72"}),as:"div",onKeyDown:l=>{document.activeElement===B.current&&(l.code==="ArrowUp"||l.code==="ArrowDown")&&l.preventDefault()},children:[S.map(l=>e.jsxRuntimeExports.jsx(g.Combobox.Option,{id:o(l),as:"div",value:l,disabled:x==null?void 0:x.includes(o(l)),children:D=>e.jsxRuntimeExports.jsx(ue.SharedListItem,{hasSelection:!0,item:l,state:{...D,active:D.active&&!T},selectRenderElements:f})},o(l))),n!=null&&n.length?null:e.jsxRuntimeExports.jsx(V.Text,{variant:"body-medium",color:"secondary",className:"px-2.5 py-2",children:O}),u||P&&!q?e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(xe.Separator,{className:"my-1"}),e.jsxRuntimeExports.jsx(A.Button,{isDisabled:j,onFocusChange:N,ref:B,className:L({className:"justify-start bg-transparent ps-6 text-base font-normal text-primary duration-0 active:text-inverted hover:bg-action-hover hover:text-inverted focus:bg-action-focus focus:text-inverted focus-visible:[box-shadow:none]"}),onPress:()=>{var l;w(),(l=d.current)==null||l.focus()},children:M})]}):null]})]}):null})},Re=({by:E,defaultValue:x,description:o,disableClearLogic:p,disabledItemIdKeys:j,endSlot:b,errorMessage:i,fullWidth:u=!0,getItemId:c,getLabel:a,hideHintLabel:m,hideInputFooter:d,hideInputHeader:R,isDisabled:f,isInvalid:r,isLoading:q,isRequired:t,items:M,label:O,name:n,onChange:y,onLoadMore:v,onQueryChange:B,placeholder:T,selectRenderElements:N,showSelectedRange:L,startSlot:k,value:h})=>{const{isDisabled:F}=s.useContext(Z.FieldGroupContext),S=s.useRef(null),P=s.useRef(null),w=s.useRef(null),[I,W]=s.useState(h??x),[l,D]=s.useState(!1),K=()=>{var C;D(!0),(C=P.current)==null||C.click()},$=()=>D(!1),z=s.useCallback(C=>{W(C),y==null||y(C),$()},[y]),{direction:X}=_.useLocale(),{wrapper:G}=U.sharedInputStyles({fullWidth:u,isInvalid:r,isDisabled:f||F});s.useEffect(()=>{W(h??x)},[x,h]);const Y=h||I?c(h??I):void 0;return e.jsxRuntimeExports.jsx(g.Combobox,{disabled:f||F,name:n,value:h??I??"",onChange:z,by:E,children:({disabled:C,value:ie})=>e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsxs("div",{className:G(),children:[e.jsxRuntimeExports.jsx(re.InputHeader,{label:O,hideHintLabel:m,hideInputHeader:R,isRequired:t}),e.jsxRuntimeExports.jsxs("div",{ref:w,children:[e.jsxRuntimeExports.jsx(g.Combobox.Button,{ref:P,className:"hidden"}),e.jsxRuntimeExports.jsx(de,{disableClearLogic:p,endSlot:b,fullWidth:u,getLabel:a,getItemId:c,isDisabled:C,isInvalid:r,open:l,openPopover:K,onChange:z,placeholder:T,searchInputRef:S,startSlot:k,value:ie})]}),e.jsxRuntimeExports.jsx(ne.InputFooter,{description:o,errorMessage:i,hideInputFooter:d})]}),e.jsxRuntimeExports.jsx(J,{triggerRef:w,label:O,getItemId:c,getLabel:a,items:M,open:l,setOpenPopover:D,selectRenderElements:N,disabledItemIdKeys:j,direction:X,onQueryChange:B,isLoading:q,searchInputRef:S,onLoadMore:v,selectedItemId:Y,showSelectedRange:L})]})})},fe=({by:E,defaultValue:x,description:o,disableClearLogic:p,disabledItemIdKeys:j,endSlot:b,errorMessage:i,fullWidth:u=!0,getItemId:c,getLabel:a,hideHintLabel:m,hideInputFooter:d,hideInputHeader:R,isDisabled:f,isInvalid:r,isLoading:q,isRequired:t,items:M,label:O,labelId:n,name:y,onChange:v,onLoadMore:B,onQueryChange:T,placeholder:N,selectRenderElements:L,startSlot:k,value:h})=>{const{isDisabled:F}=s.useContext(Z.FieldGroupContext),S=s.useRef(null),P=s.useRef(null),w=s.useRef(null),[I,W]=s.useState(h??x),[l,D]=s.useState(!1),K=()=>{var G;D(!0),(G=P.current)==null||G.click()},$=s.useCallback(G=>{W(G),v==null||v(G)},[v]),{direction:z}=_.useLocale(),{wrapper:X}=U.sharedInputStyles({fullWidth:u,isInvalid:r,isDisabled:f||F});return s.useEffect(()=>{W(h??x)},[x,h]),e.jsxRuntimeExports.jsx(g.Combobox,{disabled:f||F,name:y,value:h??I??[],onChange:$,by:E,multiple:!0,children:({disabled:G,value:Y})=>e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsxs("div",{className:X(),children:[e.jsxRuntimeExports.jsx(re.InputHeader,{label:O,isRequired:t,hideHintLabel:m,hideInputHeader:R,labelId:n}),e.jsxRuntimeExports.jsxs("div",{ref:w,children:[e.jsxRuntimeExports.jsx(g.Combobox.Button,{ref:P,className:"hidden"}),e.jsxRuntimeExports.jsx(pe,{disableClearLogic:p,endSlot:b,fullWidth:u,getLabel:a,getItemId:c,isDisabled:G,isInvalid:r,onChange:$,open:l,openPopover:K,placeholder:N,searchInputRef:S,startSlot:k,value:Y})]}),e.jsxRuntimeExports.jsx(ne.InputFooter,{description:o,errorMessage:i,hideInputFooter:d})]}),e.jsxRuntimeExports.jsx(J,{label:O,searchInputRef:S,triggerRef:w,getItemId:c,getLabel:a,items:M,open:l,setOpenPopover:D,selectRenderElements:L,disabledItemIdKeys:j,direction:z,onQueryChange:T,isLoading:q,onLoadMore:B})]})})},qe=({by:E,children:x,defaultValue:o,disabledItemIdKeys:p,getItemId:j,getLabel:b,isDisabled:i,isInvalid:u,isLoading:c,items:a,label:m,name:d,onChange:R,onQueryChange:f,selectRenderElements:r,showSelectedRange:q,value:t})=>{const{isDisabled:M}=s.useContext(Z.FieldGroupContext),O=s.useRef(null),n=s.useRef(null),y=s.useRef(null),[v,B]=s.useState(t??o),[T,N]=s.useState(!1),L=()=>{var w;N(!0),(w=n.current)==null||w.click()},k=()=>N(!1),h=s.useCallback(w=>{B(w),R==null||R(w),k()},[R]),{direction:F}=_.useLocale(),{wrapper:S}=U.sharedInputStyles({fullWidth:!1,isInvalid:u,isDisabled:i});s.useEffect(()=>{B(t??o)},[o,t]);const P=t||v?j(t??v):void 0;return e.jsxRuntimeExports.jsx(A.Provider,{values:[[A.ButtonContext,{onPress:()=>L(),isDisabled:i||M}]],children:e.jsxRuntimeExports.jsx(g.Combobox,{disabled:i,name:d,value:t??v??"",onChange:h,by:E,children:()=>e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx("div",{className:S(),children:e.jsxRuntimeExports.jsxs("div",{ref:y,children:[e.jsxRuntimeExports.jsx(g.Combobox.Button,{ref:n,className:"hidden"}),x]})}),e.jsxRuntimeExports.jsx(J,{triggerRef:y,label:m,getItemId:j,getLabel:b,items:a,open:T,setOpenPopover:N,selectRenderElements:r,disabledItemIdKeys:p,direction:F,onQueryChange:f,isLoading:c,selectedItemId:P,searchInputRef:O,showSelectedRange:q,placement:"bottom start"})]})})})},he=({by:E,children:x,defaultValue:o,disabledItemIdKeys:p,fullWidth:j=!0,getItemId:b,getLabel:i,isDisabled:u,isInvalid:c,isLoading:a,items:m,label:d,name:R,onChange:f,onQueryChange:r,selectRenderElements:q,value:t})=>{const{isDisabled:M}=s.useContext(Z.FieldGroupContext),O=s.useRef(null),n=s.useRef(null),y=s.useRef(null),[v,B]=s.useState(t??o),[T,N]=s.useState(!1),L=()=>{var S;N(!0),(S=n.current)==null||S.click()},k=s.useCallback(S=>{B(S),f==null||f(S)},[f]),{direction:h}=_.useLocale(),{wrapper:F}=U.sharedInputStyles({fullWidth:j,isInvalid:c,isDisabled:u});return s.useEffect(()=>{B(t??o)},[o,t]),e.jsxRuntimeExports.jsx(A.Provider,{values:[[A.ButtonContext,{onPress:()=>L(),isDisabled:u||M}]],children:e.jsxRuntimeExports.jsx(g.Combobox,{disabled:u,name:R,value:t??v??[],onChange:k,by:E,multiple:!0,children:()=>e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx("div",{className:F(),children:e.jsxRuntimeExports.jsxs("div",{ref:y,children:[e.jsxRuntimeExports.jsx(g.Combobox.Button,{ref:n,className:"hidden"}),x]})}),e.jsxRuntimeExports.jsx(J,{label:d,searchInputRef:O,triggerRef:y,getItemId:b,getLabel:i,items:m,open:T,setOpenPopover:N,selectRenderElements:q,disabledItemIdKeys:p,direction:h,onQueryChange:r,isLoading:a})]})})})};exports.MultiSearchListField=fe;exports.MultiSearchListFieldWithCustomTrigger=he;exports.SearchListField=Re;exports.SearchListFieldWithCustomTrigger=qe;
|
package/dist/lyra37.js
CHANGED
|
@@ -33,7 +33,7 @@ import "./lyra28.js";
|
|
|
33
33
|
import "./lyra29.js";
|
|
34
34
|
import { useDictionary as ct } from "./lyra92.js";
|
|
35
35
|
import "./lyra78.js";
|
|
36
|
-
import "./
|
|
36
|
+
import "./lyra455.js";
|
|
37
37
|
import { InputHeader as lt } from "./lyra38.js";
|
|
38
38
|
import { InputFooter as mt } from "./lyra39.js";
|
|
39
39
|
import { sharedInputStyles as H } from "./lyra40.js";
|
|
@@ -45,14 +45,14 @@ import "./lyra34.js";
|
|
|
45
45
|
import "./lyra35.js";
|
|
46
46
|
import { Text as et } from "./lyra71.js";
|
|
47
47
|
import "./lyra72.js";
|
|
48
|
-
import { sharedListItemStyles as xt, sharedListStyles as ft } from "./
|
|
49
|
-
import { SharedListItem as ht } from "./
|
|
48
|
+
import { sharedListItemStyles as xt, sharedListStyles as ft } from "./lyra452.js";
|
|
49
|
+
import { SharedListItem as ht } from "./lyra453.js";
|
|
50
50
|
import { Popover as jt } from "./lyra52.js";
|
|
51
51
|
import "./lyra53.js";
|
|
52
52
|
import "./lyra54.js";
|
|
53
53
|
import "./lyra55.js";
|
|
54
|
-
import { InputTagGroup as bt, InputTag as Nt } from "./
|
|
55
|
-
import "./
|
|
54
|
+
import { InputTagGroup as bt, InputTag as Nt } from "./lyra456.js";
|
|
55
|
+
import "./lyra457.js";
|
|
56
56
|
import { useFilterItemsByQuery as vt } from "./lyra82.js";
|
|
57
57
|
import "./lyra41.js";
|
|
58
58
|
import "./lyra42.js";
|
|
@@ -83,7 +83,7 @@ import "./lyra77.js";
|
|
|
83
83
|
import "./lyra79.js";
|
|
84
84
|
import "./lyra95.js";
|
|
85
85
|
import { useSpinDelay as Ft } from "./lyra84.js";
|
|
86
|
-
import { Combobox as R } from "./
|
|
86
|
+
import { Combobox as R } from "./lyra607.js";
|
|
87
87
|
import { useLocale as Q } from "./lyra85.js";
|
|
88
88
|
const St = ({
|
|
89
89
|
disableClearLogic: N,
|
package/dist/lyra43.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./lyra87.cjs"),s=require("react"),q=require("./lyra86.cjs"),L=require("./lyra98.cjs"),J=require("./lyra447.cjs"),Q=require("./lyra90.cjs"),U=require("./lyra594.cjs"),X=require("./lyra92.cjs"),M=require("./lyra456.cjs");require("./lyra457.cjs");const Y=require("./lyra38.cjs"),Z=require("./lyra39.cjs"),ee=require("./lyra40.cjs"),te=require("./lyra85.cjs"),k=({description:I,fullWidth:T=!0,hideHintLabel:E,hideInputFooter:y,hideInputHeader:F,inputRef:d,label:x,onChange:a,value:m,...l},c)=>{[l,c]=q.useContextProps(l,c,q.TextFieldContext);const g=s.useRef(null),f=L.useObjectRef(d?L.mergeRefs(g,d):g),{className:R,errorMessage:p,isDisabled:v=!1,isInvalid:h,isRequired:u,name:B,...C}=l,b=X.useDictionary(),[V,S]=s.useState(""),[t,D]=s.useState(m??[]),{input:G,inputField:O,wrapper:_}=ee.sharedInputStyles({fullWidth:T});s.useEffect(()=>{D(m??[])},[m]);const j=s.useCallback(e=>{D(e),a==null||a(e)},[a]),A=s.useMemo(()=>t.map(e=>({key:e,value:e})),[t]),H=s.useCallback(e=>{if(["Enter",","].includes(e.key)){e.preventDefault();const o=e.currentTarget.value.trim();o&&!t.includes(o)&&j([...t,e.currentTarget.value.trim()]),S("")}else e.key==="Backspace"&&(e.currentTarget.value||(e.preventDefault(),j(t.slice(0,-1))))},[j,t]),z=s.useCallback(e=>{if(e.preventDefault(),e.clipboardData){const o=e.clipboardData.getData("Text");if(o){const n=o?o.split(",").map(i=>i.replace(/[\u200B-\u200D\uFEFF]/g,"")).filter(i=>i.length>0).map(i=>i.trim()):[];j(Array.from(new Set([...t,...n])))}}},[j,t]),{groupRef:K,inputPosition:N,setFirstTag:W,setLastTag:$}=ne(),w=s.useMemo(()=>u&&t.length===0,[t.length,u]);return r.jsxRuntimeExports.jsx(q.TextField,{className:_({className:R}),isDisabled:v,isInvalid:h,isRequired:w,...C,onKeyDown:H,value:V,onChange:S,onPaste:z,ref:c,children:({isDisabled:e,isInvalid:o})=>r.jsxRuntimeExports.jsxs(r.jsxRuntimeExports.Fragment,{children:[r.jsxRuntimeExports.jsx(Y.InputHeader,{label:x,isRequired:u,hideHintLabel:E,hideInputHeader:F}),r.jsxRuntimeExports.jsxs(q.Group,{className:({isFocusWithin:n,isHovered:i})=>O({isFocused:n,isHovered:i,isDisabled:e,isInvalid:o,className:"relative flex-wrap items-start gap-1"}),ref:K,onFocus:()=>{var n;t.length===0&&((n=f==null?void 0:f.current)==null||n.focus())},children:[r.jsxRuntimeExports.jsx(M.InputTagGroup,{label:x??b.values,items:A,onRemove:n=>{j(t.filter(i=>!n.has(i)))},className:"-m-1.5 -my-[0.3125rem] flex flex-wrap gap-1",children:t.map((n,i)=>r.jsxRuntimeExports.jsx(M.InputTag,{id:n,isDisabled:e,ref:P=>{i===t.length-1&&$(P),i===0&&W(P)},children:n},n))}),N.isFirstInLine?r.jsxRuntimeExports.jsx("div",{className:J.clsx("w-full",t.length?"h-[1.625rem]":"h-4")}):null,r.jsxRuntimeExports.jsx("div",{style:{...N.style},className:"absolute flex h-6 items-center ps-2",children:r.jsxRuntimeExports.jsx(q.Input,{className:G({className:"my-px w-full"}),ref:f,disabled:e,required:w,placeholder:e&&!m?"-":l.placeholder})}),r.jsxRuntimeExports.jsx("input",{type:"hidden",value:t.join(","),name:B})]}),r.jsxRuntimeExports.jsx(Z.InputFooter,{description:I??b.tagInputDescription,errorMessage:p,hideInputFooter:y})]})})};k.displayName="TagInput";const se=Q.fixedForwardRef(k),ne=()=>{const I=s.useRef(null),[T,E]=s.useState(),[y,F]=s.useState(),d=te.useLocale(),x=32*4,a=s.useCallback(()=>{const c=u=>d.direction==="rtl"?u.right:u.left,g=u=>d.direction==="rtl"?u.left:u.right;if(!T||!I.current||!y)return{style:{top:4,insetInlineStart:3,width:"calc(100% - 16px)"},isFirstInLine:!0};const f=y.getBoundingClientRect(),R=T.getBoundingClientRect(),p=I.current.getBoundingClientRect(),v=Math.abs(g(p)-g(R))-10,h=v<x;return{style:{top:h?R.bottom-p.top+4:R.top-p.top,insetInlineStart:h?Math.abs(c(f)-c(p))-2:Math.abs(g(R)-c(p))+2,width:h?"calc(100% - 16px)":Math.max(v,x)},isFirstInLine:h}},[y,T,d.direction,x]),[m,l]=s.useState(a());return s.useLayoutEffect(()=>{l(a())},[a]),U.default("resize",()=>{l(a())}),{groupRef:I,setLastTag:E,setFirstTag:F,inputPosition:m}};exports.TagInput=se;
|
package/dist/lyra43.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lyra43.cjs","sources":["../src/components/inputs/tag-input/tag-input.tsx"],"sourcesContent":["import {\n ClipboardEvent,\n ForwardedRef,\n RefObject,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport {\n Group,\n Input,\n TextField as AriaTextField,\n TextFieldContext,\n TextFieldProps as AriaTextFieldProps,\n useContextProps,\n useLocale,\n} from \"react-aria-components\";\n\nimport { mergeRefs, useObjectRef } from \"@react-aria/utils\";\nimport { KeyboardEvent } from \"@react-types/shared\";\nimport clsx from \"clsx\";\nimport { VariantProps } from \"tailwind-variants\";\n\nimport { fixedForwardRef } from \"../../../utils/helpers\";\nimport useEventListener from \"../../../utils/hooks/use-event-listener\";\nimport { useDictionary } from \"../../../utils/providers/dictionary-provider\";\nimport { InputTag, InputTagGroup } from \"../input-tag-group\";\nimport {\n InputFooter,\n InputFooterProps,\n InputHeader,\n InputHeaderProps,\n sharedInputStyles,\n} from \"../shared\";\n\nexport type TagInputProps = Omit<AriaTextFieldProps, \"value\" | \"onChange\"> &\n VariantProps<typeof sharedInputStyles> &\n InputHeaderProps &\n InputFooterProps & {\n className?: string;\n placeholder?: string;\n inputRef?: RefObject<HTMLInputElement>;\n value?: string[];\n onChange?: (value: string[]) => void;\n };\n\nconst _TagInput = (\n {\n description,\n fullWidth = true,\n hideHintLabel,\n hideInputFooter,\n hideInputHeader,\n inputRef,\n label,\n onChange,\n value,\n ...props\n }: TagInputProps,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n [props, ref] = useContextProps(props, ref, TextFieldContext);\n\n const localTextInputRef = useRef<HTMLInputElement>(null);\n const textInputRef = useObjectRef(\n inputRef ? mergeRefs(localTextInputRef, inputRef) : localTextInputRef,\n );\n\n const {\n className,\n errorMessage,\n isDisabled = false,\n isInvalid,\n isRequired,\n name,\n ...textFieldProps\n } = props;\n\n const dictionary = useDictionary();\n const [inputValue, setInputValue] = useState(\"\");\n const [internalValue, setInternalValue] = useState(value ?? []);\n const { input, inputField, wrapper } = sharedInputStyles({\n fullWidth,\n });\n\n useEffect(() => {\n setInternalValue(value ?? []);\n }, [value]);\n\n const internalOnChange = useCallback(\n (value: string[]) => {\n setInternalValue(value);\n onChange?.(value);\n },\n [onChange],\n );\n\n const tags = useMemo(\n () => internalValue.map((tag) => ({ key: tag, value: tag })),\n [internalValue],\n );\n\n const onKeyDown = useCallback(\n (e: KeyboardEvent) => {\n if ([\"Enter\", \",\"].includes(e.key)) {\n e.preventDefault();\n const valueToAdd = e.currentTarget.value.trim();\n if (valueToAdd && !internalValue.includes(valueToAdd)) {\n internalOnChange([...internalValue, e.currentTarget.value.trim()]);\n }\n setInputValue(\"\");\n } else if (e.key === \"Backspace\") {\n if (!e.currentTarget.value) {\n e.preventDefault();\n internalOnChange(internalValue.slice(0, -1));\n }\n }\n },\n [internalOnChange, internalValue],\n );\n\n const onPaste = useCallback(\n (e: ClipboardEvent<HTMLInputElement>) => {\n e.preventDefault();\n\n if (e.clipboardData) {\n const text = e.clipboardData.getData(\"Text\");\n if (text) {\n const splitValues = text\n ? text\n .split(\",\")\n // remove zero width characters\n .map((x) => x.replace(/[\\u200B-\\u200D\\uFEFF]/g, \"\"))\n .filter((x) => x.length > 0)\n .map((x) => x.trim())\n : [];\n internalOnChange(Array.from(new Set([...internalValue, ...splitValues])));\n }\n }\n },\n [internalOnChange, internalValue],\n );\n\n const { groupRef, inputPosition, setFirstTag, setLastTag } = useInputPosition();\n\n return (\n <AriaTextField\n className={wrapper({ className })}\n isDisabled={isDisabled}\n isRequired={isRequired}\n isInvalid={isInvalid}\n {...textFieldProps}\n onKeyDown={onKeyDown}\n value={inputValue}\n onChange={setInputValue}\n onPaste={onPaste}\n ref={ref}\n >\n {({ isDisabled, isInvalid }) => (\n <>\n <InputHeader\n label={label}\n isRequired={isRequired}\n hideHintLabel={hideHintLabel}\n hideInputHeader={hideInputHeader}\n />\n <Group\n className={({ isFocusWithin, isHovered }) => {\n return inputField({\n isFocused: isFocusWithin,\n isHovered: isHovered,\n isDisabled,\n isInvalid,\n className: \"relative flex-wrap items-start gap-1\",\n });\n }}\n ref={groupRef}\n onFocus={() => {\n // Make sure that the input is focused when the group focuses and there are no tags yet\n if (internalValue.length === 0) textInputRef?.current?.focus();\n }}\n >\n <InputTagGroup\n label={label ?? dictionary.values}\n items={tags}\n onRemove={(removedTags) => {\n internalOnChange(internalValue.filter((tag) => !removedTags.has(tag)));\n }}\n className=\"-m-1.5 -my-[0.3125rem] flex flex-wrap gap-1\"\n >\n {internalValue.map((item, index) => (\n <InputTag\n key={item}\n id={item}\n isDisabled={isDisabled}\n ref={(instance) => {\n if (index === internalValue.length - 1) {\n setLastTag(instance);\n }\n if (index === 0) {\n setFirstTag(instance);\n }\n }}\n >\n {item}\n </InputTag>\n ))}\n </InputTagGroup>\n\n {inputPosition.isFirstInLine ? (\n <div className={clsx(\"w-full\", internalValue.length ? \"h-[1.625rem]\" : \"h-4\")} />\n ) : null}\n\n <div style={{ ...inputPosition.style }} className=\"absolute flex h-6 items-center ps-2\">\n <Input\n className={input({ className: \"my-px w-full\" })}\n ref={textInputRef}\n required={isRequired}\n disabled={isDisabled}\n placeholder={isDisabled && !value ? \"-\" : props.placeholder}\n />\n </div>\n\n <input type=\"hidden\" value={internalValue.join(\",\")} name={name} />\n </Group>\n <InputFooter\n description={description ?? dictionary.tagInputDescription}\n errorMessage={errorMessage}\n hideInputFooter={hideInputFooter}\n />\n </>\n )}\n </AriaTextField>\n );\n};\n\n_TagInput.displayName = \"TagInput\";\n\nexport const TagInput = fixedForwardRef(_TagInput);\n\nconst useInputPosition = () => {\n const groupRef = useRef<HTMLDivElement>(null);\n const [lastTag, setLastTag] = useState<HTMLDivElement | null>();\n const [firstTag, setFirstTag] = useState<HTMLDivElement | null>();\n\n const locale = useLocale();\n\n const minWidth = 32 * 4;\n\n const getInputPosition = useCallback(() => {\n const getRectStart = (rect: DOMRect) => (locale.direction === \"rtl\" ? rect.right : rect.left);\n const getRectEnd = (rect: DOMRect) => (locale.direction === \"rtl\" ? rect.left : rect.right);\n\n // if there are no tags or the group ref is not set, return the default position at the start of the group\n if (!lastTag || !groupRef.current || !firstTag) {\n return {\n style: {\n top: 4,\n insetInlineStart: 3,\n width: \"calc(100% - 16px)\",\n },\n isFirstInLine: true,\n };\n }\n\n const firstTagRect = firstTag.getBoundingClientRect();\n const lastTagRect = lastTag.getBoundingClientRect();\n const groupRect = groupRef.current.getBoundingClientRect();\n\n // compute available space between the last tag and the end of the group\n const availableSpace = Math.abs(getRectEnd(groupRect) - getRectEnd(lastTagRect)) - 10;\n // if the available space is less than the minimum width of the input, push the input to the next line\n const pushToNextLine = availableSpace < minWidth;\n\n return {\n style: {\n top: pushToNextLine\n ? // if pushing to the next line, top of the input should be bottom of the last tag + 4px gap\n lastTagRect.bottom - groupRect.top + 4\n : // if keeping on the same line, top of the input should be top of the last tag\n lastTagRect.top - groupRect.top,\n\n insetInlineStart: pushToNextLine\n ? // if pushing to the next line, start of the input should be the start of the group\n Math.abs(getRectStart(firstTagRect) - getRectStart(groupRect)) - 2\n : // if keeping on the same line, start of the input should be the end of the last tag\n Math.abs(getRectEnd(lastTagRect) - getRectStart(groupRect)) + 2,\n\n width: pushToNextLine\n ? // if pushing to the next line, input should fill up the whole width of the group (minus the padding of the group)\n \"calc(100% - 16px)\"\n : // if keeping on the same line, input should take the available space between the last tag and the end of the group\n Math.max(availableSpace, minWidth),\n },\n isFirstInLine: pushToNextLine,\n };\n }, [firstTag, lastTag, locale.direction, minWidth]);\n\n const [inputPosition, setInputPosition] = useState(getInputPosition());\n\n useLayoutEffect(() => {\n setInputPosition(getInputPosition());\n }, [getInputPosition]);\n\n useEventListener(\"resize\", () => {\n setInputPosition(getInputPosition());\n });\n\n return {\n groupRef,\n setLastTag,\n setFirstTag,\n inputPosition,\n };\n};\n"],"names":["_TagInput","description","fullWidth","hideHintLabel","hideInputFooter","hideInputHeader","inputRef","label","onChange","value","props","ref","useContextProps","TextFieldContext","localTextInputRef","useRef","textInputRef","useObjectRef","mergeRefs","className","errorMessage","isDisabled","isInvalid","isRequired","name","textFieldProps","dictionary","useDictionary","inputValue","setInputValue","useState","internalValue","setInternalValue","input","inputField","wrapper","sharedInputStyles","useEffect","internalOnChange","useCallback","tags","useMemo","tag","onKeyDown","e","valueToAdd","onPaste","text","splitValues","x","groupRef","inputPosition","setFirstTag","setLastTag","useInputPosition","jsx","AriaTextField","jsxs","Fragment","InputHeader","Group","isFocusWithin","isHovered","_a","InputTagGroup","removedTags","item","index","InputTag","instance","clsx","Input","InputFooter","TagInput","fixedForwardRef","lastTag","firstTag","locale","useLocale","minWidth","getInputPosition","getRectStart","rect","getRectEnd","firstTagRect","lastTagRect","groupRect","availableSpace","pushToNextLine","setInputPosition","useLayoutEffect","useEventListener"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lyra43.cjs","sources":["../src/components/inputs/tag-input/tag-input.tsx"],"sourcesContent":["import {\n ClipboardEvent,\n ForwardedRef,\n RefObject,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport {\n Group,\n Input,\n TextField as AriaTextField,\n TextFieldContext,\n TextFieldProps as AriaTextFieldProps,\n useContextProps,\n useLocale,\n} from \"react-aria-components\";\n\nimport { mergeRefs, useObjectRef } from \"@react-aria/utils\";\nimport { KeyboardEvent } from \"@react-types/shared\";\nimport clsx from \"clsx\";\nimport { VariantProps } from \"tailwind-variants\";\n\nimport { fixedForwardRef } from \"../../../utils/helpers\";\nimport useEventListener from \"../../../utils/hooks/use-event-listener\";\nimport { useDictionary } from \"../../../utils/providers/dictionary-provider\";\nimport { InputTag, InputTagGroup } from \"../input-tag-group\";\nimport {\n InputFooter,\n InputFooterProps,\n InputHeader,\n InputHeaderProps,\n sharedInputStyles,\n} from \"../shared\";\n\nexport type TagInputProps = Omit<AriaTextFieldProps, \"value\" | \"onChange\"> &\n VariantProps<typeof sharedInputStyles> &\n InputHeaderProps &\n InputFooterProps & {\n className?: string;\n placeholder?: string;\n inputRef?: RefObject<HTMLInputElement>;\n value?: string[];\n onChange?: (value: string[]) => void;\n };\n\nconst _TagInput = (\n {\n description,\n fullWidth = true,\n hideHintLabel,\n hideInputFooter,\n hideInputHeader,\n inputRef,\n label,\n onChange,\n value,\n ...props\n }: TagInputProps,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n [props, ref] = useContextProps(props, ref, TextFieldContext);\n\n const localTextInputRef = useRef<HTMLInputElement>(null);\n const textInputRef = useObjectRef(\n inputRef ? mergeRefs(localTextInputRef, inputRef) : localTextInputRef,\n );\n\n const {\n className,\n errorMessage,\n isDisabled = false,\n isInvalid,\n isRequired,\n name,\n ...textFieldProps\n } = props;\n\n const dictionary = useDictionary();\n const [inputValue, setInputValue] = useState(\"\");\n const [internalValue, setInternalValue] = useState(value ?? []);\n const { input, inputField, wrapper } = sharedInputStyles({\n fullWidth,\n });\n\n useEffect(() => {\n setInternalValue(value ?? []);\n }, [value]);\n\n const internalOnChange = useCallback(\n (value: string[]) => {\n setInternalValue(value);\n onChange?.(value);\n },\n [onChange],\n );\n\n const tags = useMemo(\n () => internalValue.map((tag) => ({ key: tag, value: tag })),\n [internalValue],\n );\n\n const onKeyDown = useCallback(\n (e: KeyboardEvent) => {\n if ([\"Enter\", \",\"].includes(e.key)) {\n e.preventDefault();\n const valueToAdd = e.currentTarget.value.trim();\n if (valueToAdd && !internalValue.includes(valueToAdd)) {\n internalOnChange([...internalValue, e.currentTarget.value.trim()]);\n }\n setInputValue(\"\");\n } else if (e.key === \"Backspace\") {\n if (!e.currentTarget.value) {\n e.preventDefault();\n internalOnChange(internalValue.slice(0, -1));\n }\n }\n },\n [internalOnChange, internalValue],\n );\n\n const onPaste = useCallback(\n (e: ClipboardEvent<HTMLInputElement>) => {\n e.preventDefault();\n\n if (e.clipboardData) {\n const text = e.clipboardData.getData(\"Text\");\n if (text) {\n const splitValues = text\n ? text\n .split(\",\")\n // remove zero width characters\n .map((x) => x.replace(/[\\u200B-\\u200D\\uFEFF]/g, \"\"))\n .filter((x) => x.length > 0)\n .map((x) => x.trim())\n : [];\n internalOnChange(Array.from(new Set([...internalValue, ...splitValues])));\n }\n }\n },\n [internalOnChange, internalValue],\n );\n\n const { groupRef, inputPosition, setFirstTag, setLastTag } = useInputPosition();\n\n const shouldInputBeRequired = useMemo(\n () => isRequired && internalValue.length === 0,\n [internalValue.length, isRequired],\n );\n\n return (\n <AriaTextField\n className={wrapper({ className })}\n isDisabled={isDisabled}\n isInvalid={isInvalid}\n isRequired={shouldInputBeRequired}\n {...textFieldProps}\n onKeyDown={onKeyDown}\n value={inputValue}\n onChange={setInputValue}\n onPaste={onPaste}\n ref={ref}\n >\n {({ isDisabled, isInvalid }) => (\n <>\n <InputHeader\n label={label}\n isRequired={isRequired}\n hideHintLabel={hideHintLabel}\n hideInputHeader={hideInputHeader}\n />\n <Group\n className={({ isFocusWithin, isHovered }) => {\n return inputField({\n isFocused: isFocusWithin,\n isHovered: isHovered,\n isDisabled,\n isInvalid,\n className: \"relative flex-wrap items-start gap-1\",\n });\n }}\n ref={groupRef}\n onFocus={() => {\n // Make sure that the input is focused when the group focuses and there are no tags yet\n if (internalValue.length === 0) textInputRef?.current?.focus();\n }}\n >\n <InputTagGroup\n label={label ?? dictionary.values}\n items={tags}\n onRemove={(removedTags) => {\n internalOnChange(internalValue.filter((tag) => !removedTags.has(tag)));\n }}\n className=\"-m-1.5 -my-[0.3125rem] flex flex-wrap gap-1\"\n >\n {internalValue.map((item, index) => (\n <InputTag\n key={item}\n id={item}\n isDisabled={isDisabled}\n ref={(instance) => {\n if (index === internalValue.length - 1) {\n setLastTag(instance);\n }\n if (index === 0) {\n setFirstTag(instance);\n }\n }}\n >\n {item}\n </InputTag>\n ))}\n </InputTagGroup>\n\n {inputPosition.isFirstInLine ? (\n <div className={clsx(\"w-full\", internalValue.length ? \"h-[1.625rem]\" : \"h-4\")} />\n ) : null}\n\n <div style={{ ...inputPosition.style }} className=\"absolute flex h-6 items-center ps-2\">\n <Input\n className={input({ className: \"my-px w-full\" })}\n ref={textInputRef}\n disabled={isDisabled}\n required={shouldInputBeRequired}\n placeholder={isDisabled && !value ? \"-\" : props.placeholder}\n />\n </div>\n\n <input type=\"hidden\" value={internalValue.join(\",\")} name={name} />\n </Group>\n <InputFooter\n description={description ?? dictionary.tagInputDescription}\n errorMessage={errorMessage}\n hideInputFooter={hideInputFooter}\n />\n </>\n )}\n </AriaTextField>\n );\n};\n\n_TagInput.displayName = \"TagInput\";\n\nexport const TagInput = fixedForwardRef(_TagInput);\n\nconst useInputPosition = () => {\n const groupRef = useRef<HTMLDivElement>(null);\n const [lastTag, setLastTag] = useState<HTMLDivElement | null>();\n const [firstTag, setFirstTag] = useState<HTMLDivElement | null>();\n\n const locale = useLocale();\n\n const minWidth = 32 * 4;\n\n const getInputPosition = useCallback(() => {\n const getRectStart = (rect: DOMRect) => (locale.direction === \"rtl\" ? rect.right : rect.left);\n const getRectEnd = (rect: DOMRect) => (locale.direction === \"rtl\" ? rect.left : rect.right);\n\n // if there are no tags or the group ref is not set, return the default position at the start of the group\n if (!lastTag || !groupRef.current || !firstTag) {\n return {\n style: {\n top: 4,\n insetInlineStart: 3,\n width: \"calc(100% - 16px)\",\n },\n isFirstInLine: true,\n };\n }\n\n const firstTagRect = firstTag.getBoundingClientRect();\n const lastTagRect = lastTag.getBoundingClientRect();\n const groupRect = groupRef.current.getBoundingClientRect();\n\n // compute available space between the last tag and the end of the group\n const availableSpace = Math.abs(getRectEnd(groupRect) - getRectEnd(lastTagRect)) - 10;\n // if the available space is less than the minimum width of the input, push the input to the next line\n const pushToNextLine = availableSpace < minWidth;\n\n return {\n style: {\n top: pushToNextLine\n ? // if pushing to the next line, top of the input should be bottom of the last tag + 4px gap\n lastTagRect.bottom - groupRect.top + 4\n : // if keeping on the same line, top of the input should be top of the last tag\n lastTagRect.top - groupRect.top,\n\n insetInlineStart: pushToNextLine\n ? // if pushing to the next line, start of the input should be the start of the group\n Math.abs(getRectStart(firstTagRect) - getRectStart(groupRect)) - 2\n : // if keeping on the same line, start of the input should be the end of the last tag\n Math.abs(getRectEnd(lastTagRect) - getRectStart(groupRect)) + 2,\n\n width: pushToNextLine\n ? // if pushing to the next line, input should fill up the whole width of the group (minus the padding of the group)\n \"calc(100% - 16px)\"\n : // if keeping on the same line, input should take the available space between the last tag and the end of the group\n Math.max(availableSpace, minWidth),\n },\n isFirstInLine: pushToNextLine,\n };\n }, [firstTag, lastTag, locale.direction, minWidth]);\n\n const [inputPosition, setInputPosition] = useState(getInputPosition());\n\n useLayoutEffect(() => {\n setInputPosition(getInputPosition());\n }, [getInputPosition]);\n\n useEventListener(\"resize\", () => {\n setInputPosition(getInputPosition());\n });\n\n return {\n groupRef,\n setLastTag,\n setFirstTag,\n inputPosition,\n };\n};\n"],"names":["_TagInput","description","fullWidth","hideHintLabel","hideInputFooter","hideInputHeader","inputRef","label","onChange","value","props","ref","useContextProps","TextFieldContext","localTextInputRef","useRef","textInputRef","useObjectRef","mergeRefs","className","errorMessage","isDisabled","isInvalid","isRequired","name","textFieldProps","dictionary","useDictionary","inputValue","setInputValue","useState","internalValue","setInternalValue","input","inputField","wrapper","sharedInputStyles","useEffect","internalOnChange","useCallback","tags","useMemo","tag","onKeyDown","valueToAdd","onPaste","text","splitValues","x","groupRef","inputPosition","setFirstTag","setLastTag","useInputPosition","shouldInputBeRequired","jsx","AriaTextField","jsxs","Fragment","InputHeader","Group","isFocusWithin","isHovered","_a","InputTagGroup","removedTags","item","index","InputTag","instance","clsx","Input","InputFooter","TagInput","fixedForwardRef","lastTag","firstTag","locale","useLocale","minWidth","getInputPosition","getRectStart","rect","getRectEnd","firstTagRect","lastTagRect","groupRect","availableSpace","pushToNextLine","setInputPosition","useLayoutEffect","useEventListener"],"mappings":"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"}
|
package/dist/lyra43.js
CHANGED
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
import { j as
|
|
2
|
-
import { useRef as
|
|
3
|
-
import { useContextProps as
|
|
4
|
-
import { useObjectRef as
|
|
5
|
-
import { clsx as
|
|
6
|
-
import { fixedForwardRef as
|
|
1
|
+
import { j as n } from "./lyra87.js";
|
|
2
|
+
import { useRef as B, useState as R, useEffect as J, useCallback as F, useMemo as S, useLayoutEffect as Q } from "react";
|
|
3
|
+
import { useContextProps as U, TextFieldContext as X, TextField as Y, Group as Z, Input as tt } from "./lyra86.js";
|
|
4
|
+
import { useObjectRef as et, mergeRefs as st } from "./lyra98.js";
|
|
5
|
+
import { clsx as rt } from "./lyra447.js";
|
|
6
|
+
import { fixedForwardRef as nt } from "./lyra90.js";
|
|
7
7
|
import at from "./lyra594.js";
|
|
8
|
-
import { useDictionary as
|
|
9
|
-
import { InputTagGroup as
|
|
10
|
-
import "./
|
|
8
|
+
import { useDictionary as it } from "./lyra92.js";
|
|
9
|
+
import { InputTagGroup as ot, InputTag as lt } from "./lyra456.js";
|
|
10
|
+
import "./lyra457.js";
|
|
11
11
|
import { InputHeader as ct } from "./lyra38.js";
|
|
12
|
-
import { InputFooter as
|
|
13
|
-
import { sharedInputStyles as
|
|
14
|
-
import { useLocale as
|
|
15
|
-
const
|
|
16
|
-
description:
|
|
17
|
-
fullWidth:
|
|
18
|
-
hideHintLabel:
|
|
12
|
+
import { InputFooter as ut } from "./lyra39.js";
|
|
13
|
+
import { sharedInputStyles as pt } from "./lyra40.js";
|
|
14
|
+
import { useLocale as ft } from "./lyra85.js";
|
|
15
|
+
const M = ({
|
|
16
|
+
description: I,
|
|
17
|
+
fullWidth: $ = !0,
|
|
18
|
+
hideHintLabel: v,
|
|
19
19
|
hideInputFooter: T,
|
|
20
20
|
hideInputHeader: j,
|
|
21
21
|
inputRef: p,
|
|
22
22
|
label: f,
|
|
23
|
-
onChange:
|
|
23
|
+
onChange: a,
|
|
24
24
|
value: d,
|
|
25
|
-
...
|
|
26
|
-
},
|
|
27
|
-
[
|
|
28
|
-
const m =
|
|
29
|
-
p ?
|
|
25
|
+
...l
|
|
26
|
+
}, c) => {
|
|
27
|
+
[l, c] = U(l, c, X);
|
|
28
|
+
const m = B(null), g = et(
|
|
29
|
+
p ? st(m, p) : m
|
|
30
30
|
), {
|
|
31
31
|
className: x,
|
|
32
32
|
errorMessage: u,
|
|
33
|
-
isDisabled:
|
|
33
|
+
isDisabled: y = !1,
|
|
34
34
|
isInvalid: b,
|
|
35
35
|
isRequired: i,
|
|
36
|
-
name:
|
|
37
|
-
...
|
|
38
|
-
} =
|
|
39
|
-
fullWidth:
|
|
36
|
+
name: k,
|
|
37
|
+
...V
|
|
38
|
+
} = l, D = it(), [q, N] = R(""), [e, w] = R(d ?? []), { input: C, inputField: A, wrapper: G } = pt({
|
|
39
|
+
fullWidth: $
|
|
40
40
|
});
|
|
41
|
-
|
|
41
|
+
J(() => {
|
|
42
42
|
w(d ?? []);
|
|
43
43
|
}, [d]);
|
|
44
|
-
const h =
|
|
44
|
+
const h = F(
|
|
45
45
|
(t) => {
|
|
46
|
-
w(t),
|
|
46
|
+
w(t), a == null || a(t);
|
|
47
47
|
},
|
|
48
|
-
[
|
|
49
|
-
),
|
|
48
|
+
[a]
|
|
49
|
+
), O = S(
|
|
50
50
|
() => e.map((t) => ({ key: t, value: t })),
|
|
51
51
|
[e]
|
|
52
|
-
),
|
|
52
|
+
), z = F(
|
|
53
53
|
(t) => {
|
|
54
54
|
if (["Enter", ","].includes(t.key)) {
|
|
55
55
|
t.preventDefault();
|
|
@@ -59,7 +59,7 @@ const S = ({
|
|
|
59
59
|
t.key === "Backspace" && (t.currentTarget.value || (t.preventDefault(), h(e.slice(0, -1))));
|
|
60
60
|
},
|
|
61
61
|
[h, e]
|
|
62
|
-
),
|
|
62
|
+
), H = F(
|
|
63
63
|
(t) => {
|
|
64
64
|
if (t.preventDefault(), t.clipboardData) {
|
|
65
65
|
const o = t.clipboardData.getData("Text");
|
|
@@ -70,62 +70,65 @@ const S = ({
|
|
|
70
70
|
}
|
|
71
71
|
},
|
|
72
72
|
[h, e]
|
|
73
|
-
), { groupRef:
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
), { groupRef: K, inputPosition: L, setFirstTag: W, setLastTag: _ } = dt(), P = S(
|
|
74
|
+
() => i && e.length === 0,
|
|
75
|
+
[e.length, i]
|
|
76
|
+
);
|
|
77
|
+
return /* @__PURE__ */ n.jsx(
|
|
78
|
+
Y,
|
|
76
79
|
{
|
|
77
|
-
className:
|
|
78
|
-
isDisabled:
|
|
79
|
-
isRequired: i,
|
|
80
|
+
className: G({ className: x }),
|
|
81
|
+
isDisabled: y,
|
|
80
82
|
isInvalid: b,
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
83
|
+
isRequired: P,
|
|
84
|
+
...V,
|
|
85
|
+
onKeyDown: z,
|
|
86
|
+
value: q,
|
|
84
87
|
onChange: N,
|
|
85
|
-
onPaste:
|
|
86
|
-
ref:
|
|
87
|
-
children: ({ isDisabled: t, isInvalid: o }) => /* @__PURE__ */
|
|
88
|
-
/* @__PURE__ */
|
|
88
|
+
onPaste: H,
|
|
89
|
+
ref: c,
|
|
90
|
+
children: ({ isDisabled: t, isInvalid: o }) => /* @__PURE__ */ n.jsxs(n.Fragment, { children: [
|
|
91
|
+
/* @__PURE__ */ n.jsx(
|
|
89
92
|
ct,
|
|
90
93
|
{
|
|
91
94
|
label: f,
|
|
92
95
|
isRequired: i,
|
|
93
|
-
hideHintLabel:
|
|
96
|
+
hideHintLabel: v,
|
|
94
97
|
hideInputHeader: j
|
|
95
98
|
}
|
|
96
99
|
),
|
|
97
|
-
/* @__PURE__ */
|
|
98
|
-
|
|
100
|
+
/* @__PURE__ */ n.jsxs(
|
|
101
|
+
Z,
|
|
99
102
|
{
|
|
100
|
-
className: ({ isFocusWithin: s, isHovered: r }) =>
|
|
103
|
+
className: ({ isFocusWithin: s, isHovered: r }) => A({
|
|
101
104
|
isFocused: s,
|
|
102
105
|
isHovered: r,
|
|
103
106
|
isDisabled: t,
|
|
104
107
|
isInvalid: o,
|
|
105
108
|
className: "relative flex-wrap items-start gap-1"
|
|
106
109
|
}),
|
|
107
|
-
ref:
|
|
110
|
+
ref: K,
|
|
108
111
|
onFocus: () => {
|
|
109
112
|
var s;
|
|
110
113
|
e.length === 0 && ((s = g == null ? void 0 : g.current) == null || s.focus());
|
|
111
114
|
},
|
|
112
115
|
children: [
|
|
113
|
-
/* @__PURE__ */
|
|
114
|
-
|
|
116
|
+
/* @__PURE__ */ n.jsx(
|
|
117
|
+
ot,
|
|
115
118
|
{
|
|
116
119
|
label: f ?? D.values,
|
|
117
|
-
items:
|
|
120
|
+
items: O,
|
|
118
121
|
onRemove: (s) => {
|
|
119
122
|
h(e.filter((r) => !s.has(r)));
|
|
120
123
|
},
|
|
121
124
|
className: "-m-1.5 -my-[0.3125rem] flex flex-wrap gap-1",
|
|
122
|
-
children: e.map((s, r) => /* @__PURE__ */
|
|
123
|
-
|
|
125
|
+
children: e.map((s, r) => /* @__PURE__ */ n.jsx(
|
|
126
|
+
lt,
|
|
124
127
|
{
|
|
125
128
|
id: s,
|
|
126
129
|
isDisabled: t,
|
|
127
|
-
ref: (
|
|
128
|
-
r === e.length - 1 &&
|
|
130
|
+
ref: (E) => {
|
|
131
|
+
r === e.length - 1 && _(E), r === 0 && W(E);
|
|
129
132
|
},
|
|
130
133
|
children: s
|
|
131
134
|
},
|
|
@@ -133,25 +136,25 @@ const S = ({
|
|
|
133
136
|
))
|
|
134
137
|
}
|
|
135
138
|
),
|
|
136
|
-
L.isFirstInLine ? /* @__PURE__ */
|
|
137
|
-
/* @__PURE__ */
|
|
138
|
-
|
|
139
|
+
L.isFirstInLine ? /* @__PURE__ */ n.jsx("div", { className: rt("w-full", e.length ? "h-[1.625rem]" : "h-4") }) : null,
|
|
140
|
+
/* @__PURE__ */ n.jsx("div", { style: { ...L.style }, className: "absolute flex h-6 items-center ps-2", children: /* @__PURE__ */ n.jsx(
|
|
141
|
+
tt,
|
|
139
142
|
{
|
|
140
|
-
className:
|
|
143
|
+
className: C({ className: "my-px w-full" }),
|
|
141
144
|
ref: g,
|
|
142
|
-
required: i,
|
|
143
145
|
disabled: t,
|
|
144
|
-
|
|
146
|
+
required: P,
|
|
147
|
+
placeholder: t && !d ? "-" : l.placeholder
|
|
145
148
|
}
|
|
146
149
|
) }),
|
|
147
|
-
/* @__PURE__ */
|
|
150
|
+
/* @__PURE__ */ n.jsx("input", { type: "hidden", value: e.join(","), name: k })
|
|
148
151
|
]
|
|
149
152
|
}
|
|
150
153
|
),
|
|
151
|
-
/* @__PURE__ */
|
|
152
|
-
|
|
154
|
+
/* @__PURE__ */ n.jsx(
|
|
155
|
+
ut,
|
|
153
156
|
{
|
|
154
|
-
description:
|
|
157
|
+
description: I ?? D.tagInputDescription,
|
|
155
158
|
errorMessage: u,
|
|
156
159
|
hideInputFooter: T
|
|
157
160
|
}
|
|
@@ -160,11 +163,11 @@ const S = ({
|
|
|
160
163
|
}
|
|
161
164
|
);
|
|
162
165
|
};
|
|
163
|
-
|
|
164
|
-
const
|
|
165
|
-
const
|
|
166
|
-
const
|
|
167
|
-
if (
|
|
166
|
+
M.displayName = "TagInput";
|
|
167
|
+
const Nt = nt(M), dt = () => {
|
|
168
|
+
const I = B(null), [$, v] = R(), [T, j] = R(), p = ft(), f = 32 * 4, a = F(() => {
|
|
169
|
+
const c = (i) => p.direction === "rtl" ? i.right : i.left, m = (i) => p.direction === "rtl" ? i.left : i.right;
|
|
170
|
+
if (!$ || !I.current || !T)
|
|
168
171
|
return {
|
|
169
172
|
style: {
|
|
170
173
|
top: 4,
|
|
@@ -173,7 +176,7 @@ const Dt = rt(S), ft = () => {
|
|
|
173
176
|
},
|
|
174
177
|
isFirstInLine: !0
|
|
175
178
|
};
|
|
176
|
-
const g = T.getBoundingClientRect(), x =
|
|
179
|
+
const g = T.getBoundingClientRect(), x = $.getBoundingClientRect(), u = I.current.getBoundingClientRect(), y = Math.abs(m(u) - m(x)) - 10, b = y < f;
|
|
177
180
|
return {
|
|
178
181
|
style: {
|
|
179
182
|
top: b ? (
|
|
@@ -185,33 +188,33 @@ const Dt = rt(S), ft = () => {
|
|
|
185
188
|
),
|
|
186
189
|
insetInlineStart: b ? (
|
|
187
190
|
// if pushing to the next line, start of the input should be the start of the group
|
|
188
|
-
Math.abs(
|
|
191
|
+
Math.abs(c(g) - c(u)) - 2
|
|
189
192
|
) : (
|
|
190
193
|
// if keeping on the same line, start of the input should be the end of the last tag
|
|
191
|
-
Math.abs(m(x) -
|
|
194
|
+
Math.abs(m(x) - c(u)) + 2
|
|
192
195
|
),
|
|
193
196
|
width: b ? (
|
|
194
197
|
// if pushing to the next line, input should fill up the whole width of the group (minus the padding of the group)
|
|
195
198
|
"calc(100% - 16px)"
|
|
196
199
|
) : (
|
|
197
200
|
// if keeping on the same line, input should take the available space between the last tag and the end of the group
|
|
198
|
-
Math.max(
|
|
201
|
+
Math.max(y, f)
|
|
199
202
|
)
|
|
200
203
|
},
|
|
201
204
|
isFirstInLine: b
|
|
202
205
|
};
|
|
203
|
-
}, [T,
|
|
204
|
-
return
|
|
205
|
-
|
|
206
|
-
}, [
|
|
207
|
-
|
|
206
|
+
}, [T, $, p.direction, f]), [d, l] = R(a());
|
|
207
|
+
return Q(() => {
|
|
208
|
+
l(a());
|
|
209
|
+
}, [a]), at("resize", () => {
|
|
210
|
+
l(a());
|
|
208
211
|
}), {
|
|
209
|
-
groupRef:
|
|
210
|
-
setLastTag:
|
|
212
|
+
groupRef: I,
|
|
213
|
+
setLastTag: v,
|
|
211
214
|
setFirstTag: j,
|
|
212
215
|
inputPosition: d
|
|
213
216
|
};
|
|
214
217
|
};
|
|
215
218
|
export {
|
|
216
|
-
|
|
219
|
+
Nt as TagInput
|
|
217
220
|
};
|
package/dist/lyra43.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lyra43.js","sources":["../src/components/inputs/tag-input/tag-input.tsx"],"sourcesContent":["import {\n ClipboardEvent,\n ForwardedRef,\n RefObject,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport {\n Group,\n Input,\n TextField as AriaTextField,\n TextFieldContext,\n TextFieldProps as AriaTextFieldProps,\n useContextProps,\n useLocale,\n} from \"react-aria-components\";\n\nimport { mergeRefs, useObjectRef } from \"@react-aria/utils\";\nimport { KeyboardEvent } from \"@react-types/shared\";\nimport clsx from \"clsx\";\nimport { VariantProps } from \"tailwind-variants\";\n\nimport { fixedForwardRef } from \"../../../utils/helpers\";\nimport useEventListener from \"../../../utils/hooks/use-event-listener\";\nimport { useDictionary } from \"../../../utils/providers/dictionary-provider\";\nimport { InputTag, InputTagGroup } from \"../input-tag-group\";\nimport {\n InputFooter,\n InputFooterProps,\n InputHeader,\n InputHeaderProps,\n sharedInputStyles,\n} from \"../shared\";\n\nexport type TagInputProps = Omit<AriaTextFieldProps, \"value\" | \"onChange\"> &\n VariantProps<typeof sharedInputStyles> &\n InputHeaderProps &\n InputFooterProps & {\n className?: string;\n placeholder?: string;\n inputRef?: RefObject<HTMLInputElement>;\n value?: string[];\n onChange?: (value: string[]) => void;\n };\n\nconst _TagInput = (\n {\n description,\n fullWidth = true,\n hideHintLabel,\n hideInputFooter,\n hideInputHeader,\n inputRef,\n label,\n onChange,\n value,\n ...props\n }: TagInputProps,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n [props, ref] = useContextProps(props, ref, TextFieldContext);\n\n const localTextInputRef = useRef<HTMLInputElement>(null);\n const textInputRef = useObjectRef(\n inputRef ? mergeRefs(localTextInputRef, inputRef) : localTextInputRef,\n );\n\n const {\n className,\n errorMessage,\n isDisabled = false,\n isInvalid,\n isRequired,\n name,\n ...textFieldProps\n } = props;\n\n const dictionary = useDictionary();\n const [inputValue, setInputValue] = useState(\"\");\n const [internalValue, setInternalValue] = useState(value ?? []);\n const { input, inputField, wrapper } = sharedInputStyles({\n fullWidth,\n });\n\n useEffect(() => {\n setInternalValue(value ?? []);\n }, [value]);\n\n const internalOnChange = useCallback(\n (value: string[]) => {\n setInternalValue(value);\n onChange?.(value);\n },\n [onChange],\n );\n\n const tags = useMemo(\n () => internalValue.map((tag) => ({ key: tag, value: tag })),\n [internalValue],\n );\n\n const onKeyDown = useCallback(\n (e: KeyboardEvent) => {\n if ([\"Enter\", \",\"].includes(e.key)) {\n e.preventDefault();\n const valueToAdd = e.currentTarget.value.trim();\n if (valueToAdd && !internalValue.includes(valueToAdd)) {\n internalOnChange([...internalValue, e.currentTarget.value.trim()]);\n }\n setInputValue(\"\");\n } else if (e.key === \"Backspace\") {\n if (!e.currentTarget.value) {\n e.preventDefault();\n internalOnChange(internalValue.slice(0, -1));\n }\n }\n },\n [internalOnChange, internalValue],\n );\n\n const onPaste = useCallback(\n (e: ClipboardEvent<HTMLInputElement>) => {\n e.preventDefault();\n\n if (e.clipboardData) {\n const text = e.clipboardData.getData(\"Text\");\n if (text) {\n const splitValues = text\n ? text\n .split(\",\")\n // remove zero width characters\n .map((x) => x.replace(/[\\u200B-\\u200D\\uFEFF]/g, \"\"))\n .filter((x) => x.length > 0)\n .map((x) => x.trim())\n : [];\n internalOnChange(Array.from(new Set([...internalValue, ...splitValues])));\n }\n }\n },\n [internalOnChange, internalValue],\n );\n\n const { groupRef, inputPosition, setFirstTag, setLastTag } = useInputPosition();\n\n return (\n <AriaTextField\n className={wrapper({ className })}\n isDisabled={isDisabled}\n isRequired={isRequired}\n isInvalid={isInvalid}\n {...textFieldProps}\n onKeyDown={onKeyDown}\n value={inputValue}\n onChange={setInputValue}\n onPaste={onPaste}\n ref={ref}\n >\n {({ isDisabled, isInvalid }) => (\n <>\n <InputHeader\n label={label}\n isRequired={isRequired}\n hideHintLabel={hideHintLabel}\n hideInputHeader={hideInputHeader}\n />\n <Group\n className={({ isFocusWithin, isHovered }) => {\n return inputField({\n isFocused: isFocusWithin,\n isHovered: isHovered,\n isDisabled,\n isInvalid,\n className: \"relative flex-wrap items-start gap-1\",\n });\n }}\n ref={groupRef}\n onFocus={() => {\n // Make sure that the input is focused when the group focuses and there are no tags yet\n if (internalValue.length === 0) textInputRef?.current?.focus();\n }}\n >\n <InputTagGroup\n label={label ?? dictionary.values}\n items={tags}\n onRemove={(removedTags) => {\n internalOnChange(internalValue.filter((tag) => !removedTags.has(tag)));\n }}\n className=\"-m-1.5 -my-[0.3125rem] flex flex-wrap gap-1\"\n >\n {internalValue.map((item, index) => (\n <InputTag\n key={item}\n id={item}\n isDisabled={isDisabled}\n ref={(instance) => {\n if (index === internalValue.length - 1) {\n setLastTag(instance);\n }\n if (index === 0) {\n setFirstTag(instance);\n }\n }}\n >\n {item}\n </InputTag>\n ))}\n </InputTagGroup>\n\n {inputPosition.isFirstInLine ? (\n <div className={clsx(\"w-full\", internalValue.length ? \"h-[1.625rem]\" : \"h-4\")} />\n ) : null}\n\n <div style={{ ...inputPosition.style }} className=\"absolute flex h-6 items-center ps-2\">\n <Input\n className={input({ className: \"my-px w-full\" })}\n ref={textInputRef}\n required={isRequired}\n disabled={isDisabled}\n placeholder={isDisabled && !value ? \"-\" : props.placeholder}\n />\n </div>\n\n <input type=\"hidden\" value={internalValue.join(\",\")} name={name} />\n </Group>\n <InputFooter\n description={description ?? dictionary.tagInputDescription}\n errorMessage={errorMessage}\n hideInputFooter={hideInputFooter}\n />\n </>\n )}\n </AriaTextField>\n );\n};\n\n_TagInput.displayName = \"TagInput\";\n\nexport const TagInput = fixedForwardRef(_TagInput);\n\nconst useInputPosition = () => {\n const groupRef = useRef<HTMLDivElement>(null);\n const [lastTag, setLastTag] = useState<HTMLDivElement | null>();\n const [firstTag, setFirstTag] = useState<HTMLDivElement | null>();\n\n const locale = useLocale();\n\n const minWidth = 32 * 4;\n\n const getInputPosition = useCallback(() => {\n const getRectStart = (rect: DOMRect) => (locale.direction === \"rtl\" ? rect.right : rect.left);\n const getRectEnd = (rect: DOMRect) => (locale.direction === \"rtl\" ? rect.left : rect.right);\n\n // if there are no tags or the group ref is not set, return the default position at the start of the group\n if (!lastTag || !groupRef.current || !firstTag) {\n return {\n style: {\n top: 4,\n insetInlineStart: 3,\n width: \"calc(100% - 16px)\",\n },\n isFirstInLine: true,\n };\n }\n\n const firstTagRect = firstTag.getBoundingClientRect();\n const lastTagRect = lastTag.getBoundingClientRect();\n const groupRect = groupRef.current.getBoundingClientRect();\n\n // compute available space between the last tag and the end of the group\n const availableSpace = Math.abs(getRectEnd(groupRect) - getRectEnd(lastTagRect)) - 10;\n // if the available space is less than the minimum width of the input, push the input to the next line\n const pushToNextLine = availableSpace < minWidth;\n\n return {\n style: {\n top: pushToNextLine\n ? // if pushing to the next line, top of the input should be bottom of the last tag + 4px gap\n lastTagRect.bottom - groupRect.top + 4\n : // if keeping on the same line, top of the input should be top of the last tag\n lastTagRect.top - groupRect.top,\n\n insetInlineStart: pushToNextLine\n ? // if pushing to the next line, start of the input should be the start of the group\n Math.abs(getRectStart(firstTagRect) - getRectStart(groupRect)) - 2\n : // if keeping on the same line, start of the input should be the end of the last tag\n Math.abs(getRectEnd(lastTagRect) - getRectStart(groupRect)) + 2,\n\n width: pushToNextLine\n ? // if pushing to the next line, input should fill up the whole width of the group (minus the padding of the group)\n \"calc(100% - 16px)\"\n : // if keeping on the same line, input should take the available space between the last tag and the end of the group\n Math.max(availableSpace, minWidth),\n },\n isFirstInLine: pushToNextLine,\n };\n }, [firstTag, lastTag, locale.direction, minWidth]);\n\n const [inputPosition, setInputPosition] = useState(getInputPosition());\n\n useLayoutEffect(() => {\n setInputPosition(getInputPosition());\n }, [getInputPosition]);\n\n useEventListener(\"resize\", () => {\n setInputPosition(getInputPosition());\n });\n\n return {\n groupRef,\n setLastTag,\n setFirstTag,\n inputPosition,\n };\n};\n"],"names":["_TagInput","description","fullWidth","hideHintLabel","hideInputFooter","hideInputHeader","inputRef","label","onChange","value","props","ref","useContextProps","TextFieldContext","localTextInputRef","useRef","textInputRef","useObjectRef","mergeRefs","className","errorMessage","isDisabled","isInvalid","isRequired","name","textFieldProps","dictionary","useDictionary","inputValue","setInputValue","useState","internalValue","setInternalValue","input","inputField","wrapper","sharedInputStyles","useEffect","internalOnChange","useCallback","tags","useMemo","tag","onKeyDown","e","valueToAdd","onPaste","text","splitValues","x","groupRef","inputPosition","setFirstTag","setLastTag","useInputPosition","jsx","AriaTextField","jsxs","Fragment","InputHeader","Group","isFocusWithin","isHovered","_a","InputTagGroup","removedTags","item","index","InputTag","instance","clsx","Input","InputFooter","TagInput","fixedForwardRef","lastTag","firstTag","locale","useLocale","minWidth","getInputPosition","getRectStart","rect","getRectEnd","firstTagRect","lastTagRect","groupRect","availableSpace","pushToNextLine","setInputPosition","useLayoutEffect","useEventListener"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lyra43.js","sources":["../src/components/inputs/tag-input/tag-input.tsx"],"sourcesContent":["import {\n ClipboardEvent,\n ForwardedRef,\n RefObject,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport {\n Group,\n Input,\n TextField as AriaTextField,\n TextFieldContext,\n TextFieldProps as AriaTextFieldProps,\n useContextProps,\n useLocale,\n} from \"react-aria-components\";\n\nimport { mergeRefs, useObjectRef } from \"@react-aria/utils\";\nimport { KeyboardEvent } from \"@react-types/shared\";\nimport clsx from \"clsx\";\nimport { VariantProps } from \"tailwind-variants\";\n\nimport { fixedForwardRef } from \"../../../utils/helpers\";\nimport useEventListener from \"../../../utils/hooks/use-event-listener\";\nimport { useDictionary } from \"../../../utils/providers/dictionary-provider\";\nimport { InputTag, InputTagGroup } from \"../input-tag-group\";\nimport {\n InputFooter,\n InputFooterProps,\n InputHeader,\n InputHeaderProps,\n sharedInputStyles,\n} from \"../shared\";\n\nexport type TagInputProps = Omit<AriaTextFieldProps, \"value\" | \"onChange\"> &\n VariantProps<typeof sharedInputStyles> &\n InputHeaderProps &\n InputFooterProps & {\n className?: string;\n placeholder?: string;\n inputRef?: RefObject<HTMLInputElement>;\n value?: string[];\n onChange?: (value: string[]) => void;\n };\n\nconst _TagInput = (\n {\n description,\n fullWidth = true,\n hideHintLabel,\n hideInputFooter,\n hideInputHeader,\n inputRef,\n label,\n onChange,\n value,\n ...props\n }: TagInputProps,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n [props, ref] = useContextProps(props, ref, TextFieldContext);\n\n const localTextInputRef = useRef<HTMLInputElement>(null);\n const textInputRef = useObjectRef(\n inputRef ? mergeRefs(localTextInputRef, inputRef) : localTextInputRef,\n );\n\n const {\n className,\n errorMessage,\n isDisabled = false,\n isInvalid,\n isRequired,\n name,\n ...textFieldProps\n } = props;\n\n const dictionary = useDictionary();\n const [inputValue, setInputValue] = useState(\"\");\n const [internalValue, setInternalValue] = useState(value ?? []);\n const { input, inputField, wrapper } = sharedInputStyles({\n fullWidth,\n });\n\n useEffect(() => {\n setInternalValue(value ?? []);\n }, [value]);\n\n const internalOnChange = useCallback(\n (value: string[]) => {\n setInternalValue(value);\n onChange?.(value);\n },\n [onChange],\n );\n\n const tags = useMemo(\n () => internalValue.map((tag) => ({ key: tag, value: tag })),\n [internalValue],\n );\n\n const onKeyDown = useCallback(\n (e: KeyboardEvent) => {\n if ([\"Enter\", \",\"].includes(e.key)) {\n e.preventDefault();\n const valueToAdd = e.currentTarget.value.trim();\n if (valueToAdd && !internalValue.includes(valueToAdd)) {\n internalOnChange([...internalValue, e.currentTarget.value.trim()]);\n }\n setInputValue(\"\");\n } else if (e.key === \"Backspace\") {\n if (!e.currentTarget.value) {\n e.preventDefault();\n internalOnChange(internalValue.slice(0, -1));\n }\n }\n },\n [internalOnChange, internalValue],\n );\n\n const onPaste = useCallback(\n (e: ClipboardEvent<HTMLInputElement>) => {\n e.preventDefault();\n\n if (e.clipboardData) {\n const text = e.clipboardData.getData(\"Text\");\n if (text) {\n const splitValues = text\n ? text\n .split(\",\")\n // remove zero width characters\n .map((x) => x.replace(/[\\u200B-\\u200D\\uFEFF]/g, \"\"))\n .filter((x) => x.length > 0)\n .map((x) => x.trim())\n : [];\n internalOnChange(Array.from(new Set([...internalValue, ...splitValues])));\n }\n }\n },\n [internalOnChange, internalValue],\n );\n\n const { groupRef, inputPosition, setFirstTag, setLastTag } = useInputPosition();\n\n const shouldInputBeRequired = useMemo(\n () => isRequired && internalValue.length === 0,\n [internalValue.length, isRequired],\n );\n\n return (\n <AriaTextField\n className={wrapper({ className })}\n isDisabled={isDisabled}\n isInvalid={isInvalid}\n isRequired={shouldInputBeRequired}\n {...textFieldProps}\n onKeyDown={onKeyDown}\n value={inputValue}\n onChange={setInputValue}\n onPaste={onPaste}\n ref={ref}\n >\n {({ isDisabled, isInvalid }) => (\n <>\n <InputHeader\n label={label}\n isRequired={isRequired}\n hideHintLabel={hideHintLabel}\n hideInputHeader={hideInputHeader}\n />\n <Group\n className={({ isFocusWithin, isHovered }) => {\n return inputField({\n isFocused: isFocusWithin,\n isHovered: isHovered,\n isDisabled,\n isInvalid,\n className: \"relative flex-wrap items-start gap-1\",\n });\n }}\n ref={groupRef}\n onFocus={() => {\n // Make sure that the input is focused when the group focuses and there are no tags yet\n if (internalValue.length === 0) textInputRef?.current?.focus();\n }}\n >\n <InputTagGroup\n label={label ?? dictionary.values}\n items={tags}\n onRemove={(removedTags) => {\n internalOnChange(internalValue.filter((tag) => !removedTags.has(tag)));\n }}\n className=\"-m-1.5 -my-[0.3125rem] flex flex-wrap gap-1\"\n >\n {internalValue.map((item, index) => (\n <InputTag\n key={item}\n id={item}\n isDisabled={isDisabled}\n ref={(instance) => {\n if (index === internalValue.length - 1) {\n setLastTag(instance);\n }\n if (index === 0) {\n setFirstTag(instance);\n }\n }}\n >\n {item}\n </InputTag>\n ))}\n </InputTagGroup>\n\n {inputPosition.isFirstInLine ? (\n <div className={clsx(\"w-full\", internalValue.length ? \"h-[1.625rem]\" : \"h-4\")} />\n ) : null}\n\n <div style={{ ...inputPosition.style }} className=\"absolute flex h-6 items-center ps-2\">\n <Input\n className={input({ className: \"my-px w-full\" })}\n ref={textInputRef}\n disabled={isDisabled}\n required={shouldInputBeRequired}\n placeholder={isDisabled && !value ? \"-\" : props.placeholder}\n />\n </div>\n\n <input type=\"hidden\" value={internalValue.join(\",\")} name={name} />\n </Group>\n <InputFooter\n description={description ?? dictionary.tagInputDescription}\n errorMessage={errorMessage}\n hideInputFooter={hideInputFooter}\n />\n </>\n )}\n </AriaTextField>\n );\n};\n\n_TagInput.displayName = \"TagInput\";\n\nexport const TagInput = fixedForwardRef(_TagInput);\n\nconst useInputPosition = () => {\n const groupRef = useRef<HTMLDivElement>(null);\n const [lastTag, setLastTag] = useState<HTMLDivElement | null>();\n const [firstTag, setFirstTag] = useState<HTMLDivElement | null>();\n\n const locale = useLocale();\n\n const minWidth = 32 * 4;\n\n const getInputPosition = useCallback(() => {\n const getRectStart = (rect: DOMRect) => (locale.direction === \"rtl\" ? rect.right : rect.left);\n const getRectEnd = (rect: DOMRect) => (locale.direction === \"rtl\" ? rect.left : rect.right);\n\n // if there are no tags or the group ref is not set, return the default position at the start of the group\n if (!lastTag || !groupRef.current || !firstTag) {\n return {\n style: {\n top: 4,\n insetInlineStart: 3,\n width: \"calc(100% - 16px)\",\n },\n isFirstInLine: true,\n };\n }\n\n const firstTagRect = firstTag.getBoundingClientRect();\n const lastTagRect = lastTag.getBoundingClientRect();\n const groupRect = groupRef.current.getBoundingClientRect();\n\n // compute available space between the last tag and the end of the group\n const availableSpace = Math.abs(getRectEnd(groupRect) - getRectEnd(lastTagRect)) - 10;\n // if the available space is less than the minimum width of the input, push the input to the next line\n const pushToNextLine = availableSpace < minWidth;\n\n return {\n style: {\n top: pushToNextLine\n ? // if pushing to the next line, top of the input should be bottom of the last tag + 4px gap\n lastTagRect.bottom - groupRect.top + 4\n : // if keeping on the same line, top of the input should be top of the last tag\n lastTagRect.top - groupRect.top,\n\n insetInlineStart: pushToNextLine\n ? // if pushing to the next line, start of the input should be the start of the group\n Math.abs(getRectStart(firstTagRect) - getRectStart(groupRect)) - 2\n : // if keeping on the same line, start of the input should be the end of the last tag\n Math.abs(getRectEnd(lastTagRect) - getRectStart(groupRect)) + 2,\n\n width: pushToNextLine\n ? // if pushing to the next line, input should fill up the whole width of the group (minus the padding of the group)\n \"calc(100% - 16px)\"\n : // if keeping on the same line, input should take the available space between the last tag and the end of the group\n Math.max(availableSpace, minWidth),\n },\n isFirstInLine: pushToNextLine,\n };\n }, [firstTag, lastTag, locale.direction, minWidth]);\n\n const [inputPosition, setInputPosition] = useState(getInputPosition());\n\n useLayoutEffect(() => {\n setInputPosition(getInputPosition());\n }, [getInputPosition]);\n\n useEventListener(\"resize\", () => {\n setInputPosition(getInputPosition());\n });\n\n return {\n groupRef,\n setLastTag,\n setFirstTag,\n inputPosition,\n };\n};\n"],"names":["_TagInput","description","fullWidth","hideHintLabel","hideInputFooter","hideInputHeader","inputRef","label","onChange","value","props","ref","useContextProps","TextFieldContext","localTextInputRef","useRef","textInputRef","useObjectRef","mergeRefs","className","errorMessage","isDisabled","isInvalid","isRequired","name","textFieldProps","dictionary","useDictionary","inputValue","setInputValue","useState","internalValue","setInternalValue","input","inputField","wrapper","sharedInputStyles","useEffect","internalOnChange","useCallback","tags","useMemo","tag","onKeyDown","e","valueToAdd","onPaste","text","splitValues","x","groupRef","inputPosition","setFirstTag","setLastTag","useInputPosition","shouldInputBeRequired","jsx","AriaTextField","jsxs","Fragment","InputHeader","Group","isFocusWithin","isHovered","_a","InputTagGroup","removedTags","item","index","InputTag","instance","clsx","Input","InputFooter","TagInput","fixedForwardRef","lastTag","firstTag","locale","useLocale","minWidth","getInputPosition","getRectStart","rect","getRectEnd","firstTagRect","lastTagRect","groupRect","availableSpace","pushToNextLine","setInputPosition","useLayoutEffect","useEventListener"],"mappings":"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"}
|