@new-black/lyra 1.0.10 → 1.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/icon-badge/icon-badge.d.ts +1 -1
- package/dist/components/lists/shared-list-item.d.ts +10 -10
- package/dist/components/svg-icon/index.d.ts +1 -1
- package/dist/components/svg-icon/index.d.ts.map +1 -1
- package/dist/icons/icon-defs.svg +8 -0
- package/dist/lyra16.cjs +1 -1
- package/dist/lyra16.js +1 -1
- package/dist/lyra181.cjs +1 -1
- package/dist/lyra181.js +34 -34
- package/dist/lyra23.cjs +1 -1
- package/dist/lyra23.js +1 -1
- package/dist/lyra25.cjs +1 -1
- package/dist/lyra25.js +1 -1
- package/dist/lyra27.cjs +1 -1
- package/dist/lyra27.js +2 -2
- package/dist/lyra34.cjs +1 -1
- package/dist/lyra34.js +3 -3
- package/dist/lyra36.cjs +1 -1
- package/dist/lyra36.cjs.map +1 -1
- package/dist/lyra36.js +182 -182
- package/dist/lyra36.js.map +1 -1
- package/dist/lyra37.cjs +1 -1
- package/dist/lyra37.cjs.map +1 -1
- package/dist/lyra37.js +166 -166
- package/dist/lyra37.js.map +1 -1
- package/dist/lyra43.cjs +1 -1
- package/dist/lyra43.js +2 -2
- package/dist/lyra450.cjs +1 -1
- package/dist/lyra450.cjs.map +1 -1
- package/dist/lyra450.js +16 -1
- package/dist/lyra450.js.map +1 -1
- package/dist/lyra451.cjs +1 -1
- package/dist/lyra451.cjs.map +1 -1
- package/dist/lyra451.js +12 -90
- package/dist/lyra451.js.map +1 -1
- package/dist/lyra452.cjs +1 -1
- package/dist/lyra452.cjs.map +1 -1
- package/dist/lyra452.js +1 -46
- package/dist/lyra452.js.map +1 -1
- package/dist/lyra453.cjs +1 -1
- package/dist/lyra453.cjs.map +1 -1
- package/dist/lyra453.js +27 -10
- package/dist/lyra453.js.map +1 -1
- package/dist/lyra454.cjs +1 -1
- package/dist/lyra454.cjs.map +1 -1
- package/dist/lyra454.js +90 -14
- package/dist/lyra454.js.map +1 -1
- package/dist/lyra455.cjs +1 -1
- package/dist/lyra455.cjs.map +1 -1
- package/dist/lyra455.js +44 -12
- package/dist/lyra455.js.map +1 -1
- package/dist/lyra456.cjs +1 -1
- package/dist/lyra456.cjs.map +1 -1
- package/dist/lyra456.js +51 -30
- package/dist/lyra456.js.map +1 -1
- package/dist/lyra457.cjs +1 -1
- package/dist/lyra457.cjs.map +1 -1
- package/dist/lyra457.js +50 -49
- package/dist/lyra457.js.map +1 -1
- package/dist/lyra458.cjs +1 -1
- package/dist/lyra458.cjs.map +1 -1
- package/dist/lyra458.js +7 -53
- package/dist/lyra458.js.map +1 -1
- package/dist/lyra459.cjs +1 -1
- package/dist/lyra459.cjs.map +1 -1
- package/dist/lyra459.js +61 -6
- package/dist/lyra459.js.map +1 -1
- package/dist/lyra460.cjs +1 -1
- package/dist/lyra460.cjs.map +1 -1
- package/dist/lyra460.js +36 -61
- package/dist/lyra460.js.map +1 -1
- package/dist/lyra461.cjs +5 -1
- package/dist/lyra461.cjs.map +1 -1
- package/dist/lyra461.js +2556 -35
- package/dist/lyra461.js.map +1 -1
- package/dist/lyra462.cjs +1 -5
- package/dist/lyra462.cjs.map +1 -1
- package/dist/lyra462.js +52 -2556
- package/dist/lyra462.js.map +1 -1
- package/dist/lyra463.cjs +1 -1
- package/dist/lyra463.cjs.map +1 -1
- package/dist/lyra463.js +13 -53
- package/dist/lyra463.js.map +1 -1
- package/dist/lyra464.cjs +10 -1
- package/dist/lyra464.cjs.map +1 -1
- package/dist/lyra464.js +96 -5
- package/dist/lyra464.js.map +1 -1
- package/dist/lyra465.cjs +1 -1
- package/dist/lyra465.cjs.map +1 -1
- package/dist/lyra465.js +302 -4
- package/dist/lyra465.js.map +1 -1
- package/dist/lyra466.cjs +1 -1
- package/dist/lyra466.cjs.map +1 -1
- package/dist/lyra466.js +56 -5
- package/dist/lyra466.js.map +1 -1
- package/dist/lyra467.cjs +13 -1
- package/dist/lyra467.cjs.map +1 -1
- package/dist/lyra467.js +1679 -4
- package/dist/lyra467.js.map +1 -1
- package/dist/lyra468.cjs +1 -1
- package/dist/lyra468.cjs.map +1 -1
- package/dist/lyra468.js +9 -5
- package/dist/lyra468.js.map +1 -1
- package/dist/lyra469.cjs +1 -1
- package/dist/lyra469.cjs.map +1 -1
- package/dist/lyra469.js +2 -5
- package/dist/lyra469.js.map +1 -1
- package/dist/lyra470.cjs +9 -1
- package/dist/lyra470.cjs.map +1 -1
- package/dist/lyra470.js +30 -5
- package/dist/lyra470.js.map +1 -1
- package/dist/lyra471.cjs +19 -1
- package/dist/lyra471.cjs.map +1 -1
- package/dist/lyra471.js +599 -5
- package/dist/lyra471.js.map +1 -1
- package/dist/lyra472.cjs +1 -1
- package/dist/lyra472.cjs.map +1 -1
- package/dist/lyra472.js +6 -4
- 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 -4
- package/dist/lyra473.js.map +1 -1
- package/dist/lyra474.cjs +1 -1
- package/dist/lyra474.cjs.map +1 -1
- package/dist/lyra474.js +6 -4
- package/dist/lyra474.js.map +1 -1
- package/dist/lyra475.cjs +1 -1
- package/dist/lyra475.cjs.map +1 -1
- package/dist/lyra475.js +6 -4
- 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 -4
- 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 -4
- 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 -1
- package/dist/lyra478.js.map +1 -1
- package/dist/lyra479.cjs +1 -1
- package/dist/lyra479.cjs.map +1 -1
- package/dist/lyra479.js +3 -1
- 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 +6 -4
- package/dist/lyra480.js.map +1 -1
- package/dist/lyra481.cjs +1 -1
- package/dist/lyra481.cjs.map +1 -1
- package/dist/lyra481.js +6 -4
- package/dist/lyra481.js.map +1 -1
- package/dist/lyra482.cjs +1 -1
- package/dist/lyra482.cjs.map +1 -1
- package/dist/lyra482.js +6 -4
- 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 -4
- 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 -1
- 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 -1
- 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 -4
- 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 -4
- 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 -1
- package/dist/lyra488.js.map +1 -1
- package/dist/lyra489.cjs +1 -1
- package/dist/lyra489.cjs.map +1 -1
- package/dist/lyra489.js +6 -4
- 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 -1
- 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 -1
- package/dist/lyra491.js.map +1 -1
- package/dist/lyra492.cjs +1 -1
- package/dist/lyra492.cjs.map +1 -1
- package/dist/lyra492.js +6 -4
- 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 -1
- package/dist/lyra493.js.map +1 -1
- package/dist/lyra494.cjs +1 -1
- package/dist/lyra494.cjs.map +1 -1
- package/dist/lyra494.js +3 -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 +6 -4
- package/dist/lyra495.js.map +1 -1
- package/dist/lyra496.cjs +1 -1
- package/dist/lyra496.cjs.map +1 -1
- package/dist/lyra496.js +3 -1
- package/dist/lyra496.js.map +1 -1
- package/dist/lyra497.cjs +1 -1
- package/dist/lyra497.cjs.map +1 -1
- package/dist/lyra497.js +6 -4
- package/dist/lyra497.js.map +1 -1
- package/dist/lyra498.cjs +1 -1
- package/dist/lyra498.cjs.map +1 -1
- package/dist/lyra498.js +7 -2
- package/dist/lyra498.js.map +1 -1
- package/dist/lyra499.cjs +1 -9
- package/dist/lyra499.cjs.map +1 -1
- package/dist/lyra499.js +7 -30
- package/dist/lyra499.js.map +1 -1
- package/dist/lyra50.cjs +1 -1
- package/dist/lyra50.js +2 -2
- package/dist/lyra500.cjs +1 -19
- package/dist/lyra500.cjs.map +1 -1
- package/dist/lyra500.js +7 -599
- package/dist/lyra500.js.map +1 -1
- package/dist/lyra501.cjs +1 -10
- package/dist/lyra501.cjs.map +1 -1
- package/dist/lyra501.js +7 -96
- 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 -302
- package/dist/lyra502.js.map +1 -1
- package/dist/lyra503.cjs +1 -1
- package/dist/lyra503.cjs.map +1 -1
- package/dist/lyra503.js +7 -56
- package/dist/lyra503.js.map +1 -1
- package/dist/lyra504.cjs +1 -13
- package/dist/lyra504.cjs.map +1 -1
- package/dist/lyra504.js +6 -1679
- 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 -9
- 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 -7
- package/dist/lyra506.js.map +1 -1
- package/dist/lyra507.cjs +1 -1
- package/dist/lyra507.cjs.map +1 -1
- package/dist/lyra507.js +78 -7
- package/dist/lyra507.js.map +1 -1
- package/dist/lyra508.cjs +1 -1
- package/dist/lyra508.cjs.map +1 -1
- package/dist/lyra508.js +257 -6
- package/dist/lyra508.js.map +1 -1
- package/dist/lyra509.cjs +1 -1
- package/dist/lyra509.cjs.map +1 -1
- package/dist/lyra509.js +27 -7
- package/dist/lyra509.js.map +1 -1
- package/dist/lyra510.cjs +1 -1
- package/dist/lyra510.cjs.map +1 -1
- package/dist/lyra510.js +30 -7
- package/dist/lyra510.js.map +1 -1
- package/dist/lyra511.cjs +1 -1
- package/dist/lyra511.cjs.map +1 -1
- package/dist/lyra511.js +36 -7
- package/dist/lyra511.js.map +1 -1
- package/dist/lyra512.cjs +1 -1
- package/dist/lyra512.cjs.map +1 -1
- package/dist/lyra512.js +357 -7
- package/dist/lyra512.js.map +1 -1
- package/dist/lyra513.cjs +1 -1
- package/dist/lyra513.cjs.map +1 -1
- package/dist/lyra513.js +39 -7
- package/dist/lyra513.js.map +1 -1
- package/dist/lyra514.cjs +1 -1
- package/dist/lyra514.cjs.map +1 -1
- package/dist/lyra514.js +135 -7
- package/dist/lyra514.js.map +1 -1
- package/dist/lyra515.cjs +1 -1
- package/dist/lyra515.cjs.map +1 -1
- package/dist/lyra515.js +1104 -6
- package/dist/lyra515.js.map +1 -1
- package/dist/lyra516.cjs +1 -1
- package/dist/lyra516.cjs.map +1 -1
- package/dist/lyra516.js +82 -7
- package/dist/lyra516.js.map +1 -1
- package/dist/lyra517.cjs +1 -1
- package/dist/lyra517.cjs.map +1 -1
- package/dist/lyra517.js +106 -7
- package/dist/lyra517.js.map +1 -1
- package/dist/lyra518.cjs +1 -1
- package/dist/lyra518.cjs.map +1 -1
- package/dist/lyra518.js +13 -7
- package/dist/lyra518.js.map +1 -1
- package/dist/lyra519.cjs +1 -1
- package/dist/lyra519.cjs.map +1 -1
- package/dist/lyra519.js +29 -7
- package/dist/lyra519.js.map +1 -1
- package/dist/lyra520.cjs +1 -1
- package/dist/lyra520.cjs.map +1 -1
- package/dist/lyra520.js +1 -3
- package/dist/lyra520.js.map +1 -1
- package/dist/lyra521.cjs +1 -1
- package/dist/lyra521.cjs.map +1 -1
- package/dist/lyra521.js +1 -3
- package/dist/lyra521.js.map +1 -1
- package/dist/lyra522.cjs +1 -1
- package/dist/lyra522.cjs.map +1 -1
- package/dist/lyra522.js +1 -3
- package/dist/lyra522.js.map +1 -1
- package/dist/lyra523.cjs +1 -1
- package/dist/lyra523.cjs.map +1 -1
- package/dist/lyra523.js +4 -6
- package/dist/lyra523.js.map +1 -1
- package/dist/lyra524.cjs +1 -1
- package/dist/lyra524.cjs.map +1 -1
- package/dist/lyra524.js +1 -3
- package/dist/lyra524.js.map +1 -1
- package/dist/lyra525.cjs +1 -1
- package/dist/lyra525.cjs.map +1 -1
- package/dist/lyra525.js +4 -6
- package/dist/lyra525.js.map +1 -1
- package/dist/lyra526.cjs +1 -1
- package/dist/lyra526.cjs.map +1 -1
- package/dist/lyra526.js +1 -3
- package/dist/lyra526.js.map +1 -1
- package/dist/lyra527.cjs +1 -1
- package/dist/lyra527.cjs.map +1 -1
- package/dist/lyra527.js +4 -6
- package/dist/lyra527.js.map +1 -1
- package/dist/lyra528.cjs +1 -1
- package/dist/lyra528.cjs.map +1 -1
- package/dist/lyra528.js +4 -6
- package/dist/lyra528.js.map +1 -1
- package/dist/lyra529.cjs +1 -1
- package/dist/lyra529.cjs.map +1 -1
- package/dist/lyra529.js +1 -3
- package/dist/lyra529.js.map +1 -1
- package/dist/lyra530.cjs +1 -1
- package/dist/lyra530.cjs.map +1 -1
- package/dist/lyra530.js +4 -6
- package/dist/lyra530.js.map +1 -1
- package/dist/lyra531.cjs +1 -1
- package/dist/lyra531.cjs.map +1 -1
- package/dist/lyra531.js +4 -6
- package/dist/lyra531.js.map +1 -1
- package/dist/lyra532.cjs +1 -1
- package/dist/lyra532.cjs.map +1 -1
- package/dist/lyra532.js +4 -6
- package/dist/lyra532.js.map +1 -1
- package/dist/lyra533.cjs +1 -1
- package/dist/lyra533.cjs.map +1 -1
- package/dist/lyra533.js +1 -3
- package/dist/lyra533.js.map +1 -1
- package/dist/lyra534.cjs +1 -1
- package/dist/lyra534.cjs.map +1 -1
- package/dist/lyra534.js +1 -3
- package/dist/lyra534.js.map +1 -1
- package/dist/lyra535.cjs +1 -1
- package/dist/lyra535.cjs.map +1 -1
- package/dist/lyra535.js +1 -3
- package/dist/lyra535.js.map +1 -1
- package/dist/lyra536.cjs +1 -1
- package/dist/lyra536.cjs.map +1 -1
- package/dist/lyra536.js +4 -6
- package/dist/lyra536.js.map +1 -1
- package/dist/lyra537.cjs +1 -1
- package/dist/lyra537.cjs.map +1 -1
- package/dist/lyra537.js +4 -6
- package/dist/lyra537.js.map +1 -1
- package/dist/lyra538.cjs +1 -1
- package/dist/lyra538.cjs.map +1 -1
- package/dist/lyra538.js +4 -6
- package/dist/lyra538.js.map +1 -1
- package/dist/lyra539.cjs +1 -1
- package/dist/lyra539.cjs.map +1 -1
- package/dist/lyra539.js +4 -6
- package/dist/lyra539.js.map +1 -1
- package/dist/lyra540.cjs +1 -1
- package/dist/lyra540.cjs.map +1 -1
- package/dist/lyra540.js +5 -6
- package/dist/lyra540.js.map +1 -1
- package/dist/lyra541.cjs +1 -1
- package/dist/lyra541.cjs.map +1 -1
- package/dist/lyra541.js +5 -78
- package/dist/lyra541.js.map +1 -1
- package/dist/lyra542.cjs +1 -1
- package/dist/lyra542.cjs.map +1 -1
- package/dist/lyra542.js +4 -257
- package/dist/lyra542.js.map +1 -1
- package/dist/lyra543.cjs +1 -1
- package/dist/lyra543.cjs.map +1 -1
- package/dist/lyra543.js +5 -27
- package/dist/lyra543.js.map +1 -1
- package/dist/lyra544.cjs +1 -1
- package/dist/lyra544.cjs.map +1 -1
- package/dist/lyra544.js +5 -30
- package/dist/lyra544.js.map +1 -1
- package/dist/lyra545.cjs +1 -1
- package/dist/lyra545.cjs.map +1 -1
- package/dist/lyra545.js +5 -36
- package/dist/lyra545.js.map +1 -1
- package/dist/lyra546.cjs +1 -1
- package/dist/lyra546.cjs.map +1 -1
- package/dist/lyra546.js +5 -357
- package/dist/lyra546.js.map +1 -1
- package/dist/lyra547.cjs +1 -1
- package/dist/lyra547.cjs.map +1 -1
- package/dist/lyra547.js +5 -39
- package/dist/lyra547.js.map +1 -1
- package/dist/lyra548.cjs +1 -1
- package/dist/lyra548.cjs.map +1 -1
- package/dist/lyra548.js +5 -135
- package/dist/lyra548.js.map +1 -1
- package/dist/lyra549.cjs +1 -1
- package/dist/lyra549.cjs.map +1 -1
- package/dist/lyra549.js +4 -1104
- package/dist/lyra549.js.map +1 -1
- package/dist/lyra550.cjs +1 -1
- package/dist/lyra550.cjs.map +1 -1
- package/dist/lyra550.js +5 -82
- package/dist/lyra550.js.map +1 -1
- package/dist/lyra551.cjs +1 -1
- package/dist/lyra551.cjs.map +1 -1
- package/dist/lyra551.js +5 -106
- package/dist/lyra551.js.map +1 -1
- package/dist/lyra552.cjs +1 -1
- package/dist/lyra552.cjs.map +1 -1
- package/dist/lyra552.js +5 -13
- package/dist/lyra552.js.map +1 -1
- package/dist/lyra553.cjs +1 -1
- package/dist/lyra553.cjs.map +1 -1
- package/dist/lyra553.js +5 -29
- package/dist/lyra553.js.map +1 -1
- package/dist/lyra58.cjs +1 -1
- package/dist/lyra58.js +7 -7
- package/dist/lyra59.cjs +1 -1
- package/dist/lyra59.js +9 -9
- package/dist/lyra602.cjs +1 -1
- package/dist/lyra602.cjs.map +1 -1
- package/dist/lyra602.js +2 -184
- package/dist/lyra602.js.map +1 -1
- package/dist/lyra603.cjs +1 -1
- package/dist/lyra603.cjs.map +1 -1
- package/dist/lyra603.js +2 -79
- package/dist/lyra603.js.map +1 -1
- package/dist/lyra604.cjs +1 -1
- package/dist/lyra604.cjs.map +1 -1
- package/dist/lyra604.js +230 -41
- package/dist/lyra604.js.map +1 -1
- package/dist/lyra605.cjs +1 -1
- package/dist/lyra605.cjs.map +1 -1
- package/dist/lyra605.js +15 -15
- package/dist/lyra605.js.map +1 -1
- package/dist/lyra606.cjs +1 -1
- package/dist/lyra606.cjs.map +1 -1
- package/dist/lyra606.js +482 -3
- package/dist/lyra606.js.map +1 -1
- package/dist/lyra607.cjs +1 -1
- package/dist/lyra607.cjs.map +1 -1
- package/dist/lyra607.js +66 -14
- package/dist/lyra607.js.map +1 -1
- package/dist/lyra608.cjs +1 -1
- package/dist/lyra608.cjs.map +1 -1
- package/dist/lyra608.js +13 -33
- package/dist/lyra608.js.map +1 -1
- package/dist/lyra609.cjs +1 -1
- package/dist/lyra609.cjs.map +1 -1
- package/dist/lyra609.js +50 -231
- package/dist/lyra609.js.map +1 -1
- package/dist/lyra610.cjs +1 -1
- package/dist/lyra610.cjs.map +1 -1
- package/dist/lyra610.js +2 -16
- package/dist/lyra610.js.map +1 -1
- package/dist/lyra611.cjs +9 -1
- package/dist/lyra611.cjs.map +1 -1
- package/dist/lyra611.js +42 -476
- package/dist/lyra611.js.map +1 -1
- package/dist/lyra612.cjs +9 -1
- package/dist/lyra612.cjs.map +1 -1
- package/dist/lyra612.js +80 -63
- package/dist/lyra612.js.map +1 -1
- package/dist/lyra613.cjs +1 -1
- package/dist/lyra613.cjs.map +1 -1
- package/dist/lyra613.js +139 -13
- package/dist/lyra613.js.map +1 -1
- package/dist/lyra614.cjs +1 -1
- package/dist/lyra614.cjs.map +1 -1
- package/dist/lyra614.js +183 -51
- package/dist/lyra614.js.map +1 -1
- package/dist/lyra615.cjs +1 -1
- package/dist/lyra615.cjs.map +1 -1
- package/dist/lyra615.js +79 -2
- package/dist/lyra615.js.map +1 -1
- package/dist/lyra616.cjs +1 -1
- package/dist/lyra616.cjs.map +1 -1
- package/dist/lyra616.js +44 -2
- package/dist/lyra616.js.map +1 -1
- package/dist/lyra617.cjs +1 -1
- package/dist/lyra617.cjs.map +1 -1
- package/dist/lyra617.js +16 -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 +3 -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 +14 -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 +30 -136
- package/dist/lyra620.js.map +1 -1
- package/dist/lyra63.cjs +1 -1
- package/dist/lyra63.cjs.map +1 -1
- package/dist/lyra63.js +4 -3
- package/dist/lyra63.js.map +1 -1
- package/dist/lyra65.cjs +1 -1
- package/dist/lyra65.js +8 -8
- package/dist/lyra678.cjs +1 -1
- package/dist/lyra678.js +2 -2
- package/dist/lyra683.cjs +1 -1
- package/dist/lyra683.js +1 -1
- package/dist/lyra686.cjs +1 -1
- package/dist/lyra686.js +1 -1
- package/dist/lyra688.cjs +1 -1
- package/dist/lyra688.js +1 -1
- package/dist/lyra716.cjs +1 -1
- package/dist/lyra716.js +4 -4
- package/dist/lyra726.cjs +1 -1
- package/dist/lyra726.js +1 -1
- package/dist/lyra727.cjs +1 -1
- package/dist/lyra727.js +1 -1
- package/dist/lyra728.cjs +1 -1
- package/dist/lyra728.js +1 -1
- package/dist/lyra73.cjs +1 -1
- package/dist/lyra73.js +2 -2
- package/dist/lyra777.cjs +1 -1
- package/dist/lyra777.js +1 -1
- package/dist/lyra778.cjs +1 -1
- package/dist/lyra778.js +2 -2
- package/dist/lyra779.cjs +1 -1
- package/dist/lyra779.js +5 -5
- package/dist/lyra780.cjs +1 -1
- package/dist/lyra780.js +2 -2
- package/dist/lyra783.cjs +1 -1
- package/dist/lyra783.js +1 -1
- package/dist/lyra784.cjs +1 -1
- package/dist/lyra784.js +1 -1
- package/dist/lyra785.cjs +1 -1
- package/dist/lyra785.js +1 -1
- package/dist/lyra786.cjs +1 -1
- package/dist/lyra786.js +2 -2
- package/dist/lyra787.cjs +1 -1
- package/dist/lyra787.js +5 -5
- package/dist/lyra788.cjs +1 -1
- package/dist/lyra788.js +2 -2
- package/dist/lyra789.cjs +1 -1
- package/dist/lyra789.js +5 -5
- package/dist/lyra790.cjs +1 -1
- package/dist/lyra790.js +6 -6
- package/dist/lyra792.cjs +1 -1
- package/dist/lyra792.cjs.map +1 -1
- package/dist/lyra792.js +50 -371
- package/dist/lyra792.js.map +1 -1
- package/dist/lyra793.cjs +1 -1
- package/dist/lyra793.cjs.map +1 -1
- package/dist/lyra793.js +8 -54
- package/dist/lyra793.js.map +1 -1
- package/dist/lyra794.cjs +1 -1
- package/dist/lyra794.cjs.map +1 -1
- package/dist/lyra794.js +4 -8
- package/dist/lyra794.js.map +1 -1
- package/dist/lyra795.cjs +1 -1
- package/dist/lyra795.cjs.map +1 -1
- package/dist/lyra795.js +13 -4
- package/dist/lyra795.js.map +1 -1
- package/dist/lyra796.cjs +1 -1
- package/dist/lyra796.cjs.map +1 -1
- package/dist/lyra796.js +583 -11
- package/dist/lyra796.js.map +1 -1
- package/dist/lyra797.cjs +1 -1
- package/dist/lyra797.cjs.map +1 -1
- package/dist/lyra797.js +11 -4
- package/dist/lyra797.js.map +1 -1
- package/dist/lyra798.cjs +1 -1
- package/dist/lyra798.cjs.map +1 -1
- package/dist/lyra798.js +3 -584
- package/dist/lyra798.js.map +1 -1
- package/dist/lyra799.cjs +1 -1
- package/dist/lyra799.cjs.map +1 -1
- package/dist/lyra799.js +375 -11
- package/dist/lyra799.js.map +1 -1
- package/dist/lyra800.cjs +1 -1
- package/dist/lyra800.cjs.map +1 -1
- package/dist/lyra800.js +2 -14
- package/dist/lyra800.js.map +1 -1
- package/dist/lyra801.cjs +1 -1
- package/dist/lyra801.cjs.map +1 -1
- package/dist/lyra801.js +29 -2
- package/dist/lyra801.js.map +1 -1
- package/dist/lyra802.cjs +1 -1
- package/dist/lyra802.cjs.map +1 -1
- package/dist/lyra802.js +6 -29
- package/dist/lyra802.js.map +1 -1
- package/dist/lyra803.cjs +1 -1
- package/dist/lyra803.cjs.map +1 -1
- package/dist/lyra803.js +3 -5
- package/dist/lyra803.js.map +1 -1
- package/dist/lyra804.cjs +1 -1
- package/dist/lyra804.cjs.map +1 -1
- package/dist/lyra804.js +14 -4
- package/dist/lyra804.js.map +1 -1
- package/dist/lyra807.cjs +1 -1
- package/dist/lyra807.js +1 -1
- package/dist/lyra816.cjs +1 -1
- package/dist/lyra816.cjs.map +1 -1
- package/dist/lyra816.js +28 -7
- package/dist/lyra816.js.map +1 -1
- package/dist/lyra817.cjs +1 -1
- package/dist/lyra817.cjs.map +1 -1
- package/dist/lyra817.js +25 -28
- package/dist/lyra817.js.map +1 -1
- package/dist/lyra818.cjs +1 -1
- package/dist/lyra818.cjs.map +1 -1
- package/dist/lyra818.js +19 -24
- package/dist/lyra818.js.map +1 -1
- package/dist/lyra819.cjs +1 -1
- package/dist/lyra819.cjs.map +1 -1
- package/dist/lyra819.js +8 -19
- package/dist/lyra819.js.map +1 -1
- package/dist/lyra820.cjs +1 -1
- package/dist/lyra820.cjs.map +1 -1
- package/dist/lyra820.js +12 -8
- package/dist/lyra820.js.map +1 -1
- package/dist/lyra821.cjs +1 -1
- package/dist/lyra821.cjs.map +1 -1
- package/dist/lyra821.js +6 -13
- package/dist/lyra821.js.map +1 -1
- package/dist/lyra822.cjs +1 -1
- package/dist/lyra822.cjs.map +1 -1
- package/dist/lyra822.js +24 -6
- package/dist/lyra822.js.map +1 -1
- package/dist/lyra823.cjs +1 -1
- package/dist/lyra823.cjs.map +1 -1
- package/dist/lyra823.js +2 -24
- package/dist/lyra823.js.map +1 -1
- package/dist/lyra824.cjs +1 -1
- package/dist/lyra824.cjs.map +1 -1
- package/dist/lyra824.js +9 -2
- package/dist/lyra824.js.map +1 -1
- package/dist/lyra825.cjs +1 -1
- package/dist/lyra825.cjs.map +1 -1
- package/dist/lyra825.js +7 -9
- package/dist/lyra825.js.map +1 -1
- package/dist/lyra826.cjs +1 -1
- package/dist/lyra826.cjs.map +1 -1
- package/dist/lyra826.js +2 -7
- package/dist/lyra826.js.map +1 -1
- package/dist/lyra827.cjs +1 -1
- package/dist/lyra827.cjs.map +1 -1
- package/dist/lyra827.js +19 -2
- package/dist/lyra827.js.map +1 -1
- package/dist/lyra828.cjs +1 -1
- package/dist/lyra828.cjs.map +1 -1
- package/dist/lyra828.js +251 -17
- package/dist/lyra828.js.map +1 -1
- package/dist/lyra829.cjs +1 -1
- package/dist/lyra829.cjs.map +1 -1
- package/dist/lyra829.js +72 -243
- package/dist/lyra829.js.map +1 -1
- package/dist/lyra830.cjs +1 -1
- package/dist/lyra830.cjs.map +1 -1
- package/dist/lyra830.js +2 -82
- package/dist/lyra830.js.map +1 -1
- package/dist/lyra831.cjs +1 -1
- package/dist/lyra831.cjs.map +1 -1
- package/dist/lyra831.js +13 -2
- package/dist/lyra831.js.map +1 -1
- package/dist/lyra832.cjs +1 -1
- package/dist/lyra832.cjs.map +1 -1
- package/dist/lyra832.js +18 -12
- package/dist/lyra832.js.map +1 -1
- package/dist/lyra833.cjs +1 -1
- package/dist/lyra833.cjs.map +1 -1
- package/dist/lyra833.js +12 -17
- package/dist/lyra833.js.map +1 -1
- package/dist/lyra834.cjs +1 -1
- package/dist/lyra834.cjs.map +1 -1
- package/dist/lyra834.js +27 -13
- package/dist/lyra834.js.map +1 -1
- package/dist/lyra835.cjs +1 -1
- package/dist/lyra835.cjs.map +1 -1
- package/dist/lyra835.js +5 -27
- package/dist/lyra835.js.map +1 -1
- package/dist/lyra836.cjs +1 -1
- package/dist/lyra836.cjs.map +1 -1
- package/dist/lyra836.js +10 -5
- package/dist/lyra836.js.map +1 -1
- package/dist/lyra837.cjs +1 -1
- package/dist/lyra837.cjs.map +1 -1
- package/dist/lyra837.js +27 -10
- package/dist/lyra837.js.map +1 -1
- package/dist/lyra838.cjs +1 -1
- package/dist/lyra838.cjs.map +1 -1
- package/dist/lyra838.js +26 -28
- package/dist/lyra838.js.map +1 -1
- package/dist/lyra839.cjs +1 -1
- package/dist/lyra839.cjs.map +1 -1
- package/dist/lyra839.js +7 -26
- package/dist/lyra839.js.map +1 -1
- package/dist/lyra840.cjs +1 -4
- package/dist/lyra840.cjs.map +1 -1
- package/dist/lyra840.js +103 -45
- package/dist/lyra840.js.map +1 -1
- package/dist/lyra841.cjs +1 -1
- package/dist/lyra841.cjs.map +1 -1
- package/dist/lyra841.js +21 -104
- package/dist/lyra841.js.map +1 -1
- package/dist/lyra842.cjs +1 -1
- package/dist/lyra842.cjs.map +1 -1
- package/dist/lyra842.js +20 -22
- package/dist/lyra842.js.map +1 -1
- package/dist/lyra843.cjs +1 -1
- package/dist/lyra843.cjs.map +1 -1
- package/dist/lyra843.js +5 -20
- package/dist/lyra843.js.map +1 -1
- package/dist/lyra844.cjs +1 -1
- package/dist/lyra844.cjs.map +1 -1
- package/dist/lyra844.js +20 -5
- package/dist/lyra844.js.map +1 -1
- package/dist/lyra845.cjs +1 -1
- package/dist/lyra845.cjs.map +1 -1
- package/dist/lyra845.js +29 -19
- package/dist/lyra845.js.map +1 -1
- package/dist/lyra846.cjs +1 -1
- package/dist/lyra846.cjs.map +1 -1
- package/dist/lyra846.js +6 -28
- package/dist/lyra846.js.map +1 -1
- package/dist/lyra847.cjs +1 -1
- package/dist/lyra847.cjs.map +1 -1
- package/dist/lyra847.js +51 -6
- package/dist/lyra847.js.map +1 -1
- package/dist/lyra848.cjs +1 -1
- package/dist/lyra848.cjs.map +1 -1
- package/dist/lyra848.js +19 -49
- package/dist/lyra848.js.map +1 -1
- package/dist/lyra849.cjs +1 -1
- package/dist/lyra849.cjs.map +1 -1
- package/dist/lyra849.js +16 -19
- package/dist/lyra849.js.map +1 -1
- package/dist/lyra850.cjs +1 -1
- package/dist/lyra850.cjs.map +1 -1
- package/dist/lyra850.js +55 -19
- package/dist/lyra850.js.map +1 -1
- package/dist/lyra851.cjs +1 -1
- package/dist/lyra851.cjs.map +1 -1
- package/dist/lyra851.js +10 -55
- package/dist/lyra851.js.map +1 -1
- package/dist/lyra852.cjs +1 -1
- package/dist/lyra852.cjs.map +1 -1
- package/dist/lyra852.js +3 -10
- package/dist/lyra852.js.map +1 -1
- package/dist/lyra853.cjs +1 -1
- package/dist/lyra853.cjs.map +1 -1
- package/dist/lyra853.js +17 -3
- package/dist/lyra853.js.map +1 -1
- package/dist/lyra854.cjs +1 -1
- package/dist/lyra854.cjs.map +1 -1
- package/dist/lyra854.js +3 -17
- package/dist/lyra854.js.map +1 -1
- package/dist/lyra855.cjs +1 -1
- package/dist/lyra855.cjs.map +1 -1
- package/dist/lyra855.js +3 -3
- package/dist/lyra855.js.map +1 -1
- package/dist/lyra856.cjs +4 -1
- package/dist/lyra856.cjs.map +1 -1
- package/dist/lyra856.js +46 -3
- package/dist/lyra856.js.map +1 -1
- package/dist/lyra87.cjs +1 -1
- package/dist/lyra87.js +48 -48
- package/dist/lyra88.cjs +1 -1
- package/dist/lyra88.js +3 -3
- package/dist/lyra92.cjs +1 -1
- package/dist/lyra92.cjs.map +1 -1
- package/dist/lyra92.js +1 -1
- package/dist/lyra92.js.map +1 -1
- package/package.json +1 -1
package/dist/lyra37.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lyra37.js","sources":["../src/components/inputs/search-list-field/search-list-field.tsx"],"sourcesContent":["import {\n CSSProperties,\n KeyboardEventHandler,\n RefObject,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport {\n Button as AriaButton,\n ButtonContext,\n Group,\n Input,\n Key,\n Provider,\n} from \"react-aria-components\";\nimport { flushSync } from \"react-dom\";\n\nimport { useVirtualizer } from \"@tanstack/react-virtual\";\nimport clsx from \"clsx\";\n\nimport { Separator, Spinner, useLocale, useSpinDelay } from \"../../..\";\nimport useEventListener from \"../../../utils/hooks/use-event-listener\";\nimport { useFilterItemsByQuery } from \"../../../utils/hooks/use-filter-items-by-query\";\nimport { useMousePosition } from \"../../../utils/hooks/use-mouse-position\";\nimport { useDictionary } from \"../../../utils/providers/dictionary-provider\";\nimport { sharedListItemStyles } from \"../../lists/shared-list.styles\";\nimport { SharedListItem } from \"../../lists/shared-list-item\";\nimport { Popover } from \"../../overlays\";\nimport { SvgIcon } from \"../../svg-icon\";\nimport { Text } from \"../../text\";\nimport { FieldGroupContext } from \"../field-group\";\nimport { InputTag, InputTagGroup } from \"../input-tag-group\";\nimport { InputFooter, InputHeader, sharedInputStyles } from \"../shared\";\n\nimport {\n MultiSearchListFieldProps,\n MultiSearchListFieldWithCustomTriggerProps,\n SearchInputProps,\n SearchListFieldItemsProps,\n SearchListFieldProps,\n SearchListFieldWithCustomTriggerProps,\n ValueButton,\n} from \"./seach-list-field.types\";\n\nconst SingleValueButton = <T extends object>({\n disableClearLogic,\n endSlot,\n fullWidth,\n getLabel,\n isDisabled,\n isInvalid,\n onChange,\n open,\n openPopover,\n placeholder,\n searchInputRef,\n startSlot,\n value,\n}: ValueButton<T>) => {\n const { buttonExcludedFromTabOrder, inputField } = sharedInputStyles({\n isInvalid,\n hasEndSlot: true,\n fullWidth,\n isDisabled,\n });\n\n /**\n * Handles the keydown event for the search list field.\n * If the Escape or Backspace key is pressed, calls the onChange function with undefined.\n * @param e - The keyboard event.\n */\n const onKeyDown = (e: React.KeyboardEvent<HTMLButtonElement>) => {\n if ((e.key === \"Escape\" || e.key === \"Backspace\") && !disableClearLogic) {\n e.stopPropagation();\n onChange?.(undefined);\n } else if (e.key === \"ArrowDown\" || e.key === \"ArrowUp\") {\n openPopover?.();\n }\n // match e.key to any letter or number and add the character to the search input\n else if (e.key && e.key.match(/^[a-zA-Z0-9]$/)) {\n // open the popover\n flushSync(() => {\n openPopover?.();\n });\n // set the cursor to the end of the input\n if (searchInputRef.current) {\n searchInputRef.current.focus();\n searchInputRef.current.setSelectionRange(0, searchInputRef.current.value.length);\n }\n }\n };\n\n return (\n <div className=\"flex items-center gap-2\">\n {startSlot}\n <AriaButton\n aria-haspopup=\"listbox\"\n aria-expanded={open}\n className={({ isFocused, isHovered }) =>\n inputField({\n isHovered,\n isFocused,\n className: \"grow\",\n })\n }\n isDisabled={isDisabled}\n onKeyDown={onKeyDown}\n onPress={openPopover}\n >\n <div className=\"grow truncate text-start\">\n {value && getLabel(value) ? (\n <>{getLabel(value)}</>\n ) : (\n <Text variant=\"body-medium\" color=\"secondary\">\n {placeholder}\n </Text>\n )}\n </div>\n <div className=\"flex items-center gap-2\">\n {value && !isDisabled && !disableClearLogic ? (\n <>\n <div\n className={buttonExcludedFromTabOrder()}\n role=\"button\"\n onPointerDown={(e) => {\n e.stopPropagation();\n onChange?.(undefined);\n }}\n onClick={(e) => {\n e.stopPropagation();\n onChange?.(undefined);\n }}\n >\n <SvgIcon name=\"clear\" />\n </div>\n </>\n ) : null}\n <SvgIcon name=\"chevron-up-down\" className=\"h-4 w-4\" />\n </div>\n </AriaButton>\n {endSlot}\n </div>\n );\n};\n\nconst MultipleValuesButton = <T extends object>({\n fullWidth,\n getItemId,\n getLabel,\n isDisabled,\n isInvalid,\n label,\n onChange,\n openPopover,\n placeholder,\n searchInputRef,\n value,\n}: Omit<ValueButton<T>, \"value\" | \"onChange\"> & {\n value?: T[];\n onChange: (newValue?: T[]) => void;\n}) => {\n const { inputField: inputFieldStyles } = sharedInputStyles({\n isInvalid,\n hasEndSlot: true,\n fullWidth,\n isDisabled,\n });\n /**\n * Handles the keydown event for the search list field.\n * If the Escape or Backspace key is pressed, calls the onChange function with undefined.\n * @param e - The keyboard event.\n */\n const onKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLButtonElement>) => {\n if (e.key === \"ArrowDown\" || e.key === \"ArrowUp\") {\n openPopover();\n }\n // match e.key to any letter or number and add the character to the search input\n else if (e.key && e.key.match(/^[a-zA-Z0-9]$/)) {\n // open the popover\n flushSync(() => {\n openPopover();\n });\n // set the cursor to the end of the input\n if (searchInputRef.current) {\n searchInputRef.current.focus();\n searchInputRef.current.setSelectionRange(0, searchInputRef.current.value.length);\n }\n }\n },\n [openPopover, searchInputRef],\n );\n\n const onRemove = useCallback(\n (keys: Set<Key>) => {\n value &&\n onChange(\n value.filter((item) => {\n const itemId = getItemId(item);\n return !keys.has(itemId);\n }),\n );\n },\n [getItemId, onChange, value],\n );\n\n return (\n <Group\n className={({ isFocusWithin: isFocused, isHovered }) =>\n inputFieldStyles({\n isHovered,\n isFocused,\n className: clsx(\n isHovered && !isInvalid && !isDisabled && !isFocused ? \"border-hover\" : \"\",\n \"has:[data-focused]:border has:[data-focused]:border-focus\",\n ),\n })\n }\n >\n <AriaButton\n onPress={openPopover}\n onKeyDown={onKeyDown}\n isDisabled={isDisabled}\n className=\"flex w-full outline-none\"\n >\n <div className=\"grow text-left\">\n {value && value.length ? (\n <InputTagGroup<T>\n label={label ?? \"Selected items\"}\n className=\"-m-1.5 -mt-[0.3125rem] items-center\"\n onRemove={isDisabled ? undefined : onRemove}\n >\n {value.map((item) => (\n <InputTag key={getItemId(item)} id={getItemId(item)} isDisabled={isDisabled}>\n {getLabel(item)}\n </InputTag>\n ))}\n </InputTagGroup>\n ) : (\n <Text color=\"secondary\">{placeholder}</Text>\n )}\n </div>\n <SvgIcon name=\"chevron-up-down\" className=\"h-4 w-4 min-w-[16px]\" />\n </AriaButton>\n </Group>\n );\n};\n\nconst SearchInput = ({\n endSlot,\n isLoading,\n onKeyDown,\n onQueryChange,\n query,\n searchInputRef,\n setQuery,\n}: SearchInputProps & { onKeyDown: KeyboardEventHandler<HTMLInputElement> | undefined }) => {\n const id = useId();\n const { clear, search } = useDictionary();\n const showSpinner = useSpinDelay(isLoading ?? false, { delay: 500, minDuration: 200 });\n const { buttonExcludedFromTabOrder } = sharedInputStyles({ fullWidth: true });\n\n useEffect(() => {\n searchInputRef.current?.focus();\n // only run on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return (\n <div className=\"pb-1\">\n <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\">\n <Input\n ref={searchInputRef}\n id={id}\n className=\"w-full bg-transparent text-base outline-none placeholder:text-tertiary\"\n onChange={(e) => {\n setQuery(e.target?.value ?? \"\");\n onQueryChange?.(e.target?.value as any);\n }}\n placeholder={search}\n value={query ?? \"\"}\n onKeyDown={(event) => {\n // Prevent selection of an item on Tab key down event\n if (event.code === \"Tab\") {\n event.preventDefault();\n }\n\n onKeyDown?.(event);\n }}\n />\n {query && query.length ? (\n <AriaButton\n aria-label={clear}\n className={buttonExcludedFromTabOrder()}\n excludeFromTabOrder\n onPress={() => {\n setQuery(\"\");\n searchInputRef.current?.focus();\n }}\n >\n <SvgIcon name=\"clear\" />\n </AriaButton>\n ) : null}\n {endSlot}\n {showSpinner ? <Spinner className=\"mx-2\" size=\"small\" /> : null}\n </div>\n </div>\n );\n};\n\nconst useLoadMoreHook = (open: boolean) => {\n const loadMoreButtonRef = useRef<HTMLButtonElement | null>(null);\n const [isLoadMoreButtonFocused, setIsLoadMoreButtonFocused] = useState(false);\n\n // Reset focused state as the popover opens / closes\n useEffect(() => setIsLoadMoreButtonFocused(false), [open]);\n return { loadMoreButtonRef, isLoadMoreButtonFocused, setIsLoadMoreButtonFocused };\n};\n\ntype UseItemSelectionProps<T> = {\n disabledItemIdKeys?: Key[];\n filteredItems: T[];\n onSingleChange?: (value?: T) => void;\n onMultiChange?: (value?: T[]) => void;\n getItemId: (item: T) => Key;\n value?: T | T[];\n loadMoreButtonRef: RefObject<HTMLButtonElement>;\n};\n\nconst useItemSelection = <T extends object>({\n disabledItemIdKeys,\n filteredItems,\n getItemId,\n onMultiChange,\n onSingleChange,\n value,\n}: UseItemSelectionProps<T>) => {\n const selectedItemIndex = useMemo(() => {\n if (Array.isArray(value)) {\n if (value.length) {\n return filteredItems?.findIndex((item) => getItemId(item) === getItemId(value[0]));\n } else {\n return 0;\n }\n } else if (value) {\n return filteredItems?.findIndex((item) => getItemId(item) === getItemId(value)) ?? 0;\n }\n }, [filteredItems, getItemId, value]);\n\n const getPreviousItemIndex = useCallback(\n (activeIndex?: number) => {\n if (Number.isInteger(activeIndex)) {\n for (let i = activeIndex! - 1; i >= 0; i--) {\n if (!disabledItemIdKeys?.includes(getItemId(filteredItems[i]))) {\n return Math.max(i, 0);\n }\n }\n }\n return -1;\n },\n [disabledItemIdKeys, filteredItems, getItemId],\n );\n\n const getNextItemIndex = useCallback(\n (activeIndex?: number) => {\n if (Number.isInteger(activeIndex)) {\n for (let i = activeIndex! + 1; i < filteredItems.length; i++) {\n if (!disabledItemIdKeys?.includes(getItemId(filteredItems[i]))) {\n return Math.min(filteredItems.length - 1, i);\n }\n }\n }\n return -1;\n },\n [disabledItemIdKeys, filteredItems, getItemId],\n );\n\n // Selects an item in the list and runs the appropriate change handler\n const toggleSelection = useCallback(\n (item: T) => {\n if (onMultiChange) {\n const currentValue = !value ? [] : [...(value as T[])];\n const currentValueIds = currentValue.map(getItemId);\n const newValue = currentValueIds?.includes(getItemId(item))\n ? currentValue.filter((v) => getItemId(v) !== getItemId(item))\n : [...currentValue, item];\n onMultiChange?.(newValue);\n } else if (onSingleChange) {\n onSingleChange?.(item);\n }\n },\n [getItemId, onMultiChange, onSingleChange, value],\n );\n\n const getItemIsSelected = useCallback(\n (item: T) => {\n if (Array.isArray(value)) {\n return value.includes(item);\n } else {\n return value === item;\n }\n },\n [value],\n );\n\n // State that keeps track of the 'active' (focused but not really focused) item.\n const [activeItem, setActiveItem] = useState(selectedItemIndex ?? 0);\n\n const mousePosition = useMousePosition();\n const previousMousePosition = useRef<string | undefined>(undefined);\n\n // Handles keyboard navigation when the searchinput is focused.\n const onKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n const currentActiveIndex = activeItem;\n\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n const safeNextIndex = getNextItemIndex(currentActiveIndex);\n\n if (safeNextIndex >= 0) {\n setActiveItem(safeNextIndex);\n previousMousePosition.current = mousePosition;\n }\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault();\n const safePreviousIndex = getPreviousItemIndex(currentActiveIndex);\n\n if (safePreviousIndex >= 0) {\n setActiveItem(safePreviousIndex);\n previousMousePosition.current = mousePosition;\n }\n } else if (e.key === \"Enter\") {\n toggleSelection(filteredItems[activeItem]);\n }\n },\n [\n activeItem,\n filteredItems,\n getNextItemIndex,\n getPreviousItemIndex,\n mousePosition,\n toggleSelection,\n ],\n );\n\n // Handles onHoverChange event for the search list field items\n const onHoverChange = useCallback(\n (isHovering: boolean, index: number) => {\n if (isHovering && previousMousePosition.current !== mousePosition) {\n setActiveItem(index);\n previousMousePosition.current = mousePosition;\n }\n },\n [mousePosition],\n );\n\n return {\n activeItem,\n setActiveItem,\n getItemIsSelected,\n onKeyDown,\n onHoverChange,\n selectedItemIndex,\n toggleSelection,\n };\n};\n\n// Component that only gets rendered when popover is open.\n// This way we can set the active item when the popover opens and make sure the selected item will become active.\n// When closing the popover, the active item will be reset to 0.\nconst SelectedItem = ({\n selectedItemIndex,\n setActiveItem,\n}: {\n selectedItemIndex?: number;\n setActiveItem: (value: number) => void;\n}) => {\n useEffect(() => {\n if (selectedItemIndex !== undefined && selectedItemIndex >= 0) {\n setActiveItem(selectedItemIndex);\n\n return () => {\n setActiveItem(0);\n };\n }\n }, [selectedItemIndex, setActiveItem]);\n return null;\n};\n\nconst SearchListFieldItems = <T extends object>({\n direction,\n disabledItemIdKeys,\n getItemId,\n getLabel,\n isLoading,\n items,\n label,\n onLoadMore,\n onMultiChange,\n onQueryChange,\n onSingleChange,\n open,\n placement,\n searchInputRef,\n selectRenderElements,\n setOpenPopover,\n triggerRef,\n value,\n}: SearchListFieldItemsProps<T>) => {\n const { loadMore, noResultsFound } = useDictionary();\n const { filteredItems, query, setQuery } = useFilterItemsByQuery<T>({\n getLabel,\n items,\n onQueryChange,\n });\n const { item: itemStyles } = sharedListItemStyles();\n const { isLoadMoreButtonFocused, loadMoreButtonRef, setIsLoadMoreButtonFocused } =\n useLoadMoreHook(open);\n\n const {\n activeItem,\n getItemIsSelected,\n onHoverChange,\n onKeyDown,\n selectedItemIndex,\n setActiveItem,\n toggleSelection,\n } = useItemSelection({\n disabledItemIdKeys,\n filteredItems,\n getItemId,\n loadMoreButtonRef,\n onMultiChange,\n onSingleChange,\n value,\n });\n\n const [triggerRefWidth, setTriggerRefWidth] = useState<number | undefined>(\n triggerRef.current?.offsetWidth,\n );\n useEventListener(\"resize\", () => {\n setTriggerRefWidth(triggerRef.current?.offsetWidth);\n });\n\n const triggerWidth = triggerRefWidth ?? triggerRef.current?.offsetWidth;\n\n const parentRef = useRef<HTMLDivElement>(null);\n\n const count = onLoadMore ? (filteredItems?.length ?? 0) + 1 : filteredItems?.length ?? 0;\n\n const virtualizer = useVirtualizer({\n count,\n estimateSize: () => 40,\n getScrollElement: () => parentRef.current,\n overscan: 6,\n });\n\n // Make sure we scroll to the activeItem if it changes.\n useEffect(() => {\n if (activeItem !== undefined && activeItem >= 0 && filteredItems?.length) {\n // if it's the last filtered item and a load more button is present, scroll to the load more button into view as well.\n if (activeItem === filteredItems.length - 1 && onLoadMore) {\n virtualizer.scrollToIndex(count);\n } else {\n virtualizer.scrollToIndex(Math.min(activeItem, count - 1));\n }\n }\n }, [activeItem, count, filteredItems.length, onLoadMore, virtualizer]);\n\n const virtualItems = virtualizer.getVirtualItems();\n\n return (\n <Popover\n className=\"p-1\"\n isOpen={open}\n disablePadding\n triggerRef={triggerRef}\n onOpenChange={setOpenPopover}\n aria-label={label}\n shouldUpdatePosition\n placement={placement}\n style={\n {\n width: triggerWidth && triggerWidth > 280 ? triggerWidth + \"px\" : \"280px\",\n direction,\n } as CSSProperties\n }\n >\n {open ? (\n <div className=\"gap-1\">\n <SearchInput\n onQueryChange={onQueryChange}\n isLoading={isLoading}\n query={query}\n setQuery={(value) => {\n // Reset active item when query changes and set the query.\n // Using flushSync to make sure scroll to offset is called after the active item is set.\n flushSync(() => {\n setQuery(value);\n setActiveItem(0);\n });\n\n virtualizer.scrollToOffset(0);\n }}\n searchInputRef={searchInputRef}\n onKeyDown={onKeyDown}\n />\n <SelectedItem selectedItemIndex={selectedItemIndex} setActiveItem={setActiveItem} />\n <div\n ref={parentRef}\n className=\"w-full overflow-y-auto\"\n style={{\n contain: \"strict\",\n height: Math.min(288, virtualizer.getTotalSize() + (onLoadMore ? 4 : 0)),\n }}\n >\n <div\n className=\"relative w-full\"\n style={{\n height: virtualizer.getTotalSize(),\n }}\n >\n <div\n className=\"absolute start-0 top-0 w-full\"\n style={{\n transform: `translateY(${virtualItems?.[0]?.start ?? 0}px)`,\n }}\n >\n {virtualItems.map((virtualItem) => {\n const itemIsLastOfIndex = virtualItem.index === count - 1;\n\n if (itemIsLastOfIndex && onLoadMore) {\n return (\n <div\n key={virtualItem.key}\n data-index={virtualItem.index}\n ref={virtualizer.measureElement}\n >\n <div>\n <Separator className=\"my-1\" />\n <AriaButton\n isDisabled={isLoading}\n onFocusChange={setIsLoadMoreButtonFocused}\n onHoverChange={setIsLoadMoreButtonFocused}\n ref={loadMoreButtonRef}\n className={itemStyles({\n className:\n \"w-full 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]\",\n })}\n onPress={() => {\n onLoadMore();\n\n // Focus input after loading more items\n searchInputRef.current?.focus();\n }}\n onKeyDown={(e) => {\n if (e.key === \"ArrowUp\") {\n e.preventDefault();\n searchInputRef.current?.focus();\n }\n }}\n >\n {loadMore}\n </AriaButton>\n </div>\n </div>\n );\n } else {\n const item = filteredItems[virtualItem.index];\n return (\n <div\n key={virtualItem.key}\n data-index={virtualItem.index}\n ref={virtualizer.measureElement}\n >\n <AriaButton\n key={getItemId(item)}\n className=\"w-full text-start outline-none\"\n onHoverChange={(isHovering) => {\n onHoverChange(isHovering, virtualItem.index);\n }}\n onPress={() => toggleSelection(item)}\n isDisabled={\n disabledItemIdKeys?.includes(getItemId(item) as string) ?? false\n }\n excludeFromTabOrder\n >\n <SharedListItem\n key={getItemId(item)}\n hasSelection\n item={item}\n state={{\n active: activeItem === virtualItem.index && !isLoadMoreButtonFocused,\n disabled:\n disabledItemIdKeys?.includes(getItemId(item) as string) ?? false,\n selected: getItemIsSelected(item),\n }}\n selectRenderElements={selectRenderElements}\n />\n </AriaButton>\n </div>\n );\n }\n })}\n </div>\n </div>\n </div>\n {count ? null : (\n <Text variant=\"body-medium\" color=\"secondary\" className=\"px-2.5\">\n {noResultsFound}\n </Text>\n )}\n </div>\n ) : null}\n </Popover>\n );\n};\n\nconst UncontrolledInputs = <T extends object>({\n getItemId,\n name,\n value,\n}: {\n name?: string;\n value?: T | T[];\n getItemId: (item: T) => Key;\n}) => {\n if (name) {\n if (Array.isArray(value)) {\n return value.map((v) => (\n <input key={getItemId(v)} type=\"hidden\" name={name} value={getItemId(v)} />\n ));\n } else if (value) {\n return <input type=\"hidden\" name={name} value={getItemId(value)} />;\n } else {\n return null;\n }\n }\n return null;\n};\n\nexport const SearchListField = <T extends object>({\n defaultValue,\n description,\n disableClearLogic,\n disabledItemIdKeys,\n endSlot,\n errorMessage,\n fullWidth = true,\n getItemId,\n getLabel,\n hideHintLabel,\n hideInputFooter,\n hideInputHeader,\n isDisabled,\n isInvalid,\n isLoading,\n isRequired,\n items,\n label,\n name,\n onChange,\n onLoadMore,\n onQueryChange,\n placeholder,\n placement = \"bottom start\",\n selectRenderElements,\n startSlot,\n value,\n}: SearchListFieldProps<T>) => {\n const { isDisabled: fieldGroupIsDisabled } = useContext(FieldGroupContext);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const comboBoxButtonRef = useRef<HTMLButtonElement>(null);\n const triggerRef = useRef<HTMLDivElement>(null);\n const [internalValue, setInternalValue] = useState<T | undefined>(value ?? defaultValue);\n const [isOpen, setIsOpen] = useState(false);\n const openPopover = () => {\n setIsOpen(true);\n comboBoxButtonRef.current?.click();\n };\n const closePopover = () => setIsOpen(false);\n\n const onSingleChange = useCallback(\n (newValue?: T) => {\n setInternalValue(newValue);\n onChange?.(newValue);\n closePopover();\n },\n [onChange],\n );\n\n const { direction } = useLocale();\n const { wrapper } = sharedInputStyles({\n fullWidth,\n isInvalid,\n isDisabled: isDisabled || fieldGroupIsDisabled,\n });\n\n // sync outside value changes with internal value\n useEffect(() => {\n setInternalValue(value ?? defaultValue);\n }, [defaultValue, value]);\n\n const selectedValue = value ?? internalValue;\n\n return (\n <div>\n <UncontrolledInputs name={name} value={selectedValue} getItemId={getItemId} />\n <div className={wrapper()}>\n <InputHeader\n label={label}\n hideHintLabel={hideHintLabel}\n hideInputHeader={hideInputHeader}\n isRequired={isRequired}\n />\n <div ref={triggerRef}>\n <SingleValueButton\n disableClearLogic={disableClearLogic}\n endSlot={endSlot}\n fullWidth={fullWidth}\n getLabel={getLabel}\n getItemId={getItemId}\n isDisabled={isDisabled}\n isInvalid={isInvalid}\n open={isOpen}\n openPopover={openPopover}\n onChange={onSingleChange}\n placeholder={placeholder}\n searchInputRef={searchInputRef}\n startSlot={startSlot}\n value={selectedValue as T | undefined}\n />\n </div>\n <InputFooter\n description={description}\n errorMessage={errorMessage}\n hideInputFooter={hideInputFooter}\n />\n </div>\n <SearchListFieldItems<T>\n triggerRef={triggerRef}\n label={label}\n getItemId={getItemId}\n getLabel={getLabel}\n items={items}\n open={isOpen}\n setOpenPopover={setIsOpen}\n selectRenderElements={selectRenderElements}\n disabledItemIdKeys={disabledItemIdKeys}\n direction={direction}\n onQueryChange={onQueryChange}\n isLoading={isLoading}\n searchInputRef={searchInputRef}\n onLoadMore={onLoadMore}\n placement={placement}\n value={selectedValue}\n onSingleChange={onSingleChange}\n />\n </div>\n );\n};\n\nexport const MultiSearchListField = <T extends object>({\n defaultValue,\n description,\n disableClearLogic,\n disabledItemIdKeys,\n endSlot,\n errorMessage,\n fullWidth = true,\n getItemId,\n getLabel,\n hideHintLabel,\n hideInputFooter,\n hideInputHeader,\n isDisabled,\n isInvalid,\n isLoading,\n isRequired,\n items,\n label,\n labelId,\n name,\n onChange,\n onLoadMore,\n onQueryChange,\n placeholder,\n placement = \"bottom start\",\n selectRenderElements,\n startSlot,\n value,\n}: MultiSearchListFieldProps<T>) => {\n const { isDisabled: fieldGroupIsDisabled } = useContext(FieldGroupContext);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const triggerRef = useRef<HTMLDivElement>(null);\n const [internalValue, setInternalValue] = useState<T[] | undefined>(value ?? defaultValue);\n const [isOpen, setIsOpen] = useState(false);\n const openPopover = () => {\n setIsOpen(true);\n };\n\n const onMultiChange = useCallback(\n (newValue?: T[]) => {\n setInternalValue(newValue);\n onChange?.(newValue);\n searchInputRef.current?.focus();\n },\n [onChange],\n );\n\n const { direction } = useLocale();\n\n const { wrapper } = sharedInputStyles({\n fullWidth,\n isInvalid,\n isDisabled: isDisabled || fieldGroupIsDisabled,\n });\n\n // sync outside value changes with internal value\n useEffect(() => {\n setInternalValue(value ?? defaultValue);\n }, [defaultValue, value]);\n const selectedValue = value ?? internalValue;\n\n return (\n <div>\n <UncontrolledInputs name={name} value={selectedValue} getItemId={getItemId} />\n <div className={wrapper()}>\n <InputHeader\n label={label}\n isRequired={isRequired}\n hideHintLabel={hideHintLabel}\n hideInputHeader={hideInputHeader}\n labelId={labelId}\n />\n <div ref={triggerRef}>\n <MultipleValuesButton\n disableClearLogic={disableClearLogic}\n endSlot={endSlot}\n fullWidth={fullWidth}\n getLabel={getLabel}\n getItemId={getItemId}\n isDisabled={isDisabled}\n isInvalid={isInvalid}\n onChange={onMultiChange}\n open={isOpen}\n openPopover={openPopover}\n placeholder={placeholder}\n searchInputRef={searchInputRef}\n startSlot={startSlot}\n value={selectedValue}\n />\n </div>\n <InputFooter\n description={description}\n errorMessage={errorMessage}\n hideInputFooter={hideInputFooter}\n />\n </div>\n <SearchListFieldItems<T>\n label={label}\n searchInputRef={searchInputRef}\n triggerRef={triggerRef}\n getItemId={getItemId}\n getLabel={getLabel}\n items={items}\n onMultiChange={onMultiChange}\n value={selectedValue}\n placement={placement}\n open={isOpen}\n setOpenPopover={setIsOpen}\n selectRenderElements={selectRenderElements}\n disabledItemIdKeys={disabledItemIdKeys}\n direction={direction}\n onQueryChange={onQueryChange}\n isLoading={isLoading}\n onLoadMore={onLoadMore}\n />\n </div>\n );\n};\n\nexport const SearchListFieldWithCustomTrigger = <T extends object>({\n children,\n defaultValue,\n disabledItemIdKeys,\n getItemId,\n getLabel,\n isDisabled,\n isInvalid,\n isLoading,\n items,\n label,\n name,\n onChange,\n onQueryChange,\n placement = \"bottom start\",\n selectRenderElements,\n value,\n}: SearchListFieldWithCustomTriggerProps<T>) => {\n const { isDisabled: fieldGroupIsDisabled } = useContext(FieldGroupContext);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const comboBoxButtonRef = useRef<HTMLButtonElement>(null);\n const triggerRef = useRef<HTMLDivElement>(null);\n const [internalValue, setInternalValue] = useState<T | undefined>(value ?? defaultValue);\n const [isOpen, setIsOpen] = useState(false);\n const openPopover = () => {\n setIsOpen(true);\n comboBoxButtonRef.current?.click();\n };\n const closePopover = () => setIsOpen(false);\n\n const onSingleChange = useCallback(\n (newValue?: T) => {\n setInternalValue(newValue);\n onChange?.(newValue);\n closePopover();\n },\n [onChange],\n );\n\n const { direction } = useLocale();\n const { wrapper } = sharedInputStyles({\n fullWidth: false,\n isInvalid,\n isDisabled,\n });\n\n // sync outside value changes with internal value\n useEffect(() => {\n setInternalValue(value ?? defaultValue);\n }, [defaultValue, value]);\n\n const selectedValue = value ?? internalValue;\n return (\n <Provider\n values={[\n [\n ButtonContext,\n {\n onPress: () => openPopover(),\n isDisabled: isDisabled || fieldGroupIsDisabled,\n },\n ],\n ]}\n >\n <div>\n <UncontrolledInputs name={name} value={selectedValue} getItemId={getItemId} />\n <div className={wrapper()}>\n <div ref={triggerRef}>{children}</div>\n </div>\n <SearchListFieldItems<T>\n triggerRef={triggerRef}\n label={label}\n getItemId={getItemId}\n getLabel={getLabel}\n items={items}\n open={isOpen}\n setOpenPopover={setIsOpen}\n selectRenderElements={selectRenderElements}\n disabledItemIdKeys={disabledItemIdKeys}\n direction={direction}\n onQueryChange={onQueryChange}\n isLoading={isLoading}\n searchInputRef={searchInputRef}\n placement={placement}\n value={selectedValue}\n onSingleChange={onSingleChange}\n />\n </div>\n </Provider>\n );\n};\n\nexport const MultiSearchListFieldWithCustomTrigger = <T extends object>({\n children,\n defaultValue,\n disabledItemIdKeys,\n fullWidth = true,\n getItemId,\n getLabel,\n isDisabled,\n isInvalid,\n isLoading,\n items,\n label,\n name,\n onChange,\n onQueryChange,\n placement = \"bottom start\",\n selectRenderElements,\n value,\n}: MultiSearchListFieldWithCustomTriggerProps<T>) => {\n const { isDisabled: fieldGroupIsDisabled } = useContext(FieldGroupContext);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const comboBoxButtonRef = useRef<HTMLButtonElement>(null);\n const triggerRef = useRef<HTMLDivElement>(null);\n const [internalValue, setInternalValue] = useState<T[] | undefined>(value ?? defaultValue);\n const [isOpen, setIsOpen] = useState(false);\n const openPopover = () => {\n setIsOpen(true);\n comboBoxButtonRef.current?.click();\n };\n\n const onMultiChange = useCallback(\n (newValue?: T[]) => {\n setInternalValue(newValue);\n onChange?.(newValue);\n searchInputRef.current?.focus();\n },\n [onChange],\n );\n\n const { direction } = useLocale();\n\n const { wrapper } = sharedInputStyles({\n fullWidth,\n isInvalid,\n isDisabled,\n });\n\n // sync outside value changes with internal value\n useEffect(() => {\n setInternalValue(value ?? defaultValue);\n }, [defaultValue, value]);\n\n const selectedValue = value ?? internalValue;\n\n return (\n <Provider\n values={[\n [\n ButtonContext,\n { onPress: () => openPopover(), isDisabled: isDisabled || fieldGroupIsDisabled },\n ],\n ]}\n >\n <div>\n <UncontrolledInputs name={name} value={selectedValue} getItemId={getItemId} />\n <div className={wrapper()}>\n <div ref={triggerRef}>{children}</div>\n </div>\n <SearchListFieldItems<T>\n label={label}\n searchInputRef={searchInputRef}\n triggerRef={triggerRef}\n getItemId={getItemId}\n getLabel={getLabel}\n items={items}\n open={isOpen}\n setOpenPopover={setIsOpen}\n selectRenderElements={selectRenderElements}\n disabledItemIdKeys={disabledItemIdKeys}\n direction={direction}\n onQueryChange={onQueryChange}\n isLoading={isLoading}\n value={selectedValue}\n onMultiChange={onMultiChange}\n placement={placement}\n />\n </div>\n </Provider>\n );\n};\n"],"names":["SingleValueButton","disableClearLogic","endSlot","fullWidth","getLabel","isDisabled","isInvalid","onChange","open","openPopover","placeholder","searchInputRef","startSlot","value","buttonExcludedFromTabOrder","inputField","sharedInputStyles","onKeyDown","e","flushSync","jsxs","AriaButton","isFocused","isHovered","jsx","Fragment","Text","SvgIcon","MultipleValuesButton","getItemId","label","inputFieldStyles","useCallback","onRemove","keys","item","itemId","Group","clsx","InputTagGroup","InputTag","SearchInput","isLoading","onQueryChange","query","setQuery","id","useId","clear","search","useDictionary","showSpinner","useSpinDelay","useEffect","_a","Input","_b","event","Spinner","useLoadMoreHook","loadMoreButtonRef","useRef","isLoadMoreButtonFocused","setIsLoadMoreButtonFocused","useState","useItemSelection","disabledItemIdKeys","filteredItems","onMultiChange","onSingleChange","selectedItemIndex","useMemo","getPreviousItemIndex","activeIndex","i","getNextItemIndex","toggleSelection","currentValue","currentValueIds","newValue","v","getItemIsSelected","activeItem","setActiveItem","mousePosition","useMousePosition","previousMousePosition","currentActiveIndex","safeNextIndex","safePreviousIndex","onHoverChange","isHovering","index","SelectedItem","SearchListFieldItems","direction","items","onLoadMore","placement","selectRenderElements","setOpenPopover","triggerRef","loadMore","noResultsFound","useFilterItemsByQuery","itemStyles","sharedListItemStyles","triggerRefWidth","setTriggerRefWidth","useEventListener","triggerWidth","parentRef","count","virtualizer","useVirtualizer","virtualItems","Popover","_c","virtualItem","Separator","SharedListItem","UncontrolledInputs","name","SearchListField","defaultValue","description","errorMessage","hideHintLabel","hideInputFooter","hideInputHeader","isRequired","fieldGroupIsDisabled","useContext","FieldGroupContext","comboBoxButtonRef","internalValue","setInternalValue","isOpen","setIsOpen","closePopover","useLocale","wrapper","selectedValue","InputHeader","InputFooter","MultiSearchListField","labelId","SearchListFieldWithCustomTrigger","children","Provider","ButtonContext","MultiSearchListFieldWithCustomTrigger"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lyra37.js","sources":["../src/components/inputs/search-list-field/search-list-field.tsx"],"sourcesContent":["import {\n CSSProperties,\n KeyboardEventHandler,\n RefObject,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport {\n Button as AriaButton,\n ButtonContext,\n Group,\n Input,\n Key,\n Provider,\n} from \"react-aria-components\";\nimport { flushSync } from \"react-dom\";\n\nimport { useVirtualizer } from \"@tanstack/react-virtual\";\nimport clsx from \"clsx\";\n\nimport { Separator, Spinner, useLocale, useSpinDelay } from \"../../..\";\nimport useEventListener from \"../../../utils/hooks/use-event-listener\";\nimport { useFilterItemsByQuery } from \"../../../utils/hooks/use-filter-items-by-query\";\nimport { useMousePosition } from \"../../../utils/hooks/use-mouse-position\";\nimport { useDictionary } from \"../../../utils/providers/dictionary-provider\";\nimport { sharedListItemStyles } from \"../../lists/shared-list.styles\";\nimport { SharedListItem } from \"../../lists/shared-list-item\";\nimport { Popover } from \"../../overlays\";\nimport { SvgIcon } from \"../../svg-icon\";\nimport { Text } from \"../../text\";\nimport { FieldGroupContext } from \"../field-group\";\nimport { InputTag, InputTagGroup } from \"../input-tag-group\";\nimport { InputFooter, InputHeader, sharedInputStyles } from \"../shared\";\n\nimport {\n MultiSearchListFieldProps,\n MultiSearchListFieldWithCustomTriggerProps,\n SearchInputProps,\n SearchListFieldItemsProps,\n SearchListFieldProps,\n SearchListFieldWithCustomTriggerProps,\n ValueButton,\n} from \"./seach-list-field.types\";\n\nconst SingleValueButton = <T extends object>({\n disableClearLogic,\n endSlot,\n fullWidth,\n getLabel,\n isDisabled,\n isInvalid,\n onChange,\n open,\n openPopover,\n placeholder,\n searchInputRef,\n startSlot,\n value,\n}: ValueButton<T>) => {\n const { buttonExcludedFromTabOrder, inputField } = sharedInputStyles({\n isInvalid,\n hasEndSlot: true,\n fullWidth,\n isDisabled,\n });\n\n /**\n * Handles the keydown event for the search list field.\n * If the Escape or Backspace key is pressed, calls the onChange function with undefined.\n * @param e - The keyboard event.\n */\n const onKeyDown = (e: React.KeyboardEvent<HTMLButtonElement>) => {\n if ((e.key === \"Escape\" || e.key === \"Backspace\") && !disableClearLogic) {\n e.stopPropagation();\n onChange?.(undefined);\n } else if (e.key === \"ArrowDown\" || e.key === \"ArrowUp\") {\n openPopover?.();\n }\n // match e.key to any letter or number and add the character to the search input\n else if (e.key && e.key.match(/^[a-zA-Z0-9]$/)) {\n // open the popover\n flushSync(() => {\n openPopover?.();\n });\n // set the cursor to the end of the input\n if (searchInputRef.current) {\n searchInputRef.current.focus();\n searchInputRef.current.setSelectionRange(0, searchInputRef.current.value.length);\n }\n }\n };\n\n return (\n <div className=\"flex items-center gap-2\">\n {startSlot}\n <AriaButton\n aria-haspopup=\"listbox\"\n aria-expanded={open}\n className={({ isFocused, isHovered }) =>\n inputField({\n isHovered,\n isFocused,\n className: \"grow\",\n })\n }\n isDisabled={isDisabled}\n onKeyDown={onKeyDown}\n onPress={openPopover}\n >\n <div className=\"grow truncate text-start\">\n {value && getLabel(value) ? (\n <>{getLabel(value)}</>\n ) : (\n <Text variant=\"body-medium\" color=\"secondary\">\n {placeholder}\n </Text>\n )}\n </div>\n <div className=\"flex items-center gap-2\">\n {value && !isDisabled && !disableClearLogic ? (\n <>\n <div\n className={buttonExcludedFromTabOrder()}\n role=\"button\"\n onPointerDown={(e) => {\n e.stopPropagation();\n onChange?.(undefined);\n }}\n onClick={(e) => {\n e.stopPropagation();\n onChange?.(undefined);\n }}\n >\n <SvgIcon name=\"clear\" />\n </div>\n </>\n ) : null}\n <SvgIcon name=\"chevron-up-down\" className=\"h-4 w-4\" />\n </div>\n </AriaButton>\n {endSlot}\n </div>\n );\n};\n\nconst MultipleValuesButton = <T extends object>({\n fullWidth,\n getItemId,\n getLabel,\n isDisabled,\n isInvalid,\n label,\n onChange,\n openPopover,\n placeholder,\n searchInputRef,\n value,\n}: Omit<ValueButton<T>, \"value\" | \"onChange\"> & {\n value?: T[];\n onChange: (newValue?: T[]) => void;\n}) => {\n const { inputField: inputFieldStyles } = sharedInputStyles({\n isInvalid,\n hasEndSlot: true,\n fullWidth,\n isDisabled,\n });\n /**\n * Handles the keydown event for the search list field.\n * If the Escape or Backspace key is pressed, calls the onChange function with undefined.\n * @param e - The keyboard event.\n */\n const onKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLButtonElement>) => {\n if (e.key === \"ArrowDown\" || e.key === \"ArrowUp\") {\n openPopover();\n }\n // match e.key to any letter or number and add the character to the search input\n else if (e.key && e.key.match(/^[a-zA-Z0-9]$/)) {\n // open the popover\n flushSync(() => {\n openPopover();\n });\n // set the cursor to the end of the input\n if (searchInputRef.current) {\n searchInputRef.current.focus();\n searchInputRef.current.setSelectionRange(0, searchInputRef.current.value.length);\n }\n }\n },\n [openPopover, searchInputRef],\n );\n\n const onRemove = useCallback(\n (keys: Set<Key>) => {\n value &&\n onChange(\n value.filter((item) => {\n const itemId = getItemId(item);\n return !keys.has(itemId);\n }),\n );\n },\n [getItemId, onChange, value],\n );\n\n return (\n <Group\n className={({ isFocusWithin: isFocused, isHovered }) =>\n inputFieldStyles({\n isHovered,\n isFocused,\n className: clsx(\n isHovered && !isInvalid && !isDisabled && !isFocused ? \"border-hover\" : \"\",\n \"has:[data-focused]:border has:[data-focused]:border-focus\",\n ),\n })\n }\n >\n <AriaButton\n onPress={openPopover}\n onKeyDown={onKeyDown}\n isDisabled={isDisabled}\n className=\"flex w-full outline-none\"\n >\n <div className=\"grow text-left\">\n {value && value.length ? (\n <InputTagGroup<T>\n label={label ?? \"Selected items\"}\n className=\"-m-1.5 -mt-[0.3125rem] items-center\"\n onRemove={isDisabled ? undefined : onRemove}\n >\n {value.map((item) => (\n <InputTag key={getItemId(item)} id={getItemId(item)} isDisabled={isDisabled}>\n {getLabel(item)}\n </InputTag>\n ))}\n </InputTagGroup>\n ) : (\n <Text color=\"secondary\">{placeholder}</Text>\n )}\n </div>\n <SvgIcon name=\"chevron-up-down\" className=\"h-4 w-4 min-w-[16px]\" />\n </AriaButton>\n </Group>\n );\n};\n\nconst SearchInput = ({\n endSlot,\n isLoading,\n onKeyDown,\n onQueryChange,\n query,\n searchInputRef,\n setQuery,\n}: SearchInputProps & { onKeyDown: KeyboardEventHandler<HTMLInputElement> | undefined }) => {\n const id = useId();\n const { clear, search } = useDictionary();\n const showSpinner = useSpinDelay(isLoading ?? false, { delay: 500, minDuration: 200 });\n const { buttonExcludedFromTabOrder } = sharedInputStyles({ fullWidth: true });\n\n useEffect(() => {\n searchInputRef.current?.focus();\n // only run on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return (\n <div className=\"pb-1\">\n <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\">\n <Input\n ref={searchInputRef}\n id={id}\n className=\"w-full bg-transparent text-base outline-none placeholder:text-tertiary\"\n onChange={(e) => {\n setQuery(e.target?.value ?? \"\");\n onQueryChange?.(e.target?.value as any);\n }}\n placeholder={search}\n value={query ?? \"\"}\n onKeyDown={(event) => {\n // Prevent selection of an item on Tab key down event\n if (event.code === \"Tab\") {\n event.preventDefault();\n }\n\n onKeyDown?.(event);\n }}\n />\n {query && query.length ? (\n <AriaButton\n aria-label={clear}\n className={buttonExcludedFromTabOrder()}\n excludeFromTabOrder\n onPress={() => {\n setQuery(\"\");\n searchInputRef.current?.focus();\n }}\n >\n <SvgIcon name=\"clear\" />\n </AriaButton>\n ) : null}\n {endSlot}\n {showSpinner ? <Spinner className=\"mx-2\" size=\"small\" /> : null}\n </div>\n </div>\n );\n};\n\nconst useLoadMoreHook = (open: boolean) => {\n const loadMoreButtonRef = useRef<HTMLButtonElement | null>(null);\n const [isLoadMoreButtonFocused, setIsLoadMoreButtonFocused] = useState(false);\n\n // Reset focused state as the popover opens / closes\n useEffect(() => setIsLoadMoreButtonFocused(false), [open]);\n return { loadMoreButtonRef, isLoadMoreButtonFocused, setIsLoadMoreButtonFocused };\n};\n\ntype UseItemSelectionProps<T> = {\n disabledItemIdKeys?: Key[];\n filteredItems: T[];\n onSingleChange?: (value?: T) => void;\n onMultiChange?: (value?: T[]) => void;\n getItemId: (item: T) => Key;\n value?: T | T[];\n loadMoreButtonRef: RefObject<HTMLButtonElement>;\n};\n\nconst useItemSelection = <T extends object>({\n disabledItemIdKeys,\n filteredItems,\n getItemId,\n onMultiChange,\n onSingleChange,\n value,\n}: UseItemSelectionProps<T>) => {\n const selectedItemIndex = useMemo(() => {\n if (Array.isArray(value)) {\n if (value.length) {\n return filteredItems?.findIndex((item) => getItemId(item) === getItemId(value[0]));\n } else {\n return 0;\n }\n } else if (value) {\n return filteredItems?.findIndex((item) => getItemId(item) === getItemId(value)) ?? 0;\n }\n }, [filteredItems, getItemId, value]);\n\n const getPreviousItemIndex = useCallback(\n (activeIndex?: number) => {\n if (Number.isInteger(activeIndex)) {\n for (let i = activeIndex! - 1; i >= 0; i--) {\n if (!disabledItemIdKeys?.includes(getItemId(filteredItems[i]))) {\n return Math.max(i, 0);\n }\n }\n }\n return -1;\n },\n [disabledItemIdKeys, filteredItems, getItemId],\n );\n\n const getNextItemIndex = useCallback(\n (activeIndex?: number) => {\n if (Number.isInteger(activeIndex)) {\n for (let i = activeIndex! + 1; i < filteredItems.length; i++) {\n if (!disabledItemIdKeys?.includes(getItemId(filteredItems[i]))) {\n return Math.min(filteredItems.length - 1, i);\n }\n }\n }\n return -1;\n },\n [disabledItemIdKeys, filteredItems, getItemId],\n );\n\n // Selects an item in the list and runs the appropriate change handler\n const toggleSelection = useCallback(\n (item: T) => {\n if (onMultiChange) {\n const currentValue = !value ? [] : [...(value as T[])];\n const currentValueIds = currentValue.map(getItemId);\n const newValue = currentValueIds?.includes(getItemId(item))\n ? currentValue.filter((v) => getItemId(v) !== getItemId(item))\n : [...currentValue, item];\n onMultiChange?.(newValue);\n } else if (onSingleChange) {\n onSingleChange?.(item);\n }\n },\n [getItemId, onMultiChange, onSingleChange, value],\n );\n\n const getItemIsSelected = useCallback(\n (item: T) => {\n if (Array.isArray(value)) {\n return value.some((subValue) => getItemId(subValue) === getItemId(item));\n } else {\n return value ? getItemId(value) === getItemId(item) : false;\n }\n },\n [getItemId, value],\n );\n\n // State that keeps track of the 'active' (focused but not really focused) item.\n const [activeItem, setActiveItem] = useState(selectedItemIndex ?? 0);\n\n const mousePosition = useMousePosition();\n const previousMousePosition = useRef<string | undefined>(undefined);\n\n // Handles keyboard navigation when the searchinput is focused.\n const onKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n const currentActiveIndex = activeItem;\n\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n const safeNextIndex = getNextItemIndex(currentActiveIndex);\n\n if (safeNextIndex >= 0) {\n setActiveItem(safeNextIndex);\n previousMousePosition.current = mousePosition;\n }\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault();\n const safePreviousIndex = getPreviousItemIndex(currentActiveIndex);\n\n if (safePreviousIndex >= 0) {\n setActiveItem(safePreviousIndex);\n previousMousePosition.current = mousePosition;\n }\n } else if (e.key === \"Enter\") {\n toggleSelection(filteredItems[activeItem]);\n }\n },\n [\n activeItem,\n filteredItems,\n getNextItemIndex,\n getPreviousItemIndex,\n mousePosition,\n toggleSelection,\n ],\n );\n\n // Handles onHoverChange event for the search list field items\n const onHoverChange = useCallback(\n (isHovering: boolean, index: number) => {\n if (isHovering && previousMousePosition.current !== mousePosition) {\n setActiveItem(index);\n previousMousePosition.current = mousePosition;\n }\n },\n [mousePosition],\n );\n\n return {\n activeItem,\n setActiveItem,\n getItemIsSelected,\n onKeyDown,\n onHoverChange,\n selectedItemIndex,\n toggleSelection,\n };\n};\n\n// Component that only gets rendered when popover is open.\n// This way we can set the active item when the popover opens and make sure the selected item will become active.\n// When closing the popover, the active item will be reset to 0.\nconst SelectedItem = ({\n selectedItemIndex,\n setActiveItem,\n}: {\n selectedItemIndex?: number;\n setActiveItem: (value: number) => void;\n}) => {\n useEffect(() => {\n if (selectedItemIndex !== undefined && selectedItemIndex >= 0) {\n setActiveItem(selectedItemIndex);\n\n return () => {\n setActiveItem(0);\n };\n }\n }, [selectedItemIndex, setActiveItem]);\n return null;\n};\n\nconst SearchListFieldItems = <T extends object>({\n direction,\n disabledItemIdKeys,\n getItemId,\n getLabel,\n isLoading,\n items,\n label,\n onLoadMore,\n onMultiChange,\n onQueryChange,\n onSingleChange,\n open,\n placement,\n searchInputRef,\n selectRenderElements,\n setOpenPopover,\n triggerRef,\n value,\n}: SearchListFieldItemsProps<T>) => {\n const { loadMore, noResultsFound } = useDictionary();\n const { filteredItems, query, setQuery } = useFilterItemsByQuery<T>({\n getLabel,\n items,\n onQueryChange,\n });\n const { item: itemStyles } = sharedListItemStyles();\n const { isLoadMoreButtonFocused, loadMoreButtonRef, setIsLoadMoreButtonFocused } =\n useLoadMoreHook(open);\n\n const {\n activeItem,\n getItemIsSelected,\n onHoverChange,\n onKeyDown,\n selectedItemIndex,\n setActiveItem,\n toggleSelection,\n } = useItemSelection({\n disabledItemIdKeys,\n filteredItems,\n getItemId,\n loadMoreButtonRef,\n onMultiChange,\n onSingleChange,\n value,\n });\n\n const [triggerRefWidth, setTriggerRefWidth] = useState<number | undefined>(\n triggerRef.current?.offsetWidth,\n );\n useEventListener(\"resize\", () => {\n setTriggerRefWidth(triggerRef.current?.offsetWidth);\n });\n\n const triggerWidth = triggerRefWidth ?? triggerRef.current?.offsetWidth;\n\n const parentRef = useRef<HTMLDivElement>(null);\n\n const count = onLoadMore ? (filteredItems?.length ?? 0) + 1 : filteredItems?.length ?? 0;\n\n const virtualizer = useVirtualizer({\n count,\n estimateSize: () => 40,\n getScrollElement: () => parentRef.current,\n overscan: 6,\n });\n\n // Make sure we scroll to the activeItem if it changes.\n useEffect(() => {\n if (activeItem !== undefined && activeItem >= 0 && filteredItems?.length) {\n // if it's the last filtered item and a load more button is present, scroll to the load more button into view as well.\n if (activeItem === filteredItems.length - 1 && onLoadMore) {\n virtualizer.scrollToIndex(count);\n } else {\n virtualizer.scrollToIndex(Math.min(activeItem, count - 1));\n }\n }\n }, [activeItem, count, filteredItems.length, onLoadMore, virtualizer]);\n\n const virtualItems = virtualizer.getVirtualItems();\n\n return (\n <Popover\n className=\"p-1\"\n isOpen={open}\n disablePadding\n triggerRef={triggerRef}\n onOpenChange={setOpenPopover}\n aria-label={label}\n shouldUpdatePosition\n placement={placement}\n style={\n {\n width: triggerWidth && triggerWidth > 280 ? triggerWidth + \"px\" : \"280px\",\n direction,\n } as CSSProperties\n }\n >\n {open ? (\n <div className=\"gap-1\">\n <SearchInput\n onQueryChange={onQueryChange}\n isLoading={isLoading}\n query={query}\n setQuery={(value) => {\n // Reset active item when query changes and set the query.\n // Using flushSync to make sure scroll to offset is called after the active item is set.\n flushSync(() => {\n setQuery(value);\n setActiveItem(0);\n });\n\n virtualizer.scrollToOffset(0);\n }}\n searchInputRef={searchInputRef}\n onKeyDown={onKeyDown}\n />\n <SelectedItem selectedItemIndex={selectedItemIndex} setActiveItem={setActiveItem} />\n <div\n ref={parentRef}\n className=\"w-full overflow-y-auto\"\n style={{\n contain: \"strict\",\n height: Math.min(288, virtualizer.getTotalSize() + (onLoadMore ? 4 : 0)),\n }}\n >\n <div\n className=\"relative w-full\"\n style={{\n height: virtualizer.getTotalSize(),\n }}\n >\n <div\n className=\"absolute start-0 top-0 w-full\"\n style={{\n transform: `translateY(${virtualItems?.[0]?.start ?? 0}px)`,\n }}\n >\n {virtualItems.map((virtualItem) => {\n const itemIsLastOfIndex = virtualItem.index === count - 1;\n\n if (itemIsLastOfIndex && onLoadMore) {\n return (\n <div\n key={virtualItem.key}\n data-index={virtualItem.index}\n ref={virtualizer.measureElement}\n >\n <div>\n <Separator className=\"my-1\" />\n <AriaButton\n isDisabled={isLoading}\n onFocusChange={setIsLoadMoreButtonFocused}\n onHoverChange={setIsLoadMoreButtonFocused}\n ref={loadMoreButtonRef}\n className={itemStyles({\n className:\n \"w-full 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]\",\n })}\n onPress={() => {\n onLoadMore();\n\n // Focus input after loading more items\n searchInputRef.current?.focus();\n }}\n onKeyDown={(e) => {\n if (e.key === \"ArrowUp\") {\n e.preventDefault();\n searchInputRef.current?.focus();\n }\n }}\n >\n {loadMore}\n </AriaButton>\n </div>\n </div>\n );\n } else {\n const item = filteredItems[virtualItem.index];\n return (\n <div\n key={virtualItem.key}\n data-index={virtualItem.index}\n ref={virtualizer.measureElement}\n >\n <AriaButton\n key={getItemId(item)}\n className=\"w-full text-start outline-none\"\n onHoverChange={(isHovering) => {\n onHoverChange(isHovering, virtualItem.index);\n }}\n onPress={() => toggleSelection(item)}\n isDisabled={\n disabledItemIdKeys?.includes(getItemId(item) as string) ?? false\n }\n excludeFromTabOrder\n >\n <SharedListItem\n key={getItemId(item)}\n hasSelection\n item={item}\n state={{\n active: activeItem === virtualItem.index && !isLoadMoreButtonFocused,\n disabled:\n disabledItemIdKeys?.includes(getItemId(item) as string) ?? false,\n selected: getItemIsSelected(item),\n }}\n selectRenderElements={selectRenderElements}\n />\n </AriaButton>\n </div>\n );\n }\n })}\n </div>\n </div>\n </div>\n {count ? null : (\n <Text variant=\"body-medium\" color=\"secondary\" className=\"px-2.5\">\n {noResultsFound}\n </Text>\n )}\n </div>\n ) : null}\n </Popover>\n );\n};\n\nconst UncontrolledInputs = <T extends object>({\n getItemId,\n name,\n value,\n}: {\n name?: string;\n value?: T | T[];\n getItemId: (item: T) => Key;\n}) => {\n if (name) {\n if (Array.isArray(value)) {\n return value.map((v) => (\n <input key={getItemId(v)} type=\"hidden\" name={name} value={getItemId(v)} />\n ));\n } else if (value) {\n return <input type=\"hidden\" name={name} value={getItemId(value)} />;\n } else {\n return null;\n }\n }\n return null;\n};\n\nexport const SearchListField = <T extends object>({\n defaultValue,\n description,\n disableClearLogic,\n disabledItemIdKeys,\n endSlot,\n errorMessage,\n fullWidth = true,\n getItemId,\n getLabel,\n hideHintLabel,\n hideInputFooter,\n hideInputHeader,\n isDisabled,\n isInvalid,\n isLoading,\n isRequired,\n items,\n label,\n name,\n onChange,\n onLoadMore,\n onQueryChange,\n placeholder,\n placement = \"bottom start\",\n selectRenderElements,\n startSlot,\n value,\n}: SearchListFieldProps<T>) => {\n const { isDisabled: fieldGroupIsDisabled } = useContext(FieldGroupContext);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const comboBoxButtonRef = useRef<HTMLButtonElement>(null);\n const triggerRef = useRef<HTMLDivElement>(null);\n const [internalValue, setInternalValue] = useState<T | undefined>(value ?? defaultValue);\n const [isOpen, setIsOpen] = useState(false);\n const openPopover = () => {\n setIsOpen(true);\n comboBoxButtonRef.current?.click();\n };\n const closePopover = () => setIsOpen(false);\n\n const onSingleChange = useCallback(\n (newValue?: T) => {\n setInternalValue(newValue);\n onChange?.(newValue);\n closePopover();\n },\n [onChange],\n );\n\n const { direction } = useLocale();\n const { wrapper } = sharedInputStyles({\n fullWidth,\n isInvalid,\n isDisabled: isDisabled || fieldGroupIsDisabled,\n });\n\n // sync outside value changes with internal value\n useEffect(() => {\n setInternalValue(value ?? defaultValue);\n }, [defaultValue, value]);\n\n const selectedValue = value ?? internalValue;\n\n return (\n <div>\n <UncontrolledInputs name={name} value={selectedValue} getItemId={getItemId} />\n <div className={wrapper()}>\n <InputHeader\n label={label}\n hideHintLabel={hideHintLabel}\n hideInputHeader={hideInputHeader}\n isRequired={isRequired}\n />\n <div ref={triggerRef}>\n <SingleValueButton\n disableClearLogic={disableClearLogic}\n endSlot={endSlot}\n fullWidth={fullWidth}\n getLabel={getLabel}\n getItemId={getItemId}\n isDisabled={isDisabled}\n isInvalid={isInvalid}\n open={isOpen}\n openPopover={openPopover}\n onChange={onSingleChange}\n placeholder={placeholder}\n searchInputRef={searchInputRef}\n startSlot={startSlot}\n value={selectedValue as T | undefined}\n />\n </div>\n <InputFooter\n description={description}\n errorMessage={errorMessage}\n hideInputFooter={hideInputFooter}\n />\n </div>\n <SearchListFieldItems<T>\n triggerRef={triggerRef}\n label={label}\n getItemId={getItemId}\n getLabel={getLabel}\n items={items}\n open={isOpen}\n setOpenPopover={setIsOpen}\n selectRenderElements={selectRenderElements}\n disabledItemIdKeys={disabledItemIdKeys}\n direction={direction}\n onQueryChange={onQueryChange}\n isLoading={isLoading}\n searchInputRef={searchInputRef}\n onLoadMore={onLoadMore}\n placement={placement}\n value={selectedValue}\n onSingleChange={onSingleChange}\n />\n </div>\n );\n};\n\nexport const MultiSearchListField = <T extends object>({\n defaultValue,\n description,\n disableClearLogic,\n disabledItemIdKeys,\n endSlot,\n errorMessage,\n fullWidth = true,\n getItemId,\n getLabel,\n hideHintLabel,\n hideInputFooter,\n hideInputHeader,\n isDisabled,\n isInvalid,\n isLoading,\n isRequired,\n items,\n label,\n labelId,\n name,\n onChange,\n onLoadMore,\n onQueryChange,\n placeholder,\n placement = \"bottom start\",\n selectRenderElements,\n startSlot,\n value,\n}: MultiSearchListFieldProps<T>) => {\n const { isDisabled: fieldGroupIsDisabled } = useContext(FieldGroupContext);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const triggerRef = useRef<HTMLDivElement>(null);\n const [internalValue, setInternalValue] = useState<T[] | undefined>(value ?? defaultValue);\n const [isOpen, setIsOpen] = useState(false);\n const openPopover = () => {\n setIsOpen(true);\n };\n\n const onMultiChange = useCallback(\n (newValue?: T[]) => {\n setInternalValue(newValue);\n onChange?.(newValue);\n searchInputRef.current?.focus();\n },\n [onChange],\n );\n\n const { direction } = useLocale();\n\n const { wrapper } = sharedInputStyles({\n fullWidth,\n isInvalid,\n isDisabled: isDisabled || fieldGroupIsDisabled,\n });\n\n // sync outside value changes with internal value\n useEffect(() => {\n setInternalValue(value ?? defaultValue);\n }, [defaultValue, value]);\n const selectedValue = value ?? internalValue;\n\n return (\n <div>\n <UncontrolledInputs name={name} value={selectedValue} getItemId={getItemId} />\n <div className={wrapper()}>\n <InputHeader\n label={label}\n isRequired={isRequired}\n hideHintLabel={hideHintLabel}\n hideInputHeader={hideInputHeader}\n labelId={labelId}\n />\n <div ref={triggerRef}>\n <MultipleValuesButton\n disableClearLogic={disableClearLogic}\n endSlot={endSlot}\n fullWidth={fullWidth}\n getLabel={getLabel}\n getItemId={getItemId}\n isDisabled={isDisabled}\n isInvalid={isInvalid}\n onChange={onMultiChange}\n open={isOpen}\n openPopover={openPopover}\n placeholder={placeholder}\n searchInputRef={searchInputRef}\n startSlot={startSlot}\n value={selectedValue}\n />\n </div>\n <InputFooter\n description={description}\n errorMessage={errorMessage}\n hideInputFooter={hideInputFooter}\n />\n </div>\n <SearchListFieldItems<T>\n label={label}\n searchInputRef={searchInputRef}\n triggerRef={triggerRef}\n getItemId={getItemId}\n getLabel={getLabel}\n items={items}\n onMultiChange={onMultiChange}\n value={selectedValue}\n placement={placement}\n open={isOpen}\n setOpenPopover={setIsOpen}\n selectRenderElements={selectRenderElements}\n disabledItemIdKeys={disabledItemIdKeys}\n direction={direction}\n onQueryChange={onQueryChange}\n isLoading={isLoading}\n onLoadMore={onLoadMore}\n />\n </div>\n );\n};\n\nexport const SearchListFieldWithCustomTrigger = <T extends object>({\n children,\n defaultValue,\n disabledItemIdKeys,\n getItemId,\n getLabel,\n isDisabled,\n isInvalid,\n isLoading,\n items,\n label,\n name,\n onChange,\n onQueryChange,\n placement = \"bottom start\",\n selectRenderElements,\n value,\n}: SearchListFieldWithCustomTriggerProps<T>) => {\n const { isDisabled: fieldGroupIsDisabled } = useContext(FieldGroupContext);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const comboBoxButtonRef = useRef<HTMLButtonElement>(null);\n const triggerRef = useRef<HTMLDivElement>(null);\n const [internalValue, setInternalValue] = useState<T | undefined>(value ?? defaultValue);\n const [isOpen, setIsOpen] = useState(false);\n const openPopover = () => {\n setIsOpen(true);\n comboBoxButtonRef.current?.click();\n };\n const closePopover = () => setIsOpen(false);\n\n const onSingleChange = useCallback(\n (newValue?: T) => {\n setInternalValue(newValue);\n onChange?.(newValue);\n closePopover();\n },\n [onChange],\n );\n\n const { direction } = useLocale();\n const { wrapper } = sharedInputStyles({\n fullWidth: false,\n isInvalid,\n isDisabled,\n });\n\n // sync outside value changes with internal value\n useEffect(() => {\n setInternalValue(value ?? defaultValue);\n }, [defaultValue, value]);\n\n const selectedValue = value ?? internalValue;\n return (\n <Provider\n values={[\n [\n ButtonContext,\n {\n onPress: () => openPopover(),\n isDisabled: isDisabled || fieldGroupIsDisabled,\n },\n ],\n ]}\n >\n <div>\n <UncontrolledInputs name={name} value={selectedValue} getItemId={getItemId} />\n <div className={wrapper()}>\n <div ref={triggerRef}>{children}</div>\n </div>\n <SearchListFieldItems<T>\n triggerRef={triggerRef}\n label={label}\n getItemId={getItemId}\n getLabel={getLabel}\n items={items}\n open={isOpen}\n setOpenPopover={setIsOpen}\n selectRenderElements={selectRenderElements}\n disabledItemIdKeys={disabledItemIdKeys}\n direction={direction}\n onQueryChange={onQueryChange}\n isLoading={isLoading}\n searchInputRef={searchInputRef}\n placement={placement}\n value={selectedValue}\n onSingleChange={onSingleChange}\n />\n </div>\n </Provider>\n );\n};\n\nexport const MultiSearchListFieldWithCustomTrigger = <T extends object>({\n children,\n defaultValue,\n disabledItemIdKeys,\n fullWidth = true,\n getItemId,\n getLabel,\n isDisabled,\n isInvalid,\n isLoading,\n items,\n label,\n name,\n onChange,\n onQueryChange,\n placement = \"bottom start\",\n selectRenderElements,\n value,\n}: MultiSearchListFieldWithCustomTriggerProps<T>) => {\n const { isDisabled: fieldGroupIsDisabled } = useContext(FieldGroupContext);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const comboBoxButtonRef = useRef<HTMLButtonElement>(null);\n const triggerRef = useRef<HTMLDivElement>(null);\n const [internalValue, setInternalValue] = useState<T[] | undefined>(value ?? defaultValue);\n const [isOpen, setIsOpen] = useState(false);\n const openPopover = () => {\n setIsOpen(true);\n comboBoxButtonRef.current?.click();\n };\n\n const onMultiChange = useCallback(\n (newValue?: T[]) => {\n setInternalValue(newValue);\n onChange?.(newValue);\n searchInputRef.current?.focus();\n },\n [onChange],\n );\n\n const { direction } = useLocale();\n\n const { wrapper } = sharedInputStyles({\n fullWidth,\n isInvalid,\n isDisabled,\n });\n\n // sync outside value changes with internal value\n useEffect(() => {\n setInternalValue(value ?? defaultValue);\n }, [defaultValue, value]);\n\n const selectedValue = value ?? internalValue;\n\n return (\n <Provider\n values={[\n [\n ButtonContext,\n { onPress: () => openPopover(), isDisabled: isDisabled || fieldGroupIsDisabled },\n ],\n ]}\n >\n <div>\n <UncontrolledInputs name={name} value={selectedValue} getItemId={getItemId} />\n <div className={wrapper()}>\n <div ref={triggerRef}>{children}</div>\n </div>\n <SearchListFieldItems<T>\n label={label}\n searchInputRef={searchInputRef}\n triggerRef={triggerRef}\n getItemId={getItemId}\n getLabel={getLabel}\n items={items}\n open={isOpen}\n setOpenPopover={setIsOpen}\n selectRenderElements={selectRenderElements}\n disabledItemIdKeys={disabledItemIdKeys}\n direction={direction}\n onQueryChange={onQueryChange}\n isLoading={isLoading}\n value={selectedValue}\n onMultiChange={onMultiChange}\n placement={placement}\n />\n </div>\n </Provider>\n );\n};\n"],"names":["SingleValueButton","disableClearLogic","endSlot","fullWidth","getLabel","isDisabled","isInvalid","onChange","open","openPopover","placeholder","searchInputRef","startSlot","value","buttonExcludedFromTabOrder","inputField","sharedInputStyles","onKeyDown","e","flushSync","jsxs","AriaButton","isFocused","isHovered","jsx","Fragment","Text","SvgIcon","MultipleValuesButton","getItemId","label","inputFieldStyles","useCallback","onRemove","keys","item","itemId","Group","clsx","InputTagGroup","InputTag","SearchInput","isLoading","onQueryChange","query","setQuery","id","useId","clear","search","useDictionary","showSpinner","useSpinDelay","useEffect","_a","Input","_b","event","Spinner","useLoadMoreHook","loadMoreButtonRef","useRef","isLoadMoreButtonFocused","setIsLoadMoreButtonFocused","useState","useItemSelection","disabledItemIdKeys","filteredItems","onMultiChange","onSingleChange","selectedItemIndex","useMemo","getPreviousItemIndex","activeIndex","i","getNextItemIndex","toggleSelection","currentValue","currentValueIds","newValue","v","getItemIsSelected","subValue","activeItem","setActiveItem","mousePosition","useMousePosition","previousMousePosition","currentActiveIndex","safeNextIndex","safePreviousIndex","onHoverChange","isHovering","index","SelectedItem","SearchListFieldItems","direction","items","onLoadMore","placement","selectRenderElements","setOpenPopover","triggerRef","loadMore","noResultsFound","useFilterItemsByQuery","itemStyles","sharedListItemStyles","triggerRefWidth","setTriggerRefWidth","useEventListener","triggerWidth","parentRef","count","virtualizer","useVirtualizer","virtualItems","Popover","_c","virtualItem","Separator","SharedListItem","UncontrolledInputs","name","SearchListField","defaultValue","description","errorMessage","hideHintLabel","hideInputFooter","hideInputHeader","isRequired","fieldGroupIsDisabled","useContext","FieldGroupContext","comboBoxButtonRef","internalValue","setInternalValue","isOpen","setIsOpen","closePopover","useLocale","wrapper","selectedValue","InputHeader","InputFooter","MultiSearchListField","labelId","SearchListFieldWithCustomTrigger","children","Provider","ButtonContext","MultiSearchListFieldWithCustomTrigger"],"mappings":"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"}
|
package/dist/lyra43.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./lyra88.cjs"),s=require("react"),q=require("./lyra87.cjs"),L=require("./lyra99.cjs"),J=require("./lyra448.cjs"),Q=require("./lyra91.cjs"),U=require("./lyra594.cjs"),X=require("./lyra93.cjs"),M=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./lyra88.cjs"),s=require("react"),q=require("./lyra87.cjs"),L=require("./lyra99.cjs"),J=require("./lyra448.cjs"),Q=require("./lyra91.cjs"),U=require("./lyra594.cjs"),X=require("./lyra93.cjs"),M=require("./lyra456.cjs");require("./lyra457.cjs");const Y=require("./lyra38.cjs"),Z=require("./lyra39.cjs"),ee=require("./lyra40.cjs"),te=require("./lyra86.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.js
CHANGED
|
@@ -6,8 +6,8 @@ import { clsx as rt } from "./lyra448.js";
|
|
|
6
6
|
import { fixedForwardRef as nt } from "./lyra91.js";
|
|
7
7
|
import at from "./lyra594.js";
|
|
8
8
|
import { useDictionary as it } from "./lyra93.js";
|
|
9
|
-
import { InputTagGroup as ot, InputTag as lt } from "./
|
|
10
|
-
import "./
|
|
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
12
|
import { InputFooter as ut } from "./lyra39.js";
|
|
13
13
|
import { sharedInputStyles as pt } from "./lyra40.js";
|
package/dist/lyra450.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./lyra88.cjs"),e=require("react"),n=e.createContext(null),r=({children:t,currentRoute:o})=>i.jsxRuntimeExports.jsx(n.Provider,{value:{currentRoute:o},children:t});function a(){const t=e.useContext(n);if(t===null)throw new Error("useNavigationContext must be used within a NavigationContextProvider ");return t}exports.NavigationContextProvider=r;exports.useNavigationContext=a;
|
package/dist/lyra450.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lyra450.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"lyra450.cjs","sources":["../src/components/navigation/navigation.context.tsx"],"sourcesContent":["import { createContext, ReactNode, useContext } from \"react\";\n\nimport { NavigationContext as NavigationContext } from \"./navigation.types\";\n\nconst NavigationContext = createContext<NavigationContext | null>(null);\n\nexport const NavigationContextProvider = ({\n children,\n currentRoute,\n}: {\n children: ReactNode;\n currentRoute: string;\n}) => {\n return (\n <NavigationContext.Provider value={{ currentRoute }}>{children}</NavigationContext.Provider>\n );\n};\n\nexport function useNavigationContext() {\n const context = useContext(NavigationContext);\n\n if (context === null) {\n throw new Error(\"useNavigationContext must be used within a NavigationContextProvider \");\n }\n\n return context;\n}\n"],"names":["NavigationContext","createContext","NavigationContextProvider","children","currentRoute","jsx","useNavigationContext","context","useContext"],"mappings":"mIAIMA,EAAoBC,EAAAA,cAAwC,IAAI,EAEzDC,EAA4B,CAAC,CACxC,SAAAC,EACA,aAAAC,CACF,IAKIC,EAAA,kBAAA,IAACL,EAAkB,SAAlB,CAA2B,MAAO,CAAE,aAAAI,CAAA,EAAiB,SAAAD,CAAS,CAAA,EAI5D,SAASG,GAAuB,CAC/B,MAAAC,EAAUC,aAAWR,CAAiB,EAE5C,GAAIO,IAAY,KACR,MAAA,IAAI,MAAM,uEAAuE,EAGlF,OAAAA,CACT"}
|
package/dist/lyra450.js
CHANGED
|
@@ -1 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
import { j as e } from "./lyra88.js";
|
|
2
|
+
import { createContext as r, useContext as i } from "react";
|
|
3
|
+
const o = r(null), u = ({
|
|
4
|
+
children: t,
|
|
5
|
+
currentRoute: n
|
|
6
|
+
}) => /* @__PURE__ */ e.jsx(o.Provider, { value: { currentRoute: n }, children: t });
|
|
7
|
+
function x() {
|
|
8
|
+
const t = i(o);
|
|
9
|
+
if (t === null)
|
|
10
|
+
throw new Error("useNavigationContext must be used within a NavigationContextProvider ");
|
|
11
|
+
return t;
|
|
12
|
+
}
|
|
13
|
+
export {
|
|
14
|
+
u as NavigationContextProvider,
|
|
15
|
+
x as useNavigationContext
|
|
16
|
+
};
|
package/dist/lyra450.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lyra450.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"lyra450.js","sources":["../src/components/navigation/navigation.context.tsx"],"sourcesContent":["import { createContext, ReactNode, useContext } from \"react\";\n\nimport { NavigationContext as NavigationContext } from \"./navigation.types\";\n\nconst NavigationContext = createContext<NavigationContext | null>(null);\n\nexport const NavigationContextProvider = ({\n children,\n currentRoute,\n}: {\n children: ReactNode;\n currentRoute: string;\n}) => {\n return (\n <NavigationContext.Provider value={{ currentRoute }}>{children}</NavigationContext.Provider>\n );\n};\n\nexport function useNavigationContext() {\n const context = useContext(NavigationContext);\n\n if (context === null) {\n throw new Error(\"useNavigationContext must be used within a NavigationContextProvider \");\n }\n\n return context;\n}\n"],"names":["NavigationContext","createContext","NavigationContextProvider","children","currentRoute","jsx","useNavigationContext","context","useContext"],"mappings":";;AAIA,MAAMA,IAAoBC,EAAwC,IAAI,GAEzDC,IAA4B,CAAC;AAAA,EACxC,UAAAC;AAAA,EACA,cAAAC;AACF,MAKIC,gBAAAA,EAAA,IAACL,EAAkB,UAAlB,EAA2B,OAAO,EAAE,cAAAI,EAAA,GAAiB,UAAAD,EAAS,CAAA;AAI5D,SAASG,IAAuB;AAC/B,QAAAC,IAAUC,EAAWR,CAAiB;AAE5C,MAAIO,MAAY;AACR,UAAA,IAAI,MAAM,uEAAuE;AAGlF,SAAAA;AACT;"}
|
package/dist/lyra451.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("./lyra88.cjs"),t=require("react"),e=t.createContext({depth:null});function u({children:o}){const n=t.useContext(e),i=t.useMemo(()=>(n.depth??0)+1,[n.depth]);return r.jsxRuntimeExports.jsx(e.Provider,{value:{depth:i},children:o})}function s(){return t.useContext(e)}exports.NavigationItemProvider=u;exports.useNavigationItemContext=s;
|
package/dist/lyra451.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lyra451.cjs","sources":["../src/components/
|
|
1
|
+
{"version":3,"file":"lyra451.cjs","sources":["../src/components/navigation/navigation-item.context.tsx"],"sourcesContent":["import { createContext, ReactNode, useContext, useMemo } from \"react\";\n\nimport { NavigationItemContext } from \"./navigation.types\";\n\nconst NavigationItemContext = createContext<NavigationItemContext>({ depth: null });\n\nexport function NavigationItemProvider({ children }: { children: ReactNode }) {\n const context = useContext(NavigationItemContext);\n\n const nextDepth = useMemo(() => (context.depth ?? 0) + 1, [context.depth]);\n\n return (\n <NavigationItemContext.Provider value={{ depth: nextDepth }}>\n {children}\n </NavigationItemContext.Provider>\n );\n}\n\nexport function useNavigationItemContext() {\n return useContext(NavigationItemContext);\n}\n"],"names":["NavigationItemContext","createContext","NavigationItemProvider","children","context","useContext","nextDepth","useMemo","jsx","useNavigationItemContext"],"mappings":"mIAIMA,EAAwBC,EAAAA,cAAqC,CAAE,MAAO,IAAM,CAAA,EAElE,SAAAC,EAAuB,CAAE,SAAAC,GAAqC,CACtE,MAAAC,EAAUC,aAAWL,CAAqB,EAE1CM,EAAYC,EAAAA,QAAQ,KAAOH,EAAQ,OAAS,GAAK,EAAG,CAACA,EAAQ,KAAK,CAAC,EAGvE,OAAAI,EAAA,kBAAA,IAACR,EAAsB,SAAtB,CAA+B,MAAO,CAAE,MAAOM,CAAU,EACvD,SAAAH,CACH,CAAA,CAEJ,CAEO,SAASM,GAA2B,CACzC,OAAOJ,EAAAA,WAAWL,CAAqB,CACzC"}
|
package/dist/lyra451.js
CHANGED
|
@@ -1,92 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
})
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"p-1",
|
|
12
|
-
"ps-1.5",
|
|
13
|
-
"text-start",
|
|
14
|
-
"text-base",
|
|
15
|
-
"font-normal",
|
|
16
|
-
"text-primary",
|
|
17
|
-
"outline-none",
|
|
18
|
-
"duration-0",
|
|
19
|
-
"active:text-inverted",
|
|
20
|
-
"hover:bg-action-hover",
|
|
21
|
-
"hover:text-inverted",
|
|
22
|
-
"focus:bg-action-focus",
|
|
23
|
-
"focus:text-inverted",
|
|
24
|
-
"focus-visible:[box-shadow:none]"
|
|
25
|
-
],
|
|
26
|
-
variants: {
|
|
27
|
-
isDisabled: {
|
|
28
|
-
true: ["text-tertiary", "cursor-not-allowed"]
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}), o = e({
|
|
32
|
-
slots: {
|
|
33
|
-
item: ["flex", "items-start", "p-1", "rounded-sm", "outline-none"],
|
|
34
|
-
itemCheckmark: [],
|
|
35
|
-
itemCheckmarkWrapper: [],
|
|
36
|
-
itemImage: [
|
|
37
|
-
"w-9",
|
|
38
|
-
"min-w-9",
|
|
39
|
-
"h-9",
|
|
40
|
-
"rounded-xs",
|
|
41
|
-
"border",
|
|
42
|
-
"solid",
|
|
43
|
-
"border-default",
|
|
44
|
-
"me-1.5",
|
|
45
|
-
"overflow-hidden",
|
|
46
|
-
"box-border",
|
|
47
|
-
"object-contain",
|
|
48
|
-
"bg-[#ffffff]",
|
|
49
|
-
"block"
|
|
50
|
-
],
|
|
51
|
-
itemLabel: ["text-primary", "text-base", "truncate", "overflow-hidden", "select-none"],
|
|
52
|
-
itemDescription: ["text-sm", "text-secondary", "truncate", "overflow-hidden", "select-none"],
|
|
53
|
-
itemEndIcon: ["text-tertiary", "w-4", "h-4"],
|
|
54
|
-
itemStartIcon: ["w-4", "h-4", "me-1"]
|
|
55
|
-
},
|
|
56
|
-
variants: {
|
|
57
|
-
hasSelection: {
|
|
58
|
-
true: {
|
|
59
|
-
itemCheckmarkWrapper: ["w-5", "min-w-5"],
|
|
60
|
-
itemCheckmark: ["text-primary", "min-w-4", "me-1"]
|
|
61
|
-
},
|
|
62
|
-
false: {
|
|
63
|
-
item: ["ps-1.5"]
|
|
64
|
-
}
|
|
65
|
-
},
|
|
66
|
-
disabled: {
|
|
67
|
-
true: {
|
|
68
|
-
item: ["cursor-not-allowed"],
|
|
69
|
-
itemCheckmark: ["text-tertiary"],
|
|
70
|
-
itemImage: ["opacity-50"],
|
|
71
|
-
itemLabel: ["text-tertiary"],
|
|
72
|
-
itemDescription: ["text-tertiary"]
|
|
73
|
-
}
|
|
74
|
-
},
|
|
75
|
-
active: {
|
|
76
|
-
true: {
|
|
77
|
-
item: ["bg-action-focus"],
|
|
78
|
-
itemImage: ["border-focus"],
|
|
79
|
-
itemCheckmark: ["text-inverted"],
|
|
80
|
-
itemLabel: ["text-inverted"],
|
|
81
|
-
itemDescription: ["text-inverted"],
|
|
82
|
-
itemStartIcon: ["text-inverted"],
|
|
83
|
-
itemEndIcon: ["text-inverted"]
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
});
|
|
1
|
+
import { j as i } from "./lyra88.js";
|
|
2
|
+
import { createContext as s, useContext as o, useMemo as u } from "react";
|
|
3
|
+
const t = s({ depth: null });
|
|
4
|
+
function m({ children: n }) {
|
|
5
|
+
const e = o(t), r = u(() => (e.depth ?? 0) + 1, [e.depth]);
|
|
6
|
+
return /* @__PURE__ */ i.jsx(t.Provider, { value: { depth: r }, children: n });
|
|
7
|
+
}
|
|
8
|
+
function p() {
|
|
9
|
+
return o(t);
|
|
10
|
+
}
|
|
88
11
|
export {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
r as sharedListStyles
|
|
12
|
+
m as NavigationItemProvider,
|
|
13
|
+
p as useNavigationItemContext
|
|
92
14
|
};
|
package/dist/lyra451.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lyra451.js","sources":["../src/components/
|
|
1
|
+
{"version":3,"file":"lyra451.js","sources":["../src/components/navigation/navigation-item.context.tsx"],"sourcesContent":["import { createContext, ReactNode, useContext, useMemo } from \"react\";\n\nimport { NavigationItemContext } from \"./navigation.types\";\n\nconst NavigationItemContext = createContext<NavigationItemContext>({ depth: null });\n\nexport function NavigationItemProvider({ children }: { children: ReactNode }) {\n const context = useContext(NavigationItemContext);\n\n const nextDepth = useMemo(() => (context.depth ?? 0) + 1, [context.depth]);\n\n return (\n <NavigationItemContext.Provider value={{ depth: nextDepth }}>\n {children}\n </NavigationItemContext.Provider>\n );\n}\n\nexport function useNavigationItemContext() {\n return useContext(NavigationItemContext);\n}\n"],"names":["NavigationItemContext","createContext","NavigationItemProvider","children","context","useContext","nextDepth","useMemo","jsx","useNavigationItemContext"],"mappings":";;AAIA,MAAMA,IAAwBC,EAAqC,EAAE,OAAO,KAAM,CAAA;AAElE,SAAAC,EAAuB,EAAE,UAAAC,KAAqC;AACtE,QAAAC,IAAUC,EAAWL,CAAqB,GAE1CM,IAAYC,EAAQ,OAAOH,EAAQ,SAAS,KAAK,GAAG,CAACA,EAAQ,KAAK,CAAC;AAGvE,SAAAI,gBAAAA,EAAA,IAACR,EAAsB,UAAtB,EAA+B,OAAO,EAAE,OAAOM,EAAU,GACvD,UAAAH,EACH,CAAA;AAEJ;AAEO,SAASM,IAA2B;AACzC,SAAOJ,EAAWL,CAAqB;AACzC;"}
|
package/dist/lyra452.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
package/dist/lyra452.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lyra452.cjs","sources":[
|
|
1
|
+
{"version":3,"file":"lyra452.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|