@anoki/fse-ui 1.0.719 → 1.0.720
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs10.js +1 -1
- package/dist/index.cjs100.js +1 -1
- package/dist/index.cjs100.js.map +1 -1
- package/dist/index.cjs130.js +1 -1
- package/dist/index.cjs131.js +1 -1
- package/dist/index.cjs132.js +1 -1
- package/dist/index.cjs133.js +1 -1
- package/dist/index.cjs134.js +1 -1
- package/dist/index.cjs135.js +1 -1
- package/dist/index.cjs136.js +1 -1
- package/dist/index.cjs137.js +1 -1
- package/dist/index.cjs138.js +1 -1
- package/dist/index.cjs139.js +1 -1
- package/dist/index.cjs140.js +1 -1
- package/dist/index.cjs141.js +1 -1
- package/dist/index.cjs142.js +1 -1
- package/dist/index.cjs143.js +1 -1
- package/dist/index.cjs144.js +1 -1
- package/dist/index.cjs145.js +1 -1
- package/dist/index.cjs146.js +1 -1
- package/dist/index.cjs147.js +1 -1
- package/dist/index.cjs148.js +1 -1
- package/dist/index.cjs149.js +1 -1
- package/dist/index.cjs150.js +1 -1
- package/dist/index.cjs151.js +1 -1
- package/dist/index.cjs152.js +1 -1
- package/dist/index.cjs156.js +1 -1
- package/dist/index.cjs157.js +1 -1
- package/dist/index.cjs158.js +1 -1
- package/dist/index.cjs160.js +1 -1
- package/dist/index.cjs161.js +1 -1
- package/dist/index.cjs162.js +1 -1
- package/dist/index.cjs163.js +1 -1
- package/dist/index.cjs164.js +1 -1
- package/dist/index.cjs165.js +1 -1
- package/dist/index.cjs166.js +1 -1
- package/dist/index.cjs167.js +1 -1
- package/dist/index.cjs168.js +1 -1
- package/dist/index.cjs170.js +1 -1
- package/dist/index.cjs171.js +1 -1
- package/dist/index.cjs172.js +1 -1
- package/dist/index.cjs173.js +1 -1
- package/dist/index.cjs174.js +1 -1
- package/dist/index.cjs175.js +1 -1
- package/dist/index.cjs176.js +1 -1
- package/dist/index.cjs178.js +1 -1
- package/dist/index.cjs179.js +1 -1
- package/dist/index.cjs180.js +1 -1
- package/dist/index.cjs181.js +1 -1
- package/dist/index.cjs182.js +1 -1
- package/dist/index.cjs183.js +1 -1
- package/dist/index.cjs184.js +1 -1
- package/dist/index.cjs191.js +1 -1
- package/dist/index.cjs193.js +1 -1
- package/dist/index.cjs193.js.map +1 -1
- package/dist/index.cjs194.js +1 -1
- package/dist/index.cjs194.js.map +1 -1
- package/dist/index.cjs198.js +1 -1
- package/dist/index.cjs198.js.map +1 -1
- package/dist/index.cjs207.js +1 -1
- package/dist/index.cjs207.js.map +1 -1
- package/dist/index.cjs211.js +1 -1
- package/dist/index.cjs211.js.map +1 -1
- package/dist/index.cjs22.js +1 -1
- package/dist/index.cjs227.js +1 -1
- package/dist/index.cjs227.js.map +1 -1
- package/dist/index.cjs228.js +2 -0
- package/dist/index.cjs228.js.map +1 -0
- package/dist/index.cjs237.js +1 -1
- package/dist/index.cjs244.js +1 -1
- package/dist/index.cjs244.js.map +1 -1
- package/dist/index.cjs247.js +1 -1
- package/dist/index.cjs248.js +1 -1
- package/dist/index.cjs25.js +1 -1
- package/dist/index.cjs255.js +1 -1
- package/dist/index.cjs255.js.map +1 -1
- package/dist/index.cjs265.js +1 -1
- package/dist/index.cjs269.js +1 -1
- package/dist/index.cjs271.js +1 -1
- package/dist/index.cjs271.js.map +1 -1
- package/dist/index.cjs28.js +1 -1
- package/dist/index.cjs28.js.map +1 -1
- package/dist/index.cjs296.js +1 -1
- package/dist/index.cjs297.js +1 -1
- package/dist/index.cjs298.js +1 -1
- package/dist/index.cjs298.js.map +1 -1
- package/dist/index.cjs337.js +1 -1
- package/dist/index.cjs337.js.map +1 -1
- package/dist/index.cjs378.js +1 -1
- package/dist/index.cjs379.js +3 -12
- package/dist/index.cjs379.js.map +1 -1
- package/dist/index.cjs385.js +1 -1
- package/dist/index.cjs385.js.map +1 -1
- package/dist/index.cjs386.js +1 -1
- package/dist/index.cjs386.js.map +1 -1
- package/dist/index.cjs388.js +1 -1
- package/dist/index.cjs388.js.map +1 -1
- package/dist/index.cjs391.js +1 -1
- package/dist/index.cjs391.js.map +1 -1
- package/dist/{index.cjs387.js → index.cjs392.js} +1 -1
- package/dist/{index.cjs387.js.map → index.cjs392.js.map} +1 -1
- package/dist/index.cjs393.js +1 -1
- package/dist/index.cjs393.js.map +1 -1
- package/dist/index.cjs394.js +2 -0
- package/dist/index.cjs394.js.map +1 -0
- package/dist/index.cjs395.js +2 -0
- package/dist/index.cjs395.js.map +1 -0
- package/dist/index.cjs396.js +1 -1
- package/dist/index.cjs396.js.map +1 -1
- package/dist/index.cjs397.js +1 -1
- package/dist/index.cjs397.js.map +1 -1
- package/dist/index.cjs398.js +1 -1
- package/dist/index.cjs398.js.map +1 -1
- package/dist/{index.cjs390.js → index.cjs399.js} +2 -2
- package/dist/index.cjs399.js.map +1 -0
- package/dist/index.cjs400.js +2 -0
- package/dist/index.cjs400.js.map +1 -0
- package/dist/{index.cjs425.js → index.cjs401.js} +1 -1
- package/dist/{index.cjs425.js.map → index.cjs401.js.map} +1 -1
- package/dist/index.cjs402.js +1 -1
- package/dist/index.cjs402.js.map +1 -1
- package/dist/index.cjs406.js +1 -1
- package/dist/index.cjs406.js.map +1 -1
- package/dist/index.cjs407.js +1 -1
- package/dist/index.cjs407.js.map +1 -1
- package/dist/index.cjs408.js +1 -1
- package/dist/index.cjs408.js.map +1 -1
- package/dist/index.cjs409.js +1 -1
- package/dist/index.cjs409.js.map +1 -1
- package/dist/index.cjs410.js +1 -1
- package/dist/index.cjs410.js.map +1 -1
- package/dist/{index.cjs423.js → index.cjs411.js} +2 -2
- package/dist/index.cjs411.js.map +1 -0
- package/dist/index.cjs412.js +2 -0
- package/dist/index.cjs412.js.map +1 -0
- package/dist/index.cjs413.js +2 -0
- package/dist/index.cjs413.js.map +1 -0
- package/dist/index.cjs414.js +1 -1
- package/dist/index.cjs414.js.map +1 -1
- package/dist/index.cjs415.js +2 -0
- package/dist/index.cjs415.js.map +1 -0
- package/dist/index.cjs416.js +2 -0
- package/dist/index.cjs416.js.map +1 -0
- package/dist/index.cjs418.js +2 -0
- package/dist/index.cjs418.js.map +1 -0
- package/dist/{index.cjs431.js → index.cjs419.js} +2 -2
- package/dist/{index.cjs431.js.map → index.cjs419.js.map} +1 -1
- package/dist/index.cjs42.js +1 -1
- package/dist/index.cjs42.js.map +1 -1
- package/dist/index.cjs420.js +1 -1
- package/dist/index.cjs420.js.map +1 -1
- package/dist/index.cjs421.js +1 -1
- package/dist/index.cjs421.js.map +1 -1
- package/dist/index.cjs428.js +2 -0
- package/dist/index.cjs428.js.map +1 -0
- package/dist/index.cjs429.js +2 -0
- package/dist/index.cjs429.js.map +1 -0
- package/dist/index.cjs430.js +1 -1
- package/dist/index.cjs430.js.map +1 -1
- package/dist/index.cjs434.js +1 -1
- package/dist/index.cjs434.js.map +1 -1
- package/dist/index.cjs435.js +1 -1
- package/dist/index.cjs435.js.map +1 -1
- package/dist/index.cjs436.js +1 -1
- package/dist/index.cjs436.js.map +1 -1
- package/dist/index.cjs437.js +4 -1
- package/dist/index.cjs437.js.map +1 -1
- package/dist/index.cjs438.js +1 -1
- package/dist/index.cjs438.js.map +1 -1
- package/dist/index.cjs439.js +1 -1
- package/dist/index.cjs439.js.map +1 -1
- package/dist/index.cjs440.js +1 -4
- package/dist/index.cjs440.js.map +1 -1
- package/dist/index.cjs441.js +1 -1
- package/dist/index.cjs441.js.map +1 -1
- package/dist/index.cjs444.js +38 -1
- package/dist/index.cjs444.js.map +1 -1
- package/dist/index.cjs445.js +1 -1
- package/dist/index.cjs445.js.map +1 -1
- package/dist/index.cjs446.js +1 -38
- package/dist/index.cjs446.js.map +1 -1
- package/dist/index.cjs447.js +1 -1
- package/dist/index.cjs447.js.map +1 -1
- package/dist/index.cjs448.js +1 -1
- package/dist/index.cjs448.js.map +1 -1
- package/dist/index.cjs449.js +1 -1
- package/dist/index.cjs449.js.map +1 -1
- package/dist/index.cjs468.js +1 -1
- package/dist/index.cjs468.js.map +1 -1
- package/dist/index.cjs481.js +1 -1
- package/dist/index.cjs481.js.map +1 -1
- package/dist/index.cjs482.js +1 -1
- package/dist/index.cjs482.js.map +1 -1
- package/dist/index.cjs49.js +1 -1
- package/dist/index.cjs49.js.map +1 -1
- package/dist/index.cjs57.js +1 -1
- package/dist/index.cjs6.js +1 -1
- package/dist/index.cjs62.js +1 -1
- package/dist/index.cjs62.js.map +1 -1
- package/dist/index.cjs7.js +1 -1
- package/dist/index.cjs8.js +1 -1
- package/dist/index.cjs9.js +1 -1
- package/dist/index.es10.js +2 -2
- package/dist/index.es100.js +2 -2
- package/dist/index.es130.js +1 -1
- package/dist/index.es131.js +1 -1
- package/dist/index.es132.js +1 -1
- package/dist/index.es133.js +1 -1
- package/dist/index.es134.js +1 -1
- package/dist/index.es135.js +1 -1
- package/dist/index.es136.js +1 -1
- package/dist/index.es137.js +1 -1
- package/dist/index.es138.js +1 -1
- package/dist/index.es139.js +1 -1
- package/dist/index.es140.js +1 -1
- package/dist/index.es141.js +1 -1
- package/dist/index.es142.js +1 -1
- package/dist/index.es143.js +1 -1
- package/dist/index.es144.js +1 -1
- package/dist/index.es145.js +1 -1
- package/dist/index.es146.js +1 -1
- package/dist/index.es147.js +1 -1
- package/dist/index.es148.js +1 -1
- package/dist/index.es149.js +1 -1
- package/dist/index.es150.js +1 -1
- package/dist/index.es151.js +1 -1
- package/dist/index.es152.js +1 -1
- package/dist/index.es156.js +1 -1
- package/dist/index.es157.js +1 -1
- package/dist/index.es158.js +1 -1
- package/dist/index.es160.js +1 -1
- package/dist/index.es161.js +1 -1
- package/dist/index.es162.js +1 -1
- package/dist/index.es163.js +1 -1
- package/dist/index.es164.js +1 -1
- package/dist/index.es165.js +1 -1
- package/dist/index.es166.js +1 -1
- package/dist/index.es167.js +1 -1
- package/dist/index.es168.js +1 -1
- package/dist/index.es170.js +1 -1
- package/dist/index.es171.js +1 -1
- package/dist/index.es172.js +1 -1
- package/dist/index.es173.js +1 -1
- package/dist/index.es174.js +1 -1
- package/dist/index.es175.js +1 -1
- package/dist/index.es176.js +1 -1
- package/dist/index.es178.js +1 -1
- package/dist/index.es179.js +1 -1
- package/dist/index.es180.js +1 -1
- package/dist/index.es181.js +1 -1
- package/dist/index.es182.js +1 -1
- package/dist/index.es183.js +1 -1
- package/dist/index.es184.js +1 -1
- package/dist/index.es191.js +1 -1
- package/dist/index.es193.js +76 -71
- package/dist/index.es193.js.map +1 -1
- package/dist/index.es194.js +11 -1
- package/dist/index.es194.js.map +1 -1
- package/dist/index.es198.js +63 -58
- package/dist/index.es198.js.map +1 -1
- package/dist/index.es207.js +29 -26
- package/dist/index.es207.js.map +1 -1
- package/dist/index.es211.js +18 -15
- package/dist/index.es211.js.map +1 -1
- package/dist/index.es22.js +1 -1
- package/dist/index.es227.js +2 -27
- package/dist/index.es227.js.map +1 -1
- package/dist/index.es228.js +30 -0
- package/dist/index.es228.js.map +1 -0
- package/dist/index.es237.js +1 -1
- package/dist/index.es244.js +25 -24
- package/dist/index.es244.js.map +1 -1
- package/dist/index.es247.js +1 -1
- package/dist/index.es248.js +1 -1
- package/dist/index.es25.js +1 -1
- package/dist/index.es255.js +237 -120
- package/dist/index.es255.js.map +1 -1
- package/dist/index.es265.js +1 -1
- package/dist/index.es269.js +1 -1
- package/dist/index.es271.js +31 -30
- package/dist/index.es271.js.map +1 -1
- package/dist/index.es28.js +5 -5
- package/dist/index.es296.js +1 -1
- package/dist/index.es297.js +1 -1
- package/dist/index.es298.js +104 -89
- package/dist/index.es298.js.map +1 -1
- package/dist/index.es337.js +4 -4
- package/dist/index.es337.js.map +1 -1
- package/dist/index.es378.js +1 -1
- package/dist/index.es379.js +146 -307
- package/dist/index.es379.js.map +1 -1
- package/dist/index.es385.js +2 -7
- package/dist/index.es385.js.map +1 -1
- package/dist/index.es386.js +2 -27
- package/dist/index.es386.js.map +1 -1
- package/dist/index.es388.js +15 -30
- package/dist/index.es388.js.map +1 -1
- package/dist/index.es391.js +26 -10
- package/dist/index.es391.js.map +1 -1
- package/dist/{index.es387.js → index.es392.js} +1 -1
- package/dist/{index.es387.js.map → index.es392.js.map} +1 -1
- package/dist/index.es393.js +7 -15
- package/dist/index.es393.js.map +1 -1
- package/dist/index.es394.js +55 -0
- package/dist/index.es394.js.map +1 -0
- package/dist/index.es395.js +9 -0
- package/dist/index.es395.js.map +1 -0
- package/dist/index.es396.js +24 -5
- package/dist/index.es396.js.map +1 -1
- package/dist/index.es397.js +67 -23
- package/dist/index.es397.js.map +1 -1
- package/dist/index.es398.js +32 -67
- package/dist/index.es398.js.map +1 -1
- package/dist/{index.es390.js → index.es399.js} +134 -134
- package/dist/index.es399.js.map +1 -0
- package/dist/index.es400.js +14 -0
- package/dist/index.es400.js.map +1 -0
- package/dist/{index.es425.js → index.es401.js} +1 -1
- package/dist/{index.es425.js.map → index.es401.js.map} +1 -1
- package/dist/index.es402.js +54 -2
- package/dist/index.es402.js.map +1 -1
- package/dist/index.es406.js +46 -14
- package/dist/index.es406.js.map +1 -1
- package/dist/index.es407.js +7 -14
- package/dist/index.es407.js.map +1 -1
- package/dist/index.es408.js +124 -8
- package/dist/index.es408.js.map +1 -1
- package/dist/index.es409.js +15 -50
- package/dist/index.es409.js.map +1 -1
- package/dist/index.es410.js +129 -47
- package/dist/index.es410.js.map +1 -1
- package/dist/{index.es423.js → index.es411.js} +10 -10
- package/dist/index.es411.js.map +1 -0
- package/dist/index.es412.js +17 -0
- package/dist/index.es412.js.map +1 -0
- package/dist/index.es413.js +184 -0
- package/dist/index.es413.js.map +1 -0
- package/dist/index.es414.js +9 -13
- package/dist/index.es414.js.map +1 -1
- package/dist/index.es415.js +53 -0
- package/dist/index.es415.js.map +1 -0
- package/dist/index.es416.js +12 -0
- package/dist/index.es416.js.map +1 -0
- package/dist/index.es418.js +15 -0
- package/dist/index.es418.js.map +1 -0
- package/dist/{index.es431.js → index.es419.js} +3 -3
- package/dist/{index.es431.js.map → index.es419.js.map} +1 -1
- package/dist/index.es42.js +9 -9
- package/dist/index.es420.js +22 -11
- package/dist/index.es420.js.map +1 -1
- package/dist/index.es421.js +394 -43
- package/dist/index.es421.js.map +1 -1
- package/dist/index.es428.js +28 -0
- package/dist/index.es428.js.map +1 -0
- package/dist/index.es429.js +32 -0
- package/dist/index.es429.js.map +1 -0
- package/dist/index.es430.js +5 -12
- package/dist/index.es430.js.map +1 -1
- package/dist/index.es434.js +5 -25
- package/dist/index.es434.js.map +1 -1
- package/dist/index.es435.js +3 -29
- package/dist/index.es435.js.map +1 -1
- package/dist/index.es436.js +24 -5
- package/dist/index.es436.js.map +1 -1
- package/dist/index.es437.js +110 -5
- package/dist/index.es437.js.map +1 -1
- package/dist/index.es438.js +16 -3
- package/dist/index.es438.js.map +1 -1
- package/dist/index.es439.js +524 -21
- package/dist/index.es439.js.map +1 -1
- package/dist/index.es440.js +126 -109
- package/dist/index.es440.js.map +1 -1
- package/dist/index.es441.js +128 -15
- package/dist/index.es441.js.map +1 -1
- package/dist/index.es444.js +67 -127
- package/dist/index.es444.js.map +1 -1
- package/dist/index.es445.js +8 -64
- package/dist/index.es445.js.map +1 -1
- package/dist/index.es446.js +13 -68
- package/dist/index.es446.js.map +1 -1
- package/dist/index.es447.js +61 -8
- package/dist/index.es447.js.map +1 -1
- package/dist/index.es448.js +64 -13
- package/dist/index.es448.js.map +1 -1
- package/dist/index.es449.js +14 -61
- package/dist/index.es449.js.map +1 -1
- package/dist/index.es468.js +9 -9
- package/dist/index.es468.js.map +1 -1
- package/dist/index.es481.js +2 -6
- package/dist/index.es481.js.map +1 -1
- package/dist/index.es482.js +6 -2
- package/dist/index.es482.js.map +1 -1
- package/dist/index.es49.js +14 -14
- package/dist/index.es57.js +1 -1
- package/dist/index.es6.js +1 -1
- package/dist/index.es62.js +9 -9
- package/dist/index.es7.js +1 -1
- package/dist/index.es8.js +1 -1
- package/dist/index.es9.js +2 -2
- package/dist/sections/HomeServices/HomeServices.css +1 -1
- package/dist/sections/WhatDoYouNeed/WhatDoYouNeed.css +1 -1
- package/package.json +1 -1
- package/dist/index.cjs229.js +0 -2
- package/dist/index.cjs229.js.map +0 -1
- package/dist/index.cjs389.js +0 -2
- package/dist/index.cjs389.js.map +0 -1
- package/dist/index.cjs390.js.map +0 -1
- package/dist/index.cjs403.js +0 -2
- package/dist/index.cjs403.js.map +0 -1
- package/dist/index.cjs404.js +0 -2
- package/dist/index.cjs404.js.map +0 -1
- package/dist/index.cjs405.js +0 -2
- package/dist/index.cjs405.js.map +0 -1
- package/dist/index.cjs422.js +0 -2
- package/dist/index.cjs422.js.map +0 -1
- package/dist/index.cjs423.js.map +0 -1
- package/dist/index.cjs424.js +0 -2
- package/dist/index.cjs424.js.map +0 -1
- package/dist/index.cjs432.js +0 -2
- package/dist/index.cjs432.js.map +0 -1
- package/dist/index.cjs433.js +0 -2
- package/dist/index.cjs433.js.map +0 -1
- package/dist/index.cjs442.js +0 -2
- package/dist/index.cjs442.js.map +0 -1
- package/dist/index.cjs443.js +0 -2
- package/dist/index.cjs443.js.map +0 -1
- package/dist/index.es229.js +0 -5
- package/dist/index.es229.js.map +0 -1
- package/dist/index.es389.js +0 -36
- package/dist/index.es389.js.map +0 -1
- package/dist/index.es390.js.map +0 -1
- package/dist/index.es403.js +0 -5
- package/dist/index.es403.js.map +0 -1
- package/dist/index.es404.js +0 -128
- package/dist/index.es404.js.map +0 -1
- package/dist/index.es405.js +0 -138
- package/dist/index.es405.js.map +0 -1
- package/dist/index.es422.js +0 -11
- package/dist/index.es422.js.map +0 -1
- package/dist/index.es423.js.map +0 -1
- package/dist/index.es424.js +0 -181
- package/dist/index.es424.js.map +0 -1
- package/dist/index.es432.js +0 -25
- package/dist/index.es432.js.map +0 -1
- package/dist/index.es433.js +0 -396
- package/dist/index.es433.js.map +0 -1
- package/dist/index.es442.js +0 -526
- package/dist/index.es442.js.map +0 -1
- package/dist/index.es443.js +0 -130
- package/dist/index.es443.js.map +0 -1
package/dist/index.es448.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.es448.js","sources":["../node_modules/
|
1
|
+
{"version":3,"file":"index.es448.js","sources":["../node_modules/use-sidecar/dist/es2015/medium.js"],"sourcesContent":["import { __assign } from \"tslib\";\nfunction ItoI(a) {\n return a;\n}\nfunction innerCreateMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n var buffer = [];\n var assigned = false;\n var medium = {\n read: function () {\n if (assigned) {\n throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.');\n }\n if (buffer.length) {\n return buffer[buffer.length - 1];\n }\n return defaults;\n },\n useMedium: function (data) {\n var item = middleware(data, assigned);\n buffer.push(item);\n return function () {\n buffer = buffer.filter(function (x) { return x !== item; });\n };\n },\n assignSyncMedium: function (cb) {\n assigned = true;\n while (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n }\n buffer = {\n push: function (x) { return cb(x); },\n filter: function () { return buffer; },\n };\n },\n assignMedium: function (cb) {\n assigned = true;\n var pendingQueue = [];\n if (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n pendingQueue = buffer;\n }\n var executeQueue = function () {\n var cbs = pendingQueue;\n pendingQueue = [];\n cbs.forEach(cb);\n };\n var cycle = function () { return Promise.resolve().then(executeQueue); };\n cycle();\n buffer = {\n push: function (x) {\n pendingQueue.push(x);\n cycle();\n },\n filter: function (filter) {\n pendingQueue = pendingQueue.filter(filter);\n return buffer;\n },\n };\n },\n };\n return medium;\n}\nexport function createMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n return innerCreateMedium(defaults, middleware);\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function createSidecarMedium(options) {\n if (options === void 0) { options = {}; }\n var medium = innerCreateMedium(null);\n medium.options = __assign({ async: true, ssr: false }, options);\n return medium;\n}\n"],"names":["ItoI","a","innerCreateMedium","defaults","middleware","buffer","assigned","medium","data","item","x","cb","cbs","pendingQueue","executeQueue","cycle","filter","createSidecarMedium","options","__assign"],"mappings":";AACA,SAASA,EAAKC,GAAG;AACb,SAAOA;AACX;AACA,SAASC,EAAkBC,GAAUC,GAAY;AAC7C,EAAIA,MAAe,WAAUA,IAAaJ;AAC1C,MAAIK,IAAS,CAAE,GACXC,IAAW,IACXC,IAAS;AAAA,IACT,MAAM,WAAY;AACd,UAAID;AACA,cAAM,IAAI,MAAM,kGAAkG;AAEtH,aAAID,EAAO,SACAA,EAAOA,EAAO,SAAS,CAAC,IAE5BF;AAAA,IACV;AAAA,IACD,WAAW,SAAUK,GAAM;AACvB,UAAIC,IAAOL,EAAWI,GAAMF,CAAQ;AACpC,aAAAD,EAAO,KAAKI,CAAI,GACT,WAAY;AACf,QAAAJ,IAASA,EAAO,OAAO,SAAUK,GAAG;AAAE,iBAAOA,MAAMD;AAAA,SAAO;AAAA,MAC7D;AAAA,IACJ;AAAA,IACD,kBAAkB,SAAUE,GAAI;AAE5B,WADAL,IAAW,IACJD,EAAO,UAAQ;AAClB,YAAIO,IAAMP;AACV,QAAAA,IAAS,CAAE,GACXO,EAAI,QAAQD,CAAE;AAAA,MAC9B;AACY,MAAAN,IAAS;AAAA,QACL,MAAM,SAAUK,GAAG;AAAE,iBAAOC,EAAGD,CAAC;AAAA,QAAI;AAAA,QACpC,QAAQ,WAAY;AAAE,iBAAOL;AAAA,QAAS;AAAA,MACzC;AAAA,IACJ;AAAA,IACD,cAAc,SAAUM,GAAI;AACxB,MAAAL,IAAW;AACX,UAAIO,IAAe,CAAE;AACrB,UAAIR,EAAO,QAAQ;AACf,YAAIO,IAAMP;AACV,QAAAA,IAAS,CAAE,GACXO,EAAI,QAAQD,CAAE,GACdE,IAAeR;AAAA,MAC/B;AACY,UAAIS,IAAe,WAAY;AAC3B,YAAIF,IAAMC;AACV,QAAAA,IAAe,CAAE,GACjBD,EAAI,QAAQD,CAAE;AAAA,MACjB,GACGI,IAAQ,WAAY;AAAE,eAAO,QAAQ,QAAO,EAAG,KAAKD,CAAY;AAAA,MAAI;AACxE,MAAAC,EAAO,GACPV,IAAS;AAAA,QACL,MAAM,SAAUK,GAAG;AACf,UAAAG,EAAa,KAAKH,CAAC,GACnBK,EAAO;AAAA,QACV;AAAA,QACD,QAAQ,SAAUC,GAAQ;AACtB,iBAAAH,IAAeA,EAAa,OAAOG,CAAM,GAClCX;AAAA,QACV;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AACD,SAAOE;AACX;AAMO,SAASU,EAAoBC,GAAS;AACzC,EAAIA,MAAY,WAAUA,IAAU,CAAA;AACpC,MAAIX,IAASL,EAAkB,IAAI;AACnC,SAAAK,EAAO,UAAUY,EAAS,EAAE,OAAO,IAAM,KAAK,GAAO,GAAED,CAAO,GACvDX;AACX;","x_google_ignoreList":[0]}
|
package/dist/index.es449.js
CHANGED
@@ -1,65 +1,18 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
);
|
12
|
-
}, y = function(e) {
|
13
|
-
return w(e, "overflowY");
|
14
|
-
}, H = function(e) {
|
15
|
-
return w(e, "overflowX");
|
16
|
-
}, R = function(e, r) {
|
17
|
-
var o = r.ownerDocument, t = r;
|
18
|
-
do {
|
19
|
-
typeof ShadowRoot < "u" && t instanceof ShadowRoot && (t = t.host);
|
20
|
-
var v = g(e, t);
|
21
|
-
if (v) {
|
22
|
-
var n = b(e, t), a = n[1], l = n[2];
|
23
|
-
if (a > l)
|
24
|
-
return !0;
|
1
|
+
import { useState as n, useCallback as i } from "react";
|
2
|
+
import "./index.es481.js";
|
3
|
+
function c() {
|
4
|
+
const [t, o] = n(null), e = i(async (r) => {
|
5
|
+
if (!(navigator != null && navigator.clipboard))
|
6
|
+
return console.warn("Clipboard not supported"), !1;
|
7
|
+
try {
|
8
|
+
return await navigator.clipboard.writeText(r), o(r), !0;
|
9
|
+
} catch (a) {
|
10
|
+
return console.warn("Copy failed", a), o(null), !1;
|
25
11
|
}
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
}, B = function(e) {
|
30
|
-
var r = e.scrollTop, o = e.scrollHeight, t = e.clientHeight;
|
31
|
-
return [
|
32
|
-
r,
|
33
|
-
o,
|
34
|
-
t
|
35
|
-
];
|
36
|
-
}, V = function(e) {
|
37
|
-
var r = e.scrollLeft, o = e.scrollWidth, t = e.clientWidth;
|
38
|
-
return [
|
39
|
-
r,
|
40
|
-
o,
|
41
|
-
t
|
42
|
-
];
|
43
|
-
}, g = function(e, r) {
|
44
|
-
return e === "v" ? y(r) : H(r);
|
45
|
-
}, b = function(e, r) {
|
46
|
-
return e === "v" ? B(r) : V(r);
|
47
|
-
}, D = function(e, r) {
|
48
|
-
return e === "h" && r === "rtl" ? -1 : 1;
|
49
|
-
}, W = function(e, r, o, t, v) {
|
50
|
-
var n = D(e, window.getComputedStyle(r).direction), a = n * t, l = o.target, f = r.contains(l), i = !1, s = a > 0, d = 0, h = 0;
|
51
|
-
do {
|
52
|
-
var c = b(e, l), u = c[0], m = c[1], C = c[2], S = m - C - n * u;
|
53
|
-
(u || S) && g(e, l) && (d += S, h += u), l instanceof ShadowRoot ? l = l.host : l = l.parentNode;
|
54
|
-
} while (
|
55
|
-
// portaled content
|
56
|
-
!f && l !== document.body || // self content
|
57
|
-
f && (r.contains(l) || r === l)
|
58
|
-
);
|
59
|
-
return (s && Math.abs(d) < 1 || !s && Math.abs(h) < 1) && (i = !0), i;
|
60
|
-
};
|
12
|
+
}, []);
|
13
|
+
return [t, e];
|
14
|
+
}
|
61
15
|
export {
|
62
|
-
|
63
|
-
R as locationCouldBeScrolled
|
16
|
+
c as useCopyToClipboard
|
64
17
|
};
|
65
18
|
//# sourceMappingURL=index.es449.js.map
|
package/dist/index.es449.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.es449.js","sources":["../node_modules/react-remove-scroll/dist/es2015/handleScroll.js"],"sourcesContent":["var alwaysContainsScroll = function (node) {\n // textarea will always _contain_ scroll inside self. It only can be hidden\n return node.tagName === 'TEXTAREA';\n};\nvar elementCanBeScrolled = function (node, overflow) {\n if (!(node instanceof Element)) {\n return false;\n }\n var styles = window.getComputedStyle(node);\n return (\n // not-not-scrollable\n styles[overflow] !== 'hidden' &&\n // contains scroll inside self\n !(styles.overflowY === styles.overflowX && !alwaysContainsScroll(node) && styles[overflow] === 'visible'));\n};\nvar elementCouldBeVScrolled = function (node) { return elementCanBeScrolled(node, 'overflowY'); };\nvar elementCouldBeHScrolled = function (node) { return elementCanBeScrolled(node, 'overflowX'); };\nexport var locationCouldBeScrolled = function (axis, node) {\n var ownerDocument = node.ownerDocument;\n var current = node;\n do {\n // Skip over shadow root\n if (typeof ShadowRoot !== 'undefined' && current instanceof ShadowRoot) {\n current = current.host;\n }\n var isScrollable = elementCouldBeScrolled(axis, current);\n if (isScrollable) {\n var _a = getScrollVariables(axis, current), scrollHeight = _a[1], clientHeight = _a[2];\n if (scrollHeight > clientHeight) {\n return true;\n }\n }\n current = current.parentNode;\n } while (current && current !== ownerDocument.body);\n return false;\n};\nvar getVScrollVariables = function (_a) {\n var scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight;\n return [\n scrollTop,\n scrollHeight,\n clientHeight,\n ];\n};\nvar getHScrollVariables = function (_a) {\n var scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth;\n return [\n scrollLeft,\n scrollWidth,\n clientWidth,\n ];\n};\nvar elementCouldBeScrolled = function (axis, node) {\n return axis === 'v' ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node);\n};\nvar getScrollVariables = function (axis, node) {\n return axis === 'v' ? getVScrollVariables(node) : getHScrollVariables(node);\n};\nvar getDirectionFactor = function (axis, direction) {\n /**\n * If the element's direction is rtl (right-to-left), then scrollLeft is 0 when the scrollbar is at its rightmost position,\n * and then increasingly negative as you scroll towards the end of the content.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollLeft\n */\n return axis === 'h' && direction === 'rtl' ? -1 : 1;\n};\nexport var handleScroll = function (axis, endTarget, event, sourceDelta, noOverscroll) {\n var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction);\n var delta = directionFactor * sourceDelta;\n // find scrollable target\n var target = event.target;\n var targetInLock = endTarget.contains(target);\n var shouldCancelScroll = false;\n var isDeltaPositive = delta > 0;\n var availableScroll = 0;\n var availableScrollTop = 0;\n do {\n var _a = getScrollVariables(axis, target), position = _a[0], scroll_1 = _a[1], capacity = _a[2];\n var elementScroll = scroll_1 - capacity - directionFactor * position;\n if (position || elementScroll) {\n if (elementCouldBeScrolled(axis, target)) {\n availableScroll += elementScroll;\n availableScrollTop += position;\n }\n }\n if (target instanceof ShadowRoot) {\n target = target.host;\n }\n else {\n target = target.parentNode;\n }\n } while (\n // portaled content\n (!targetInLock && target !== document.body) ||\n // self content\n (targetInLock && (endTarget.contains(target) || endTarget === target)));\n // handle epsilon around 0 (non standard zoom levels)\n if (isDeltaPositive &&\n ((noOverscroll && Math.abs(availableScroll) < 1) || (!noOverscroll && delta > availableScroll))) {\n shouldCancelScroll = true;\n }\n else if (!isDeltaPositive &&\n ((noOverscroll && Math.abs(availableScrollTop) < 1) || (!noOverscroll && -delta > availableScrollTop))) {\n shouldCancelScroll = true;\n }\n return shouldCancelScroll;\n};\n"],"names":["alwaysContainsScroll","node","elementCanBeScrolled","overflow","styles","elementCouldBeVScrolled","elementCouldBeHScrolled","locationCouldBeScrolled","axis","ownerDocument","current","isScrollable","elementCouldBeScrolled","_a","getScrollVariables","scrollHeight","clientHeight","getVScrollVariables","scrollTop","getHScrollVariables","scrollLeft","scrollWidth","clientWidth","getDirectionFactor","direction","handleScroll","endTarget","event","sourceDelta","noOverscroll","directionFactor","delta","target","targetInLock","shouldCancelScroll","isDeltaPositive","availableScroll","availableScrollTop","position","scroll_1","capacity","elementScroll"],"mappings":"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","x_google_ignoreList":[0]}
|
1
|
+
{"version":3,"file":"index.es449.js","sources":["../node_modules/usehooks-ts/dist/index.js"],"sourcesContent":["import { useState, useCallback, useLayoutEffect, useEffect, useRef, useMemo } from 'react';\nimport debounce from 'lodash.debounce';\n\n// src/useBoolean/useBoolean.ts\nfunction useBoolean(defaultValue = false) {\n if (typeof defaultValue !== \"boolean\") {\n throw new Error(\"defaultValue must be `true` or `false`\");\n }\n const [value, setValue] = useState(defaultValue);\n const setTrue = useCallback(() => {\n setValue(true);\n }, []);\n const setFalse = useCallback(() => {\n setValue(false);\n }, []);\n const toggle = useCallback(() => {\n setValue((x) => !x);\n }, []);\n return { value, setValue, setTrue, setFalse, toggle };\n}\nvar useIsomorphicLayoutEffect = typeof window !== \"undefined\" ? useLayoutEffect : useEffect;\n\n// src/useEventListener/useEventListener.ts\nfunction useEventListener(eventName, handler, element, options) {\n const savedHandler = useRef(handler);\n useIsomorphicLayoutEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n useEffect(() => {\n const targetElement = (element == null ? void 0 : element.current) ?? window;\n if (!(targetElement && targetElement.addEventListener))\n return;\n const listener = (event) => {\n savedHandler.current(event);\n };\n targetElement.addEventListener(eventName, listener, options);\n return () => {\n targetElement.removeEventListener(eventName, listener, options);\n };\n }, [eventName, element, options]);\n}\n\n// src/useClickAnyWhere/useClickAnyWhere.ts\nfunction useClickAnyWhere(handler) {\n useEventListener(\"click\", (event) => {\n handler(event);\n });\n}\nfunction useCopyToClipboard() {\n const [copiedText, setCopiedText] = useState(null);\n const copy = useCallback(async (text) => {\n if (!(navigator == null ? void 0 : navigator.clipboard)) {\n console.warn(\"Clipboard not supported\");\n return false;\n }\n try {\n await navigator.clipboard.writeText(text);\n setCopiedText(text);\n return true;\n } catch (error) {\n console.warn(\"Copy failed\", error);\n setCopiedText(null);\n return false;\n }\n }, []);\n return [copiedText, copy];\n}\nfunction useCounter(initialValue) {\n const [count, setCount] = useState(initialValue ?? 0);\n const increment = useCallback(() => {\n setCount((x) => x + 1);\n }, []);\n const decrement = useCallback(() => {\n setCount((x) => x - 1);\n }, []);\n const reset = useCallback(() => {\n setCount(initialValue ?? 0);\n }, [initialValue]);\n return {\n count,\n increment,\n decrement,\n reset,\n setCount\n };\n}\nfunction useInterval(callback, delay) {\n const savedCallback = useRef(callback);\n useIsomorphicLayoutEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n useEffect(() => {\n if (delay === null) {\n return;\n }\n const id = setInterval(() => {\n savedCallback.current();\n }, delay);\n return () => {\n clearInterval(id);\n };\n }, [delay]);\n}\n\n// src/useCountdown/useCountdown.ts\nfunction useCountdown({\n countStart,\n countStop = 0,\n intervalMs = 1e3,\n isIncrement = false\n}) {\n const {\n count,\n increment,\n decrement,\n reset: resetCounter\n } = useCounter(countStart);\n const {\n value: isCountdownRunning,\n setTrue: startCountdown,\n setFalse: stopCountdown\n } = useBoolean(false);\n const resetCountdown = useCallback(() => {\n stopCountdown();\n resetCounter();\n }, [stopCountdown, resetCounter]);\n const countdownCallback = useCallback(() => {\n if (count === countStop) {\n stopCountdown();\n return;\n }\n if (isIncrement) {\n increment();\n } else {\n decrement();\n }\n }, [count, countStop, decrement, increment, isIncrement, stopCountdown]);\n useInterval(countdownCallback, isCountdownRunning ? intervalMs : null);\n return [count, { startCountdown, stopCountdown, resetCountdown }];\n}\nfunction useEventCallback(fn) {\n const ref = useRef(() => {\n throw new Error(\"Cannot call an event handler while rendering.\");\n });\n useIsomorphicLayoutEffect(() => {\n ref.current = fn;\n }, [fn]);\n return useCallback((...args) => {\n var _a;\n return (_a = ref.current) == null ? void 0 : _a.call(ref, ...args);\n }, [ref]);\n}\n\n// src/useLocalStorage/useLocalStorage.ts\nvar IS_SERVER = typeof window === \"undefined\";\nfunction useLocalStorage(key, initialValue, options = {}) {\n const { initializeWithValue = true } = options;\n const serializer = useCallback(\n (value) => {\n if (options.serializer) {\n return options.serializer(value);\n }\n return JSON.stringify(value);\n },\n [options]\n );\n const deserializer = useCallback(\n (value) => {\n if (options.deserializer) {\n return options.deserializer(value);\n }\n if (value === \"undefined\") {\n return void 0;\n }\n const defaultValue = initialValue instanceof Function ? initialValue() : initialValue;\n let parsed;\n try {\n parsed = JSON.parse(value);\n } catch (error) {\n console.error(\"Error parsing JSON:\", error);\n return defaultValue;\n }\n return parsed;\n },\n [options, initialValue]\n );\n const readValue = useCallback(() => {\n const initialValueToUse = initialValue instanceof Function ? initialValue() : initialValue;\n if (IS_SERVER) {\n return initialValueToUse;\n }\n try {\n const raw = window.localStorage.getItem(key);\n return raw ? deserializer(raw) : initialValueToUse;\n } catch (error) {\n console.warn(`Error reading localStorage key \\u201C${key}\\u201D:`, error);\n return initialValueToUse;\n }\n }, [initialValue, key, deserializer]);\n const [storedValue, setStoredValue] = useState(() => {\n if (initializeWithValue) {\n return readValue();\n }\n return initialValue instanceof Function ? initialValue() : initialValue;\n });\n const setValue = useEventCallback((value) => {\n if (IS_SERVER) {\n console.warn(\n `Tried setting localStorage key \\u201C${key}\\u201D even though environment is not a client`\n );\n }\n try {\n const newValue = value instanceof Function ? value(readValue()) : value;\n window.localStorage.setItem(key, serializer(newValue));\n setStoredValue(newValue);\n window.dispatchEvent(new StorageEvent(\"local-storage\", { key }));\n } catch (error) {\n console.warn(`Error setting localStorage key \\u201C${key}\\u201D:`, error);\n }\n });\n const removeValue = useEventCallback(() => {\n if (IS_SERVER) {\n console.warn(\n `Tried removing localStorage key \\u201C${key}\\u201D even though environment is not a client`\n );\n }\n const defaultValue = initialValue instanceof Function ? initialValue() : initialValue;\n window.localStorage.removeItem(key);\n setStoredValue(defaultValue);\n window.dispatchEvent(new StorageEvent(\"local-storage\", { key }));\n });\n useEffect(() => {\n setStoredValue(readValue());\n }, [key]);\n const handleStorageChange = useCallback(\n (event) => {\n if (event.key && event.key !== key) {\n return;\n }\n setStoredValue(readValue());\n },\n [key, readValue]\n );\n useEventListener(\"storage\", handleStorageChange);\n useEventListener(\"local-storage\", handleStorageChange);\n return [storedValue, setValue, removeValue];\n}\nvar IS_SERVER2 = typeof window === \"undefined\";\nfunction useMediaQuery(query, {\n defaultValue = false,\n initializeWithValue = true\n} = {}) {\n const getMatches = (query2) => {\n if (IS_SERVER2) {\n return defaultValue;\n }\n return window.matchMedia(query2).matches;\n };\n const [matches, setMatches] = useState(() => {\n if (initializeWithValue) {\n return getMatches(query);\n }\n return defaultValue;\n });\n function handleChange() {\n setMatches(getMatches(query));\n }\n useIsomorphicLayoutEffect(() => {\n const matchMedia = window.matchMedia(query);\n handleChange();\n if (matchMedia.addListener) {\n matchMedia.addListener(handleChange);\n } else {\n matchMedia.addEventListener(\"change\", handleChange);\n }\n return () => {\n if (matchMedia.removeListener) {\n matchMedia.removeListener(handleChange);\n } else {\n matchMedia.removeEventListener(\"change\", handleChange);\n }\n };\n }, [query]);\n return matches;\n}\n\n// src/useDarkMode/useDarkMode.ts\nvar COLOR_SCHEME_QUERY = \"(prefers-color-scheme: dark)\";\nvar LOCAL_STORAGE_KEY = \"usehooks-ts-dark-mode\";\nfunction useDarkMode(options = {}) {\n const {\n defaultValue,\n localStorageKey = LOCAL_STORAGE_KEY,\n initializeWithValue = true\n } = options;\n const isDarkOS = useMediaQuery(COLOR_SCHEME_QUERY, {\n initializeWithValue,\n defaultValue\n });\n const [isDarkMode, setDarkMode] = useLocalStorage(\n localStorageKey,\n defaultValue ?? isDarkOS ?? false,\n { initializeWithValue }\n );\n useIsomorphicLayoutEffect(() => {\n if (isDarkOS !== isDarkMode) {\n setDarkMode(isDarkOS);\n }\n }, [isDarkOS]);\n return {\n isDarkMode,\n toggle: () => {\n setDarkMode((prev) => !prev);\n },\n enable: () => {\n setDarkMode(true);\n },\n disable: () => {\n setDarkMode(false);\n },\n set: (value) => {\n setDarkMode(value);\n }\n };\n}\nfunction useUnmount(func) {\n const funcRef = useRef(func);\n funcRef.current = func;\n useEffect(\n () => () => {\n funcRef.current();\n },\n []\n );\n}\n\n// src/useDebounceCallback/useDebounceCallback.ts\nfunction useDebounceCallback(func, delay = 500, options) {\n const debouncedFunc = useRef();\n useUnmount(() => {\n if (debouncedFunc.current) {\n debouncedFunc.current.cancel();\n }\n });\n const debounced = useMemo(() => {\n const debouncedFuncInstance = debounce(func, delay, options);\n const wrappedFunc = (...args) => {\n return debouncedFuncInstance(...args);\n };\n wrappedFunc.cancel = () => {\n debouncedFuncInstance.cancel();\n };\n wrappedFunc.isPending = () => {\n return !!debouncedFunc.current;\n };\n wrappedFunc.flush = () => {\n return debouncedFuncInstance.flush();\n };\n return wrappedFunc;\n }, [func, delay, options]);\n useEffect(() => {\n debouncedFunc.current = debounce(func, delay, options);\n }, [func, delay, options]);\n return debounced;\n}\nfunction useDebounceValue(initialValue, delay, options) {\n const eq = (options == null ? void 0 : options.equalityFn) ?? ((left, right) => left === right);\n const unwrappedInitialValue = initialValue instanceof Function ? initialValue() : initialValue;\n const [debouncedValue, setDebouncedValue] = useState(unwrappedInitialValue);\n const previousValueRef = useRef(unwrappedInitialValue);\n const updateDebouncedValue = useDebounceCallback(\n setDebouncedValue,\n delay,\n options\n );\n if (!eq(previousValueRef.current, unwrappedInitialValue)) {\n updateDebouncedValue(unwrappedInitialValue);\n previousValueRef.current = unwrappedInitialValue;\n }\n return [debouncedValue, updateDebouncedValue];\n}\nfunction useDocumentTitle(title, options = {}) {\n const { preserveTitleOnUnmount = true } = options;\n const defaultTitle = useRef(null);\n useIsomorphicLayoutEffect(() => {\n defaultTitle.current = window.document.title;\n }, []);\n useIsomorphicLayoutEffect(() => {\n window.document.title = title;\n }, [title]);\n useUnmount(() => {\n if (!preserveTitleOnUnmount && defaultTitle.current) {\n window.document.title = defaultTitle.current;\n }\n });\n}\nfunction useHover(elementRef) {\n const [value, setValue] = useState(false);\n const handleMouseEnter = () => {\n setValue(true);\n };\n const handleMouseLeave = () => {\n setValue(false);\n };\n useEventListener(\"mouseenter\", handleMouseEnter, elementRef);\n useEventListener(\"mouseleave\", handleMouseLeave, elementRef);\n return value;\n}\nfunction useIntersectionObserver({\n threshold = 0,\n root = null,\n rootMargin = \"0%\",\n freezeOnceVisible = false,\n initialIsIntersecting = false,\n onChange\n} = {}) {\n var _a;\n const [ref, setRef] = useState(null);\n const [state, setState] = useState(() => ({\n isIntersecting: initialIsIntersecting,\n entry: void 0\n }));\n const callbackRef = useRef();\n callbackRef.current = onChange;\n const frozen = ((_a = state.entry) == null ? void 0 : _a.isIntersecting) && freezeOnceVisible;\n useEffect(() => {\n if (!ref)\n return;\n if (!(\"IntersectionObserver\" in window))\n return;\n if (frozen)\n return;\n let unobserve;\n const observer = new IntersectionObserver(\n (entries) => {\n const thresholds = Array.isArray(observer.thresholds) ? observer.thresholds : [observer.thresholds];\n entries.forEach((entry) => {\n const isIntersecting = entry.isIntersecting && thresholds.some((threshold2) => entry.intersectionRatio >= threshold2);\n setState({ isIntersecting, entry });\n if (callbackRef.current) {\n callbackRef.current(isIntersecting, entry);\n }\n if (isIntersecting && freezeOnceVisible && unobserve) {\n unobserve();\n unobserve = void 0;\n }\n });\n },\n { threshold, root, rootMargin }\n );\n observer.observe(ref);\n return () => {\n observer.disconnect();\n };\n }, [\n ref,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(threshold),\n root,\n rootMargin,\n frozen,\n freezeOnceVisible\n ]);\n const prevRef = useRef(null);\n useEffect(() => {\n var _a2;\n if (!ref && ((_a2 = state.entry) == null ? void 0 : _a2.target) && !freezeOnceVisible && !frozen && prevRef.current !== state.entry.target) {\n prevRef.current = state.entry.target;\n setState({ isIntersecting: initialIsIntersecting, entry: void 0 });\n }\n }, [ref, state.entry, freezeOnceVisible, frozen, initialIsIntersecting]);\n const result = [\n setRef,\n !!state.isIntersecting,\n state.entry\n ];\n result.ref = result[0];\n result.isIntersecting = result[1];\n result.entry = result[2];\n return result;\n}\nfunction useIsClient() {\n const [isClient, setClient] = useState(false);\n useEffect(() => {\n setClient(true);\n }, []);\n return isClient;\n}\nfunction useIsMounted() {\n const isMounted = useRef(false);\n useEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n return useCallback(() => isMounted.current, []);\n}\nfunction useMap(initialState = /* @__PURE__ */ new Map()) {\n const [map, setMap] = useState(new Map(initialState));\n const actions = {\n set: useCallback((key, value) => {\n setMap((prev) => {\n const copy = new Map(prev);\n copy.set(key, value);\n return copy;\n });\n }, []),\n setAll: useCallback((entries) => {\n setMap(() => new Map(entries));\n }, []),\n remove: useCallback((key) => {\n setMap((prev) => {\n const copy = new Map(prev);\n copy.delete(key);\n return copy;\n });\n }, []),\n reset: useCallback(() => {\n setMap(() => /* @__PURE__ */ new Map());\n }, [])\n };\n return [map, actions];\n}\n\n// src/useOnClickOutside/useOnClickOutside.ts\nfunction useOnClickOutside(ref, handler, eventType = \"mousedown\", eventListenerOptions = {}) {\n useEventListener(\n eventType,\n (event) => {\n const target = event.target;\n if (!target || !target.isConnected) {\n return;\n }\n const isOutside = Array.isArray(ref) ? ref.filter((r) => Boolean(r.current)).every((r) => r.current && !r.current.contains(target)) : ref.current && !ref.current.contains(target);\n if (isOutside) {\n handler(event);\n }\n },\n void 0,\n eventListenerOptions\n );\n}\nvar IS_SERVER3 = typeof window === \"undefined\";\nfunction useReadLocalStorage(key, options = {}) {\n let { initializeWithValue = true } = options;\n if (IS_SERVER3) {\n initializeWithValue = false;\n }\n const deserializer = useCallback(\n (value) => {\n if (options.deserializer) {\n return options.deserializer(value);\n }\n if (value === \"undefined\") {\n return void 0;\n }\n let parsed;\n try {\n parsed = JSON.parse(value);\n } catch (error) {\n console.error(\"Error parsing JSON:\", error);\n return null;\n }\n return parsed;\n },\n [options]\n );\n const readValue = useCallback(() => {\n if (IS_SERVER3) {\n return null;\n }\n try {\n const raw = window.localStorage.getItem(key);\n return raw ? deserializer(raw) : null;\n } catch (error) {\n console.warn(`Error reading localStorage key \\u201C${key}\\u201D:`, error);\n return null;\n }\n }, [key, deserializer]);\n const [storedValue, setStoredValue] = useState(() => {\n if (initializeWithValue) {\n return readValue();\n }\n return void 0;\n });\n useEffect(() => {\n setStoredValue(readValue());\n }, [key]);\n const handleStorageChange = useCallback(\n (event) => {\n if (event.key && event.key !== key) {\n return;\n }\n setStoredValue(readValue());\n },\n [key, readValue]\n );\n useEventListener(\"storage\", handleStorageChange);\n useEventListener(\"local-storage\", handleStorageChange);\n return storedValue;\n}\nvar initialSize = {\n width: void 0,\n height: void 0\n};\nfunction useResizeObserver(options) {\n const { ref, box = \"content-box\" } = options;\n const [{ width, height }, setSize] = useState(initialSize);\n const isMounted = useIsMounted();\n const previousSize = useRef({ ...initialSize });\n const onResize = useRef(void 0);\n onResize.current = options.onResize;\n useEffect(() => {\n if (!ref.current)\n return;\n if (typeof window === \"undefined\" || !(\"ResizeObserver\" in window))\n return;\n const observer = new ResizeObserver(([entry]) => {\n const boxProp = box === \"border-box\" ? \"borderBoxSize\" : box === \"device-pixel-content-box\" ? \"devicePixelContentBoxSize\" : \"contentBoxSize\";\n const newWidth = extractSize(entry, boxProp, \"inlineSize\");\n const newHeight = extractSize(entry, boxProp, \"blockSize\");\n const hasChanged = previousSize.current.width !== newWidth || previousSize.current.height !== newHeight;\n if (hasChanged) {\n const newSize = { width: newWidth, height: newHeight };\n previousSize.current.width = newWidth;\n previousSize.current.height = newHeight;\n if (onResize.current) {\n onResize.current(newSize);\n } else {\n if (isMounted()) {\n setSize(newSize);\n }\n }\n }\n });\n observer.observe(ref.current, { box });\n return () => {\n observer.disconnect();\n };\n }, [box, ref, isMounted]);\n return { width, height };\n}\nfunction extractSize(entry, box, sizeType) {\n if (!entry[box]) {\n if (box === \"contentBoxSize\") {\n return entry.contentRect[sizeType === \"inlineSize\" ? \"width\" : \"height\"];\n }\n return void 0;\n }\n return Array.isArray(entry[box]) ? entry[box][0][sizeType] : (\n // @ts-ignore Support Firefox's non-standard behavior\n entry[box][sizeType]\n );\n}\nvar IS_SERVER4 = typeof window === \"undefined\";\nfunction useScreen(options = {}) {\n let { initializeWithValue = true } = options;\n if (IS_SERVER4) {\n initializeWithValue = false;\n }\n const readScreen = () => {\n if (IS_SERVER4) {\n return void 0;\n }\n return window.screen;\n };\n const [screen, setScreen] = useState(() => {\n if (initializeWithValue) {\n return readScreen();\n }\n return void 0;\n });\n const debouncedSetScreen = useDebounceCallback(\n setScreen,\n options.debounceDelay\n );\n function handleSize() {\n const newScreen = readScreen();\n const setSize = options.debounceDelay ? debouncedSetScreen : setScreen;\n if (newScreen) {\n const {\n width,\n height,\n availHeight,\n availWidth,\n colorDepth,\n orientation,\n pixelDepth\n } = newScreen;\n setSize({\n width,\n height,\n availHeight,\n availWidth,\n colorDepth,\n orientation,\n pixelDepth\n });\n }\n }\n useEventListener(\"resize\", handleSize);\n useIsomorphicLayoutEffect(() => {\n handleSize();\n }, []);\n return screen;\n}\nvar cachedScriptStatuses = /* @__PURE__ */ new Map();\nfunction getScriptNode(src) {\n const node = document.querySelector(\n `script[src=\"${src}\"]`\n );\n const status = node == null ? void 0 : node.getAttribute(\"data-status\");\n return {\n node,\n status\n };\n}\nfunction useScript(src, options) {\n const [status, setStatus] = useState(() => {\n if (!src || (options == null ? void 0 : options.shouldPreventLoad)) {\n return \"idle\";\n }\n if (typeof window === \"undefined\") {\n return \"loading\";\n }\n return cachedScriptStatuses.get(src) ?? \"loading\";\n });\n useEffect(() => {\n if (!src || (options == null ? void 0 : options.shouldPreventLoad)) {\n return;\n }\n const cachedScriptStatus = cachedScriptStatuses.get(src);\n if (cachedScriptStatus === \"ready\" || cachedScriptStatus === \"error\") {\n setStatus(cachedScriptStatus);\n return;\n }\n const script = getScriptNode(src);\n let scriptNode = script.node;\n if (!scriptNode) {\n scriptNode = document.createElement(\"script\");\n scriptNode.src = src;\n scriptNode.async = true;\n if (options == null ? void 0 : options.id) {\n scriptNode.id = options.id;\n }\n scriptNode.setAttribute(\"data-status\", \"loading\");\n document.body.appendChild(scriptNode);\n const setAttributeFromEvent = (event) => {\n const scriptStatus = event.type === \"load\" ? \"ready\" : \"error\";\n scriptNode == null ? void 0 : scriptNode.setAttribute(\"data-status\", scriptStatus);\n };\n scriptNode.addEventListener(\"load\", setAttributeFromEvent);\n scriptNode.addEventListener(\"error\", setAttributeFromEvent);\n } else {\n setStatus(script.status ?? cachedScriptStatus ?? \"loading\");\n }\n const setStateFromEvent = (event) => {\n const newStatus = event.type === \"load\" ? \"ready\" : \"error\";\n setStatus(newStatus);\n cachedScriptStatuses.set(src, newStatus);\n };\n scriptNode.addEventListener(\"load\", setStateFromEvent);\n scriptNode.addEventListener(\"error\", setStateFromEvent);\n return () => {\n if (scriptNode) {\n scriptNode.removeEventListener(\"load\", setStateFromEvent);\n scriptNode.removeEventListener(\"error\", setStateFromEvent);\n }\n if (scriptNode && (options == null ? void 0 : options.removeOnUnmount)) {\n scriptNode.remove();\n cachedScriptStatuses.delete(src);\n }\n };\n }, [src, options == null ? void 0 : options.shouldPreventLoad, options == null ? void 0 : options.removeOnUnmount, options == null ? void 0 : options.id]);\n return status;\n}\nvar IS_SERVER5 = typeof window === \"undefined\";\nfunction useScrollLock(options = {}) {\n const { autoLock = true, lockTarget, widthReflow = true } = options;\n const [isLocked, setIsLocked] = useState(false);\n const target = useRef(null);\n const originalStyle = useRef(null);\n const lock = () => {\n if (target.current) {\n const { overflow, paddingRight } = target.current.style;\n originalStyle.current = { overflow, paddingRight };\n if (widthReflow) {\n const offsetWidth = target.current === document.body ? window.innerWidth : target.current.offsetWidth;\n const currentPaddingRight = parseInt(window.getComputedStyle(target.current).paddingRight, 10) || 0;\n const scrollbarWidth = offsetWidth - target.current.scrollWidth;\n target.current.style.paddingRight = `${scrollbarWidth + currentPaddingRight}px`;\n }\n target.current.style.overflow = \"hidden\";\n setIsLocked(true);\n }\n };\n const unlock = () => {\n if (target.current && originalStyle.current) {\n target.current.style.overflow = originalStyle.current.overflow;\n if (widthReflow) {\n target.current.style.paddingRight = originalStyle.current.paddingRight;\n }\n }\n setIsLocked(false);\n };\n useIsomorphicLayoutEffect(() => {\n if (IS_SERVER5)\n return;\n if (lockTarget) {\n target.current = typeof lockTarget === \"string\" ? document.querySelector(lockTarget) : lockTarget;\n }\n if (!target.current) {\n target.current = document.body;\n }\n if (autoLock) {\n lock();\n }\n return () => {\n unlock();\n };\n }, [autoLock, lockTarget, widthReflow]);\n return { isLocked, lock, unlock };\n}\nvar IS_SERVER6 = typeof window === \"undefined\";\nfunction useSessionStorage(key, initialValue, options = {}) {\n const { initializeWithValue = true } = options;\n const serializer = useCallback(\n (value) => {\n if (options.serializer) {\n return options.serializer(value);\n }\n return JSON.stringify(value);\n },\n [options]\n );\n const deserializer = useCallback(\n (value) => {\n if (options.deserializer) {\n return options.deserializer(value);\n }\n if (value === \"undefined\") {\n return void 0;\n }\n const defaultValue = initialValue instanceof Function ? initialValue() : initialValue;\n let parsed;\n try {\n parsed = JSON.parse(value);\n } catch (error) {\n console.error(\"Error parsing JSON:\", error);\n return defaultValue;\n }\n return parsed;\n },\n [options, initialValue]\n );\n const readValue = useCallback(() => {\n const initialValueToUse = initialValue instanceof Function ? initialValue() : initialValue;\n if (IS_SERVER6) {\n return initialValueToUse;\n }\n try {\n const raw = window.sessionStorage.getItem(key);\n return raw ? deserializer(raw) : initialValueToUse;\n } catch (error) {\n console.warn(`Error reading sessionStorage key \\u201C${key}\\u201D:`, error);\n return initialValueToUse;\n }\n }, [initialValue, key, deserializer]);\n const [storedValue, setStoredValue] = useState(() => {\n if (initializeWithValue) {\n return readValue();\n }\n return initialValue instanceof Function ? initialValue() : initialValue;\n });\n const setValue = useEventCallback((value) => {\n if (IS_SERVER6) {\n console.warn(\n `Tried setting sessionStorage key \\u201C${key}\\u201D even though environment is not a client`\n );\n }\n try {\n const newValue = value instanceof Function ? value(readValue()) : value;\n window.sessionStorage.setItem(key, serializer(newValue));\n setStoredValue(newValue);\n window.dispatchEvent(new StorageEvent(\"session-storage\", { key }));\n } catch (error) {\n console.warn(`Error setting sessionStorage key \\u201C${key}\\u201D:`, error);\n }\n });\n const removeValue = useEventCallback(() => {\n if (IS_SERVER6) {\n console.warn(\n `Tried removing sessionStorage key \\u201C${key}\\u201D even though environment is not a client`\n );\n }\n const defaultValue = initialValue instanceof Function ? initialValue() : initialValue;\n window.sessionStorage.removeItem(key);\n setStoredValue(defaultValue);\n window.dispatchEvent(new StorageEvent(\"session-storage\", { key }));\n });\n useEffect(() => {\n setStoredValue(readValue());\n }, [key]);\n const handleStorageChange = useCallback(\n (event) => {\n if (event.key && event.key !== key) {\n return;\n }\n setStoredValue(readValue());\n },\n [key, readValue]\n );\n useEventListener(\"storage\", handleStorageChange);\n useEventListener(\"session-storage\", handleStorageChange);\n return [storedValue, setValue, removeValue];\n}\nfunction useStep(maxStep) {\n const [currentStep, setCurrentStep] = useState(1);\n const canGoToNextStep = currentStep + 1 <= maxStep;\n const canGoToPrevStep = currentStep - 1 > 0;\n const setStep = useCallback(\n (step) => {\n const newStep = step instanceof Function ? step(currentStep) : step;\n if (newStep >= 1 && newStep <= maxStep) {\n setCurrentStep(newStep);\n return;\n }\n throw new Error(\"Step not valid\");\n },\n [maxStep, currentStep]\n );\n const goToNextStep = useCallback(() => {\n if (canGoToNextStep) {\n setCurrentStep((step) => step + 1);\n }\n }, [canGoToNextStep]);\n const goToPrevStep = useCallback(() => {\n if (canGoToPrevStep) {\n setCurrentStep((step) => step - 1);\n }\n }, [canGoToPrevStep]);\n const reset = useCallback(() => {\n setCurrentStep(1);\n }, []);\n return [\n currentStep,\n {\n goToNextStep,\n goToPrevStep,\n canGoToNextStep,\n canGoToPrevStep,\n setStep,\n reset\n }\n ];\n}\n\n// src/useTernaryDarkMode/useTernaryDarkMode.ts\nvar COLOR_SCHEME_QUERY2 = \"(prefers-color-scheme: dark)\";\nvar LOCAL_STORAGE_KEY2 = \"usehooks-ts-ternary-dark-mode\";\nfunction useTernaryDarkMode({\n defaultValue = \"system\",\n localStorageKey = LOCAL_STORAGE_KEY2,\n initializeWithValue = true\n} = {}) {\n const isDarkOS = useMediaQuery(COLOR_SCHEME_QUERY2, { initializeWithValue });\n const [mode, setMode] = useLocalStorage(localStorageKey, defaultValue, {\n initializeWithValue\n });\n const isDarkMode = mode === \"dark\" || mode === \"system\" && isDarkOS;\n const toggleTernaryDarkMode = () => {\n const modes = [\"light\", \"system\", \"dark\"];\n setMode((prevMode) => {\n const nextIndex = (modes.indexOf(prevMode) + 1) % modes.length;\n return modes[nextIndex];\n });\n };\n return {\n isDarkMode,\n ternaryDarkMode: mode,\n setTernaryDarkMode: setMode,\n toggleTernaryDarkMode\n };\n}\nfunction useTimeout(callback, delay) {\n const savedCallback = useRef(callback);\n useIsomorphicLayoutEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n useEffect(() => {\n if (!delay && delay !== 0) {\n return;\n }\n const id = setTimeout(() => {\n savedCallback.current();\n }, delay);\n return () => {\n clearTimeout(id);\n };\n }, [delay]);\n}\nfunction useToggle(defaultValue) {\n const [value, setValue] = useState(!!defaultValue);\n const toggle = useCallback(() => {\n setValue((x) => !x);\n }, []);\n return [value, toggle, setValue];\n}\nvar IS_SERVER7 = typeof window === \"undefined\";\nfunction useWindowSize(options = {}) {\n let { initializeWithValue = true } = options;\n if (IS_SERVER7) {\n initializeWithValue = false;\n }\n const [windowSize, setWindowSize] = useState(() => {\n if (initializeWithValue) {\n return {\n width: window.innerWidth,\n height: window.innerHeight\n };\n }\n return {\n width: void 0,\n height: void 0\n };\n });\n const debouncedSetWindowSize = useDebounceCallback(\n setWindowSize,\n options.debounceDelay\n );\n function handleSize() {\n const setSize = options.debounceDelay ? debouncedSetWindowSize : setWindowSize;\n setSize({\n width: window.innerWidth,\n height: window.innerHeight\n });\n }\n useEventListener(\"resize\", handleSize);\n useIsomorphicLayoutEffect(() => {\n handleSize();\n }, []);\n return windowSize;\n}\n\nexport { useBoolean, useClickAnyWhere, useCopyToClipboard, useCountdown, useCounter, useDarkMode, useDebounceCallback, useDebounceValue, useDocumentTitle, useEventCallback, useEventListener, useHover, useIntersectionObserver, useInterval, useIsClient, useIsMounted, useIsomorphicLayoutEffect, useLocalStorage, useMap, useMediaQuery, useOnClickOutside, useReadLocalStorage, useResizeObserver, useScreen, useScript, useScrollLock, useSessionStorage, useStep, useTernaryDarkMode, useTimeout, useToggle, useUnmount, useWindowSize };\n"],"names":["useCopyToClipboard","copiedText","setCopiedText","useState","copy","useCallback","text","error"],"mappings":";;AAgDA,SAASA,IAAqB;AAC5B,QAAM,CAACC,GAAYC,CAAa,IAAIC,EAAS,IAAI,GAC3CC,IAAOC,EAAY,OAAOC,MAAS;AACvC,QAAI,EAAE,aAAa,QAAgB,UAAU;AAC3C,qBAAQ,KAAK,yBAAyB,GAC/B;AAET,QAAI;AACF,mBAAM,UAAU,UAAU,UAAUA,CAAI,GACxCJ,EAAcI,CAAI,GACX;AAAA,IACR,SAAQC,GAAO;AACd,qBAAQ,KAAK,eAAeA,CAAK,GACjCL,EAAc,IAAI,GACX;AAAA,IACb;AAAA,EACG,GAAE,EAAE;AACL,SAAO,CAACD,GAAYG,CAAI;AAC1B;","x_google_ignoreList":[0]}
|
package/dist/index.es468.js
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
import * as c from "react";
|
2
|
-
import { Primitive as L } from "./index.
|
3
|
-
import { Presence as O } from "./index.
|
4
|
-
import { createContextScope as le } from "./index.
|
5
|
-
import { useComposedRefs as T } from "./index.
|
6
|
-
import { useCallbackRef as x } from "./index.
|
7
|
-
import { useDirection as ce } from "./index.
|
8
|
-
import { useLayoutEffect as se } from "./index.
|
9
|
-
import { clamp as ie } from "./index.
|
10
|
-
import { composeEventHandlers as C } from "./index.
|
2
|
+
import { Primitive as L } from "./index.es398.js";
|
3
|
+
import { Presence as O } from "./index.es397.js";
|
4
|
+
import { createContextScope as le } from "./index.es392.js";
|
5
|
+
import { useComposedRefs as T } from "./index.es391.js";
|
6
|
+
import { useCallbackRef as x } from "./index.es414.js";
|
7
|
+
import { useDirection as ce } from "./index.es407.js";
|
8
|
+
import { useLayoutEffect as se } from "./index.es401.js";
|
9
|
+
import { clamp as ie } from "./index.es482.js";
|
10
|
+
import { composeEventHandlers as C } from "./index.es393.js";
|
11
11
|
import { j as b } from "./index.es212.js";
|
12
12
|
function ae(e, t) {
|
13
13
|
return c.useReducer((r, l) => t[r][l] ?? r, e);
|
package/dist/index.es468.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.es468.js","sources":["../node_modules/@radix-ui/react-scroll-area/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// packages/react/scroll-area/src/scroll-area.tsx\nimport * as React2 from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\n\n// packages/react/scroll-area/src/use-state-machine.ts\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// packages/react/scroll-area/src/scroll-area.tsx\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar SCROLL_AREA_NAME = \"ScrollArea\";\nvar [createScrollAreaContext, createScrollAreaScope] = createContextScope(SCROLL_AREA_NAME);\nvar [ScrollAreaProvider, useScrollAreaContext] = createScrollAreaContext(SCROLL_AREA_NAME);\nvar ScrollArea = React2.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeScrollArea,\n type = \"hover\",\n dir,\n scrollHideDelay = 600,\n ...scrollAreaProps\n } = props;\n const [scrollArea, setScrollArea] = React2.useState(null);\n const [viewport, setViewport] = React2.useState(null);\n const [content, setContent] = React2.useState(null);\n const [scrollbarX, setScrollbarX] = React2.useState(null);\n const [scrollbarY, setScrollbarY] = React2.useState(null);\n const [cornerWidth, setCornerWidth] = React2.useState(0);\n const [cornerHeight, setCornerHeight] = React2.useState(0);\n const [scrollbarXEnabled, setScrollbarXEnabled] = React2.useState(false);\n const [scrollbarYEnabled, setScrollbarYEnabled] = React2.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setScrollArea(node));\n const direction = useDirection(dir);\n return /* @__PURE__ */ jsx(\n ScrollAreaProvider,\n {\n scope: __scopeScrollArea,\n type,\n dir: direction,\n scrollHideDelay,\n scrollArea,\n viewport,\n onViewportChange: setViewport,\n content,\n onContentChange: setContent,\n scrollbarX,\n onScrollbarXChange: setScrollbarX,\n scrollbarXEnabled,\n onScrollbarXEnabledChange: setScrollbarXEnabled,\n scrollbarY,\n onScrollbarYChange: setScrollbarY,\n scrollbarYEnabled,\n onScrollbarYEnabledChange: setScrollbarYEnabled,\n onCornerWidthChange: setCornerWidth,\n onCornerHeightChange: setCornerHeight,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n dir: direction,\n ...scrollAreaProps,\n ref: composedRefs,\n style: {\n position: \"relative\",\n // Pass corner sizes as CSS vars to reduce re-renders of context consumers\n [\"--radix-scroll-area-corner-width\"]: cornerWidth + \"px\",\n [\"--radix-scroll-area-corner-height\"]: cornerHeight + \"px\",\n ...props.style\n }\n }\n )\n }\n );\n }\n);\nScrollArea.displayName = SCROLL_AREA_NAME;\nvar VIEWPORT_NAME = \"ScrollAreaViewport\";\nvar ScrollAreaViewport = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, children, nonce, ...viewportProps } = props;\n const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);\n const ref = React2.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onViewportChange);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-scroll-area-viewport\": \"\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n /**\n * We don't support `visible` because the intention is to have at least one scrollbar\n * if this component is used and `visible` will behave like `auto` in that case\n * https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#description\n *\n * We don't handle `auto` because the intention is for the native implementation\n * to be hidden if using this component. We just want to ensure the node is scrollable\n * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent\n * the browser from having to work out whether to render native scrollbars or not,\n * we tell it to with the intention of hiding them in CSS.\n */\n overflowX: context.scrollbarXEnabled ? \"scroll\" : \"hidden\",\n overflowY: context.scrollbarYEnabled ? \"scroll\" : \"hidden\",\n ...props.style\n },\n children: /* @__PURE__ */ jsx(\"div\", { ref: context.onContentChange, style: { minWidth: \"100%\", display: \"table\" }, children })\n }\n )\n ] });\n }\n);\nScrollAreaViewport.displayName = VIEWPORT_NAME;\nvar SCROLLBAR_NAME = \"ScrollAreaScrollbar\";\nvar ScrollAreaScrollbar = React2.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context;\n const isHorizontal = props.orientation === \"horizontal\";\n React2.useEffect(() => {\n isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);\n return () => {\n isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);\n };\n }, [isHorizontal, onScrollbarXEnabledChange, onScrollbarYEnabledChange]);\n return context.type === \"hover\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarHover, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"scroll\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarScroll, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"auto\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarAuto, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"always\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarVisible, { ...scrollbarProps, ref: forwardedRef }) : null;\n }\n);\nScrollAreaScrollbar.displayName = SCROLLBAR_NAME;\nvar ScrollAreaScrollbarHover = React2.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [visible, setVisible] = React2.useState(false);\n React2.useEffect(() => {\n const scrollArea = context.scrollArea;\n let hideTimer = 0;\n if (scrollArea) {\n const handlePointerEnter = () => {\n window.clearTimeout(hideTimer);\n setVisible(true);\n };\n const handlePointerLeave = () => {\n hideTimer = window.setTimeout(() => setVisible(false), context.scrollHideDelay);\n };\n scrollArea.addEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.addEventListener(\"pointerleave\", handlePointerLeave);\n return () => {\n window.clearTimeout(hideTimer);\n scrollArea.removeEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.removeEventListener(\"pointerleave\", handlePointerLeave);\n };\n }\n }, [context.scrollArea, context.scrollHideDelay]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarAuto,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarScroll = React2.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const isHorizontal = props.orientation === \"horizontal\";\n const debounceScrollEnd = useDebounceCallback(() => send(\"SCROLL_END\"), 100);\n const [state, send] = useStateMachine(\"hidden\", {\n hidden: {\n SCROLL: \"scrolling\"\n },\n scrolling: {\n SCROLL_END: \"idle\",\n POINTER_ENTER: \"interacting\"\n },\n interacting: {\n SCROLL: \"interacting\",\n POINTER_LEAVE: \"idle\"\n },\n idle: {\n HIDE: \"hidden\",\n SCROLL: \"scrolling\",\n POINTER_ENTER: \"interacting\"\n }\n });\n React2.useEffect(() => {\n if (state === \"idle\") {\n const hideTimer = window.setTimeout(() => send(\"HIDE\"), context.scrollHideDelay);\n return () => window.clearTimeout(hideTimer);\n }\n }, [state, context.scrollHideDelay, send]);\n React2.useEffect(() => {\n const viewport = context.viewport;\n const scrollDirection = isHorizontal ? \"scrollLeft\" : \"scrollTop\";\n if (viewport) {\n let prevScrollPos = viewport[scrollDirection];\n const handleScroll = () => {\n const scrollPos = viewport[scrollDirection];\n const hasScrollInDirectionChanged = prevScrollPos !== scrollPos;\n if (hasScrollInDirectionChanged) {\n send(\"SCROLL\");\n debounceScrollEnd();\n }\n prevScrollPos = scrollPos;\n };\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [context.viewport, isHorizontal, send, debounceScrollEnd]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || state !== \"hidden\", children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": state === \"hidden\" ? \"hidden\" : \"visible\",\n ...scrollbarProps,\n ref: forwardedRef,\n onPointerEnter: composeEventHandlers(props.onPointerEnter, () => send(\"POINTER_ENTER\")),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => send(\"POINTER_LEAVE\"))\n }\n ) });\n});\nvar ScrollAreaScrollbarAuto = React2.forwardRef((props, forwardedRef) => {\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { forceMount, ...scrollbarProps } = props;\n const [visible, setVisible] = React2.useState(false);\n const isHorizontal = props.orientation === \"horizontal\";\n const handleResize = useDebounceCallback(() => {\n if (context.viewport) {\n const isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;\n const isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;\n setVisible(isHorizontal ? isOverflowX : isOverflowY);\n }\n }, 10);\n useResizeObserver(context.viewport, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarVisible = React2.forwardRef((props, forwardedRef) => {\n const { orientation = \"vertical\", ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const thumbRef = React2.useRef(null);\n const pointerOffsetRef = React2.useRef(0);\n const [sizes, setSizes] = React2.useState({\n content: 0,\n viewport: 0,\n scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }\n });\n const thumbRatio = getThumbRatio(sizes.viewport, sizes.content);\n const commonProps = {\n ...scrollbarProps,\n sizes,\n onSizesChange: setSizes,\n hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),\n onThumbChange: (thumb) => thumbRef.current = thumb,\n onThumbPointerUp: () => pointerOffsetRef.current = 0,\n onThumbPointerDown: (pointerPos) => pointerOffsetRef.current = pointerPos\n };\n function getScrollPosition(pointerPos, dir) {\n return getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes, dir);\n }\n if (orientation === \"horizontal\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarX,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollLeft;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes, context.dir);\n thumbRef.current.style.transform = `translate3d(${offset}px, 0, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollLeft = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) {\n context.viewport.scrollLeft = getScrollPosition(pointerPos, context.dir);\n }\n }\n }\n );\n }\n if (orientation === \"vertical\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarY,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollTop;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes);\n thumbRef.current.style.transform = `translate3d(0, ${offset}px, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollTop = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) context.viewport.scrollTop = getScrollPosition(pointerPos);\n }\n }\n );\n }\n return null;\n});\nvar ScrollAreaScrollbarX = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarXChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"horizontal\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n bottom: 0,\n left: context.dir === \"rtl\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n right: context.dir === \"ltr\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n [\"--radix-scroll-area-thumb-width\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.x),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.x),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollLeft + event.deltaX;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollWidth,\n viewport: context.viewport.offsetWidth,\n scrollbar: {\n size: ref.current.clientWidth,\n paddingStart: toInt(computedStyle.paddingLeft),\n paddingEnd: toInt(computedStyle.paddingRight)\n }\n });\n }\n }\n }\n );\n});\nvar ScrollAreaScrollbarY = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarYChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"vertical\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n top: 0,\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: \"var(--radix-scroll-area-corner-height)\",\n [\"--radix-scroll-area-thumb-height\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.y),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.y),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollTop + event.deltaY;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollHeight,\n viewport: context.viewport.offsetHeight,\n scrollbar: {\n size: ref.current.clientHeight,\n paddingStart: toInt(computedStyle.paddingTop),\n paddingEnd: toInt(computedStyle.paddingBottom)\n }\n });\n }\n }\n }\n );\n});\nvar [ScrollbarProvider, useScrollbarContext] = createScrollAreaContext(SCROLLBAR_NAME);\nvar ScrollAreaScrollbarImpl = React2.forwardRef((props, forwardedRef) => {\n const {\n __scopeScrollArea,\n sizes,\n hasThumb,\n onThumbChange,\n onThumbPointerUp,\n onThumbPointerDown,\n onThumbPositionChange,\n onDragScroll,\n onWheelScroll,\n onResize,\n ...scrollbarProps\n } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, __scopeScrollArea);\n const [scrollbar, setScrollbar] = React2.useState(null);\n const composeRefs = useComposedRefs(forwardedRef, (node) => setScrollbar(node));\n const rectRef = React2.useRef(null);\n const prevWebkitUserSelectRef = React2.useRef(\"\");\n const viewport = context.viewport;\n const maxScrollPos = sizes.content - sizes.viewport;\n const handleWheelScroll = useCallbackRef(onWheelScroll);\n const handleThumbPositionChange = useCallbackRef(onThumbPositionChange);\n const handleResize = useDebounceCallback(onResize, 10);\n function handleDragScroll(event) {\n if (rectRef.current) {\n const x = event.clientX - rectRef.current.left;\n const y = event.clientY - rectRef.current.top;\n onDragScroll({ x, y });\n }\n }\n React2.useEffect(() => {\n const handleWheel = (event) => {\n const element = event.target;\n const isScrollbarWheel = scrollbar?.contains(element);\n if (isScrollbarWheel) handleWheelScroll(event, maxScrollPos);\n };\n document.addEventListener(\"wheel\", handleWheel, { passive: false });\n return () => document.removeEventListener(\"wheel\", handleWheel, { passive: false });\n }, [viewport, scrollbar, maxScrollPos, handleWheelScroll]);\n React2.useEffect(handleThumbPositionChange, [sizes, handleThumbPositionChange]);\n useResizeObserver(scrollbar, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(\n ScrollbarProvider,\n {\n scope: __scopeScrollArea,\n scrollbar,\n hasThumb,\n onThumbChange: useCallbackRef(onThumbChange),\n onThumbPointerUp: useCallbackRef(onThumbPointerUp),\n onThumbPositionChange: handleThumbPositionChange,\n onThumbPointerDown: useCallbackRef(onThumbPointerDown),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...scrollbarProps,\n ref: composeRefs,\n style: { position: \"absolute\", ...scrollbarProps.style },\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n const mainPointer = 0;\n if (event.button === mainPointer) {\n const element = event.target;\n element.setPointerCapture(event.pointerId);\n rectRef.current = scrollbar.getBoundingClientRect();\n prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;\n document.body.style.webkitUserSelect = \"none\";\n if (context.viewport) context.viewport.style.scrollBehavior = \"auto\";\n handleDragScroll(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, handleDragScroll),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const element = event.target;\n if (element.hasPointerCapture(event.pointerId)) {\n element.releasePointerCapture(event.pointerId);\n }\n document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;\n if (context.viewport) context.viewport.style.scrollBehavior = \"\";\n rectRef.current = null;\n })\n }\n )\n }\n );\n});\nvar THUMB_NAME = \"ScrollAreaThumb\";\nvar ScrollAreaThumb = React2.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...thumbProps } = props;\n const scrollbarContext = useScrollbarContext(THUMB_NAME, props.__scopeScrollArea);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || scrollbarContext.hasThumb, children: /* @__PURE__ */ jsx(ScrollAreaThumbImpl, { ref: forwardedRef, ...thumbProps }) });\n }\n);\nvar ScrollAreaThumbImpl = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, style, ...thumbProps } = props;\n const scrollAreaContext = useScrollAreaContext(THUMB_NAME, __scopeScrollArea);\n const scrollbarContext = useScrollbarContext(THUMB_NAME, __scopeScrollArea);\n const { onThumbPositionChange } = scrollbarContext;\n const composedRef = useComposedRefs(\n forwardedRef,\n (node) => scrollbarContext.onThumbChange(node)\n );\n const removeUnlinkedScrollListenerRef = React2.useRef(void 0);\n const debounceScrollEnd = useDebounceCallback(() => {\n if (removeUnlinkedScrollListenerRef.current) {\n removeUnlinkedScrollListenerRef.current();\n removeUnlinkedScrollListenerRef.current = void 0;\n }\n }, 100);\n React2.useEffect(() => {\n const viewport = scrollAreaContext.viewport;\n if (viewport) {\n const handleScroll = () => {\n debounceScrollEnd();\n if (!removeUnlinkedScrollListenerRef.current) {\n const listener = addUnlinkedScrollListener(viewport, onThumbPositionChange);\n removeUnlinkedScrollListenerRef.current = listener;\n onThumbPositionChange();\n }\n };\n onThumbPositionChange();\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [scrollAreaContext.viewport, debounceScrollEnd, onThumbPositionChange]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": scrollbarContext.hasThumb ? \"visible\" : \"hidden\",\n ...thumbProps,\n ref: composedRef,\n style: {\n width: \"var(--radix-scroll-area-thumb-width)\",\n height: \"var(--radix-scroll-area-thumb-height)\",\n ...style\n },\n onPointerDownCapture: composeEventHandlers(props.onPointerDownCapture, (event) => {\n const thumb = event.target;\n const thumbRect = thumb.getBoundingClientRect();\n const x = event.clientX - thumbRect.left;\n const y = event.clientY - thumbRect.top;\n scrollbarContext.onThumbPointerDown({ x, y });\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)\n }\n );\n }\n);\nScrollAreaThumb.displayName = THUMB_NAME;\nvar CORNER_NAME = \"ScrollAreaCorner\";\nvar ScrollAreaCorner = React2.forwardRef(\n (props, forwardedRef) => {\n const context = useScrollAreaContext(CORNER_NAME, props.__scopeScrollArea);\n const hasBothScrollbarsVisible = Boolean(context.scrollbarX && context.scrollbarY);\n const hasCorner = context.type !== \"scroll\" && hasBothScrollbarsVisible;\n return hasCorner ? /* @__PURE__ */ jsx(ScrollAreaCornerImpl, { ...props, ref: forwardedRef }) : null;\n }\n);\nScrollAreaCorner.displayName = CORNER_NAME;\nvar ScrollAreaCornerImpl = React2.forwardRef((props, forwardedRef) => {\n const { __scopeScrollArea, ...cornerProps } = props;\n const context = useScrollAreaContext(CORNER_NAME, __scopeScrollArea);\n const [width, setWidth] = React2.useState(0);\n const [height, setHeight] = React2.useState(0);\n const hasSize = Boolean(width && height);\n useResizeObserver(context.scrollbarX, () => {\n const height2 = context.scrollbarX?.offsetHeight || 0;\n context.onCornerHeightChange(height2);\n setHeight(height2);\n });\n useResizeObserver(context.scrollbarY, () => {\n const width2 = context.scrollbarY?.offsetWidth || 0;\n context.onCornerWidthChange(width2);\n setWidth(width2);\n });\n return hasSize ? /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...cornerProps,\n ref: forwardedRef,\n style: {\n width,\n height,\n position: \"absolute\",\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: 0,\n ...props.style\n }\n }\n ) : null;\n});\nfunction toInt(value) {\n return value ? parseInt(value, 10) : 0;\n}\nfunction getThumbRatio(viewportSize, contentSize) {\n const ratio = viewportSize / contentSize;\n return isNaN(ratio) ? 0 : ratio;\n}\nfunction getThumbSize(sizes) {\n const ratio = getThumbRatio(sizes.viewport, sizes.content);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio;\n return Math.max(thumbSize, 18);\n}\nfunction getScrollPositionFromPointer(pointerPos, pointerOffset, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const thumbCenter = thumbSizePx / 2;\n const offset = pointerOffset || thumbCenter;\n const thumbOffsetFromEnd = thumbSizePx - offset;\n const minPointerPos = sizes.scrollbar.paddingStart + offset;\n const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;\n const maxScrollPos = sizes.content - sizes.viewport;\n const scrollRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const interpolate = linearScale([minPointerPos, maxPointerPos], scrollRange);\n return interpolate(pointerPos);\n}\nfunction getThumbOffsetFromScroll(scrollPos, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const scrollbar = sizes.scrollbar.size - scrollbarPadding;\n const maxScrollPos = sizes.content - sizes.viewport;\n const maxThumbPos = scrollbar - thumbSizePx;\n const scrollClampRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const scrollWithoutMomentum = clamp(scrollPos, scrollClampRange);\n const interpolate = linearScale([0, maxScrollPos], [0, maxThumbPos]);\n return interpolate(scrollWithoutMomentum);\n}\nfunction linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {\n return scrollPos > 0 && scrollPos < maxScrollPos;\n}\nvar addUnlinkedScrollListener = (node, handler = () => {\n}) => {\n let prevPosition = { left: node.scrollLeft, top: node.scrollTop };\n let rAF = 0;\n (function loop() {\n const position = { left: node.scrollLeft, top: node.scrollTop };\n const isHorizontalScroll = prevPosition.left !== position.left;\n const isVerticalScroll = prevPosition.top !== position.top;\n if (isHorizontalScroll || isVerticalScroll) handler();\n prevPosition = position;\n rAF = window.requestAnimationFrame(loop);\n })();\n return () => window.cancelAnimationFrame(rAF);\n};\nfunction useDebounceCallback(callback, delay) {\n const handleCallback = useCallbackRef(callback);\n const debounceTimerRef = React2.useRef(0);\n React2.useEffect(() => () => window.clearTimeout(debounceTimerRef.current), []);\n return React2.useCallback(() => {\n window.clearTimeout(debounceTimerRef.current);\n debounceTimerRef.current = window.setTimeout(handleCallback, delay);\n }, [handleCallback, delay]);\n}\nfunction useResizeObserver(element, onResize) {\n const handleResize = useCallbackRef(onResize);\n useLayoutEffect(() => {\n let rAF = 0;\n if (element) {\n const resizeObserver = new ResizeObserver(() => {\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(handleResize);\n });\n resizeObserver.observe(element);\n return () => {\n window.cancelAnimationFrame(rAF);\n resizeObserver.unobserve(element);\n };\n }\n }, [element, handleResize]);\n}\nvar Root = ScrollArea;\nvar Viewport = ScrollAreaViewport;\nvar Scrollbar = ScrollAreaScrollbar;\nvar Thumb = ScrollAreaThumb;\nvar Corner = ScrollAreaCorner;\nexport {\n Corner,\n Root,\n ScrollArea,\n ScrollAreaCorner,\n ScrollAreaScrollbar,\n ScrollAreaThumb,\n ScrollAreaViewport,\n Scrollbar,\n Thumb,\n Viewport,\n createScrollAreaScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["useStateMachine","initialState","machine","React","state","event","SCROLL_AREA_NAME","createScrollAreaContext","createScrollAreaScope","createContextScope","ScrollAreaProvider","useScrollAreaContext","ScrollArea","React2","props","forwardedRef","__scopeScrollArea","type","dir","scrollHideDelay","scrollAreaProps","scrollArea","setScrollArea","viewport","setViewport","content","setContent","scrollbarX","setScrollbarX","scrollbarY","setScrollbarY","cornerWidth","setCornerWidth","cornerHeight","setCornerHeight","scrollbarXEnabled","setScrollbarXEnabled","scrollbarYEnabled","setScrollbarYEnabled","composedRefs","useComposedRefs","node","direction","useDirection","jsx","Primitive","VIEWPORT_NAME","ScrollAreaViewport","children","nonce","viewportProps","context","ref","jsxs","Fragment","SCROLLBAR_NAME","ScrollAreaScrollbar","forceMount","scrollbarProps","onScrollbarXEnabledChange","onScrollbarYEnabledChange","isHorizontal","ScrollAreaScrollbarHover","ScrollAreaScrollbarScroll","ScrollAreaScrollbarAuto","ScrollAreaScrollbarVisible","visible","setVisible","hideTimer","handlePointerEnter","handlePointerLeave","Presence","debounceScrollEnd","useDebounceCallback","send","scrollDirection","prevScrollPos","handleScroll","scrollPos","composeEventHandlers","handleResize","isOverflowX","isOverflowY","useResizeObserver","orientation","thumbRef","pointerOffsetRef","sizes","setSizes","thumbRatio","getThumbRatio","commonProps","thumb","pointerPos","getScrollPosition","getScrollPositionFromPointer","ScrollAreaScrollbarX","offset","getThumbOffsetFromScroll","ScrollAreaScrollbarY","onSizesChange","computedStyle","setComputedStyle","composeRefs","ScrollAreaScrollbarImpl","getThumbSize","maxScrollPos","isScrollingWithinScrollbarBounds","toInt","ScrollbarProvider","useScrollbarContext","hasThumb","onThumbChange","onThumbPointerUp","onThumbPointerDown","onThumbPositionChange","onDragScroll","onWheelScroll","onResize","scrollbar","setScrollbar","rectRef","prevWebkitUserSelectRef","handleWheelScroll","useCallbackRef","handleThumbPositionChange","handleDragScroll","x","y","handleWheel","element","THUMB_NAME","ScrollAreaThumb","thumbProps","scrollbarContext","ScrollAreaThumbImpl","style","scrollAreaContext","composedRef","removeUnlinkedScrollListenerRef","listener","addUnlinkedScrollListener","thumbRect","CORNER_NAME","ScrollAreaCorner","hasBothScrollbarsVisible","ScrollAreaCornerImpl","cornerProps","width","setWidth","height","setHeight","hasSize","height2","_a","width2","value","viewportSize","contentSize","ratio","scrollbarPadding","thumbSize","pointerOffset","thumbSizePx","thumbCenter","thumbOffsetFromEnd","minPointerPos","maxPointerPos","scrollRange","linearScale","maxThumbPos","scrollClampRange","scrollWithoutMomentum","clamp","input","output","handler","prevPosition","rAF","loop","position","isHorizontalScroll","isVerticalScroll","callback","delay","handleCallback","debounceTimerRef","useLayoutEffect","resizeObserver","Root","Viewport","Scrollbar","Thumb","Corner"],"mappings":"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","x_google_ignoreList":[0]}
|
1
|
+
{"version":3,"file":"index.es468.js","sources":["../node_modules/@radix-ui/react-scroll-area/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// src/scroll-area.tsx\nimport * as React2 from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\n\n// src/use-state-machine.ts\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// src/scroll-area.tsx\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar SCROLL_AREA_NAME = \"ScrollArea\";\nvar [createScrollAreaContext, createScrollAreaScope] = createContextScope(SCROLL_AREA_NAME);\nvar [ScrollAreaProvider, useScrollAreaContext] = createScrollAreaContext(SCROLL_AREA_NAME);\nvar ScrollArea = React2.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeScrollArea,\n type = \"hover\",\n dir,\n scrollHideDelay = 600,\n ...scrollAreaProps\n } = props;\n const [scrollArea, setScrollArea] = React2.useState(null);\n const [viewport, setViewport] = React2.useState(null);\n const [content, setContent] = React2.useState(null);\n const [scrollbarX, setScrollbarX] = React2.useState(null);\n const [scrollbarY, setScrollbarY] = React2.useState(null);\n const [cornerWidth, setCornerWidth] = React2.useState(0);\n const [cornerHeight, setCornerHeight] = React2.useState(0);\n const [scrollbarXEnabled, setScrollbarXEnabled] = React2.useState(false);\n const [scrollbarYEnabled, setScrollbarYEnabled] = React2.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setScrollArea(node));\n const direction = useDirection(dir);\n return /* @__PURE__ */ jsx(\n ScrollAreaProvider,\n {\n scope: __scopeScrollArea,\n type,\n dir: direction,\n scrollHideDelay,\n scrollArea,\n viewport,\n onViewportChange: setViewport,\n content,\n onContentChange: setContent,\n scrollbarX,\n onScrollbarXChange: setScrollbarX,\n scrollbarXEnabled,\n onScrollbarXEnabledChange: setScrollbarXEnabled,\n scrollbarY,\n onScrollbarYChange: setScrollbarY,\n scrollbarYEnabled,\n onScrollbarYEnabledChange: setScrollbarYEnabled,\n onCornerWidthChange: setCornerWidth,\n onCornerHeightChange: setCornerHeight,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n dir: direction,\n ...scrollAreaProps,\n ref: composedRefs,\n style: {\n position: \"relative\",\n // Pass corner sizes as CSS vars to reduce re-renders of context consumers\n [\"--radix-scroll-area-corner-width\"]: cornerWidth + \"px\",\n [\"--radix-scroll-area-corner-height\"]: cornerHeight + \"px\",\n ...props.style\n }\n }\n )\n }\n );\n }\n);\nScrollArea.displayName = SCROLL_AREA_NAME;\nvar VIEWPORT_NAME = \"ScrollAreaViewport\";\nvar ScrollAreaViewport = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, children, nonce, ...viewportProps } = props;\n const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);\n const ref = React2.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onViewportChange);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-scroll-area-viewport\": \"\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n /**\n * We don't support `visible` because the intention is to have at least one scrollbar\n * if this component is used and `visible` will behave like `auto` in that case\n * https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#description\n *\n * We don't handle `auto` because the intention is for the native implementation\n * to be hidden if using this component. We just want to ensure the node is scrollable\n * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent\n * the browser from having to work out whether to render native scrollbars or not,\n * we tell it to with the intention of hiding them in CSS.\n */\n overflowX: context.scrollbarXEnabled ? \"scroll\" : \"hidden\",\n overflowY: context.scrollbarYEnabled ? \"scroll\" : \"hidden\",\n ...props.style\n },\n children: /* @__PURE__ */ jsx(\"div\", { ref: context.onContentChange, style: { minWidth: \"100%\", display: \"table\" }, children })\n }\n )\n ] });\n }\n);\nScrollAreaViewport.displayName = VIEWPORT_NAME;\nvar SCROLLBAR_NAME = \"ScrollAreaScrollbar\";\nvar ScrollAreaScrollbar = React2.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context;\n const isHorizontal = props.orientation === \"horizontal\";\n React2.useEffect(() => {\n isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);\n return () => {\n isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);\n };\n }, [isHorizontal, onScrollbarXEnabledChange, onScrollbarYEnabledChange]);\n return context.type === \"hover\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarHover, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"scroll\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarScroll, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"auto\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarAuto, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"always\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarVisible, { ...scrollbarProps, ref: forwardedRef }) : null;\n }\n);\nScrollAreaScrollbar.displayName = SCROLLBAR_NAME;\nvar ScrollAreaScrollbarHover = React2.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [visible, setVisible] = React2.useState(false);\n React2.useEffect(() => {\n const scrollArea = context.scrollArea;\n let hideTimer = 0;\n if (scrollArea) {\n const handlePointerEnter = () => {\n window.clearTimeout(hideTimer);\n setVisible(true);\n };\n const handlePointerLeave = () => {\n hideTimer = window.setTimeout(() => setVisible(false), context.scrollHideDelay);\n };\n scrollArea.addEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.addEventListener(\"pointerleave\", handlePointerLeave);\n return () => {\n window.clearTimeout(hideTimer);\n scrollArea.removeEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.removeEventListener(\"pointerleave\", handlePointerLeave);\n };\n }\n }, [context.scrollArea, context.scrollHideDelay]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarAuto,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarScroll = React2.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const isHorizontal = props.orientation === \"horizontal\";\n const debounceScrollEnd = useDebounceCallback(() => send(\"SCROLL_END\"), 100);\n const [state, send] = useStateMachine(\"hidden\", {\n hidden: {\n SCROLL: \"scrolling\"\n },\n scrolling: {\n SCROLL_END: \"idle\",\n POINTER_ENTER: \"interacting\"\n },\n interacting: {\n SCROLL: \"interacting\",\n POINTER_LEAVE: \"idle\"\n },\n idle: {\n HIDE: \"hidden\",\n SCROLL: \"scrolling\",\n POINTER_ENTER: \"interacting\"\n }\n });\n React2.useEffect(() => {\n if (state === \"idle\") {\n const hideTimer = window.setTimeout(() => send(\"HIDE\"), context.scrollHideDelay);\n return () => window.clearTimeout(hideTimer);\n }\n }, [state, context.scrollHideDelay, send]);\n React2.useEffect(() => {\n const viewport = context.viewport;\n const scrollDirection = isHorizontal ? \"scrollLeft\" : \"scrollTop\";\n if (viewport) {\n let prevScrollPos = viewport[scrollDirection];\n const handleScroll = () => {\n const scrollPos = viewport[scrollDirection];\n const hasScrollInDirectionChanged = prevScrollPos !== scrollPos;\n if (hasScrollInDirectionChanged) {\n send(\"SCROLL\");\n debounceScrollEnd();\n }\n prevScrollPos = scrollPos;\n };\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [context.viewport, isHorizontal, send, debounceScrollEnd]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || state !== \"hidden\", children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": state === \"hidden\" ? \"hidden\" : \"visible\",\n ...scrollbarProps,\n ref: forwardedRef,\n onPointerEnter: composeEventHandlers(props.onPointerEnter, () => send(\"POINTER_ENTER\")),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => send(\"POINTER_LEAVE\"))\n }\n ) });\n});\nvar ScrollAreaScrollbarAuto = React2.forwardRef((props, forwardedRef) => {\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { forceMount, ...scrollbarProps } = props;\n const [visible, setVisible] = React2.useState(false);\n const isHorizontal = props.orientation === \"horizontal\";\n const handleResize = useDebounceCallback(() => {\n if (context.viewport) {\n const isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;\n const isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;\n setVisible(isHorizontal ? isOverflowX : isOverflowY);\n }\n }, 10);\n useResizeObserver(context.viewport, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarVisible = React2.forwardRef((props, forwardedRef) => {\n const { orientation = \"vertical\", ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const thumbRef = React2.useRef(null);\n const pointerOffsetRef = React2.useRef(0);\n const [sizes, setSizes] = React2.useState({\n content: 0,\n viewport: 0,\n scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }\n });\n const thumbRatio = getThumbRatio(sizes.viewport, sizes.content);\n const commonProps = {\n ...scrollbarProps,\n sizes,\n onSizesChange: setSizes,\n hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),\n onThumbChange: (thumb) => thumbRef.current = thumb,\n onThumbPointerUp: () => pointerOffsetRef.current = 0,\n onThumbPointerDown: (pointerPos) => pointerOffsetRef.current = pointerPos\n };\n function getScrollPosition(pointerPos, dir) {\n return getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes, dir);\n }\n if (orientation === \"horizontal\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarX,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollLeft;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes, context.dir);\n thumbRef.current.style.transform = `translate3d(${offset}px, 0, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollLeft = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) {\n context.viewport.scrollLeft = getScrollPosition(pointerPos, context.dir);\n }\n }\n }\n );\n }\n if (orientation === \"vertical\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarY,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollTop;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes);\n thumbRef.current.style.transform = `translate3d(0, ${offset}px, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollTop = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) context.viewport.scrollTop = getScrollPosition(pointerPos);\n }\n }\n );\n }\n return null;\n});\nvar ScrollAreaScrollbarX = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarXChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"horizontal\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n bottom: 0,\n left: context.dir === \"rtl\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n right: context.dir === \"ltr\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n [\"--radix-scroll-area-thumb-width\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.x),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.x),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollLeft + event.deltaX;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollWidth,\n viewport: context.viewport.offsetWidth,\n scrollbar: {\n size: ref.current.clientWidth,\n paddingStart: toInt(computedStyle.paddingLeft),\n paddingEnd: toInt(computedStyle.paddingRight)\n }\n });\n }\n }\n }\n );\n});\nvar ScrollAreaScrollbarY = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarYChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"vertical\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n top: 0,\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: \"var(--radix-scroll-area-corner-height)\",\n [\"--radix-scroll-area-thumb-height\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.y),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.y),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollTop + event.deltaY;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollHeight,\n viewport: context.viewport.offsetHeight,\n scrollbar: {\n size: ref.current.clientHeight,\n paddingStart: toInt(computedStyle.paddingTop),\n paddingEnd: toInt(computedStyle.paddingBottom)\n }\n });\n }\n }\n }\n );\n});\nvar [ScrollbarProvider, useScrollbarContext] = createScrollAreaContext(SCROLLBAR_NAME);\nvar ScrollAreaScrollbarImpl = React2.forwardRef((props, forwardedRef) => {\n const {\n __scopeScrollArea,\n sizes,\n hasThumb,\n onThumbChange,\n onThumbPointerUp,\n onThumbPointerDown,\n onThumbPositionChange,\n onDragScroll,\n onWheelScroll,\n onResize,\n ...scrollbarProps\n } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, __scopeScrollArea);\n const [scrollbar, setScrollbar] = React2.useState(null);\n const composeRefs = useComposedRefs(forwardedRef, (node) => setScrollbar(node));\n const rectRef = React2.useRef(null);\n const prevWebkitUserSelectRef = React2.useRef(\"\");\n const viewport = context.viewport;\n const maxScrollPos = sizes.content - sizes.viewport;\n const handleWheelScroll = useCallbackRef(onWheelScroll);\n const handleThumbPositionChange = useCallbackRef(onThumbPositionChange);\n const handleResize = useDebounceCallback(onResize, 10);\n function handleDragScroll(event) {\n if (rectRef.current) {\n const x = event.clientX - rectRef.current.left;\n const y = event.clientY - rectRef.current.top;\n onDragScroll({ x, y });\n }\n }\n React2.useEffect(() => {\n const handleWheel = (event) => {\n const element = event.target;\n const isScrollbarWheel = scrollbar?.contains(element);\n if (isScrollbarWheel) handleWheelScroll(event, maxScrollPos);\n };\n document.addEventListener(\"wheel\", handleWheel, { passive: false });\n return () => document.removeEventListener(\"wheel\", handleWheel, { passive: false });\n }, [viewport, scrollbar, maxScrollPos, handleWheelScroll]);\n React2.useEffect(handleThumbPositionChange, [sizes, handleThumbPositionChange]);\n useResizeObserver(scrollbar, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(\n ScrollbarProvider,\n {\n scope: __scopeScrollArea,\n scrollbar,\n hasThumb,\n onThumbChange: useCallbackRef(onThumbChange),\n onThumbPointerUp: useCallbackRef(onThumbPointerUp),\n onThumbPositionChange: handleThumbPositionChange,\n onThumbPointerDown: useCallbackRef(onThumbPointerDown),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...scrollbarProps,\n ref: composeRefs,\n style: { position: \"absolute\", ...scrollbarProps.style },\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n const mainPointer = 0;\n if (event.button === mainPointer) {\n const element = event.target;\n element.setPointerCapture(event.pointerId);\n rectRef.current = scrollbar.getBoundingClientRect();\n prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;\n document.body.style.webkitUserSelect = \"none\";\n if (context.viewport) context.viewport.style.scrollBehavior = \"auto\";\n handleDragScroll(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, handleDragScroll),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const element = event.target;\n if (element.hasPointerCapture(event.pointerId)) {\n element.releasePointerCapture(event.pointerId);\n }\n document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;\n if (context.viewport) context.viewport.style.scrollBehavior = \"\";\n rectRef.current = null;\n })\n }\n )\n }\n );\n});\nvar THUMB_NAME = \"ScrollAreaThumb\";\nvar ScrollAreaThumb = React2.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...thumbProps } = props;\n const scrollbarContext = useScrollbarContext(THUMB_NAME, props.__scopeScrollArea);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || scrollbarContext.hasThumb, children: /* @__PURE__ */ jsx(ScrollAreaThumbImpl, { ref: forwardedRef, ...thumbProps }) });\n }\n);\nvar ScrollAreaThumbImpl = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, style, ...thumbProps } = props;\n const scrollAreaContext = useScrollAreaContext(THUMB_NAME, __scopeScrollArea);\n const scrollbarContext = useScrollbarContext(THUMB_NAME, __scopeScrollArea);\n const { onThumbPositionChange } = scrollbarContext;\n const composedRef = useComposedRefs(\n forwardedRef,\n (node) => scrollbarContext.onThumbChange(node)\n );\n const removeUnlinkedScrollListenerRef = React2.useRef(void 0);\n const debounceScrollEnd = useDebounceCallback(() => {\n if (removeUnlinkedScrollListenerRef.current) {\n removeUnlinkedScrollListenerRef.current();\n removeUnlinkedScrollListenerRef.current = void 0;\n }\n }, 100);\n React2.useEffect(() => {\n const viewport = scrollAreaContext.viewport;\n if (viewport) {\n const handleScroll = () => {\n debounceScrollEnd();\n if (!removeUnlinkedScrollListenerRef.current) {\n const listener = addUnlinkedScrollListener(viewport, onThumbPositionChange);\n removeUnlinkedScrollListenerRef.current = listener;\n onThumbPositionChange();\n }\n };\n onThumbPositionChange();\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [scrollAreaContext.viewport, debounceScrollEnd, onThumbPositionChange]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": scrollbarContext.hasThumb ? \"visible\" : \"hidden\",\n ...thumbProps,\n ref: composedRef,\n style: {\n width: \"var(--radix-scroll-area-thumb-width)\",\n height: \"var(--radix-scroll-area-thumb-height)\",\n ...style\n },\n onPointerDownCapture: composeEventHandlers(props.onPointerDownCapture, (event) => {\n const thumb = event.target;\n const thumbRect = thumb.getBoundingClientRect();\n const x = event.clientX - thumbRect.left;\n const y = event.clientY - thumbRect.top;\n scrollbarContext.onThumbPointerDown({ x, y });\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)\n }\n );\n }\n);\nScrollAreaThumb.displayName = THUMB_NAME;\nvar CORNER_NAME = \"ScrollAreaCorner\";\nvar ScrollAreaCorner = React2.forwardRef(\n (props, forwardedRef) => {\n const context = useScrollAreaContext(CORNER_NAME, props.__scopeScrollArea);\n const hasBothScrollbarsVisible = Boolean(context.scrollbarX && context.scrollbarY);\n const hasCorner = context.type !== \"scroll\" && hasBothScrollbarsVisible;\n return hasCorner ? /* @__PURE__ */ jsx(ScrollAreaCornerImpl, { ...props, ref: forwardedRef }) : null;\n }\n);\nScrollAreaCorner.displayName = CORNER_NAME;\nvar ScrollAreaCornerImpl = React2.forwardRef((props, forwardedRef) => {\n const { __scopeScrollArea, ...cornerProps } = props;\n const context = useScrollAreaContext(CORNER_NAME, __scopeScrollArea);\n const [width, setWidth] = React2.useState(0);\n const [height, setHeight] = React2.useState(0);\n const hasSize = Boolean(width && height);\n useResizeObserver(context.scrollbarX, () => {\n const height2 = context.scrollbarX?.offsetHeight || 0;\n context.onCornerHeightChange(height2);\n setHeight(height2);\n });\n useResizeObserver(context.scrollbarY, () => {\n const width2 = context.scrollbarY?.offsetWidth || 0;\n context.onCornerWidthChange(width2);\n setWidth(width2);\n });\n return hasSize ? /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...cornerProps,\n ref: forwardedRef,\n style: {\n width,\n height,\n position: \"absolute\",\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: 0,\n ...props.style\n }\n }\n ) : null;\n});\nfunction toInt(value) {\n return value ? parseInt(value, 10) : 0;\n}\nfunction getThumbRatio(viewportSize, contentSize) {\n const ratio = viewportSize / contentSize;\n return isNaN(ratio) ? 0 : ratio;\n}\nfunction getThumbSize(sizes) {\n const ratio = getThumbRatio(sizes.viewport, sizes.content);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio;\n return Math.max(thumbSize, 18);\n}\nfunction getScrollPositionFromPointer(pointerPos, pointerOffset, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const thumbCenter = thumbSizePx / 2;\n const offset = pointerOffset || thumbCenter;\n const thumbOffsetFromEnd = thumbSizePx - offset;\n const minPointerPos = sizes.scrollbar.paddingStart + offset;\n const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;\n const maxScrollPos = sizes.content - sizes.viewport;\n const scrollRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const interpolate = linearScale([minPointerPos, maxPointerPos], scrollRange);\n return interpolate(pointerPos);\n}\nfunction getThumbOffsetFromScroll(scrollPos, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const scrollbar = sizes.scrollbar.size - scrollbarPadding;\n const maxScrollPos = sizes.content - sizes.viewport;\n const maxThumbPos = scrollbar - thumbSizePx;\n const scrollClampRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const scrollWithoutMomentum = clamp(scrollPos, scrollClampRange);\n const interpolate = linearScale([0, maxScrollPos], [0, maxThumbPos]);\n return interpolate(scrollWithoutMomentum);\n}\nfunction linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {\n return scrollPos > 0 && scrollPos < maxScrollPos;\n}\nvar addUnlinkedScrollListener = (node, handler = () => {\n}) => {\n let prevPosition = { left: node.scrollLeft, top: node.scrollTop };\n let rAF = 0;\n (function loop() {\n const position = { left: node.scrollLeft, top: node.scrollTop };\n const isHorizontalScroll = prevPosition.left !== position.left;\n const isVerticalScroll = prevPosition.top !== position.top;\n if (isHorizontalScroll || isVerticalScroll) handler();\n prevPosition = position;\n rAF = window.requestAnimationFrame(loop);\n })();\n return () => window.cancelAnimationFrame(rAF);\n};\nfunction useDebounceCallback(callback, delay) {\n const handleCallback = useCallbackRef(callback);\n const debounceTimerRef = React2.useRef(0);\n React2.useEffect(() => () => window.clearTimeout(debounceTimerRef.current), []);\n return React2.useCallback(() => {\n window.clearTimeout(debounceTimerRef.current);\n debounceTimerRef.current = window.setTimeout(handleCallback, delay);\n }, [handleCallback, delay]);\n}\nfunction useResizeObserver(element, onResize) {\n const handleResize = useCallbackRef(onResize);\n useLayoutEffect(() => {\n let rAF = 0;\n if (element) {\n const resizeObserver = new ResizeObserver(() => {\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(handleResize);\n });\n resizeObserver.observe(element);\n return () => {\n window.cancelAnimationFrame(rAF);\n resizeObserver.unobserve(element);\n };\n }\n }, [element, handleResize]);\n}\nvar Root = ScrollArea;\nvar Viewport = ScrollAreaViewport;\nvar Scrollbar = ScrollAreaScrollbar;\nvar Thumb = ScrollAreaThumb;\nvar Corner = ScrollAreaCorner;\nexport {\n Corner,\n Root,\n ScrollArea,\n ScrollAreaCorner,\n ScrollAreaScrollbar,\n ScrollAreaThumb,\n ScrollAreaViewport,\n Scrollbar,\n Thumb,\n Viewport,\n createScrollAreaScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["useStateMachine","initialState","machine","React","state","event","SCROLL_AREA_NAME","createScrollAreaContext","createScrollAreaScope","createContextScope","ScrollAreaProvider","useScrollAreaContext","ScrollArea","React2","props","forwardedRef","__scopeScrollArea","type","dir","scrollHideDelay","scrollAreaProps","scrollArea","setScrollArea","viewport","setViewport","content","setContent","scrollbarX","setScrollbarX","scrollbarY","setScrollbarY","cornerWidth","setCornerWidth","cornerHeight","setCornerHeight","scrollbarXEnabled","setScrollbarXEnabled","scrollbarYEnabled","setScrollbarYEnabled","composedRefs","useComposedRefs","node","direction","useDirection","jsx","Primitive","VIEWPORT_NAME","ScrollAreaViewport","children","nonce","viewportProps","context","ref","jsxs","Fragment","SCROLLBAR_NAME","ScrollAreaScrollbar","forceMount","scrollbarProps","onScrollbarXEnabledChange","onScrollbarYEnabledChange","isHorizontal","ScrollAreaScrollbarHover","ScrollAreaScrollbarScroll","ScrollAreaScrollbarAuto","ScrollAreaScrollbarVisible","visible","setVisible","hideTimer","handlePointerEnter","handlePointerLeave","Presence","debounceScrollEnd","useDebounceCallback","send","scrollDirection","prevScrollPos","handleScroll","scrollPos","composeEventHandlers","handleResize","isOverflowX","isOverflowY","useResizeObserver","orientation","thumbRef","pointerOffsetRef","sizes","setSizes","thumbRatio","getThumbRatio","commonProps","thumb","pointerPos","getScrollPosition","getScrollPositionFromPointer","ScrollAreaScrollbarX","offset","getThumbOffsetFromScroll","ScrollAreaScrollbarY","onSizesChange","computedStyle","setComputedStyle","composeRefs","ScrollAreaScrollbarImpl","getThumbSize","maxScrollPos","isScrollingWithinScrollbarBounds","toInt","ScrollbarProvider","useScrollbarContext","hasThumb","onThumbChange","onThumbPointerUp","onThumbPointerDown","onThumbPositionChange","onDragScroll","onWheelScroll","onResize","scrollbar","setScrollbar","rectRef","prevWebkitUserSelectRef","handleWheelScroll","useCallbackRef","handleThumbPositionChange","handleDragScroll","x","y","handleWheel","element","THUMB_NAME","ScrollAreaThumb","thumbProps","scrollbarContext","ScrollAreaThumbImpl","style","scrollAreaContext","composedRef","removeUnlinkedScrollListenerRef","listener","addUnlinkedScrollListener","thumbRect","CORNER_NAME","ScrollAreaCorner","hasBothScrollbarsVisible","ScrollAreaCornerImpl","cornerProps","width","setWidth","height","setHeight","hasSize","height2","_a","width2","value","viewportSize","contentSize","ratio","scrollbarPadding","thumbSize","pointerOffset","thumbSizePx","thumbCenter","thumbOffsetFromEnd","minPointerPos","maxPointerPos","scrollRange","linearScale","maxThumbPos","scrollClampRange","scrollWithoutMomentum","clamp","input","output","handler","prevPosition","rAF","loop","position","isHorizontalScroll","isVerticalScroll","callback","delay","handleCallback","debounceTimerRef","useLayoutEffect","resizeObserver","Root","Viewport","Scrollbar","Thumb","Corner"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/index.es481.js
CHANGED
package/dist/index.es481.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.es481.js","sources":[
|
1
|
+
{"version":3,"file":"index.es481.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
package/dist/index.es482.js
CHANGED
package/dist/index.es482.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.es482.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.es482.js","sources":["../node_modules/@radix-ui/number/dist/index.mjs"],"sourcesContent":["// packages/core/number/src/number.ts\nfunction clamp(value, [min, max]) {\n return Math.min(max, Math.max(min, value));\n}\nexport {\n clamp\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["clamp","value","min","max"],"mappings":"AACA,SAASA,EAAMC,GAAO,CAACC,GAAKC,CAAG,GAAG;AAChC,SAAO,KAAK,IAAIA,GAAK,KAAK,IAAID,GAAKD,CAAK,CAAC;AAC3C;","x_google_ignoreList":[0]}
|
package/dist/index.es49.js
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
import { j as e } from "./index.es212.js";
|
2
|
-
import {
|
2
|
+
import { Checkbox as h, CheckboxIndicator as m } from "./index.es255.js";
|
3
3
|
import { Row as l } from "./index.es9.js";
|
4
4
|
import d from "./index.es224.js";
|
5
5
|
import './components/ui/Checkbox/Checkbox.css';/* empty css */
|
6
6
|
import { clsx as p } from "./index.es214.js";
|
7
|
-
const
|
8
|
-
id:
|
9
|
-
label:
|
7
|
+
const u = ({
|
8
|
+
id: t,
|
9
|
+
label: o,
|
10
10
|
checked: n,
|
11
11
|
onChange: i,
|
12
|
-
classNameText:
|
12
|
+
classNameText: c = "fs-6 fw-bold"
|
13
13
|
}) => {
|
14
14
|
var s;
|
15
|
-
const
|
15
|
+
const a = () => /* @__PURE__ */ e.jsx(
|
16
16
|
"svg",
|
17
17
|
{
|
18
18
|
width: "14",
|
@@ -32,31 +32,31 @@ const C = ({
|
|
32
32
|
}
|
33
33
|
)
|
34
34
|
}
|
35
|
-
), r = new DOMParser().parseFromString(`${
|
35
|
+
), r = new DOMParser().parseFromString(`${o}`, "text/html"), x = ((s = r == null ? void 0 : r.body) == null ? void 0 : s.textContent) || "";
|
36
36
|
return /* @__PURE__ */ e.jsxs(l, { alignItems: "center", gap: "x16", children: [
|
37
37
|
/* @__PURE__ */ e.jsx(
|
38
38
|
h,
|
39
39
|
{
|
40
|
-
id:
|
40
|
+
id: t,
|
41
41
|
checked: n,
|
42
42
|
onCheckedChange: i,
|
43
43
|
className: "ui-checkbox",
|
44
44
|
"aria-label": x,
|
45
|
-
children: /* @__PURE__ */ e.jsx(m, { children: /* @__PURE__ */ e.jsx(
|
45
|
+
children: /* @__PURE__ */ e.jsx(m, { children: /* @__PURE__ */ e.jsx(a, {}) })
|
46
46
|
}
|
47
47
|
),
|
48
|
-
|
48
|
+
o && /* @__PURE__ */ e.jsx(
|
49
49
|
d,
|
50
50
|
{
|
51
51
|
as: "label",
|
52
|
-
htmlFor:
|
53
|
-
className: p(
|
54
|
-
children:
|
52
|
+
htmlFor: t,
|
53
|
+
className: p(c, "text-slate-20"),
|
54
|
+
children: o
|
55
55
|
}
|
56
56
|
)
|
57
57
|
] });
|
58
58
|
};
|
59
59
|
export {
|
60
|
-
|
60
|
+
u as Checkbox
|
61
61
|
};
|
62
62
|
//# sourceMappingURL=index.es49.js.map
|
package/dist/index.es57.js
CHANGED
package/dist/index.es6.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import { j as p } from "./index.es212.js";
|
2
2
|
import { clsx as l } from "./index.es214.js";
|
3
3
|
import { useMemo as u } from "react";
|
4
|
-
import { createSpacingClasses as x } from "./index.
|
4
|
+
import { createSpacingClasses as x } from "./index.es228.js";
|
5
5
|
import './components/ui/Container/Container.css';/* empty css */
|
6
6
|
const v = ({
|
7
7
|
as: o,
|