@rpcbase/ui 0.166.0 → 0.167.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/index100.js +318 -8
- package/dist/index100.js.map +1 -1
- package/dist/index101.js +126 -38
- package/dist/index101.js.map +1 -1
- package/dist/index102.js +20 -4
- package/dist/index102.js.map +1 -1
- package/dist/index103.js +76 -52
- package/dist/index103.js.map +1 -1
- package/dist/index104.js +18 -4
- package/dist/index104.js.map +1 -1
- package/dist/index105.js +101 -4
- package/dist/index105.js.map +1 -1
- package/dist/index106.js +5 -16
- package/dist/index106.js.map +1 -1
- package/dist/index107.js +14 -5
- package/dist/index107.js.map +1 -1
- package/dist/index108.js +2 -8
- package/dist/index108.js.map +1 -1
- package/dist/index109.js +7 -16
- package/dist/index109.js.map +1 -1
- package/dist/index11.js +13 -4
- package/dist/index11.js.map +1 -1
- package/dist/index110.js +326 -4
- package/dist/index110.js.map +1 -1
- package/dist/index111.js +49 -4
- package/dist/index111.js.map +1 -1
- package/dist/index112.js +52 -6
- package/dist/index112.js.map +1 -1
- package/dist/index113.js +4 -5
- package/dist/index113.js.map +1 -1
- package/dist/index114.js +4 -4
- package/dist/index114.js.map +1 -1
- package/dist/index115.js +14 -3
- package/dist/index115.js.map +1 -1
- package/dist/index116.js +5 -6
- package/dist/index116.js.map +1 -1
- package/dist/index117.js +7 -24
- package/dist/index117.js.map +1 -1
- package/dist/index118.js +16 -6
- package/dist/index118.js.map +1 -1
- package/dist/index119.js +4 -4
- package/dist/index119.js.map +1 -1
- package/dist/index120.js +4 -6
- package/dist/index120.js.map +1 -1
- package/dist/index121.js +5 -5
- package/dist/index121.js.map +1 -1
- package/dist/index122.js +5 -4
- package/dist/index122.js.map +1 -1
- package/dist/index123.js +4 -5
- package/dist/index123.js.map +1 -1
- package/dist/index124.js +4 -4
- package/dist/index124.js.map +1 -1
- package/dist/index125.js +5 -7
- package/dist/index125.js.map +1 -1
- package/dist/index126.js +24 -5
- package/dist/index126.js.map +1 -1
- package/dist/index127.js +6 -4
- package/dist/index127.js.map +1 -1
- package/dist/index128.js +4 -4
- package/dist/index128.js.map +1 -1
- package/dist/index129.js +6 -6
- package/dist/index129.js.map +1 -1
- package/dist/index13.js +1 -1
- package/dist/index130.js +5 -145
- package/dist/index130.js.map +1 -1
- package/dist/index131.js +4 -39
- package/dist/index131.js.map +1 -1
- package/dist/index132.js +5 -4
- package/dist/index132.js.map +1 -1
- package/dist/index133.js +4 -7
- package/dist/index133.js.map +1 -1
- package/dist/index134.js +8 -13
- package/dist/index134.js.map +1 -1
- package/dist/index135.js +5 -13
- package/dist/index135.js.map +1 -1
- package/dist/index136.js +4 -7
- package/dist/index136.js.map +1 -1
- package/dist/index137.js +4 -31
- package/dist/index137.js.map +1 -1
- package/dist/index138.js +6 -10
- package/dist/index138.js.map +1 -1
- package/dist/index139.js +145 -10
- package/dist/index139.js.map +1 -1
- package/dist/index14.js +3 -3
- package/dist/index140.js +38 -7
- package/dist/index140.js.map +1 -1
- package/dist/index141.js +4 -13
- package/dist/index141.js.map +1 -1
- package/dist/index142.js +5 -99
- package/dist/index142.js.map +1 -1
- package/dist/index143.js +14 -20
- package/dist/index143.js.map +1 -1
- package/dist/index144.js +13 -53
- package/dist/index144.js.map +1 -1
- package/dist/index145.js +6 -71
- package/dist/index145.js.map +1 -1
- package/dist/index146.js +31 -9
- package/dist/index146.js.map +1 -1
- package/dist/index147.js +10 -20
- package/dist/index147.js.map +1 -1
- package/dist/index148.js +10 -16
- package/dist/index148.js.map +1 -1
- package/dist/index149.js +8 -23
- package/dist/index149.js.map +1 -1
- package/dist/index150.js +13 -6
- package/dist/index150.js.map +1 -1
- package/dist/index151.js +101 -5
- package/dist/index151.js.map +1 -1
- package/dist/index152.js +20 -24
- package/dist/index152.js.map +1 -1
- package/dist/index153.js +53 -34
- package/dist/index153.js.map +1 -1
- package/dist/index154.js +73 -16
- package/dist/index154.js.map +1 -1
- package/dist/index155.js +9 -6
- package/dist/index155.js.map +1 -1
- package/dist/index156.js +20 -4
- package/dist/index156.js.map +1 -1
- package/dist/index157.js +16 -4
- package/dist/index157.js.map +1 -1
- package/dist/index158.js +23 -4
- package/dist/index158.js.map +1 -1
- package/dist/index159.js +6 -4
- package/dist/index159.js.map +1 -1
- package/dist/index160.js +5 -3
- package/dist/index160.js.map +1 -1
- package/dist/index161.js +23 -6
- package/dist/index161.js.map +1 -1
- package/dist/index162.js +35 -24
- package/dist/index162.js.map +1 -1
- package/dist/index163.js +16 -8
- package/dist/index163.js.map +1 -1
- package/dist/index164.js +5 -5
- package/dist/index164.js.map +1 -1
- package/dist/index165.js +4 -5
- package/dist/index165.js.map +1 -1
- package/dist/index166.js +4 -3
- package/dist/index166.js.map +1 -1
- package/dist/index167.js +4 -3
- package/dist/index167.js.map +1 -1
- package/dist/index168.js +4 -4
- package/dist/index168.js.map +1 -1
- package/dist/index169.js +3 -3
- package/dist/index169.js.map +1 -1
- package/dist/index170.js +6 -4
- package/dist/index170.js.map +1 -1
- package/dist/index171.js +24 -4
- package/dist/index171.js.map +1 -1
- package/dist/index172.js +7 -3
- package/dist/index172.js.map +1 -1
- package/dist/index173.js +6 -3
- package/dist/index173.js.map +1 -1
- package/dist/index174.js +5 -24
- package/dist/index174.js.map +1 -1
- package/dist/index175.js +4 -29
- package/dist/index175.js.map +1 -1
- package/dist/index176.js +4 -5
- package/dist/index176.js.map +1 -1
- package/dist/index177.js +4 -67
- package/dist/index177.js.map +1 -1
- package/dist/index178.js +3 -180
- package/dist/index178.js.map +1 -1
- package/dist/index179.js +4 -46
- package/dist/index179.js.map +1 -1
- package/dist/index18.js +10 -1
- package/dist/index18.js.map +1 -1
- package/dist/index180.js +3 -13
- package/dist/index180.js.map +1 -1
- package/dist/index181.js +3 -154
- package/dist/index181.js.map +1 -1
- package/dist/index182.js +3 -30
- package/dist/index182.js.map +1 -1
- package/dist/index183.js +3 -9
- package/dist/index183.js.map +1 -1
- package/dist/index184.js +2 -48
- package/dist/index184.js.map +1 -1
- package/dist/index185.js +67 -11
- package/dist/index185.js.map +1 -1
- package/dist/index186.js +83 -43
- package/dist/index186.js.map +1 -1
- package/dist/index187.js +41 -90
- package/dist/index187.js.map +1 -1
- package/dist/index188.js +7 -86
- package/dist/index188.js.map +1 -1
- package/dist/index189.js +4 -105
- package/dist/index189.js.map +1 -1
- package/dist/index19.js +6 -6
- package/dist/index190.js +49 -50
- package/dist/index190.js.map +1 -1
- package/dist/index191.js +24 -11
- package/dist/index191.js.map +1 -1
- package/dist/index192.js +29 -38
- package/dist/index192.js.map +1 -1
- package/dist/index193.js +5 -9
- package/dist/index193.js.map +1 -1
- package/dist/index194.js +5 -116
- package/dist/index194.js.map +1 -1
- package/dist/index195.js +67 -16
- package/dist/index195.js.map +1 -1
- package/dist/index196.js +2 -16
- package/dist/index196.js.map +1 -1
- package/dist/index197.js +363 -3
- package/dist/index197.js.map +1 -1
- package/dist/index198.js +259 -34
- package/dist/index198.js.map +1 -1
- package/dist/index199.js +59 -19
- package/dist/index199.js.map +1 -1
- package/dist/index20.js +1 -1
- package/dist/index200.js +46 -9
- package/dist/index200.js.map +1 -1
- package/dist/index201.js +169 -8
- package/dist/index201.js.map +1 -1
- package/dist/index202.js +108 -18
- package/dist/index202.js.map +1 -1
- package/dist/index203.js +24 -28
- package/dist/index203.js.map +1 -1
- package/dist/index204.js +8 -17
- package/dist/index204.js.map +1 -1
- package/dist/index205.js +4 -58
- package/dist/index205.js.map +1 -1
- package/dist/index206.js +5 -8
- package/dist/index206.js.map +1 -1
- package/dist/index207.js +4 -66
- package/dist/index207.js.map +1 -1
- package/dist/index208.js +464 -17
- package/dist/index208.js.map +1 -1
- package/dist/index209.js +183 -14
- package/dist/index209.js.map +1 -1
- package/dist/index21.js +1 -1
- package/dist/index210.js +106 -4
- package/dist/index210.js.map +1 -1
- package/dist/index211.js +261 -4
- package/dist/index211.js.map +1 -1
- package/dist/index212.js +9 -6
- package/dist/index212.js.map +1 -1
- package/dist/index213.js +42 -4
- package/dist/index213.js.map +1 -1
- package/dist/index214.js +4 -7
- package/dist/index214.js.map +1 -1
- package/dist/index215.js +64 -17
- package/dist/index215.js.map +1 -1
- package/dist/index216.js +47 -4
- package/dist/index216.js.map +1 -1
- package/dist/index217.js +67 -5
- package/dist/index217.js.map +1 -1
- package/dist/index218.js +180 -13
- package/dist/index218.js.map +1 -1
- package/dist/index219.js +46 -10
- package/dist/index219.js.map +1 -1
- package/dist/index220.js +39 -14
- package/dist/index220.js.map +1 -1
- package/dist/index221.js +100 -14
- package/dist/index221.js.map +1 -1
- package/dist/index222.js +97 -5
- package/dist/index222.js.map +1 -1
- package/dist/index223.js +99 -6
- package/dist/index223.js.map +1 -1
- package/dist/index224.js +58 -7
- package/dist/index224.js.map +1 -1
- package/dist/index225.js +8 -6
- package/dist/index225.js.map +1 -1
- package/dist/index226.js +66 -9
- package/dist/index226.js.map +1 -1
- package/dist/index227.js +19 -5
- package/dist/index227.js.map +1 -1
- package/dist/index228.js +16 -5
- package/dist/index228.js.map +1 -1
- package/dist/index229.js +5 -9
- package/dist/index229.js.map +1 -1
- package/dist/index23.js +1 -1
- package/dist/index230.js +5 -5
- package/dist/index230.js.map +1 -1
- package/dist/index231.js +6 -5
- package/dist/index231.js.map +1 -1
- package/dist/index232.js +4 -4
- package/dist/index232.js.map +1 -1
- package/dist/index233.js +7 -11
- package/dist/index233.js.map +1 -1
- package/dist/index234.js +16 -9
- package/dist/index234.js.map +1 -1
- package/dist/index235.js +5 -10
- package/dist/index235.js.map +1 -1
- package/dist/index236.js +5 -11
- package/dist/index236.js.map +1 -1
- package/dist/index237.js +13 -11
- package/dist/index237.js.map +1 -1
- package/dist/index238.js +10 -10
- package/dist/index238.js.map +1 -1
- package/dist/index239.js +13 -6
- package/dist/index239.js.map +1 -1
- package/dist/index240.js +14 -6
- package/dist/index240.js.map +1 -1
- package/dist/index241.js +4 -4
- package/dist/index241.js.map +1 -1
- package/dist/index242.js +6 -6
- package/dist/index242.js.map +1 -1
- package/dist/index243.js +6 -6
- package/dist/index243.js.map +1 -1
- package/dist/index244.js +5 -5
- package/dist/index244.js.map +1 -1
- package/dist/index245.js +9 -55
- package/dist/index245.js.map +1 -1
- package/dist/index246.js +5 -23
- package/dist/index246.js.map +1 -1
- package/dist/index247.js +5 -16
- package/dist/index247.js.map +1 -1
- package/dist/index248.js +9 -7
- package/dist/index248.js.map +1 -1
- package/dist/index249.js +5 -10
- package/dist/index249.js.map +1 -1
- package/dist/index250.js +5 -10
- package/dist/index250.js.map +1 -1
- package/dist/index251.js +4 -21
- package/dist/index251.js.map +1 -1
- package/dist/index252.js +11 -10
- package/dist/index252.js.map +1 -1
- package/dist/index253.js +10 -9
- package/dist/index253.js.map +1 -1
- package/dist/index254.js +10 -9
- package/dist/index254.js.map +1 -1
- package/dist/index255.js +11 -4
- package/dist/index255.js.map +1 -1
- package/dist/index256.js +11 -5
- package/dist/index256.js.map +1 -1
- package/dist/index257.js +10 -16
- package/dist/index257.js.map +1 -1
- package/dist/index258.js +7 -9
- package/dist/index258.js.map +1 -1
- package/dist/index259.js +6 -18
- package/dist/index259.js.map +1 -1
- package/dist/index260.js +5 -15
- package/dist/index260.js.map +1 -1
- package/dist/index261.js +6 -12
- package/dist/index261.js.map +1 -1
- package/dist/index262.js +7 -29
- package/dist/index262.js.map +1 -1
- package/dist/index263.js +6 -12
- package/dist/index263.js.map +1 -1
- package/dist/index264.js +54 -24
- package/dist/index264.js.map +1 -1
- package/dist/index265.js +23 -5
- package/dist/index265.js.map +1 -1
- package/dist/index266.js +17 -5
- package/dist/index266.js.map +1 -1
- package/dist/index267.js +8 -3
- package/dist/index267.js.map +1 -1
- package/dist/index268.js +10 -23
- package/dist/index268.js.map +1 -1
- package/dist/index269.js +10 -112
- package/dist/index269.js.map +1 -1
- package/dist/index270.js +21 -15
- package/dist/index270.js.map +1 -1
- package/dist/index271.js +10 -524
- package/dist/index271.js.map +1 -1
- package/dist/index272.js +9 -127
- package/dist/index272.js.map +1 -1
- package/dist/index273.js +9 -133
- package/dist/index273.js.map +1 -1
- package/dist/index274.js +4 -20
- package/dist/index274.js.map +1 -1
- package/dist/index275.js +5 -4
- package/dist/index275.js.map +1 -1
- package/dist/index276.js +16 -18
- package/dist/index276.js.map +1 -1
- package/dist/index277.js +9 -12
- package/dist/index277.js.map +1 -1
- package/dist/index278.js +19 -69
- package/dist/index278.js.map +1 -1
- package/dist/index279.js +15 -8
- package/dist/index279.js.map +1 -1
- package/dist/index28.js +1 -1
- package/dist/index280.js +13 -14
- package/dist/index280.js.map +1 -1
- package/dist/index281.js +30 -66
- package/dist/index281.js.map +1 -1
- package/dist/index282.js +12 -64
- package/dist/index282.js.map +1 -1
- package/dist/index283.js +25 -5
- package/dist/index283.js.map +1 -1
- package/dist/index284.js +5 -5
- package/dist/index284.js.map +1 -1
- package/dist/index285.js +2 -4
- package/dist/index285.js.map +1 -1
- package/dist/index286.js +2 -16
- package/dist/index286.js.map +1 -1
- package/dist/index287.js +5 -9
- package/dist/index287.js.map +1 -1
- package/dist/index288.js +3 -6
- package/dist/index288.js.map +1 -1
- package/dist/index289.js +23 -4
- package/dist/index289.js.map +1 -1
- package/dist/index29.js +5 -5
- package/dist/index290.js +111 -544
- package/dist/index290.js.map +1 -1
- package/dist/index291.js +15 -46
- package/dist/index291.js.map +1 -1
- package/dist/index292.js +521 -14
- package/dist/index292.js.map +1 -1
- package/dist/index293.js +127 -6
- package/dist/index293.js.map +1 -1
- package/dist/index294.js +133 -8
- package/dist/index294.js.map +1 -1
- package/dist/index295.js +13 -7
- package/dist/index295.js.map +1 -1
- package/dist/index296.js +154 -8
- package/dist/index296.js.map +1 -1
- package/dist/index297.js +30 -12
- package/dist/index297.js.map +1 -1
- package/dist/index298.js +9 -9
- package/dist/index298.js.map +1 -1
- package/dist/index299.js +47 -13
- package/dist/index299.js.map +1 -1
- package/dist/index30.js +47 -231
- package/dist/index30.js.map +1 -1
- package/dist/index300.js +11 -3
- package/dist/index300.js.map +1 -1
- package/dist/index301.js +43 -21
- package/dist/index301.js.map +1 -1
- package/dist/index302.js +95 -4
- package/dist/index302.js.map +1 -1
- package/dist/index303.js +85 -54
- package/dist/index303.js.map +1 -1
- package/dist/index304.js +105 -67
- package/dist/index304.js.map +1 -1
- package/dist/index305.js +53 -31
- package/dist/index305.js.map +1 -1
- package/dist/index306.js +12 -9
- package/dist/index306.js.map +1 -1
- package/dist/index307.js +36 -151
- package/dist/index307.js.map +1 -1
- package/dist/index308.js +9 -108
- package/dist/index308.js.map +1 -1
- package/dist/index309.js +4 -23
- package/dist/index309.js.map +1 -1
- package/dist/index31.js +218 -49
- package/dist/index31.js.map +1 -1
- package/dist/index310.js +10 -13
- package/dist/index310.js.map +1 -1
- package/dist/index311.js +113 -24
- package/dist/index311.js.map +1 -1
- package/dist/index312.js +18 -5
- package/dist/index312.js.map +1 -1
- package/dist/index313.js +15 -15
- package/dist/index313.js.map +1 -1
- package/dist/index314.js +33 -25
- package/dist/index314.js.map +1 -1
- package/dist/index315.js +20 -12
- package/dist/index315.js.map +1 -1
- package/dist/index316.js +8 -6
- package/dist/index316.js.map +1 -1
- package/dist/index317.js +23 -0
- package/dist/index317.js.map +1 -0
- package/dist/index318.js +32 -0
- package/dist/index318.js.map +1 -0
- package/dist/index319.js +20 -0
- package/dist/index319.js.map +1 -0
- package/dist/index32.js +36 -2633
- package/dist/index32.js.map +1 -1
- package/dist/index320.js +8 -0
- package/dist/index320.js.map +1 -0
- package/dist/index321.js +22 -0
- package/dist/index321.js.map +1 -0
- package/dist/index322.js +16 -0
- package/dist/index322.js.map +1 -0
- package/dist/index323.js +72 -0
- package/dist/index323.js.map +1 -0
- package/dist/index324.js +12 -0
- package/dist/index324.js.map +1 -0
- package/dist/index325.js +17 -0
- package/dist/index325.js.map +1 -0
- package/dist/index326.js +69 -0
- package/dist/index326.js.map +1 -0
- package/dist/index327.js +68 -0
- package/dist/index327.js.map +1 -0
- package/dist/index328.js +24 -0
- package/dist/index328.js.map +1 -0
- package/dist/index329.js +9 -0
- package/dist/index329.js.map +1 -0
- package/dist/index33.js +35 -388
- package/dist/index33.js.map +1 -1
- package/dist/index330.js +9 -0
- package/dist/index330.js.map +1 -0
- package/dist/index331.js +7 -0
- package/dist/index331.js.map +1 -0
- package/dist/index332.js +19 -0
- package/dist/index332.js.map +1 -0
- package/dist/index333.js +12 -0
- package/dist/index333.js.map +1 -0
- package/dist/index334.js +9 -0
- package/dist/index334.js.map +1 -0
- package/dist/index335.js +8 -0
- package/dist/index335.js.map +1 -0
- package/dist/index336.js +549 -0
- package/dist/index336.js.map +1 -0
- package/dist/index337.js +50 -0
- package/dist/index337.js.map +1 -0
- package/dist/index338.js +21 -0
- package/dist/index338.js.map +1 -0
- package/dist/index339.js +10 -0
- package/dist/index339.js.map +1 -0
- package/dist/index34.js +26 -230
- package/dist/index34.js.map +1 -1
- package/dist/index340.js +12 -0
- package/dist/index340.js.map +1 -0
- package/dist/index341.js +11 -0
- package/dist/index341.js.map +1 -0
- package/dist/index342.js +12 -0
- package/dist/index342.js.map +1 -0
- package/dist/index343.js +16 -0
- package/dist/index343.js.map +1 -0
- package/dist/index344.js +13 -0
- package/dist/index344.js.map +1 -0
- package/dist/index345.js +17 -0
- package/dist/index345.js.map +1 -0
- package/dist/index346.js +7 -0
- package/dist/index346.js.map +1 -0
- package/dist/index347.js +26 -0
- package/dist/index347.js.map +1 -0
- package/dist/index348.js +8 -0
- package/dist/index348.js.map +1 -0
- package/dist/index349.js +59 -0
- package/dist/index349.js.map +1 -0
- package/dist/index35.js +44 -20
- package/dist/index35.js.map +1 -1
- package/dist/index350.js +71 -0
- package/dist/index350.js.map +1 -0
- package/dist/index351.js +34 -0
- package/dist/index351.js.map +1 -0
- package/dist/index352.js +12 -0
- package/dist/index352.js.map +1 -0
- package/dist/index353.js +156 -0
- package/dist/index353.js.map +1 -0
- package/dist/index354.js +111 -0
- package/dist/index354.js.map +1 -0
- package/dist/index355.js +26 -0
- package/dist/index355.js.map +1 -0
- package/dist/index356.js +16 -0
- package/dist/index356.js.map +1 -0
- package/dist/index357.js +31 -0
- package/dist/index357.js.map +1 -0
- package/dist/index358.js +8 -0
- package/dist/index358.js.map +1 -0
- package/dist/index359.js +19 -0
- package/dist/index359.js.map +1 -0
- package/dist/index36.js +27 -137
- package/dist/index36.js.map +1 -1
- package/dist/index360.js +32 -0
- package/dist/index360.js.map +1 -0
- package/dist/index361.js +16 -0
- package/dist/index361.js.map +1 -0
- package/dist/index362.js +10 -0
- package/dist/index362.js.map +1 -0
- package/dist/index37.js +22 -181
- package/dist/index37.js.map +1 -1
- package/dist/index38.js +23 -77
- package/dist/index38.js.map +1 -1
- package/dist/index39.js +127 -89
- package/dist/index39.js.map +1 -1
- package/dist/index40.js +231 -5
- package/dist/index40.js.map +1 -1
- package/dist/index41.js +51 -844
- package/dist/index41.js.map +1 -1
- package/dist/index42.js +2636 -61
- package/dist/index42.js.map +1 -1
- package/dist/index43.js +393 -7
- package/dist/index43.js.map +1 -1
- package/dist/index44.js +233 -2
- package/dist/index44.js.map +1 -1
- package/dist/index45.js +20 -22
- package/dist/index45.js.map +1 -1
- package/dist/index46.js +140 -232
- package/dist/index46.js.map +1 -1
- package/dist/index47.js +180 -198
- package/dist/index47.js.map +1 -1
- package/dist/index48.js +76 -3
- package/dist/index48.js.map +1 -1
- package/dist/index49.js +89 -5
- package/dist/index49.js.map +1 -1
- package/dist/index50.js +5 -47
- package/dist/index50.js.map +1 -1
- package/dist/index51.js +840 -23
- package/dist/index51.js.map +1 -1
- package/dist/index52.js +65 -50
- package/dist/index52.js.map +1 -1
- package/dist/index53.js +7 -7
- package/dist/index53.js.map +1 -1
- package/dist/index54.js +2 -15
- package/dist/index54.js.map +1 -1
- package/dist/index55.js +22 -132
- package/dist/index55.js.map +1 -1
- package/dist/index56.js +233 -10
- package/dist/index56.js.map +1 -1
- package/dist/index57.js +191 -203
- package/dist/index57.js.map +1 -1
- package/dist/index58.js +4 -13
- package/dist/index58.js.map +1 -1
- package/dist/index59.js +6 -33
- package/dist/index59.js.map +1 -1
- package/dist/index60.js +44 -43
- package/dist/index60.js.map +1 -1
- package/dist/index61.js +26 -7
- package/dist/index61.js.map +1 -1
- package/dist/index62.js +48 -47
- package/dist/index62.js.map +1 -1
- package/dist/index63.js +7 -3
- package/dist/index63.js.map +1 -1
- package/dist/index64.js +14 -5
- package/dist/index64.js.map +1 -1
- package/dist/index65.js +133 -27
- package/dist/index65.js.map +1 -1
- package/dist/index66.js +11 -50
- package/dist/index66.js.map +1 -1
- package/dist/index67.js +216 -8
- package/dist/index67.js.map +1 -1
- package/dist/index68.js +13 -2
- package/dist/index68.js.map +1 -1
- package/dist/index69.js +34 -2
- package/dist/index69.js.map +1 -1
- package/dist/index70.js +46 -11
- package/dist/index70.js.map +1 -1
- package/dist/index71.js +7 -53
- package/dist/index71.js.map +1 -1
- package/dist/index72.js +49 -5
- package/dist/index72.js.map +1 -1
- package/dist/index73.js +4 -8
- package/dist/index73.js.map +1 -1
- package/dist/index74.js +5 -5
- package/dist/index74.js.map +1 -1
- package/dist/index75.js +27 -46
- package/dist/index75.js.map +1 -1
- package/dist/index76.js +48 -204
- package/dist/index76.js.map +1 -1
- package/dist/index77.js +8 -21
- package/dist/index77.js.map +1 -1
- package/dist/index78.js +11 -24
- package/dist/index78.js.map +1 -1
- package/dist/index79.js +2 -400
- package/dist/index79.js.map +1 -1
- package/dist/index80.js +2 -47
- package/dist/index80.js.map +1 -1
- package/dist/index81.js +52 -604
- package/dist/index81.js.map +1 -1
- package/dist/index82.js +46 -5
- package/dist/index82.js.map +1 -1
- package/dist/index83.js +199 -62
- package/dist/index83.js.map +1 -1
- package/dist/index84.js +22 -2
- package/dist/index84.js.map +1 -1
- package/dist/index85.js +24 -363
- package/dist/index85.js.map +1 -1
- package/dist/index86.js +381 -243
- package/dist/index86.js.map +1 -1
- package/dist/index87.js +41 -55
- package/dist/index87.js.map +1 -1
- package/dist/index88.js +5 -46
- package/dist/index88.js.map +1 -1
- package/dist/index89.js +7 -169
- package/dist/index89.js.map +1 -1
- package/dist/index90.js +5 -109
- package/dist/index90.js.map +1 -1
- package/dist/index91.js +605 -24
- package/dist/index91.js.map +1 -1
- package/dist/index92.js +4 -8
- package/dist/index92.js.map +1 -1
- package/dist/index93.js +33 -4
- package/dist/index93.js.map +1 -1
- package/dist/index94.js +249 -5
- package/dist/index94.js.map +1 -1
- package/dist/index95.js +114 -4
- package/dist/index95.js.map +1 -1
- package/dist/index96.js +214 -461
- package/dist/index96.js.map +1 -1
- package/dist/index97.js +60 -179
- package/dist/index97.js.map +1 -1
- package/dist/index98.js +18 -105
- package/dist/index98.js.map +1 -1
- package/dist/index99.js +197 -250
- package/dist/index99.js.map +1 -1
- package/package.json +1 -1
package/dist/index42.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index42.js","sources":["../src/components/header/MenuPopover/index.tsx"],"sourcesContent":["import clsx from \"clsx\"\nimport { ReactNode, useState, useRef, useEffect } from \"react\"\nimport { Link } from \"react-router\"\n\n\nexport const MenuPopover = ({\n href,\n labelClassName,\n labelActiveClassName,\n labelElement,\n isActive,\n children,\n}: {\n href: string;\n labelClassName: string;\n labelActiveClassName: string;\n labelElement: ReactNode;\n isActive: boolean;\n children: (props: { setIsOpen: (isOpen: boolean) => void }) => ReactNode\n}) => {\n const [isOpen, setIsOpen] = useState(false)\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n const popoverRef = useRef(null)\n\n const handleMouseEnter = () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n }\n setIsOpen(true)\n }\n\n const handleMouseLeave = () => {\n timeoutRef.current = setTimeout(() => {\n setIsOpen(false)\n }, 120)\n }\n\n useEffect(() => {\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n }\n }\n }, [])\n\n return (\n <div\n className=\"flex\"\n ref={popoverRef}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n <div className=\"relative flex\">\n <Link\n to={href}\n onClick={() => {\n setIsOpen(false)\n }}\n className={clsx(\n \"relative z-10 -mb-px flex items-center border-b-2 pt-px text-sm font-medium text-gray-700 cursor-pointer transition-colors duration-200 ease-out hover:text-gray-800\",\n labelClassName,\n isOpen || isActive ? labelActiveClassName : \"border-transparent\",\n )}\n >\n {labelElement}\n </Link>\n </div>\n\n {isOpen && (\n <div\n className=\"absolute left-0 right-0 top-full z-20 text-gray-500 sm:text-sm\"\n style={{ width: \"100vw\", left: \"50%\", transform: \"translateX(-50%)\" }}\n >\n <div\n aria-hidden=\"true\"\n className=\"absolute inset-0 top-1/2 bg-white shadow-sm\"\n />\n\n <div className=\"relative bg-white\">\n {children({ setIsOpen })}\n </div>\n </div>\n )}\n </div>\n )\n}\n"],"names":["MenuPopover","href","labelClassName","labelActiveClassName","labelElement","isActive","children","isOpen","setIsOpen","useState","timeoutRef","useRef","popoverRef","handleMouseEnter","handleMouseLeave","useEffect","jsxs","jsx","Link","clsx"],"mappings":";;;;AAKO,MAAMA,IAAc,CAAC;AAAA,EAC1B,MAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AACF,MAOM;AACJ,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAK,GACpCC,IAAaC,EAA6C,IAAI,GAC9DC,IAAaD,EAAO,IAAI,GAExBE,IAAmB,MAAM;AAC7B,IAAIH,EAAW,WACb,aAAaA,EAAW,OAAO,GAEjCF,EAAU,EAAI;AAAA,EAChB,GAEMM,IAAmB,MAAM;AAC7B,IAAAJ,EAAW,UAAU,WAAW,MAAM;AACpC,MAAAF,EAAU,EAAK;AAAA,IACjB,GAAG,GAAG;AAAA,EACR;AAEA,SAAAO,EAAU,MACD,MAAM;AACX,IAAIL,EAAW,WACb,aAAaA,EAAW,OAAO;AAAA,EAEnC,GACC,CAAA,CAAE,GAGHM,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,KAAKJ;AAAA,MACL,cAAcC;AAAA,MACd,cAAcC;AAAA,MAEd,UAAA;AAAA,QAAAG,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,iBACb,UAAAA,gBAAAA,EAAAA;AAAAA,UAACC;AAAA,UAAA;AAAA,YACC,IAAIjB;AAAA,YACJ,SAAS,MAAM;AACb,cAAAO,EAAU,EAAK;AAAA,YACjB;AAAA,YACA,WAAWW;AAAA,cACT;AAAA,cACAjB;AAAA,cACAK,KAAUF,IAAWF,IAAuB;AAAA,YAAA;AAAA,YAG7C,UAAAC;AAAA,UAAA;AAAA,QAAA,GAEL;AAAA,QAECG,KACCS,gBAAAA,EAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,OAAO,EAAE,OAAO,SAAS,MAAM,OAAO,WAAW,mBAAA;AAAA,YAEjD,UAAA;AAAA,cAAAC,gBAAAA,EAAAA;AAAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,eAAY;AAAA,kBACZ,WAAU;AAAA,gBAAA;AAAA,cAAA;AAAA,cAGZA,gBAAAA,MAAC,SAAI,WAAU,qBACZ,YAAS,EAAE,WAAAT,EAAA,CAAW,EAAA,CACzB;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAIR;"}
|
|
1
|
+
{"version":3,"file":"index42.js","sources":["../../../node_modules/@dnd-kit/core/dist/core.esm.js"],"sourcesContent":["import React, { createContext, useContext, useEffect, useState, useCallback, useMemo, useRef, memo, useReducer, cloneElement, forwardRef } from 'react';\nimport { createPortal, unstable_batchedUpdates } from 'react-dom';\nimport { useUniqueId, getEventCoordinates, getWindow, isDocument, isHTMLElement, isSVGElement, canUseDOM, isWindow, isNode, getOwnerDocument, add, isKeyboardEvent, subtract, useLazyMemo, useInterval, usePrevious, useLatestValue, useEvent, useIsomorphicLayoutEffect, useNodeRef, findFirstFocusableNode, CSS } from '@dnd-kit/utilities';\nimport { useAnnouncement, HiddenText, LiveRegion } from '@dnd-kit/accessibility';\n\nconst DndMonitorContext = /*#__PURE__*/createContext(null);\n\nfunction useDndMonitor(listener) {\n const registerListener = useContext(DndMonitorContext);\n useEffect(() => {\n if (!registerListener) {\n throw new Error('useDndMonitor must be used within a children of <DndContext>');\n }\n\n const unsubscribe = registerListener(listener);\n return unsubscribe;\n }, [listener, registerListener]);\n}\n\nfunction useDndMonitorProvider() {\n const [listeners] = useState(() => new Set());\n const registerListener = useCallback(listener => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n }, [listeners]);\n const dispatch = useCallback(_ref => {\n let {\n type,\n event\n } = _ref;\n listeners.forEach(listener => {\n var _listener$type;\n\n return (_listener$type = listener[type]) == null ? void 0 : _listener$type.call(listener, event);\n });\n }, [listeners]);\n return [dispatch, registerListener];\n}\n\nconst defaultScreenReaderInstructions = {\n draggable: \"\\n To pick up a draggable item, press the space bar.\\n While dragging, use the arrow keys to move the item.\\n Press space again to drop the item in its new position, or press escape to cancel.\\n \"\n};\nconst defaultAnnouncements = {\n onDragStart(_ref) {\n let {\n active\n } = _ref;\n return \"Picked up draggable item \" + active.id + \".\";\n },\n\n onDragOver(_ref2) {\n let {\n active,\n over\n } = _ref2;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was moved over droppable area \" + over.id + \".\";\n }\n\n return \"Draggable item \" + active.id + \" is no longer over a droppable area.\";\n },\n\n onDragEnd(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was dropped over droppable area \" + over.id;\n }\n\n return \"Draggable item \" + active.id + \" was dropped.\";\n },\n\n onDragCancel(_ref4) {\n let {\n active\n } = _ref4;\n return \"Dragging was cancelled. Draggable item \" + active.id + \" was dropped.\";\n }\n\n};\n\nfunction Accessibility(_ref) {\n let {\n announcements = defaultAnnouncements,\n container,\n hiddenTextDescribedById,\n screenReaderInstructions = defaultScreenReaderInstructions\n } = _ref;\n const {\n announce,\n announcement\n } = useAnnouncement();\n const liveRegionId = useUniqueId(\"DndLiveRegion\");\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setMounted(true);\n }, []);\n useDndMonitor(useMemo(() => ({\n onDragStart(_ref2) {\n let {\n active\n } = _ref2;\n announce(announcements.onDragStart({\n active\n }));\n },\n\n onDragMove(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (announcements.onDragMove) {\n announce(announcements.onDragMove({\n active,\n over\n }));\n }\n },\n\n onDragOver(_ref4) {\n let {\n active,\n over\n } = _ref4;\n announce(announcements.onDragOver({\n active,\n over\n }));\n },\n\n onDragEnd(_ref5) {\n let {\n active,\n over\n } = _ref5;\n announce(announcements.onDragEnd({\n active,\n over\n }));\n },\n\n onDragCancel(_ref6) {\n let {\n active,\n over\n } = _ref6;\n announce(announcements.onDragCancel({\n active,\n over\n }));\n }\n\n }), [announce, announcements]));\n\n if (!mounted) {\n return null;\n }\n\n const markup = React.createElement(React.Fragment, null, React.createElement(HiddenText, {\n id: hiddenTextDescribedById,\n value: screenReaderInstructions.draggable\n }), React.createElement(LiveRegion, {\n id: liveRegionId,\n announcement: announcement\n }));\n return container ? createPortal(markup, container) : markup;\n}\n\nvar Action;\n\n(function (Action) {\n Action[\"DragStart\"] = \"dragStart\";\n Action[\"DragMove\"] = \"dragMove\";\n Action[\"DragEnd\"] = \"dragEnd\";\n Action[\"DragCancel\"] = \"dragCancel\";\n Action[\"DragOver\"] = \"dragOver\";\n Action[\"RegisterDroppable\"] = \"registerDroppable\";\n Action[\"SetDroppableDisabled\"] = \"setDroppableDisabled\";\n Action[\"UnregisterDroppable\"] = \"unregisterDroppable\";\n})(Action || (Action = {}));\n\nfunction noop() {}\n\nfunction useSensor(sensor, options) {\n return useMemo(() => ({\n sensor,\n options: options != null ? options : {}\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [sensor, options]);\n}\n\nfunction useSensors() {\n for (var _len = arguments.length, sensors = new Array(_len), _key = 0; _key < _len; _key++) {\n sensors[_key] = arguments[_key];\n }\n\n return useMemo(() => [...sensors].filter(sensor => sensor != null), // eslint-disable-next-line react-hooks/exhaustive-deps\n [...sensors]);\n}\n\nconst defaultCoordinates = /*#__PURE__*/Object.freeze({\n x: 0,\n y: 0\n});\n\n/**\r\n * Returns the distance between two points\r\n */\nfunction distanceBetween(p1, p2) {\n return Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));\n}\n\nfunction getRelativeTransformOrigin(event, rect) {\n const eventCoordinates = getEventCoordinates(event);\n\n if (!eventCoordinates) {\n return '0 0';\n }\n\n const transformOrigin = {\n x: (eventCoordinates.x - rect.left) / rect.width * 100,\n y: (eventCoordinates.y - rect.top) / rect.height * 100\n };\n return transformOrigin.x + \"% \" + transformOrigin.y + \"%\";\n}\n\n/**\r\n * Sort collisions from smallest to greatest value\r\n */\nfunction sortCollisionsAsc(_ref, _ref2) {\n let {\n data: {\n value: a\n }\n } = _ref;\n let {\n data: {\n value: b\n }\n } = _ref2;\n return a - b;\n}\n/**\r\n * Sort collisions from greatest to smallest value\r\n */\n\nfunction sortCollisionsDesc(_ref3, _ref4) {\n let {\n data: {\n value: a\n }\n } = _ref3;\n let {\n data: {\n value: b\n }\n } = _ref4;\n return b - a;\n}\n/**\r\n * Returns the coordinates of the corners of a given rectangle:\r\n * [TopLeft {x, y}, TopRight {x, y}, BottomLeft {x, y}, BottomRight {x, y}]\r\n */\n\nfunction cornersOfRectangle(_ref5) {\n let {\n left,\n top,\n height,\n width\n } = _ref5;\n return [{\n x: left,\n y: top\n }, {\n x: left + width,\n y: top\n }, {\n x: left,\n y: top + height\n }, {\n x: left + width,\n y: top + height\n }];\n}\nfunction getFirstCollision(collisions, property) {\n if (!collisions || collisions.length === 0) {\n return null;\n }\n\n const [firstCollision] = collisions;\n return property ? firstCollision[property] : firstCollision;\n}\n\n/**\r\n * Returns the coordinates of the center of a given ClientRect\r\n */\n\nfunction centerOfRectangle(rect, left, top) {\n if (left === void 0) {\n left = rect.left;\n }\n\n if (top === void 0) {\n top = rect.top;\n }\n\n return {\n x: left + rect.width * 0.5,\n y: top + rect.height * 0.5\n };\n}\n/**\r\n * Returns the closest rectangles from an array of rectangles to the center of a given\r\n * rectangle.\r\n */\n\n\nconst closestCenter = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const centerRect = centerOfRectangle(collisionRect, collisionRect.left, collisionRect.top);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const distBetween = distanceBetween(centerOfRectangle(rect), centerRect);\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: distBetween\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the closest rectangles from an array of rectangles to the corners of\r\n * another rectangle.\r\n */\n\nconst closestCorners = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const corners = cornersOfRectangle(collisionRect);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const rectCorners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner, index) => {\n return accumulator + distanceBetween(rectCorners[index], corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the intersecting rectangle area between two rectangles\r\n */\n\nfunction getIntersectionRatio(entry, target) {\n const top = Math.max(target.top, entry.top);\n const left = Math.max(target.left, entry.left);\n const right = Math.min(target.left + target.width, entry.left + entry.width);\n const bottom = Math.min(target.top + target.height, entry.top + entry.height);\n const width = right - left;\n const height = bottom - top;\n\n if (left < right && top < bottom) {\n const targetArea = target.width * target.height;\n const entryArea = entry.width * entry.height;\n const intersectionArea = width * height;\n const intersectionRatio = intersectionArea / (targetArea + entryArea - intersectionArea);\n return Number(intersectionRatio.toFixed(4));\n } // Rectangles do not overlap, or overlap has an area of zero (edge/corner overlap)\n\n\n return 0;\n}\n/**\r\n * Returns the rectangles that has the greatest intersection area with a given\r\n * rectangle in an array of rectangles.\r\n */\n\nconst rectIntersection = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const intersectionRatio = getIntersectionRatio(rect, collisionRect);\n\n if (intersectionRatio > 0) {\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: intersectionRatio\n }\n });\n }\n }\n }\n\n return collisions.sort(sortCollisionsDesc);\n};\n\n/**\r\n * Check if a given point is contained within a bounding rectangle\r\n */\n\nfunction isPointWithinRect(point, rect) {\n const {\n top,\n left,\n bottom,\n right\n } = rect;\n return top <= point.y && point.y <= bottom && left <= point.x && point.x <= right;\n}\n/**\r\n * Returns the rectangles that the pointer is hovering over\r\n */\n\n\nconst pointerWithin = _ref => {\n let {\n droppableContainers,\n droppableRects,\n pointerCoordinates\n } = _ref;\n\n if (!pointerCoordinates) {\n return [];\n }\n\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect && isPointWithinRect(pointerCoordinates, rect)) {\n /* There may be more than a single rectangle intersecting\r\n * with the pointer coordinates. In order to sort the\r\n * colliding rectangles, we measure the distance between\r\n * the pointer and the corners of the intersecting rectangle\r\n */\n const corners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner) => {\n return accumulator + distanceBetween(pointerCoordinates, corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\nfunction adjustScale(transform, rect1, rect2) {\n return { ...transform,\n scaleX: rect1 && rect2 ? rect1.width / rect2.width : 1,\n scaleY: rect1 && rect2 ? rect1.height / rect2.height : 1\n };\n}\n\nfunction getRectDelta(rect1, rect2) {\n return rect1 && rect2 ? {\n x: rect1.left - rect2.left,\n y: rect1.top - rect2.top\n } : defaultCoordinates;\n}\n\nfunction createRectAdjustmentFn(modifier) {\n return function adjustClientRect(rect) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((acc, adjustment) => ({ ...acc,\n top: acc.top + modifier * adjustment.y,\n bottom: acc.bottom + modifier * adjustment.y,\n left: acc.left + modifier * adjustment.x,\n right: acc.right + modifier * adjustment.x\n }), { ...rect\n });\n };\n}\nconst getAdjustedRect = /*#__PURE__*/createRectAdjustmentFn(1);\n\nfunction parseTransform(transform) {\n if (transform.startsWith('matrix3d(')) {\n const transformArray = transform.slice(9, -1).split(/, /);\n return {\n x: +transformArray[12],\n y: +transformArray[13],\n scaleX: +transformArray[0],\n scaleY: +transformArray[5]\n };\n } else if (transform.startsWith('matrix(')) {\n const transformArray = transform.slice(7, -1).split(/, /);\n return {\n x: +transformArray[4],\n y: +transformArray[5],\n scaleX: +transformArray[0],\n scaleY: +transformArray[3]\n };\n }\n\n return null;\n}\n\nfunction inverseTransform(rect, transform, transformOrigin) {\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return rect;\n }\n\n const {\n scaleX,\n scaleY,\n x: translateX,\n y: translateY\n } = parsedTransform;\n const x = rect.left - translateX - (1 - scaleX) * parseFloat(transformOrigin);\n const y = rect.top - translateY - (1 - scaleY) * parseFloat(transformOrigin.slice(transformOrigin.indexOf(' ') + 1));\n const w = scaleX ? rect.width / scaleX : rect.width;\n const h = scaleY ? rect.height / scaleY : rect.height;\n return {\n width: w,\n height: h,\n top: y,\n right: x + w,\n bottom: y + h,\n left: x\n };\n}\n\nconst defaultOptions = {\n ignoreTransform: false\n};\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n */\n\nfunction getClientRect(element, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n let rect = element.getBoundingClientRect();\n\n if (options.ignoreTransform) {\n const {\n transform,\n transformOrigin\n } = getWindow(element).getComputedStyle(element);\n\n if (transform) {\n rect = inverseTransform(rect, transform, transformOrigin);\n }\n }\n\n const {\n top,\n left,\n width,\n height,\n bottom,\n right\n } = rect;\n return {\n top,\n left,\n width,\n height,\n bottom,\n right\n };\n}\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n *\r\n * @remarks\r\n * The ClientRect returned by this method does not take into account transforms\r\n * applied to the element it measures.\r\n *\r\n */\n\nfunction getTransformAgnosticClientRect(element) {\n return getClientRect(element, {\n ignoreTransform: true\n });\n}\n\nfunction getWindowClientRect(element) {\n const width = element.innerWidth;\n const height = element.innerHeight;\n return {\n top: 0,\n left: 0,\n right: width,\n bottom: height,\n width,\n height\n };\n}\n\nfunction isFixed(node, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(node).getComputedStyle(node);\n }\n\n return computedStyle.position === 'fixed';\n}\n\nfunction isScrollable(element, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(element).getComputedStyle(element);\n }\n\n const overflowRegex = /(auto|scroll|overlay)/;\n const properties = ['overflow', 'overflowX', 'overflowY'];\n return properties.some(property => {\n const value = computedStyle[property];\n return typeof value === 'string' ? overflowRegex.test(value) : false;\n });\n}\n\nfunction getScrollableAncestors(element, limit) {\n const scrollParents = [];\n\n function findScrollableAncestors(node) {\n if (limit != null && scrollParents.length >= limit) {\n return scrollParents;\n }\n\n if (!node) {\n return scrollParents;\n }\n\n if (isDocument(node) && node.scrollingElement != null && !scrollParents.includes(node.scrollingElement)) {\n scrollParents.push(node.scrollingElement);\n return scrollParents;\n }\n\n if (!isHTMLElement(node) || isSVGElement(node)) {\n return scrollParents;\n }\n\n if (scrollParents.includes(node)) {\n return scrollParents;\n }\n\n const computedStyle = getWindow(element).getComputedStyle(node);\n\n if (node !== element) {\n if (isScrollable(node, computedStyle)) {\n scrollParents.push(node);\n }\n }\n\n if (isFixed(node, computedStyle)) {\n return scrollParents;\n }\n\n return findScrollableAncestors(node.parentNode);\n }\n\n if (!element) {\n return scrollParents;\n }\n\n return findScrollableAncestors(element);\n}\nfunction getFirstScrollableAncestor(node) {\n const [firstScrollableAncestor] = getScrollableAncestors(node, 1);\n return firstScrollableAncestor != null ? firstScrollableAncestor : null;\n}\n\nfunction getScrollableElement(element) {\n if (!canUseDOM || !element) {\n return null;\n }\n\n if (isWindow(element)) {\n return element;\n }\n\n if (!isNode(element)) {\n return null;\n }\n\n if (isDocument(element) || element === getOwnerDocument(element).scrollingElement) {\n return window;\n }\n\n if (isHTMLElement(element)) {\n return element;\n }\n\n return null;\n}\n\nfunction getScrollXCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollX;\n }\n\n return element.scrollLeft;\n}\nfunction getScrollYCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollY;\n }\n\n return element.scrollTop;\n}\nfunction getScrollCoordinates(element) {\n return {\n x: getScrollXCoordinate(element),\n y: getScrollYCoordinate(element)\n };\n}\n\nvar Direction;\n\n(function (Direction) {\n Direction[Direction[\"Forward\"] = 1] = \"Forward\";\n Direction[Direction[\"Backward\"] = -1] = \"Backward\";\n})(Direction || (Direction = {}));\n\nfunction isDocumentScrollingElement(element) {\n if (!canUseDOM || !element) {\n return false;\n }\n\n return element === document.scrollingElement;\n}\n\nfunction getScrollPosition(scrollingContainer) {\n const minScroll = {\n x: 0,\n y: 0\n };\n const dimensions = isDocumentScrollingElement(scrollingContainer) ? {\n height: window.innerHeight,\n width: window.innerWidth\n } : {\n height: scrollingContainer.clientHeight,\n width: scrollingContainer.clientWidth\n };\n const maxScroll = {\n x: scrollingContainer.scrollWidth - dimensions.width,\n y: scrollingContainer.scrollHeight - dimensions.height\n };\n const isTop = scrollingContainer.scrollTop <= minScroll.y;\n const isLeft = scrollingContainer.scrollLeft <= minScroll.x;\n const isBottom = scrollingContainer.scrollTop >= maxScroll.y;\n const isRight = scrollingContainer.scrollLeft >= maxScroll.x;\n return {\n isTop,\n isLeft,\n isBottom,\n isRight,\n maxScroll,\n minScroll\n };\n}\n\nconst defaultThreshold = {\n x: 0.2,\n y: 0.2\n};\nfunction getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, _ref, acceleration, thresholdPercentage) {\n let {\n top,\n left,\n right,\n bottom\n } = _ref;\n\n if (acceleration === void 0) {\n acceleration = 10;\n }\n\n if (thresholdPercentage === void 0) {\n thresholdPercentage = defaultThreshold;\n }\n\n const {\n isTop,\n isBottom,\n isLeft,\n isRight\n } = getScrollPosition(scrollContainer);\n const direction = {\n x: 0,\n y: 0\n };\n const speed = {\n x: 0,\n y: 0\n };\n const threshold = {\n height: scrollContainerRect.height * thresholdPercentage.y,\n width: scrollContainerRect.width * thresholdPercentage.x\n };\n\n if (!isTop && top <= scrollContainerRect.top + threshold.height) {\n // Scroll Up\n direction.y = Direction.Backward;\n speed.y = acceleration * Math.abs((scrollContainerRect.top + threshold.height - top) / threshold.height);\n } else if (!isBottom && bottom >= scrollContainerRect.bottom - threshold.height) {\n // Scroll Down\n direction.y = Direction.Forward;\n speed.y = acceleration * Math.abs((scrollContainerRect.bottom - threshold.height - bottom) / threshold.height);\n }\n\n if (!isRight && right >= scrollContainerRect.right - threshold.width) {\n // Scroll Right\n direction.x = Direction.Forward;\n speed.x = acceleration * Math.abs((scrollContainerRect.right - threshold.width - right) / threshold.width);\n } else if (!isLeft && left <= scrollContainerRect.left + threshold.width) {\n // Scroll Left\n direction.x = Direction.Backward;\n speed.x = acceleration * Math.abs((scrollContainerRect.left + threshold.width - left) / threshold.width);\n }\n\n return {\n direction,\n speed\n };\n}\n\nfunction getScrollElementRect(element) {\n if (element === document.scrollingElement) {\n const {\n innerWidth,\n innerHeight\n } = window;\n return {\n top: 0,\n left: 0,\n right: innerWidth,\n bottom: innerHeight,\n width: innerWidth,\n height: innerHeight\n };\n }\n\n const {\n top,\n left,\n right,\n bottom\n } = element.getBoundingClientRect();\n return {\n top,\n left,\n right,\n bottom,\n width: element.clientWidth,\n height: element.clientHeight\n };\n}\n\nfunction getScrollOffsets(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return add(acc, getScrollCoordinates(node));\n }, defaultCoordinates);\n}\nfunction getScrollXOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollXCoordinate(node);\n }, 0);\n}\nfunction getScrollYOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollYCoordinate(node);\n }, 0);\n}\n\nfunction scrollIntoViewIfNeeded(element, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n if (!element) {\n return;\n }\n\n const {\n top,\n left,\n bottom,\n right\n } = measure(element);\n const firstScrollableAncestor = getFirstScrollableAncestor(element);\n\n if (!firstScrollableAncestor) {\n return;\n }\n\n if (bottom <= 0 || right <= 0 || top >= window.innerHeight || left >= window.innerWidth) {\n element.scrollIntoView({\n block: 'center',\n inline: 'center'\n });\n }\n}\n\nconst properties = [['x', ['left', 'right'], getScrollXOffset], ['y', ['top', 'bottom'], getScrollYOffset]];\nclass Rect {\n constructor(rect, element) {\n this.rect = void 0;\n this.width = void 0;\n this.height = void 0;\n this.top = void 0;\n this.bottom = void 0;\n this.right = void 0;\n this.left = void 0;\n const scrollableAncestors = getScrollableAncestors(element);\n const scrollOffsets = getScrollOffsets(scrollableAncestors);\n this.rect = { ...rect\n };\n this.width = rect.width;\n this.height = rect.height;\n\n for (const [axis, keys, getScrollOffset] of properties) {\n for (const key of keys) {\n Object.defineProperty(this, key, {\n get: () => {\n const currentOffsets = getScrollOffset(scrollableAncestors);\n const scrollOffsetsDeltla = scrollOffsets[axis] - currentOffsets;\n return this.rect[key] + scrollOffsetsDeltla;\n },\n enumerable: true\n });\n }\n }\n\n Object.defineProperty(this, 'rect', {\n enumerable: false\n });\n }\n\n}\n\nclass Listeners {\n constructor(target) {\n this.target = void 0;\n this.listeners = [];\n\n this.removeAll = () => {\n this.listeners.forEach(listener => {\n var _this$target;\n\n return (_this$target = this.target) == null ? void 0 : _this$target.removeEventListener(...listener);\n });\n };\n\n this.target = target;\n }\n\n add(eventName, handler, options) {\n var _this$target2;\n\n (_this$target2 = this.target) == null ? void 0 : _this$target2.addEventListener(eventName, handler, options);\n this.listeners.push([eventName, handler, options]);\n }\n\n}\n\nfunction getEventListenerTarget(target) {\n // If the `event.target` element is removed from the document events will still be targeted\n // at it, and hence won't always bubble up to the window or document anymore.\n // If there is any risk of an element being removed while it is being dragged,\n // the best practice is to attach the event listeners directly to the target.\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget\n const {\n EventTarget\n } = getWindow(target);\n return target instanceof EventTarget ? target : getOwnerDocument(target);\n}\n\nfunction hasExceededDistance(delta, measurement) {\n const dx = Math.abs(delta.x);\n const dy = Math.abs(delta.y);\n\n if (typeof measurement === 'number') {\n return Math.sqrt(dx ** 2 + dy ** 2) > measurement;\n }\n\n if ('x' in measurement && 'y' in measurement) {\n return dx > measurement.x && dy > measurement.y;\n }\n\n if ('x' in measurement) {\n return dx > measurement.x;\n }\n\n if ('y' in measurement) {\n return dy > measurement.y;\n }\n\n return false;\n}\n\nvar EventName;\n\n(function (EventName) {\n EventName[\"Click\"] = \"click\";\n EventName[\"DragStart\"] = \"dragstart\";\n EventName[\"Keydown\"] = \"keydown\";\n EventName[\"ContextMenu\"] = \"contextmenu\";\n EventName[\"Resize\"] = \"resize\";\n EventName[\"SelectionChange\"] = \"selectionchange\";\n EventName[\"VisibilityChange\"] = \"visibilitychange\";\n})(EventName || (EventName = {}));\n\nfunction preventDefault(event) {\n event.preventDefault();\n}\nfunction stopPropagation(event) {\n event.stopPropagation();\n}\n\nvar KeyboardCode;\n\n(function (KeyboardCode) {\n KeyboardCode[\"Space\"] = \"Space\";\n KeyboardCode[\"Down\"] = \"ArrowDown\";\n KeyboardCode[\"Right\"] = \"ArrowRight\";\n KeyboardCode[\"Left\"] = \"ArrowLeft\";\n KeyboardCode[\"Up\"] = \"ArrowUp\";\n KeyboardCode[\"Esc\"] = \"Escape\";\n KeyboardCode[\"Enter\"] = \"Enter\";\n KeyboardCode[\"Tab\"] = \"Tab\";\n})(KeyboardCode || (KeyboardCode = {}));\n\nconst defaultKeyboardCodes = {\n start: [KeyboardCode.Space, KeyboardCode.Enter],\n cancel: [KeyboardCode.Esc],\n end: [KeyboardCode.Space, KeyboardCode.Enter, KeyboardCode.Tab]\n};\nconst defaultKeyboardCoordinateGetter = (event, _ref) => {\n let {\n currentCoordinates\n } = _ref;\n\n switch (event.code) {\n case KeyboardCode.Right:\n return { ...currentCoordinates,\n x: currentCoordinates.x + 25\n };\n\n case KeyboardCode.Left:\n return { ...currentCoordinates,\n x: currentCoordinates.x - 25\n };\n\n case KeyboardCode.Down:\n return { ...currentCoordinates,\n y: currentCoordinates.y + 25\n };\n\n case KeyboardCode.Up:\n return { ...currentCoordinates,\n y: currentCoordinates.y - 25\n };\n }\n\n return undefined;\n};\n\nclass KeyboardSensor {\n constructor(props) {\n this.props = void 0;\n this.autoScrollEnabled = false;\n this.referenceCoordinates = void 0;\n this.listeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n const {\n event: {\n target\n }\n } = props;\n this.props = props;\n this.listeners = new Listeners(getOwnerDocument(target));\n this.windowListeners = new Listeners(getWindow(target));\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.attach();\n }\n\n attach() {\n this.handleStart();\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n setTimeout(() => this.listeners.add(EventName.Keydown, this.handleKeyDown));\n }\n\n handleStart() {\n const {\n activeNode,\n onStart\n } = this.props;\n const node = activeNode.node.current;\n\n if (node) {\n scrollIntoViewIfNeeded(node);\n }\n\n onStart(defaultCoordinates);\n }\n\n handleKeyDown(event) {\n if (isKeyboardEvent(event)) {\n const {\n active,\n context,\n options\n } = this.props;\n const {\n keyboardCodes = defaultKeyboardCodes,\n coordinateGetter = defaultKeyboardCoordinateGetter,\n scrollBehavior = 'smooth'\n } = options;\n const {\n code\n } = event;\n\n if (keyboardCodes.end.includes(code)) {\n this.handleEnd(event);\n return;\n }\n\n if (keyboardCodes.cancel.includes(code)) {\n this.handleCancel(event);\n return;\n }\n\n const {\n collisionRect\n } = context.current;\n const currentCoordinates = collisionRect ? {\n x: collisionRect.left,\n y: collisionRect.top\n } : defaultCoordinates;\n\n if (!this.referenceCoordinates) {\n this.referenceCoordinates = currentCoordinates;\n }\n\n const newCoordinates = coordinateGetter(event, {\n active,\n context: context.current,\n currentCoordinates\n });\n\n if (newCoordinates) {\n const coordinatesDelta = subtract(newCoordinates, currentCoordinates);\n const scrollDelta = {\n x: 0,\n y: 0\n };\n const {\n scrollableAncestors\n } = context.current;\n\n for (const scrollContainer of scrollableAncestors) {\n const direction = event.code;\n const {\n isTop,\n isRight,\n isLeft,\n isBottom,\n maxScroll,\n minScroll\n } = getScrollPosition(scrollContainer);\n const scrollElementRect = getScrollElementRect(scrollContainer);\n const clampedCoordinates = {\n x: Math.min(direction === KeyboardCode.Right ? scrollElementRect.right - scrollElementRect.width / 2 : scrollElementRect.right, Math.max(direction === KeyboardCode.Right ? scrollElementRect.left : scrollElementRect.left + scrollElementRect.width / 2, newCoordinates.x)),\n y: Math.min(direction === KeyboardCode.Down ? scrollElementRect.bottom - scrollElementRect.height / 2 : scrollElementRect.bottom, Math.max(direction === KeyboardCode.Down ? scrollElementRect.top : scrollElementRect.top + scrollElementRect.height / 2, newCoordinates.y))\n };\n const canScrollX = direction === KeyboardCode.Right && !isRight || direction === KeyboardCode.Left && !isLeft;\n const canScrollY = direction === KeyboardCode.Down && !isBottom || direction === KeyboardCode.Up && !isTop;\n\n if (canScrollX && clampedCoordinates.x !== newCoordinates.x) {\n const newScrollCoordinates = scrollContainer.scrollLeft + coordinatesDelta.x;\n const canScrollToNewCoordinates = direction === KeyboardCode.Right && newScrollCoordinates <= maxScroll.x || direction === KeyboardCode.Left && newScrollCoordinates >= minScroll.x;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.y) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n left: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.x = scrollContainer.scrollLeft - newScrollCoordinates;\n } else {\n scrollDelta.x = direction === KeyboardCode.Right ? scrollContainer.scrollLeft - maxScroll.x : scrollContainer.scrollLeft - minScroll.x;\n }\n\n if (scrollDelta.x) {\n scrollContainer.scrollBy({\n left: -scrollDelta.x,\n behavior: scrollBehavior\n });\n }\n\n break;\n } else if (canScrollY && clampedCoordinates.y !== newCoordinates.y) {\n const newScrollCoordinates = scrollContainer.scrollTop + coordinatesDelta.y;\n const canScrollToNewCoordinates = direction === KeyboardCode.Down && newScrollCoordinates <= maxScroll.y || direction === KeyboardCode.Up && newScrollCoordinates >= minScroll.y;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.x) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n top: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.y = scrollContainer.scrollTop - newScrollCoordinates;\n } else {\n scrollDelta.y = direction === KeyboardCode.Down ? scrollContainer.scrollTop - maxScroll.y : scrollContainer.scrollTop - minScroll.y;\n }\n\n if (scrollDelta.y) {\n scrollContainer.scrollBy({\n top: -scrollDelta.y,\n behavior: scrollBehavior\n });\n }\n\n break;\n }\n }\n\n this.handleMove(event, add(subtract(newCoordinates, this.referenceCoordinates), scrollDelta));\n }\n }\n }\n\n handleMove(event, coordinates) {\n const {\n onMove\n } = this.props;\n event.preventDefault();\n onMove(coordinates);\n }\n\n handleEnd(event) {\n const {\n onEnd\n } = this.props;\n event.preventDefault();\n this.detach();\n onEnd();\n }\n\n handleCancel(event) {\n const {\n onCancel\n } = this.props;\n event.preventDefault();\n this.detach();\n onCancel();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll();\n }\n\n}\nKeyboardSensor.activators = [{\n eventName: 'onKeyDown',\n handler: (event, _ref, _ref2) => {\n let {\n keyboardCodes = defaultKeyboardCodes,\n onActivation\n } = _ref;\n let {\n active\n } = _ref2;\n const {\n code\n } = event.nativeEvent;\n\n if (keyboardCodes.start.includes(code)) {\n const activator = active.activatorNode.current;\n\n if (activator && event.target !== activator) {\n return false;\n }\n\n event.preventDefault();\n onActivation == null ? void 0 : onActivation({\n event: event.nativeEvent\n });\n return true;\n }\n\n return false;\n }\n}];\n\nfunction isDistanceConstraint(constraint) {\n return Boolean(constraint && 'distance' in constraint);\n}\n\nfunction isDelayConstraint(constraint) {\n return Boolean(constraint && 'delay' in constraint);\n}\n\nclass AbstractPointerSensor {\n constructor(props, events, listenerTarget) {\n var _getEventCoordinates;\n\n if (listenerTarget === void 0) {\n listenerTarget = getEventListenerTarget(props.event.target);\n }\n\n this.props = void 0;\n this.events = void 0;\n this.autoScrollEnabled = true;\n this.document = void 0;\n this.activated = false;\n this.initialCoordinates = void 0;\n this.timeoutId = null;\n this.listeners = void 0;\n this.documentListeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n this.events = events;\n const {\n event\n } = props;\n const {\n target\n } = event;\n this.props = props;\n this.events = events;\n this.document = getOwnerDocument(target);\n this.documentListeners = new Listeners(this.document);\n this.listeners = new Listeners(listenerTarget);\n this.windowListeners = new Listeners(getWindow(target));\n this.initialCoordinates = (_getEventCoordinates = getEventCoordinates(event)) != null ? _getEventCoordinates : defaultCoordinates;\n this.handleStart = this.handleStart.bind(this);\n this.handleMove = this.handleMove.bind(this);\n this.handleEnd = this.handleEnd.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.handleKeydown = this.handleKeydown.bind(this);\n this.removeTextSelection = this.removeTextSelection.bind(this);\n this.attach();\n }\n\n attach() {\n const {\n events,\n props: {\n options: {\n activationConstraint,\n bypassActivationConstraint\n }\n }\n } = this;\n this.listeners.add(events.move.name, this.handleMove, {\n passive: false\n });\n this.listeners.add(events.end.name, this.handleEnd);\n\n if (events.cancel) {\n this.listeners.add(events.cancel.name, this.handleCancel);\n }\n\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.DragStart, preventDefault);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n this.windowListeners.add(EventName.ContextMenu, preventDefault);\n this.documentListeners.add(EventName.Keydown, this.handleKeydown);\n\n if (activationConstraint) {\n if (bypassActivationConstraint != null && bypassActivationConstraint({\n event: this.props.event,\n activeNode: this.props.activeNode,\n options: this.props.options\n })) {\n return this.handleStart();\n }\n\n if (isDelayConstraint(activationConstraint)) {\n this.timeoutId = setTimeout(this.handleStart, activationConstraint.delay);\n this.handlePending(activationConstraint);\n return;\n }\n\n if (isDistanceConstraint(activationConstraint)) {\n this.handlePending(activationConstraint);\n return;\n }\n }\n\n this.handleStart();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll(); // Wait until the next event loop before removing document listeners\n // This is necessary because we listen for `click` and `selection` events on the document\n\n setTimeout(this.documentListeners.removeAll, 50);\n\n if (this.timeoutId !== null) {\n clearTimeout(this.timeoutId);\n this.timeoutId = null;\n }\n }\n\n handlePending(constraint, offset) {\n const {\n active,\n onPending\n } = this.props;\n onPending(active, constraint, this.initialCoordinates, offset);\n }\n\n handleStart() {\n const {\n initialCoordinates\n } = this;\n const {\n onStart\n } = this.props;\n\n if (initialCoordinates) {\n this.activated = true; // Stop propagation of click events once activation constraints are met\n\n this.documentListeners.add(EventName.Click, stopPropagation, {\n capture: true\n }); // Remove any text selection from the document\n\n this.removeTextSelection(); // Prevent further text selection while dragging\n\n this.documentListeners.add(EventName.SelectionChange, this.removeTextSelection);\n onStart(initialCoordinates);\n }\n }\n\n handleMove(event) {\n var _getEventCoordinates2;\n\n const {\n activated,\n initialCoordinates,\n props\n } = this;\n const {\n onMove,\n options: {\n activationConstraint\n }\n } = props;\n\n if (!initialCoordinates) {\n return;\n }\n\n const coordinates = (_getEventCoordinates2 = getEventCoordinates(event)) != null ? _getEventCoordinates2 : defaultCoordinates;\n const delta = subtract(initialCoordinates, coordinates); // Constraint validation\n\n if (!activated && activationConstraint) {\n if (isDistanceConstraint(activationConstraint)) {\n if (activationConstraint.tolerance != null && hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n\n if (hasExceededDistance(delta, activationConstraint.distance)) {\n return this.handleStart();\n }\n }\n\n if (isDelayConstraint(activationConstraint)) {\n if (hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n }\n\n this.handlePending(activationConstraint, delta);\n return;\n }\n\n if (event.cancelable) {\n event.preventDefault();\n }\n\n onMove(coordinates);\n }\n\n handleEnd() {\n const {\n onAbort,\n onEnd\n } = this.props;\n this.detach();\n\n if (!this.activated) {\n onAbort(this.props.active);\n }\n\n onEnd();\n }\n\n handleCancel() {\n const {\n onAbort,\n onCancel\n } = this.props;\n this.detach();\n\n if (!this.activated) {\n onAbort(this.props.active);\n }\n\n onCancel();\n }\n\n handleKeydown(event) {\n if (event.code === KeyboardCode.Esc) {\n this.handleCancel();\n }\n }\n\n removeTextSelection() {\n var _this$document$getSel;\n\n (_this$document$getSel = this.document.getSelection()) == null ? void 0 : _this$document$getSel.removeAllRanges();\n }\n\n}\n\nconst events = {\n cancel: {\n name: 'pointercancel'\n },\n move: {\n name: 'pointermove'\n },\n end: {\n name: 'pointerup'\n }\n};\nclass PointerSensor extends AbstractPointerSensor {\n constructor(props) {\n const {\n event\n } = props; // Pointer events stop firing if the target is unmounted while dragging\n // Therefore we attach listeners to the owner document instead\n\n const listenerTarget = getOwnerDocument(event.target);\n super(props, events, listenerTarget);\n }\n\n}\nPointerSensor.activators = [{\n eventName: 'onPointerDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (!event.isPrimary || event.button !== 0) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$1 = {\n move: {\n name: 'mousemove'\n },\n end: {\n name: 'mouseup'\n }\n};\nvar MouseButton;\n\n(function (MouseButton) {\n MouseButton[MouseButton[\"RightClick\"] = 2] = \"RightClick\";\n})(MouseButton || (MouseButton = {}));\n\nclass MouseSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$1, getOwnerDocument(props.event.target));\n }\n\n}\nMouseSensor.activators = [{\n eventName: 'onMouseDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (event.button === MouseButton.RightClick) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$2 = {\n cancel: {\n name: 'touchcancel'\n },\n move: {\n name: 'touchmove'\n },\n end: {\n name: 'touchend'\n }\n};\nclass TouchSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$2);\n }\n\n static setup() {\n // Adding a non-capture and non-passive `touchmove` listener in order\n // to force `event.preventDefault()` calls to work in dynamically added\n // touchmove event handlers. This is required for iOS Safari.\n window.addEventListener(events$2.move.name, noop, {\n capture: false,\n passive: false\n });\n return function teardown() {\n window.removeEventListener(events$2.move.name, noop);\n }; // We create a new handler because the teardown function of another sensor\n // could remove our event listener if we use a referentially equal listener.\n\n function noop() {}\n }\n\n}\nTouchSensor.activators = [{\n eventName: 'onTouchStart',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n const {\n touches\n } = event;\n\n if (touches.length > 1) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nvar AutoScrollActivator;\n\n(function (AutoScrollActivator) {\n AutoScrollActivator[AutoScrollActivator[\"Pointer\"] = 0] = \"Pointer\";\n AutoScrollActivator[AutoScrollActivator[\"DraggableRect\"] = 1] = \"DraggableRect\";\n})(AutoScrollActivator || (AutoScrollActivator = {}));\n\nvar TraversalOrder;\n\n(function (TraversalOrder) {\n TraversalOrder[TraversalOrder[\"TreeOrder\"] = 0] = \"TreeOrder\";\n TraversalOrder[TraversalOrder[\"ReversedTreeOrder\"] = 1] = \"ReversedTreeOrder\";\n})(TraversalOrder || (TraversalOrder = {}));\n\nfunction useAutoScroller(_ref) {\n let {\n acceleration,\n activator = AutoScrollActivator.Pointer,\n canScroll,\n draggingRect,\n enabled,\n interval = 5,\n order = TraversalOrder.TreeOrder,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects,\n delta,\n threshold\n } = _ref;\n const scrollIntent = useScrollIntent({\n delta,\n disabled: !enabled\n });\n const [setAutoScrollInterval, clearAutoScrollInterval] = useInterval();\n const scrollSpeed = useRef({\n x: 0,\n y: 0\n });\n const scrollDirection = useRef({\n x: 0,\n y: 0\n });\n const rect = useMemo(() => {\n switch (activator) {\n case AutoScrollActivator.Pointer:\n return pointerCoordinates ? {\n top: pointerCoordinates.y,\n bottom: pointerCoordinates.y,\n left: pointerCoordinates.x,\n right: pointerCoordinates.x\n } : null;\n\n case AutoScrollActivator.DraggableRect:\n return draggingRect;\n }\n }, [activator, draggingRect, pointerCoordinates]);\n const scrollContainerRef = useRef(null);\n const autoScroll = useCallback(() => {\n const scrollContainer = scrollContainerRef.current;\n\n if (!scrollContainer) {\n return;\n }\n\n const scrollLeft = scrollSpeed.current.x * scrollDirection.current.x;\n const scrollTop = scrollSpeed.current.y * scrollDirection.current.y;\n scrollContainer.scrollBy(scrollLeft, scrollTop);\n }, []);\n const sortedScrollableAncestors = useMemo(() => order === TraversalOrder.TreeOrder ? [...scrollableAncestors].reverse() : scrollableAncestors, [order, scrollableAncestors]);\n useEffect(() => {\n if (!enabled || !scrollableAncestors.length || !rect) {\n clearAutoScrollInterval();\n return;\n }\n\n for (const scrollContainer of sortedScrollableAncestors) {\n if ((canScroll == null ? void 0 : canScroll(scrollContainer)) === false) {\n continue;\n }\n\n const index = scrollableAncestors.indexOf(scrollContainer);\n const scrollContainerRect = scrollableAncestorRects[index];\n\n if (!scrollContainerRect) {\n continue;\n }\n\n const {\n direction,\n speed\n } = getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, rect, acceleration, threshold);\n\n for (const axis of ['x', 'y']) {\n if (!scrollIntent[axis][direction[axis]]) {\n speed[axis] = 0;\n direction[axis] = 0;\n }\n }\n\n if (speed.x > 0 || speed.y > 0) {\n clearAutoScrollInterval();\n scrollContainerRef.current = scrollContainer;\n setAutoScrollInterval(autoScroll, interval);\n scrollSpeed.current = speed;\n scrollDirection.current = direction;\n return;\n }\n }\n\n scrollSpeed.current = {\n x: 0,\n y: 0\n };\n scrollDirection.current = {\n x: 0,\n y: 0\n };\n clearAutoScrollInterval();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [acceleration, autoScroll, canScroll, clearAutoScrollInterval, enabled, interval, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(rect), // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(scrollIntent), setAutoScrollInterval, scrollableAncestors, sortedScrollableAncestors, scrollableAncestorRects, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(threshold)]);\n}\nconst defaultScrollIntent = {\n x: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n },\n y: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n }\n};\n\nfunction useScrollIntent(_ref2) {\n let {\n delta,\n disabled\n } = _ref2;\n const previousDelta = usePrevious(delta);\n return useLazyMemo(previousIntent => {\n if (disabled || !previousDelta || !previousIntent) {\n // Reset scroll intent tracking when auto-scrolling is disabled\n return defaultScrollIntent;\n }\n\n const direction = {\n x: Math.sign(delta.x - previousDelta.x),\n y: Math.sign(delta.y - previousDelta.y)\n }; // Keep track of the user intent to scroll in each direction for both axis\n\n return {\n x: {\n [Direction.Backward]: previousIntent.x[Direction.Backward] || direction.x === -1,\n [Direction.Forward]: previousIntent.x[Direction.Forward] || direction.x === 1\n },\n y: {\n [Direction.Backward]: previousIntent.y[Direction.Backward] || direction.y === -1,\n [Direction.Forward]: previousIntent.y[Direction.Forward] || direction.y === 1\n }\n };\n }, [disabled, delta, previousDelta]);\n}\n\nfunction useCachedNode(draggableNodes, id) {\n const draggableNode = id != null ? draggableNodes.get(id) : undefined;\n const node = draggableNode ? draggableNode.node.current : null;\n return useLazyMemo(cachedNode => {\n var _ref;\n\n if (id == null) {\n return null;\n } // In some cases, the draggable node can unmount while dragging\n // This is the case for virtualized lists. In those situations,\n // we fall back to the last known value for that node.\n\n\n return (_ref = node != null ? node : cachedNode) != null ? _ref : null;\n }, [node, id]);\n}\n\nfunction useCombineActivators(sensors, getSyntheticHandler) {\n return useMemo(() => sensors.reduce((accumulator, sensor) => {\n const {\n sensor: Sensor\n } = sensor;\n const sensorActivators = Sensor.activators.map(activator => ({\n eventName: activator.eventName,\n handler: getSyntheticHandler(activator.handler, sensor)\n }));\n return [...accumulator, ...sensorActivators];\n }, []), [sensors, getSyntheticHandler]);\n}\n\nvar MeasuringStrategy;\n\n(function (MeasuringStrategy) {\n MeasuringStrategy[MeasuringStrategy[\"Always\"] = 0] = \"Always\";\n MeasuringStrategy[MeasuringStrategy[\"BeforeDragging\"] = 1] = \"BeforeDragging\";\n MeasuringStrategy[MeasuringStrategy[\"WhileDragging\"] = 2] = \"WhileDragging\";\n})(MeasuringStrategy || (MeasuringStrategy = {}));\n\nvar MeasuringFrequency;\n\n(function (MeasuringFrequency) {\n MeasuringFrequency[\"Optimized\"] = \"optimized\";\n})(MeasuringFrequency || (MeasuringFrequency = {}));\n\nconst defaultValue = /*#__PURE__*/new Map();\nfunction useDroppableMeasuring(containers, _ref) {\n let {\n dragging,\n dependencies,\n config\n } = _ref;\n const [queue, setQueue] = useState(null);\n const {\n frequency,\n measure,\n strategy\n } = config;\n const containersRef = useRef(containers);\n const disabled = isDisabled();\n const disabledRef = useLatestValue(disabled);\n const measureDroppableContainers = useCallback(function (ids) {\n if (ids === void 0) {\n ids = [];\n }\n\n if (disabledRef.current) {\n return;\n }\n\n setQueue(value => {\n if (value === null) {\n return ids;\n }\n\n return value.concat(ids.filter(id => !value.includes(id)));\n });\n }, [disabledRef]);\n const timeoutId = useRef(null);\n const droppableRects = useLazyMemo(previousValue => {\n if (disabled && !dragging) {\n return defaultValue;\n }\n\n if (!previousValue || previousValue === defaultValue || containersRef.current !== containers || queue != null) {\n const map = new Map();\n\n for (let container of containers) {\n if (!container) {\n continue;\n }\n\n if (queue && queue.length > 0 && !queue.includes(container.id) && container.rect.current) {\n // This container does not need to be re-measured\n map.set(container.id, container.rect.current);\n continue;\n }\n\n const node = container.node.current;\n const rect = node ? new Rect(measure(node), node) : null;\n container.rect.current = rect;\n\n if (rect) {\n map.set(container.id, rect);\n }\n }\n\n return map;\n }\n\n return previousValue;\n }, [containers, queue, dragging, disabled, measure]);\n useEffect(() => {\n containersRef.current = containers;\n }, [containers]);\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n measureDroppableContainers();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [dragging, disabled]);\n useEffect(() => {\n if (queue && queue.length > 0) {\n setQueue(null);\n }\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(queue)]);\n useEffect(() => {\n if (disabled || typeof frequency !== 'number' || timeoutId.current !== null) {\n return;\n }\n\n timeoutId.current = setTimeout(() => {\n measureDroppableContainers();\n timeoutId.current = null;\n }, frequency);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [frequency, disabled, measureDroppableContainers, ...dependencies]);\n return {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled: queue != null\n };\n\n function isDisabled() {\n switch (strategy) {\n case MeasuringStrategy.Always:\n return false;\n\n case MeasuringStrategy.BeforeDragging:\n return dragging;\n\n default:\n return !dragging;\n }\n }\n}\n\nfunction useInitialValue(value, computeFn) {\n return useLazyMemo(previousValue => {\n if (!value) {\n return null;\n }\n\n if (previousValue) {\n return previousValue;\n }\n\n return typeof computeFn === 'function' ? computeFn(value) : value;\n }, [computeFn, value]);\n}\n\nfunction useInitialRect(node, measure) {\n return useInitialValue(node, measure);\n}\n\n/**\r\n * Returns a new MutationObserver instance.\r\n * If `MutationObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useMutationObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleMutations = useEvent(callback);\n const mutationObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.MutationObserver === 'undefined') {\n return undefined;\n }\n\n const {\n MutationObserver\n } = window;\n return new MutationObserver(handleMutations);\n }, [handleMutations, disabled]);\n useEffect(() => {\n return () => mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }, [mutationObserver]);\n return mutationObserver;\n}\n\n/**\r\n * Returns a new ResizeObserver instance bound to the `onResize` callback.\r\n * If `ResizeObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useResizeObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleResize = useEvent(callback);\n const resizeObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.ResizeObserver === 'undefined') {\n return undefined;\n }\n\n const {\n ResizeObserver\n } = window;\n return new ResizeObserver(handleResize);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [disabled]);\n useEffect(() => {\n return () => resizeObserver == null ? void 0 : resizeObserver.disconnect();\n }, [resizeObserver]);\n return resizeObserver;\n}\n\nfunction defaultMeasure(element) {\n return new Rect(getClientRect(element), element);\n}\n\nfunction useRect(element, measure, fallbackRect) {\n if (measure === void 0) {\n measure = defaultMeasure;\n }\n\n const [rect, setRect] = useState(null);\n\n function measureRect() {\n setRect(currentRect => {\n if (!element) {\n return null;\n }\n\n if (element.isConnected === false) {\n var _ref;\n\n // Fall back to last rect we measured if the element is\n // no longer connected to the DOM.\n return (_ref = currentRect != null ? currentRect : fallbackRect) != null ? _ref : null;\n }\n\n const newRect = measure(element);\n\n if (JSON.stringify(currentRect) === JSON.stringify(newRect)) {\n return currentRect;\n }\n\n return newRect;\n });\n }\n\n const mutationObserver = useMutationObserver({\n callback(records) {\n if (!element) {\n return;\n }\n\n for (const record of records) {\n const {\n type,\n target\n } = record;\n\n if (type === 'childList' && target instanceof HTMLElement && target.contains(element)) {\n measureRect();\n break;\n }\n }\n }\n\n });\n const resizeObserver = useResizeObserver({\n callback: measureRect\n });\n useIsomorphicLayoutEffect(() => {\n measureRect();\n\n if (element) {\n resizeObserver == null ? void 0 : resizeObserver.observe(element);\n mutationObserver == null ? void 0 : mutationObserver.observe(document.body, {\n childList: true,\n subtree: true\n });\n } else {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }\n }, [element]);\n return rect;\n}\n\nfunction useRectDelta(rect) {\n const initialRect = useInitialValue(rect);\n return getRectDelta(rect, initialRect);\n}\n\nconst defaultValue$1 = [];\nfunction useScrollableAncestors(node) {\n const previousNode = useRef(node);\n const ancestors = useLazyMemo(previousValue => {\n if (!node) {\n return defaultValue$1;\n }\n\n if (previousValue && previousValue !== defaultValue$1 && node && previousNode.current && node.parentNode === previousNode.current.parentNode) {\n return previousValue;\n }\n\n return getScrollableAncestors(node);\n }, [node]);\n useEffect(() => {\n previousNode.current = node;\n }, [node]);\n return ancestors;\n}\n\nfunction useScrollOffsets(elements) {\n const [scrollCoordinates, setScrollCoordinates] = useState(null);\n const prevElements = useRef(elements); // To-do: Throttle the handleScroll callback\n\n const handleScroll = useCallback(event => {\n const scrollingElement = getScrollableElement(event.target);\n\n if (!scrollingElement) {\n return;\n }\n\n setScrollCoordinates(scrollCoordinates => {\n if (!scrollCoordinates) {\n return null;\n }\n\n scrollCoordinates.set(scrollingElement, getScrollCoordinates(scrollingElement));\n return new Map(scrollCoordinates);\n });\n }, []);\n useEffect(() => {\n const previousElements = prevElements.current;\n\n if (elements !== previousElements) {\n cleanup(previousElements);\n const entries = elements.map(element => {\n const scrollableElement = getScrollableElement(element);\n\n if (scrollableElement) {\n scrollableElement.addEventListener('scroll', handleScroll, {\n passive: true\n });\n return [scrollableElement, getScrollCoordinates(scrollableElement)];\n }\n\n return null;\n }).filter(entry => entry != null);\n setScrollCoordinates(entries.length ? new Map(entries) : null);\n prevElements.current = elements;\n }\n\n return () => {\n cleanup(elements);\n cleanup(previousElements);\n };\n\n function cleanup(elements) {\n elements.forEach(element => {\n const scrollableElement = getScrollableElement(element);\n scrollableElement == null ? void 0 : scrollableElement.removeEventListener('scroll', handleScroll);\n });\n }\n }, [handleScroll, elements]);\n return useMemo(() => {\n if (elements.length) {\n return scrollCoordinates ? Array.from(scrollCoordinates.values()).reduce((acc, coordinates) => add(acc, coordinates), defaultCoordinates) : getScrollOffsets(elements);\n }\n\n return defaultCoordinates;\n }, [elements, scrollCoordinates]);\n}\n\nfunction useScrollOffsetsDelta(scrollOffsets, dependencies) {\n if (dependencies === void 0) {\n dependencies = [];\n }\n\n const initialScrollOffsets = useRef(null);\n useEffect(() => {\n initialScrollOffsets.current = null;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n dependencies);\n useEffect(() => {\n const hasScrollOffsets = scrollOffsets !== defaultCoordinates;\n\n if (hasScrollOffsets && !initialScrollOffsets.current) {\n initialScrollOffsets.current = scrollOffsets;\n }\n\n if (!hasScrollOffsets && initialScrollOffsets.current) {\n initialScrollOffsets.current = null;\n }\n }, [scrollOffsets]);\n return initialScrollOffsets.current ? subtract(scrollOffsets, initialScrollOffsets.current) : defaultCoordinates;\n}\n\nfunction useSensorSetup(sensors) {\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n const teardownFns = sensors.map(_ref => {\n let {\n sensor\n } = _ref;\n return sensor.setup == null ? void 0 : sensor.setup();\n });\n return () => {\n for (const teardown of teardownFns) {\n teardown == null ? void 0 : teardown();\n }\n };\n }, // TO-DO: Sensors length could theoretically change which would not be a valid dependency\n // eslint-disable-next-line react-hooks/exhaustive-deps\n sensors.map(_ref2 => {\n let {\n sensor\n } = _ref2;\n return sensor;\n }));\n}\n\nfunction useSyntheticListeners(listeners, id) {\n return useMemo(() => {\n return listeners.reduce((acc, _ref) => {\n let {\n eventName,\n handler\n } = _ref;\n\n acc[eventName] = event => {\n handler(event, id);\n };\n\n return acc;\n }, {});\n }, [listeners, id]);\n}\n\nfunction useWindowRect(element) {\n return useMemo(() => element ? getWindowClientRect(element) : null, [element]);\n}\n\nconst defaultValue$2 = [];\nfunction useRects(elements, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n const [firstElement] = elements;\n const windowRect = useWindowRect(firstElement ? getWindow(firstElement) : null);\n const [rects, setRects] = useState(defaultValue$2);\n\n function measureRects() {\n setRects(() => {\n if (!elements.length) {\n return defaultValue$2;\n }\n\n return elements.map(element => isDocumentScrollingElement(element) ? windowRect : new Rect(measure(element), element));\n });\n }\n\n const resizeObserver = useResizeObserver({\n callback: measureRects\n });\n useIsomorphicLayoutEffect(() => {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n measureRects();\n elements.forEach(element => resizeObserver == null ? void 0 : resizeObserver.observe(element));\n }, [elements]);\n return rects;\n}\n\nfunction getMeasurableNode(node) {\n if (!node) {\n return null;\n }\n\n if (node.children.length > 1) {\n return node;\n }\n\n const firstChild = node.children[0];\n return isHTMLElement(firstChild) ? firstChild : node;\n}\n\nfunction useDragOverlayMeasuring(_ref) {\n let {\n measure\n } = _ref;\n const [rect, setRect] = useState(null);\n const handleResize = useCallback(entries => {\n for (const {\n target\n } of entries) {\n if (isHTMLElement(target)) {\n setRect(rect => {\n const newRect = measure(target);\n return rect ? { ...rect,\n width: newRect.width,\n height: newRect.height\n } : newRect;\n });\n break;\n }\n }\n }, [measure]);\n const resizeObserver = useResizeObserver({\n callback: handleResize\n });\n const handleNodeChange = useCallback(element => {\n const node = getMeasurableNode(element);\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n\n if (node) {\n resizeObserver == null ? void 0 : resizeObserver.observe(node);\n }\n\n setRect(node ? measure(node) : null);\n }, [measure, resizeObserver]);\n const [nodeRef, setRef] = useNodeRef(handleNodeChange);\n return useMemo(() => ({\n nodeRef,\n rect,\n setRef\n }), [rect, nodeRef, setRef]);\n}\n\nconst defaultSensors = [{\n sensor: PointerSensor,\n options: {}\n}, {\n sensor: KeyboardSensor,\n options: {}\n}];\nconst defaultData = {\n current: {}\n};\nconst defaultMeasuringConfiguration = {\n draggable: {\n measure: getTransformAgnosticClientRect\n },\n droppable: {\n measure: getTransformAgnosticClientRect,\n strategy: MeasuringStrategy.WhileDragging,\n frequency: MeasuringFrequency.Optimized\n },\n dragOverlay: {\n measure: getClientRect\n }\n};\n\nclass DroppableContainersMap extends Map {\n get(id) {\n var _super$get;\n\n return id != null ? (_super$get = super.get(id)) != null ? _super$get : undefined : undefined;\n }\n\n toArray() {\n return Array.from(this.values());\n }\n\n getEnabled() {\n return this.toArray().filter(_ref => {\n let {\n disabled\n } = _ref;\n return !disabled;\n });\n }\n\n getNodeFor(id) {\n var _this$get$node$curren, _this$get;\n\n return (_this$get$node$curren = (_this$get = this.get(id)) == null ? void 0 : _this$get.node.current) != null ? _this$get$node$curren : undefined;\n }\n\n}\n\nconst defaultPublicContext = {\n activatorEvent: null,\n active: null,\n activeNode: null,\n activeNodeRect: null,\n collisions: null,\n containerNodeRect: null,\n draggableNodes: /*#__PURE__*/new Map(),\n droppableRects: /*#__PURE__*/new Map(),\n droppableContainers: /*#__PURE__*/new DroppableContainersMap(),\n over: null,\n dragOverlay: {\n nodeRef: {\n current: null\n },\n rect: null,\n setRef: noop\n },\n scrollableAncestors: [],\n scrollableAncestorRects: [],\n measuringConfiguration: defaultMeasuringConfiguration,\n measureDroppableContainers: noop,\n windowRect: null,\n measuringScheduled: false\n};\nconst defaultInternalContext = {\n activatorEvent: null,\n activators: [],\n active: null,\n activeNodeRect: null,\n ariaDescribedById: {\n draggable: ''\n },\n dispatch: noop,\n draggableNodes: /*#__PURE__*/new Map(),\n over: null,\n measureDroppableContainers: noop\n};\nconst InternalContext = /*#__PURE__*/createContext(defaultInternalContext);\nconst PublicContext = /*#__PURE__*/createContext(defaultPublicContext);\n\nfunction getInitialState() {\n return {\n draggable: {\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n nodes: new Map(),\n translate: {\n x: 0,\n y: 0\n }\n },\n droppable: {\n containers: new DroppableContainersMap()\n }\n };\n}\nfunction reducer(state, action) {\n switch (action.type) {\n case Action.DragStart:\n return { ...state,\n draggable: { ...state.draggable,\n initialCoordinates: action.initialCoordinates,\n active: action.active\n }\n };\n\n case Action.DragMove:\n if (state.draggable.active == null) {\n return state;\n }\n\n return { ...state,\n draggable: { ...state.draggable,\n translate: {\n x: action.coordinates.x - state.draggable.initialCoordinates.x,\n y: action.coordinates.y - state.draggable.initialCoordinates.y\n }\n }\n };\n\n case Action.DragEnd:\n case Action.DragCancel:\n return { ...state,\n draggable: { ...state.draggable,\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n translate: {\n x: 0,\n y: 0\n }\n }\n };\n\n case Action.RegisterDroppable:\n {\n const {\n element\n } = action;\n const {\n id\n } = element;\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, element);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.SetDroppableDisabled:\n {\n const {\n id,\n key,\n disabled\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, { ...element,\n disabled\n });\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.UnregisterDroppable:\n {\n const {\n id,\n key\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.delete(id);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n default:\n {\n return state;\n }\n }\n}\n\nfunction RestoreFocus(_ref) {\n let {\n disabled\n } = _ref;\n const {\n active,\n activatorEvent,\n draggableNodes\n } = useContext(InternalContext);\n const previousActivatorEvent = usePrevious(activatorEvent);\n const previousActiveId = usePrevious(active == null ? void 0 : active.id); // Restore keyboard focus on the activator node\n\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n if (!activatorEvent && previousActivatorEvent && previousActiveId != null) {\n if (!isKeyboardEvent(previousActivatorEvent)) {\n return;\n }\n\n if (document.activeElement === previousActivatorEvent.target) {\n // No need to restore focus\n return;\n }\n\n const draggableNode = draggableNodes.get(previousActiveId);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n activatorNode,\n node\n } = draggableNode;\n\n if (!activatorNode.current && !node.current) {\n return;\n }\n\n requestAnimationFrame(() => {\n for (const element of [activatorNode.current, node.current]) {\n if (!element) {\n continue;\n }\n\n const focusableNode = findFirstFocusableNode(element);\n\n if (focusableNode) {\n focusableNode.focus();\n break;\n }\n }\n });\n }\n }, [activatorEvent, disabled, draggableNodes, previousActiveId, previousActivatorEvent]);\n return null;\n}\n\nfunction applyModifiers(modifiers, _ref) {\n let {\n transform,\n ...args\n } = _ref;\n return modifiers != null && modifiers.length ? modifiers.reduce((accumulator, modifier) => {\n return modifier({\n transform: accumulator,\n ...args\n });\n }, transform) : transform;\n}\n\nfunction useMeasuringConfiguration(config) {\n return useMemo(() => ({\n draggable: { ...defaultMeasuringConfiguration.draggable,\n ...(config == null ? void 0 : config.draggable)\n },\n droppable: { ...defaultMeasuringConfiguration.droppable,\n ...(config == null ? void 0 : config.droppable)\n },\n dragOverlay: { ...defaultMeasuringConfiguration.dragOverlay,\n ...(config == null ? void 0 : config.dragOverlay)\n }\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [config == null ? void 0 : config.draggable, config == null ? void 0 : config.droppable, config == null ? void 0 : config.dragOverlay]);\n}\n\nfunction useLayoutShiftScrollCompensation(_ref) {\n let {\n activeNode,\n measure,\n initialRect,\n config = true\n } = _ref;\n const initialized = useRef(false);\n const {\n x,\n y\n } = typeof config === 'boolean' ? {\n x: config,\n y: config\n } : config;\n useIsomorphicLayoutEffect(() => {\n const disabled = !x && !y;\n\n if (disabled || !activeNode) {\n initialized.current = false;\n return;\n }\n\n if (initialized.current || !initialRect) {\n // Return early if layout shift scroll compensation was already attempted\n // or if there is no initialRect to compare to.\n return;\n } // Get the most up to date node ref for the active draggable\n\n\n const node = activeNode == null ? void 0 : activeNode.node.current;\n\n if (!node || node.isConnected === false) {\n // Return early if there is no attached node ref or if the node is\n // disconnected from the document.\n return;\n }\n\n const rect = measure(node);\n const rectDelta = getRectDelta(rect, initialRect);\n\n if (!x) {\n rectDelta.x = 0;\n }\n\n if (!y) {\n rectDelta.y = 0;\n } // Only perform layout shift scroll compensation once\n\n\n initialized.current = true;\n\n if (Math.abs(rectDelta.x) > 0 || Math.abs(rectDelta.y) > 0) {\n const firstScrollableAncestor = getFirstScrollableAncestor(node);\n\n if (firstScrollableAncestor) {\n firstScrollableAncestor.scrollBy({\n top: rectDelta.y,\n left: rectDelta.x\n });\n }\n }\n }, [activeNode, x, y, initialRect, measure]);\n}\n\nconst ActiveDraggableContext = /*#__PURE__*/createContext({ ...defaultCoordinates,\n scaleX: 1,\n scaleY: 1\n});\nvar Status;\n\n(function (Status) {\n Status[Status[\"Uninitialized\"] = 0] = \"Uninitialized\";\n Status[Status[\"Initializing\"] = 1] = \"Initializing\";\n Status[Status[\"Initialized\"] = 2] = \"Initialized\";\n})(Status || (Status = {}));\n\nconst DndContext = /*#__PURE__*/memo(function DndContext(_ref) {\n var _sensorContext$curren, _dragOverlay$nodeRef$, _dragOverlay$rect, _over$rect;\n\n let {\n id,\n accessibility,\n autoScroll = true,\n children,\n sensors = defaultSensors,\n collisionDetection = rectIntersection,\n measuring,\n modifiers,\n ...props\n } = _ref;\n const store = useReducer(reducer, undefined, getInitialState);\n const [state, dispatch] = store;\n const [dispatchMonitorEvent, registerMonitorListener] = useDndMonitorProvider();\n const [status, setStatus] = useState(Status.Uninitialized);\n const isInitialized = status === Status.Initialized;\n const {\n draggable: {\n active: activeId,\n nodes: draggableNodes,\n translate\n },\n droppable: {\n containers: droppableContainers\n }\n } = state;\n const node = activeId != null ? draggableNodes.get(activeId) : null;\n const activeRects = useRef({\n initial: null,\n translated: null\n });\n const active = useMemo(() => {\n var _node$data;\n\n return activeId != null ? {\n id: activeId,\n // It's possible for the active node to unmount while dragging\n data: (_node$data = node == null ? void 0 : node.data) != null ? _node$data : defaultData,\n rect: activeRects\n } : null;\n }, [activeId, node]);\n const activeRef = useRef(null);\n const [activeSensor, setActiveSensor] = useState(null);\n const [activatorEvent, setActivatorEvent] = useState(null);\n const latestProps = useLatestValue(props, Object.values(props));\n const draggableDescribedById = useUniqueId(\"DndDescribedBy\", id);\n const enabledDroppableContainers = useMemo(() => droppableContainers.getEnabled(), [droppableContainers]);\n const measuringConfiguration = useMeasuringConfiguration(measuring);\n const {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled\n } = useDroppableMeasuring(enabledDroppableContainers, {\n dragging: isInitialized,\n dependencies: [translate.x, translate.y],\n config: measuringConfiguration.droppable\n });\n const activeNode = useCachedNode(draggableNodes, activeId);\n const activationCoordinates = useMemo(() => activatorEvent ? getEventCoordinates(activatorEvent) : null, [activatorEvent]);\n const autoScrollOptions = getAutoScrollerOptions();\n const initialActiveNodeRect = useInitialRect(activeNode, measuringConfiguration.draggable.measure);\n useLayoutShiftScrollCompensation({\n activeNode: activeId != null ? draggableNodes.get(activeId) : null,\n config: autoScrollOptions.layoutShiftCompensation,\n initialRect: initialActiveNodeRect,\n measure: measuringConfiguration.draggable.measure\n });\n const activeNodeRect = useRect(activeNode, measuringConfiguration.draggable.measure, initialActiveNodeRect);\n const containerNodeRect = useRect(activeNode ? activeNode.parentElement : null);\n const sensorContext = useRef({\n activatorEvent: null,\n active: null,\n activeNode,\n collisionRect: null,\n collisions: null,\n droppableRects,\n draggableNodes,\n draggingNode: null,\n draggingNodeRect: null,\n droppableContainers,\n over: null,\n scrollableAncestors: [],\n scrollAdjustedTranslate: null\n });\n const overNode = droppableContainers.getNodeFor((_sensorContext$curren = sensorContext.current.over) == null ? void 0 : _sensorContext$curren.id);\n const dragOverlay = useDragOverlayMeasuring({\n measure: measuringConfiguration.dragOverlay.measure\n }); // Use the rect of the drag overlay if it is mounted\n\n const draggingNode = (_dragOverlay$nodeRef$ = dragOverlay.nodeRef.current) != null ? _dragOverlay$nodeRef$ : activeNode;\n const draggingNodeRect = isInitialized ? (_dragOverlay$rect = dragOverlay.rect) != null ? _dragOverlay$rect : activeNodeRect : null;\n const usesDragOverlay = Boolean(dragOverlay.nodeRef.current && dragOverlay.rect); // The delta between the previous and new position of the draggable node\n // is only relevant when there is no drag overlay\n\n const nodeRectDelta = useRectDelta(usesDragOverlay ? null : activeNodeRect); // Get the window rect of the dragging node\n\n const windowRect = useWindowRect(draggingNode ? getWindow(draggingNode) : null); // Get scrollable ancestors of the dragging node\n\n const scrollableAncestors = useScrollableAncestors(isInitialized ? overNode != null ? overNode : activeNode : null);\n const scrollableAncestorRects = useRects(scrollableAncestors); // Apply modifiers\n\n const modifiedTranslate = applyModifiers(modifiers, {\n transform: {\n x: translate.x - nodeRectDelta.x,\n y: translate.y - nodeRectDelta.y,\n scaleX: 1,\n scaleY: 1\n },\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect,\n over: sensorContext.current.over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n });\n const pointerCoordinates = activationCoordinates ? add(activationCoordinates, translate) : null;\n const scrollOffsets = useScrollOffsets(scrollableAncestors); // Represents the scroll delta since dragging was initiated\n\n const scrollAdjustment = useScrollOffsetsDelta(scrollOffsets); // Represents the scroll delta since the last time the active node rect was measured\n\n const activeNodeScrollDelta = useScrollOffsetsDelta(scrollOffsets, [activeNodeRect]);\n const scrollAdjustedTranslate = add(modifiedTranslate, scrollAdjustment);\n const collisionRect = draggingNodeRect ? getAdjustedRect(draggingNodeRect, modifiedTranslate) : null;\n const collisions = active && collisionRect ? collisionDetection({\n active,\n collisionRect,\n droppableRects,\n droppableContainers: enabledDroppableContainers,\n pointerCoordinates\n }) : null;\n const overId = getFirstCollision(collisions, 'id');\n const [over, setOver] = useState(null); // When there is no drag overlay used, we need to account for the\n // window scroll delta\n\n const appliedTranslate = usesDragOverlay ? modifiedTranslate : add(modifiedTranslate, activeNodeScrollDelta);\n const transform = adjustScale(appliedTranslate, (_over$rect = over == null ? void 0 : over.rect) != null ? _over$rect : null, activeNodeRect);\n const activeSensorRef = useRef(null);\n const instantiateSensor = useCallback((event, _ref2) => {\n let {\n sensor: Sensor,\n options\n } = _ref2;\n\n if (activeRef.current == null) {\n return;\n }\n\n const activeNode = draggableNodes.get(activeRef.current);\n\n if (!activeNode) {\n return;\n }\n\n const activatorEvent = event.nativeEvent;\n const sensorInstance = new Sensor({\n active: activeRef.current,\n activeNode,\n event: activatorEvent,\n options,\n // Sensors need to be instantiated with refs for arguments that change over time\n // otherwise they are frozen in time with the stale arguments\n context: sensorContext,\n\n onAbort(id) {\n const draggableNode = draggableNodes.get(id);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n onDragAbort\n } = latestProps.current;\n const event = {\n id\n };\n onDragAbort == null ? void 0 : onDragAbort(event);\n dispatchMonitorEvent({\n type: 'onDragAbort',\n event\n });\n },\n\n onPending(id, constraint, initialCoordinates, offset) {\n const draggableNode = draggableNodes.get(id);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n onDragPending\n } = latestProps.current;\n const event = {\n id,\n constraint,\n initialCoordinates,\n offset\n };\n onDragPending == null ? void 0 : onDragPending(event);\n dispatchMonitorEvent({\n type: 'onDragPending',\n event\n });\n },\n\n onStart(initialCoordinates) {\n const id = activeRef.current;\n\n if (id == null) {\n return;\n }\n\n const draggableNode = draggableNodes.get(id);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n onDragStart\n } = latestProps.current;\n const event = {\n activatorEvent,\n active: {\n id,\n data: draggableNode.data,\n rect: activeRects\n }\n };\n unstable_batchedUpdates(() => {\n onDragStart == null ? void 0 : onDragStart(event);\n setStatus(Status.Initializing);\n dispatch({\n type: Action.DragStart,\n initialCoordinates,\n active: id\n });\n dispatchMonitorEvent({\n type: 'onDragStart',\n event\n });\n setActiveSensor(activeSensorRef.current);\n setActivatorEvent(activatorEvent);\n });\n },\n\n onMove(coordinates) {\n dispatch({\n type: Action.DragMove,\n coordinates\n });\n },\n\n onEnd: createHandler(Action.DragEnd),\n onCancel: createHandler(Action.DragCancel)\n });\n activeSensorRef.current = sensorInstance;\n\n function createHandler(type) {\n return async function handler() {\n const {\n active,\n collisions,\n over,\n scrollAdjustedTranslate\n } = sensorContext.current;\n let event = null;\n\n if (active && scrollAdjustedTranslate) {\n const {\n cancelDrop\n } = latestProps.current;\n event = {\n activatorEvent,\n active: active,\n collisions,\n delta: scrollAdjustedTranslate,\n over\n };\n\n if (type === Action.DragEnd && typeof cancelDrop === 'function') {\n const shouldCancel = await Promise.resolve(cancelDrop(event));\n\n if (shouldCancel) {\n type = Action.DragCancel;\n }\n }\n }\n\n activeRef.current = null;\n unstable_batchedUpdates(() => {\n dispatch({\n type\n });\n setStatus(Status.Uninitialized);\n setOver(null);\n setActiveSensor(null);\n setActivatorEvent(null);\n activeSensorRef.current = null;\n const eventName = type === Action.DragEnd ? 'onDragEnd' : 'onDragCancel';\n\n if (event) {\n const handler = latestProps.current[eventName];\n handler == null ? void 0 : handler(event);\n dispatchMonitorEvent({\n type: eventName,\n event\n });\n }\n });\n };\n }\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes]);\n const bindActivatorToSensorInstantiator = useCallback((handler, sensor) => {\n return (event, active) => {\n const nativeEvent = event.nativeEvent;\n const activeDraggableNode = draggableNodes.get(active);\n\n if ( // Another sensor is already instantiating\n activeRef.current !== null || // No active draggable\n !activeDraggableNode || // Event has already been captured\n nativeEvent.dndKit || nativeEvent.defaultPrevented) {\n return;\n }\n\n const activationContext = {\n active: activeDraggableNode\n };\n const shouldActivate = handler(event, sensor.options, activationContext);\n\n if (shouldActivate === true) {\n nativeEvent.dndKit = {\n capturedBy: sensor.sensor\n };\n activeRef.current = active;\n instantiateSensor(event, sensor);\n }\n };\n }, [draggableNodes, instantiateSensor]);\n const activators = useCombineActivators(sensors, bindActivatorToSensorInstantiator);\n useSensorSetup(sensors);\n useIsomorphicLayoutEffect(() => {\n if (activeNodeRect && status === Status.Initializing) {\n setStatus(Status.Initialized);\n }\n }, [activeNodeRect, status]);\n useEffect(() => {\n const {\n onDragMove\n } = latestProps.current;\n const {\n active,\n activatorEvent,\n collisions,\n over\n } = sensorContext.current;\n\n if (!active || !activatorEvent) {\n return;\n }\n\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n onDragMove == null ? void 0 : onDragMove(event);\n dispatchMonitorEvent({\n type: 'onDragMove',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [scrollAdjustedTranslate.x, scrollAdjustedTranslate.y]);\n useEffect(() => {\n const {\n active,\n activatorEvent,\n collisions,\n droppableContainers,\n scrollAdjustedTranslate\n } = sensorContext.current;\n\n if (!active || activeRef.current == null || !activatorEvent || !scrollAdjustedTranslate) {\n return;\n }\n\n const {\n onDragOver\n } = latestProps.current;\n const overContainer = droppableContainers.get(overId);\n const over = overContainer && overContainer.rect.current ? {\n id: overContainer.id,\n rect: overContainer.rect.current,\n data: overContainer.data,\n disabled: overContainer.disabled\n } : null;\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n setOver(over);\n onDragOver == null ? void 0 : onDragOver(event);\n dispatchMonitorEvent({\n type: 'onDragOver',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [overId]);\n useIsomorphicLayoutEffect(() => {\n sensorContext.current = {\n activatorEvent,\n active,\n activeNode,\n collisionRect,\n collisions,\n droppableRects,\n draggableNodes,\n draggingNode,\n draggingNodeRect,\n droppableContainers,\n over,\n scrollableAncestors,\n scrollAdjustedTranslate\n };\n activeRects.current = {\n initial: draggingNodeRect,\n translated: collisionRect\n };\n }, [active, activeNode, collisions, collisionRect, draggableNodes, draggingNode, draggingNodeRect, droppableRects, droppableContainers, over, scrollableAncestors, scrollAdjustedTranslate]);\n useAutoScroller({ ...autoScrollOptions,\n delta: translate,\n draggingRect: collisionRect,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects\n });\n const publicContext = useMemo(() => {\n const context = {\n active,\n activeNode,\n activeNodeRect,\n activatorEvent,\n collisions,\n containerNodeRect,\n dragOverlay,\n draggableNodes,\n droppableContainers,\n droppableRects,\n over,\n measureDroppableContainers,\n scrollableAncestors,\n scrollableAncestorRects,\n measuringConfiguration,\n measuringScheduled,\n windowRect\n };\n return context;\n }, [active, activeNode, activeNodeRect, activatorEvent, collisions, containerNodeRect, dragOverlay, draggableNodes, droppableContainers, droppableRects, over, measureDroppableContainers, scrollableAncestors, scrollableAncestorRects, measuringConfiguration, measuringScheduled, windowRect]);\n const internalContext = useMemo(() => {\n const context = {\n activatorEvent,\n activators,\n active,\n activeNodeRect,\n ariaDescribedById: {\n draggable: draggableDescribedById\n },\n dispatch,\n draggableNodes,\n over,\n measureDroppableContainers\n };\n return context;\n }, [activatorEvent, activators, active, activeNodeRect, dispatch, draggableDescribedById, draggableNodes, over, measureDroppableContainers]);\n return React.createElement(DndMonitorContext.Provider, {\n value: registerMonitorListener\n }, React.createElement(InternalContext.Provider, {\n value: internalContext\n }, React.createElement(PublicContext.Provider, {\n value: publicContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: transform\n }, children)), React.createElement(RestoreFocus, {\n disabled: (accessibility == null ? void 0 : accessibility.restoreFocus) === false\n })), React.createElement(Accessibility, { ...accessibility,\n hiddenTextDescribedById: draggableDescribedById\n }));\n\n function getAutoScrollerOptions() {\n const activeSensorDisablesAutoscroll = (activeSensor == null ? void 0 : activeSensor.autoScrollEnabled) === false;\n const autoScrollGloballyDisabled = typeof autoScroll === 'object' ? autoScroll.enabled === false : autoScroll === false;\n const enabled = isInitialized && !activeSensorDisablesAutoscroll && !autoScrollGloballyDisabled;\n\n if (typeof autoScroll === 'object') {\n return { ...autoScroll,\n enabled\n };\n }\n\n return {\n enabled\n };\n }\n});\n\nconst NullContext = /*#__PURE__*/createContext(null);\nconst defaultRole = 'button';\nconst ID_PREFIX = 'Draggable';\nfunction useDraggable(_ref) {\n let {\n id,\n data,\n disabled = false,\n attributes\n } = _ref;\n const key = useUniqueId(ID_PREFIX);\n const {\n activators,\n activatorEvent,\n active,\n activeNodeRect,\n ariaDescribedById,\n draggableNodes,\n over\n } = useContext(InternalContext);\n const {\n role = defaultRole,\n roleDescription = 'draggable',\n tabIndex = 0\n } = attributes != null ? attributes : {};\n const isDragging = (active == null ? void 0 : active.id) === id;\n const transform = useContext(isDragging ? ActiveDraggableContext : NullContext);\n const [node, setNodeRef] = useNodeRef();\n const [activatorNode, setActivatorNodeRef] = useNodeRef();\n const listeners = useSyntheticListeners(activators, id);\n const dataRef = useLatestValue(data);\n useIsomorphicLayoutEffect(() => {\n draggableNodes.set(id, {\n id,\n key,\n node,\n activatorNode,\n data: dataRef\n });\n return () => {\n const node = draggableNodes.get(id);\n\n if (node && node.key === key) {\n draggableNodes.delete(id);\n }\n };\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes, id]);\n const memoizedAttributes = useMemo(() => ({\n role,\n tabIndex,\n 'aria-disabled': disabled,\n 'aria-pressed': isDragging && role === defaultRole ? true : undefined,\n 'aria-roledescription': roleDescription,\n 'aria-describedby': ariaDescribedById.draggable\n }), [disabled, role, tabIndex, isDragging, roleDescription, ariaDescribedById.draggable]);\n return {\n active,\n activatorEvent,\n activeNodeRect,\n attributes: memoizedAttributes,\n isDragging,\n listeners: disabled ? undefined : listeners,\n node,\n over,\n setNodeRef,\n setActivatorNodeRef,\n transform\n };\n}\n\nfunction useDndContext() {\n return useContext(PublicContext);\n}\n\nconst ID_PREFIX$1 = 'Droppable';\nconst defaultResizeObserverConfig = {\n timeout: 25\n};\nfunction useDroppable(_ref) {\n let {\n data,\n disabled = false,\n id,\n resizeObserverConfig\n } = _ref;\n const key = useUniqueId(ID_PREFIX$1);\n const {\n active,\n dispatch,\n over,\n measureDroppableContainers\n } = useContext(InternalContext);\n const previous = useRef({\n disabled\n });\n const resizeObserverConnected = useRef(false);\n const rect = useRef(null);\n const callbackId = useRef(null);\n const {\n disabled: resizeObserverDisabled,\n updateMeasurementsFor,\n timeout: resizeObserverTimeout\n } = { ...defaultResizeObserverConfig,\n ...resizeObserverConfig\n };\n const ids = useLatestValue(updateMeasurementsFor != null ? updateMeasurementsFor : id);\n const handleResize = useCallback(() => {\n if (!resizeObserverConnected.current) {\n // ResizeObserver invokes the `handleResize` callback as soon as `observe` is called,\n // assuming the element is rendered and displayed.\n resizeObserverConnected.current = true;\n return;\n }\n\n if (callbackId.current != null) {\n clearTimeout(callbackId.current);\n }\n\n callbackId.current = setTimeout(() => {\n measureDroppableContainers(Array.isArray(ids.current) ? ids.current : [ids.current]);\n callbackId.current = null;\n }, resizeObserverTimeout);\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [resizeObserverTimeout]);\n const resizeObserver = useResizeObserver({\n callback: handleResize,\n disabled: resizeObserverDisabled || !active\n });\n const handleNodeChange = useCallback((newElement, previousElement) => {\n if (!resizeObserver) {\n return;\n }\n\n if (previousElement) {\n resizeObserver.unobserve(previousElement);\n resizeObserverConnected.current = false;\n }\n\n if (newElement) {\n resizeObserver.observe(newElement);\n }\n }, [resizeObserver]);\n const [nodeRef, setNodeRef] = useNodeRef(handleNodeChange);\n const dataRef = useLatestValue(data);\n useEffect(() => {\n if (!resizeObserver || !nodeRef.current) {\n return;\n }\n\n resizeObserver.disconnect();\n resizeObserverConnected.current = false;\n resizeObserver.observe(nodeRef.current);\n }, [nodeRef, resizeObserver]);\n useEffect(() => {\n dispatch({\n type: Action.RegisterDroppable,\n element: {\n id,\n key,\n disabled,\n node: nodeRef,\n rect,\n data: dataRef\n }\n });\n return () => dispatch({\n type: Action.UnregisterDroppable,\n key,\n id\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [id]);\n useEffect(() => {\n if (disabled !== previous.current.disabled) {\n dispatch({\n type: Action.SetDroppableDisabled,\n id,\n key,\n disabled\n });\n previous.current.disabled = disabled;\n }\n }, [id, key, disabled, dispatch]);\n return {\n active,\n rect,\n isOver: (over == null ? void 0 : over.id) === id,\n node: nodeRef,\n over,\n setNodeRef\n };\n}\n\nfunction AnimationManager(_ref) {\n let {\n animation,\n children\n } = _ref;\n const [clonedChildren, setClonedChildren] = useState(null);\n const [element, setElement] = useState(null);\n const previousChildren = usePrevious(children);\n\n if (!children && !clonedChildren && previousChildren) {\n setClonedChildren(previousChildren);\n }\n\n useIsomorphicLayoutEffect(() => {\n if (!element) {\n return;\n }\n\n const key = clonedChildren == null ? void 0 : clonedChildren.key;\n const id = clonedChildren == null ? void 0 : clonedChildren.props.id;\n\n if (key == null || id == null) {\n setClonedChildren(null);\n return;\n }\n\n Promise.resolve(animation(id, element)).then(() => {\n setClonedChildren(null);\n });\n }, [animation, clonedChildren, element]);\n return React.createElement(React.Fragment, null, children, clonedChildren ? cloneElement(clonedChildren, {\n ref: setElement\n }) : null);\n}\n\nconst defaultTransform = {\n x: 0,\n y: 0,\n scaleX: 1,\n scaleY: 1\n};\nfunction NullifiedContextProvider(_ref) {\n let {\n children\n } = _ref;\n return React.createElement(InternalContext.Provider, {\n value: defaultInternalContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: defaultTransform\n }, children));\n}\n\nconst baseStyles = {\n position: 'fixed',\n touchAction: 'none'\n};\n\nconst defaultTransition = activatorEvent => {\n const isKeyboardActivator = isKeyboardEvent(activatorEvent);\n return isKeyboardActivator ? 'transform 250ms ease' : undefined;\n};\n\nconst PositionedOverlay = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n as,\n activatorEvent,\n adjustScale,\n children,\n className,\n rect,\n style,\n transform,\n transition = defaultTransition\n } = _ref;\n\n if (!rect) {\n return null;\n }\n\n const scaleAdjustedTransform = adjustScale ? transform : { ...transform,\n scaleX: 1,\n scaleY: 1\n };\n const styles = { ...baseStyles,\n width: rect.width,\n height: rect.height,\n top: rect.top,\n left: rect.left,\n transform: CSS.Transform.toString(scaleAdjustedTransform),\n transformOrigin: adjustScale && activatorEvent ? getRelativeTransformOrigin(activatorEvent, rect) : undefined,\n transition: typeof transition === 'function' ? transition(activatorEvent) : transition,\n ...style\n };\n return React.createElement(as, {\n className,\n style: styles,\n ref\n }, children);\n});\n\nconst defaultDropAnimationSideEffects = options => _ref => {\n let {\n active,\n dragOverlay\n } = _ref;\n const originalStyles = {};\n const {\n styles,\n className\n } = options;\n\n if (styles != null && styles.active) {\n for (const [key, value] of Object.entries(styles.active)) {\n if (value === undefined) {\n continue;\n }\n\n originalStyles[key] = active.node.style.getPropertyValue(key);\n active.node.style.setProperty(key, value);\n }\n }\n\n if (styles != null && styles.dragOverlay) {\n for (const [key, value] of Object.entries(styles.dragOverlay)) {\n if (value === undefined) {\n continue;\n }\n\n dragOverlay.node.style.setProperty(key, value);\n }\n }\n\n if (className != null && className.active) {\n active.node.classList.add(className.active);\n }\n\n if (className != null && className.dragOverlay) {\n dragOverlay.node.classList.add(className.dragOverlay);\n }\n\n return function cleanup() {\n for (const [key, value] of Object.entries(originalStyles)) {\n active.node.style.setProperty(key, value);\n }\n\n if (className != null && className.active) {\n active.node.classList.remove(className.active);\n }\n };\n};\n\nconst defaultKeyframeResolver = _ref2 => {\n let {\n transform: {\n initial,\n final\n }\n } = _ref2;\n return [{\n transform: CSS.Transform.toString(initial)\n }, {\n transform: CSS.Transform.toString(final)\n }];\n};\n\nconst defaultDropAnimationConfiguration = {\n duration: 250,\n easing: 'ease',\n keyframes: defaultKeyframeResolver,\n sideEffects: /*#__PURE__*/defaultDropAnimationSideEffects({\n styles: {\n active: {\n opacity: '0'\n }\n }\n })\n};\nfunction useDropAnimation(_ref3) {\n let {\n config,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n } = _ref3;\n return useEvent((id, node) => {\n if (config === null) {\n return;\n }\n\n const activeDraggable = draggableNodes.get(id);\n\n if (!activeDraggable) {\n return;\n }\n\n const activeNode = activeDraggable.node.current;\n\n if (!activeNode) {\n return;\n }\n\n const measurableNode = getMeasurableNode(node);\n\n if (!measurableNode) {\n return;\n }\n\n const {\n transform\n } = getWindow(node).getComputedStyle(node);\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return;\n }\n\n const animation = typeof config === 'function' ? config : createDefaultDropAnimation(config);\n scrollIntoViewIfNeeded(activeNode, measuringConfiguration.draggable.measure);\n return animation({\n active: {\n id,\n data: activeDraggable.data,\n node: activeNode,\n rect: measuringConfiguration.draggable.measure(activeNode)\n },\n draggableNodes,\n dragOverlay: {\n node,\n rect: measuringConfiguration.dragOverlay.measure(measurableNode)\n },\n droppableContainers,\n measuringConfiguration,\n transform: parsedTransform\n });\n });\n}\n\nfunction createDefaultDropAnimation(options) {\n const {\n duration,\n easing,\n sideEffects,\n keyframes\n } = { ...defaultDropAnimationConfiguration,\n ...options\n };\n return _ref4 => {\n let {\n active,\n dragOverlay,\n transform,\n ...rest\n } = _ref4;\n\n if (!duration) {\n // Do not animate if animation duration is zero.\n return;\n }\n\n const delta = {\n x: dragOverlay.rect.left - active.rect.left,\n y: dragOverlay.rect.top - active.rect.top\n };\n const scale = {\n scaleX: transform.scaleX !== 1 ? active.rect.width * transform.scaleX / dragOverlay.rect.width : 1,\n scaleY: transform.scaleY !== 1 ? active.rect.height * transform.scaleY / dragOverlay.rect.height : 1\n };\n const finalTransform = {\n x: transform.x - delta.x,\n y: transform.y - delta.y,\n ...scale\n };\n const animationKeyframes = keyframes({ ...rest,\n active,\n dragOverlay,\n transform: {\n initial: transform,\n final: finalTransform\n }\n });\n const [firstKeyframe] = animationKeyframes;\n const lastKeyframe = animationKeyframes[animationKeyframes.length - 1];\n\n if (JSON.stringify(firstKeyframe) === JSON.stringify(lastKeyframe)) {\n // The start and end keyframes are the same, infer that there is no animation needed.\n return;\n }\n\n const cleanup = sideEffects == null ? void 0 : sideEffects({\n active,\n dragOverlay,\n ...rest\n });\n const animation = dragOverlay.node.animate(animationKeyframes, {\n duration,\n easing,\n fill: 'forwards'\n });\n return new Promise(resolve => {\n animation.onfinish = () => {\n cleanup == null ? void 0 : cleanup();\n resolve();\n };\n });\n };\n}\n\nlet key = 0;\nfunction useKey(id) {\n return useMemo(() => {\n if (id == null) {\n return;\n }\n\n key++;\n return key;\n }, [id]);\n}\n\nconst DragOverlay = /*#__PURE__*/React.memo(_ref => {\n let {\n adjustScale = false,\n children,\n dropAnimation: dropAnimationConfig,\n style,\n transition,\n modifiers,\n wrapperElement = 'div',\n className,\n zIndex = 999\n } = _ref;\n const {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggableNodes,\n droppableContainers,\n dragOverlay,\n over,\n measuringConfiguration,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n } = useDndContext();\n const transform = useContext(ActiveDraggableContext);\n const key = useKey(active == null ? void 0 : active.id);\n const modifiedTransform = applyModifiers(modifiers, {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect: dragOverlay.rect,\n over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n transform,\n windowRect\n });\n const initialRect = useInitialValue(activeNodeRect);\n const dropAnimation = useDropAnimation({\n config: dropAnimationConfig,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n }); // We need to wait for the active node to be measured before connecting the drag overlay ref\n // otherwise collisions can be computed against a mispositioned drag overlay\n\n const ref = initialRect ? dragOverlay.setRef : undefined;\n return React.createElement(NullifiedContextProvider, null, React.createElement(AnimationManager, {\n animation: dropAnimation\n }, active && key ? React.createElement(PositionedOverlay, {\n key: key,\n id: active.id,\n ref: ref,\n as: wrapperElement,\n activatorEvent: activatorEvent,\n adjustScale: adjustScale,\n className: className,\n transition: transition,\n rect: initialRect,\n style: {\n zIndex,\n ...style\n },\n transform: modifiedTransform\n }, children) : null));\n});\n\nexport { AutoScrollActivator, DndContext, DragOverlay, KeyboardCode, KeyboardSensor, MeasuringFrequency, MeasuringStrategy, MouseSensor, PointerSensor, TouchSensor, TraversalOrder, applyModifiers, closestCenter, closestCorners, defaultAnnouncements, defaultCoordinates, defaultDropAnimationConfiguration as defaultDropAnimation, defaultDropAnimationSideEffects, defaultKeyboardCoordinateGetter, defaultScreenReaderInstructions, getClientRect, getFirstCollision, getScrollableAncestors, pointerWithin, rectIntersection, useDndContext, useDndMonitor, useDraggable, useDroppable, useSensor, useSensors };\n//# sourceMappingURL=core.esm.js.map\n"],"names":["DndMonitorContext","createContext","useDndMonitor","listener","registerListener","useContext","useEffect","useDndMonitorProvider","listeners","useState","useCallback","_ref","type","event","_listener$type","defaultScreenReaderInstructions","defaultAnnouncements","active","_ref2","over","_ref3","_ref4","Accessibility","announcements","container","hiddenTextDescribedById","screenReaderInstructions","announce","announcement","useAnnouncement","liveRegionId","useUniqueId","mounted","setMounted","useMemo","_ref5","_ref6","markup","React","HiddenText","LiveRegion","createPortal","Action","noop","useSensor","sensor","options","useSensors","_len","sensors","_key","defaultCoordinates","distanceBetween","p1","p2","getRelativeTransformOrigin","rect","eventCoordinates","getEventCoordinates","transformOrigin","sortCollisionsAsc","a","b","sortCollisionsDesc","cornersOfRectangle","left","top","height","width","getFirstCollision","collisions","property","firstCollision","centerOfRectangle","closestCenter","collisionRect","droppableRects","droppableContainers","centerRect","droppableContainer","id","distBetween","closestCorners","corners","rectCorners","distances","accumulator","corner","index","effectiveDistance","getIntersectionRatio","entry","target","right","bottom","targetArea","entryArea","intersectionArea","intersectionRatio","rectIntersection","adjustScale","transform","rect1","rect2","getRectDelta","createRectAdjustmentFn","modifier","adjustments","acc","adjustment","getAdjustedRect","parseTransform","transformArray","inverseTransform","parsedTransform","scaleX","scaleY","translateX","translateY","x","y","w","h","defaultOptions","getClientRect","element","getWindow","getTransformAgnosticClientRect","getWindowClientRect","isFixed","node","computedStyle","isScrollable","overflowRegex","value","getScrollableAncestors","limit","scrollParents","findScrollableAncestors","isDocument","isHTMLElement","isSVGElement","getFirstScrollableAncestor","firstScrollableAncestor","getScrollableElement","canUseDOM","isWindow","isNode","getOwnerDocument","getScrollXCoordinate","getScrollYCoordinate","getScrollCoordinates","Direction","isDocumentScrollingElement","getScrollPosition","scrollingContainer","minScroll","dimensions","maxScroll","isTop","isLeft","isBottom","isRight","defaultThreshold","getScrollDirectionAndSpeed","scrollContainer","scrollContainerRect","acceleration","thresholdPercentage","direction","speed","threshold","getScrollElementRect","innerWidth","innerHeight","getScrollOffsets","scrollableAncestors","add","getScrollXOffset","getScrollYOffset","scrollIntoViewIfNeeded","measure","properties","Rect","scrollOffsets","axis","keys","getScrollOffset","key","currentOffsets","scrollOffsetsDeltla","Listeners","_this$target","eventName","handler","_this$target2","getEventListenerTarget","EventTarget","hasExceededDistance","delta","measurement","dx","dy","EventName","preventDefault","stopPropagation","KeyboardCode","defaultKeyboardCodes","defaultKeyboardCoordinateGetter","currentCoordinates","KeyboardSensor","props","activeNode","onStart","isKeyboardEvent","context","keyboardCodes","coordinateGetter","scrollBehavior","code","newCoordinates","coordinatesDelta","subtract","scrollDelta","scrollElementRect","clampedCoordinates","canScrollX","canScrollY","newScrollCoordinates","canScrollToNewCoordinates","coordinates","onMove","onEnd","onCancel","onActivation","activator","isDistanceConstraint","constraint","isDelayConstraint","AbstractPointerSensor","events","listenerTarget","_getEventCoordinates","activationConstraint","bypassActivationConstraint","offset","onPending","initialCoordinates","_getEventCoordinates2","activated","onAbort","_this$document$getSel","PointerSensor","events$1","MouseButton","MouseSensor","events$2","TouchSensor","touches","AutoScrollActivator","TraversalOrder","useAutoScroller","canScroll","draggingRect","enabled","interval","order","pointerCoordinates","scrollableAncestorRects","scrollIntent","useScrollIntent","setAutoScrollInterval","clearAutoScrollInterval","useInterval","scrollSpeed","useRef","scrollDirection","scrollContainerRef","autoScroll","scrollLeft","scrollTop","sortedScrollableAncestors","defaultScrollIntent","disabled","previousDelta","usePrevious","useLazyMemo","previousIntent","useCachedNode","draggableNodes","draggableNode","cachedNode","useCombineActivators","getSyntheticHandler","Sensor","sensorActivators","MeasuringStrategy","MeasuringFrequency","defaultValue","useDroppableMeasuring","containers","dragging","dependencies","config","queue","setQueue","frequency","strategy","containersRef","isDisabled","disabledRef","useLatestValue","measureDroppableContainers","ids","timeoutId","previousValue","map","useInitialValue","computeFn","useInitialRect","useMutationObserver","callback","handleMutations","useEvent","mutationObserver","MutationObserver","useResizeObserver","handleResize","resizeObserver","ResizeObserver","defaultMeasure","useRect","fallbackRect","setRect","measureRect","currentRect","newRect","records","record","useIsomorphicLayoutEffect","useRectDelta","initialRect","defaultValue$1","useScrollableAncestors","previousNode","ancestors","useScrollOffsets","elements","scrollCoordinates","setScrollCoordinates","prevElements","handleScroll","scrollingElement","previousElements","cleanup","entries","scrollableElement","useScrollOffsetsDelta","initialScrollOffsets","hasScrollOffsets","useSensorSetup","teardownFns","teardown","useSyntheticListeners","useWindowRect","defaultValue$2","useRects","firstElement","windowRect","rects","setRects","measureRects","getMeasurableNode","firstChild","useDragOverlayMeasuring","handleNodeChange","nodeRef","setRef","useNodeRef","defaultSensors","defaultData","defaultMeasuringConfiguration","DroppableContainersMap","_super$get","_this$get$node$curren","_this$get","defaultPublicContext","defaultInternalContext","InternalContext","PublicContext","getInitialState","reducer","state","action","RestoreFocus","activatorEvent","previousActivatorEvent","previousActiveId","activatorNode","focusableNode","findFirstFocusableNode","applyModifiers","modifiers","args","useMeasuringConfiguration","useLayoutShiftScrollCompensation","initialized","rectDelta","ActiveDraggableContext","Status","DndContext","memo","_sensorContext$curren","_dragOverlay$nodeRef$","_dragOverlay$rect","_over$rect","accessibility","children","collisionDetection","measuring","store","useReducer","dispatch","dispatchMonitorEvent","registerMonitorListener","status","setStatus","isInitialized","activeId","translate","activeRects","_node$data","activeRef","activeSensor","setActiveSensor","setActivatorEvent","latestProps","draggableDescribedById","enabledDroppableContainers","measuringConfiguration","measuringScheduled","activationCoordinates","autoScrollOptions","getAutoScrollerOptions","initialActiveNodeRect","activeNodeRect","containerNodeRect","sensorContext","overNode","dragOverlay","draggingNode","draggingNodeRect","usesDragOverlay","nodeRectDelta","modifiedTranslate","scrollAdjustment","activeNodeScrollDelta","scrollAdjustedTranslate","overId","setOver","appliedTranslate","activeSensorRef","instantiateSensor","sensorInstance","onDragAbort","onDragPending","onDragStart","unstable_batchedUpdates","createHandler","cancelDrop","bindActivatorToSensorInstantiator","nativeEvent","activeDraggableNode","activationContext","activators","onDragMove","onDragOver","overContainer","publicContext","internalContext","activeSensorDisablesAutoscroll","autoScrollGloballyDisabled","NullContext","defaultRole","ID_PREFIX","useDraggable","data","attributes","ariaDescribedById","role","roleDescription","tabIndex","isDragging","setNodeRef","setActivatorNodeRef","dataRef","memoizedAttributes","useDndContext","ID_PREFIX$1","defaultResizeObserverConfig","useDroppable","resizeObserverConfig","previous","resizeObserverConnected","callbackId","resizeObserverDisabled","updateMeasurementsFor","resizeObserverTimeout","newElement","previousElement","AnimationManager","animation","clonedChildren","setClonedChildren","setElement","previousChildren","cloneElement","defaultTransform","NullifiedContextProvider","baseStyles","defaultTransition","PositionedOverlay","forwardRef","ref","as","className","style","transition","scaleAdjustedTransform","styles","CSS","defaultDropAnimationSideEffects","originalStyles","defaultKeyframeResolver","initial","final","defaultDropAnimationConfiguration","useDropAnimation","activeDraggable","measurableNode","createDefaultDropAnimation","duration","easing","sideEffects","keyframes","rest","scale","finalTransform","animationKeyframes","firstKeyframe","lastKeyframe","resolve","useKey","DragOverlay","dropAnimationConfig","wrapperElement","zIndex","modifiedTransform","dropAnimation"],"mappings":"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","x_google_ignoreList":[0]}
|