@rpcbase/ui 0.230.0 → 0.231.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/PhoneNumberInput/index.d.ts.map +1 -1
- package/dist/index100.js +5 -52
- package/dist/index100.js.map +1 -1
- package/dist/index101.js +7 -3
- package/dist/index101.js.map +1 -1
- package/dist/index102.js +5 -4
- package/dist/index102.js.map +1 -1
- package/dist/index103.js +4 -15
- package/dist/index103.js.map +1 -1
- package/dist/index104.js +4 -5
- package/dist/index104.js.map +1 -1
- package/dist/index105.js +6 -7
- package/dist/index105.js.map +1 -1
- package/dist/index106.js +145 -16
- package/dist/index106.js.map +1 -1
- package/dist/index107.js +39 -4
- package/dist/index107.js.map +1 -1
- package/dist/index108.js +4 -4
- package/dist/index108.js.map +1 -1
- package/dist/index109.js +7 -5
- package/dist/index109.js.map +1 -1
- package/dist/index110.js +13 -5
- package/dist/index110.js.map +1 -1
- package/dist/index111.js +13 -4
- package/dist/index111.js.map +1 -1
- package/dist/index112.js +7 -4
- package/dist/index112.js.map +1 -1
- package/dist/index113.js +31 -6
- package/dist/index113.js.map +1 -1
- package/dist/index114.js +10 -24
- package/dist/index114.js.map +1 -1
- package/dist/index115.js +10 -6
- package/dist/index115.js.map +1 -1
- package/dist/index116.js +8 -4
- package/dist/index116.js.map +1 -1
- package/dist/index117.js +13 -6
- package/dist/index117.js.map +1 -1
- package/dist/index118.js +101 -5
- package/dist/index118.js.map +1 -1
- package/dist/index119.js +20 -5
- package/dist/index119.js.map +1 -1
- package/dist/index120.js +53 -5
- package/dist/index120.js.map +1 -1
- package/dist/index121.js +72 -4
- package/dist/index121.js.map +1 -1
- package/dist/index122.js +9 -8
- package/dist/index122.js.map +1 -1
- package/dist/index123.js +20 -5
- package/dist/index123.js.map +1 -1
- package/dist/index124.js +16 -4
- package/dist/index124.js.map +1 -1
- package/dist/index125.js +23 -4
- package/dist/index125.js.map +1 -1
- package/dist/index126.js +6 -6
- package/dist/index126.js.map +1 -1
- package/dist/index127.js +4 -144
- package/dist/index127.js.map +1 -1
- package/dist/index128.js +23 -39
- package/dist/index128.js.map +1 -1
- package/dist/index129.js +35 -5
- package/dist/index129.js.map +1 -1
- package/dist/index130.js +16 -8
- package/dist/index130.js.map +1 -1
- package/dist/index131.js +6 -13
- package/dist/index131.js.map +1 -1
- package/dist/index132.js +4 -13
- package/dist/index132.js.map +1 -1
- package/dist/index133.js +4 -7
- package/dist/index133.js.map +1 -1
- package/dist/index134.js +4 -31
- package/dist/index134.js.map +1 -1
- package/dist/index135.js +4 -10
- package/dist/index135.js.map +1 -1
- package/dist/index136.js +3 -10
- package/dist/index136.js.map +1 -1
- package/dist/index137.js +6 -8
- package/dist/index137.js.map +1 -1
- package/dist/index138.js +24 -14
- package/dist/index138.js.map +1 -1
- package/dist/index139.js +7 -101
- package/dist/index139.js.map +1 -1
- package/dist/index140.js +7 -20
- package/dist/index140.js.map +1 -1
- package/dist/index141.js +5 -53
- package/dist/index141.js.map +1 -1
- package/dist/index142.js +3 -72
- package/dist/index142.js.map +1 -1
- package/dist/index143.js +3 -9
- package/dist/index143.js.map +1 -1
- package/dist/index144.js +4 -20
- package/dist/index144.js.map +1 -1
- package/dist/index145.js +3 -16
- package/dist/index145.js.map +1 -1
- package/dist/index146.js +4 -23
- package/dist/index146.js.map +1 -1
- package/dist/index147.js +3 -6
- package/dist/index147.js.map +1 -1
- package/dist/index148.js +3 -5
- package/dist/index148.js.map +1 -1
- package/dist/index149.js +3 -23
- package/dist/index149.js.map +1 -1
- package/dist/index150.js +6 -35
- package/dist/index150.js.map +1 -1
- package/dist/index151.js +69 -16
- package/dist/index151.js.map +1 -1
- package/dist/index152.js +2 -7
- package/dist/index152.js.map +1 -1
- package/dist/index153.js +363 -4
- package/dist/index153.js.map +1 -1
- package/dist/index154.js +261 -4
- package/dist/index154.js.map +1 -1
- package/dist/index155.js +60 -4
- package/dist/index155.js.map +1 -1
- package/dist/index156.js +46 -4
- package/dist/index156.js.map +1 -1
- package/dist/index157.js +169 -3
- package/dist/index157.js.map +1 -1
- package/dist/index158.js +109 -6
- package/dist/index158.js.map +1 -1
- package/dist/index159.js +25 -24
- package/dist/index159.js.map +1 -1
- package/dist/index160.js +8 -8
- package/dist/index160.js.map +1 -1
- package/dist/index161.js +4 -6
- package/dist/index161.js.map +1 -1
- package/dist/index162.js +5 -5
- package/dist/index162.js.map +1 -1
- package/dist/index163.js +4 -3
- package/dist/index163.js.map +1 -1
- package/dist/index164.js +466 -3
- package/dist/index164.js.map +1 -1
- package/dist/index165.js +185 -4
- package/dist/index165.js.map +1 -1
- package/dist/index166.js +107 -3
- package/dist/index166.js.map +1 -1
- package/dist/index167.js +262 -4
- package/dist/index167.js.map +1 -1
- package/dist/index168.js +9 -3
- package/dist/index168.js.map +1 -1
- package/dist/index169.js +42 -3
- package/dist/index169.js.map +1 -1
- package/dist/index170.js +4 -3
- package/dist/index170.js.map +1 -1
- package/dist/index171.js +11 -13
- package/dist/index171.js.map +1 -1
- package/dist/index172.js +62 -148
- package/dist/index172.js.map +1 -1
- package/dist/index173.js +37 -30
- package/dist/index173.js.map +1 -1
- package/dist/index174.js +14 -10
- package/dist/index174.js.map +1 -1
- package/dist/index175.js +23 -48
- package/dist/index175.js.map +1 -1
- package/dist/index176.js +109 -10
- package/dist/index176.js.map +1 -1
- package/dist/index177.js +13 -45
- package/dist/index177.js.map +1 -1
- package/dist/index178.js +4 -95
- package/dist/index178.js.map +1 -1
- package/dist/index179.js +4 -87
- package/dist/index179.js.map +1 -1
- package/dist/index18.js +247 -240
- package/dist/index18.js.map +1 -1
- package/dist/index180.js +5 -106
- package/dist/index180.js.map +1 -1
- package/dist/index181.js +11 -52
- package/dist/index181.js.map +1 -1
- package/dist/index182.js +19 -11
- package/dist/index182.js.map +1 -1
- package/dist/index183.js +13 -38
- package/dist/index183.js.map +1 -1
- package/dist/index184.js +261 -8
- package/dist/index184.js.map +1 -1
- package/dist/index185.js +4 -116
- package/dist/index185.js.map +1 -1
- package/dist/index186.js +28 -18
- package/dist/index186.js.map +1 -1
- package/dist/index187.js +126 -15
- package/dist/index187.js.map +1 -1
- package/dist/index188.js +5 -3
- package/dist/index188.js.map +1 -1
- package/dist/index189.js +76 -34
- package/dist/index189.js.map +1 -1
- package/dist/index190.js +65 -19
- package/dist/index190.js.map +1 -1
- package/dist/index191.js +8 -9
- package/dist/index191.js.map +1 -1
- package/dist/index192.js +15 -8
- package/dist/index192.js.map +1 -1
- package/dist/index193.js +91 -18
- package/dist/index193.js.map +1 -1
- package/dist/index194.js +63 -26
- package/dist/index194.js.map +1 -1
- package/dist/index195.js +44 -15
- package/dist/index195.js.map +1 -1
- package/dist/index200.js +1 -1
- package/dist/index203.js +1 -1
- package/dist/index205.js +2 -2
- package/dist/index206.js +2 -2
- package/dist/index209.js +3 -3
- package/dist/index210.js +1 -1
- package/dist/index211.js +2 -2
- package/dist/index212.js +2 -2
- package/dist/index214.js +1 -1
- package/dist/index215.js +2 -2
- package/dist/index216.js +1 -1
- package/dist/index217.js +7 -7
- package/dist/index218.js +3 -3
- package/dist/index219.js +1 -1
- package/dist/index220.js +1 -1
- package/dist/index221.js +3 -3
- package/dist/index222.js +1 -1
- package/dist/index223.js +1 -1
- package/dist/index225.js +1 -1
- package/dist/index226.js +1 -1
- package/dist/index227.js +1 -1
- package/dist/index228.js +2 -2
- package/dist/index229.js +2 -2
- package/dist/index230.js +3 -3
- package/dist/index231.js +2 -2
- package/dist/index232.js +1 -1
- package/dist/index234.js +1 -1
- package/dist/index235.js +2 -2
- package/dist/index236.js +1 -1
- package/dist/index247.js +1 -1
- package/dist/index248.js +1 -1
- package/dist/index250.js +1 -1
- package/dist/index252.js +1 -1
- package/dist/index253.js +1 -1
- package/dist/index254.js +3 -3
- package/dist/index255.js +2 -2
- package/dist/index259.js +11 -5
- package/dist/index259.js.map +1 -1
- package/dist/index260.js +50 -11
- package/dist/index260.js.map +1 -1
- package/dist/index261.js +4 -51
- package/dist/index261.js.map +1 -1
- package/dist/index262.js +30 -4
- package/dist/index262.js.map +1 -1
- package/dist/index263.js +12 -25
- package/dist/index263.js.map +1 -1
- package/dist/index264.js +5 -16
- package/dist/index264.js.map +1 -1
- package/dist/index265.js +21 -5
- package/dist/index265.js.map +1 -1
- package/dist/index266.js +51 -21
- package/dist/index266.js.map +1 -1
- package/dist/index267.js +25 -51
- package/dist/index267.js.map +1 -1
- package/dist/index268.js +40 -24
- package/dist/index268.js.map +1 -1
- package/dist/index269.js +37 -39
- package/dist/index269.js.map +1 -1
- package/dist/index270.js +45 -40
- package/dist/index270.js.map +1 -1
- package/dist/index271.js +21 -45
- package/dist/index271.js.map +1 -1
- package/dist/index272.js +70 -23
- package/dist/index272.js.map +1 -1
- package/dist/index273.js +17 -19
- package/dist/index273.js.map +1 -1
- package/dist/index274.js +11 -20
- package/dist/index274.js.map +1 -1
- package/dist/index275.js +26 -69
- package/dist/index275.js.map +1 -1
- package/dist/index276.js +12 -16
- package/dist/index276.js.map +1 -1
- package/dist/index277.js +17 -10
- package/dist/index277.js.map +1 -1
- package/dist/index278.js +35 -26
- package/dist/index278.js.map +1 -1
- package/dist/index279.js +261 -12
- package/dist/index279.js.map +1 -1
- package/dist/index280.js +275 -15
- package/dist/index280.js.map +1 -1
- package/dist/index281.js +68 -36
- package/dist/index281.js.map +1 -1
- package/dist/index282.js +96 -62
- package/dist/index282.js.map +1 -1
- package/dist/index283.js +77 -256
- package/dist/index283.js.map +1 -1
- package/dist/index284.js +3 -278
- package/dist/index284.js.map +1 -1
- package/dist/index285.js +29 -68
- package/dist/index285.js.map +1 -1
- package/dist/index286.js +16 -45
- package/dist/index286.js.map +1 -1
- package/dist/index287.js +34 -99
- package/dist/index287.js.map +1 -1
- package/dist/index288.js +16 -83
- package/dist/index288.js.map +1 -1
- package/dist/index289.js +4 -13
- package/dist/index289.js.map +1 -1
- package/dist/index290.js +26 -3
- package/dist/index290.js.map +1 -1
- package/dist/index291.js +26 -27
- package/dist/index291.js.map +1 -1
- package/dist/index292.js +4 -17
- package/dist/index292.js.map +1 -1
- package/dist/index293.js +79 -38
- package/dist/index293.js.map +1 -1
- package/dist/index294.js +268 -33
- package/dist/index294.js.map +1 -1
- package/dist/index295.js +11 -68
- package/dist/index295.js.map +1 -1
- package/dist/index296.js +10 -16
- package/dist/index296.js.map +1 -1
- package/dist/index297.js +25 -3
- package/dist/index297.js.map +1 -1
- package/dist/index298.js +14 -108
- package/dist/index298.js.map +1 -1
- package/dist/index299.js +119 -20
- package/dist/index299.js.map +1 -1
- package/dist/index300.js +5 -28
- package/dist/index300.js.map +1 -1
- package/dist/index301.js +41 -4
- package/dist/index301.js.map +1 -1
- package/dist/index302.js +64 -125
- package/dist/index302.js.map +1 -1
- package/dist/index303.js +14 -5
- package/dist/index303.js.map +1 -1
- package/dist/index304.js +7 -78
- package/dist/index304.js.map +1 -1
- package/dist/index305.js +5 -269
- package/dist/index305.js.map +1 -1
- package/dist/index306.js +3 -11
- package/dist/index306.js.map +1 -1
- package/dist/index307.js +11 -28
- package/dist/index307.js.map +1 -1
- package/dist/index308.js +8 -16
- package/dist/index308.js.map +1 -1
- package/dist/index309.js +134 -11
- package/dist/index309.js.map +1 -1
- package/dist/index31.js +24 -24
- package/dist/index310.js +398 -24
- package/dist/index310.js.map +1 -1
- package/dist/index311.js +51 -15
- package/dist/index311.js.map +1 -1
- package/dist/index312.js +11 -125
- package/dist/index312.js.map +1 -1
- package/dist/index313.js +11 -5
- package/dist/index313.js.map +1 -1
- package/dist/index314.js +12 -39
- package/dist/index314.js.map +1 -1
- package/dist/index315.js +148 -59
- package/dist/index315.js.map +1 -1
- package/dist/index316.js +30 -13
- package/dist/index316.js.map +1 -1
- package/dist/index317.js +10 -14
- package/dist/index317.js.map +1 -1
- package/dist/index318.js +48 -7
- package/dist/index318.js.map +1 -1
- package/dist/index319.js +12 -13
- package/dist/index319.js.map +1 -1
- package/dist/index32.js +3 -3
- package/dist/index320.js +44 -5
- package/dist/index320.js.map +1 -1
- package/dist/index321.js +95 -3
- package/dist/index321.js.map +1 -1
- package/dist/index322.js +86 -10
- package/dist/index322.js.map +1 -1
- package/dist/index323.js +105 -7
- package/dist/index323.js.map +1 -1
- package/dist/index324.js +48 -129
- package/dist/index324.js.map +1 -1
- package/dist/index325.js +11 -261
- package/dist/index325.js.map +1 -1
- package/dist/index326.js +29 -391
- package/dist/index326.js.map +1 -1
- package/dist/index327.js +8 -52
- package/dist/index327.js.map +1 -1
- package/dist/index328.js +3 -11
- package/dist/index328.js.map +1 -1
- package/dist/index329.js +9 -11
- package/dist/index329.js.map +1 -1
- package/dist/index330.js +116 -4
- package/dist/index330.js.map +1 -1
- package/dist/index331.js +17 -11
- package/dist/index331.js.map +1 -1
- package/dist/index332.js +16 -4
- package/dist/index332.js.map +1 -1
- package/dist/index333.js +37 -5
- package/dist/index333.js.map +1 -1
- package/dist/index334.js +20 -11
- package/dist/index334.js.map +1 -1
- package/dist/index335.js +8 -78
- package/dist/index335.js.map +1 -1
- package/dist/index336.js +16 -63
- package/dist/index336.js.map +1 -1
- package/dist/index337.js +27 -7
- package/dist/index337.js.map +1 -1
- package/dist/index338.js +15 -91
- package/dist/index338.js.map +1 -1
- package/dist/index339.js +7 -19
- package/dist/index339.js.map +1 -1
- package/dist/index34.js +4 -4
- package/dist/index340.js +11 -4
- package/dist/index340.js.map +1 -1
- package/dist/index341.js +8 -17
- package/dist/index341.js.map +1 -1
- package/dist/index342.js +13 -12
- package/dist/index342.js.map +1 -1
- package/dist/index343.js +3 -8
- package/dist/index343.js.map +1 -1
- package/dist/index344.js +3 -11
- package/dist/index344.js.map +1 -1
- package/dist/index345.js +16 -7
- package/dist/index345.js.map +1 -1
- package/dist/index346.js +50 -12
- package/dist/index346.js.map +1 -1
- package/dist/index347.js +5 -3
- package/dist/index347.js.map +1 -1
- package/dist/index348.js +122 -3
- package/dist/index348.js.map +1 -1
- package/dist/index349.js +33 -4
- package/dist/index349.js.map +1 -1
- package/dist/index35.js +5 -5
- package/dist/index350.js +74 -15
- package/dist/index350.js.map +1 -1
- package/dist/index351.js +141 -7
- package/dist/index351.js.map +1 -1
- package/dist/index352.js +61 -51
- package/dist/index352.js.map +1 -1
- package/dist/index353.js +49 -11
- package/dist/index353.js.map +1 -1
- package/dist/index354.js +15 -17
- package/dist/index354.js.map +1 -1
- package/dist/index355.js +8 -5
- package/dist/index355.js.map +1 -1
- package/dist/index356.js +4 -5
- package/dist/index356.js.map +1 -1
- package/dist/index357.js +11 -20
- package/dist/index357.js.map +1 -1
- package/dist/index358.js +21 -44
- package/dist/index358.js.map +1 -1
- package/dist/index359.js +5 -18
- package/dist/index359.js.map +1 -1
- package/dist/index36.js +10 -10
- package/dist/index360.js +17 -4
- package/dist/index360.js.map +1 -1
- package/dist/index361.js +12 -200
- package/dist/index361.js.map +1 -1
- package/dist/index362.js +4 -78
- package/dist/index362.js.map +1 -1
- package/dist/index363.js +10 -121
- package/dist/index363.js.map +1 -1
- package/dist/index364.js +16 -17
- package/dist/index364.js.map +1 -1
- package/dist/index365.js +5 -32
- package/dist/index365.js.map +1 -1
- package/dist/index366.js +20 -73
- package/dist/index366.js.map +1 -1
- package/dist/index367.js +45 -143
- package/dist/index367.js.map +1 -1
- package/dist/index368.js +17 -61
- package/dist/index368.js.map +1 -1
- package/dist/index369.js +4 -49
- package/dist/index369.js.map +1 -1
- package/dist/index37.js +3 -3
- package/dist/index370.js +200 -4
- package/dist/index370.js.map +1 -1
- package/dist/index371.js +77 -11
- package/dist/index371.js.map +1 -1
- package/dist/index372.js +20 -21
- package/dist/index372.js.map +1 -1
- package/dist/index373.js +8 -4
- package/dist/index373.js.map +1 -1
- package/dist/index374.js +26 -5
- package/dist/index374.js.map +1 -1
- package/dist/index375.js +27 -4
- package/dist/index375.js.map +1 -1
- package/dist/index376.js +136 -14
- package/dist/index376.js.map +1 -1
- package/dist/index377.js +12 -8
- package/dist/index377.js.map +1 -1
- package/dist/index378.js +226 -5
- package/dist/index378.js.map +1 -1
- package/dist/index379.js +3 -4
- package/dist/index379.js.map +1 -1
- package/dist/index38.js +4 -4
- package/dist/index380.js +19 -545
- package/dist/index380.js.map +1 -1
- package/dist/index381.js +77 -46
- package/dist/index381.js.map +1 -1
- package/dist/index382.js +12 -18
- package/dist/index382.js.map +1 -1
- package/dist/index383.js +3 -5
- package/dist/index383.js.map +1 -1
- package/dist/index384.js +71 -7
- package/dist/index384.js.map +1 -1
- package/dist/index385.js +9 -7
- package/dist/index385.js.map +1 -1
- package/dist/index386.js +15 -7
- package/dist/index386.js.map +1 -1
- package/dist/index387.js +4 -11
- package/dist/index387.js.map +1 -1
- package/dist/index388.js +4 -8
- package/dist/index388.js.map +1 -1
- package/dist/index389.js +4 -13
- package/dist/index389.js.map +1 -1
- package/dist/index39.js +5 -5
- package/dist/index390.js +16 -3
- package/dist/index390.js.map +1 -1
- package/dist/index391.js +9 -3
- package/dist/index391.js.map +1 -1
- package/dist/index392.js +5 -8
- package/dist/index392.js.map +1 -1
- package/dist/index393.js +5 -26
- package/dist/index393.js.map +1 -1
- package/dist/index394.js +543 -24
- package/dist/index394.js.map +1 -1
- package/dist/index395.js +44 -135
- package/dist/index395.js.map +1 -1
- package/dist/index396.js +16 -11
- package/dist/index396.js.map +1 -1
- package/dist/index397.js +5 -226
- package/dist/index397.js.map +1 -1
- package/dist/index398.js +7 -3
- package/dist/index398.js.map +1 -1
- package/dist/index399.js +6 -19
- package/dist/index399.js.map +1 -1
- package/dist/index40.js +3 -3
- package/dist/index400.js +7 -77
- package/dist/index400.js.map +1 -1
- package/dist/index401.js +12 -12
- package/dist/index401.js.map +1 -1
- package/dist/index402.js +8 -3
- package/dist/index402.js.map +1 -1
- package/dist/index403.js +12 -71
- package/dist/index403.js.map +1 -1
- package/dist/index404.js +3 -9
- package/dist/index404.js.map +1 -1
- package/dist/index405.js +3 -16
- package/dist/index405.js.map +1 -1
- package/dist/index406.js +14 -4
- package/dist/index406.js.map +1 -1
- package/dist/index407.js +490 -54
- package/dist/index407.js.map +1 -1
- package/dist/index408.js +5 -68
- package/dist/index408.js.map +1 -1
- package/dist/index409.js +55 -30
- package/dist/index409.js.map +1 -1
- package/dist/index41.js +10 -10
- package/dist/index410.js +68 -9
- package/dist/index410.js.map +1 -1
- package/dist/index411.js +26 -148
- package/dist/index411.js.map +1 -1
- package/dist/index412.js +9 -108
- package/dist/index412.js.map +1 -1
- package/dist/index413.js +153 -8
- package/dist/index413.js.map +1 -1
- package/dist/index414.js +108 -2
- package/dist/index414.js.map +1 -1
- package/dist/index415.js +7 -43
- package/dist/index415.js.map +1 -1
- package/dist/index416.js +2 -56
- package/dist/index416.js.map +1 -1
- package/dist/index417.js +43 -7
- package/dist/index417.js.map +1 -1
- package/dist/index418.js +56 -2
- package/dist/index418.js.map +1 -1
- package/dist/index419.js +7 -54
- package/dist/index419.js.map +1 -1
- package/dist/index420.js +2 -56
- package/dist/index420.js.map +1 -1
- package/dist/index421.js +54 -14
- package/dist/index421.js.map +1 -1
- package/dist/index422.js +51 -487
- package/dist/index422.js.map +1 -1
- package/dist/index423.js +2 -16
- package/dist/index423.js.map +1 -1
- package/dist/index424.js +2 -29
- package/dist/index424.js.map +1 -1
- package/dist/index425.js +2 -13
- package/dist/index425.js.map +1 -1
- package/dist/index426.js +2 -7
- package/dist/index426.js.map +1 -1
- package/dist/index427.js +16 -2
- package/dist/index427.js.map +1 -1
- package/dist/index428.js +29 -2
- package/dist/index428.js.map +1 -1
- package/dist/index429.js +13 -2
- package/dist/index429.js.map +1 -1
- package/dist/index430.js +7 -2
- package/dist/index430.js.map +1 -1
- package/dist/index48.js +2 -2
- package/dist/index49.js +31 -31
- package/dist/index50.js +29 -29
- package/dist/index51.js +2 -2
- package/dist/index52.js +12 -12
- package/dist/index53.js +4 -4
- package/dist/index54.js +1 -1
- package/dist/index55.js +21 -21
- package/dist/index56.js +5 -5
- package/dist/index57.js +5 -5
- package/dist/index58.js +8 -8
- package/dist/index59.js +5 -5
- package/dist/index60.js +17 -17
- package/dist/index61.js +5 -5
- package/dist/index62.js +3 -3
- package/dist/index74.js +1 -1
- package/dist/index75.js +2 -2
- package/dist/index76.js +2 -2
- package/dist/index79.js +52 -6
- package/dist/index79.js.map +1 -1
- package/dist/index80.js +4 -68
- package/dist/index80.js.map +1 -1
- package/dist/index81.js +5 -2
- package/dist/index81.js.map +1 -1
- package/dist/index82.js +15 -363
- package/dist/index82.js.map +1 -1
- package/dist/index83.js +5 -261
- package/dist/index83.js.map +1 -1
- package/dist/index84.js +7 -60
- package/dist/index84.js.map +1 -1
- package/dist/index85.js +16 -46
- package/dist/index85.js.map +1 -1
- package/dist/index86.js +4 -169
- package/dist/index86.js.map +1 -1
- package/dist/index87.js +4 -109
- package/dist/index87.js.map +1 -1
- package/dist/index88.js +5 -24
- package/dist/index88.js.map +1 -1
- package/dist/index89.js +6 -8
- package/dist/index89.js.map +1 -1
- package/dist/index90.js +4 -4
- package/dist/index90.js.map +1 -1
- package/dist/index91.js +4 -5
- package/dist/index91.js.map +1 -1
- package/dist/index92.js +6 -4
- package/dist/index92.js.map +1 -1
- package/dist/index93.js +24 -466
- package/dist/index93.js.map +1 -1
- package/dist/index94.js +6 -185
- package/dist/index94.js.map +1 -1
- package/dist/index95.js +4 -107
- package/dist/index95.js.map +1 -1
- package/dist/index96.js +6 -262
- package/dist/index96.js.map +1 -1
- package/dist/index97.js +5 -9
- package/dist/index97.js.map +1 -1
- package/dist/index98.js +4 -42
- package/dist/index98.js.map +1 -1
- package/dist/index99.js +5 -4
- package/dist/index99.js.map +1 -1
- package/package.json +1 -1
package/dist/index280.js
CHANGED
|
@@ -1,22 +1,282 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import * as f from "react";
|
|
2
|
+
import { isHTMLElement as Ce } from "./index309.js";
|
|
3
|
+
import { useValueAsRef as z } from "./index263.js";
|
|
4
|
+
import { useStableCallback as X } from "./index262.js";
|
|
5
|
+
import { useIsoLayoutEffect as A } from "./index261.js";
|
|
6
|
+
import { ownerDocument as Te } from "./index284.js";
|
|
7
|
+
import { getFloatingFocusElement as Ve, isTypeableCombobox as ze } from "./index290.js";
|
|
8
|
+
import { stopEvent as T, isVirtualClick as Ge, isVirtualPointerEvent as We } from "./index375.js";
|
|
9
|
+
import { isIndexOutOfListBounds as Fe, getMinListIndex as me, getMaxListIndex as Se, createGridCellMap as _e, isListIndexDisabled as pe, getGridNavigatedIndex as qe, getGridCellIndexOfCorner as He, getGridCellIndices as $e, findNonDisabledListIndex as Y } from "./index378.js";
|
|
10
|
+
import { useFloatingParentNodeId as Be, useFloatingTree as Qe } from "./index382.js";
|
|
11
|
+
import { createChangeEventDetails as Z } from "./index175.js";
|
|
12
|
+
import { enqueueFocus as Ue } from "./index380.js";
|
|
13
|
+
import { ARROW_DOWN as re, ARROW_LEFT as G, ARROW_RIGHT as W, ARROW_UP as Ae } from "./index385.js";
|
|
14
|
+
import { activeElement as ge, contains as Re, getTarget as je } from "./index291.js";
|
|
15
|
+
import { listNavigation as he, focusOut as Je } from "./index177.js";
|
|
16
|
+
const Xe = "Escape";
|
|
17
|
+
function te(c, p, u) {
|
|
18
|
+
switch (c) {
|
|
19
|
+
case "vertical":
|
|
20
|
+
return p;
|
|
21
|
+
case "horizontal":
|
|
22
|
+
return u;
|
|
23
|
+
default:
|
|
24
|
+
return p || u;
|
|
25
|
+
}
|
|
8
26
|
}
|
|
9
|
-
function
|
|
10
|
-
|
|
11
|
-
return u.useSyncExternalStore(t.subscribe, s, s);
|
|
27
|
+
function ee(c, p) {
|
|
28
|
+
return te(p, c === Ae || c === re, c === G || c === W);
|
|
12
29
|
}
|
|
13
|
-
function
|
|
14
|
-
return p
|
|
30
|
+
function Ie(c, p, u) {
|
|
31
|
+
return te(p, c === re, u ? c === G : c === W) || c === "Enter" || c === " " || c === "";
|
|
15
32
|
}
|
|
16
|
-
function
|
|
17
|
-
return
|
|
33
|
+
function Ye(c, p, u) {
|
|
34
|
+
return te(p, u ? c === G : c === W, c === re);
|
|
35
|
+
}
|
|
36
|
+
function Ze(c, p, u, i) {
|
|
37
|
+
const g = u ? c === W : c === G, E = c === Ae;
|
|
38
|
+
return p === "both" || p === "horizontal" && i && i > 1 ? c === Xe : te(p, g, E);
|
|
39
|
+
}
|
|
40
|
+
function pr(c, p) {
|
|
41
|
+
const u = "rootStore" in c ? c.rootStore : c, i = u.useState("open"), g = u.useState("floatingElement"), E = u.useState("domReferenceElement"), Ee = u.context.dataRef, {
|
|
42
|
+
listRef: o,
|
|
43
|
+
activeIndex: O,
|
|
44
|
+
onNavigate: Le = () => {
|
|
45
|
+
},
|
|
46
|
+
enabled: y = !0,
|
|
47
|
+
selectedIndex: L = null,
|
|
48
|
+
allowEscape: ne = !1,
|
|
49
|
+
loopFocus: _ = !1,
|
|
50
|
+
nested: b = !1,
|
|
51
|
+
rtl: x = !1,
|
|
52
|
+
virtual: d = !1,
|
|
53
|
+
focusItemOnOpen: M = "auto",
|
|
54
|
+
focusItemOnHover: oe = !0,
|
|
55
|
+
openOnArrowKeyDown: ce = !0,
|
|
56
|
+
disabledIndices: R = void 0,
|
|
57
|
+
orientation: m = "vertical",
|
|
58
|
+
parentOrientation: xe,
|
|
59
|
+
cols: F = 1,
|
|
60
|
+
id: Oe,
|
|
61
|
+
resetOnPointerLeave: Ne = !0,
|
|
62
|
+
externalTree: ke
|
|
63
|
+
} = p;
|
|
64
|
+
process.env.NODE_ENV !== "production" && (ne && (_ || console.warn("`useListNavigation` looping must be enabled to allow escaping."), d || console.warn("`useListNavigation` must be virtual to allow escaping.")), m === "vertical" && F > 1 && console.warn("In grid list navigation mode (`cols` > 1), the `orientation` should", 'be either "horizontal" or "both".'));
|
|
65
|
+
const De = Ve(g), N = z(De), q = Be(), v = Qe(ke);
|
|
66
|
+
A(() => {
|
|
67
|
+
Ee.current.orientation = m;
|
|
68
|
+
}, [Ee, m]);
|
|
69
|
+
const ue = ze(E), P = f.useRef(M), n = f.useRef(L ?? -1), C = f.useRef(null), S = f.useRef(!0), a = X((e) => {
|
|
70
|
+
Le(n.current === -1 ? null : n.current, e);
|
|
71
|
+
}), ye = f.useRef(a), k = f.useRef(!!g), we = f.useRef(i), h = f.useRef(!1), H = f.useRef(!1), ie = f.useRef(null), se = z(R), $ = z(i), D = z(L), be = z(Ne), le = X(() => {
|
|
72
|
+
function e(l) {
|
|
73
|
+
d ? v?.events.emit("virtualfocus", l) : ie.current = Ue(l, {
|
|
74
|
+
sync: h.current,
|
|
75
|
+
preventScroll: !0
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
const r = o.current[n.current], t = H.current;
|
|
79
|
+
r && e(r), (h.current ? (l) => l() : requestAnimationFrame)(() => {
|
|
80
|
+
const l = o.current[n.current] || r;
|
|
81
|
+
if (!l)
|
|
82
|
+
return;
|
|
83
|
+
r || e(l), // eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
84
|
+
fe && (t || !S.current) && l.scrollIntoView?.({
|
|
85
|
+
block: "nearest",
|
|
86
|
+
inline: "nearest"
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
A(() => {
|
|
91
|
+
y && (i && g ? (n.current = L ?? -1, P.current && L != null && (H.current = !0, a())) : k.current && (n.current = -1, ye.current()));
|
|
92
|
+
}, [y, i, g, L, a]), A(() => {
|
|
93
|
+
if (y) {
|
|
94
|
+
if (!i) {
|
|
95
|
+
h.current = !1;
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
if (g)
|
|
99
|
+
if (O == null) {
|
|
100
|
+
if (h.current = !1, D.current != null)
|
|
101
|
+
return;
|
|
102
|
+
if (k.current && (n.current = -1, le()), (!we.current || !k.current) && P.current && (C.current != null || P.current === !0 && C.current == null)) {
|
|
103
|
+
let e = 0;
|
|
104
|
+
const r = () => {
|
|
105
|
+
o.current[0] == null ? (e < 2 && (e ? requestAnimationFrame : queueMicrotask)(r), e += 1) : (n.current = C.current == null || Ie(C.current, m, x) || b ? me(o) : Se(o), C.current = null, a());
|
|
106
|
+
};
|
|
107
|
+
r();
|
|
108
|
+
}
|
|
109
|
+
} else Fe(o.current, O) || (n.current = O, le(), H.current = !1);
|
|
110
|
+
}
|
|
111
|
+
}, [y, i, g, O, D, b, o, m, x, a, le, se]), A(() => {
|
|
112
|
+
if (!y || g || !v || d || !k.current)
|
|
113
|
+
return;
|
|
114
|
+
const e = v.nodesRef.current, r = e.find((l) => l.id === q)?.context?.elements.floating, t = ge(Te(g)), s = e.some((l) => l.context && Re(l.context.elements.floating, t));
|
|
115
|
+
r && !s && S.current && r.focus({
|
|
116
|
+
preventScroll: !0
|
|
117
|
+
});
|
|
118
|
+
}, [y, g, v, q, d]), A(() => {
|
|
119
|
+
ye.current = a, we.current = i, k.current = !!g;
|
|
120
|
+
}), A(() => {
|
|
121
|
+
i || (C.current = null, P.current = M);
|
|
122
|
+
}, [i, M]);
|
|
123
|
+
const Me = O != null, ae = X((e) => {
|
|
124
|
+
if (!$.current)
|
|
125
|
+
return;
|
|
126
|
+
const r = o.current.indexOf(e.currentTarget);
|
|
127
|
+
r !== -1 && (n.current !== r || O !== r) && (n.current = r, a(e));
|
|
128
|
+
}), fe = f.useMemo(() => ({
|
|
129
|
+
onFocus(r) {
|
|
130
|
+
h.current = !0, ae(r);
|
|
131
|
+
},
|
|
132
|
+
onClick: ({
|
|
133
|
+
currentTarget: r
|
|
134
|
+
}) => r.focus({
|
|
135
|
+
preventScroll: !0
|
|
136
|
+
}),
|
|
137
|
+
// Safari
|
|
138
|
+
onMouseMove(r) {
|
|
139
|
+
h.current = !0, H.current = !1, oe && ae(r);
|
|
140
|
+
},
|
|
141
|
+
onPointerLeave(r) {
|
|
142
|
+
if (!$.current || !S.current || r.pointerType === "touch")
|
|
143
|
+
return;
|
|
144
|
+
h.current = !0;
|
|
145
|
+
const t = r.relatedTarget;
|
|
146
|
+
if (!(!oe || o.current.includes(t)) && be.current && (ie.current?.(), ie.current = null, n.current = -1, a(r), !d)) {
|
|
147
|
+
const s = N.current, l = ge(Te(s));
|
|
148
|
+
s && Re(s, l) && s.focus({
|
|
149
|
+
preventScroll: !0
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}), [ae, $, N, oe, o, a, be, d]), B = f.useCallback(() => xe ?? v?.nodesRef.current.find((e) => e.id === q)?.context?.dataRef?.current.orientation, [q, v, xe]), K = X((e) => {
|
|
154
|
+
if (S.current = !1, h.current = !0, e.which === 229 || !$.current && e.currentTarget === N.current)
|
|
155
|
+
return;
|
|
156
|
+
if (b && Ze(e.key, m, x, F)) {
|
|
157
|
+
ee(e.key, B()) || T(e), u.setOpen(!1, Z(he, e.nativeEvent)), Ce(E) && (d ? v?.events.emit("virtualfocus", E) : E.focus());
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
const r = n.current, t = me(o, R), s = Se(o, R);
|
|
161
|
+
if (ue || (e.key === "Home" && (T(e), n.current = t, a(e)), e.key === "End" && (T(e), n.current = s, a(e))), F > 1) {
|
|
162
|
+
const l = Array.from({
|
|
163
|
+
length: o.current.length
|
|
164
|
+
}, () => ({
|
|
165
|
+
width: 1,
|
|
166
|
+
height: 1
|
|
167
|
+
})), I = _e(l, F), j = I.findIndex((w) => w != null && !pe(o.current, w, R)), de = I.reduce((w, V, Ke) => V != null && !pe(o.current, V, R) ? Ke : w, -1), J = I[qe(I.map((w) => w != null ? o.current[w] : null), {
|
|
168
|
+
event: e,
|
|
169
|
+
orientation: m,
|
|
170
|
+
loopFocus: _,
|
|
171
|
+
rtl: x,
|
|
172
|
+
cols: F,
|
|
173
|
+
// treat undefined (empty grid spaces) as disabled indices so we
|
|
174
|
+
// don't end up in them
|
|
175
|
+
disabledIndices: $e([...(typeof R != "function" ? R : null) || o.current.map((w, V) => pe(o.current, V, R) ? V : void 0), void 0], I),
|
|
176
|
+
minIndex: j,
|
|
177
|
+
maxIndex: de,
|
|
178
|
+
prevIndex: He(
|
|
179
|
+
n.current > s ? t : n.current,
|
|
180
|
+
l,
|
|
181
|
+
I,
|
|
182
|
+
F,
|
|
183
|
+
// use a corner matching the edge closest to the direction
|
|
184
|
+
// we're moving in so we don't end up in the same item. Prefer
|
|
185
|
+
// top/left over bottom/right.
|
|
186
|
+
// eslint-disable-next-line no-nested-ternary
|
|
187
|
+
e.key === re ? "bl" : e.key === (x ? G : W) ? "tr" : "tl"
|
|
188
|
+
),
|
|
189
|
+
stopEvent: !0
|
|
190
|
+
})];
|
|
191
|
+
if (J != null && (n.current = J, a(e)), m === "both")
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
if (ee(e.key, m)) {
|
|
195
|
+
if (T(e), i && !d && ge(e.currentTarget.ownerDocument) === e.currentTarget) {
|
|
196
|
+
n.current = Ie(e.key, m, x) ? t : s, a(e);
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
Ie(e.key, m, x) ? _ ? r >= s ? ne && r !== o.current.length ? n.current = -1 : (h.current = !1, n.current = t) : n.current = Y(o.current, {
|
|
200
|
+
startingIndex: r,
|
|
201
|
+
disabledIndices: R
|
|
202
|
+
}) : n.current = Math.min(s, Y(o.current, {
|
|
203
|
+
startingIndex: r,
|
|
204
|
+
disabledIndices: R
|
|
205
|
+
})) : _ ? r <= t ? ne && r !== -1 ? n.current = o.current.length : (h.current = !1, n.current = s) : n.current = Y(o.current, {
|
|
206
|
+
startingIndex: r,
|
|
207
|
+
decrement: !0,
|
|
208
|
+
disabledIndices: R
|
|
209
|
+
}) : n.current = Math.max(t, Y(o.current, {
|
|
210
|
+
startingIndex: r,
|
|
211
|
+
decrement: !0,
|
|
212
|
+
disabledIndices: R
|
|
213
|
+
})), Fe(o.current, n.current) && (n.current = -1), a(e);
|
|
214
|
+
}
|
|
215
|
+
}), Q = f.useMemo(() => d && i && Me && {
|
|
216
|
+
"aria-activedescendant": `${Oe}-${O}`
|
|
217
|
+
}, [d, i, Me, Oe, O]), ve = f.useMemo(() => ({
|
|
218
|
+
"aria-orientation": m === "both" ? void 0 : m,
|
|
219
|
+
...ue ? {} : Q,
|
|
220
|
+
onKeyDown(e) {
|
|
221
|
+
if (e.key === "Tab" && e.shiftKey && i && !d) {
|
|
222
|
+
const r = je(e.nativeEvent);
|
|
223
|
+
if (r && !Re(N.current, r))
|
|
224
|
+
return;
|
|
225
|
+
T(e), u.setOpen(!1, Z(Je, e.nativeEvent)), Ce(E) && E.focus();
|
|
226
|
+
return;
|
|
227
|
+
}
|
|
228
|
+
K(e);
|
|
229
|
+
},
|
|
230
|
+
onPointerMove() {
|
|
231
|
+
S.current = !0;
|
|
232
|
+
}
|
|
233
|
+
}), [Q, K, N, m, ue, u, i, d, E]), U = f.useMemo(() => {
|
|
234
|
+
function e(t) {
|
|
235
|
+
M === "auto" && Ge(t.nativeEvent) && (P.current = !d);
|
|
236
|
+
}
|
|
237
|
+
function r(t) {
|
|
238
|
+
P.current = M, M === "auto" && We(t.nativeEvent) && (P.current = !0);
|
|
239
|
+
}
|
|
240
|
+
return {
|
|
241
|
+
onKeyDown(t) {
|
|
242
|
+
const s = u.select("open");
|
|
243
|
+
S.current = !1;
|
|
244
|
+
const l = t.key.startsWith("Arrow"), I = Ye(t.key, B(), x), j = ee(t.key, m), de = (b ? I : j) || t.key === "Enter" || t.key.trim() === "";
|
|
245
|
+
if (d && s)
|
|
246
|
+
return K(t);
|
|
247
|
+
if (!(!s && !ce && l)) {
|
|
248
|
+
if (de) {
|
|
249
|
+
const J = ee(t.key, B());
|
|
250
|
+
C.current = b && J ? null : t.key;
|
|
251
|
+
}
|
|
252
|
+
if (b) {
|
|
253
|
+
I && (T(t), s ? (n.current = me(o, se.current), a(t)) : u.setOpen(!0, Z(he, t.nativeEvent, t.currentTarget)));
|
|
254
|
+
return;
|
|
255
|
+
}
|
|
256
|
+
j && (D.current != null && (n.current = D.current), T(t), !s && ce ? u.setOpen(!0, Z(he, t.nativeEvent, t.currentTarget)) : K(t), s && a(t));
|
|
257
|
+
}
|
|
258
|
+
},
|
|
259
|
+
onFocus(t) {
|
|
260
|
+
u.select("open") && !d && (n.current = -1, a(t));
|
|
261
|
+
},
|
|
262
|
+
onPointerDown: r,
|
|
263
|
+
onPointerEnter: r,
|
|
264
|
+
onMouseDown: e,
|
|
265
|
+
onClick: e
|
|
266
|
+
};
|
|
267
|
+
}, [K, se, M, o, b, a, u, ce, m, B, x, D, d]), Pe = f.useMemo(() => ({
|
|
268
|
+
...Q,
|
|
269
|
+
...U
|
|
270
|
+
}), [Q, U]);
|
|
271
|
+
return f.useMemo(() => y ? {
|
|
272
|
+
reference: Pe,
|
|
273
|
+
floating: ve,
|
|
274
|
+
item: fe,
|
|
275
|
+
trigger: U
|
|
276
|
+
} : {}, [y, Pe, ve, U, fe]);
|
|
18
277
|
}
|
|
19
278
|
export {
|
|
20
|
-
|
|
279
|
+
Xe as ESCAPE,
|
|
280
|
+
pr as useListNavigation
|
|
21
281
|
};
|
|
22
282
|
//# sourceMappingURL=index280.js.map
|
package/dist/index280.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index280.js","sources":["../../../node_modules/@base-ui/utils/esm/store/useStore.js"],"sourcesContent":["import * as React from 'react';\n/* We need to import the shim because React 17 does not support the `useSyncExternalStore` API.\n * More info: https://github.com/mui/mui-x/issues/18303#issuecomment-2958392341 */\nimport { useSyncExternalStore } from 'use-sync-external-store/shim';\nimport { useSyncExternalStoreWithSelector } from 'use-sync-external-store/shim/with-selector';\nimport { isReactVersionAtLeast } from \"../reactVersion.js\";\nimport { register, getInstance } from \"../fastHooks.js\";\n/* Some tests fail in R18 with the raw useSyncExternalStore. It may be possible to make it work\n * but for now we only enable it for R19+. */\nconst canUseRawUseSyncExternalStore = isReactVersionAtLeast(19);\nconst useStoreImplementation = canUseRawUseSyncExternalStore ? useStoreFast : useStoreLegacy;\nexport function useStore(store, selector, a1, a2, a3) {\n return useStoreImplementation(store, selector, a1, a2, a3);\n}\nfunction useStoreR19(store, selector, a1, a2, a3) {\n const getSelection = React.useCallback(() => selector(store.getSnapshot(), a1, a2, a3), [store, selector, a1, a2, a3]);\n return useSyncExternalStore(store.subscribe, getSelection, getSelection);\n}\nregister({\n before(instance) {\n instance.syncIndex = 0;\n if (!instance.didInitialize) {\n instance.syncTick = 1;\n instance.syncHooks = [];\n instance.didChangeStore = true;\n instance.getSnapshot = () => {\n let didChange = false;\n for (let i = 0; i < instance.syncHooks.length; i += 1) {\n const hook = instance.syncHooks[i];\n const value = hook.selector(hook.store.state, hook.a1, hook.a2, hook.a3);\n if (hook.didChange || !Object.is(hook.value, value)) {\n didChange = true;\n hook.value = value;\n hook.didChange = false;\n }\n }\n if (didChange) {\n instance.syncTick += 1;\n }\n return instance.syncTick;\n };\n }\n },\n after(instance) {\n if (instance.syncHooks.length > 0) {\n if (instance.didChangeStore) {\n instance.didChangeStore = false;\n instance.subscribe = onStoreChange => {\n const stores = new Set();\n for (const hook of instance.syncHooks) {\n stores.add(hook.store);\n }\n const unsubscribes = [];\n for (const store of stores) {\n unsubscribes.push(store.subscribe(onStoreChange));\n }\n return () => {\n for (const unsubscribe of unsubscribes) {\n unsubscribe();\n }\n };\n };\n }\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useSyncExternalStore(instance.subscribe, instance.getSnapshot, instance.getSnapshot);\n }\n }\n});\nfunction useStoreFast(store, selector, a1, a2, a3) {\n const instance = getInstance();\n if (!instance) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return useStoreR19(store, selector, a1, a2, a3);\n }\n const index = instance.syncIndex;\n instance.syncIndex += 1;\n let hook;\n if (!instance.didInitialize) {\n hook = {\n store,\n selector,\n a1,\n a2,\n a3,\n value: selector(store.getSnapshot(), a1, a2, a3),\n didChange: false\n };\n instance.syncHooks.push(hook);\n } else {\n hook = instance.syncHooks[index];\n if (hook.store !== store || hook.selector !== selector || !Object.is(hook.a1, a1) || !Object.is(hook.a2, a2) || !Object.is(hook.a3, a3)) {\n if (hook.store !== store) {\n instance.didChangeStore = true;\n }\n hook.store = store;\n hook.selector = selector;\n hook.a1 = a1;\n hook.a2 = a2;\n hook.a3 = a3;\n hook.didChange = true;\n }\n }\n return hook.value;\n}\nfunction useStoreLegacy(store, selector, a1, a2, a3) {\n return useSyncExternalStoreWithSelector(store.subscribe, store.getSnapshot, store.getSnapshot, state => selector(state, a1, a2, a3));\n}"],"names":["canUseRawUseSyncExternalStore","isReactVersionAtLeast","useStoreImplementation","useStoreFast","useStoreLegacy","useStore","store","selector","a1","a2","a3","useStoreR19","getSelection","React","useSyncExternalStore","useSyncExternalStoreWithSelector","state"],"mappings":";;;;AASA,MAAMA,IAAgCC,EAAsB,EAAE,GACxDC,IAAyBF,IAAgCG,IAAeC;AACvE,SAASC,EAASC,GAAOC,GAAUC,GAAIC,GAAIC,GAAI;AACpD,SAAOR,EAAuBI,GAAOC,GAAUC,GAAIC,GAAIC,CAAE;AAC3D;AACA,SAASC,EAAYL,GAAOC,GAAUC,GAAIC,GAAIC,GAAI;AAChD,QAAME,IAAeC,EAAM,YAAY,MAAMN,EAASD,EAAM,eAAeE,GAAIC,GAAIC,CAAE,GAAG,CAACJ,GAAOC,GAAUC,GAAIC,GAAIC,CAAE,CAAC;AACrH,SAAOI,EAAAA,qBAAqBR,EAAM,WAAWM,GAAcA,CAAY;AACzE;AAmDA,SAAST,EAAaG,GAAOC,GAAUC,GAAIC,GAAIC,GAAI;AAI/C,SAAOC,EAAYL,GAAOC,GAAUC,GAAIC,GAAIC,CAAE;AA+BlD;AACA,SAASN,EAAeE,GAAOC,GAAUC,GAAIC,GAAIC,GAAI;AACnD,SAAOK,EAAAA,iCAAiCT,EAAM,WAAWA,EAAM,aAAaA,EAAM,aAAa,CAAAU,MAAST,EAASS,GAAOR,GAAIC,GAAIC,CAAE,CAAC;AACrI;","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index280.js","sources":["../../../node_modules/@base-ui/react/esm/floating-ui-react/hooks/useListNavigation.js"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { isHTMLElement } from '@floating-ui/utils/dom';\nimport { useValueAsRef } from '@base-ui/utils/useValueAsRef';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { ownerDocument } from '@base-ui/utils/owner';\nimport { activeElement, contains, getTarget, isTypeableCombobox, getFloatingFocusElement } from \"../utils/element.js\";\nimport { isVirtualClick, isVirtualPointerEvent, stopEvent } from \"../utils/event.js\";\nimport { isIndexOutOfListBounds, getMinListIndex, getMaxListIndex, getGridNavigatedIndex, isListIndexDisabled, createGridCellMap, getGridCellIndices, getGridCellIndexOfCorner, findNonDisabledListIndex } from \"../utils/composite.js\";\nimport { useFloatingParentNodeId, useFloatingTree } from \"../components/FloatingTree.js\";\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.js\";\nimport { REASONS } from \"../../internals/reasons.js\";\nimport { enqueueFocus } from \"../utils/enqueueFocus.js\";\nimport { ARROW_UP, ARROW_DOWN, ARROW_RIGHT, ARROW_LEFT } from \"../utils/constants.js\";\nexport const ESCAPE = 'Escape';\nfunction doSwitch(orientation, vertical, horizontal) {\n switch (orientation) {\n case 'vertical':\n return vertical;\n case 'horizontal':\n return horizontal;\n default:\n return vertical || horizontal;\n }\n}\nfunction isMainOrientationKey(key, orientation) {\n const vertical = key === ARROW_UP || key === ARROW_DOWN;\n const horizontal = key === ARROW_LEFT || key === ARROW_RIGHT;\n return doSwitch(orientation, vertical, horizontal);\n}\nfunction isMainOrientationToEndKey(key, orientation, rtl) {\n const vertical = key === ARROW_DOWN;\n const horizontal = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;\n return doSwitch(orientation, vertical, horizontal) || key === 'Enter' || key === ' ' || key === '';\n}\nfunction isCrossOrientationOpenKey(key, orientation, rtl) {\n const vertical = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;\n const horizontal = key === ARROW_DOWN;\n return doSwitch(orientation, vertical, horizontal);\n}\nfunction isCrossOrientationCloseKey(key, orientation, rtl, cols) {\n const vertical = rtl ? key === ARROW_RIGHT : key === ARROW_LEFT;\n const horizontal = key === ARROW_UP;\n if (orientation === 'both' || orientation === 'horizontal' && cols && cols > 1) {\n return key === ESCAPE;\n }\n return doSwitch(orientation, vertical, horizontal);\n}\n/**\n * Adds arrow key-based navigation of a list of items, either using real DOM\n * focus or virtual focus.\n * @see https://floating-ui.com/docs/useListNavigation\n */\nexport function useListNavigation(context, props) {\n const store = 'rootStore' in context ? context.rootStore : context;\n const open = store.useState('open');\n const floatingElement = store.useState('floatingElement');\n const domReferenceElement = store.useState('domReferenceElement');\n const dataRef = store.context.dataRef;\n const {\n listRef,\n activeIndex,\n onNavigate: onNavigateProp = () => {},\n enabled = true,\n selectedIndex = null,\n allowEscape = false,\n loopFocus = false,\n nested = false,\n rtl = false,\n virtual = false,\n focusItemOnOpen = 'auto',\n focusItemOnHover = true,\n openOnArrowKeyDown = true,\n disabledIndices = undefined,\n orientation = 'vertical',\n parentOrientation,\n cols = 1,\n id,\n resetOnPointerLeave = true,\n externalTree\n } = props;\n if (process.env.NODE_ENV !== 'production') {\n if (allowEscape) {\n if (!loopFocus) {\n console.warn('`useListNavigation` looping must be enabled to allow escaping.');\n }\n if (!virtual) {\n console.warn('`useListNavigation` must be virtual to allow escaping.');\n }\n }\n if (orientation === 'vertical' && cols > 1) {\n console.warn('In grid list navigation mode (`cols` > 1), the `orientation` should', 'be either \"horizontal\" or \"both\".');\n }\n }\n const floatingFocusElement = getFloatingFocusElement(floatingElement);\n const floatingFocusElementRef = useValueAsRef(floatingFocusElement);\n const parentId = useFloatingParentNodeId();\n const tree = useFloatingTree(externalTree);\n useIsoLayoutEffect(() => {\n dataRef.current.orientation = orientation;\n }, [dataRef, orientation]);\n const typeableComboboxReference = isTypeableCombobox(domReferenceElement);\n const focusItemOnOpenRef = React.useRef(focusItemOnOpen);\n const indexRef = React.useRef(selectedIndex ?? -1);\n const keyRef = React.useRef(null);\n const isPointerModalityRef = React.useRef(true);\n const onNavigate = useStableCallback(event => {\n onNavigateProp(indexRef.current === -1 ? null : indexRef.current, event);\n });\n const previousOnNavigateRef = React.useRef(onNavigate);\n const previousMountedRef = React.useRef(!!floatingElement);\n const previousOpenRef = React.useRef(open);\n const forceSyncFocusRef = React.useRef(false);\n const forceScrollIntoViewRef = React.useRef(false);\n const cancelQueuedFocusRef = React.useRef(null);\n const disabledIndicesRef = useValueAsRef(disabledIndices);\n const latestOpenRef = useValueAsRef(open);\n const selectedIndexRef = useValueAsRef(selectedIndex);\n const resetOnPointerLeaveRef = useValueAsRef(resetOnPointerLeave);\n const focusItem = useStableCallback(() => {\n function runFocus(item) {\n if (virtual) {\n tree?.events.emit('virtualfocus', item);\n } else {\n cancelQueuedFocusRef.current = enqueueFocus(item, {\n sync: forceSyncFocusRef.current,\n preventScroll: true\n });\n }\n }\n const initialItem = listRef.current[indexRef.current];\n const forceScrollIntoView = forceScrollIntoViewRef.current;\n if (initialItem) {\n runFocus(initialItem);\n }\n const scheduler = forceSyncFocusRef.current ? v => v() : requestAnimationFrame;\n scheduler(() => {\n const waitedItem = listRef.current[indexRef.current] || initialItem;\n if (!waitedItem) {\n return;\n }\n if (!initialItem) {\n runFocus(waitedItem);\n }\n const shouldScrollIntoView =\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n item && (forceScrollIntoView || !isPointerModalityRef.current);\n if (shouldScrollIntoView) {\n // JSDOM doesn't support `.scrollIntoView()` but it's widely supported\n // by all browsers.\n waitedItem.scrollIntoView?.({\n block: 'nearest',\n inline: 'nearest'\n });\n }\n });\n });\n\n // Sync `selectedIndex` to be the `activeIndex` upon opening the floating\n // element. Also, reset `activeIndex` upon closing the floating element.\n useIsoLayoutEffect(() => {\n if (!enabled) {\n return;\n }\n if (open && floatingElement) {\n indexRef.current = selectedIndex ?? -1;\n if (focusItemOnOpenRef.current && selectedIndex != null) {\n // Regardless of the pointer modality, we want to ensure the selected\n // item comes into view when the floating element is opened.\n forceScrollIntoViewRef.current = true;\n onNavigate();\n }\n } else if (previousMountedRef.current) {\n // Since the user can specify `onNavigate` conditionally\n // (onNavigate: open ? setActiveIndex : setSelectedIndex),\n // we store and call the previous function.\n indexRef.current = -1;\n previousOnNavigateRef.current();\n }\n }, [enabled, open, floatingElement, selectedIndex, onNavigate]);\n\n // Sync `activeIndex` to be the focused item while the floating element is\n // open.\n useIsoLayoutEffect(() => {\n if (!enabled) {\n return;\n }\n if (!open) {\n forceSyncFocusRef.current = false;\n return;\n }\n if (!floatingElement) {\n return;\n }\n if (activeIndex == null) {\n forceSyncFocusRef.current = false;\n if (selectedIndexRef.current != null) {\n return;\n }\n\n // Reset while the floating element was open (e.g. the list changed).\n if (previousMountedRef.current) {\n indexRef.current = -1;\n focusItem();\n }\n\n // Initial sync.\n if ((!previousOpenRef.current || !previousMountedRef.current) && focusItemOnOpenRef.current && (keyRef.current != null || focusItemOnOpenRef.current === true && keyRef.current == null)) {\n let runs = 0;\n const waitForListPopulated = () => {\n if (listRef.current[0] == null) {\n // Avoid letting the browser paint if possible on the first try,\n // otherwise use rAF. Don't try more than twice, since something\n // is wrong otherwise.\n if (runs < 2) {\n const scheduler = runs ? requestAnimationFrame : queueMicrotask;\n scheduler(waitForListPopulated);\n }\n runs += 1;\n } else {\n // initially focus the first non-disabled item\n indexRef.current = keyRef.current == null || isMainOrientationToEndKey(keyRef.current, orientation, rtl) || nested ? getMinListIndex(listRef) : getMaxListIndex(listRef);\n keyRef.current = null;\n onNavigate();\n }\n };\n waitForListPopulated();\n }\n } else if (!isIndexOutOfListBounds(listRef.current, activeIndex)) {\n indexRef.current = activeIndex;\n focusItem();\n forceScrollIntoViewRef.current = false;\n }\n }, [enabled, open, floatingElement, activeIndex, selectedIndexRef, nested, listRef, orientation, rtl, onNavigate, focusItem, disabledIndicesRef]);\n\n // Ensure the parent floating element has focus when a nested child closes\n // to allow arrow key navigation to work after the pointer leaves the child.\n useIsoLayoutEffect(() => {\n if (!enabled || floatingElement || !tree || virtual || !previousMountedRef.current) {\n return;\n }\n const nodes = tree.nodesRef.current;\n const parent = nodes.find(node => node.id === parentId)?.context?.elements.floating;\n const activeEl = activeElement(ownerDocument(floatingElement));\n const treeContainsActiveEl = nodes.some(node => node.context && contains(node.context.elements.floating, activeEl));\n if (parent && !treeContainsActiveEl && isPointerModalityRef.current) {\n parent.focus({\n preventScroll: true\n });\n }\n }, [enabled, floatingElement, tree, parentId, virtual]);\n useIsoLayoutEffect(() => {\n previousOnNavigateRef.current = onNavigate;\n previousOpenRef.current = open;\n previousMountedRef.current = !!floatingElement;\n });\n useIsoLayoutEffect(() => {\n if (!open) {\n keyRef.current = null;\n focusItemOnOpenRef.current = focusItemOnOpen;\n }\n }, [open, focusItemOnOpen]);\n const hasActiveIndex = activeIndex != null;\n const syncCurrentTarget = useStableCallback(event => {\n if (!latestOpenRef.current) {\n return;\n }\n const index = listRef.current.indexOf(event.currentTarget);\n if (index !== -1 && (indexRef.current !== index || activeIndex !== index)) {\n indexRef.current = index;\n onNavigate(event);\n }\n });\n const item = React.useMemo(() => {\n const itemProps = {\n onFocus(event) {\n forceSyncFocusRef.current = true;\n syncCurrentTarget(event);\n },\n onClick: ({\n currentTarget\n }) => currentTarget.focus({\n preventScroll: true\n }),\n // Safari\n onMouseMove(event) {\n forceSyncFocusRef.current = true;\n forceScrollIntoViewRef.current = false;\n if (focusItemOnHover) {\n syncCurrentTarget(event);\n }\n },\n onPointerLeave(event) {\n if (!latestOpenRef.current || !isPointerModalityRef.current || event.pointerType === 'touch') {\n return;\n }\n forceSyncFocusRef.current = true;\n const relatedTarget = event.relatedTarget;\n if (!focusItemOnHover || listRef.current.includes(relatedTarget)) {\n return;\n }\n if (!resetOnPointerLeaveRef.current) {\n return;\n }\n cancelQueuedFocusRef.current?.();\n cancelQueuedFocusRef.current = null;\n indexRef.current = -1;\n onNavigate(event);\n if (!virtual) {\n const floatingFocusEl = floatingFocusElementRef.current;\n const activeEl = activeElement(ownerDocument(floatingFocusEl));\n if (floatingFocusEl && contains(floatingFocusEl, activeEl)) {\n floatingFocusEl.focus({\n preventScroll: true\n });\n }\n }\n }\n };\n return itemProps;\n }, [syncCurrentTarget, latestOpenRef, floatingFocusElementRef, focusItemOnHover, listRef, onNavigate, resetOnPointerLeaveRef, virtual]);\n const getParentOrientation = React.useCallback(() => {\n return parentOrientation ?? tree?.nodesRef.current.find(node => node.id === parentId)?.context?.dataRef?.current.orientation;\n }, [parentId, tree, parentOrientation]);\n const commonOnKeyDown = useStableCallback(event => {\n isPointerModalityRef.current = false;\n forceSyncFocusRef.current = true;\n\n // When composing a character, Chrome fires ArrowDown twice. Firefox/Safari\n // don't appear to suffer from this. `event.isComposing` is avoided due to\n // Safari not supporting it properly (although it's not needed in the first\n // place for Safari, just avoiding any possible issues).\n if (event.which === 229) {\n return;\n }\n\n // If the floating element is animating out, ignore navigation. Otherwise,\n // the `activeIndex` gets set to 0 despite not being open so the next time\n // the user ArrowDowns, the first item won't be focused.\n if (!latestOpenRef.current && event.currentTarget === floatingFocusElementRef.current) {\n return;\n }\n if (nested && isCrossOrientationCloseKey(event.key, orientation, rtl, cols)) {\n // If the nested list's close key is also the parent navigation key,\n // let the parent navigate. Otherwise, stop propagating the event.\n if (!isMainOrientationKey(event.key, getParentOrientation())) {\n stopEvent(event);\n }\n store.setOpen(false, createChangeEventDetails(REASONS.listNavigation, event.nativeEvent));\n if (isHTMLElement(domReferenceElement)) {\n if (virtual) {\n tree?.events.emit('virtualfocus', domReferenceElement);\n } else {\n domReferenceElement.focus();\n }\n }\n return;\n }\n const currentIndex = indexRef.current;\n const minIndex = getMinListIndex(listRef, disabledIndices);\n const maxIndex = getMaxListIndex(listRef, disabledIndices);\n if (!typeableComboboxReference) {\n if (event.key === 'Home') {\n stopEvent(event);\n indexRef.current = minIndex;\n onNavigate(event);\n }\n if (event.key === 'End') {\n stopEvent(event);\n indexRef.current = maxIndex;\n onNavigate(event);\n }\n }\n\n // Grid navigation.\n if (cols > 1) {\n const sizes = Array.from({\n length: listRef.current.length\n }, () => ({\n width: 1,\n height: 1\n }));\n // To calculate movements on the grid, we use hypothetical cell indices\n // as if every item was 1x1, then convert back to real indices.\n const cellMap = createGridCellMap(sizes, cols, false);\n const minGridIndex = cellMap.findIndex(index => index != null && !isListIndexDisabled(listRef.current, index, disabledIndices));\n // last enabled index\n const maxGridIndex = cellMap.reduce((foundIndex, index, cellIndex) => index != null && !isListIndexDisabled(listRef.current, index, disabledIndices) ? cellIndex : foundIndex, -1);\n const index = cellMap[getGridNavigatedIndex(cellMap.map(itemIndex => itemIndex != null ? listRef.current[itemIndex] : null), {\n event,\n orientation,\n loopFocus,\n rtl,\n cols,\n // treat undefined (empty grid spaces) as disabled indices so we\n // don't end up in them\n disabledIndices: getGridCellIndices([...((typeof disabledIndices !== 'function' ? disabledIndices : null) || listRef.current.map((_, listIndex) => isListIndexDisabled(listRef.current, listIndex, disabledIndices) ? listIndex : undefined)), undefined], cellMap),\n minIndex: minGridIndex,\n maxIndex: maxGridIndex,\n prevIndex: getGridCellIndexOfCorner(indexRef.current > maxIndex ? minIndex : indexRef.current, sizes, cellMap, cols,\n // use a corner matching the edge closest to the direction\n // we're moving in so we don't end up in the same item. Prefer\n // top/left over bottom/right.\n // eslint-disable-next-line no-nested-ternary\n event.key === ARROW_DOWN ? 'bl' : event.key === (rtl ? ARROW_LEFT : ARROW_RIGHT) ? 'tr' : 'tl'),\n stopEvent: true\n })];\n if (index != null) {\n indexRef.current = index;\n onNavigate(event);\n }\n if (orientation === 'both') {\n return;\n }\n }\n if (isMainOrientationKey(event.key, orientation)) {\n stopEvent(event);\n\n // Reset the index if no item is focused.\n if (open && !virtual && activeElement(event.currentTarget.ownerDocument) === event.currentTarget) {\n indexRef.current = isMainOrientationToEndKey(event.key, orientation, rtl) ? minIndex : maxIndex;\n onNavigate(event);\n return;\n }\n if (isMainOrientationToEndKey(event.key, orientation, rtl)) {\n if (loopFocus) {\n if (currentIndex >= maxIndex) {\n if (allowEscape && currentIndex !== listRef.current.length) {\n indexRef.current = -1;\n } else {\n // Give time for virtualizers to update the listRef.\n forceSyncFocusRef.current = false;\n indexRef.current = minIndex;\n }\n } else {\n indexRef.current = findNonDisabledListIndex(listRef.current, {\n startingIndex: currentIndex,\n disabledIndices\n });\n }\n } else {\n indexRef.current = Math.min(maxIndex, findNonDisabledListIndex(listRef.current, {\n startingIndex: currentIndex,\n disabledIndices\n }));\n }\n } else if (loopFocus) {\n if (currentIndex <= minIndex) {\n if (allowEscape && currentIndex !== -1) {\n indexRef.current = listRef.current.length;\n } else {\n // Give time for virtualizers to update the listRef.\n forceSyncFocusRef.current = false;\n indexRef.current = maxIndex;\n }\n } else {\n indexRef.current = findNonDisabledListIndex(listRef.current, {\n startingIndex: currentIndex,\n decrement: true,\n disabledIndices\n });\n }\n } else {\n indexRef.current = Math.max(minIndex, findNonDisabledListIndex(listRef.current, {\n startingIndex: currentIndex,\n decrement: true,\n disabledIndices\n }));\n }\n if (isIndexOutOfListBounds(listRef.current, indexRef.current)) {\n indexRef.current = -1;\n }\n onNavigate(event);\n }\n });\n const ariaActiveDescendantProp = React.useMemo(() => {\n return virtual && open && hasActiveIndex && {\n 'aria-activedescendant': `${id}-${activeIndex}`\n };\n }, [virtual, open, hasActiveIndex, id, activeIndex]);\n const floating = React.useMemo(() => {\n return {\n 'aria-orientation': orientation === 'both' ? undefined : orientation,\n ...(!typeableComboboxReference ? ariaActiveDescendantProp : {}),\n onKeyDown(event) {\n // Close submenu on Shift+Tab\n if (event.key === 'Tab' && event.shiftKey && open && !virtual) {\n // If the event originated from within a nested element (e.g., a Dialog opened from\n // within the menu), don't close the menu. The nested element has its own focus\n // management and should handle the Tab key.\n const target = getTarget(event.nativeEvent);\n if (target && !contains(floatingFocusElementRef.current, target)) {\n return;\n }\n stopEvent(event);\n store.setOpen(false, createChangeEventDetails(REASONS.focusOut, event.nativeEvent));\n if (isHTMLElement(domReferenceElement)) {\n domReferenceElement.focus();\n }\n return;\n }\n commonOnKeyDown(event);\n },\n onPointerMove() {\n isPointerModalityRef.current = true;\n }\n };\n }, [ariaActiveDescendantProp, commonOnKeyDown, floatingFocusElementRef, orientation, typeableComboboxReference, store, open, virtual, domReferenceElement]);\n const trigger = React.useMemo(() => {\n function checkVirtualMouse(event) {\n if (focusItemOnOpen === 'auto' && isVirtualClick(event.nativeEvent)) {\n focusItemOnOpenRef.current = !virtual;\n }\n }\n function checkVirtualPointer(event) {\n // `pointerdown` fires first, reset the state then perform the checks.\n focusItemOnOpenRef.current = focusItemOnOpen;\n if (focusItemOnOpen === 'auto' && isVirtualPointerEvent(event.nativeEvent)) {\n focusItemOnOpenRef.current = true;\n }\n }\n return {\n onKeyDown(event) {\n // non-reactive open state (to prevent re-creation of the handler)\n const currentOpen = store.select('open');\n isPointerModalityRef.current = false;\n const isArrowKey = event.key.startsWith('Arrow');\n const isParentCrossOpenKey = isCrossOrientationOpenKey(event.key, getParentOrientation(), rtl);\n const isMainKey = isMainOrientationKey(event.key, orientation);\n const isNavigationKey = (nested ? isParentCrossOpenKey : isMainKey) || event.key === 'Enter' || event.key.trim() === '';\n if (virtual && currentOpen) {\n return commonOnKeyDown(event);\n }\n\n // If a floating element should not open on arrow key down, avoid\n // setting `activeIndex` while it's closed.\n if (!currentOpen && !openOnArrowKeyDown && isArrowKey) {\n return undefined;\n }\n if (isNavigationKey) {\n const isParentMainKey = isMainOrientationKey(event.key, getParentOrientation());\n keyRef.current = nested && isParentMainKey ? null : event.key;\n }\n if (nested) {\n if (isParentCrossOpenKey) {\n stopEvent(event);\n if (currentOpen) {\n indexRef.current = getMinListIndex(listRef, disabledIndicesRef.current);\n onNavigate(event);\n } else {\n store.setOpen(true, createChangeEventDetails(REASONS.listNavigation, event.nativeEvent, event.currentTarget));\n }\n }\n return undefined;\n }\n if (isMainKey) {\n if (selectedIndexRef.current != null) {\n indexRef.current = selectedIndexRef.current;\n }\n stopEvent(event);\n if (!currentOpen && openOnArrowKeyDown) {\n store.setOpen(true, createChangeEventDetails(REASONS.listNavigation, event.nativeEvent, event.currentTarget));\n } else {\n commonOnKeyDown(event);\n }\n if (currentOpen) {\n onNavigate(event);\n }\n }\n return undefined;\n },\n onFocus(event) {\n if (store.select('open') && !virtual) {\n indexRef.current = -1;\n onNavigate(event);\n }\n },\n onPointerDown: checkVirtualPointer,\n onPointerEnter: checkVirtualPointer,\n onMouseDown: checkVirtualMouse,\n onClick: checkVirtualMouse\n };\n }, [commonOnKeyDown, disabledIndicesRef, focusItemOnOpen, listRef, nested, onNavigate, store, openOnArrowKeyDown, orientation, getParentOrientation, rtl, selectedIndexRef, virtual]);\n const reference = React.useMemo(() => {\n return {\n ...ariaActiveDescendantProp,\n ...trigger\n };\n }, [ariaActiveDescendantProp, trigger]);\n return React.useMemo(() => enabled ? {\n reference,\n floating,\n item,\n trigger\n } : {}, [enabled, reference, floating, trigger, item]);\n}"],"names":["ESCAPE","doSwitch","orientation","vertical","horizontal","isMainOrientationKey","key","ARROW_UP","ARROW_DOWN","ARROW_LEFT","ARROW_RIGHT","isMainOrientationToEndKey","rtl","isCrossOrientationOpenKey","isCrossOrientationCloseKey","cols","useListNavigation","context","props","store","open","floatingElement","domReferenceElement","dataRef","listRef","activeIndex","onNavigateProp","enabled","selectedIndex","allowEscape","loopFocus","nested","virtual","focusItemOnOpen","focusItemOnHover","openOnArrowKeyDown","disabledIndices","parentOrientation","id","resetOnPointerLeave","externalTree","floatingFocusElement","getFloatingFocusElement","floatingFocusElementRef","useValueAsRef","parentId","useFloatingParentNodeId","tree","useFloatingTree","useIsoLayoutEffect","typeableComboboxReference","isTypeableCombobox","focusItemOnOpenRef","React","indexRef","keyRef","isPointerModalityRef","onNavigate","useStableCallback","event","previousOnNavigateRef","previousMountedRef","previousOpenRef","forceSyncFocusRef","forceScrollIntoViewRef","cancelQueuedFocusRef","disabledIndicesRef","latestOpenRef","selectedIndexRef","resetOnPointerLeaveRef","focusItem","runFocus","item","enqueueFocus","initialItem","forceScrollIntoView","v","waitedItem","runs","waitForListPopulated","getMinListIndex","getMaxListIndex","isIndexOutOfListBounds","nodes","parent","node","activeEl","activeElement","ownerDocument","treeContainsActiveEl","contains","hasActiveIndex","syncCurrentTarget","index","currentTarget","relatedTarget","floatingFocusEl","getParentOrientation","commonOnKeyDown","stopEvent","createChangeEventDetails","REASONS.listNavigation","isHTMLElement","currentIndex","minIndex","maxIndex","sizes","cellMap","createGridCellMap","minGridIndex","isListIndexDisabled","maxGridIndex","foundIndex","cellIndex","getGridNavigatedIndex","itemIndex","getGridCellIndices","_","listIndex","getGridCellIndexOfCorner","findNonDisabledListIndex","ariaActiveDescendantProp","floating","target","getTarget","REASONS.focusOut","trigger","checkVirtualMouse","isVirtualClick","checkVirtualPointer","isVirtualPointerEvent","currentOpen","isArrowKey","isParentCrossOpenKey","isMainKey","isNavigationKey","isParentMainKey","reference"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/index281.js
CHANGED
|
@@ -1,40 +1,72 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
function
|
|
9
|
-
const {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
1
|
+
import * as u from "react";
|
|
2
|
+
import { useStableCallback as k } from "./index262.js";
|
|
3
|
+
import { useIsoLayoutEffect as F } from "./index261.js";
|
|
4
|
+
import { useTimeout as A } from "./index285.js";
|
|
5
|
+
import { contains as K } from "./index291.js";
|
|
6
|
+
import { stopEvent as D } from "./index375.js";
|
|
7
|
+
import { isElementVisible as G } from "./index378.js";
|
|
8
|
+
function $(w, O) {
|
|
9
|
+
const a = "rootStore" in w ? w.rootStore : w, m = a.context.dataRef, i = a.useState("open"), {
|
|
10
|
+
listRef: V,
|
|
11
|
+
elementsRef: z,
|
|
12
|
+
activeIndex: f,
|
|
13
|
+
onMatch: B,
|
|
14
|
+
onTypingChange: C,
|
|
15
|
+
enabled: E = !0,
|
|
16
|
+
resetMs: N = 750,
|
|
17
|
+
selectedIndex: n = null
|
|
18
|
+
} = O, g = A(), t = u.useRef(""), o = u.useRef(n ?? f ?? -1), l = u.useRef(null);
|
|
19
|
+
F(() => {
|
|
20
|
+
!i && n !== null || (g.clear(), l.current = null, t.current !== "" && (t.current = ""));
|
|
21
|
+
}, [i, n, g]), F(() => {
|
|
22
|
+
i && t.current === "" && (o.current = n ?? f ?? -1);
|
|
23
|
+
}, [i, n, f]);
|
|
24
|
+
const c = k((e) => {
|
|
25
|
+
e ? m.current.typing || (m.current.typing = e, C?.(e)) : m.current.typing && (m.current.typing = e, C?.(e));
|
|
26
|
+
}), p = k((e) => {
|
|
27
|
+
function y(r) {
|
|
28
|
+
const x = z?.current[r];
|
|
29
|
+
return !x || G(x);
|
|
30
|
+
}
|
|
31
|
+
function h(r, x, W = 0) {
|
|
32
|
+
if (r.length === 0)
|
|
33
|
+
return -1;
|
|
34
|
+
const j = (W % r.length + r.length) % r.length, q = x.toLocaleLowerCase();
|
|
35
|
+
for (let I = 0; I < r.length; I += 1) {
|
|
36
|
+
const S = (j + I) % r.length;
|
|
37
|
+
if (!(!r[S]?.toLocaleLowerCase().startsWith(q) || !y(S)))
|
|
38
|
+
return S;
|
|
39
|
+
}
|
|
40
|
+
return -1;
|
|
41
|
+
}
|
|
42
|
+
const s = V.current;
|
|
43
|
+
if (t.current.length > 0 && e.key === " " && (D(e), c(!0)), t.current.length > 0 && t.current[0] !== " " && h(s, t.current) === -1 && e.key !== " " && c(!1), s == null || // Character key.
|
|
44
|
+
e.key.length !== 1 || // Modifier key.
|
|
45
|
+
e.ctrlKey || e.metaKey || e.altKey)
|
|
46
|
+
return;
|
|
47
|
+
i && e.key !== " " && (D(e), c(!0));
|
|
48
|
+
const R = t.current === "";
|
|
49
|
+
R && (o.current = n ?? f ?? -1), s.every((r) => r ? r[0]?.toLocaleLowerCase() !== r[1]?.toLocaleLowerCase() : !0) && t.current === e.key && (t.current = "", o.current = l.current), t.current += e.key, g.start(N, () => {
|
|
50
|
+
t.current = "", o.current = l.current, c(!1);
|
|
51
|
+
});
|
|
52
|
+
const P = ((R ? n ?? f ?? -1 : o.current) ?? 0) + 1, L = h(s, t.current, P);
|
|
53
|
+
L !== -1 ? (B?.(L), l.current = L) : e.key !== " " && (t.current = "", c(!1));
|
|
54
|
+
}), d = k((e) => {
|
|
55
|
+
const y = e.relatedTarget, h = a.select("domReferenceElement"), s = a.select("floatingElement"), R = K(h, y), T = K(s, y);
|
|
56
|
+
R || T || (g.clear(), t.current = "", o.current = l.current, c(!1));
|
|
57
|
+
}), M = u.useMemo(() => ({
|
|
58
|
+
onKeyDown: p,
|
|
59
|
+
onBlur: d
|
|
60
|
+
}), [p, d]), b = u.useMemo(() => ({
|
|
61
|
+
onKeyDown: p,
|
|
62
|
+
onBlur: d
|
|
63
|
+
}), [p, d]);
|
|
64
|
+
return u.useMemo(() => E ? {
|
|
65
|
+
reference: M,
|
|
66
|
+
floating: b
|
|
67
|
+
} : {}, [E, M, b]);
|
|
36
68
|
}
|
|
37
69
|
export {
|
|
38
|
-
|
|
70
|
+
$ as useTypeahead
|
|
39
71
|
};
|
|
40
72
|
//# sourceMappingURL=index281.js.map
|
package/dist/index281.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index281.js","sources":["../../../node_modules/@base-ui/react/esm/floating-ui-react/hooks/useFloatingRootContext.js"],"sourcesContent":["'use client';\n\nimport { isElement } from '@floating-ui/utils/dom';\nimport { useId } from '@base-ui/utils/useId';\nimport { useRefWithInit } from '@base-ui/utils/useRefWithInit';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useFloatingParentNodeId } from \"../components/FloatingTree.js\";\nimport { FloatingRootStore } from \"../components/FloatingRootStore.js\";\nimport { PopupTriggerMap } from \"../../utils/popups/index.js\";\nexport function useFloatingRootContext(options) {\n const {\n open = false,\n onOpenChange,\n elements = {}\n } = options;\n const floatingId = useId();\n const nested = useFloatingParentNodeId() != null;\n if (process.env.NODE_ENV !== 'production') {\n const optionDomReference = elements.reference;\n if (optionDomReference && !isElement(optionDomReference)) {\n console.error('Cannot pass a virtual element to the `elements.reference` option,', 'as it must be a real DOM element. Use `context.setPositionReference()`', 'instead.');\n }\n }\n const store = useRefWithInit(() => new FloatingRootStore({\n open,\n transitionStatus: undefined,\n onOpenChange,\n referenceElement: elements.reference ?? null,\n floatingElement: elements.floating ?? null,\n triggerElements: new PopupTriggerMap(),\n floatingId,\n syncOnly: false,\n nested\n })).current;\n useIsoLayoutEffect(() => {\n const valuesToSync = {\n open,\n floatingId\n };\n\n // Only sync elements that are defined to avoid overwriting existing ones\n if (elements.reference !== undefined) {\n valuesToSync.referenceElement = elements.reference;\n valuesToSync.domReferenceElement = isElement(elements.reference) ? elements.reference : null;\n }\n if (elements.floating !== undefined) {\n valuesToSync.floatingElement = elements.floating;\n }\n store.update(valuesToSync);\n }, [open, floatingId, elements.reference, elements.floating, store]);\n store.context.onOpenChange = onOpenChange;\n store.context.nested = nested;\n return store;\n}"],"names":["useFloatingRootContext","options","open","onOpenChange","elements","floatingId","useId","nested","useFloatingParentNodeId","optionDomReference","isElement","store","useRefWithInit","FloatingRootStore","PopupTriggerMap","useIsoLayoutEffect","valuesToSync"],"mappings":";;;;;;;AASO,SAASA,EAAuBC,GAAS;AAC9C,QAAM;AAAA,IACJ,MAAAC,IAAO;AAAA,IACP,cAAAC;AAAA,IACA,UAAAC,IAAW,CAAA;AAAA,EACf,IAAMH,GACEI,IAAaC,EAAK,GAClBC,IAASC,EAAuB,KAAM;AAC5C,MAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,UAAMC,IAAqBL,EAAS;AACpC,IAAIK,KAAsB,CAACC,EAAUD,CAAkB,KACrD,QAAQ,MAAM,qEAAqE,0EAA0E,UAAU;AAAA,EAE3K;AACA,QAAME,IAAQC,EAAe,MAAM,IAAIC,EAAkB;AAAA,IACvD,MAAAX;AAAA,IACA,kBAAkB;AAAA,IAClB,cAAAC;AAAA,IACA,kBAAkBC,EAAS,aAAa;AAAA,IACxC,iBAAiBA,EAAS,YAAY;AAAA,IACtC,iBAAiB,IAAIU,EAAe;AAAA,IACpC,YAAAT;AAAA,IACA,UAAU;AAAA,IACV,QAAAE;AAAA,EACJ,CAAG,CAAC,EAAE;AACJ,SAAAQ,EAAmB,MAAM;AACvB,UAAMC,IAAe;AAAA,MACnB,MAAAd;AAAA,MACA,YAAAG;AAAA,IACN;AAGI,IAAID,EAAS,cAAc,WACzBY,EAAa,mBAAmBZ,EAAS,WACzCY,EAAa,sBAAsBN,EAAUN,EAAS,SAAS,IAAIA,EAAS,YAAY,OAEtFA,EAAS,aAAa,WACxBY,EAAa,kBAAkBZ,EAAS,WAE1CO,EAAM,OAAOK,CAAY;AAAA,EAC3B,GAAG,CAACd,GAAMG,GAAYD,EAAS,WAAWA,EAAS,UAAUO,CAAK,CAAC,GACnEA,EAAM,QAAQ,eAAeR,GAC7BQ,EAAM,QAAQ,SAASJ,GAChBI;AACT;","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index281.js","sources":["../../../node_modules/@base-ui/react/esm/floating-ui-react/hooks/useTypeahead.js"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useTimeout } from '@base-ui/utils/useTimeout';\nimport { contains } from \"../utils/element.js\";\nimport { stopEvent } from \"../utils/event.js\";\nimport { isElementVisible } from \"../utils/composite.js\";\n/**\n * Provides a matching callback that can be used to focus an item as the user\n * types, often used in tandem with `useListNavigation()`.\n * @see https://floating-ui.com/docs/useTypeahead\n */\nexport function useTypeahead(context, props) {\n const store = 'rootStore' in context ? context.rootStore : context;\n const dataRef = store.context.dataRef;\n const open = store.useState('open');\n const {\n listRef,\n elementsRef,\n activeIndex,\n onMatch: onMatchProp,\n onTypingChange,\n enabled = true,\n resetMs = 750,\n selectedIndex = null\n } = props;\n const timeout = useTimeout();\n const stringRef = React.useRef('');\n const prevIndexRef = React.useRef(selectedIndex ?? activeIndex ?? -1);\n const matchIndexRef = React.useRef(null);\n useIsoLayoutEffect(() => {\n if (!open && selectedIndex !== null) {\n return;\n }\n timeout.clear();\n matchIndexRef.current = null;\n if (stringRef.current !== '') {\n stringRef.current = '';\n }\n }, [open, selectedIndex, timeout]);\n useIsoLayoutEffect(() => {\n // Sync arrow key navigation but not typeahead navigation.\n if (open && stringRef.current === '') {\n prevIndexRef.current = selectedIndex ?? activeIndex ?? -1;\n }\n }, [open, selectedIndex, activeIndex]);\n const setTypingChange = useStableCallback(value => {\n if (value) {\n if (!dataRef.current.typing) {\n dataRef.current.typing = value;\n onTypingChange?.(value);\n }\n } else if (dataRef.current.typing) {\n dataRef.current.typing = value;\n onTypingChange?.(value);\n }\n });\n const onKeyDown = useStableCallback(event => {\n function isVisible(index) {\n const element = elementsRef?.current[index];\n return !element || isElementVisible(element);\n }\n function getMatchingIndex(list, string, startIndex = 0) {\n if (list.length === 0) {\n return -1;\n }\n const normalizedStartIndex = (startIndex % list.length + list.length) % list.length;\n const lowerString = string.toLocaleLowerCase();\n for (let offset = 0; offset < list.length; offset += 1) {\n const index = (normalizedStartIndex + offset) % list.length;\n const text = list[index];\n if (!text?.toLocaleLowerCase().startsWith(lowerString) || !isVisible(index)) {\n continue;\n }\n return index;\n }\n return -1;\n }\n const listContent = listRef.current;\n if (stringRef.current.length > 0 && event.key === ' ') {\n // Space should continue the in-progress typeahead session.\n stopEvent(event);\n setTypingChange(true);\n }\n if (stringRef.current.length > 0 && stringRef.current[0] !== ' ') {\n if (getMatchingIndex(listContent, stringRef.current) === -1 && event.key !== ' ') {\n setTypingChange(false);\n }\n }\n if (listContent == null ||\n // Character key.\n event.key.length !== 1 ||\n // Modifier key.\n event.ctrlKey || event.metaKey || event.altKey) {\n return;\n }\n if (open && event.key !== ' ') {\n stopEvent(event);\n setTypingChange(true);\n }\n\n // Capture whether this is a new typing session before mutating the string.\n const isNewSession = stringRef.current === '';\n if (isNewSession) {\n prevIndexRef.current = selectedIndex ?? activeIndex ?? -1;\n }\n\n // Bail out if the list contains a word like \"llama\" or \"aaron\". TODO:\n // allow it in this case, too.\n const allowRapidSuccessionOfFirstLetter = listContent.every(text => text ? text[0]?.toLocaleLowerCase() !== text[1]?.toLocaleLowerCase() : true);\n\n // Allows the user to cycle through items that start with the same letter\n // in rapid succession.\n if (allowRapidSuccessionOfFirstLetter && stringRef.current === event.key) {\n stringRef.current = '';\n prevIndexRef.current = matchIndexRef.current;\n }\n stringRef.current += event.key;\n timeout.start(resetMs, () => {\n stringRef.current = '';\n prevIndexRef.current = matchIndexRef.current;\n setTypingChange(false);\n });\n\n // Compute the starting index for this search.\n // If this is a new typing session (string is empty), base it on the current\n // selection/active item; otherwise continue from the last matched index.\n const prevIndex = isNewSession ? selectedIndex ?? activeIndex ?? -1 : prevIndexRef.current;\n const startIndex = (prevIndex ?? 0) + 1;\n const index = getMatchingIndex(listContent, stringRef.current, startIndex);\n if (index !== -1) {\n onMatchProp?.(index);\n matchIndexRef.current = index;\n } else if (event.key !== ' ') {\n stringRef.current = '';\n setTypingChange(false);\n }\n });\n const onBlur = useStableCallback(event => {\n const next = event.relatedTarget;\n const currentDomReferenceElement = store.select('domReferenceElement');\n const currentFloatingElement = store.select('floatingElement');\n const withinReference = contains(currentDomReferenceElement, next);\n const withinFloating = contains(currentFloatingElement, next);\n\n // Keep the session if focus moves within the composite (reference <-> floating).\n if (withinReference || withinFloating) {\n return;\n }\n\n // End the current typing session when focus leaves the composite entirely.\n timeout.clear();\n stringRef.current = '';\n prevIndexRef.current = matchIndexRef.current;\n setTypingChange(false);\n });\n const reference = React.useMemo(() => ({\n onKeyDown,\n onBlur\n }), [onKeyDown, onBlur]);\n const floating = React.useMemo(() => {\n return {\n onKeyDown,\n onBlur\n };\n }, [onKeyDown, onBlur]);\n return React.useMemo(() => enabled ? {\n reference,\n floating\n } : {}, [enabled, reference, floating]);\n}"],"names":["useTypeahead","context","props","store","dataRef","open","listRef","elementsRef","activeIndex","onMatchProp","onTypingChange","enabled","resetMs","selectedIndex","timeout","useTimeout","stringRef","React","prevIndexRef","matchIndexRef","useIsoLayoutEffect","setTypingChange","useStableCallback","value","onKeyDown","event","isVisible","index","element","isElementVisible","getMatchingIndex","list","string","startIndex","normalizedStartIndex","lowerString","offset","listContent","stopEvent","isNewSession","text","onBlur","next","currentDomReferenceElement","currentFloatingElement","withinReference","contains","withinFloating","reference","floating"],"mappings":"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","x_google_ignoreList":[0]}
|