@rpcbase/ui 0.247.0 → 0.248.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/Notifications/NotificationsDrawer.d.ts.map +1 -1
- package/dist/index105.js +36 -36
- package/dist/index117.js +6 -6
- package/dist/index120.js +10 -10
- package/dist/index122.js +2 -2
- package/dist/index123.js +3 -3
- package/dist/index124.js +1 -1
- package/dist/index126.js +2 -2
- package/dist/index128.js +2 -2
- package/dist/index150.js +3 -3
- package/dist/index156.js +1 -1
- package/dist/index16.js +157 -157
- package/dist/index16.js.map +1 -1
- package/dist/index163.js +2 -2
- package/dist/index164.js +7 -7
- package/dist/index167.js +4 -4
- package/dist/index169.js +1 -1
- package/dist/index171.js +14 -58
- package/dist/index171.js.map +1 -1
- package/dist/index172.js +68 -8
- package/dist/index172.js.map +1 -1
- package/dist/index173.js +37 -87
- package/dist/index173.js.map +1 -1
- package/dist/index174.js +13 -19
- package/dist/index174.js.map +1 -1
- package/dist/index175.js +23 -16
- package/dist/index175.js.map +1 -1
- package/dist/index176.js +111 -5
- package/dist/index176.js.map +1 -1
- package/dist/index177.js +13 -6
- package/dist/index177.js.map +1 -1
- package/dist/index178.js +4 -6
- package/dist/index178.js.map +1 -1
- package/dist/index179.js +4 -5
- package/dist/index179.js.map +1 -1
- package/dist/index180.js +5 -7
- package/dist/index180.js.map +1 -1
- package/dist/index181.js +11 -16
- package/dist/index181.js.map +1 -1
- package/dist/index182.js +19 -4
- package/dist/index182.js.map +1 -1
- package/dist/index183.js +11 -5
- package/dist/index183.js.map +1 -1
- package/dist/index184.js +176 -12
- package/dist/index184.js.map +1 -1
- package/dist/index185.js +279 -9
- package/dist/index185.js.map +1 -1
- package/dist/index186.js +4 -13
- package/dist/index186.js.map +1 -1
- package/dist/index187.js +28 -14
- package/dist/index187.js.map +1 -1
- package/dist/index188.js +126 -4
- package/dist/index188.js.map +1 -1
- package/dist/index189.js +63 -5
- package/dist/index189.js.map +1 -1
- package/dist/index190.js +8 -6
- package/dist/index190.js.map +1 -1
- package/dist/index191.js +16 -6
- package/dist/index191.js.map +1 -1
- package/dist/index192.js +29 -53
- package/dist/index192.js.map +1 -1
- package/dist/index193.js +69 -8
- package/dist/index193.js.map +1 -1
- package/dist/index194.js +58 -4
- package/dist/index194.js.map +1 -1
- package/dist/index195.js +8 -4
- package/dist/index195.js.map +1 -1
- package/dist/index196.js +87 -8
- package/dist/index196.js.map +1 -1
- package/dist/index197.js +19 -4
- package/dist/index197.js.map +1 -1
- package/dist/index198.js +16 -4
- package/dist/index198.js.map +1 -1
- package/dist/index199.js +5 -3
- package/dist/index199.js.map +1 -1
- package/dist/index200.js +5 -10
- package/dist/index200.js.map +1 -1
- package/dist/index201.js +6 -9
- package/dist/index201.js.map +1 -1
- package/dist/index202.js +4 -9
- package/dist/index202.js.map +1 -1
- package/dist/index203.js +6 -10
- package/dist/index203.js.map +1 -1
- package/dist/index204.js +16 -10
- package/dist/index204.js.map +1 -1
- package/dist/index205.js +4 -9
- package/dist/index205.js.map +1 -1
- package/dist/index206.js +4 -6
- package/dist/index206.js.map +1 -1
- package/dist/index207.js +12 -5
- package/dist/index207.js.map +1 -1
- package/dist/index208.js +9 -4
- package/dist/index208.js.map +1 -1
- package/dist/index209.js +13 -5
- package/dist/index209.js.map +1 -1
- package/dist/index210.js +13 -6
- package/dist/index210.js.map +1 -1
- package/dist/index211.js +4 -5
- package/dist/index211.js.map +1 -1
- package/dist/index212.js +5 -16
- package/dist/index212.js.map +1 -1
- package/dist/index213.js +6 -7
- package/dist/index213.js.map +1 -1
- package/dist/index214.js +5 -10
- package/dist/index214.js.map +1 -1
- package/dist/index215.js +54 -10
- package/dist/index215.js.map +1 -1
- package/dist/index216.js +8 -21
- package/dist/index216.js.map +1 -1
- package/dist/index217.js +4 -8
- package/dist/index217.js.map +1 -1
- package/dist/index218.js +4 -9
- package/dist/index218.js.map +1 -1
- package/dist/index219.js +8 -9
- package/dist/index219.js.map +1 -1
- package/dist/index220.js +4 -4
- package/dist/index220.js.map +1 -1
- package/dist/index221.js +4 -5
- package/dist/index221.js.map +1 -1
- package/dist/index222.js +3 -16
- package/dist/index222.js.map +1 -1
- package/dist/index223.js +10 -9
- package/dist/index223.js.map +1 -1
- package/dist/index224.js +9 -18
- package/dist/index224.js.map +1 -1
- package/dist/index225.js +9 -20
- package/dist/index225.js.map +1 -1
- package/dist/index226.js +10 -12
- package/dist/index226.js.map +1 -1
- package/dist/index227.js +10 -29
- package/dist/index227.js.map +1 -1
- package/dist/index228.js +9 -12
- package/dist/index228.js.map +1 -1
- package/dist/index229.js +6 -25
- package/dist/index229.js.map +1 -1
- package/dist/index230.js +5 -5
- package/dist/index230.js.map +1 -1
- package/dist/index231.js +4 -14
- package/dist/index231.js.map +1 -1
- package/dist/index232.js +5 -68
- package/dist/index232.js.map +1 -1
- package/dist/index233.js +7 -38
- package/dist/index233.js.map +1 -1
- package/dist/index234.js +6 -14
- package/dist/index234.js.map +1 -1
- package/dist/index235.js +16 -23
- package/dist/index235.js.map +1 -1
- package/dist/index236.js +7 -111
- package/dist/index236.js.map +1 -1
- package/dist/index237.js +11 -13
- package/dist/index237.js.map +1 -1
- package/dist/index238.js +10 -4
- package/dist/index238.js.map +1 -1
- package/dist/index239.js +22 -4
- package/dist/index239.js.map +1 -1
- package/dist/index240.js +9 -5
- package/dist/index240.js.map +1 -1
- package/dist/index241.js +9 -11
- package/dist/index241.js.map +1 -1
- package/dist/index242.js +9 -19
- package/dist/index242.js.map +1 -1
- package/dist/index243.js +5 -11
- package/dist/index243.js.map +1 -1
- package/dist/index244.js +5 -176
- package/dist/index244.js.map +1 -1
- package/dist/index245.js +15 -278
- package/dist/index245.js.map +1 -1
- package/dist/index246.js +9 -4
- package/dist/index246.js.map +1 -1
- package/dist/index247.js +19 -28
- package/dist/index247.js.map +1 -1
- package/dist/index248.js +18 -124
- package/dist/index248.js.map +1 -1
- package/dist/index249.js +12 -63
- package/dist/index249.js.map +1 -1
- package/dist/index250.js +29 -8
- package/dist/index250.js.map +1 -1
- package/dist/index251.js +12 -15
- package/dist/index251.js.map +1 -1
- package/dist/index252.js +25 -30
- package/dist/index252.js.map +1 -1
- package/dist/index253.js +5 -69
- package/dist/index253.js.map +1 -1
- package/dist/index254.js +20 -155
- package/dist/index254.js.map +1 -1
- package/dist/index255.js +65 -31
- package/dist/index255.js.map +1 -1
- package/dist/index256.js +6 -11
- package/dist/index256.js.map +1 -1
- package/dist/index257.js +5 -49
- package/dist/index257.js.map +1 -1
- package/dist/index258.js +11 -9
- package/dist/index258.js.map +1 -1
- package/dist/index259.js +3 -11
- package/dist/index259.js.map +1 -1
- package/dist/index260.js +48 -41
- package/dist/index260.js.map +1 -1
- package/dist/index261.js +4 -98
- package/dist/index261.js.map +1 -1
- package/dist/index262.js +27 -84
- package/dist/index262.js.map +1 -1
- package/dist/index263.js +14 -103
- package/dist/index263.js.map +1 -1
- package/dist/index264.js +5 -52
- package/dist/index264.js.map +1 -1
- package/dist/index265.js +21 -11
- package/dist/index265.js.map +1 -1
- package/dist/index266.js +53 -4
- package/dist/index266.js.map +1 -1
- package/dist/index267.js +20 -37
- package/dist/index267.js.map +1 -1
- package/dist/index268.js +41 -8
- package/dist/index268.js.map +1 -1
- package/dist/index269.js +39 -3
- package/dist/index269.js.map +1 -1
- package/dist/index270.js +46 -10
- package/dist/index270.js.map +1 -1
- package/dist/index271.js +18 -133
- package/dist/index271.js.map +1 -1
- package/dist/index272.js +69 -16
- package/dist/index272.js.map +1 -1
- package/dist/index273.js +17 -15
- package/dist/index273.js.map +1 -1
- package/dist/index274.js +3 -36
- package/dist/index274.js.map +1 -1
- package/dist/index275.js +11 -20
- package/dist/index275.js.map +1 -1
- package/dist/index276.js +13 -8
- package/dist/index276.js.map +1 -1
- package/dist/index277.js +18 -24
- package/dist/index277.js.map +1 -1
- package/dist/index278.js +35 -27
- package/dist/index278.js.map +1 -1
- package/dist/index279.js +239 -16
- package/dist/index279.js.map +1 -1
- package/dist/index280.js +253 -20
- package/dist/index280.js.map +1 -1
- package/dist/index281.js +66 -64
- package/dist/index281.js.map +1 -1
- package/dist/index282.js +99 -6
- package/dist/index282.js.map +1 -1
- package/dist/index283.js +83 -5
- package/dist/index283.js.map +1 -1
- package/dist/index284.js +3 -11
- package/dist/index284.js.map +1 -1
- package/dist/index285.js +29 -3
- package/dist/index285.js.map +1 -1
- package/dist/index286.js +16 -50
- package/dist/index286.js.map +1 -1
- package/dist/index287.js +35 -4
- package/dist/index287.js.map +1 -1
- package/dist/index288.js +16 -28
- package/dist/index288.js.map +1 -1
- package/dist/index289.js +3 -16
- package/dist/index289.js.map +1 -1
- package/dist/index290.js +26 -5
- package/dist/index290.js.map +1 -1
- package/dist/index291.js +27 -20
- package/dist/index291.js.map +1 -1
- package/dist/index292.js +4 -54
- package/dist/index292.js.map +1 -1
- package/dist/index293.js +76 -18
- package/dist/index293.js.map +1 -1
- package/dist/index294.js +268 -37
- package/dist/index294.js.map +1 -1
- package/dist/index295.js +11 -39
- package/dist/index295.js.map +1 -1
- package/dist/index296.js +10 -45
- package/dist/index296.js.map +1 -1
- package/dist/index297.js +25 -20
- package/dist/index297.js.map +1 -1
- package/dist/index298.js +15 -69
- package/dist/index298.js.map +1 -1
- package/dist/index299.js +122 -14
- package/dist/index299.js.map +1 -1
- package/dist/index300.js +5 -3
- package/dist/index300.js.map +1 -1
- package/dist/index301.js +65 -11
- package/dist/index301.js.map +1 -1
- package/dist/index302.js +14 -14
- package/dist/index302.js.map +1 -1
- package/dist/index303.js +7 -18
- package/dist/index303.js.map +1 -1
- package/dist/index304.js +5 -36
- package/dist/index304.js.map +1 -1
- package/dist/index305.js +3 -239
- package/dist/index305.js.map +1 -1
- package/dist/index306.js +10 -252
- package/dist/index306.js.map +1 -1
- package/dist/index307.js +7 -68
- package/dist/index307.js.map +1 -1
- package/dist/index308.js +128 -94
- package/dist/index308.js.map +1 -1
- package/dist/index309.js +391 -75
- package/dist/index309.js.map +1 -1
- package/dist/index310.js +5 -4
- package/dist/index310.js.map +1 -1
- package/dist/index311.js +51 -28
- package/dist/index311.js.map +1 -1
- package/dist/index312.js +10 -15
- package/dist/index312.js.map +1 -1
- package/dist/index313.js +28 -35
- package/dist/index313.js.map +1 -1
- package/dist/index314.js +11 -17
- package/dist/index314.js.map +1 -1
- package/dist/index315.js +154 -3
- package/dist/index315.js.map +1 -1
- package/dist/index316.js +31 -25
- package/dist/index316.js.map +1 -1
- package/dist/index317.js +11 -28
- package/dist/index317.js.map +1 -1
- package/dist/index318.js +50 -4
- package/dist/index318.js.map +1 -1
- package/dist/index319.js +9 -78
- package/dist/index319.js.map +1 -1
- package/dist/index320.js +10 -271
- package/dist/index320.js.map +1 -1
- package/dist/index321.js +43 -11
- package/dist/index321.js.map +1 -1
- package/dist/index322.js +97 -10
- package/dist/index322.js.map +1 -1
- package/dist/index323.js +86 -25
- package/dist/index323.js.map +1 -1
- package/dist/index324.js +104 -15
- package/dist/index324.js.map +1 -1
- package/dist/index325.js +50 -123
- package/dist/index325.js.map +1 -1
- package/dist/index326.js +11 -5
- package/dist/index326.js.map +1 -1
- package/dist/index327.js +4 -65
- package/dist/index327.js.map +1 -1
- package/dist/index328.js +37 -13
- package/dist/index328.js.map +1 -1
- package/dist/index329.js +8 -7
- package/dist/index329.js.map +1 -1
- package/dist/index330.js +135 -5
- package/dist/index330.js.map +1 -1
- package/dist/index331.js +17 -3
- package/dist/index331.js.map +1 -1
- package/dist/index332.js +15 -10
- package/dist/index332.js.map +1 -1
- package/dist/index333.js +3 -7
- package/dist/index333.js.map +1 -1
- package/dist/index334.js +32 -129
- package/dist/index334.js.map +1 -1
- package/dist/index335.js +18 -397
- package/dist/index335.js.map +1 -1
- package/dist/index336.js +10 -5
- package/dist/index336.js.map +1 -1
- package/dist/index337.js +8 -52
- package/dist/index337.js.map +1 -1
- package/dist/index338.js +8 -11
- package/dist/index338.js.map +1 -1
- package/dist/index339.js +11 -27
- package/dist/index339.js.map +1 -1
- package/dist/index34.js +2 -2
- package/dist/index340.js +8 -11
- package/dist/index340.js.map +1 -1
- package/dist/index341.js +13 -4
- package/dist/index341.js.map +1 -1
- package/dist/index342.js +4 -18
- package/dist/index342.js.map +1 -1
- package/dist/index343.js +3 -12
- package/dist/index343.js.map +1 -1
- package/dist/index344.js +16 -7
- package/dist/index344.js.map +1 -1
- package/dist/index345.js +22 -9
- package/dist/index345.js.map +1 -1
- package/dist/index346.js +27 -7
- package/dist/index346.js.map +1 -1
- package/dist/index347.js +14 -11
- package/dist/index347.js.map +1 -1
- package/dist/index348.js +51 -3
- package/dist/index348.js.map +1 -1
- package/dist/index349.js +61 -3
- package/dist/index349.js.map +1 -1
- package/dist/index35.js +5 -5
- package/dist/index350.js +65 -16
- package/dist/index350.js.map +1 -1
- package/dist/index352.js +8 -51
- package/dist/index352.js.map +1 -1
- package/dist/index353.js +5 -62
- package/dist/index353.js.map +1 -1
- package/dist/index354.js +11 -66
- package/dist/index354.js.map +1 -1
- package/dist/index355.js +21 -8
- package/dist/index355.js.map +1 -1
- package/dist/index356.js +17 -5
- package/dist/index356.js.map +1 -1
- package/dist/index357.js +8 -12
- package/dist/index357.js.map +1 -1
- package/dist/index358.js +144 -21
- package/dist/index358.js.map +1 -1
- package/dist/index359.js +77 -14
- package/dist/index359.js.map +1 -1
- package/dist/index36.js +11 -11
- package/dist/index360.js +62 -8
- package/dist/index360.js.map +1 -1
- package/dist/index361.js +15 -145
- package/dist/index361.js.map +1 -1
- package/dist/index362.js +4 -79
- package/dist/index362.js.map +1 -1
- package/dist/index363.js +17 -61
- package/dist/index363.js.map +1 -1
- package/dist/index364.js +13 -15
- package/dist/index364.js.map +1 -1
- package/dist/index365.js +4 -5
- package/dist/index365.js.map +1 -1
- package/dist/index366.js +10 -19
- package/dist/index366.js.map +1 -1
- package/dist/index367.js +6 -4
- package/dist/index367.js.map +1 -1
- package/dist/index368.js +3 -6
- package/dist/index368.js.map +1 -1
- package/dist/index369.js +21 -3
- package/dist/index369.js.map +1 -1
- package/dist/index37.js +3 -3
- package/dist/index370.js +44 -11
- package/dist/index370.js.map +1 -1
- package/dist/index371.js +17 -20
- package/dist/index371.js.map +1 -1
- package/dist/index372.js +5 -45
- package/dist/index372.js.map +1 -1
- package/dist/index373.js +198 -15
- package/dist/index373.js.map +1 -1
- package/dist/index374.js +74 -5
- package/dist/index374.js.map +1 -1
- package/dist/index375.js +115 -192
- package/dist/index375.js.map +1 -1
- package/dist/index376.js +4 -73
- package/dist/index376.js.map +1 -1
- package/dist/index377.js +19 -122
- package/dist/index377.js.map +1 -1
- package/dist/index378.js +8 -4
- package/dist/index378.js.map +1 -1
- package/dist/index379.js +27 -5
- package/dist/index379.js.map +1 -1
- package/dist/index38.js +4 -4
- package/dist/index380.js +138 -4
- package/dist/index380.js.map +1 -1
- package/dist/index381.js +12 -15
- package/dist/index381.js.map +1 -1
- package/dist/index382.js +46 -8
- package/dist/index382.js.map +1 -1
- package/dist/index383.js +3 -5
- package/dist/index383.js.map +1 -1
- package/dist/index384.js +21 -4
- package/dist/index384.js.map +1 -1
- package/dist/index385.js +72 -542
- package/dist/index385.js.map +1 -1
- package/dist/index386.js +11 -46
- package/dist/index386.js.map +1 -1
- package/dist/index387.js +3 -17
- package/dist/index387.js.map +1 -1
- package/dist/index388.js +71 -5
- package/dist/index388.js.map +1 -1
- package/dist/index389.js +35 -7
- package/dist/index389.js.map +1 -1
- package/dist/index39.js +5 -5
- package/dist/index390.js +7 -7
- package/dist/index390.js.map +1 -1
- package/dist/index391.js +15 -7
- package/dist/index391.js.map +1 -1
- package/dist/index392.js +4 -11
- package/dist/index392.js.map +1 -1
- package/dist/index393.js +4 -8
- package/dist/index393.js.map +1 -1
- package/dist/index394.js +4 -13
- package/dist/index394.js.map +1 -1
- package/dist/index395.js +15 -8
- package/dist/index395.js.map +1 -1
- package/dist/index396.js +9 -27
- package/dist/index396.js.map +1 -1
- package/dist/index397.js +5 -137
- package/dist/index397.js.map +1 -1
- package/dist/index398.js +4 -12
- package/dist/index398.js.map +1 -1
- package/dist/index399.js +543 -44
- package/dist/index399.js.map +1 -1
- package/dist/index40.js +3 -3
- package/dist/index400.js +47 -4
- package/dist/index400.js.map +1 -1
- package/dist/index401.js +17 -21
- package/dist/index401.js.map +1 -1
- package/dist/index402.js +5 -75
- package/dist/index402.js.map +1 -1
- package/dist/index403.js +8 -12
- package/dist/index403.js.map +1 -1
- package/dist/index404.js +6 -3
- package/dist/index404.js.map +1 -1
- package/dist/index405.js +7 -71
- package/dist/index405.js.map +1 -1
- package/dist/index406.js +11 -35
- package/dist/index406.js.map +1 -1
- package/dist/index407.js +9 -7
- package/dist/index407.js.map +1 -1
- package/dist/index408.js +12 -15
- package/dist/index408.js.map +1 -1
- package/dist/index41.js +10 -10
- package/dist/index411.js +14 -4
- package/dist/index411.js.map +1 -1
- package/dist/index412.js +3 -56
- package/dist/index412.js.map +1 -1
- package/dist/index413.js +490 -66
- package/dist/index413.js.map +1 -1
- package/dist/index414.js +5 -31
- package/dist/index414.js.map +1 -1
- package/dist/index415.js +56 -9
- package/dist/index415.js.map +1 -1
- package/dist/index416.js +61 -146
- package/dist/index416.js.map +1 -1
- package/dist/index417.js +26 -103
- package/dist/index417.js.map +1 -1
- package/dist/index418.js +9 -15
- package/dist/index418.js.map +1 -1
- package/dist/index419.js +153 -3
- package/dist/index419.js.map +1 -1
- package/dist/index420.js +106 -490
- package/dist/index420.js.map +1 -1
- package/dist/index49.js +36 -36
- 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/package.json +1 -1
package/dist/index306.js
CHANGED
|
@@ -1,256 +1,14 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
import { useFloatingParentNodeId as ze, useFloatingTree as We } from "./index403.js";
|
|
10
|
-
import { isIndexOutOfListBounds as Fe, getMinListIndex as ie, getMaxListIndex as ve, findNonDisabledListIndex as G } from "./index399.js";
|
|
11
|
-
import { ARROW_LEFT as B, ARROW_RIGHT as Q, ARROW_UP as Se, ARROW_DOWN as le } from "./index407.js";
|
|
12
|
-
import { getFloatingFocusElement as _e, isTypeableCombobox as qe } from "./index316.js";
|
|
13
|
-
import { enqueueFocus as He } from "./index401.js";
|
|
14
|
-
import { stopEvent as P, isVirtualClick as Ge, isVirtualPointerEvent as $e } from "./index339.js";
|
|
15
|
-
import { activeElement as ue, contains as se, getTarget as Be } from "./index317.js";
|
|
16
|
-
import { listNavigation as Te, focusOut as Qe } from "./index237.js";
|
|
17
|
-
const Ue = "Escape";
|
|
18
|
-
function U(c, d, n) {
|
|
19
|
-
switch (c) {
|
|
20
|
-
case "vertical":
|
|
21
|
-
return d;
|
|
22
|
-
case "horizontal":
|
|
23
|
-
return n;
|
|
24
|
-
default:
|
|
25
|
-
return d || n;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
function $(c, d) {
|
|
29
|
-
return U(d, c === Se || c === le, c === B || c === Q);
|
|
30
|
-
}
|
|
31
|
-
function ae(c, d, n) {
|
|
32
|
-
return U(d, c === le, n ? c === B : c === Q) || c === "Enter" || c === " " || c === "";
|
|
33
|
-
}
|
|
34
|
-
function je(c, d, n) {
|
|
35
|
-
return U(d, n ? c === B : c === Q, c === le);
|
|
36
|
-
}
|
|
37
|
-
function Je(c, d, n, p) {
|
|
38
|
-
const K = n ? c === Q : c === B, R = c === Se;
|
|
39
|
-
return d === "both" || d === "horizontal" && p ? c === Ue : U(d, K, R);
|
|
40
|
-
}
|
|
41
|
-
function dr(c, d) {
|
|
42
|
-
const {
|
|
43
|
-
listRef: n,
|
|
44
|
-
activeIndex: p,
|
|
45
|
-
onNavigate: K = () => {
|
|
46
|
-
},
|
|
47
|
-
enabled: R = !0,
|
|
48
|
-
selectedIndex: L = null,
|
|
49
|
-
allowEscape: j = !1,
|
|
50
|
-
loopFocus: V = !1,
|
|
51
|
-
nested: w = !1,
|
|
52
|
-
rtl: O = !1,
|
|
53
|
-
virtual: s = !1,
|
|
54
|
-
focusItemOnOpen: y = "auto",
|
|
55
|
-
focusItemOnHover: J = !0,
|
|
56
|
-
openOnArrowKeyDown: X = !0,
|
|
57
|
-
disabledIndices: x = void 0,
|
|
58
|
-
orientation: a = "vertical",
|
|
59
|
-
parentOrientation: Ke,
|
|
60
|
-
id: fe,
|
|
61
|
-
resetOnPointerLeave: Le = !0,
|
|
62
|
-
externalTree: Ce,
|
|
63
|
-
grid: Y
|
|
64
|
-
} = d, de = Y != null;
|
|
65
|
-
process.env.NODE_ENV !== "production" && (j && (V || console.warn("`useListNavigation` looping must be enabled to allow escaping."), s || console.warn("`useListNavigation` must be virtual to allow escaping.")), a === "vertical" && de && console.warn("In grid list navigation mode, the `orientation` should", 'be either "horizontal" or "both".'));
|
|
66
|
-
const g = "rootStore" in c ? c.rootStore : c, m = g.useState("open"), E = g.useState("floatingElement"), I = g.useState("domReferenceElement"), me = g.context.dataRef, De = _e(E), Z = qe(I), C = k(De), ee = ze(), F = We(Ce), M = f.useRef(y), o = f.useRef(L ?? -1), b = f.useRef(null), v = f.useRef(!0), u = S((e) => {
|
|
67
|
-
K(o.current === -1 ? null : o.current, e);
|
|
68
|
-
}), D = f.useRef(!!E), pe = f.useRef(m), h = f.useRef(!1), z = f.useRef(!1), re = f.useRef(null), Ne = k(x), W = k(m), N = k(L), ge = k(Le), Ae = Me(), Re = Me(), te = S(() => {
|
|
69
|
-
function e(i) {
|
|
70
|
-
s ? F?.events.emit("virtualfocus", i) : re.current = He(i, {
|
|
71
|
-
sync: h.current,
|
|
72
|
-
preventScroll: !0
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
const r = n.current[o.current], l = z.current;
|
|
76
|
-
r && e(r), (h.current ? (i) => i() : (i) => Ae.request(i))(() => {
|
|
77
|
-
const i = n.current[o.current] || r;
|
|
78
|
-
if (!i)
|
|
79
|
-
return;
|
|
80
|
-
r || e(i), // eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
81
|
-
oe && (l || !v.current) && i.scrollIntoView?.({
|
|
82
|
-
block: "nearest",
|
|
83
|
-
inline: "nearest"
|
|
84
|
-
});
|
|
85
|
-
});
|
|
86
|
-
});
|
|
87
|
-
T(() => {
|
|
88
|
-
me.current.orientation = a;
|
|
89
|
-
}, [me, a]), T(() => {
|
|
90
|
-
R && (m && E ? (o.current = L ?? -1, M.current && L != null && (z.current = !0, u())) : D.current && (o.current = -1, u()));
|
|
91
|
-
}, [R, m, E, L, u]), T(() => {
|
|
92
|
-
if (R) {
|
|
93
|
-
if (!m) {
|
|
94
|
-
h.current = !1;
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
if (E)
|
|
98
|
-
if (p == null) {
|
|
99
|
-
if (h.current = !1, N.current != null)
|
|
100
|
-
return;
|
|
101
|
-
if (D.current && (o.current = -1, te()), (!pe.current || !D.current) && M.current && (b.current != null || M.current === !0 && b.current == null)) {
|
|
102
|
-
let e = 0;
|
|
103
|
-
const r = () => {
|
|
104
|
-
n.current[0] == null ? (e < 2 && (e ? (t) => Re.request(t) : queueMicrotask)(r), e += 1) : (o.current = b.current == null || ae(b.current, a, O) || w ? ie(n) : ve(n), b.current = null, u());
|
|
105
|
-
};
|
|
106
|
-
r();
|
|
107
|
-
}
|
|
108
|
-
} else Fe(n.current, p) || (o.current = p, te(), z.current = !1);
|
|
109
|
-
}
|
|
110
|
-
}, [R, m, E, p, N, w, n, a, O, u, te, Re]), T(() => {
|
|
111
|
-
if (!R || E || !F || s || !D.current)
|
|
112
|
-
return;
|
|
113
|
-
const e = F.nodesRef.current, r = e.find((i) => i.id === ee)?.context?.elements.floating, l = ue(be(I ?? r ?? null)), t = e.some((i) => i.context && se(i.context.elements.floating, l));
|
|
114
|
-
r && !t && v.current && r.focus({
|
|
115
|
-
preventScroll: !0
|
|
116
|
-
});
|
|
117
|
-
}, [R, E, I, F, ee, s]), T(() => {
|
|
118
|
-
pe.current = m, D.current = !!E;
|
|
119
|
-
}), T(() => {
|
|
120
|
-
m || (b.current = null, M.current = y);
|
|
121
|
-
}, [m, y]);
|
|
122
|
-
const he = p != null, ne = S((e) => {
|
|
123
|
-
if (!W.current)
|
|
124
|
-
return;
|
|
125
|
-
const r = n.current.indexOf(e.currentTarget);
|
|
126
|
-
r !== -1 && (o.current !== r || p !== r) && (o.current = r, u(e));
|
|
127
|
-
}), _ = S(() => Ke ?? F?.nodesRef.current.find((e) => e.id === ee)?.context?.dataRef?.current.orientation), Ee = S(() => ie(n, Ne.current)), A = S((e) => {
|
|
128
|
-
if (v.current = !1, h.current = !0, e.which === 229 || !W.current && e.currentTarget === C.current)
|
|
129
|
-
return;
|
|
130
|
-
if (w && Je(e.key, a, O, de)) {
|
|
131
|
-
$(e.key, _()) || P(e), g.setOpen(!1, ce(Te, e.nativeEvent)), Pe(I) && (s ? F?.events.emit("virtualfocus", I) : I.focus());
|
|
132
|
-
return;
|
|
133
|
-
}
|
|
134
|
-
const r = o.current, l = ie(n, x), t = ve(n, x);
|
|
135
|
-
if (Z || (e.key === "Home" && (P(e), o.current = l, u(e)), e.key === "End" && (P(e), o.current = t, u(e))), Y != null) {
|
|
136
|
-
const i = Y(e, o.current, n, a, V, O, x, l, t);
|
|
137
|
-
if (i != null && (o.current = i, u(e)), a === "both")
|
|
138
|
-
return;
|
|
139
|
-
}
|
|
140
|
-
if ($(e.key, a)) {
|
|
141
|
-
if (P(e), m && !s && ue(e.currentTarget.ownerDocument) === e.currentTarget) {
|
|
142
|
-
o.current = ae(e.key, a, O) ? l : t, u(e);
|
|
143
|
-
return;
|
|
144
|
-
}
|
|
145
|
-
ae(e.key, a, O) ? V ? r >= t ? j && r !== n.current.length ? o.current = -1 : (h.current = !1, o.current = l) : o.current = G(n.current, {
|
|
146
|
-
startingIndex: r,
|
|
147
|
-
disabledIndices: x
|
|
148
|
-
}) : o.current = Math.min(t, G(n.current, {
|
|
149
|
-
startingIndex: r,
|
|
150
|
-
disabledIndices: x
|
|
151
|
-
})) : V ? r <= l ? j && r !== -1 ? o.current = n.current.length : (h.current = !1, o.current = t) : o.current = G(n.current, {
|
|
152
|
-
startingIndex: r,
|
|
153
|
-
decrement: !0,
|
|
154
|
-
disabledIndices: x
|
|
155
|
-
}) : o.current = Math.max(l, G(n.current, {
|
|
156
|
-
startingIndex: r,
|
|
157
|
-
decrement: !0,
|
|
158
|
-
disabledIndices: x
|
|
159
|
-
})), Fe(n.current, o.current) && (o.current = -1), u(e);
|
|
160
|
-
}
|
|
161
|
-
}), oe = f.useMemo(() => ({
|
|
162
|
-
onFocus(r) {
|
|
163
|
-
h.current = !0, ne(r);
|
|
164
|
-
},
|
|
165
|
-
onClick: ({
|
|
166
|
-
currentTarget: r
|
|
167
|
-
}) => r.focus({
|
|
168
|
-
preventScroll: !0
|
|
169
|
-
}),
|
|
170
|
-
// Safari
|
|
171
|
-
onMouseMove(r) {
|
|
172
|
-
h.current = !0, z.current = !1, J && ne(r);
|
|
173
|
-
},
|
|
174
|
-
onPointerLeave(r) {
|
|
175
|
-
if (!W.current || !v.current || r.pointerType === "touch")
|
|
176
|
-
return;
|
|
177
|
-
h.current = !0;
|
|
178
|
-
const l = r.relatedTarget;
|
|
179
|
-
if (!(!J || n.current.includes(l)) && ge.current && (re.current?.(), re.current = null, o.current = -1, u(r), !s)) {
|
|
180
|
-
const t = C.current, i = ue(be(t));
|
|
181
|
-
t && se(t, i) && t.focus({
|
|
182
|
-
preventScroll: !0
|
|
183
|
-
});
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
}), [ne, W, C, J, n, u, ge, s]), q = f.useMemo(() => s && m && he && {
|
|
187
|
-
"aria-activedescendant": `${fe}-${p}`
|
|
188
|
-
}, [s, m, he, fe, p]), Ie = f.useMemo(() => ({
|
|
189
|
-
"aria-orientation": a === "both" ? void 0 : a,
|
|
190
|
-
...Z ? {} : q,
|
|
191
|
-
onKeyDown(e) {
|
|
192
|
-
if (e.key === "Tab" && e.shiftKey && m && !s) {
|
|
193
|
-
const r = Be(e.nativeEvent);
|
|
194
|
-
if (r && !se(C.current, r))
|
|
195
|
-
return;
|
|
196
|
-
P(e), g.setOpen(!1, ce(Qe, e.nativeEvent)), Pe(I) && I.focus();
|
|
197
|
-
return;
|
|
198
|
-
}
|
|
199
|
-
A(e);
|
|
200
|
-
},
|
|
201
|
-
onPointerMove() {
|
|
202
|
-
v.current = !0;
|
|
203
|
-
}
|
|
204
|
-
}), [q, A, C, a, Z, g, m, s, I]), H = f.useMemo(() => {
|
|
205
|
-
function e(t) {
|
|
206
|
-
g.setOpen(!0, ce(Te, t.nativeEvent, t.currentTarget));
|
|
207
|
-
}
|
|
208
|
-
function r(t) {
|
|
209
|
-
y === "auto" && Ge(t.nativeEvent) && (M.current = !s);
|
|
210
|
-
}
|
|
211
|
-
function l(t) {
|
|
212
|
-
M.current = y, y === "auto" && $e(t.nativeEvent) && (M.current = !0);
|
|
213
|
-
}
|
|
214
|
-
return {
|
|
215
|
-
onKeyDown(t) {
|
|
216
|
-
const i = g.select("open");
|
|
217
|
-
v.current = !1;
|
|
218
|
-
const xe = t.key.startsWith("Arrow"), we = je(t.key, _(), O), ye = $(t.key, a), ke = (w ? we : ye) || t.key === "Enter" || t.key.trim() === "";
|
|
219
|
-
if (s && i)
|
|
220
|
-
return A(t);
|
|
221
|
-
if (!(!i && !X && xe)) {
|
|
222
|
-
if (ke) {
|
|
223
|
-
const Ve = $(t.key, _());
|
|
224
|
-
b.current = w && Ve ? null : t.key;
|
|
225
|
-
}
|
|
226
|
-
if (w) {
|
|
227
|
-
we && (P(t), i ? (o.current = Ee(), u(t)) : e(t));
|
|
228
|
-
return;
|
|
229
|
-
}
|
|
230
|
-
ye && (N.current != null && (o.current = N.current), P(t), !i && X ? e(t) : A(t), i && u(t));
|
|
231
|
-
}
|
|
232
|
-
},
|
|
233
|
-
onFocus(t) {
|
|
234
|
-
g.select("open") && !s && (o.current = -1, u(t));
|
|
235
|
-
},
|
|
236
|
-
onPointerDown: l,
|
|
237
|
-
onPointerEnter: l,
|
|
238
|
-
onMouseDown: r,
|
|
239
|
-
onClick: r
|
|
240
|
-
};
|
|
241
|
-
}, [A, y, Ee, w, u, g, X, a, _, O, N, s]), Oe = f.useMemo(() => ({
|
|
242
|
-
...q,
|
|
243
|
-
...H
|
|
244
|
-
}), [q, H]);
|
|
245
|
-
return f.useMemo(() => R ? {
|
|
246
|
-
reference: Oe,
|
|
247
|
-
floating: Ie,
|
|
248
|
-
item: oe,
|
|
249
|
-
trigger: H
|
|
250
|
-
} : {}, [R, Oe, Ie, H, oe]);
|
|
1
|
+
import * as e from "react";
|
|
2
|
+
const t = /* @__PURE__ */ e.createContext(void 0);
|
|
3
|
+
process.env.NODE_ENV !== "production" && (t.displayName = "CSPContext");
|
|
4
|
+
const n = {
|
|
5
|
+
disableStyleElements: !1
|
|
6
|
+
};
|
|
7
|
+
function o() {
|
|
8
|
+
return e.useContext(t) ?? n;
|
|
251
9
|
}
|
|
252
10
|
export {
|
|
253
|
-
|
|
254
|
-
|
|
11
|
+
t as CSPContext,
|
|
12
|
+
o as useCSPContext
|
|
255
13
|
};
|
|
256
14
|
//# sourceMappingURL=index306.js.map
|
package/dist/index306.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index306.js","sources":["../../../node_modules/@base-ui/react/floating-ui-react/hooks/useListNavigation.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useAnimationFrame } from '@base-ui/utils/useAnimationFrame';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { ownerDocument } from '@base-ui/utils/owner';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useValueAsRef } from '@base-ui/utils/useValueAsRef';\nimport { isHTMLElement } from '@floating-ui/utils/dom';\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\nimport { useFloatingParentNodeId, useFloatingTree } from \"../components/FloatingTree.mjs\";\nimport { findNonDisabledListIndex, getMaxListIndex, getMinListIndex, isIndexOutOfListBounds } from \"../utils/composite.mjs\";\nimport { ARROW_DOWN, ARROW_LEFT, ARROW_RIGHT, ARROW_UP } from \"../utils/constants.mjs\";\nimport { activeElement, contains, getFloatingFocusElement, getTarget, isTypeableCombobox } from \"../utils/element.mjs\";\nimport { enqueueFocus } from \"../utils/enqueueFocus.mjs\";\nimport { isVirtualClick, isVirtualPointerEvent, stopEvent } from \"../utils/event.mjs\";\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, grid) {\n const vertical = rtl ? key === ARROW_RIGHT : key === ARROW_LEFT;\n const horizontal = key === ARROW_UP;\n if (orientation === 'both' || orientation === 'horizontal' && grid) {\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 {\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 id,\n resetOnPointerLeave = true,\n externalTree,\n grid: navigateGrid\n } = props;\n const isGrid = navigateGrid != null;\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' && isGrid) {\n console.warn('In grid list navigation mode, the `orientation` should', 'be either \"horizontal\" or \"both\".');\n }\n }\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 floatingFocusElement = getFloatingFocusElement(floatingElement);\n const typeableComboboxReference = isTypeableCombobox(domReferenceElement);\n const floatingFocusElementRef = useValueAsRef(floatingFocusElement);\n const parentId = useFloatingParentNodeId();\n const tree = useFloatingTree(externalTree);\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 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 focusFrame = useAnimationFrame();\n const waitForListPopulatedFrame = useAnimationFrame();\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 ? callback => callback() : callback => focusFrame.request(callback);\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 useIsoLayoutEffect(() => {\n dataRef.current.orientation = orientation;\n }, [dataRef, orientation]);\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 // Reset the active index when the list is no longer open and mounted (closing or\n // unmounting). `onNavigate` is a stable callback that always forwards to the latest\n // `onNavigate` prop.\n indexRef.current = -1;\n onNavigate();\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 ? callback => waitForListPopulatedFrame.request(callback) : queueMicrotask;\n scheduler(waitForListPopulated);\n }\n runs += 1;\n } else {\n // Initially focus the first non-disabled item. `disabledIndices` is deliberately\n // omitted here so attribute-disabled items (`disabled`/`aria-disabled`) are skipped\n // on open even when the consumer passes an empty `disabledIndices` array. Passing it\n // would regress that behavior (see mui/base-ui#2604).\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, waitForListPopulatedFrame]);\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 // `floatingElement` is null here (see the guard above), so resolve the owner document from an\n // in-DOM element for realm-safety (shadow DOM/iframes): the reference element, falling back to\n // the parent floating element when the reference is virtual (`domReferenceElement` is null).\n const activeEl = activeElement(ownerDocument(domReferenceElement ?? parent ?? null));\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, domReferenceElement, tree, parentId, virtual]);\n useIsoLayoutEffect(() => {\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 getParentOrientation = useStableCallback(() => {\n return parentOrientation ?? tree?.nodesRef.current.find(node => node.id === parentId)?.context?.dataRef?.current.orientation;\n });\n const getMinEnabledIndex = useStableCallback(() => {\n return getMinListIndex(listRef, disabledIndicesRef.current);\n });\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, isGrid)) {\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 is injected by grid-capable consumers so non-grid\n // consumers (menu, select) tree-shake the grid helpers out.\n if (navigateGrid != null) {\n const index = navigateGrid(event, indexRef.current, listRef, orientation, loopFocus, rtl, disabledIndices, minIndex, maxIndex);\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 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 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 openOnNavigationKeyDown(event) {\n store.setOpen(true, createChangeEventDetails(REASONS.listNavigation, event.nativeEvent, event.currentTarget));\n }\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 = getMinEnabledIndex();\n onNavigate(event);\n } else {\n openOnNavigationKeyDown(event);\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 openOnNavigationKeyDown(event);\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, focusItemOnOpen, getMinEnabledIndex, 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","grid","useListNavigation","context","props","listRef","activeIndex","onNavigateProp","enabled","selectedIndex","allowEscape","loopFocus","nested","virtual","focusItemOnOpen","focusItemOnHover","openOnArrowKeyDown","disabledIndices","parentOrientation","id","resetOnPointerLeave","externalTree","navigateGrid","isGrid","store","open","floatingElement","domReferenceElement","dataRef","floatingFocusElement","getFloatingFocusElement","typeableComboboxReference","isTypeableCombobox","floatingFocusElementRef","useValueAsRef","parentId","useFloatingParentNodeId","tree","useFloatingTree","focusItemOnOpenRef","React","indexRef","keyRef","isPointerModalityRef","onNavigate","useStableCallback","event","previousMountedRef","previousOpenRef","forceSyncFocusRef","forceScrollIntoViewRef","cancelQueuedFocusRef","disabledIndicesRef","latestOpenRef","selectedIndexRef","resetOnPointerLeaveRef","focusFrame","useAnimationFrame","waitForListPopulatedFrame","focusItem","runFocus","item","enqueueFocus","initialItem","forceScrollIntoView","callback","waitedItem","useIsoLayoutEffect","runs","waitForListPopulated","getMinListIndex","getMaxListIndex","isIndexOutOfListBounds","nodes","parent","node","activeEl","activeElement","ownerDocument","treeContainsActiveEl","contains","hasActiveIndex","syncCurrentTarget","index","getParentOrientation","getMinEnabledIndex","commonOnKeyDown","stopEvent","createChangeEventDetails","REASONS.listNavigation","isHTMLElement","currentIndex","minIndex","maxIndex","findNonDisabledListIndex","currentTarget","relatedTarget","floatingFocusEl","ariaActiveDescendantProp","floating","target","getTarget","REASONS.focusOut","trigger","openOnNavigationKeyDown","checkVirtualMouse","isVirtualClick","checkVirtualPointer","isVirtualPointerEvent","currentOpen","isArrowKey","isParentCrossOpenKey","isMainKey","isNavigationKey","isParentMainKey","reference"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index306.js","sources":["../../../node_modules/@base-ui/react/internals/csp-context/CSPContext.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\n/**\n * @internal\n */\nexport const CSPContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") CSPContext.displayName = \"CSPContext\";\nconst DEFAULT_CSP_CONTEXT_VALUE = {\n disableStyleElements: false\n};\n\n/**\n * @internal\n */\nexport function useCSPContext() {\n return React.useContext(CSPContext) ?? DEFAULT_CSP_CONTEXT_VALUE;\n}"],"names":["CSPContext","React","DEFAULT_CSP_CONTEXT_VALUE","useCSPContext"],"mappings":";AAMY,MAACA,IAA0B,gBAAAC,EAAM,cAAc,MAAS;AAChE,QAAQ,IAAI,aAAa,iBAAcD,EAAW,cAAc;AACpE,MAAME,IAA4B;AAAA,EAChC,sBAAsB;AACxB;AAKO,SAASC,IAAgB;AAC9B,SAAOF,EAAM,WAAWD,CAAU,KAAKE;AACzC;","x_google_ignoreList":[0]}
|
package/dist/index307.js
CHANGED
|
@@ -1,72 +1,11 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import { isListIndexDisabled as _, isElementVisible as j } from "./index399.js";
|
|
7
|
-
import { contains as T } from "./index317.js";
|
|
8
|
-
import { stopEvent as K } from "./index339.js";
|
|
9
|
-
function ee(h, A) {
|
|
10
|
-
const {
|
|
11
|
-
listRef: D,
|
|
12
|
-
elementsRef: F,
|
|
13
|
-
activeIndex: u,
|
|
14
|
-
onMatch: P,
|
|
15
|
-
disabledIndices: S,
|
|
16
|
-
onTyping: o,
|
|
17
|
-
enabled: b = !0,
|
|
18
|
-
resetMs: O = 750,
|
|
19
|
-
selectedIndex: n = null
|
|
20
|
-
} = A, y = "rootStore" in h ? h.rootStore : h, i = y.useState("open"), m = N(), t = a.useRef(""), c = a.useRef(n ?? u ?? -1), l = a.useRef(null), k = M((r) => {
|
|
21
|
-
function d(e) {
|
|
22
|
-
const s = F?.current[e];
|
|
23
|
-
return !s || j(s);
|
|
24
|
-
}
|
|
25
|
-
function p(e) {
|
|
26
|
-
return d(e) ? S == null || !_(W, e, S) : !1;
|
|
27
|
-
}
|
|
28
|
-
function g(e, s, Y = 0) {
|
|
29
|
-
if (e.length === 0)
|
|
30
|
-
return -1;
|
|
31
|
-
const z = (Y % e.length + e.length) % e.length, B = s.toLowerCase();
|
|
32
|
-
for (let w = 0; w < e.length; w += 1) {
|
|
33
|
-
const x = (z + w) % e.length;
|
|
34
|
-
if (!(!e[x]?.toLowerCase().startsWith(B) || !p(x)))
|
|
35
|
-
return x;
|
|
36
|
-
}
|
|
37
|
-
return -1;
|
|
38
|
-
}
|
|
39
|
-
const f = D.current;
|
|
40
|
-
if (t.current.length > 0 && r.key === " " && (K(r), o?.(!0)), t.current.length > 0 && t.current[0] !== " " && g(f, t.current) === -1 && r.key !== " " && o?.(!1), f == null || // Character key.
|
|
41
|
-
r.key.length !== 1 || // Modifier key.
|
|
42
|
-
r.ctrlKey || r.metaKey || r.altKey)
|
|
43
|
-
return;
|
|
44
|
-
i && r.key !== " " && (K(r), o?.(!0));
|
|
45
|
-
const E = t.current === "";
|
|
46
|
-
E && (c.current = n ?? u ?? -1), f.every((e, s) => e && p(s) ? e[0]?.toLowerCase() !== e[1]?.toLowerCase() : !0) && t.current === r.key && (t.current = "", c.current = l.current), t.current += r.key, m.start(O, () => {
|
|
47
|
-
t.current = "", c.current = l.current, o?.(!1);
|
|
48
|
-
});
|
|
49
|
-
const V = ((E ? n ?? u ?? -1 : c.current) ?? 0) + 1, I = g(f, t.current, V);
|
|
50
|
-
I !== -1 ? (P?.(I), l.current = I) : r.key !== " " && (t.current = "", o?.(!1));
|
|
51
|
-
}), C = M((r) => {
|
|
52
|
-
const d = r.relatedTarget, p = y.select("domReferenceElement"), g = y.select("floatingElement");
|
|
53
|
-
T(p, d) || T(g, d) || (m.clear(), t.current = "", c.current = l.current, o?.(!1));
|
|
54
|
-
});
|
|
55
|
-
L(() => {
|
|
56
|
-
!i && n !== null || (m.clear(), l.current = null, t.current !== "" && (t.current = ""));
|
|
57
|
-
}, [i, n, m]), L(() => {
|
|
58
|
-
i && t.current === "" && (c.current = n ?? u ?? -1);
|
|
59
|
-
}, [i, n, u]);
|
|
60
|
-
const R = a.useMemo(() => ({
|
|
61
|
-
onKeyDown: k,
|
|
62
|
-
onBlur: C
|
|
63
|
-
}), [k, C]);
|
|
64
|
-
return a.useMemo(() => b ? {
|
|
65
|
-
reference: R,
|
|
66
|
-
floating: R
|
|
67
|
-
} : {}, [b, R]);
|
|
1
|
+
import * as t from "react";
|
|
2
|
+
const e = /* @__PURE__ */ t.createContext(void 0);
|
|
3
|
+
process.env.NODE_ENV !== "production" && (e.displayName = "DirectionContext");
|
|
4
|
+
function o() {
|
|
5
|
+
return t.useContext(e)?.direction ?? "ltr";
|
|
68
6
|
}
|
|
69
7
|
export {
|
|
70
|
-
|
|
8
|
+
e as DirectionContext,
|
|
9
|
+
o as useDirection
|
|
71
10
|
};
|
|
72
11
|
//# sourceMappingURL=index307.js.map
|
package/dist/index307.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index307.js","sources":["../../../node_modules/@base-ui/react/floating-ui-react/hooks/useTypeahead.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useTimeout } from '@base-ui/utils/useTimeout';\nimport { EMPTY_ARRAY } from '@base-ui/utils/empty';\nimport { isElementVisible, isListIndexDisabled } from \"../utils/composite.mjs\";\nimport { contains } from \"../utils/element.mjs\";\nimport { stopEvent } from \"../utils/event.mjs\";\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 {\n listRef,\n elementsRef,\n activeIndex,\n onMatch: onMatchProp,\n disabledIndices,\n onTyping,\n enabled = true,\n resetMs = 750,\n selectedIndex = null\n } = props;\n const store = 'rootStore' in context ? context.rootStore : context;\n const open = store.useState('open');\n const timeout = useTimeout();\n const stringRef = React.useRef('');\n const prevIndexRef = React.useRef(selectedIndex ?? activeIndex ?? -1);\n const matchIndexRef = React.useRef(null);\n const onKeyDown = useStableCallback(event => {\n function isVisible(index) {\n const element = elementsRef?.current[index];\n return !element || isElementVisible(element);\n }\n function isItemAvailable(index) {\n if (!isVisible(index)) {\n return false;\n }\n // Visibility is handled above; pass an empty element list so `isListIndexDisabled`\n // resolves only the explicit `disabledIndices` (array/predicate) and skips its own\n // visibility/attribute fallbacks. Consumers that don't opt in keep matching every\n // visible item.\n return disabledIndices == null || !isListIndexDisabled(EMPTY_ARRAY, index, disabledIndices);\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.toLowerCase();\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?.toLowerCase().startsWith(lowerString) || !isItemAvailable(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 onTyping?.(true);\n }\n if (stringRef.current.length > 0 && stringRef.current[0] !== ' ') {\n if (getMatchingIndex(listContent, stringRef.current) === -1 && event.key !== ' ') {\n onTyping?.(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 onTyping?.(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. Unavailable items are skipped while matching, so\n // they must be ignored here as well — otherwise a hidden or disabled double-letter\n // label would block rapid cycling through the available items.\n const allowRapidSuccessionOfFirstLetter = listContent.every((text, index) => text && isItemAvailable(index) ? text[0]?.toLowerCase() !== text[1]?.toLowerCase() : 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 onTyping?.(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 onTyping?.(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 withinComposite = contains(currentDomReferenceElement, next) || contains(currentFloatingElement, next);\n\n // Keep the session if focus moves within the composite (reference <-> floating).\n if (withinComposite) {\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 onTyping?.(false);\n });\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 sharedProps = React.useMemo(() => ({\n onKeyDown,\n onBlur\n }), [onKeyDown, onBlur]);\n return React.useMemo(() => enabled ? {\n reference: sharedProps,\n floating: sharedProps\n } : {}, [enabled, sharedProps]);\n}"],"names":["useTypeahead","context","props","listRef","elementsRef","activeIndex","onMatchProp","disabledIndices","onTyping","enabled","resetMs","selectedIndex","store","open","timeout","useTimeout","stringRef","React","prevIndexRef","matchIndexRef","onKeyDown","useStableCallback","event","isVisible","index","element","isElementVisible","isItemAvailable","isListIndexDisabled","EMPTY_ARRAY","getMatchingIndex","list","string","startIndex","normalizedStartIndex","lowerString","offset","listContent","stopEvent","isNewSession","text","onBlur","next","currentDomReferenceElement","currentFloatingElement","contains","useIsoLayoutEffect","sharedProps"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index307.js","sources":["../../../node_modules/@base-ui/react/internals/direction-context/DirectionContext.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\n/**\n * @internal\n */\nexport const DirectionContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") DirectionContext.displayName = \"DirectionContext\";\nexport function useDirection() {\n const context = React.useContext(DirectionContext);\n return context?.direction ?? 'ltr';\n}"],"names":["DirectionContext","React","useDirection"],"mappings":";AAMY,MAACA,IAAgC,gBAAAC,EAAM,cAAc,MAAS;AACtE,QAAQ,IAAI,aAAa,iBAAcD,EAAiB,cAAc;AACnE,SAASE,IAAe;AAE7B,SADgBD,EAAM,WAAWD,CAAgB,GACjC,aAAa;AAC/B;","x_google_ignoreList":[0]}
|